Muïc luïcCHÖÔNG 1 1.MÔÛ ÑAÀU1 1 1 2 2 3 3 6 7 8 13 13 13 15 17 17 18 19 22 23 23 25 29 pot

240 760 2
Muïc luïcCHÖÔNG 1 1.MÔÛ ÑAÀU1 1 1 2 2 3 3 6 7 8 13 13 13 15 17 17 18 19 22 23 23 25 29 pot

Đ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

Mục lục CHƯƠNG 1 MỞ ĐẦU 1 1. Hệ thống thông minh 1 1.1. Kiểm soát tình huống và lựa chọn 1 1.2. Học 2 1.3. Sử dụng tri thức 2 2. Giới thiệu trí tuệ nhân tạo 3 2.1. Một số ví dụ 3 2.2. Khái niệm 6 2.3. Hệ cơ sở tri thức 7 3. Một số bài toán 8 CHƯƠNG 2 GIẢI QUYẾT VẤN ĐỀ BẰNG TÌM KIẾM 13 1. Khái niệm 13 1.1. Không gian trạng thái 13 1.2. Tìm kiếm trên không gian trạng thái 15 2. Các nguyên lý tìm kiếm 17 2.1. Các nguyên lý cơ bản 17 2.2. Các nguyên lý thử sai 18 2.3. Các nguyên lý heuristic 19 2.4. Cài đặt các nguyên lý 22 3. p dụng 23 3.1. Cài đặt thuật giải 23 3.2. Giải quyết vấn đề 25 CHƯƠNG 3 TÌM KIẾM VỚI HEURISTIC 29 1. Khái niệm 29 2. Thuật giải A* 31 3. Thuật giải A0* 34 3.1. Tìm kiếm trên cây AND/OR 35 3.2. Thêm heuristic - Thuật giải AO* 38 CHƯƠNG 4 TRÒ CHƠI ĐỐI KHÁNG VÀ PHƯƠNG PHÁP GPS 43 1. Trò chơi đối kháng 43 1.1. Khái niệm 43 1.2. Thuật giải 44 1.3. Bàn thêm về heuristic 49 2. Phương pháp giải quyết vấn đề tổng quát (GPS) 50 2.1. Khái niệm 50 2.2. Thuật giải 51 CHƯƠNG 5 SUY LUẬN LOGIC 63 1. Suy luận 63 2. Suy luận với logic mệnh đề 64 2.1. Khái niệm 64 2.2. Một số cơ chế phát sinh sự kiện (quy tắc suy diễn) 65 2.3. Suy luận 67 3. Suy luận với logic cấp 1 71 3.1. Khái niệm 71 3.2. Suy luận 72 CHƯƠNG 6 SUY LUẬN VỚI THÔNG TIN KHÔNG CHẮC CHẮN 79 1. Phân bố xác suất 79 1.1. Khái niệm 79 1.2. Suy luận 81 2. Suy luận xấp xỉ 83 2.1. Khái niệm 83 2.2. Suy luận 85 3. Giới thiệu một số suy luận khác 87 3.1. Phân bố khả xuất 87 3.2. Logic mờ 88 CHƯƠNG 7 BIỂU DIỄN TRI THỨC 97 1. Tri thức 97 1.1. Khái niệm 97 1.2. Biểu diễn tri thức 99 2. Biểu diễn bằng logic vò từ 100 2.1. Biểu diễn các tri thức đơn giản 100 2.2. Biểu diễn mối quan hệ Instance và isa 101 2.3. Suy diễn bằng hợp giải (resolution) 101 3. Biểu diễn bằng luật sản xuất 103 3.1. Khái niệm 103 3.2. Biểu diễn 105 3.3. Suy diễn 105 3.4. Bàn thêm 106 4. Lập trình logic 107 4.1. Các thành phần 107 4.2. Sự kiện và luật 107 4.3. Hợp giải và prolog 108 4.4. Một số ví dụ 109 CHƯƠNG 8 CÁC BIỂU DIỄN CÓ CẤU TRÚC 117 1. Mạng ngữ nghóa 117 1.1. Khái niệm 117 1.2. Biểu diễn 118 1.3. Suy diễn 120 1.4. Đồ thò khái niệm 121 1.5. Chuyển về logic vò từ 123 1.6. Một ví dụ phức tạp 124 2. Giới thiệu một số biểu diễn khác 127 2.1. Biểu diễn bằng khung (Frames) 127 2.2. Biểu diễn tri thức bằng bộ ba OAV 128 2.3. Bộ nhớ kết hợp (biểu diễn tri thức mô phỏng hệ thần kinh) 129 CHƯƠNG 9 THU NẠP TRI THỨC 135 1. Mở đầu 135 2. Tổng quan về thu nhận tri thức 136 2.1. Khái niệm 136 1.1. Các cách tiếp cận 138 3. Phương pháp cây quyết đònh 139 3.1. Khái niệm 139 3.2. Tiếp cận cực tiểu Entropy trung bình 139 4. Phương pháp không gian thế hệ 141 4.1. Khái niệm 141 4.2. Thuật toán 141 5. Phương pháp xây dựng một giải thích 144 5.1. Khái niệm 144 5.2. Thuật toán 144 CHƯƠNG 10 MỘT SỐ CHỦ ĐỀ 151 1. Mạng neuron nhân tạo 151 1.1. Khái niệm 151 1.2. Giới thiệu một số luật học 154 2. Thuật toán di truyền 158 2.1. Khái niệm 158 2.2. Mô hình và Thuật toán 158 3. Xử lý ràng buộc 161 3.1. Khái niệm 161 3.2. Thuật giải 164 4. Máy vector hỗ trợ (Supported Vector Machine - SVM) 167 4.1. Khái niệm 167 4.2. Thuật toán 167 4.3. Tách phi tuyến 168 PHỤ LỤC 2 NGÔN NGỮ PROLOG 175 1. Giới thiệu prolog 175 1.1. Các thành phần của chương trình 175 1.2. Sự kiện và luật 175 1.3. Quan hệ 176 1.4. Các kiểu đối tượng 177 1.5. Cơ chế tìm kiếm 180 1.6. Vài ví dụ lập trình prolog 182 2. Thảo luận 185 2.1. Biểu diễn cây 185 2.2. Dùng đại số quan hệ 188 PHỤ LỤC 3 NGHIÊN CỨU TÌNH HUỐNG 191 1. Thiết kế hướng đối tượng dùng C++ 191 1.1. Một thiết kế đơn giản 191 1.2. Một thiết kế tổng quát 194 2. Cài đặt thuật toán A * bằng prolog 201 3. Xây dựng hệ chuyên gia đơn giản bằng prolog 203 3.1. Cơ sở tri thức 203 3.2. Cài đặt bằng prolog 203 4. Xây dựng một cơ chế thu nhận tri thức 205 4.1. Cơ sở tri thức 205 4.2. Minh họa cơ chế học 206 5. Đối sánh 208 5.1. Khái niệm 208 5.2. Đối sánh biểu thức 208 Lời nói đầu Ngày nay, hầu hết các lónh vực đều có sự tham gia của máy tính. Trong một số lónh vực, vai trò của máy tính là rất quan trọng. Thế nhưng, vẫn còn đó nhiều công việc, dù giản đơn, dù nguy hiểm, dù nhàm chán, con người vẫn cứ phải đảm nhiệm. Liệu có thể xây dựng những hệ có khả năng hành động như con người, suy nghó như con người. Những hệ như vậy sẽ làm thay con người nhiều việc, cũng như hỗ trợ con người một cách hiệu quả; để con người tập trung vào những hoạt động mang tính sáng tạo. Trí tuệ nhân tạo (AI – Artificial Intelligence) là một nhánh của công nghệ thông tin nghiên cứu các phương pháp xây dựng trí tuệ cho máy. Tài liệu này giới thiệu cho sinh viên những khía cạnh cơ sở quan trọng của AI. Tài liệu gồm 10 chương được chia làm 4 phần chính. Chương 1 giới thiệu về AI. Phần 1, gồm các chương 2, 3 và 4, giới thiệu các phương pháp giải quyết vấn đề. Phần 2, gồm các chương 5 và 6, giới thiệu các phương pháp suy luận, các phương pháp xử lý thông tin không chắc chắn. Phần 3, gồm các chương 7, 8 và 9, giới thiệu các phương pháp biểu diễn và thu nhận tri thức. Phần 4, gồm chương 10 và hai phụ lục, giới thiệu một số chủ đề như mạng neuron nhân tạo, thuật toán di truyền, xử lý ràng buộc; cũng giới thiệu về prolog và thử giải quyết một số tình huống. Dù rất cố gắng, tài liệu được viết ra không khỏi có thiếu sót. Rất mong sự góp ý của bạn đọc để lần tái bản sau được tốt hơn. Nhân dòp này tôi xin chân thành cảm ơn Ban chủ nhiệm khoa Công nghệ thông tin trường Đại học Kỹ thuật Công nghệ đã tạo điều kiện cho tôi hoàn thành tài liệu này. Mọi ý kiến đóng góp xin gởi về hvduc@hcm.vnn.vn. Xin chân thành cảm ơn. TpHCM, Tháng 07/2006 Tác giả Chương 1 Mở đầu Mục tiêu của AI là xây dựng những hệ thống suy nghó và hành động như con người. Khi ấy hệ thống sẽ được gọi là thông minh. Nó phải có khả năng giải quyết vấn đề như con người khi đứng trước những tình huống tương tự. 1. Hệ thống thông minh 1.1. Kiểm soát tình huống và lựa chọn Xét hệ giải phương trình bậc hai. Yêu cầu hệ giải những phương trình sau: 1) x 2 – 3x – 4 = 0 2) x 2 – 4x + 3 = 0 3) x 2 – 4x + 4 = 0 4) x 2 – 4 = 0 5) x 2 + 1 = 0 6) x 2 – 4x + 5 = 0 Trường hợp 1 Với hệ luôn luôn tính theo một thủ tục cho trước, chẳng hạn với phương trình thứ 1: Tính Δ = 25 Suy ra x 1 = -1, x 2 = 4 Ta không thể cho rằng hệ là thông minh. Trường hợp 2 Với hệ có những trả lời bất ngờ, chẳng hạn với Phương trình thứ 1: Vì a – b + c = 0, ta có x 1 = -1 và x 2 = -c/a = 4; Phương trình thứ 2: Vì a + b + c = 0, ta có x 1 = 1 và x 2 = c/a = 3; Phương trình thứ 3: Biến đổi thành (x – 2) 2 = 0, ta có x 1 = x 2 = 2; Phương trình thứ 4: Biến đổi thành (x – 2)(x + 2) = 0, ta có x 1 = 2, x 2 = -2 Phương trình thứ 5: Vì x 2 + 1 > 0, phương trình vô nghiệm; Phương trình thứ 6: Vì Δ = -4<0, phương trình vô nghiệm. Và ta có thể cho rằng hệ là thông minh. 1.2. Học Xét một trò chương trình chơi cờ vua đơn giản. Với những ván cờ đầu tiên, chúng ta thua nó và ta nghó nó là thông minh. Cho đến khi ta tìm được một cách thắng và phát hiện thấy dù thua, nó vẫn cứ thực hiện những nước đi cũ. Thế là ta thất vọng, vì nó chơi quá máy móc, chương trình chẳng còn tí gì là thông minh. Nếu như nó có khả năng rút ra kinh nghiệm từ những ván cờ thua thì lại khác. Tức hệ đã có khả năng học. Trở lại hệ giải phương trình bậc hai. Ta lại yêu cầu hệ giải phương trình x 2 – x + 6 = 0 Ta chờ đợi hệ giải như sau: Tìm thấy x = 3 là nghiệm, suy ra x 1 = 3, x 2 = -2. Tuy nhiên hệ không biết cách giải này. Ta sẽ dạy hệ tri thức sau: thử xem x có là nghiệm với x = -3, -2, -1, 0, 1, 2, 3. Rồi yêu cầu hệ giải lại. Và hệ giải như sau: Tìm thấy x = -2 là nghiệm, suy ra x 1 = -2, x 2 = 3. Bây giờ yêu cầu hệ giải phương trình 1 ở trên x 2 – 3x – 4 = 0 Có khả năng hệ sẽ giải khác với cách giải cũ Tìm thấy x = -1 là nghiệm, suy ra x 1 = -1, x 2 = 4. 1.3. Sử dụng tri thức Tiếp tục với hệ giải phương trình bậc hai. Bây giờ chúng ta yêu cầu hệ giải một phương trình bậc ba x 3 – 2x 2 – x + 2 = 0 Có thể hệ không giải được. Tuy nhiên giả sử hệ có tri thức: nếu a là một nghiệm của phương trình f(x) = 0 thì nghiệm của nó gồm a và các nghiệm của phương trình g(x) = 0, trong đó f(x) = (x – a)g(x). Bây giờ ta cung cấp cho hệ một nghiệm x = 1. Lúc này hệ có thể giải như sau: Vì 1 là nghiệm, biến đổi x 3 – 2x 2 – x + 2 = (x – 1)(x 2 – x – 2) Phương trình x 2 – x – 2 = 0 có a – b + c = 0 nên có hai nghiệm là 12 Vậy phương trình có 3 nghiệm: x 1 = -1, x 2 = 1, x 3 = 2 Muốn sử dụng được tri thức chương trình phải có khả năng nhận biết các sự kiện, các mối liên hệ và suy luận. Rõ ràng một hệ giải phương trình bậc hai như vậy xứng đáng được gọi là thông minh. 2. Giới thiệu trí tuệ nhân tạo 2.1. Một số ví dụ Ví dụ 1.1 Tìm đường đi ngắn nhất từ N đến L với bảng dữ liệu được cho như sau N → C 10 N → D 19 T → C 5 H → L 15 C → D 10 T → G 15 D → U 10 D → L 10 N → T 8 T → L 18 D → H 15 • Ta thấy từ đỉnh N có thể đi đến đỉnh C, T hoặc D. Nên chọn đỉnh nào? lý do? Có khả năng thu được đường đi tối ưu không? Giả sử ta chọn đỉnh C, và từ C có thể đi đến đỉnh D. • Có nên đi tiếp và chọn D hay quay lui để chọn T hoặc D? • Dù ta có chọn phương án nào đi nữa thì cũng phải giải thích được là vì sao? • Rõ ràng ta cần một chiến lược lựa chọn mà ta gọi là suy diễn. Chẳng hạn nếu suy diễn theo hướng ưu tiên khoảng cách ngắn nhất (toàn cục trên tất cả các nhánh) thì đường đi tìm thấy sẽ là N → T → L. Còn nếu suy diễn tham lam (cục bộ tại đỉnh chọn) thì đường đi tìm thấy sẽ là N → C → D → L Ví dụ 1.2 Chứng minh mệnh đề (⎤ a+⎤ b+c) ( ⎤ b+⎤ c+d) a b → d. Nếu cách giải quyết là tương tự như ở ví dụ 1 thì cái gì đóng vai trò đỉnh? Hơn nữa từ đỉnh hiện hành ta có thể đi đến các đỉnh nào? Làm sao phát sinh ra các đỉnh mới? Thử áp dụng phương pháp chứng minh phản chứng cho ví dụ này. Thay vì chứng minh α → β ta đi chứng minh α ⎤ β → 0. Như vậy mệnh đề trên là tương đương với ( ⎤ a+ ⎤ b+c) ( ⎤ b+ ⎤ c+d) a b ⎤ d → 0. Khác với ví dụ 1, ở đây ta phải sử dụng tri thức. Với tri thức ( α + ⎤ β ) β → α, ta coi như là từ 2 đỉnh α + ⎤ β và β phát sinh ra đỉnh mới α. Như vậy đỉnh ở đây là biểu thức và luật dẫn là cơ chế phát sinh ra đỉnh mới. Bắt đầu suy diễn với các đỉnh (⎤ a+⎤ b+c), ( ⎤ b+⎤ c+d), a, b và ⎤ d. • Từ 2 đỉnh (⎤ a+⎤ b+c) và a sinh ra đỉnh ⎤ b+c . CHƯƠNG 8 CÁC BIỂU DIỄN CÓ CẤU TRÚC 11 7 1. Mạng ngữ nghóa 11 7 1. 1. Khái niệm 11 7 1. 2. Biểu diễn 11 8 1. 3. Suy diễn 12 0 1. 4. Đồ thò khái niệm 12 1 1. 5. Chuyển về logic vò từ 12 3 1. 6. Một. 12 9 CHƯƠNG 9 THU NẠP TRI THỨC 13 5 1. Mở đầu 13 5 2. Tổng quan về thu nhận tri thức 13 6 2 .1. Khái niệm 13 6 1. 1. Các cách tiếp cận 13 8 3. Phương pháp cây quyết đònh 13 9 3 .1. Khái niệm 13 9. tuyến 16 8 PHỤ LỤC 2 NGÔN NGỮ PROLOG 17 5 1. Giới thiệu prolog 17 5 1. 1. Các thành phần của chương trình 17 5 1. 2. Sự kiện và luật 17 5 1. 3. Quan hệ 17 6 1. 4. Các kiểu đối tượng 17 7 1. 5.

Ngày đăng: 11/08/2014, 20:22

Từ khóa liên quan

Mục lục

  • Chương 1 Mở đầu

    • 1. Hệ thống thông minh

      • 1.1. Kiểm soát tình huống và lựa chọn

      • 1.2. Học

      • 1.3. Sử dụng tri thức

      • 2. Giới thiệu trí tuệ nhân tạo

        • 2.1. Một số ví dụ

        • 2.2. Khái niệm

          • (a) Trí tuệ nhân tạo là gì

          • (b) Cơ sở của trí tuệ nhân tạo

          • (c) Một số lónh vực trí tuệ nhân tạo

          • 2.3. Hệ cơ sở tri thức

            • (a) Cơ sở tri thức

            • (b) Hệ cơ sở tri thức

            • 3. Một số bài toán

            • Chương 2 Giải quyết vấn đề bằng tìm kiếm

              • 1. Khái niệm

                • 1.1. Không gian trạng thái

                • 1.2. Tìm kiếm trên không gian trạng thái

                  • (a) Bài toán tìm đường đi

                  • (b) Bài toán tìm cây lời giải

                  • 2. Các nguyên lý tìm kiếm

                    • 2.1. Các nguyên lý cơ bản

                      • (a) Nguyên lý mê cung

                      • (b) Nguyên lý vét cạn (nguyên lý Edison)

                      • (c) Nguyên lý quay lui

                      • 2.2. Các nguyên lý thử sai

                        • (a) Nguyên lý lựa chọn theo chiều sâu

                        • (b) Nguyên lý lựa chọn theo chiều rộng

                        • (c) Nguyên lý lựa chọn sâu dần

                        • (d) Nguyên lý ngẫu nhiên

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

Tài liệu liên quan