Đề tài trí tuệ nhân tạo ( artificial intelligence )

27 4 0
Đề tài trí tuệ nhân tạo ( artificial intelligence )

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

CÁC PHƯƠNG PHÁP TÌM KIẾM HEURISTIC...17III.1 Giải thuật tìm kiếm tốt nhất đầu tiên best first search...17III.2 Các biến thể của giải thuật best first search...19III.3 Các giải thuật khác

BỘ GIÁO DỤC VÀ ĐÀO TẠO - - TRƯỜNG ĐẠI HỌC TÀI CHÍNH – MARKTING TIỂU LUẬN TIN HỌC ĐẠI CƯƠNG ĐỀ TÀI: TRÍ TUỆ NHÂN TẠO ( ARTIFICIAL INTELLIGENCE ) Sinh viên thực : Nguyễn Ngọc Như Quỳnh MSSV : 2121012462 Lớp : CLC_21DMC06 Mã lớp học phần : 2121702026513 Giảng viên hướng dẫn : Huỳnh Ngọc Thành Trung TP.HCM, Ngày 29, Tháng 04, Năm 2022 Nguyễn Ngọc Như Quỳnh -2121012462 NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN TP.HCM, Ngày tháng .năm 2022 Giảng viên hướng dẫn ( Kí, ghi rõ họ tên ) Nguyễn Ngọc Như Quỳnh-2121012462 LỜI CẢM ƠN Trải qua quãng thời gian học tập môn Tin Học Đại Cương hướng dẫn tận tình thầy Huỳnh Ngọc Thành Trung.Tôi cảm thấy thật biết ơn thầy,Thầy giúp hiểu cụ thể môn Tin học, mơn mà trước tơi dành thời gian để tìm hiểu Thầy hướng dẫn cách nhiệt tình tâm huyết, tơi hiểu kiến thức môn tin học từ đến nâng cao, tin tảng để tơi tiếp thu nhiều kiến thức mơn tin học hơn, tơi tự tin tìm hiểu nhiều kỹ chuyên sâu từ kiến thức bổ ích mà thầy truyền dạy.Từ đó, tơi áp dụng q trình học tập hết sau va chạm với nhiều công việc cần kỹ tin học Một lần nữa, xin chân thành cảm ơn Thầy giúp tơi hồn thiện kỹ Sinh viên Nguyễn Ngọc Như Quỳnh Nguyễn Ngọc Như Quỳnh-2121012462 LỜI MỞ ĐẦU Ngày nay, sống cách mạng 4.0- Một kỷ nguyên bật lên mạng thông tin thiết bị kỹ thuật số cụm từ AI ( trí tuệ nhận tạo - ARTIFICIAL INTELLIGENCE ) mối quan tâm vô quan trọng nóng hổi Chúng ta dễ dàng nhận , AI ngày thay đổi giới nhiều khía cạnh khác Đặc biệt lĩnh vực công nghệ thông tin Là người nghiên cứu, học tập môn Tin Học Đại Cương cơng nghệ AI nội dung bỏ qua Các hoạt động người từ đời sống cá nhân đến tổ chức, công tác xã hội,dịch vụ,đặc biệt hoạt động liên quan đến kinh tế nhờ có Trí Tuệ Nhân Tạo mà phát triển với tốc độ “ Hàm mũ” Bên cạnh đó, cơng nghệ AI quan tâm ứng dụng bậc nay, ứng dụng nhiều lĩnh vực nhận dạng khn mặt, xử lý giọng nói, kỹ thuật ước tính đám đơng … đến hệ thống an ninh, bảo mật, hay hệ thống pháp luật, Chính Phủ Tuy nhiên, Trí tuệ nhân tạo lĩnh vực phức tạp tạo nhiều thách thức đáng lo ngại Hiểu biết Trí tuệ nhân tạo để nắm bắt kịp thời hội thách thức từ Trí tuệ nhân tạo cần thiết người, tổ chức quốc gia Để tìm cách thức cơng nghệ AI ứng dụng cách tối ưu vấn đề đáng quan tâm người học Tin Học Đại Cương nói riêng chun ngành Cơng Nghệ Thơng Tin nói chung Nguyễn Ngọc Như Quỳnh-2121012462 MỤC LỤC CHƯƠNG I GIỚI THIỆU CÔNG NGHỆ AI I.1 Giới thiệu .7 I.2 Lịch sử I.3 Các lĩnh vực AI CHƯƠNG II BÀI TỐN VÀ CÁC PHƯƠNG PHÁP TÌM LỜI GIẢI .10 II.1 Bài toán thành phần toán .10 1.1 Bài toán đong nước 10 1.2 Bài tốn tìm đường 11 II.2 Giải thuật tốn tìm kiếm lời giải .12 2.1 Không gian trạng thái toán 12 2.2 Giải thuật tổng quát tìm kiếm lời giải toán .12 2.3 Cây tìm kiếm 13 2.4 Đánh giá giải thuật tìm kiếm 13 II.3 Các giải thuật tìm kiếm khơng có thơng tin phản hồi ( tìm kiếm mù) 14 3.1 Tìm kiếm theo chiều rộng 14 3.2 Tìm kiếm theo chiều sâu 15 3.3 Tìm kiếm theo chiều sâu có giới hạn .15 3.4 Tìm kiếm sâu dần 16 CHƯƠNG III CÁC PHƯƠNG PHÁP TÌM KIẾM HEURISTIC 17 III.1 Giải thuật tìm kiếm tốt (best first search) 17 III.2 Các biến thể giải thuật best first search 19 III.3 Các giải thuật khác 19 3.1 Tìm kiếm theo đồi 19 3.2 Tìm kiếm Beam .20 3.3 Tìm kiếm nhánh cận 20 Nguyễn Ngọc Như Quỳnh-2121012462 DANH MỤC TỪ VIẾT TẮT, THUẬT NGỮ AI : Trí tuệ nhân tạo Nền tảng tài phí tập trung Beam : Khí động học Phương phá kiểm chứng hành vi thông minh Aerodynamic: Chuyên gia y học Chương trình phát triển từ cấu trúc hóa học Turing test : Turing test : Dendral : Nguyễn Ngọc Như Quỳnh-2121012462 Document continues below Discover more fQroumản: trị Bán hàng QTBH 2019 Trường Đại học Tài… 408 documents Go to course 15 CÁC VÍ DỤ VÀ BÀI TẬP TỐN CAO CẤP,… DANH MỤC HÌNH,BẢNG BIỂU 100% (13) DANH MỤC BẢNG BIỂU Phân khúc tiêu dùng pepsi BẢNG 1: Giá trị biển giải thuật theo chiều sâu .1.0105% (12) BẢNG : Bài toán xếp quân cờ 18 BẢNG 3: Tính giá trị hàm f cho thuật tốn tính nhánh-cận .21 03- Contracts-DOCS - dont have 100% (1) 33 Quản trị Bán hàng DANH MỤC HÌNH How an Allowance Helps Children Learn… HÌNH 1: Minh họa can nước 10 HÌNH 2: Bảng biểu lời giải chí phí Q u ả n t r.ị B n 11010% (1) HÌNH 3: Mơ hình đường tô robot .h n g 11 HÌNH 4: Khơng gian đầy đủ trạng thái toán 14 HÌNH 5: Hàng đợi giải thuật tìm kiếm 14 HÌNH 6: Cây tìm kiếm giải thuật theo chiều 15 HÌNH 7: Cây tìm kiếm giải thuật leo đồi .19 Correctional HÌNH 8: Best first search .19 HÌNH 9: Cây tìm kiếm Beam A d m i n i.s t r a t i.o n 20 Criminology 96% (114) English - huhu 10 Led hiển thị 100% (3) Nguyễn Ngọc Như Quỳnh-2121012462 CHƯƠNG I GIỚI THIỆU CÔNG NGHỆ AI I.1 Giới thiệu Trí tuệ nhân tạo ( Artificical Intelligence) ? Để hiểu trí tuệ nhân tạo (artificial intelligence) bắt đầu với khái niệm bay nhân tạo (flying machines), tức máy bay Đã từ lâu, loài người mong muốn làm máy mà di chuyển khơng trung mà khơng phụ thuộc vào địa hình mặt đất, hay nói cách khác máy bay Khơng có ngạc nhiên ý tưởng làm máy bay từ nghiên cứu cách chim bay Những máy biết bay thiết kế theo nguyên lý “vỗ cánh” chim bay quãng đường ngắn lịch sử hàng không thực sang trang kể từ anh em nhà Wright thiết kế máy bay dựa nguyên lý khí động lực học (aerodynamics) Quay lại câu hỏi Trí tuệ nhân tạo Trí tuệ nhân tạo trí thơng minh máy người tạo Ngay từ máy tính điện tử đời, nhà khoa học máy tính hướng đến phát hiển hệ thống máy tính (gồm phần cứng phần mềm) cho có khả thơng minh loài người Mặc dù nay, theo quan niệm người viết, ước mơ xa thành thực, thành tựu đạt không nhỏ: làm hệ thống (phần mềm chơi cờ vua chạy siêu máy tinh GeneBlue) thắng vua cờ giới; làm phần mềm chứng minh tốn hình học; v.v Hay nói cách khác, số lĩnh vực, máy tính thực tốt tương đương người (tất nhiên tất lĩnh vực) Đó hệ thống thơng minh Như vậy, trí tuệ nhân tạo nói đến khả máy thực công việc mà người thường phải xử lý; dáng vẻ ứng xử kết thực máy tốt tương đương với người ta gọi máy thơng minh hay máy có trí thơng minh Hay nói cách khác, đánh giá thông minh máy dựa nguyên lý thực nhiệm vụ có giống cách người thực hay khơng mà dựa kết dáng vẻ ứng xử bên ngồi có giống với kết dáng vẻ ứng xử người hay không Các nhiệm vụ người thường xuyên phải thực là: giải tốn (tìm kiếm, chứng minh, lập luận), học, giao tiếp, thể cảm xúc, thích nghi với môi trường xung quanh, v.v., dựa kết thực nhiệm vụ để kết luận có thơng minh hay khơng Mơn học Trí tuệ nhân tạo nhằm cung cấp phương pháp luận để làm hệ thống có khả thực nhiệm vụ đó: giải tốn, học, giao tiếp, v.v cách làm có người hay không mà kết đạt dáng vẻ bên ngồi người Trong mơn học này, tìm Nguyễn Ngọc Như Quỳnh-2121012462 hiểu phương pháp để làm cho máy tính biết cách giải toán, biết cách lập luận, biết cách học I.2 Lịch sử Vào năm 1943, Warren McCulioch Walter Pitts bắt đầu thực nghiên cứu ba sở lý thuyết bản: triết học chức noron thần kinh; phân tích mệnh đề logic; lý thuyết dự đoán Turing Các tác giả nghiên cứu đề xuât mô hình noron nhân tạo, noron đặc trưng hai trạng thái “bật”, “tắt” phát mạng noron có khả học Thuật ngữ “Trí tuệ nhân tạo” (Artificial Intelligence - AI) thiết lập John McCarthy Hội thảo chủ đề vào mùa hè năm 1956 Đồng thời, ông đề xuất ngôn ngữ lập trình Lisp – ngơn ngữ lập trình hàm tiêu biểu, sử dụng lĩnh vực AI Sau đó, Alan Turing đưa "Turing test" phương pháp kiểm chứng hành vi thông minh Thập kỷ 60, 70 Joel Moses viết chương trình Macsyma - chương trình tốn học sử dụng sở tri thức thành công Marvin Minsky Seymour Papert đưa chứng minh giới hạn mạng nơ-ron đơn giản Ngôn ngữ lập trình logic Prolog đời phát triển Alain Colmerauer Ted Shortliffe xây dựng thành công số hệ chuyên gia trợ giúp chẩn đoán y học, hệ thống sử dụng ngôn ngữ luật để biểu diễn tri thức suy diễn Vào đầu năm 1980, nghiên cứu thành công liên quan đến AI hệ chuyên gia (expert systems) – dạng chương trình AI mơ tri thức kỹ phân tích nhiều chuyên gia người Vào năm 1990 đầu kỷ 21, AI đạt thành tựu to lớn nhất, AI áp dụng logic, khai phá liệu, chẩn đoán y học nhiều lĩnh vực ứng dụng khác công nghiệp Sự thành cơng dựa vào nhiều yếu tố: tăng khả tính tốn máy tính, tập trung giải toán cụ thể, xây dựng mối quan hệ AI lĩnh vực khác giải toán tương tự, chuyển giao nhà nghiên cứu cho phương pháp toán học vững chuẩn khoa học xác I.3 Các lĩnh vực AI  Lập luận, suy diễn tự động: Khái niệm lập luận (reasoning), suy diễn (reference) sử dụng phổ biến lĩnh vực AI Lập luận suy diễn logic, dùng để tiến trình rút kết luận (tri thức mới) từ giả thiết cho (được biểu diễn dạng sở tri thức) Như vậy, để thực lập luận người ta cần có phương pháp lưu trữ sở tri thức thủ tục lập luận sở tri thức  Biểu diễn tri thức: Muốn máy tính lưu trữ xử lý tri thức cần có phương pháp biểu diễn tri thức Các phương pháp biểu diễn tri thức bao gồm ngôn ngữ biểu diễn kỹ thuật xử lý tri thức Một ngôn ngữ biểu diễn tri thức đánh giá “tốt” có tính biểu đạt cao tính hiệu thuật tốn lập luận ngơn ngữ Tính biểu đạt ngơn ngữ thể khả biểu diễn phạm vi rộng lớn thơng tin miền ứng dụng Tính hiệu thuật toán lập luận thể chi phí thời gian khơng gian dành cho việc lập luận Tuy nhiên, hai yếu tố dường đối nghịch nhau, tức ngơn ngữ có tính biểu đạt cao thuật tốn lập luận có độ phức tạp lớn (tính hiệu thấp) Nguyễn Ngọc Như Quỳnh-2121012462 HÌNH 2: Bảng biểu lời giải chí phí 1.2 Bài tốn tìm đường HÌNH 3: Mơ hình đường ô tô robot Một ôtô robot tìm đường từ thành phố Arad đến thành phố Bucharest Biết xe robot khơng có đồ đầy đủ hình vẽ trên, đến thành phố mới, có cảm biến đọc biển đường đến thành lân cận, biển đường có khoảng cách Bài tốn tìm đường phát biểu theo thành phần sau: - Trạng thái: vị trí ơtơ robot (tên thành phố) - Trạng thái đầu: Thành phố Arad - Trạng thái đích: Thành phố Bucharest - Phép chuyển trạng thái: từ thành phố sang thành phố lân cận - Chi phí: khoảng cách thành phố phép chuyển trạng thái 11 Nguyễn Ngọc Như Quỳnh-2121012462 Lời giải toán dãy phép chuyển từ trạng thái đầu đến trạng thái đích, đường từ thành phố đầu đến thành phố đích Một ví dụ lời giải toán là: Arad  Sibiu  Fagaras  Bucharest II.2 Giải thuật tốn tìm kiếm lời giải 2.1 Không gian trạng thái toán Mỗi toán với thành phần mơ tả trên, xây dựng cấu trúc đồ thị với nút trạng thái toán, cung phép chuyển trạng thái Đồ thị gọi không gian trạng thái tốn Khơng gian trạng thái vơ hạn hữu hạn Ví dụ, với toán di chuyển số bàn cờ, khơng gian trạng thái có số lượng 8! (8 giai thừa) trạng thái Lời giải toán đường khơng gian trạng thái có điểm đầu trạng thái đầu điểm cuối trạng thái đích Nếu khơng gian trạng thái tốn nhỏ, liệt kê lưu vừa nhớ máy tính việc tìm đường khơng gian trạng thái áp dụng thuật tốn tìm đường lý thuyết đồ thị Tuy nhiên, nhiều trường hợp, không gian trạng thái tốn lớn, việc duyệt tồn không gian trạng thái Trong môn học Trí tuệ nhân tạo này, sẽtìm hiểu phương pháp tìm kiếm lời giải tốn có khơng gian trạng thái lớn 2.2 Giải thuật tổng quát tìm kiếm lời giải tốn Với tốn có thành phần trên, có giải thuật chung để tìm kiếm lời giải toán Ý tưởng sinh lời giải tiềm kiểm tra chúng có phải lời giải thực toán Một lời giải tiềm đường không gian trạng thái tốn có nút đầu trạng thái đầu cung đường phép chuyển hợp lệ trạng thái kề với cung Lời giải thực tốn lời giải tiềm có nút cuối trạng thái đích Các lời giải tiềm đường có nút dãy cung dãy phép chuyển hợp lệ từ trạng thái đầu Các lời giải tiềm tổ chức theo cây, gốc trạng thái đầu, phát triển cách bổ sung vào nút liền kề với trạng thái đầu, sau liên tiếp bổsung vào nút lá, … Lược đồ chung để tìm lời giải toán thành phần xây dựng lời giải tiểm (hay tìm kiếm) kiểm tra lời giải tiềm có lời giải thực tốn hay khơng Các bước giải thuật chung sau: xây dựng tìm kiếm mà nút gốc trạng thái đầu, lặp lại bước: kiểm tra xem trạng thái xét có trạng thái đích khơng, trạng thái đích thơng báo lời giải, khơng mở rộng tìm kiếm cách bổ sung nút trạng thái láng giềng trạng thái xét Giải thuật chung trình bày bảng sau: Đầu vào giải thuật toán (problem) với thành phần (biểu diễn trạng thái tổng quát, trạng thái đầu, trạng thái đích, phép chuyển trạng thái, chi phí phép chuyển trạng thái) chiến lược tìm kiếm (strategy); đầu giải thuật lời giải toán giá trị failure toán khơng có lời giải Giải thuật sinh lời giải tiềm năng, nút gốc trạng thái đầu toán, mở rộng theo chiến 12 Nguyễn Ngọc Như Quỳnh-2121012462 lược (strategy) định trước đến chứa nút trạng thái đích khơng thể mở rộng Function General_Search(problem, strategy) returns a solution, or failure cây-tìm-kiếm trạng-thái-đầu; while (1) if (cây-tìm-kiếm khơng thể mở rộng nữa) then return failure nút-lá  Chọn-1-nút-lá(cây-tìm-kiếm, strategy) if (node-lá trạng-thái-đích) then return Đường-đi(trạng-thái-đầu, nút-lá) else mở-rộng(cây-tìm-kiếm, các-trạng-thái-kề(nút-lá)) Function General_Search(problem, Queue/Stack) returns a solution, or failure Queue/Stack make_queue/make_stack(make-node(initial-state[problem])); father(initial-state[problem]) = empty; while (1) if Queue/Stack is empty then return failure; node = pop(Queue/Stack) ; if test(node,Goal[problem]) then return path(node,father); expand-nodes adjacent-nodes(node, Operators[problem]); push(Queue/Stack, expand-nodes ); foreach ex-node in expand-nodes father(ex-node) = node; end 2.3 Cây tìm kiếm Trong trình tìm kiếm lời giải, thường áp dụng chiến lược để sinh lời giải tiềm Các lời giải tiềm tổ chức thành mà gốc trạng thái đầu toán, mức nút kề với nút mức trước Thông thường tìm kiếm mở rộng đến chứa trạng thái đích dừng 2.4 Đánh giá giải thuật tìm kiếm Một giải thuật tìm kiếm lời giải toán phụ thuộc nhiều vào chiến lược tìm kiếm (hay cấu trúc liệu để lưu nút trình tìm kiếm) Để đánh giá giải thuật tìm kiếm người ta đưa tiêu chí sau: 1.Tính đầy đủ: giải thuật có tìm lời giải tốn khơng tốn tồn lời giải Độ phức tạp thời gian: thời gian giải thuật có kích cỡ tốn? Độ phức tạp khơng gian: Kích cỡ nhớ cần cho giải thuật? Trong giải thuật tổng quát trên, kích cỡ nhớ chủ yếu phụ thuộc vào cấu trúc liệu lưu trạng thái tìm kiếm 13 Nguyễn Ngọc Như Quỳnh-2121012462 Tính tối ưu: Giải thuật có tìm lời giải có chi phí tối ưu (nhỏ lớn tùy theo ngữ cảnh tốn II.3 Các giải thuật tìm kiếm khơng có thơng tin phản hồi ( tìm kiếm mù) Các giải thuật tìm kiếm khơng sử dụng thơng tin phản hồi (hay giải thuật tìm kiếm mù) giải thuật sử dụng thông tin từ thành phần toán (trạng thái tổng quát, trạng thái đầu, trạng thái đích, phép chuyển trạng thái, chi phí) Ý tưởng chung cơbản giải thuật sinh lời giải tiềm (cây tìm kiếm) cách có hệthống (khơng bỏ sót khơng lặp lại) Phần giới thiệu giải thuật tìm kiếm theo chiều rộng, tìm kiếm theo chiều sâu, tìm kiếm theo chiều sâu có giới hạn, tìm kiếm sâu dần Các giải thuật theo giải thuật chung giới thiệu bên trên, khác ởchiến lược tìm kiếm cấu trúc liệu để lưu giữ lấy nút tìm kiếm 3.1 Tìm kiếm theo chiều rộng Giải thuật tìm kiếm lời giải theo chiều rộng cài đặt cụ thể giải thuật chung tìm kiếm lời giải, có sử dụng cấu trúc liệu kiểu hàng đợi (queue) để lưu giữ trạng thái nút tìm kiếm Các nút sinh trình thực thi giải thuật cập nhật vào hàng đợi theo nguyên tắc nút đưa vào hàng đợi trước lấy trước trình mở rộng Chi tiết giải thuật cho bảng bên Function Breadth-Search(problem, Queue) returns a solution, or failure Queue make-queue(make-node(initial-state[problem])); father(initial-state[problem]) = empty; while (1) if Queue is empty then return failure; node = pop(Queue) ; if test(node,Goal[problem]) then return path(node,father); expand-nodes Åadjacent-nodes(node, Operators[problem]); push(Queue, expand-nodes ); foreach ex-node in expand-nodes father(ex-node) = node; end HÌNH 4: Khơng gian đầy đủ trạng thái tốn HÌNH 5: Hàng đợi giải thuật tìm kiếm Nguyễn Ngọc Như Quỳnh-2121012462 HÌNH 6: Cây tìm kiếm giải thuật theo chiều 3.2 Tìm kiếm theo chiều sâu Giải thuật tìm kiếm theo chiều sâu hồn tồn tương tự giải thuật tìm kiếm theo chiều rộng, khác chỗ thay sử dụng cấu trúc liệu hàng đợi, ta sử dụng cấu trúc liệu ngăn xếp (Stack) để lưu giữ trạng thái tìm kiếm Đối với cấu trúc liệu ngăn xếp, trạng thái đưa vào sau lấy trước để mở rộng tìm kiếm Giải thuật diễn biến biến giải thuật trình bày bảng hình vẽ Kết giải thuật lời giải G E A S BẢNG 1: Giá trị biển giải thuật theo chiều sâu Stack Father S S A, B, C Father[A,B,C]=S A D, E, B, C Father[D,E]=A D H, E, B, C Father[H]=D H E, B, C E G, B, C Father[G]=E G 3.3 Tìm kiếm theo chiều sâu có giới hạn Giải thuật tìm kiếm theo chiều sâu có ưu điểm sinh lời giải nhanh chóng mà khơng tốn nhớ máy tính Tuy nhiên khơng gian trạng thái tốn vơ hạn khơng tìm lời giải tốn hướng tìm kiếm khơng chứa trạng thái đích Để khắc phục nhược điểm này, đặt giới hạn độ sâu giải thuật: độ sâu trạng thái xét vượt q ngưỡng khơng bổ sung nút kề với trạng thái mà chuyển sang hướng tìm kiếm khác Chi tiết giải thuật cho bảng 15 Nguyễn Ngọc Như Quỳnh-2121012462 đây, đưa thêm biến mảng chiều depth[i] lưu độ sâu trạng thái i Function Depth-Limitted-Search(problem, maxDepth) returns a solution, or failure Stack make-queue(make-node(initial-state[problem])); father(initial-state[problem]) = empty; depth(initial-state[problem]) = 0; while (1) if Stack is empty then return failure; node = pop(Stack) ; if test(node,Goal[problem]) then return path(node,father); if (depth(node) < maxDepth) expand-nodes adjacent-nodes(node, Operators[problem]); push(Stack, expand-nodes ); foreach ex-node in expand-nodes father(ex-node) = node; end 3.4 Tìm kiếm sâu dần Giải thuật tìm kiếm với chiều sâu có giới hạn phụ thuộc vào giới hạn độ sâu lựa chọn ban đầu Nếu biết trước trạng thái đích xuất phạm vi độ sâu tìm kiếm đặt giới hạn độ sâu cho giải thuật Tuy nhiên chọn độ sâu tối đa khơng phù hợp, giải thuật tìm kiếm theo chiều sâu có giới hạn khơng tìm lời giải tốn Chúng ta gọi thực giải thuật tìm kiếm lời giải độsâu khác nhau, từ bé đến lớn Giải thuật bổ sung sau: Function Iterative-deepening-Search(problem) returns a solution, or failure for depth = to ∞ result Depth-Limited-Search(problem, depth) if result succeeds then return result end return failure 16 Nguyễn Ngọc Như Quỳnh-2121012462 CHƯƠNG III CÁC PHƯƠNG PHÁP TÌM KIẾM HEURISTIC III.1 Giải thuật tìm kiếm tốt (best first search) Các giải thuật mục có chung đặc điểm tìm kiếm lời giải cách có hệ thống: xây dựng tất không gian lời giải tiềm theo cách vét cạn, khơng bỏ sót khơng lặp lại Trong nhiều trường hợp, giải thuật khơng khả thi khơng gian trạng thái toán lớn, tốc độ xử lý nhớ máy tính khơng cho phép duyệt lời giải tiềm Để hạn chế không gian lời giải tiềm năng, đưa hàm định hướng việc mở rộng tìm kiếm Theo cách này, mở rộng theo nút có nhiều tiềm chứa trạng thái đích nút khác Ví dụ, tốn số, đưa hàm định hướng mở rộng sau: giả sử n trạng thái bàn cờ (một xếp quân cờ bàn cờ 3x3), hàm định hướng h định nghĩa sau: h(n) = tổng khoảng cách Manhatan vị trí quân cờ bàn cờ n với vị trí bàn cờ đích Chẳng hạn, n trạng thái đầu hình mục 1.b, h(n) xác định sau: hàm đánh giá hợp lý h) Để mở rộng theo nút có giá trị h nhỏ nhất, sử dụng cấu trúc liệu danh sách (list) có xếp theo giá trị h Giải thuật chi tiết trình bày bảng sau (được gọi giải thuật Best-First-Search): 17 Nguyễn Ngọc Như Quỳnh-2121012462 Quân cờ Vị trí n Vị trí bàn Khoảng cách cờ đích ( số lần địch (3,3) chuyển bàn (1,3) cờ khơng có (2,3) (2,3) quân cờ khác) (3,3) (3,2) (1,1) (1,2) (1,3) (2,2) (3,1) (3,2) (1,2) (1,1) (2,1) (2,1) h ( n) = 2+0+1+1+2+1+1+0+0=8 BẢNG : Bài toán xếp quân cờ Function push(list, expand-nodes ,h); Chèn nodes expand-nodes vào list cho mảng list theo thứ tự tăng/giảm theo hàm h Chú ý rằng, cấu trúc giải thuật giống với giải thuật tìm kiếm theo chiều rộng hay theo chiều sâu, khác chỗ, thay sử dụng hàng đợi hay ngăn xếp để lưu giữ trạng thái tìm kiếm, sử dụng danh sách xếp theo giá trị hàm h Danh sách xếp tăng hay giảm phụ thuộc vào hàm h ngữ cảnh toán, ví dụ 18 Nguyễn Ngọc Như Quỳnh-2121012462

Ngày đăng: 01/03/2024, 09:07

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan