ĐỀ CƯƠNG BÀI GIẢNG TRÍ TUỆ NHÂN TẠO

69 356 0
ĐỀ CƯƠNG BÀI GIẢNG TRÍ TUỆ NHÂN TẠO

Đ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

ĐỀ CƯƠNG BÀI GIẢNG TRÍ TUỆ NHÂN TẠO http://www.ebook.edu.vn LỜI NÓI ĐẦU .3 CHƯƠNG 1: TRÍ TUỆ NHÂN TẠO 1.1 Giới thiệu ngành trí tuệ nhân tạo 1.1.1 Cơ sở AI 1.1.2 Lịch sử AI 1.2 Tác tử thông minh 1.2.1 Giới thiện 1.2.2 Cấu trúc tác tử thông minh 1.2.3 Các hoạt động tác tử thông minh 11 CHƯƠNG 2: GIẢI QUYẾT CÁC VẤN ĐỀ BẰNG TÌM KIẾM 13 1.2 Giải toán tìm kiếm mù 15 2.1.1 Các chiến lược tìm kiếm 15 2.1.2 Tìm kiếm theo chiều rộng 16 2.1.3 Tìm kiếm theo độ sâu 18 2.1.4 Tìm kiếm sâu lặp 21 2.2 Giải toán tìm kiếm heuristics 23 2.2.1.1 Thuật toán tìm kiếm tốt .25 2.2.1.2 Thuật toán A* 27 2.2.2 Hàm Heuristic 32 2.2.3 Tìm kiếm khả nhớ giới hạn (IDA*) 41 2.2.4 Tìm kiếm leo đồi 41 CHƯƠNG 3: BIỂU DIỄN TRI THỨC BẰNG LOGIC VỊ TỪ CẤP 49 3.1 Giới thiệu Logic vị từ cấp 49 3.1.1 Cú pháp ngữ nghĩa 50 3.1.1.1 Cú pháp 50 3.1.1.2 Ngữ nghĩa 51 3.1.2 Term 53 3.1.3 Câu nguyên thủy, câu phức hợp 53 3.1.3.1 Câu nguyên thủy .53 3.1.3.2 Câu phức hợp 53 3.1.4 Các lượng tử 54 3.2 Sử dụng logic vị từ cấp 55 3.2.1 Biểu diễn miền quan hệ tiền đề 55 3.2.2 Biểu diễn thông qua vị từ 55 3.2.3 Luật phân giải 57 3.2.4 Các câu hỏi trả lời 62 3.2.4.1 Suy diễn tiến / Lập luận tiến 62 3.2.4.2 Suy diễn lùi/ Lập Luận lùi 66 http://www.ebook.edu.vn LỜI NÓI ĐẦU Trí tuệ nhân tạo hay trí thông minh nhân tạo (tiếng Anh: artificial intelligence hay machine intelligence, thường viết tắt AI) trí tuệ biểu diễn hệ thống nhân tạo Thuật ngữ thường dùng để nói đến máy tính có mục đích không định ngành khoa học nghiên cứu lý thuyết ứng dụng trí tuệ nhân tạo Tuy trí thông minh nhân tạo có nghĩa rộng trí thông minh khoa học viễn tưởng, ngành trọng yếu tin học Trí thông minh nhân tạo liên quan đến cách cư xử, học hỏi khả thích ứng thông minh máy móc Các ví dụ ứng dụng bao gồm tác vụ điều khiển, lập kế hoạch lập lịch (scheduling), khả trả lời câu hỏi chẩn đoán bệnh, trả lời khách hàng sản phẩm công ty, nhận dạng chữ viết tay, nhận dạng tiếng nói khuôn mặt Bởi vậy, trí thông minh nhân tạo trở thành môn học, với mục đích cung cấp lời giải cho vấn đề sống thực tế Ngày nay, hệ thống nhân tạo dùng thường xuyên kinh tế, y dược, ngành kỹ thuật quân sự, phần mềm máy tính thông dụng gia đình trò chơi điện tử Trong môn học tập trung vào số thuật toán tìm kiếm quan trí tuệ nhân tạo, với Logic – công cụ biểu diễn sở tri thức mạnh, có nhiều ứng dụng Hưng Yên, tháng 12 năm 2007 http://www.ebook.edu.vn CHƯƠNG 1: TRÍ TUỆ NHÂN TẠO 1.1 Giới thiệu ngành trí tuệ nhân tạo Trong chương giới thiệu cách khái quát lịch sử hình thành phát triển khoa học Trí tuệ nhân tạo, định nghĩa mang tính tương đối Trí tuệ nhân tạo – lĩnh vực khoa học mẻ với sức phát triển nhanh chóng thập niên gần Các lĩnh vực ứng dụng quan trọng Trí tuệ nhân tạo hiệu thiết thực chúng mặt sống người đề cập đến cách chi tiết sau Cuối chương, số đặc điểm mang tính tổng kết Trí tuệ nhân tạo trình bày 1.1.1 Cơ sở AI Mặc dù kỷ 18, 19 đầu kỷ 20, hình thức hóa khoa học toán học tạo điều kiện tiên mặt trí tuệ cho việc nghiên cứu trí tuệ nhân tạo, phải kỷ 20 với đời máy tính số Trí tuệ nhân tạo (AI : Artificial Intelligence) trở thành ngành khoa học có sức sống Cho đến cuối năm 1940, chương trình thông minh, máy tính số cho thấy tiềm to lớn chúng việc cung cấp nhớ sức mạnh cho xử lý cần thiết Ngày nay, cài đặt hệ suy luận hình thức vào máy tính kiểm tra cách thực nghiệm khả biểu lộ trí thông minh chúng Một thành phần thiếu Trí tuệ nhân tạo việc dùng máy tính số phương tiện chọn lựa để tạo thử nghiệm lý thuyết trí tuệ Không thế, kiến trúc chúng cung cấp mô hình đặc trưng cho lý thuyết đó: trí tuệ hình thức xử lý thông tin Những kỹ thuật hình thức khảo sát lĩnh vực Trí tuệ nhân tạo thể mối quan hệ khắng khít máy tính số cốt lõi lý thuyết Những năm gần đây, nhiều sách, báo, công trình nghiên cứu khoa học đề cập đến kỹ thuật tính toán, người ta hay nhắc đến nhiều thuật ngữ như: máy tính thông minh, máy tính hệ V, hệ chuyên gia, mạng ngữ nghĩa, Các http://www.ebook.edu.vn ngôn ngữ lập trình LISP, PROLOG mở đường cho việc áp dụng hàng loạt hệ thống chương trình có khả “thông minh” Trước đây, nói đến Trí tuệ nhân tạo (TTNT) người ta thường quan tâm đến việc tạo lập máy tính có khả “suy nghĩ”, chí số phạm vi hẹp đó, cạnh tranh vượt khả não người Những hy vọng thời gian dài ảnh hưởng nhiều đến nghiên cứu phòng thí nghiệm Mặc dù mô hình tương tự máy tính thông minh đưa hàng nhiều năm trước, từ Alan Turing công bố kết nghiên cứu quan trọng đầu tiên, người ta bắt đầu thực nghiên cứu đến vấn đề TTNT cách nghiêm túc Phát Turing cho chương trình lưu trữ nhớ để sau thực sở phép toán thao tác với bit 0, Điều tạo nên tảng máy tính đại Việc lưu trữ chương trình máy cho phép thay đổi chức cách nhanh chóng dễ dàng thông qua việc nạp chương trình vào nhớ Theo nghĩa đó, khả làm cho máy tính có khả học suy nghĩ Đó biểu quan trọng máy tính trang bị TTNT Mục tiêu trí tuệ nhân tạo nghiên cứu xây dựng nên tác nhân thông minh: tác nhân tồn môi trường hành động thông minh 1.1.2 Lịch sử AI Năm 1956, chương trình dẫn xuất kết luận hệ hình thức công bố Tiếp theo đó, năm 1959 chương trình chứng minh định lý hình học phẳng chương trình giải toán vạn (GPS - General Problem Solving) đưa Tuy khoảng năm 1960 McCathy MIT (Massachussets Institute of Technology) đưa ngôn ngữ lập trình dùng cho trí tuệ nhân tạo LISP (list processing), nghiên cứu TTNT bắt đầu phát triển mạnh mẽ Thuật ngữ TTNT Marvin Minsky chuyên gia tiếng MIT đưa năm 1961 báo “ Steps Forwards To Artificial Intelligence” http://www.ebook.edu.vn Những năm 60 xem mốc quan trọng trình xây dựng máy có khả suy nghĩ Các chương trình chơi cờ chương trình chứng minh định lý toán học công bố khoảng thời gian Những bế tắc, hạn chế thành công công trình nghiên cứu TTNT năm 60 giới hạn khả thiết bị, nhớ đặc biệt yếu tố thời gian thực Chính yếu tố không cho phép tổng quát hóa thành công bước đầu đạt hệ chương trình TTNT xây dựng Tuy vào năm 70, nhớ máy tính thời gian tính toán nâng cao đáng kể chất, song cách tiếp cận khác đến TTNT chưa đem tới thành công thật sự bùng nổ tổ hợp trình tìm kiếm lời giải cho toán đặt Cuối năm 70, số nghiên cứu lĩnh vực xử lý ngôn ngữ tự nhiên, biểu diễn tri thức, lý thuyết giải vấn đề đem lại diện mạo cho TTNT Thị trường tin học bắt đầu đón nhận sản phẩm TTNT ứng dụng mang tính thương mại Đó hệ chuyên gia áp dụng lĩnh vực khác Hệ chuyên gia phần mềm máy tính, chứa thông tin tri thức lĩnh vực cụ thể đó, có khả giải yêu cầu người dùng mức độ với trình độ chuyên gia có kinh nghiệm lâu năm Một hệ chuyên gia sử dụng thành công thực tế hệ MYCIN, thiết kế cài đặt trường Đại học Tổng Hợp Stanford Một kiện quan trọng phát triển khoa học TTNT đời ngôn ngữ PROLOG, Alain Calmerauer đưa năm 1972 Năm 1981, dự án Nhật Bản xây dựng máy tính hệ thứ V lấy ngôn ngữ PROLOG ngôn ngữ sở làm thay đổi nhiều tình hình phát triển TTNT Mỹ châu Âu Giai đoạn 1981 trở người ta cảm nhận rõ nét chuyên gia TTNT dần chuyển kết nghiên cứu từ phòng thí nghiệm sang cài đặt ứng dụng cụ thể Có thể nói giai đoạn cạnh tranh riết http://www.ebook.edu.vn công ty, viện nghiên cứu hàng đầu nhằm đưa thị trường sản phẩm phần mềm ứng dụng kỹ thuật TTNT Cuối năm 80, đầu năm 90 thị trường sản phẩm dân dụng có nhiều sản phẩm trình độ cao máy giặt, máy ảnh, sử dụng TTNT Các hệ thống nhận dạng xử lý hình ảnh, tiếng nói ngày thúc đẩy phát triển kỹ thuật mạng Neuron Sự xích lại hai cách tiếp cận: Tiếp cận mờ lập luận xấp xỉ kỹ thuật mạng Neuron gây quan tâm đặc biệt chuyên gia tin học Bên cạnh xuất hệ chuyên gia, ứng dụng công nghiệp quản lý xã hội, quản lý kinh tế đòi hỏi đời hệ thống xử lý tri thức – liệu tích hợp Thế giới chuyển nghiên cứu TTNT Tuy câu hỏi liệu kỹ thuật TTNT có tạo nên bước nhảy vọt công nghệ tin học, đặc biệt công nghệ máy tính người ta mong đợi hay không chưa có lời giải đáp thỏa đáng 1.2 Tác tử thông minh 1.2.1 Giới thiện Tác tử tồn môi trường Tác tử thông minh xem nhận biết (perceiving ) môi trường thông qua cảm nhận (sensors) hành động môi trường thông qua phản ứng lại với kích thích môi trường (effectors) Một tác tử người đôi mắt, hai tai giác quan khác để cảm nhận; hai tay, hai chân phận khác thể để phản ứng lại kích thích (effectors) Một tác nhân robot bao gồm máy quay thiết bị đo khoảng cách phía sau để cảm nhận động khác để phản ứng lại với kích thích Một tác nhân phần mềm việc mã hóa chuỗi bít kết tri giác hành động Một tác nhân tổng quát có dạng hình đây: http://www.ebook.edu.vn Hình 1.1 tác nhân tương tác với môi trường thông qua sensor effector Theo Nawana tác tử có đặc điểm sau: - Thông minh tự chủ: tác tử tự kiểm soát chịu trách nhiệm định hành vi mình, chủ động hoạt động mà không cần đợi tác động từ vào - Khả học: tồn môi trường động, tác tử phải có khả học để thích nghi giải vấn đề nảy sinh - Khả giao tiếp: giao tiếp tác tử, tác tử với người - Khả hợp tác: giao tiếp với tác tử khác với người nhằm giải vấn đề phức tạp mà tác tử thực - Tính di động: tác tử di chuyển qua hệ thống, từ khu vực đến khu vực khác nhằm thu thập liệu 1.2.2 Cấu trúc tác tử thông minh Các tác tử nói tới nhờ mô tả cách cư sử chúng – hành động thực sau nhận chuỗi kết tri giác Bây phải bite to bullet nói bên công việc Công việc AI thiết kế tác tử chương trình: Một hàm thực thi tác nhân từ tri giác tới hành động Chúng ta giả sử chương trình chạy phần thiết bị máy tính, gọi cấu trúc Hiển nhiên chương trình chọn phải có cấu trúc chấp nhận chạy Cấu trúc máy tính túy, bao gồm phần cứng hỗ trợ đặc biệt cho nhiệm vụ là: xử lý hình ảnh máy quay http://www.ebook.edu.vn hay lọc âm thu Nó bao gồm phần mềm quy định mức độ khác biệt máy tính tác tử chương trình cho lập trình cấp độ cao hơn, chạy chương trình cung cấp hành động chương trình chọn cho effector chúng sinh Mối quan hệ tác tử, cấu trúc chương trình diễn tả sau: Tác tử = cấu trúc + chương trình agent = architecture + program Một tác tử nhận biết hành động môi trường Chúng ta tách tác tử thành cấu trúc tác tử chương trình Trước thiết kế tác tử chương trình, phải có ý tưởng hay tri giác hành động có, mục đích hay phạm vi thực thi tác tử hỗ trợ để hoàn thành xử lý môi trường Những trở nên đa dạng Hình phần tử cho kiểu tác tử chọn Hình 1.2: Ví dụ kiểu tác nhân * Các tác tử chương trình http://www.ebook.edu.vn Chúng có khung tương tự nhau, chấp nhận tri giác từ môi trường sinh hành động Phiên tác tử chương trình có cấu trúc đơn giản Mỗi tác nhân sử dụng số cấu trúc liệu bên trong, cấu trúc liệu cập nhật tri giác thu Các cấu trúc liệu xử lý thủ tục tác tử định nhằm sinh hành động chọn, hành động sau truyền cho cấu trúc để thực thi Có hai điều ý khung chương trình Đầu tiên dường định nghĩa tác tử ánh xạ chức từ chuỗi kết tri giác tới hành động, tác tử chương trình nhận kết tri giác đơn đầu vào Nó tác tử tích lũy chuỗi kết tri giác nhớ yêu cầu Trong số môi trường thành công mà không cần lưu trữ chuỗi kết tri giác, miền phức tạp, lưu trữ chuỗi phức tạp Thứ hai: mục đích phạm vi thực phần khung chương trình, phạm vi thực ứng dụng bên phán đoán cách cư sử tác tử, thường đạt đến thực thi cao mà không cần tri thức rõ ràng phạm vi thực Một tác tử chương trình, ánh xạ từ kết tri giác sang hành động, cập nhật trạng thái bên Có nhiều loại tác tử chương trình sở tồn phụ thuộc vào loại thông tin tạo nên rõ dàng sử dụng xử lý mang tính định Các thiết kế biến đổi tính hiệu quả, tính chắn tính mềm dẻo Kiểu thích http://www.ebook.edu.vn 10 công thức không chịu ràng buộc lượng tử (Sự xuất y gọi xuất tự do) 3.2 Sử dụng logic vị từ cấp 3.2.1 Biểu diễn miền quan hệ tiền đề Câu: Nếu P1 P2 Pn Thì Q biểu diễn công thức logic sau: P1 ^ P2 ^ … ^ Pn => Q Ví dụ: Biểu diễn câu tất voi an cỏ công thức logic sau: ∀X (voi(X) => an(X, cỏ)) Trong vị từ voi(X): để biểu diễn X voi an(X, cỏ): biểu diễn X ăn cỏ 3.2.2 Biểu diễn thông qua vị từ Sử dụng logic vị từ cấp để biểu diễn tri thức đối tượng, thuộc tính đối tượng, mối quan hệ đối tượng giới thực Do để biểu diễn tri thức thông qua vị từ ta phải xác định tri thức mô tả đối tượng nào, thuộc tính đối tượng diễn tả tri thức cần biểu diễn, tri thức nói mối quan hệ đối tượng với Từ lựa chọn vị từ (tên vị từ, số lượng đối số vị từ) để biểu diễn tri thức Bước xây dựng câu để biểu diễn tri thức thông qua vị từ chọn ký hiệu Logic vị từ cấp Ví dụ1: Sử dụng Logic vị từ cấp để biểu diễn tri thức sau: 1) Mọi nấm đề có độc 2) Tất nấm có màu tím có độc 3) Tất nấm màu tím có độc ngoại trừ 4) Chỉ có hai nấm tím 5) Mọi nấm có màu tím, có độc hai Ta nhận thấy: tri thức mô tả đối tượng nấm thuộc tính nó: màu sắc, có độc Ta sử dụng vị từ sau để biểu diễn: http://www.ebook.edu.vn 55 CayNam(x): biểu diễn x nấm MauTim(x): x có màu tím CoDoc(x): x có độc Khi ta biểu diễn câu dạng công thức logic sau: 1) ∀x(CayNam(x) => CoDoc(x)) 2) ∀x(CayNam(x) => MauTim(x) v CoDoc(x)) 3) ∃y( CayNam(y)^ MauTim(y)^ CoDoc(y)) ^∀x((x# y) ^ CayNam(x) ^ MauTim(x) => CoDoc(x)) 4) ∃x(CayNam(x)^ MauTim(y))^∃y((y#x)^ CayNam(y)^ MauTim(y)) ^ ∀z( CayNam(z) ^ MauTim(z) => (z=y) v (z =x)) 5) ∀x(CayNam(x) => (MauTim(x) ^ ┐CoDoc(x)) v ( MauTim(x) ^ CoDoc(x))) Ví dụ 2: Sử dụng logic vị từ cấp để biểu diễn tri thức sau: 1) ễng Ba nuụi 2) Hoặc ông Am ông Ba giết mốo Bibi Chỳng ta biết rằng: 3) Mọi người nuôi chó yêu quý động vật 4) Ai yờu quý động vật thỡ khụng giết động vật Và đượng nhiên là: 5) Chó mèo động vật Ta sử dụng cỏc D, Ba, Am, Bibi cỏc predicate sau: Dog (x): x Cat(x): x mốo Rear(x, y): x người nuôi y Animal(x): x động vật AnimalLover(x): x người yêu quý động vật Kill(x, Bibi): x người giết Bibi Ta chuyển câu thành câu biểu diễn công thức logic vị từ cấp sau: http://www.ebook.edu.vn 56 1) Dog(D) ^Rear(Ba, D) 2) Cat(Bibi)^(Kill(Ba, Bibi) v Kill(Am, Bibi)) 3) ∀x(∀y(Dog(y)^ Rear(x, y)) => AnimalLover(x)) 4) ∀x(AnimalLover(x) => (∀y(Animal(y) => ¬Kill(x,y)))) 5) ∀x(Dog(x) => Animal(x)) ^∀y(Cat(y)=> Animal(y)) 3.2.3 Luật phân giải Luật phân giải câu hội P1 ^ P2 ^ …^ Pm ^S=> Q R1 ^ R2 ^ …^ Rn => S’ P’1 ^ P’2 ^ …^ P’m ^ R’1 ^ R’2 ^ …^ R’n => Q’ Trong S S’ hợp với phép ϴ Và P’i ≡ Piϴ , R’j ≡ R jϴ với i = 1, 2, , n j = 1, 2, , m Trường hợp đặc biệt luật phân giải P1 ^ P2 ^ …^ Pm ^ S => Q S’ P’1 ^ P’2 ^ …^ P’m => Q’ Trong S S’ hợp với phép ϴ Và P’i ≡ Piϴ với i = 1, 2, , n http://www.ebook.edu.vn 57 Luật phân giải câu tuyển A1 v … v Am v C ¬C’ v B1 v … v Bn A’1 v … v A’m v B’1 v … v B’n Trong C C’ hợp với phép ϴ Và A’i ≡ Aiϴ , B’j≡Bjϴ với i = 1, 2, , m j = 1, 2, , n Hai câu A B gọi phân giải áp dụng luật phân giải cho hai câu Kết nhận áp dụng luật phân giải cho hai câu A B gọi giải thức, ký hiệu Res(A, B) * Phép hợp Phép hợp (unification) thuật toán dùng để xác định phép cần thiết để làm cho hai biểu thức vị từ đối sánh (match) Hợp cho phép tạo suy diễn dựa tập hợp khẳng định logic Phép hợp phức tạp thay biến với Term gồm biến biểu thức hàm khác với độ phức tạp tùy ý Những biểu thức tự thân chúng lại chứa biến Ta sử dụng ký hiệu X/t có nghĩa X thay t Thí dụ : So khớp foo(X,a,goo(Y)) với: foo(X,b,foo(Y)) không so khớp foo(X,Y) không so khớp moo(X,a,goo(Y)) không so khớp foo(fred,a, goo(Z)) {X/fred, Y/Z} http://www.ebook.edu.vn 58 foo(W,a,goo(jack)) {X/W,Y/jack} foo(Z,a,goo(moo(Z))) {X/Z, Y/moo(Z)} Nói chung trình giải vấn đề đòi hỏi nhiều suy diễn cần nhiều phép hợp nói tiếp Các chương trình giải vấn đề logic phải trì tính quán phép biến Điều phát biểu giải thuật so khớp * Giải thuật so khớp 1) Hằng / so khớp : chúng giống hệt 2) Hằng a / biến X so khớp: a) Biến chưa kết buộc: biến trở thành kết buộc với {X/a} b) Biến kết buộc : xem (1) 3) Biến / biến so khớp: a) Hai biến chưa kết buộc: luôn so khớp b) Một biến kết buộc biến chưa kết buộc: xem (2) c) Hai biến kết buộc: xem (1) 4) Biểu thức / biểu so khớp: tên hàm vị từ, số giống áp dụng so khớp đối số Lưu ý : Phạm vi biến câu Một biến bị kết buộc, phép hợp theo sau suy luận phải giữ kết buộc * Định lý phân giải Một tập câu tuyển G không thỏa câu rỗng thuộc R(G) * Chứng minh công thức hệ tập công thức cho luật phân giải Ta sử dụng thủ tục sau đây: Procedure Proof_by_Resolution Input: Tập G công thức G ={G1, G2, … , Gn} H công thức cần chứng minh Begin Biến đổi công thức Gi (i= 1, 2,…, n) công thức ¬H dạng chuẩn hội http://www.ebook.edu.vn 59 Từ dạng chuẩn hội nhận bước 1, thành lập tập câu tuyển C Repeat Chọn hai câu A B C If A B phân giải then Tính giải thức Res(A, B) If Res(A, B) câu then thêm Res(A, B) vào C Until Nhận câu rỗng câu sinh ra; If câu rỗng sinh then thông báo H Else thông báo H sai End; Ví dụ: Giả sử biết thông tin sau đây: Ông Ba nuôi chó Hoặc ông Am ông Ba giết mèo Bibi Chúng ta biết rằng: Mọi người nuôi chó yêu quý động vật Ai yêu quý động vật không giết động vật Và đượng nhiên là: Chó mèo động vật Ta chuyển câu thành câu biểu diễn công thức logic vị từ cấp sau: 6) dog(d) ^rear(ba, d) 7) cat(bibi)^(kill(ba, bibi) v kill(am, bibi)) 8) ∀X(∀Y(dog(Y)^ rear(X, Y)) => animalLover(X)) 9) ∀X(animalLover(x) => (∀Y(animal(Y) => ¬kill(X, Y)))) 10) ∀x(dog(X) => animal(X)) ^∀Y(cat(Y)=> animal(Y)) * Chuẩn hóa câu thành dạng chuẩn hội ta thu câu tuyển sau: 1) dog(d) 2) rear(ba, d) http://www.ebook.edu.vn 60 3) cat(bibi) 4)(kill(ba, bibi) v kill(am, bibi)) 5) ¬dog(Y) v ¬rear(X, Y) v animalLover(X) 6) ¬animalLover(X) v ¬animal(Y)v ¬kill(X, Y) 7) (¬dog(X) v animal(X)) 8) (¬cat(Y) v animal(Y)) * Sau sử dụng luật phân giải để chứng minh Câu ông am giết mèo Bibi Ta thêm vào tập câu tuyển câu ¬kill(am, bibi) (9) áp dụng luật phân giải cho tập câu tuyển trên: ¬kill(am, bibi) (10) ¬animalLover(ba) v ¬ animal(bibi) (11) ¬dog(y) v ¬rear(ba, Y)v ¬ animal(bibi) ¬rear(ba, d)v ¬ animal(bibi) http://www.ebook.edu.vn 61 (12) (13) animal(bibi) (13) ¬cat(bibi) (13) câu r ng Vậy Ông Am giết Bibi 3.2.4 Các câu hỏi trả lời Khi có câu hỏi đến chương trình, chương trình coi goal cố gắng làm thỏa goal Làm thỏa goal có nghĩa chương trình cố gắng chứng minh goal suy luận trực tiếp từ sở tri thức có chương trình Nếu chương trình chứng minh goal suy luận từ chương trình câu trả lời yes, câu hỏi có chứa biến, thay biến đối tượng cụ thể mà chương trình sử dụng trình suy diễn hiển thị Ngược lại goal không suy luận từ chương trình câu trả lời no Để tìm kiếm câu trả lời cho câu hỏi, chương trình sử dụng thuật toán suy diễn tiến suy diễn lùi 3.2.4.1 Suy diễn tiến / Lập luận tiến Chiến lược suy diễn bắt đầu tập kiện biết, rút kiện nhờ dùng luật mà phần giả thiết khớp với kiện biết, tiếp tục qúa trình thấy trạng thái đích, không luật khớp kiện biết hay kiện suy diễn Ta tách Cơ sở tri thức thành hai phần: Luật sở: Ký hiệu RB Sự kiện: Ký hiệu FB http://www.ebook.edu.vn 62 Với luật R: P1 P2 Pn Q Ta ký hiệu danh sách điều kiện luật Conds =[P1, P2, , Pn] phần kết luận luật ký hiệu Conc = Q Ta có thủ tục lập luận tiến: Procedure Forchain(Conds, Conc) Begin For each S in FB { If S hợp với Pi Conds phép θ then { Conds1 Í [P1θ, P2θ, Pi-1θ, Pi+1θ…, Pnθ] Conc1 Í Concθ If Cond1 rỗng then Add(Conc1, FB) // Nếu Conc1 kiện add vào FB Else ForChain(Conds1, Conc1); } } End; Procedure forward_reasoning(RB, FB) Begin Repeat For each luật(Conds, Conc) in RB ForChain(Conds, Conc) Until Không có luật sinh kiện mới; End; Như hệ thống suy diễn tiến làm việc sau: http://www.ebook.edu.vn 63 Ví dụ: Giả sử sở luật chứa luật sau: Nếu x ngựa x mẹ y y chạy nhanh x có giá Cơ sở kiện gồm kiện sau: Tom ngựa Ken ngựa Kit ngựa Bin ngựa Tom mẹ Bin Tom mẹ Ken Bin mẹ Kit Kit chạy nhanh Bin chạy nhanh Bằng cách sử dụng vị từ http://www.ebook.edu.vn 64 horse(X): X ngựa mother(X, Y): x mẹ y fast(X): x chạy nhanh valueable(X): x có giá trị Ta có luật: (1) horse(X)^ mother(X, Y)^ fast(Y) => valueable(X) Và kiện (2) horse(tom) (3) horse(ken) (4) horse(kit) (5) horse(bin) (6) mother(tom, bin) (7) mother(tom, ken) (8) mother(bin, kit) (9) fast(kit) (10) fast(Bin) Ta có: Conds= [horse(X), mother(X, Y), fast(Y)] Conc = valueable(X) FB =[horse(tom), horse(ken), horse(kit), horse(bin), mother(tom, bin), mother(tom, ken), mother(bin, kit), fast(kit), fast(Bin)] áp dụng thủ tục lập luận tiến ta có: horse(X), mother(X, Y), fast(Y) X/tom, (2) mother(tom, Y), fast(Y) Y/bin, (6) X/ken, (3) X/kit, (4) mother(ken, Y), fast(Y) mother(kit, Y), fast(Y) fast(kit) fast(ken) (9) (10) valueable(bin) valueable(tom) http://www.ebook.edu.vn mother(bin, Y), fast(Y) Y/kit, (8) Y/ken, (7) fast(bin) X/bin, (5) 65 3.2.4.2 Suy diễn lùi/ Lập Luận lùi Kỹ thuật suy diễn tiến tốt làm việc với toán thông tin cần suy lý cách logic đến kết luận Trong toán loại khác, người ta giả thuyết định chứng minh tiến hành thu thập thông tin Chẳng hạn bác sĩ nghi người bệnh bị bệnh đó, ông ta tìm triệu chứng bệnh Loại suy lý mô hình hóa trí tuệ nhân tạo hệ chuyên gia với tên "Suy diễn lùi" Suy diễn lùi chiến lược suy diễn để chứng minh giả thiết cách thu thập thông tin hổ trợ Hệ thống suy diễn lùi đích cần chứng minh: Trước hết kiểm tra nhớ làm việc để xem đích bổ sung trước chưa Bước cần thiết sở tri thức khác chứng minh đích Nếu đích chưa chứng minh, tìm luật có phần THEN chứa đích Luật gọi luật đích Hệ thống xem phần giả thiết luật có nhớ làm việc không Các giả thiết không liệt kê nhớ gọi đích mới, đích con, cần chứng minh Các đích cung cấp, tức giải, nhờ luật khác Quá trình tiếp tục đệ qui hệ thống tìm thấy giả thiết không luật cung cấp Đó "sơ khởi" Sơ khởi giả thiết luật mà không luật kết luận http://www.ebook.edu.vn 66 Khi thấy sơ khởi hệ thống yêu cầu người sử dụng thông tin Hệ thống dùng thông tin để giải đích đích ban đầu Suy diễn lùi thực tương tự cách người kiểm tra giả thiết có không Gọi Hyp danh sách giả thiết cần chứng minh Ta coi câu hỏi giả thuyết Hyp = H1^H2^ ^ Hn, ta có danh sách hyp = [H1, H2, ,Hn] Với luật R: P1 P2 Pn Q ta tách luật thành hai phần: danh sách điều kiện phần kết luận Ta ký hiệu danh sách điều kiện luật Conds=[P1, P2, , Pn] phần kết luận luật ký hiệu Conc = Q Ta coi kiện luật có phần điều kiện danh sách rỗng Cơ chế suy diễn lùi mô tả thủ tục sau đây: Procedure Backchain(Hyp, θ) Begin H Í giả thiết danh sách Hyp For each Luật R(Conds, Q) { If H hợp với Q phép θ1 then { Hyp1 = Hyp - H Hyp1 = Hyp1 + Conds Hyp1 = Hyp1θ1 θ’=θ + θ1 If Hyp1 = rỗng then Write(θ’) Else BackChain(Hyp1, θ’); } } End; http://www.ebook.edu.vn 67 Ví dụ: Giả sử tri thức chứa kiện sau: (1) horse(tom) (2) horse(ken) (3) horse(kit) (4) horse(bin) (5) mother(tom, bin) (6) mother(tom, ken) (7) mother(bin, kit) (8) fast(kit) (9) winner(bin) (bin thắng cuộc) Luật: (10) horse(X)^ mother(X, Y)^ fast(Y) => valueable(X) (11) winner(X) => fast(X) (Con ngựa thắng ngựa chạy nhanh) Câu hỏi đặt là: Con ngựa có giá? Giả thuyết ban đầu : Hyp = valueable(W), θ = [] HYP = VALUEABLE(W), θ = [] θ1 = [W/X], (10) HYP = [HORSE(X), MOTHER(X, Y), FAST(Y)] θ1 = [X/TOM], (1) HYP = [ MOTHER(TOM, Y), FAST(Y)] θ = [W/TOM] θ1 = [Y/BIN], (5) θ1 = [X/KEN], (2) θ1 = [X/KIT], (3) HYP = [MOTHER(KEN, Y), FAST(Y)] θ = [W/KEN] θ = [W/KIT] HYP = [FAST(BIN)] θ = [W/TOM, http://www.ebook.edu.vn θ1 = [Z/BIN], HYP = [WINNER(BIN)](11) θ = [W/TOM, Y/BIN, HYP = [ MOTHER(KIT, Y), FAST(Y)] θ1 = [X/BIN], (4) HYP = [MOTHER(BIN, Y), FAST(Y)] θ = [W/BIN] θ1 = [Y/KIT], (7) HYP = [FAST(KIT)] θ = [W/BIN, Y/KIT] 68 θ1 = [], (8) H =[] Chú ý: Do thời gian ngắn, cộng thêm việc phải có đề cương tiếng Việt cho sinh viên tham khảo nên tài liệu tổng hợp từ số nguồn khác nhau, phần không nhỏ lựa chọn “Trí tuệ nhân tạo” thầy Đinh Mạnh Tường Cuốn tiếng Anh: Russell and S.Norvig, Artificial intelligence: Modenrn approach, PrenticeHall, 3rd edition, 2003 đầy đủ hay! http://www.ebook.edu.vn 69 ... công; stop}; 2.4 if depth(u)

Ngày đăng: 22/12/2016, 12:49

Từ khóa liên quan

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

Tài liệu liên quan