Bài giảng Trí tuệ nhân tạo - Bài 1: Tổng quan về trí tuệ nhân tạo - Văn Thế Thành

Mục đích của trí tuệ nhân tạo: Theo Winton: mục đích chính của trí tuệ nhân tạo là làm cho các máy tính điện tử thông minh hơn, có ích hơn và giúp khám phá các quy luật về khả năng hoạt động trí tuệ của con người. Từ đây sẽ tác động trực tiếp làm cho con người thông minh hơn, hoạt động có hiệu quả hơn. Mô hình “củ hành”: Vai trò trí tuệ nhân tạo: Các định nghĩa Trí tuệ nhân tạo: trí tuệ nhân tạo có thể được định nghĩa như một hệ thống máy móc có khả năng thực hiện những hành động của con người được xem là thông minh. Thông minh: sự nghiên cứu, sự thu thập thông tin tiêu biểu như: cố gắng học những ý tưởng xử lý của bộ não con người, bao gồm cả việc nghiên cứu sự vật có ý tưởng, có ý nghĩa, có sự chú ý, nhận dạng, hiểu vấn đề và sáng tạo ra vấn đề.

pdf26 trang | Chia sẻ: candy98 | Lượt xem: 518 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Trí tuệ nhân tạo - Bài 1: Tổng quan về trí tuệ nhân tạo - Văn Thế Thành, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
11 2 Mục đích của trí tuệ nhân tạo: Theo Winton: mục đích chính của trí tuệ nhân tạo là làm cho các máy tính điện tử thông minh hơn, có ích hơn và giúp khám phá các quy luật về khả năng hoạt động trí tuệ của con người. Từ đây sẽ tác động trực tiếp làm cho con người thông minh hơn, hoạt động có hiệu quả hơn. 23 G ia û i qu y e át v a án ñeà R o b o t G a m e s N h aä n da ï ng H e ä c h u y e ân g i a Heuristic Bieåu dieãn tri thöùc Laäp luaän Coâng cuï thöïc hieän Maùy: Newral Ngoân ngöõ: Prolog Mô hình “củ hành”: 4 Intelligence System Knowledge Engineering (Coâng ngheä veà tri thöùc) Artificial Intelligence (Trí tueä nhaân taïo) ÖÙng duïng Kyõ thuaät Khoa hoïc Vai trò trí tuệ nhân tạo: 35 Các định nghĩa Trí tuệ nhân tạo: trí tuệ nhân tạo có thể được định nghĩa như một hệ thống máy móc có khả năng thực hiện những hành động của con người được xem là thông minh. Thông minh: sự nghiên cứu, sự thu thập thông tin tiêu biểu như: cố gắng học những ý tưởng xử lý của bộ não con người, bao gồm cả việc nghiên cứu sự vật có ý tưởng, có ý nghĩa, có sự chú ý, nhận dạng, hiểu vấn đề và sáng tạo ra vấn đề. 6 Ghi Nhôù Tính Toaùn Tìm Kieám Suy Luaän Maùy tính hieän nay chæ môùi laøm ñöôïc phaàn naøy Nhân tạo: Có nghĩa là cố gắng sử dụng máy tính để xây dựng những hệ thống nhân tạo bắt chước đặc tính của việc thu thập thông tin một cách thông minh. Các định nghĩa (tt) 47 DỮ LIỆU = Chữ cái, con số, hình ảnh riêng rẽ, rời rạc, không mang một ý nghĩa nào. THÔNG TIN = Các dữ liệu được sắp xếp theo một quan hệ nào đó. TRI THỨC = mối quan hệ giữa các dữ liệu được xác định một cách tường minh. 8 VÍ DỤ : DỮ LIỆU : 1, 1, 3, 5, 2, 7, 11, ... THÔNG TIN : 1, 1, 2, 3, 5, 8, 13, 21, 34, .... TRI THỨC : Un = Un-1 + Un-2. 59 DỮ LIỆU THÔNG TIN TRI THỨC Đ ộ tr ừ u tư ợ n g Số lư ợ n g 10 Một số thuật toán: 1. Phương pháp giải quyết vấn đề theo hướng xác định trực tiếp lời giải: Áp dụng một công thức cụ thể để tính ra lời giải trong mọi trường hợp được sử dụng. Đây là phương pháp tốt nhất (theo nghĩa các công thức tìm ra và được chứng minh sẽ cho lời giải trong mọi trường hợp.) và hữu hiệu nhất. Ví dụ: Lập chương trình tính S = 1 + 2 + 3 + + n (n ∈ N) Write(‘Nhập n=‘); Readln(n); Write(‘ S = ‘, n*(n-1)/2); 611 Một số thuật toán (tt) 2. Phương pháp “Vét cạn”: Giả sử chúng ta giải bài toán P trên miền D, ∀x∈D Bước 1: ∀x∈D, P(x) đúng: in kết quả và dừng (success). Bước 2: D := D \ {x}: Loại trường hợp này nếu sai. Bước 3: Kiểm tra D ≠ {} + Đúng : Goto bước 1. + Sai: Dừng (fail). Lưu ý: Đối với phương pháp này, việc giới hạn D càng nhỏ giải càng nhanh. Ví dụ: Tìm các số có ba chữ số thỏa: abc=a3 +b3 +c3 Ta có D: 1 ≤ a ≤ 9 0 ≤ b, c ≤ 9 For a := 1 To 9 Do For b := 0 To 9 Do For c:=1 To 9 Do If (100*a+10*b+c = a*a*a + b*b*b + c*c*c) then Writeln(a,b,c); 12 Một số thuật toán (tt) 3. Phương pháp đệ qui: Định nghĩa kiểu đệ qui: Ví dụ: Định nghĩa số tự nhiên: 1 là số tự nhiên n là số tự nhiên thì (n-1) cũng là số tự nhiên. Hàm đệ qui: Hàm f được gọi là đệ qui nếu: f(x) = f(x, f(x’)) 713 Một số thuật toán (tt) 4. Phương pháp ngẫu nhiên (phương pháp Monte – Carlo): Bài toán: Tính diện tích của hình M bất kỳ. + Có thể bao hình M nội tiếp trong một hình vuông có cạnh là 1 đơn vị. + Phát ngẫu nhiên N điểm vào trong hình vuông. + Có N m điểm nằm trong hình M. 14 Một số thuật toán (tt) Với n đủ lớn, diện tích (xấp xỉ) hình M được tính như sau: MhìnhS vuoâng hình M hìnhM S S N N =≈ 815 Một số thuật toán (tt) 2 0 R S =pi⇒ x(x0,y0) O x y Ví dụ: Tính pi: diện tích hình tròn S0 = piR2 với R = 1/2 ⇒ pi = 4S0 16 Một số thuật toán (tt) Function Pi:Real; Var m, i : Integer; x, y : Real; Begin m := 0; For i := 1 To N Do {Phát ngẫu nhiên N điểm} Begin x := random; {x ∈ (0,1)} y := random; {y ∈ (0,1)} If (x2 + y2) ≤ 1 Then m := m + 1; End; Pi := 4*m/N; End; 917 Các tính chất của một thuật toán: Khi xây dựng một thuật toán và chương trình tương ứng để giải một bài toán cần phải phân tích: + Tính đúng đắn của thuật toán: phải dùng công cụ toán học để chứng minh là đúng. + Tính đơn giản của thuật toán: dễ hiểu, dễ lập trình, dễ hiệu chỉnh. + Tính tối ưu của thuật toán (nếu có nhiều thuật toán). 18 Các tính chất của một thuật toán: Lưu ý: Thời gian và bộ nhớ là 2 đại lượng tỷ lệ nghịch, nên nhiều khi tính càng đơn giản càng làm chậm chương trình. Thời gian thực hiện một thuật toán phụ thuộc rất nhiều yếu tố: + Kích thước của dữ liệu. + Kiểu lệnh + Tốc độ xử lý của máy. + Ngôn ngữ lập trình. + Trình biên dịch. 10 19 Kỹ thuật tìm kiếm Một số bài toán Bài toán mê cung: 20 Kỹ thuật tìm kiếm (tt)  Cực tiểu hóa giá thành: Người đưa thư cần xác định hành trình đi ngắn nhất sao cho mỗi thành phố đi đến đúng một lần và quay về thành phố xuất phát.  Trò chơi: Tic-tac-toe (cờ caro).  Bài toán tô màu:  Cho một bản đồ, tô màu cho mỗi nước trên bản đồ sao cho hai nước láng giềng (có chung đường biên giới) có hai màu khác nhau. Vấn đề : số màu cần dùng tối đa là bao nhiêu?  1976 người ta đã dùng máy tính để chứng minh được là chỉ cần dùng tối đa là 4 màu. 11 21 Kỹ thuật tìm kiếm (tt) Bài toán taci: 22 Biểu diễn bài toán: Giaû thuyeát Keát luaän S0 → S1 → S2 → → Sn START GOAL Traïng thaùi baét ñaàu Traïng thaùi keát thuùc 12 23 Biểu diễn bài toán (tt)  Hầu hết các bài toán đều có thể phát biểu dưới dạng sau: từ một trạng thái xuất phát hãy tìm đường dẫn đến một trạng thái kết thúc mong muốn. Việc tìm đường đi này là một nghệ thuật để giải quyết vấn đề, bao gồm các bước sau:  Chọn được không gian tìm kiếm thích hợp.  Tiến hành tìm kiếm có hệ thống và có hiệu quả trong không gian tìm kiếm.  Sử dụng triệt để các nguồn tri thức có liên quan trong quá trình tìm kiếm tương ứng với miền đại lượng cụ thể. 24 Biểu diễn bài toán (tt)  Không gian tìm kiếm của một vấn đề giải trên máy tính thường được biểu diễn bởi một đồ thị hoặc một dạng đặc biệt của đồ thị (cây). Sau khi bài toán được biểu diễn dưới dạng đồ thị (hoặc cây) thì: 1. Mỗi đỉnh là một giai đoạn của quá trình giải (hay là trạng thái). 2. Mỗi cung là một tác động biến đổi quá trình từ giai đoạn này sang giai đoạn khác. 13 25 Biểu diễn bài toán (tt) 1 2 3 4 567 8 1 2 3 4 567 8 START GOAL 26 1 2 3 4 567 8 1 2 3 4 567 8 1 2 3 4 567 8 1 2 3 4 567 8 8 2 3 1 2 3 4 567 8 1 1 2 3 4 567 8 4 1 2 3 4 56 7 8 1 2 3 4 567 8 87 GOAL 14 27 Tìm kiếm rộng (Breadth-first search) Hiện thực: FIFO queue. 28 Breadth-first search Hiện thực: FIFO queue. 15 29 Breadth-first search Hiện thực: FIFO queue. 30 Breadth-first search Hiện thực: FIFO queue. 16 31 Tìm kiếm sâu (Depth-first search) Hiện thực: LIFO queue 32 Depth-first search Hiện thực: LIFO queue 17 33 Depth-first search Hiện thực: LIFO queue 34 Depth-first search Hiện thực: LIFO queue 18 35 Depth-first search Hiện thực: LIFO queue 36 Depth-first search Hiện thực: LIFO queue 19 37 Depth-first search Hiện thực: LIFO queue 38 Depth-first search Hiện thực: LIFO queue 20 39 Depth-first search Hiện thực: LIFO queue 40 Depth-first search Hiện thực: LIFO queue 21 41 Depth-first search Hiện thực: LIFO queue 42 Depth-first search Hiện thực: LIFO queue 22 43 Tìm kiếm sâu dần: (Iterative deepening search) Kết hợp của tìm kiếm rộng và tìm kiếm sâu trên cơ sở cho biết mức sâu n rồi tìm kiếm rộng ứng mới mức sâu đó. 44 Iterative deepening search l =0 23 45 Iterative deepening search l =1 46 Iterative deepening search l =2 24 47 Iterative deepening search l =3 48 Là một cây mô tả các chọn lựa có thể thực hiện trong mỗi bước của quá trình giải bài toán. Toàn bộ cây tìm kiếm được tượng trưng bằng một hình tam giác. Vị trí bắt đầu ở đỉnh, vị trí kết thúc ở đáy 25 49 Sâu Rộng 50 Sâu Rộng Có thể đi vào các ngõ, nhánh cụt (không thể đi tiếp được nữa) → quay lui Không cần quay lui Chỉ quan tâm đến hướng đi đã chọn. Quan tâm đến tất cả hướngđi → tốn bộ nhớ để lưu trữ 26 51 Sâu dần Hạn chế trường hợp đi quá sâu mà gặp nhánh cụt Ít tốn bộ nhớ hơn. Tận dụng được ưu điểm “rộng” của phương pháp tìm theo chiều rộng. Độ sâu giới hạn bao nhiêu là đủ ? 52 Chặt nhánh Loại bỏ hướng tìm kiếm chắc chắn không dẫn đến lời giải. Tìm kiếm với tri thức bổ sung Ưu tiên đi theo hướng có triển vọng nhất, hy vọng sẽ đến lời giải nhanh hơn, trường hợp xấu nhất quay về vét cạn. (như thế nào là triển vọng nhất?)