Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 35 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
35
Dung lượng
474,81 KB
Nội dung
Giáo trình TRÍ TUỆ NHÂN TẠO ARTIFICIAL INTELLIGENCE Phạm Thọ Hồn, Phạm Thị Anh Lê Khoa Cơng nghệ thơng tin Trường Đại học Sư phạm Hà Nội Hà nội, 2011 MỤC LỤC Chương – Giới thiệu .4 1. Trí tuệ nhân tạo gì? 4 2. Lịch sử 5 3. Các lĩnh vực AI 6 4. Nội dung môn học 8 Chương – Các phương pháp tìm kiếm lời giải .9 1. Hình thành tốn 9 2. Tìm kiếm có hệ thống 12 3. Tìm kiếm có sử dụng hàm đánh giá 14 Chương – Các giải thuật tìm kiếm lời giải cho trò chơi .26 1. Cây trò chơi đầy đủ 26 2. Giải thuật Minimax 28 3. Giải thuật Minimax với độ sâu hạn chế 30 4. Hàm đánh giá 30 5. Giải thuật Minimax với cắt tỉa alpha-beta 33 Chương – Các phương pháp lập luận logic mệnh đề Error! Bookmark not defined. 1. Lập luận Logic .Error! Bookmark not defined. 2. Logic mệnh đề: cú pháp, ngữ nghĩa Error! Bookmark not defined. 3. Bài toán lập luận giải thuật lập luận logic mệnh đề Error! Bookmark not defined. 4. Câu dạng chuẩn hội luật hợp giải Error! Bookmark not defined. 5. Câu dạng Horn tam đoạn luận Error! Bookmark not defined. 6. Thuật toán suy diễn dựa bảng giá trị chân lý .Error! Bookmark not defined. 7. Thuật toán suy diễn dựa luật hợp giải Error! Bookmark not defined. 8. Thuật toán suy diễn tiến, lùi dựa câu Horn Error! Bookmark not defined. Chương – Các phương pháp lập luận logic cấp Error! Bookmark not defined. 1. Cú pháp – ngữ nghĩa Error! Bookmark not defined. 2. Phép hợp Error! Bookmark not defined. 3. Tam đoạn luận logic cấp 1, câu dạng Horn .Error! Bookmark not defined. 4. Thuật toán suy diễn tiến dựa câu Horn Error! Bookmark not defined. 5. Thuật toán suy diễn lùi dựa câu Horn Error! Bookmark not defined. 6. Thuật toán suy diễn hợp giải .Error! Bookmark not defined. Chương – Prolog Error! Bookmark not defined. Chương – Lập luận với tri thức không chắn Error! Bookmark not defined. Chương – Học mạng nơron nhân tạo Error! Bookmark not defined. Chương – Giới thiệu Trí tuệ nhân tạo gì? Để 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) Các máy bay nay, thấy, có sức trở lớn bay qng đường vịng quanh giới Nó khơng thiết phải có ngun lý bay chim bay chim (dáng vẻ), tốt chim 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 lồ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 khơng phải tất lĩnh vực) Đó hệ thống thơng minh Có nhiều cách tiếp cận để làm trí thơng minh máy (hay trí tuệ nhân tạo), chẳng hạn nghiên cứu cách não người sản sinh trí thơng minh loài người ta bắt chước nguyên lý đó, có cách khác sử dụng nguyên lý hoàn toàn khác với cách sản sinh trí thơng minh lồi người mà làm máy thông minh người; giống máy bay bay tốt chim có chế bay khơng phải giống chế bay chim 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 khơng phải dựa ngun 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 xun 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 Trong mơn học này, tìm 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, v.v 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 đề xt 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 Các lĩnh vực ứng dụng AI - Bài toán lập luận, suy diễn 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) ngược lại (ngơn ngữ đơn giản, có tính biểu đạt thấp thuật tốn lập luận có hiệu cao) Do đó, thách thức lớn lĩnh vực AI xây dựng ngôn ngữ biểu diễn tri thức mà cân hai yếu tố này, tức ngơn ngữ có tính biểu đạt đủ tốt (tùy theo ứng dụng) lập luận hiệu - Lập kế hoạch: khả suy mục đích cần đạt nhiệm vụ đưa ra, xác định dãy hành động cần thực để đạt mục đích - Học máy: lĩnh vực nghiên cứu AI phát triển mạnh mẽ có nhiều ứng dụng lĩnh vực khác khai phá liệu, khám phá tri thức,… - Xử lý ngôn ngữ tự nhiên: nhánh AI, tập trung vào ứng dụng ngôn ngữ người Các ứng dụng nhận dạng tiếng nói, nhận dạng chữ viết, dịch tự động, tìm kiếm thông tin,… - Hệ chuyên gia: cung cấp hệ thống có khả suy luận để đưa kết luận Các hệ chuyên gia có khả xử lý lượng thông tin lớn cung cấp kết luận dựa thơng tin Có nhiều hệ chuyên gia tiếng hệ chuyên gia y học MYCIN, đoán nhận cấu trúc phân tử từ cơng thức hóa học DENDRAL, … - Robotics - … Nội dung mơn học Giáo trình viết với nội dung nhập môn AI cho sinh viên chuyên ngành Tin học Công nghệ thơng tin Các tác giả có tham khảo số tài liệu, giáo trình trường Đại học Quốc gia Hà nội, Đại học Bách khoa Hà nội, … Nội dung gồm phần sau: - Chương Giới thiệu: trình bày tổng quan AI, lịch sử đời phát triển lính vực ứng dụng AI - Chương Các phương pháp tìm kiếm lời giải: trình bày kỹ thuật tìm kiếm áp dụng để giải vấn đề áp dụng rộng rãi lĩnh vực trí tuệ nhân tạo - Chương Các giải thuật tìm kiếm lời giải cho trị chơi: trình bày số kỹ thuật tìm kiếm trị chơi có đối thủ - Chương Các phương pháp lập luận logic mệnh đề: trình bày cú pháp, ngữ nghĩa logic mệnh đề số thuật toán lập luận logic mệnh đề - Chương Các phương pháp lập luận logic vị từ cấp một: trình bày cú pháp, ngữ nghĩa logic vị từ cấp số thuật toán lập luận logic vị từ cấp - Chương Prolog: Giới thiệu chung ngôn ngữ Prolog, cú pháp, ngữ nghĩa cấu trúc chương trình Prolog, số phiên Prolog SWI Prolog,… - Chương Lập luận với tri thức không chắn: Giới thiệu tri thức không chắn số cách tiếp cận biểu diễn xử lý tri thức không chắn - Chương Học mạng noron nhân tạo: Giới thiệu phương pháp kỹ thuật lập luận sử dụng mạng noron nhân tạo Chương – Các phương pháp tìm kiếm lời giải Một lớp nhiệm vụ mà máy tính (với phần mềm trí tuệ nhân tạo phù hợp) thực tốt người nhờ vào tốc độ thực CPU nhớ dung lượng lớn tìm kiếm lời giải khơng gian (hữu hạn vô hạn) lời giải tiềm toán cụ thể Một lời giải tiềm đường khơng gian đồ thị trạng thái toán trạng thái toán Với tốc độ xử lý nhanh, máy tính cần sinh duyệt lời giải tiềm (cây tìm kiếm) cách có hệ thống (tìm kiếm mù, tìm kiếm theo chiều rộng theo chiều sâu) kiểm tra có lời giải thực (tối ưu) toán cho khơng Trong nhiều trường hợp, máy tính sử dụng hàm đánh giá/định hướng (hàm heuristic) để hạn chế khơng sinh phần tìm kiếm mà khả không chứa lời giải thực Rất nhiều toán từ đơn giản đến phức tạp giải phương pháp tìm kiếm đơn giản trên, toán chơi cờ, tốn tìm đường đồ thị, toán duyệt tổ hợp, chỉnh hợp, v.v Các tốn có đặc trưng biểu diễn thành tố sinh không gian lời giải tiềm toán: trạng thái đầu, trạng thái đích, thao tác chuyển trạng thái, chi phí phép chuyển trạng thái Với tốn này, rõ ràng máy tính có khả giải tốt người 2.1 Hình thành tốn Trong thực tế, nhiều tốn đưa tốn tìm kiếm Chẳng hạn, muốn tìm nghiệm phương trình, ta tìm giá trị biến số miền xác định mà thay vào phương trình thỏa mãn; với tốn chứng minh, ta tìm dãy lập luận cho xuất phát từ giả thiết đến kết luận; muốn từ Hà nội đến Sài gòn, người ta phải tra cứu đồ để tìm thành phố mà theo đến Sài gịn xuất phát từ Hà nội Bài tốn tìm kiếm xác định khơng gian tìm kiếm (miền) đối tượng mà thỏa mãn điều kiện đặt Trong lĩnh vực AI, nghiên cứu hành trình agent thơng minh Cơ sở toán là: trạng thái đầu (trạng thái xuất phát), hành động biến đổi trạng thái trạng thái kết thúc (trạng thái đích) Vấn đề đặt xác định dãy trạng thái hợp lý để cho từ trạng thái xuất phát đến trạng thái đích Khơng gian trạng thái: tập trạng thái đạt cách thực chuỗi hành động xuất phát từ trạng thái ban đầu Một hành trình khơng gian trạng thái thực dãy hành động từ trạng thái đến trạng thái khác Giải toán : xác định trạng thái xuất phát, tìm dãy hành động phép biến đổi (toán tử) trạng thái cho từ trạng thái xuất phát dẫn đến trạng thái đích Với tốn, có nhiều cách giải, đó, người ta ln mong muốn tìm lời giải “tốt nhất” dựa vào việc tình chi phí thực Hàm chi phí: Giá trị đánh giá chi phí thực biến đổi trạng thái Hiệu việc tìm kiếm thể qua việc đánh giá: - Việc tìm kiếm có kết thúc khơng? - Có tìm thấy lời giải tốn khơng? - Có tìm lời giải tối ưu khơng? Để thực tìm kiếm, trước hết phải tìm cách biểu diễn tốn 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 (có thể khơng gian liên tục, không gian đối tượng rời rạc, không gian vecto,…) Khơng gian tìm kiếm thể khơng gian trạng thái Việc biểu diễn tốn không gian trạng thái, cần xác định yếu tố sau: - Trạng thái xuất phát - Tập hợp toán tử - Tập hợp trạng thái kết thúc (trạng thái đích) Trong đó, hàm h(u) gọi chấp nhận (đánh giá thấp) với trạng thái u, h(u) eval(v) ta khơng cần xuống để đánh giá đỉnh a mà khơng ảnh hưởng đến đánh giá đỉnh c Hay nói cách khác, ta cắt bỏ gốc a Lập luận tương tự cho trường hợp a đỉnh Đen, trường hợp eval(u)= β then exit}; /*cắt bỏ từ đỉnh v lại */ MaxVal(u, α, β) ← α end; ... Học mạng nơron nhân tạo Error! Bookmark not defined. Chương – Giới thiệu Trí tuệ nhân tạo gì? Để 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),... có ngun lý bay chim bay chim (dáng vẻ), tốt chim 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... noron nhân tạo: Giới thiệu phương pháp kỹ thuật lập luận sử dụng mạng noron nhân tạo Chương – Các phương pháp tìm kiếm lời giải Một lớp nhiệm vụ mà máy tính (với phần mềm trí tuệ nhân tạo phù