giáo trình bộ môn trí tuệ nhân tạo
Mục lụcc lục lụcc Chương GIỚI THIỆU CHUNG VỀ TTNT 1.1 Trí tuệ nhân tạo 1.2 Vai trò TTNT ngành CNTT 1.3 Các ứng dụng 1.4 Lịch sử phát triển TTNT Giải vấn đề tìm kiếm Chương CÁC CHIẾN LƯỢC TÌM KIẾM MÙ 2.1 Biểu diễn vấn đề không gian trạng thái .4 2.2 Các chiến lược tìm kiếm 2.3 Các chiến lược tìm kiếm mù 2.3.1 Tìm kiếm theo bề rộng 2.3.2 Tìm kiếm theo độ sâu 10 2.3.3 Các trạng thái lặp 12 2.3.4 Tìm kiếm sâu lặp .13 2.4 Quy vấn đề vấn đề Tìm kiếm đồ thị và/hoặc 14 2.4.1 Quy vấn đề vấn đề con: 14 2.4.2 Đồ thị và/hoặc 16 2.4.3 Tìm kiếm đồ thị và/hoặc 19 Chương CÁC CHIẾN LƯỢC TÌM KIẾM KINH NGHIỆM 22 3.1 Hàm đánh giá tìm kiếm kinh nghiệm: 22 3.2 Tìm kiếm tốt - đầu tiên: 23 3.3 Tìm kiếm leo đồi: .25 3.4 Tìm kiếm beam 27 Chương CÁC CHIẾN LƯỢC TÌM KIẾM TỐI ƯU 29 4.1 Hàm đánh giá 29 4.2 Thuật toán A* 30 4.3 Thuật tốn tìm kiếm nhánh-và-cận 33 Chương 5.TÌM KIẾM CĨ ĐỐI THỦ 36 5.1 Cây trị chơi tìm kiếm trị chơi .36 5.2 Chiến lược Minimax 37 5.3 Phương pháp cắt cụt alpha - beta .41 Chương BIỂU DIỄN TRI THỨC BẰNG LOGIC 44 6.1 Ngôn ngữ biểu diễn tri thức 44 6.2 Logic mệnh đề .46 6.3 Logic vị từ cấp 57 Chương BIỂU DIỄN TRI THỨC BỞI CÁC LUẬT VÀ SUY DIỄN 77 7.1 Luật (rule) hệ dựa luật (rule-based systems) 77 7.2 Suy diễn hệ sản xuất 78 7.2.1 Suy diễn tiến .78 7.2.2 Suy diễn lùi .80 7.3 Các hệ hành động dựa luật (Rule - based reaction systems) .81 7.4 Hệ sản xuất đồ thị AND/OR 82 7.5 Thủ tục suy diễn tiến suy diễn lùi 85 7.5.1 Thủ tục suy diễn tiến : .85 7.5.2 Thủ tục suy diễn lùi 87 Chương LƯỚI NGỮ NGHĨA VÀ HỆ KHUNG 91 8.1 Thể tri thức nhờ mạng ngữ nghĩa .91 8.1.1Giới thiệu 91 8.1.2 Tính kế thừa mạng ngữ nghĩa 92 8.2 Thể tri thức thông qua khung 93 8.2.1.Giới thiệu 93 8.2.2 Thiết kế khung .93 8.2.3 Khung lớp 94 8.2.4 Tính kế thừa khung .95 8.2.5 Cấu trúc phân cấp 95 8.2.6.Các mặt dùng khung 96 8.2.7 Mặt IF-NEEDED 98 8.2.8 Mặt IF-CHANGE 98 TÀI LIỆU THAM KHẢO 99 Chương GIỚI THIỆU CHUNG VỀ TTNT 1.1 Trí tuệ nhân tạo Có nhiều quan điểm khác TTNT Mỗi quan điểm đứng góc độ tiếp cận cách ứng dụng TTNT vào sống Cho lên việc xây dựng định nghĩa TTNT khác Khi có nhiều định nghĩa khác TTNT Theo M.Misky: TTNT ngành khoa học nhằm mơ máy tính hành vi thơng minh người Đối với người xây dựng khai thác tri thức TTNT chuyên ngành thuộc công nghệ thông tin, nghiên cứu dựa khía cạnh: + Nghiên cứu chất hoạt động trí tuệ não người + Mơ hoạt động trí tuệ não người thiết bị máy Để giải tình thơng thường người thường phải trải qua loạt giai đoạn sau: + Thu nhận thông tin tình + Khả nhớ + Tổ chức thành tình + Xử lý tình + Đưa lời giải cho hành động 1.2 Vai trò TTNT ngành CNTT - Theo nghĩa TTNT tạo nên cách đơn giản để xây dựng lên cấu trúc chương trình định phức tạp đòi hỏi phải dựa tri thức định - Các chương trình TTNT hoạt động giống não người tức tích hợp tri thức mà khơng cần thay đổi lại cách làm việc Vì chương trình TTNT dễ dàng cải tiến so với chương trình truyền thống - Khi máy tính trang bị phần mềm TTNT kết hợp với mơi trường làm việc thí cho phép giải toán cỡ lớn phân tán - Một số phần mềm TTNT thể tính thích nghi mềm dẻo lớp toán thuộc nhiều lĩnh vực khác 1.3 Các ứng dụng - Tìm kiếm - Biểu diễn tri thức lập luận - Lập kế hoạch - Robotisc - Learning - Nhận dạng… 1.4 Lịch sử phát triển TTNT - Vào năm 30 Allen Turing có đưa lý thuyết loại chương trình lưu trữ nhớ sau thực sở phép toán thao tác với đại lượng “0” “1” - Năm 1956: chương trình dẫn xuất kết luận hệ hình thức cơng bố - Năm 1960: McCathy đưa ngôn ngữ lập trình cho TTNT LISP - Năm 1964: ELIZA xây dựng thành cơng MỸ có khả hoạt động chuyên gia phân tích tâm lý - Năm 1970: Có số nghiên cứu xử lý ngôn ngữ tự nhiên biểu diễn tri thức, lý thuyết giải vấn đề - Năm 1972: Ngôn ngữ Prolog đời - Năm 1981: Các nghiên cứu trí tuệ triển khai vào thực tế nhiều - Đầu năm 90 thị trường có sản phẩm dân dụng trí tuệ - Trong năm gần việc xây dựng hệ thống máy thông minh hướng nhiều cơng ty Càng ngày hệ thống trợ giúp người nhiều lĩnh vực thực hiên có mềm dẻo qua trình xử lý Giải vấn đề tìm kiếm Vấn đề tìm kiếm, cách tổng quát, hiểu tìm đối tợng thỏa mÃn số đòi hỏi đó, tập hợp rộng lớn đối tợng Chóng ta cã thĨ kĨ rÊt nhiỊu vÊn ®Ị mà việc giải đợc quy vấn đề tìm kiếm Các trò chơi, chẳng hạn cờ vua, cờ carô xem nh vấn đề tìm kiếm Trong số nhiều nớc đợc phép thực hiện, ta phải tìm nớc dẫn tới tình kết mà ta ngời thắng Chứng minh định lý xem nh vấn đề tìm kiếm Cho tập tiên đề luật suy diễn, trờng hợp mục tiêu ta tìm chứng minh (một dÃy luật suy diễn đợc áp dụng) để đợc đa đến công thức mà ta cần chứng minh Trong lĩnh vực nghiên cứu Trí Tuệ Nhân Tạo, thờng xuyên phải đối đầu với vấn đề tìm kiếm Đặc biệt lập kế hoạch học máy, tìm kiếm đóng vai trò quan trọng Trong phần nghiên cứu kỹ thuật tìm kiếm đợc áp dụng để giải vấn đề đợc ¸p dơng réng r·i c¸c lÜnh vùc nghiªn cøu khác Trí Tuệ Nhân Tạo Chúng ta lần lợt nghiên cứu kỹ thuật sau: Các kỹ thuật tìm kiếm mù, hiểu biết đối t ợng để hớng dẫn tìm kiếm mà đơn xem xét theo hệ thống tất đối tợng để phát đối tợng cần tìm Các kü tht t×m kiÕm kinh nghiƯm (t×m kiÕm heuristic) ®ã chóng ta dùa vµo kinh nghiƯm vµ sù hiĨu biết vấn đề cần giải để xây dựng nên hàm đánh giá hớng dẫn tìm kiếm Các kỹ thuật tìm kiếm tối u Các phơng pháp tìm kiếm có đối thủ, tức chiến lợc tìm kiếm nớc trò chơi hai ngời, chẳng hạn cờ vua, cờ tớng, cê car« Chương CÁC CHIẾN LƯỢC TÌM KIẾM MÙ Trong chương này, nghiên cứu chiến lược tìm kiếm mù (blind search): tìm kiếm theo bề rộng (breadth-first search) tìm kiếm theo độ sâu (depth-first search) Hiệu phương pháp tìm kiếm đánh giá 2.1 Biểu diễn vấn đề không gian trạng thái Một muốn giải vấn đề tìm kiếm, ta phải xác định khơng gian tìm kiếm Khơng gian tìm kiếm bao gồm tất đối tượng mà ta cần quan tâm tìm kiếm Nó khơng gian liên tục, chẳng hạn khơng gian véctơ thực n chiều; không gian đối tượng rời rạc Trong mục ta xét việc biểu diễn vấn đề không gian trạng thái cho việc giải vấn đề quy việc tìm kiếm khơng gian trạng thái Một phạm vi rộng lớn vấn đề, đặc biệt câu đố, trị chơi, mô tả cách sử dụng khái niệm trạng thái toán tử (phép biến đổi trạng thái) Chẳng hạn, khách du lịch có tay đồ mạng lưới giao thông nối thành phố vùng lãnh thổ (hình 1.1), du khách thành phố A muốn tìm đường tới thăm thành phố B Trong toán này, thành phố có đồ trạng thái, thành phố A trạng thái ban đầu, B trạng thái kết thúc Khi thành phố, chẳng hạn thành phố D theo đường để nối tới thành phố C, F G Các đường nối thành phố biểu diễn toán tử Một toán tử biến đổi trạng thái thành trạng thái khác Chẳng hạn, trạng thái D có ba tốn tử dẫn trạng thái D tới trạng thái C, F G Vấn đề du khách tìm dãy tốn tử để đưa trạng thái ban đầu A tới trạng thái kết thúc B Một ví dụ khác, trị chơi cờ vua, cách bố trí quân bàn cờ trạng thái Trạng thái ban đầu xếp quân lúc bắt đầu chơi Mỗi nước hợp lệ tốn tử, biến đổi cảnh bàn cờ thành cảnh khác Như muốn biểu diễn vấn đề không gian trạng thái, ta cần xác định yếu tố sau: Trạng thái ban đầu Một tập hợp tốn tử Trong tốn tử mô tả hành động phép biến đổi đưa trạng thái tới trạng thái khác Tập hợp tất trạng thái đạt tới từ trạng thái ban đầu cách áp dụng dãy tốn tử, lập thành khơng gian trạng thái vấn đề Ta ký hiệu không gian trạng thái U, trạng thái ban đầu u (u0 U) Mỗi tốn tử R xem ánh xạ R: UU Nói chung R ánh xạ không xác định khắp nơi U Một tập hợp T trạng thái kết thúc (trạng thái đích) T tập không gian U Trong vấn đề du khách trên, có trạng thái đích, thành phố B Nhưng nhiều vấn đề (chẳng hạn loại cờ) có nhiều trạng thái đích ta khơng thể xác định trước trạng thái đích Nói chung phần lớn vấn đề hay, ta mơ tả trạng thái đích trạng thái thỏa mãn số điều kiện Khi biểu diễn vấn đề thơng qua trạng thái tốn tử, việc tìm nghiệm tốn quy việc tìm đường từ trạng thái ban đầu tới trạng thái đích (Một đường khơng gian trạng thái dãy toán tử dẫn trạng thái tới trạng thái khác) Chúng ta biểu diễn không gian trạng thái đồ thị định hướng, đỉnh đồ thị tương ứng với trạng thái Nếu có tốn tử R biến đổi trạng thái u thành trạng thái v, có cung gán nhãn R từ đỉnh u tới đỉnh v Khi đường khơng gian trạng thái đường đồ thị Sau xét số ví dụ không gian trạng thái xây dựng cho số vấn đề Ví dụ 1: Bài tốn số Chúng ta có bảng 3x3 tám qn mang số hiệu từ đến xếp vào tám ô, cịn lại trống, chẳng hạn hình bên trái Trong trị chơi này, bạn chuyển dịch quân cạch ô trống tới ô trống Vấn đề bạn tìm dãy chuyển dịch để biến đổi cảnh ban đầu thành cảnh xác định đó, chẳng hạn cảnh hình Trong tốn này, trạng thái ban đầu cảnh bên trái hình 1.2, cịn trạng thái kết thúc bên phải hình 1.2 Tương ứng với quy tắc chuyển dịch qn, ta có bốn tốn tử: up (đẩy qn lên trên), down (đẩy quân xuống dưới), left (đẩy quân sang trái), right (đẩy quân sang phải) Rõ ràng là, toán tử toán tử phận; chẳng hạn, từ trạng thái ban đầu (hình 1.2 bên trái), ta áp dụng tốn tử down, left, right Trong ví dụ việc tìm biểu diễn thích hợp để mơ tả trạng thái vấn đề dễ dàng tự nhiên Song nhiều vấn đề việc tìm hiểu biểu diễn thích hợp cho trạng thái vấn đề hồn tồn khơng đơn giản Việc tìm dạng biểu diễn tốt cho trạng thái đóng vai trị quan trọng q trình giải vấn đề Có thể nói rằng, ta tìm dạng biểu diễn tốt cho trạng thái vấn đề, vấn đề giải Ví dụ 2: Vấn đề triệu phú kẻ cướp Có ba nhà triệu phú ba tên cướp bên bờ tả ngạn sông, thuyền chở hai người Hãy tìm cách đưa người qua sơng cho không để lại bên bờ sông kẻ cướp nhiều triệu phú Đương nhiên toán này, toán tử tương ứng với hành động chở người qua sông Nhưng ta cần lưu ý rằng, hành động xẩy (lúc thuyền bơi qua sơng) bên bờ sơng thuyền vừa dời chỗ, số kẻ cướp không nhiều số triệu phú Tiếp theo ta cần định trạng thái vấn đề ta không cần phân biệt nhà triệu phú tên cướp, mà số lượng họ bên bờ sông quan trọng Để biểu diễn trạng thái, ta sử dụng ba (a, b, k), a số triệu phú, b số kẻ cướp bên bờ tả ngạn vào thời điểm mà thuyền bờ bờ kia, k = thuyền bờ tả ngạn k = thuyền bờ hữu ngạn Như vậy, không gian trạng thái cho toán triệu phú kẻ cướp xác định sau: Trạng thái ban đầu (3, 3, 1) Các tốn tử Có năm toán tử tương ứng với hành động thuyền chở qua sông triệu phú, kẻ cướp, triệu phú, kẻ cướp, triệu phú kẻ cướp Trạng thái kết thúc (0, 0, 0) 2.2 Các chiến lược tìm kiếm Như ta thấy mục 1.1, để giải vấn đề tìm kiếm khơng gian trạng thái, ta cần tìm dạng thích hợp mơ tả trạng thái cảu vấn đề Sau cần xác định: Trạng thái ban đầu Tập toán tử Tập T trạng thái kết thúc (T khơng xác định cụ thể gồm trạng thái mà định số điều kiện đó) Giả sử u trạng thái R tốn tử biến đổi u thành v Ta gọi v trạng thái kề u, v sinh từ trạng thái u tốn tử R Q trình áp dụng toán tử để sinh trạng thái kề u gọi phát triển trạng thái u Chẳng hạn, toán toán số, phát triển trạng thái ban đầu (hình bên trái), ta nhận ba trạng thái kề Khi biểu diễn vấn đề cần giải thông qua trạng thái tốn tử việc tìm lời giải vấn đề quy việc tìm đường từ trạng thái ban đầu tới trạng thái kết thúc Có thể phân chiến lược tìm kiếm thành hai loại: Các chiến lược tìm kiếm mù Trong chiến lược tìm kiếm này, khơng có hướng dẫn cho tìm kiếm, mà ta phát triển trạng thái ban đầu gặp trạng thái đích Có hai kỹ thuật tìm kiếm mù, tìm kiếm theo bề rộng tìm kiếm theo độ sâu Tư tưởng tìm kiếm theo bề rộng trạng thái phát triển theo thứ tự mà chúng sinh ra, tức trạng thái sinh trước phát triển trước Trong nhiều vấn đề, dù phát triển trạng thái theo hệ thống (theo bề rộng theo độ sâu) số lượng trạng thái sinh trước ta gặp trạng thái đích thường lớn Do thuật tốn tìm kiếm mù hiệu quả, địi hỏi nhiều khơng gian thời gian Trong thực tế, nhiều vấn đề giải tìm kiếm mù Tìm kiếm kinh nghiệm (tìm kiếm heuristic) Trong nhiều vấn đề, dựa vào hiểu biết vấn đề, dựa vào kinh nghiệm, trực giác, để đánh giá trạng thái Sử dụng đánh giá trạng thái để hướng dẫn tìm kiếm: trình phát triển trạng thái, ta chọn số trạng thái chờ phát triển, trạng thái đánh giá tốt để phát triển Do tốc độ tìm kiếm nhanh Các phương pháp tìm kiếm dựa vào đánh giá trạng thái để hướng dẫn tìm kiếm gọi chung phương pháp tìm kiếm kinh nghiệm Như chiến lược tìm kiếm xác định chiến lược chọn trạng thái để phát triển bước Trong tìm kiếm mù, ta chọn trạng thái để phát triển theo thứ tự mà sinh ra; tìm kiếm kinh nghiệm ta chọn trạng thái dựa vào đánh giá trạng thái Cây tìm kiếm Chúng ta nghĩ đến q trình tìm kiếm trình xây dựng tìm kiếm Cây tìm kiếm mà đỉnh gắn trạng thái khơng gian trạng thái Gốc tìm kiếm tương ứng với trạng thái ban đầu Nếu đỉnh ứng với trạng thái u, đỉnh ứng với trạng thái v kề u Hình sau đồ thị ... thuộc công nghệ thông tin, nghiên cứu dựa khía cạnh: + Nghiên cứu chất hoạt động trí tuệ não người + Mơ hoạt động trí tuệ não người thiết bị máy Để giải tình thông thường người thường phải trải qua... 1972: Ngôn ngữ Prolog đời - Năm 1981: Các nghiên cứu trí tuệ triển khai vào thực tế nhiều - Đầu năm 90 thị trường có sản phẩm dân dụng trí tuệ - Trong năm gần việc xây dựng hệ thống máy thông...Mục lụcc lục lụcc Chương GIỚI THIỆU CHUNG VỀ TTNT 1.1 Trí tuệ nhân tạo 1.2 Vai trò TTNT ngành CNTT 1.3 Các ứng dụng 1.4 Lịch