Bookmark not defined!. Error.[r]
(1)Giáo trình
TRÍ TUỆ NHÂN TẠO
ARTIFICIAL INTELLIGENCE
Phạm Thọ Hoàn, Phạm Thị Anh Lê Khoa Công nghệ thông tin
Trường Đại học Sư phạm Hà Nội
(2)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.
(3)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.
(4)Chương – Giới thiệu
1. 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ửđầu tiên đờ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
được 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
được 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
(5)thế ta bắt chước nguyên lý đó, có cách khác sử dụng ngun lý hồn tồ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 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
hoặc 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ể hiện 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 quảđạ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
2. Lịch sử
(6)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ỹ
năng 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
được á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
3. Các lĩnh vực ứng dụng của AI
- Bài toán lập luận, suy diễn
(7)- 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 quả thuật tốn lập luậntrê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 tố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 nhưđố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ệ
(8)- Robotics
- …
4. 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 1.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
bản á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
(9)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) tố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, tố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 tố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 toá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 toán chứng minh, ta tìm dãy lập luận cho xuất phát từ giả thiết có thểđi đế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
(10)Trong lĩnh vực AI, nghiên cứu hành trình agent thông minh Cơ sở
của 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 có thểđến trạng thái đích
Khơng gian trạng thái: tập trạng thái có thểđạ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ử