Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 16 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
16
Dung lượng
2,47 MB
Nội dung
TRƯỜNG ĐẠI HỌC KIẾN TRÚC HÀ NỘI KHOA CÔNG NGHỆ THƠNG TIN Đề tài : Tìm hiểu , cài đặt thuật tốn Breath First Search cho tốn trị đố ô 15 ô Giảng viên hướng dẫn: Thành viên: Cơ sở lý thuyết Phạm Trọng Tuấn AI – Trí tuệ nhân tạo ( Artificial Intelligence – AI) trí thơng minh thể máy móc, trái ngược với trí thơng minh tự nhiên hiển thị động vật bao gồm người Các sách giáo khoa hàng đầu AI định nghĩa lĩnh vực nghiên cứu “tác nhân thông minh”: hệ thống nhận thức môi trường thực hành động nhằm tối đa hóa hội đạt mục tiêu Một số tài khoản phổ biến sử dụng thuật ngữ “trí thơng minh nhân tạo” để mơ tả máy móc bắt chước chức “nhận thức” mà người liên kết với tâm trí người, chẳng hạn “học tập” “giải vấn đề”, nhiên, định nghĩa bị nhà nghiên cứu AI lớn bác bỏ – Trí tuệ nhân tạo thành lập môn học thuật vào năm 1956, năm kể từ trải qua số sóng lạc quan, thất vọng nguồn tài (được gọi “mùa đông AI”), cách tiếp cận mới, thành công nguồn tài trợ Nghiên cứu AI thử loại bỏ nhiều cách tiếp cận khác kể từ thành lập, bao gồm mô não, mơ hình hóa giải vấn đề người, logic thức, sở liệu lớn kiến thức bắt chước hành vi động vật Trong thập kỷ kỷ 21, máy học thống kê toán học cao thống trị lĩnh vực này, kỹ thuật tỏ thành công, giúp giải nhiều vấn đề thách thức toàn ngành học viện – Các quỹ giao dịch trao đổi (ETF) trí tuệ nhân tạo (AI) tìm cách cung cấp khả tiếp xúc với phân khúc phát triển nhanh ngành công nghệ AI nhằm mục đích mơ trí thơng minh người, tận dụng thuật toán mạnh mẽ để khiến máy móc suy nghĩ hành động giống người Mặc dù việc tự động hóa nhiệm vụ lặp lặp lại thay sức lao động người máy móc khơng có mới, AI thúc đẩy xu hướng này, dẫn đến bước nhảy vọt suất – Đối với nhà đầu tư lạc quan tiềm phát triển AI không công ty hoạt động tốt nhất, AI ETF lựa chọn AI ETF nắm giữ rổ cổ phiếu cơng ty tham gia vào số khía cạnh AI, cho phép nhà đầu tư chia sẻ tăng trưởng lợi nhuận công ty AI mà không gặp thách thức cố gắng tách người thắng khỏi kẻ thua Vai trò: – Nghiên cứu AI phát triển công cụ để đại diện cho lĩnh vực cụ thể, chẳng hạn như: đối tượng, thuộc tính, phạm trù mối quan hệ đối tượng; tình huống, kiện, trạng thái thời gian; nguyên nhân ảnh hưởng; kiến thức kiến thức (những biết người khác biết); suy luận mặc định (những điều mà người cho chúng nói theo cách khác kiện khác thay đổi); miền khác Trong số vấn đề khó khăn AI là: chiều rộng kiến thức thông thường (số lượng kiện nguyên tử mà người bình thường biết lớn); dạng ký hiệu phụ hầu hết kiến thức thông thường (phần lớn người biết khơng biểu thị dạng “sự kiện” “tuyên bố” mà chúng diễn đạt lời nói) – Biểu diễn kiến thức thức sử dụng lập mục truy xuất dựa nội dung, giải thích trường, hỗ trợ định lâm sàng, khám phá kiến thức (khai thác suy luận “thú vị” hành động từ sở liệu lớn), lĩnh vực khác – Nhiều vấn đề AI giải mặt lý thuyết cách tìm kiếm cách thơng minh thông qua nhiều giải pháp khả thi: Việc suy luận rút gọn thành việc thực tìm kiếm Ví dụ, chứng minh lơgic xem việc tìm kiếm đường dẫn từ tiền đề đến kết luận, bước ứng dụng quy tắc suy luận Các thuật toán lập kế hoạch tìm kiếm thơng qua mục tiêu mục tiêu con, cố gắng tìm đường dẫn đến mục tiêu đích, q trình gọi phân tích đầu cuối Các thuật tốn robot để di chuyển chân tay cầm nắm đồ vật sử dụng tìm kiếm cục khơng gian cấu hình – Các tìm kiếm tồn diện đơn giản đủ cho hầu hết vấn đề giới thực: khơng gian tìm kiếm (số lượng địa điểm cần tìm kiếm) nhanh chóng phát triển đến số thiên văn Kết tìm kiếm chậm khơng hồn thành Giải pháp, nhiều vấn đề, sử dụng “heuristics” “quy tắc ngón tay cái” để ưu tiên lựa chọn có lợi cho người có nhiều khả đạt mục tiêu thực điều số bước ngắn Trong số phương pháp tìm kiếm, heuristics dùng để loại bỏ số lựa chọn khơng có khả dẫn đến mục tiêu (được gọi “cắt tỉa tìm kiếm”) Heuristics cung cấp cho chương trình “dự đốn tốt nhất” cho đường mà giải pháp nằm Heuristics giới hạn việc tìm kiếm giải pháp kích thước mẫu nhỏ – Lĩnh vực AI, đại diện lĩnh vực công nghệ, hoạt động tốt so với thị trường rộng lớn năm qua Các quỹ ETF có tổng lợi nhuận sau năm tốt ROBO, ROBT KOMP Các cổ phần hàng đầu quỹ ETF iRhythm Technologies Inc., Ambarella, Inc Bruker Corp – Một lưu ý đặc biệt: Một số ETF sử dụng AI công cụ để chọn cổ phiếu gọi AI ETF Nhưng câu chuyện tập trung vào ETF nhắm mục tiêu đến công ty sử dụng AI cho ngành khác, chẳng hạn robot, tự động hóa, chăm sóc sức khỏe tơ – Hiện nay, có sáu AI ETF riêng biệt giao dịch Hoa Kỳ, không bao gồm quỹ nghịch đảo đòn bẩy quỹ có tài sản 50 triệu la quản lý (AUM) Lĩnh vực AI khơng có điểm chuẩn riêng, hiệu hoạt động phản ánh rõ số dành cho lĩnh vực công nghệ, Chỉ số ngành Công nghệ thông tin S&P 500 Chỉ số công nghệ thông tin (CNTT) vượt trội so với thị trường rộng lớn với tổng mức sinh lời 38,8% 12 tháng qua, cao tổng mức sinh lời S&P 500 28,9%, tính đến ngày tháng 12 năm 2021 AI ETF hoạt động tốt nhất, dựa hiệu suất năm qua, ROBO Global Robotics and Automation Index ETF ( ROBO ) Ưu nhược điểm AI - Ưu điểm: Mạng lưới thần kinh nhân tạo cơng nghệ trí tuệ nhân tạo với khả học tập sâu phát triển nhanh chóng, AI xử lý lượng lớn liệu nhanh nhiều đưa dự đốn xác so với khả người Khối lượng liệu khổng lồ tạo hàng ngày gây khó khăn cho nhà nghiên cứu, AI sử dụng học máy để lấy liệu nhanh chóng biến thành thơng tin thực - Nhược điểm: Việc sử dụng AI tốn nhiều xử lý lượng lớn liệu mà lập trình AI yêu cầu Khả giải thích trở ngại việc sử dụng AI lĩnh vực hoạt động theo yêu cầu cần phải tuân thủ quy định nghiêm ngặt Ví dụ như: Các tổ chức tài chính, định từ chối cấp tín dụng đưa AI, khó đưa giải thích rõ ràng, lý khơng cấp tín dụng cho khách hàng Phân loại công nghệ AI - Công nghệ AI phản ứng (Reactive Machine): Công nghệ AI phản ứng cơng nghệ có khả phân tích hành động thân đối thủ Từ đưa chiến lược hồn hảo Ví dụ như: Deep Blue chương trình tự động chơi cờ vua IBM đánh bại siêu đại kiện tướng cờ vua Garry Kasparov Công nghệ AI Deep Blue xác định nước cờ dự đốn bước Nhưng khơng có ký ức sử dụng kinh nghiệm khứ để tiếp tục huấn luyện tương lai - Công nghệ AI với nhớ hạn chế: Công nghệ AI tự nhận biết trường hợp bất ngờ Ngồi cịn đưa hướng xử lý tốt - Lý thuyết trí tuệ nhân tạo: Lý thuyết trí tuệ nhân tạo thuật ngữ tâm lý Công nghệ AI tự suy nghĩ học hỏi thứ xung quanh để áp dụng cho thân cho việc cụ thể Loại công nghệ AI chưa khả thi - Công nghệ tự nhận thức: Công nghệ AI có ý thức có cư xử người Ngồi cịn có cảm xúc người chia sẻ buồn vui với người dùng Tuy nhiên loại công nghệ AI chưa khả thi Thuật tốn BFS: BFS gì? Thuật tốn duyệt đồ thị ưu tiên chiều rộng (Breadth-first search - BFS) thuật tốn tìm kiếm thiết yếu đồ thị Mà đó, đỉnh gần đỉnh xuất phát duyệt trước Ứng dụng BFSBFS giúp ta giải tốt số tốn thời gian khơng gian tối thiểu Đặc biệt tốn tìm kiếm đường ngắn từ đỉnh gốc tới tất đỉnh khác Trong đồ thị khơng có trọng số tất trọng số nhau, thuật toán ln trả đường ngắn Ngồi ra, thuật tốn cịn dùng để tìm thành phần liên thông đồ thị, kiểm tra đồ thị hai phía, … Ý tưởng: Với đồ thị không trọng số đỉnh nguồn ss Đồ thị đồ thị có hướng vơ hướng, điều khơng quan trọng thuật tốn Có thể hiểu thuật toán lửa lan rộng đồ thị: Ở bước thứ 00, có đỉnh nguồn ss cháy Ở bước tiếp theo, lửa cháy đỉnh lại lan sang tất đỉnh kề với Trong lần lặp thuật tốn, "vịng lửa" lại lan rộng theo chiều rộng Những đỉnh gần ss bùng cháy trước Chính xác hơn, thuật tốn mô tả sau: Đầu tiên ta thăm đỉnh nguồn ss Việc thăm đỉnh ss phát sinh thứ tự thăm đỉnh (u1,u2,…up)(u1,u2,…up) kề với ss (những đỉnh gần ss nhất) Tiếp theo, ta thăm đỉnh u1u1, thăm đỉnh u1u1 lại phát sinh yêu cầu thăm đỉnh (v1,v2,…,vq)(v1,v2,…,vq) kề với u1u1 Nhưng rõ ràng đỉnh vv “xa” ss đỉnh uu nên chúng thăm tất đỉnh uu thăm Tức thứ tự thăm đỉnh là: s,u1,u2,…,up,v1,v2, …,vq,… Thuật toán tìm kiếm theo chiều rộng sử dụng danh sách để chứa đỉnh “chờ” thăm Tại bước, ta thăm đỉnh đầu danh sách, loại khỏi danh sách cho đỉnh kề với chưa thăm xếp hàng vào cuối danh sách Thuật toán kết thúc danh sách rỗng Thuật toán: Suite du document ci-dessous Découvre plus de : Civil and Industrial Construction 42 documents Accéder au cours 60 Thăm quan thực hành - tdf Civil and Industrial Construction 45 CNPM - aaaa Civil and Industrial Construction 23 100% (1) AIDS NOT Someone ELSE Problem Civil and Industrial Construction 100% (2) Đồ án công nghiệp xưởng may mặc Civil and Industrial Construction 100% (3) Bai giai ltdt - Toán rời rạc Civil and Industrial Construction 11 100% (4) Aucun DE Chinh THUC HSG9 2018 Civil and Industrial Construction Aucun Bướ c Duyệt Mô tả Khởi tạo hàng đợi (queue) Chúng ta bắt đầu duyệt đỉnh S (đỉnh bắt đầu) đánh dấu đỉnh duyệt Sau tìm đỉnh liền kề với Smà chưa duyệt Trong ví dụ có đỉnh, theo thứ tự chữ chọn đỉnh A đánh dấu duyệt xếp A vào hàng đợi 4 Tiếp tục duyệt đỉnh liền kề với S B Đánh dấu duyệt xếp đỉnh vào hàng đợi Tiếp tục duyệt đỉnh liền kề với S C Đánh dấu duyệt xếp đỉnh vào hàng đợi Bây đỉnh S khơng cịn đỉnh liền kề mà chưa duyệt Bây rút A từ hàng đợi Từ đỉnh A có đỉnh liền kề D đỉnh chưa duyệt Đánh dấu đỉnh D duyệt xếp vào hàng đợi 1 Giới thiệu toán: Bài tồn gồm bảng vng kích thước 3x3, có tám ô đánh số từ tới ô trống Trạng thái ban đầu, ô xếp cách ngẫu nhiên, nhiệm vụ người chơi tìm cách đưa chúng thứ tự hình dưới: Trong q trình giải tồn, bước, ta giả định có trống di chuyển, vậy, tối đa trống có khả di chuyển (lên trên, xuống dưới, sang trái, sang phải) Điều kiện trạng thái đầu: Có trạng thái bảng số khơng thể chuyển trạng thái đích Người ta chứng minh rằng, để chuyển từ trạng thái đầu tới trạng thái đích, trạng thái đầu phải thỏa mãn điều kiện xác định sau: Ta xét từ xuống dười, từ trái sang phải, với ô số xét (giả sử ô thứ i), ta kiểm tra xem phía sau có số có giá trị nhỏ Sau ta tính tổng N = n1 + n2 + … + n8 Ta có quy tắc chung sau cho tốn n-puzzle: Nếu số vng lẻ: N mod = Nếu số ô vuông chẵn: N mod = ô trống phải nằm hàng chẵn xét từ xuống N mod = ô trống phải nằm hàng lẻ xét từ xuống Cụ thể, ta xét tốn 8-puzzle – có vng nên trạng thái đầu phải thỏa mãn điều kiện Ví dụ: Cho trạng thái đầu sau 2-0-6-8-7-5-4-3-1 Xét thứ có giá trị 2: Phía sau có nhỏ (1) => n1 = Xét thứ hai có giá trị 6: Phía sau có nhỏ (5,4,3,1) => n2 = Xét thứ ba có giá trị 8: Phía sau có nhỏ (7,5,4,3,1) => n3 = Xét thứ tư có giá trị 7: Phía sau có nhỏ (5,4,3,1) => n4 = Xét thứ năm có giá trị 5: Phía sau có nhỏ (4,3,1) => n5 = Xét thứ sáu có giá trị 4: Phía sau có nhỏ (3,1) => n6 = Xét thứ bảy có giá trị 3: Phía sau có nhỏ (1) => n7 = Xét thứ tám có giá trị 1: Phía sau khơng cịn nhỏ => n8 = N = + + + + + + + = 20 Ta có 20 mod = => Thỏa mãn Những trạng thái bảng số mà chuyển trạng thái đích gọi cấu hình hợp lệ, ngược lại gọi cấu hình khơng hợp lệ Với bảng số kích thước mxm (m cạnh) ta có khơng gian trạng thái (mxm)! Với tốn 8-puzzle, trạng thái có bảng số (3x3)! = 362880 Nếu m tăng lên 1, làm không gian trạng thái tăng lên lớn, phiên toán với m>3 áp dụng Trong phạm vi báo cáo, chúng em tìm hiểu phương pháp tìm kiếm lời giải cho tốn 8-puzzle, là: Tìm kiếm theo chiều rộng, tìm kiếm theo chiều sâu, tìm kiếm A* Hai phương pháp đầu phương pháp tìm kiếm khơng có thơng tin, A* phương pháp tìm kiếm có thơng tin Cụ thể phương pháp trình bày sau Thuật tốn tìm kiếm theo chiều rộng (Breadth First Sreach): Thuật tốn tìm kiếm theo chiều rộng thuật tốn tìm kiếm mù phổ biến, thường sử dụng lý thuyết đồ thị Chúng ta vào thuật toán từ tư tưởng thuật toán giả mã bước thuật toán để làm rõ cách thức hoạt động thuật toán a) Tư tưởng thuật toán Ta giả sử đầu vào thuật toán đồ thị G = (V, E), ta phải thực lập lịch duyệt cho đỉnh đồ thị G Việc duyệt đỉnh ưu tiên cho đỉnh gần với duyệt trước Tức mức thấp khơng gian tốn, duyệt theo chiều từ trái sang phải ngược lại mức tiếp theo, không thấy lời giải mức chuyển xuống mức kế để tiếp tục đến tìm lời giải (nếu có) Ta xét ví dụ sau: Ví dụ : Bắt đầu ta thăm đỉnh S Việc thăm đỉnh S phát sinh thứ tự duyệt đỉnh (x[1], x[2], ,x[p]) kề với S (những đỉnh gần S nhất) Khi thăm đỉnh x[1] lại phát sinh yêu cầu duyệt đỉnh (u[1], u[2], , u[q]) kề với x[1] Nhưng rõ ràng đỉnh u xa S đỉnh x nên chúng duyệt tất đỉnh x duyệt xong Tức thứ tự duyệt đỉnh sau thăm x[1] : (x[2], x[3], , x[p], u[1], u[2], , u[q]) Hình minh họa thứ tự duyệt thuật tốn tìm kiếm theo chiều rộng: ta nhận thấy trình duyệt đồ thị Sx1 x2 xp u1 u2 b) Giải thuật thuật toán: - Input: đồ thị G= (V,E) với đỉnh gốc s0 ( trạng thái đầu) Tập đích Goals - Output: đường p từ n0 đến đỉnh f tập Goals Thuật toán sử dụng cấu trúc liệu hàng đợi (Queue) để lưu trữ thơng tin trung gian q trình tìm kiếm (ở dễ hiểu đỉnh đợi duyệt) Tương tự với tìm kiếm theo chiều sâu, bước cho giải thuật tìm kiếm theo chiều rộng sau : Bước 1: Khởi tạo - Các đỉnh trạng thái chưa đánh dấu, trừ đỉnh xuất phát s đánh dấu - Một hàng đợi Q (tổ chức dạng hàng đợi Queue), ban đầu có phần tử s Hàng đợi dùng để chứa đỉnh duyệt theo thứ tự ưu tiên chiều rộng Bước 2: Lặp lại bước sau hàng đợi rỗng: - Nếu hàng đợi rỗng, khơng thấy đỉnh đích, thơng báo “ khơng tìm thấy” , dừng - Hàng đợi không rỗng, lấy u khỏi hàng đợi , thông báo thăm u (bắt đầu duyệt đỉnh u, lần duyệt đầu u s) - Kiếm tra u có phải đỉnh đích t khơng Nếu trả u, dừng vòng lặp, sang bước Nếu sai tiếp tục chương trình - Xét tất đỉnh v kề với u mà chưa đánh dấu, với đỉnh v đó: Đánh dấu v Ghi nhận đường từ v đến u Đấy v vào hàng đợi (v chờ duyệt bước sau) Bước 3: Truy ngược lại đường Giả mã: For (mọi v thuộc V) Free[v] := True; Free[s] :=False {khởi tạo ban đầu có đỉnh s bị đánh dấu} Queue := rỗng; Push(s); { Khởi tạo hàng đợi ban đầu gồm đỉnh s} Repeat {lặp tới hàng đợi rỗng} u := Pop; {lấy từ hàng đợi đỉnh u} For (với v thuộc V : Free[v] and ((u v) thuộc E)) {xét đỉnh v kề u chưa vào hàng đợi} Begin Trace[v] := u; { Lưu vết đường đi} Free[v] := False ; {đánh dấu v} Push(v); {đẩy v vào hàng đợi} End; Until Queue = rỗng; {thông báo từ s có thăm tới đỉnh v mà Free[v] = False}; If Free[f] then {s tới f} {truy theo vết từ f để tìm đường từ s f}; c) Nhận xét : Có thể có nhiều đường từ s tới f thuật tốn BFS ln trả đường ngắn (theo nghĩa qua cạnh nhất) Q tình tìm kiếm theo chiều rộng cho ta BFS gốc s Quan hệ cha – định nghĩa : từ đỉnh u tới thăm đỉnh v u nút cha nút v Hình biểu diễn BFS: Ưu điểm - Kỹ thuật tìm kiếm rộng kỹ thuật vét cạn khơng gian trạng thái tốn tìm lời giải có - Đường tìm thỏa mãn qua đỉnh Nhược điểm - Tìm kiếm lời giải theo thuật toán định trước, tìm kiếm cách máy móc; khơng có thơng tin bổ trợ cho q trình tìm kiếm, khơng nhận lời giải - Không phù hợp với khơng gian tốn có kích thước lớn Đối với loại tốn phương pháp tìm kiếm chiều rộng đối diện với khó khăn nhu cầu: Cần nhiều nhớ theo số nút cần lưu trữ Cần nhiều công sức xử lý nút, nhánh dài, số nút tăng Dễ thực thao tác khơng thích hợp , thừa, đưa đến việc tăng đáng kể số nút phải xử lý - Không hiệu lời giải sâu Phương pháp không phù hợp cho trường hợp có nhiều đường dẫn đến kết sâu - Giao tiếp với người dùng không thân thiện Do duyệt qua tất nút, việc tìm kiếm không tập trung vào chủ đề d) Độ phức tạp Quá trình tìm kiếm đồ thị đỉnh thăm tất đỉnh cịn lại, cách biểu diễn đồ thị có ảnh hưởng lớn tới chi phí thời gian thực giải thuật: Trong trường hợp ta biểu diễn đồ thị danh sách kề, thuật toán BFS có độ phức tạp tính tốn O(n+m) = O(max(n,m)) Đây cách cài đặt tốt Nếu ta biểu diễn đồ thị ma trận kề độ phức tạp tính tốn trường hợp O(n+n2 ) = O(n2 ) Nếu ta biểu diễn đồ thị danh sách cạnh, thao tác duyệt đỉnh kề với đỉnh u dẫn tới việc duyệt toàn danh sách cạnh, cách cài đặt tồi tệ nhất, có độ phức tạp tính tốn O(n.m) Bài toán Puzzle Một bảng 3x3 với có số từ -> ô trống , ô đặt vị trí ngẫu nhiên , trống số đổi chỗ cho , tìm cách di chuyển ô cho số thứ tự Trạng thái ban đầu Trạng thái đích Thuật toán BFS: