Giáo trình Trí tuệ nhân tạo - TS. Nguyễn Ngọc Thuần

100 6 0
Giáo trình Trí tuệ nhân tạo - TS. Nguyễn Ngọc Thuần

Đ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

Giáo trình Trí tuệ nhân tạo được biên soạn gồm các nội dung chính sau: giới thiệu các khái niệm cơ bản; Phương pháp biểu diễn tri thức và các giải thuật; Biểu diễn bài toán trong không gian trạng thái; Các phương pháp tìm kiếm lời giải trong không gian trạng thái. Mời các bạn cùng tham khảo!

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP VINH KHOA CÔNG NGHỆ BỘ MƠN CƠNG NGHỆ THƠNG TIN (LƯU HÀNH NỘI BỘ) TRÍ TUỆ NHÂN TẠO BIỂU DIỄN & TÌM KIẾM TS NGUYỄN NGỌC THUẦN VINH, 2018 LỜI TỰA Để có thêm lựa chọn “Tài liệu học tập” cho sinh viên trình học tập, nghiên cứu; chủ động việc giảng dạy cho giáo viên Sau nhiều năm giảng dạy, biên tập lại số vấn đề Mơn học Trí tuệ nhân tạo tinh thần rút gọn để phù hợp với đối tương - sinh viên ngành CNTT, trường Đại học Công nghiệp Vinh – trường Đại học định hướng thực hành vừa đảm bảo phần môn học Với phương châm vừa giới thiệu lý thuyết vừa tăng cường kỹ thực hành, tập giảng tập trung giới thiệu vấn đề liên quan đến biểu diễn tri thức kỹ thuật tìm kiếm Đây giáo trình mơn học Trí tuệ nhân tạo dành cho giáo viên, sinh viên ngành CNTT công tác giảng dạy, nghiên cứu học tập trường Đại học Cơng nghiệp Vinh Giáo trình lựa chọn vấn đề từ tài liệu chuyên ngành từ truyền thống đến đại tổ chức thành 04 chương; Chương 1, giới thiệu khái niệm bản; Nêu vai trị, nhiệm vụ mơn học chương trình đào tạo Đại học đời sống xã hội; Các xu nghiên cứu tương lai gần ứng dụng thực tiễn TTNT Chương 2, tập trung giới thiệu hai bốn cách biểu diễn tri thức, biểu diễn tri thức nhờ Lơgic biểu diễn tri thức sử dụng luật dẫn xuất; Còn biểu diễn tri thức sử dụng mạng ngữ nghĩa khung (Frame) giới thiệu định nghĩa cấu trúc phương pháp Chương 3, mô tả không gian trạng thái với phận cấu thành nhằm phục vụ cho giải pháp tìm kiếm trình bày phần Chương 4, việc đưa giải pháp tìm kiếm truyền thống: Tìm kiếm theo chiều rộng, tìm kiếm theo chiều sâu, giáo trình tập trung giải pháp nâng cao: tìm kiếm với đường cực tiểu, tìm kiếm với giá thành tối ưu – Phương pháp tìm kiếm tốt (BFS); tìm kiếm leo đồi với hàm đánh giá chọn Cuối phần, có ví dụ, tập minh họa kiểm tra nhận thức sinh viên Cùng với tập giảng, cung cấp tập tốn thực tiễn, giúp người học có thêm hội rèn luyện, kiểm tra khả lập trình ngơn ngữ lập trình bậc cao Chủ biên TS Nguyễn Ngọc Thuần MỤC LỤC Chương Chương Nội dung Tổng quan Trí tuệ nhân tạo 1.1 Các khái niệm 1.2 Đối tượng mục tiêu nghiên cứu 1.3 Vai trò TTNT 1.4 Các kỹ thuật TTNT 1.5 Những vấn đề đặt tương lai cảu TTNT 1.6 Câu hỏi Bài tập Phương pháp biểu diễn tri thức giải thuật 2.1 Biểu diễn tri thức nhờ Lơgic hình thức 2.1.1 Lơ gic mệnh đề 2.1.2 Các luật đại số 2.1.3 Một số thuật giải chứng minh Thuật toán Vương Hạo Thuật tốn Robinson Các ví dụ 2.1.4 Bài tập 2.1.5 Lơgic vị từ Các Định nghĩa khái niệm 2.1.5.1 Cú pháp, ngữ nghĩa 2.1.5.2 Chuẩn hóa cơng thức 2.1.5.3 Ví dụ Bài tập 2.2 Biểu diễn tri thức sử dụng luật dẫn xuất 2.2.1 Các khái niệm 2.2.2 Cấu trúc 2.2.3 Suy diễn luật sản xuất 2.2.3.1 Khái niệm 2.2.3.2 Các phương pháp suy diễn Phương pháp suy diễn tiến Phương pháp suy diễn lùi 2.2.4 Ví dụ Bài tập 2.3 Chương Biểu diễn tri thức sử dụng mạng ngữ nghĩa, khung (Frame) Biểu diễn tốn khơng gian trạng thái 3.1 Các khái niệm 3.2 Mơ tả trạng thái 3.3 Tốn tử chuyển trạng thái 3.4 Khơng gian trạng thái tốn 3.5 Biểu diễn không gian trạng thái dạng Graf Trang 1-5 2 – 49 - 36 – 21 10 – 11 11 – 21 12 – 14 14 – 15 15 – 19 19 – 21 21 – 36 21 – 23 24 – 29 29 - 33 33 – 36 37 – 48 37 37 39 – 43 39 39 39 – 41 41 – 43 44 – 48 49 50 – 61 50 – 51 52 – 53 54 – 56 57 58 – 59 Chương 3.6 Ví dụ Bài tập Các phương pháp tìm kiếm lời giải khơng gian trạng thái Mơ tả tốn 4.1 Phương pháp tìm kiếm theo chiều rộng 4.2 Phương pháp tìm kiếm theo chiều sâu 4.3 Phương pháp tìm kiếm tốt (Thuật toán BFS – Best First Search) 4.4 Tìm kiếm đường có giá thành cực tiểu (Thuật toán ATK – Algorithm for Knowlegeable Tree Search) 4.5 Tìm kiếm cực tiểu dùng hàm đánh giá (Thuật tốn A*) 4.6 Phương pháp tìm kiếm leo đồi (Hill-climbing search) TRÍ TUỆ NHÂN TẠO TS Nguyễn Ngọc Thuần Chương TỔNG QUAN VỀ TRÍ TUỆ NHÂN TẠO (TTNT) 1.1 Các khái niệm 60 – 61 62 – 90 62 – 63 63 – 69 69 – 74 74 – 79 80 – 84 84 – 87 87 - 90 Trí tuệ nhân tạo (AI: Artificial Intelligence) ngành khoa học máy tính liên quan đến việc tự động hóa hành vi thơng minh Trí tuệ nhân tạo (tương lai nhân loại) khơng có khác mơ hoạt động não người - mạng nơ ron (Neural network) AI xây dựng nguyên lý lý thuyết vững chắc, có khả ứng dụng Những nguyên lý bao gồm: Các cấu trúc liệu dùng cho biểu diễn tri thức; Các thuật toán cần thiết để xử lý áp dụng tri thức đó; Các ngơn ngữ kỹ thuật lập trình dùng cho việc cài đặt chúng + Khái niệm: TTNT - AI: Artificial Intelligence; (Trí tuệ, Tri thức - knowledge) CSTT (Cơ sở tri thức)-Tập hợp tri thức + Vai trò, Chức AI: Tìm kiếm, tập hợp liệu (mà người gọi tri thức, kiến thức); Tìm kiếm CTDL thích hợp để biểu diễn tri thức MT; Tìm kiếm Luật suy diễn phù hợp để từ CSTT - tập hợp tri thức biểu diễn dạng đó, suy hành động + Các phận cấu thành Hệ TT: CSTT + Bộ suy diễn Bộ suy diễn thành phần khác hệ tri thức Như hệ tri thức bảo trì CSTT trang bị thủ tục suy diễn + Bài toán TTNT gồm dạng: - Cách biễu diễn tri thức đánh giá; - Các thuật toán xử lý TT yếu tố vượt trội - Học máy (Machine Learning - khác với việc máy công cụ lưu trữ): Đưa liệu vào máy; Hệ thống thuật toán xử lý; Đưa kết - kiến thức thu/học Qúa trình lặp lại thu kết mong đợi + Mục tiêu biểu diễn tri thức: Để máy tính sử dụng tri thức, xử lý tri thức, cần biểu diễn tri thức dạng thuận tiện cho máy tính Trong Cơng Nghệ Thơng Tin, Trí Tuệ Nhân Tạo (Artificial Intelligence) ngành mới, phát triển mạnh mẽ đem lại nhiều kết to lớn Việc đời máy tính điện tử vào năm 50 kỷ 20 đưa việc nghiên cứu trí tuệ nhân tạo (về vấn đề lý thuyết thực nghiệm) vào máy tính lĩnh vực nghiên cứu lý thuyết ứng dụng thực tiễn 1.2 Đối tượng mục tiêu nghiên cứu trí tuệ nhân tạo Hai mối quan tâm tảng nhà nghiên cứu TTNT là: Biểu diễn tri thức (knowledge representation) tìm kiếm(search) Biểu diễn tức Sử dụng cơng cụ: ngơn ngữ hình thức, lô gic mệnh đề, lô gic vị từ, Luật suy diễn, Khung,… tùy theo toán cụ thể (một cách phù hợp) chuyển tốn thực tiễn (theo ngơn ngữ tự nhiên) dạng mơ hình tốn học Tìm kiếm hiểu theo nghĩa: Sử dụng kết hợp kỹ thuật biết để tìm phương án (lời giải) không gian trạng thái tốn (problem state) Trí tuệ nhân tạo nghiên cứu cách hành xử/hành vi thông minh (intelligent behaviour) với mục tiêu xây dựng đầy đủ lý thuyết thông minh để giải thích hoạt động thông minh sinh vật áp dụng hiểu biết vào cơng cụ/máy móc nói chung, nhằm phục vụ cho người 1.3 Vai trò Trí Tuệ Nhân Tạo Trí tuệ nhân tạo nghiên cứu lĩnh vực tổng quát máy nhận biết, suy luận logic, đến toán chơi cờ, chứng minh định lý,các kỹ thuật hệ thống hoá tự động hoá xử lý tri thức phương pháp thuộc lĩnh vực mang tính người Trí tuệ nhân tạo nghiên cứu kỹ thuật làm cho máy tính “suy nghĩ cách thơng minh” mơ trình suy nghĩ người đưa định, lời giải Trên sở đó, thiết kế chương trình cho máy tính để giải toán Sự đời phát triển Trí tuệ nhân tạo tạo bước nhảy vọt chất kỹ thuật kỹ nghệ xử lý thông tin Điều thể qua mặt sau: - Nhờ cơng cụ hình thức hố: Các mô hinh logic ngôn ngữ, logic mờ, , tri thức thủ tục tri thức mơ tả biểu diễn máy Do trình giải toán tiến hành hữu hiệu - Logic ngôn ngữ mở rộng khả ứng dụng máy tính lĩnh vực địi hỏi tri thức trình độ cao, khó như: y học, sinh học, địa lý, tự động hóa - Đã có nhiều phần mềm TTNT thể tính thích nghi tính mềm dẻo lớp toán thuộc nhiều lĩnh vực khác nhau: Y học, Dự báo, Thiết kế, Xây dựng, Thương mại, 1.4 Các kỹ thuật Trí tuệ nhân tạo Có nhiều kỹ thuật nghiên cứu, phát triển Trí tuệ nhân tạo Tuy vậy, kỹ thuật Trí tuệ nhân tạo thường phức tạp thực cài đặt cụ thể, liên quan đến xử lý ký hiệu Các kỹ thuật Trí tuệ nhân tạo bao gồm : - Lý thuyết giải tốn suy diễn thơng minh: Viết chương trình giải câu đố, trị chơi thơng qua suy luận mang tính người; hệ thống chứng minh định lý - Lý thuyết thể tri thức hệ chuyên gia: Trí tuệ nhân tạo khoa học thể sử dụng tri thức - Mạng ngữ nghĩa, lược đồ, logic vị từ, khung phương pháp thể tri thức thông dụng Việc gắn liền cách thể sử dụng tri thức sở hình thành hệ chuyên gia - Lý thuyết nhận dạng xử lý tiếng nói: Các phương pháp nhận dạng gồm: nhận dạng hình học, nhận dạng dùng tâm lý học, nhận dạng theo phương pháp hàm thế, dùng máy nhận dạng, nhận dạng chữ viết, âm - Người máy: Cuối năm 70, người máy công nghiệp đạt nhiều tiến Người máy có phận cảm nhận chế hoạt động nối ghép theo điều khiển thông minh - Tâm lý học xử lý thông tin.Xử lý danh sách, kỹ thuật đệ quy, kỹ thuật quay lui xử lý cú pháp hình thức, kỹ thuật tin học truyền thống có liên quan trực tiếp đến Trí tuệ nhân tạo 1.5 Các khái niệm trí tuệ: Trí tuệ người (Human Intelligence): Có hai khái niệm trí tuệ người chấp nhận sử dụng nhiều nhất, là: • Khái niệm trí tuệ theo quan điểm Turing “Trí tuệ đánh giá thông qua trắc nghiệm thông minh” • Khái niệm trí tuệ đưa từ điển bách khoa tồn thư: “Trí tuệ khả phản ứng cách thích hợp tình thơng qua hiệu chỉnh hành vi cách thích đáng.Hiểu rõ mối liên hệ qua lại kiện giới bên nhằm đưa hành động phù hợp đạt tới mục đích Theo tâm lý học, q trình hoạt động trí tuệ người bao gồm thao tác bản: 1- Xác định tập đích (goals) 2- Thu thập kiện (facts) luật suy diễn (inference rules) để đạt đích đặt 3- Thu gọn (pruning) trình suy luận nhằm xác định tập suy diễn sử dụng 4- Áp dụng chế suy diễn cụ thể (inference mechanisms) để đưa kiện ban đầu đến đích Trí tuệ máy: Khơng có định nghĩa tổng qt, nêu đặc trưng chính: 1- Khả học 2- Khả mô hành vi người 3- Khả trừu tượng hoá, tổng quát hoá suy diễn 4- Khả tự giải thích hành vi 5- Khả thích nghi tình kể thu nạp tri thức liệu 6- Khả xử lý biểu diễn hình thức ký hiệu tượng trưng 7- Khả sử dụng tri thức heuristic 8- Khả xử lý thơng tin khơng đầy đủ, khơng xác 1.6 Những vấn đề đặt tương lai chuyên ngành Trí tuệ nhân tạo Trong tương lai, nghiên cứu ứng dụng TTNT tập trung vào vấn đề lớn sau: + Nghiên cứu ứng dụng mạng Neuron;Các hệ thống Trí tuệ nhân tạo mô chức hoạt động não với khả học, tự tổ chức, tự thích nghi, tổng qt hố, xử lý song song, có khả diễn giải, xử lý thông tin liên tục rời rạc + Nghiên cứu tạo lập hệ thống có giao tiếp thân thiện người máy sở nghiên cứu nhận thức máy, thu thập xử lý tri thức, xử lý thơng tin hình ảnh, tiếng nói + Nghiên cứu phương pháp biểu diễn tri thức phương pháp suy diễn thông minh, phương pháp giải vấn đề tốn phụ thuộc khơng gian, thời gian Các chuyên ngành: Các phương pháp tìm kiếm lời giải Hệ chuyên gia Lý thuyết nhận dạng Các mơ hình thần kinh Người máy 1.7 Câu hỏi, Bài tập 1.Nêu khái quát riêng bạn Trí tuệ nhân tạo Trí tuệ người máy? Hãy so sánh điểm khác khả giải vấn đề máy tính đại với người Hãy cho biết số ứng dụng TTNT sống xã hội mà bạn biết Chương PHƯƠNG PHÁP BIỄU DIỄN TRI THỨC VÀ CÁC GIẢI THUẬT Như ta biết, khơng thể có phương pháp giải vấn đề tổng qt cho tốn Có thể phương pháp phù hợp cho toán này, lại khơng phù hợp cho lớp tốn khác Điều có nghĩa nói tới tốn, ta phải ý đến phương pháp biểu diễn phương pháp tìm kiếm lời giải khơng gian toán nhận Đầu tiên, quan tâm đến vấn đề biểu diễn Biểu diễn tốn nhờ khơng gian trạng thái (Sau đó, nói đến chiến lược tìm kiếm đồ thị biểu diễn vấn đề) Biểu diễn toán nhờ Quy toán (Phân rã toán) Biểu diễn vấn đề nhờ logic hình thức (có phương pháp suy diễn logic) Để máy tính sử dụng tri thức, xử lý tri thức, cần phải biểu diễn tri thức dạng thuận tiện cho máy tính (để máy tính hiểu được) 10 MO: tập chứa trạng thái sinh chưa xét đến (vì ta chọn trạng thái khác) Thực ra, MO loại hàng đợi ưu tiên (priority queue) mà đó, phần tử có độ ưu tiên cao phần tử tốt DONG: tập chứa trạng thái xét đến Chúng ta cần lưu trữ trạng thái nhớ để đề phòng trường hợp trạng thái tạo lại trùng với trạng thái mà ta xét đến trước Nếu khơng gian tìm kiếm có dạng khơng cần dùng tập Trong chương trình trí tuệ nhân tạo, kỹ thuật tìm kiếm tốt sử dụng hàm đánh giá Hàm dùng thông tin mức độ quan trọng tốn nút để gán giá trị cho nút này, gọi trọng số nút giá trị xem xét lúc tìm kiếm.Thơng thường, nút có trọng số nhỏ/ lớn chọn trình tìm kiếm 4.3.2 Hàm đánh giá Giả sử u trạng thái đạt tới (có đường từ trạng thái ban đầu u tới u) Ta thường xác định hai hàm đánh giá sau: • g(u) đánh giá độ dài đường ngắn từ u tới u (Đường từ u0 tới trạng thái u khơng phải trạng thái đích gọi đường phần, để phân biệt với đường đầy đủ, đường từ u0 tới trạng thái đích) • h(u) đánh giá độ dài đường ngắn từ u tới trạng thái đích Hàm h(u) gọi chấp nhận (hoặc đánh giá thấp) với trạng thái u, h(u)  độ dài đường ngắn thực tế từ u tới trạng thái đích Chẳng hạn tốn tìm đường ngắn đồ giao thơng, ta xác định h(u) độ dài đường chim bay từ u tới đích Để tăng hiệu tìm kiếm, ta sử dụng hàm đánh giá mới: f(u) = g(u) + h(u) Tức là, f(u) đánh giá độ dài đường ngắn qua u từ trạng thái ban đầu tới trạng thái kết thúc Với trạng thái u Hàm h(u), g(u) f(u) gọi hàm đánh giá 86 Phương pháp tìm kiếm kinh nghiệm phương pháp tìm kiếm có sử dụng đến hàm đánh giá Trong trình tìm kiếm, bước ta chọn trạng thái trạng thái có nhiều hứa hẹn dẫn tới đích nhiều Q trình tìm kiếm khơng gian trạng thái có sử dụng hàm đánh giá bao gồm bước sau: • Biểu diễn thích hợp trạng thái tốn tử chuyển trạng thái • Xây dựng hàm đánh giá • Thiết kế chiến lược chọn trạng thái bước 4.3.3 Ưu nhược điểm phương pháp tìm kiếm tốt 4.3.3.1 Ưu điểm - Phương pháp tìm kiếm tốt tổ hợp ưu điểm phương pháp tìm kiếm rộng tìm kiếm sâu - Ưu điểm chủ yếu phương pháp tìm kiếm tốt dùng tri thức để dẫn dắt việc tìm kiếm.Tri thức giúp người ta đâu tốt cách tốt để tiến hành tìm lời giải - Tìm kiếm tốt tuân theo cách suy lý chuyên gia Do thấy rõ đường tìm kiếm rộng tìm kiếm sâu 4.3.3.2 Nhược điểm - Quá trình tìm kiếm xa khỏi lời giải Kỹ thuật xét phần không gian coi phần hứa hẹn 4.3.4 Giải thuật AT(Algorithm for Tree Search) Dữ liệu tương tự giải thuật tìm kiếm rơng sâu, sử dụng danh sách MO để lưu đỉnh xét Procedure BFS; {Best First Search} Begin Push(MO,n0); while MO null begin i := Pop(MO); 87 if i Goals then exit; for j  T(i) Push(MO,j); Sort(MO); {theo thứ tự hàm đánh giá} end; write(‘Khong co loi giai’); end; Thuật giải AT (Algorithm for Tree Search) Thuật giải AT phương pháp tìm kiếm theo kiểu BFS với độ tốt nút giá trị hàm g() – tổng chiều dài đường từ trạng thái bắt đầu đến trạng thái Thuật giải AT Đặt MO chứa trạng thái khởi đầu Cho đến tìm trạng thái đích khơng nút MO, thực hiện: 2.a Chọn trạng thái (Tmax) có giá trị g nhỏ MO (và xóa Tmax khỏi MO) 2.b Nếu Tmax trạng thái kết thúc 2.c Ngược lại, tạo trạng thái Tk có từ trạng thái Tmax Đối với trạng thái Tk thực hiện: g(Tk) = g(Tmax) + cost(Tmax, Tk); Thêm Tk vào MO 4.3.5 Các ví dụ Ví dụ Trong tốn tìm kiếm đường đồ giao thơng, ta lấy độ dài đường chim bay từ thành phố xét tới thành phố đích làm giá trị hàm đánh giá thành phố xét Ví dụ Bài tốn số Chúng ta đưa hai cách đánh giá u= Đích= 88 - Hàm h1: Với trạng thái u h1(u) số qn khơng nằm vị trí trạng thái đích Với ví dụ trên, ta có h1(u)=4 - Hàm h2: Gọi h2(u) là tổng khoảng cách vị trí quân trạng thái u vị trí trạng thái đích Ở đây, khoảng cách hiểu số lần dịch chuyển theo hàng cột để đưa quân vị trí tới trạng thái đích (Khoảng cách Manhattan) Với ví dụ trên, ta có:h2(u)=2+3+1+3= (vì qn cần dịch chuyển, quân cần dịch chuyển, quân cần dịch chuyển quân cần dịch chuyển) Nếu chọn h1(u), phương án chọn trạng thái có h1(u) nhỏ fu(aij) → fr(aij) 8 3 6 5 h=4 4.4 fd(aij) h=5 h=4 Tìm kiếm đường có giá thành cực tiểu - Thuật toán ATK (Algorithm for Knowlegeable Tree Search) Cho đồ thị G= (V, E) biểu diễn toán với đỉnh xuất phát n tập đích DICH xác định Với phép chuyển trạng thái ni→ni+1 tốn chi phí c(ni, ni+1 ) ký hiệu c(u) với u= (ni, ni+1)E c(u) ni Vấn đề: ni+1 89 n*  DICH cho c( p) =  c(u ) → Tìm đường p: n0 up Chẳng hạn tốn tìm đường đồ giao thơng, giá cung (i,j) độ dài đường nối thành phố i với thành phố j Độ dài đường xác định tổng độ dài cung đường Vấn đề đặt tìm đường ngắn từ trạng thái ban đầu đến trạng thái đích • Phương pháp giải Gọi g(n) giá đường cực tiểu từ đỉnh n0 đến n, tốn phát biểu sau: Tìm đường từ đỉnh n0 → nk  DICH cho: g (nk ) = g (n) / n  DICH  g ( n0 ) = Lúc đó, ta có: g (m) = g (n) + c(n, m) ( n , m )E Tại thời điểm, chọn đỉnh n MO để xét đỉnh có chi phí g(n) nhỏ đường từ đỉnh xuất phát đến đỉnh n Dùng danh sách MO, DONG • Thuật tốn ATK (Algorithm for Knowlegeable Tree Search) Input: Đồ thị G = (V,E), Đỉnh xuất phát n0 Hàm chi phí c: E → R+ c(i,j): xác định chi phí chuyển từ đỉnh i sang đỉnh j với (i,j)  E Tập đỉnh đích: DICH Output: Đường từ n0 đến n* DICH cho g(n*) = c(p) = min{g(n)| nDICH} Procedure ATK { Dùng g0(n) chi phí cực tiểu đường từ đỉnh xuất phát đến đỉnh n thời điểm xét xem hàm g} Begin g(n0):= 0; push(MO, n0); 90 While MOnull begin g (n) := g (m) mMO if nDICH then exit {xay dung duong di cuc tieu} push(DONG, n); if T(n) null then for mT(n) if mMO+DONG then begin push(MO,m); g(m):=g(n)+c(n,m); cha(m):=n; (Ghi lại Vết) end else if g(m) >g(n)+c(n,m) then begin g(m):=g(n)+c(n,m); cha(m):=n; end; end; writeln(‘Khong co duong di’); End; Ví dụ Bài tốn Tháp Hà Nội -với chi phí chuyển đĩa sau: Chi phí chuyển đĩa nhỏ cọc gần 1; Chi phí chuyển đĩa nhỏ cọc xa Chi phí chuyển đĩa vừa cọc gần 2; Chi phí chuyển đĩa vừa cọc xa Chi phí chuyển đĩa lớn cọc gần 4; Chi phí chuyển đĩa lớn cọc xa Xuất phát từ đỉnh (1,1,1), ta có g(1,1,1) = Khi xét đỉnh (1,1,1) ta có đỉnh kề chi phí tương ứng : 91 g(1,1,2) = 1; g(1,1,3) = 3; đỉnh (1,1,2) chọn Các đỉnh kề (1,1,2) có giá trị hàm g: g(1,1,3) = (ở giá đỉnh (1,1,3) tính lại); g(1,3,2) = 5; chọn đỉnh (1,1,3), ta lại tính tiếp giá trị hàm g đỉnh kề với đỉnh này: g(1,2,3) = 2; lại chọn đỉnh (1,2,3); chi phí đỉnh kề với nó: g(1,2,1) = + = 5; g(1,2,2) = + = 3; chọn đỉnh (1,2,2) g(1,2,1) = +1 = (được tính lại); g(3,2,2) = + = 11, chọn đỉnh (1,2,1) Cứ tiếp tục xét đỉnh (3,3,3) Ví dụ A n0=A DICH={F,K} B E F G C D H I K Có thể trình bày q trình tìm kiếm bảng Số ghi đỉnh giá trị g(n) tương ứng đỉnh n: ng(n) i T(i) MO DONG A0 A BCD B8 C4 D5 A C G B8 D5 G5 AC D HI B8 G5 H14 I6 ACD B8 H14 I6 ACDG G I K B8 H14 K8 ACDG B EF H14 K8 E10 F11 ACDGB K Lời giải toán A→ D → I → K chi phí đường tìm Ví dụ 92 n0 = A; DICH = {G} A B C E i T(i) D 4 F MO G DONG A0 A BCD B5 C3 D6 A C ABEFD B4 D6 E7 F11 (Tính lại B) AC B ACE D6 E7 F11 ACB D ACFG E7 F9 G15 E BCF F9 G15 F CDEG G14 (Tính lại F) ACBD ACBDE (Tính lại G) ACBDEF G Đường tìm p: A → D → F → G Chi phí đường 14 4.5.Tìm kiếm cực tiểu sử dụng hàm đánh giá - Thuật toán A* : Thuật toán A* thuật tốn sử dụng kỹ thuật tìm kiếm tốt với hàm đánh giá f(u) (Khái niệm tốt hàm đánh giá Heuristic định) Đối với việc tìm kiếm đường với chi phí cực tiểu, người ta sử dụng hàm đánh giá Heuristic sau: Gọi g(n): giá cực tiểu đường từ n0→n Tại đỉnh n, g(n) xác định Gọi h(n): giá cực tiểu đường từ n→DICH, h(n) không xác định  người ta tìm cách ước lượng giá trị Đặt f0(n)=g0(n)+h0(n): dự đốn chi phí cực tiểu đường từ n 0→DICH có qua đỉnh n g0(n) chi phí đường từ đỉnh xuất phát đến đỉnh n thời điểm xét h0(n) ước lưọng (dự đốn) chi phí đường từ đỉnh n đến đích Việc chọn 93 giá trị xấp xỉ h0(n) h(n) khơng có phương pháp tổng quát xem nghệ thuật Giá trị chuyên gia đưa Lúc giải thuật tìm kiếm cực tiểu thay việc xét hàm g hàm f Tuy nhiên, người ta chứng minh kết sau: Kết 1: Nếu h0(n) có tính chất:  h (n)  h(n) n c(u )  u  E thủ tục TKCT sử dụng hàm f0(n) để chọn phần tử MO xét (thay g(n)) cho g ( n) đường từ n0→n*DICH cho g (n* ) = nmin DICH Kết 2: Giả sử dùng hàm ước lượng h10 h20 thoả tính chất: h20 (m) − h20 (n)  h(m, n) (giá cực tiểu đường từ m→n) n  N ,  h10 (n)  h20 (n)  h(n) Khi #DONG2  #DONG1 Nhận xét: h  h  phương án tốt h   phương án tồi Thuật toán A* Input: Đồ thị G = (V,E), Đỉnh xuất phát n0 Hàm chi phí c: E → R+ c(i,j): xác định chi phí chuyển từ đỉnh i sang đỉnh j với (i,j)  E h: V → R+; h(n) xác định dự đốn chi phí tối ưu đường từ đỉnh n đến đích (ký hiệu h thay cho h0, (tương tự g)) Tập đỉnh đích: DICH Output: Đường từ đỉnh n0 đến đỉnh n* DICH Procedure A* ; Begin g(n0):= 0; push(MO, n0); While MOnull 94 begin f (n) := f (m) mMO if nDICH then exit {xay dung duong di cuc tieu} push(DONG, n); if T(n) null then for mT(n) if mMO+DONG then begin push(MO,m); tính f(m); cha(m):=n; end else if fmới(m) > fcũ(n) then begin f(m):= fmới(m); cha(m):=n; end; end; writeln(‘Khong co duong di’); End; Ví dụ Cho đồ thị biểu diễn toán giá trị dự đoán h0 sau: n A B C D E F G H h0(n) 14 10 10 5 4 A B D C 95 12 E F G H Tìm đường từ đỉnh A đến đỉnh H Trước tiên đỉnh A đưa vào danh sách MO g(A) = 0; h(A) = 14; f(A) = 14 Xét đỉnh A, (đưa A vào danh sách DONG) ta có đỉnh kề B, C, D: g(B) = 5; f(B) = 15; g(C) = 3; f(C) = 13; g(D) = 7; f(D) = 12→ chọn đỉnh D Xét đỉnh D (đưa D vào danh sách DONG) có đỉnh kề A, C, E Đỉnh A danh sách DONG, ta tính lại f(C) tính f(E): f(C) không thay đổi; f(E) = g(D) +c(D,E) + H(E) = + + = 18; f(E) = 18, chọn đỉnh C, có đỉnh kề A, D, E Tính lại f(E) = 12, chọn E Các đỉnh kề E C, D, F, G Tính f(F) = 14; f(G) = 16, chọn F Các đỉnh kề F E, G, B f(B), f(E), f(G) không đổi, chọn B Các đỉnh kề B F, H f(H) = 17, chọn G Tính lại f(H) = 15 dừng Đường tìm p: A → C → E → G → H với chi phí đường 15 4.6 Phương pháp tìm kiếm leo đồi (Hill-climbing search) 4.6.1 Kỹ thuật tìm kiếm leo đồi Tìm kiếm leo đồi = Tìm kiếm theo độ sâu + Hàm đánh giá Tìm kiếm leo đồi tìm kiếm theo độ sâu định hướng hàm đánh giá Song khác với tìm kiếm theo độ sâu, phát triển đỉnh u bước ta chọn số đỉnh (kề) u, đỉnh có hứa hẹn nhiều để phát triển, đỉnh xác định hàm đánh giá 4.6.2 Giải thuật Input: Đồ thị G = (V,E), đỉnh xuất phát n0 Hàm đánh giá h(n) đỉnh n 96 Tập đỉnh đích DICH Output: Đường từ đỉnh n0 đến DICH Procedure HCS; {Hill Climbing Search} begin Push(MO,n0); while MO null begin i = Pop(MO); if T(i)  DICH null then begin L:= null; for j  T(i) if j chưa xét then đưa j vào danh sách L xếp L theo thứ tự hàm đánh giá; chuyển danh sách L vào đầu danh sách MO; end; write (‘Khong co loi giai’); end; 4.6.3 Nhận xét Phương pháp tìm kiếm leo đồi trọng tìm hướng dễ dẫn đến trạng thái đích Cách đưa nhằm làm giảm cơng sức tìm kiếm Thuật tốn tìm kiếm leo đồi thực chất thuật tốn tìm kiếm theo chiều sâu, song bước ta ưu tiên chọn trạng thái có hứa hẹn nhanh tới đich để phát triển trước Thông thường ta gán trạng thái toán với số đo (hàm đánh giá) nhằm đánh giá mức độ gần đích Điều có nghĩa trạng thái thời u trạng thái v phát triển v kề với u hàm đanh giá v đạt giá trị max (hoặc min) 97 Tuy nhiên phương pháp không cải thiện so với phương pháp khác số trường hợp sau: • Cực trị địa phương: nút xét tốt nút lân cận, khơng phải phương án tốt tồn thể, ví phải quay lui nút trước để theo hướng khác • Cao nguyên phẳng: Các giá trị phương án nhau, không xác định hướng tốt vùng lân cận 4.6.4 Các ví dụ Ví dụ Bài tốn trò chơi số trạng thái đầu trạng thái đích Trong toán này, ta sử dụng hàm đánh giá h sau: h(u) số chữ số trạng thái u không trùng với vị trí trạng thái đích Trạng thái có tiềm dẫn đến đích nhanh (được ưu tiên phát triển trước) trạng thái có hàm đánh giá h đạt giá trị Trạng thái chọn tiếp hướng mũi tên Ở mức thấy có hai trạng thái giá trị hàm đánh giá (= 3) Đây trương hợp “cao nguyên băng phẳng” nhận xét trên, ta chọn phương án chắn trình tìm kiếm khác nhiều ( Bài tập dành cho Sinh viên) Minh hoạ tìm kiếm cho tốn theo giải thuật leo đồi sau : h(u) = h(u) = h(u) = 98 h(u) = h(u) = 3 h(u) = 3 h(u) = 2 h(u) = h(u) = 1 99 h(u) = TÀI LIỆU THAM KHẢO 1 Nguyễn Thanh Thuỷ, Trí tuệ nhân tạo - Các phương pháp giải vấn đề kỹ thuật xử lý tri thức, NXB GD, 1999 2 Bạch Hưng Khang, Hồng Kiếm, Trí tuệ nhân tạo - Các phương pháp ứng dụng, Nhà xuất Khoa học kỹ thuật, 1989 3 Đỗ Trung Tuấn, Trí tuệ nhân tạo, Nhà xuất giáo dục, 1998 [4] Bùi Xuân Toại, Trương Gia Việt (Biên dịch), Trí tuệnhân tạo - Các cấu trúc chiến lược giải vấn đề, NXB Thống kê, 2000 [5] Deepak Khemani, First Course in Artificial Intelligence, MC Graw-Hill Education, New Delhi, 2014 100 ... (Hill-climbing search) TRÍ TUỆ NHÂN TẠO TS Nguyễn Ngọc Thuần Chương TỔNG QUAN VỀ TRÍ TUỆ NHÂN TẠO (TTNT) 1.1 Các khái niệm 60 – 61 62 – 90 62 – 63 63 – 69 69 – 74 74 – 79 80 – 84 84 – 87 87 - 90 Trí. .. thuật Trí tuệ nhân tạo Có nhiều kỹ thuật nghiên cứu, phát triển Trí tuệ nhân tạo Tuy vậy, kỹ thuật Trí tuệ nhân tạo thường phức tạp thực cài đặt cụ thể, liên quan đến xử lý ký hiệu Các kỹ thuật Trí. .. đến Trí tuệ nhân tạo 1.5 Các khái niệm trí tuệ: Trí tuệ người (Human Intelligence): Có hai khái niệm trí tuệ người chấp nhận sử dụng nhiều nhất, là: • Khái niệm trí tuệ theo quan điểm Turing “Trí

Ngày đăng: 12/01/2023, 04:24

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

Tài liệu liên quan