Kỹ thuật lập trình - Chương 3: Biểu diễn tri thức

Giới thiệu về tri thức

Đặc trưng của tri thức

Các phương pháp biểu diễn tri thức

Logic

Frame

Mạng ngữ nghĩa (Semantic Network)

Mạng nơron

Các phương pháp khác

 

pptx84 trang | Chia sẻ: Mr Hưng | Lượt xem: 858 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Kỹ thuật lập trình - Chương 3: Biểu diễn tri thức, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRẦN MINH THÁIEmail: minhthai@huflit.edu.vnWebsite: www.minhthai.edu.vn Cập nhật: 05 tháng 09 năm 2015Chương 3. Biểu diễn tri thức1Nội dungGiới thiệu về tri thứcĐặc trưng của tri thứcCác phương pháp biểu diễn tri thứcLogicFrameMạng ngữ nghĩa (Semantic Network)Mạng nơronCác phương pháp khácGiải bài toán AI cầnTri thức về bài toán (có thể nhiều)Phương tiện để xử lý tri thức như: retrieve, update, inferHình thức hóa tri thứcGồm hai mứcMức tri thức: Mức mà các sự kiện, gồm cách hành xử của agent và mục tiêu hiện tại, được mô tảMức ký hiệu: Mức mà sự biểu diễn của các đối tượng đã được chọn trong mức tri thức được viết ra ở dạng ký hiệu để có thể xử lý được bằng chương trình Mô hình vấn đề của con người và máyTri thức?Đối với máy tính dữ liệu (data) là các con số, ký hiệu mà máy tính có thể lưu trữ, biểu diễn, xử lý. Bản thân dữ liệu không có ý nghĩaChỉ khi con người cảm nhận, tư duy thì dữ liệu mới có một ý nghĩa nhất định, đó chính là thông tin (Information)Tri thức (knownlegded) là kết tinh, cô đọng, chắt lọc của thông tin. Tri thức hình thành từ quá trình xử lý thông tin mang lạiPhân loại tri thức[1] Tri thức sự kiện khẳng định về một sự kiện, hiện tượng hay một khái niệm nào đó trong một hoàn cảnh không gian hoặc thời gian nhất định: định lý toán học, định luật vật lý, [2] Tri thức thủ tục mô tả cách giải quyết một vấn đề, quy trình xử lý các công việc, lịch trình tiến hành các thao tác: các luật, chiến lược, lịch trình như phương pháp điều chế hóa học, thuật toán, Phân loại tri thức[3] Tri thức mô tả các nhận định, kết luận về sự kiện, hiện tượng[4]Tri thức heuristic các ước lượng, suy đoán hình thành qua kinh nghiệm. Không đảm bảo hòan tòan chính xác hoặc tối ưu theo một nghĩa nào đó về cách giải quyết vấn đề. Tri thức heuristic thường được coi là một mẹo nhằm dẫn dắt tiến trình lập luậnNhu cầu xử lý tri thứcTrí tuệ, sự thông minh phải dựa trên nền tảng của tri thức. Tuy nhiên, nó còn phụ thuộc vào việc vận dụng, xử lý tri thứcBiểu diễn tri thức là việc đưa tri thức vào máy tính. Chỉ có ý nghĩa nếu “xử lý tri thức” được thực hiệnNhu cầu xử lý tri thứcNgôn ngữ biểu diễn tri thức = Cú pháp + Ngữ nghĩa + Cơ chế suy diễnCú pháp bao gồm các ký hiệu và các quy tắc liên kết các ký hiệu (các luật cú pháp) để tạo thành các câu (công thức) trong ngôn ngữNgữ nghĩa xác định ý nghĩa của các câu trong một miền nào đó của thế giới hiện thựcCơ chế suy diễn để từ các tri thức trong cơ sở tri thức và các sự kiện ta nhận được các tri thức mớiVí dụCho 2 bình rỗng X, Y có thể tích lần lượt là Vx, Vy. Dùng 2 bình này để đong ra z lít nướcVới Vx = 5, Vy = 7 và z = 4 thì thực hiện như thế nào?Ví dụMúc đầy bình 7Đổ qua cho đầy bình 5Đổ hết nước trong bình 5 Đổ phần còn lại trong bình 7 qua bình 5Múc đầy bình 7Đổ từ bình 7 qua cho đầy bình 5Phần còn lại trong bình 7 là 4 lítBiểu diễn tri thức?Là phương pháp mã hoá tri thức, nhằm thành lập cơ sở tri thức cho các hệ thống dựa trên tri thức Tri thức thực của lĩnh vực Tri thức tính toánBằng cách nào ?Gồm: đối tượng và các quan hệ giữa chúng trong lĩnh vựcGồm: Bảng ánh xạ giữa Đối tượng thực  đối tượng tính toánQuan hệ thực  quan hệ tính toán Bằng cách: dùng các lược đồ biểu diễn (scheme)  Chọn lược đồ cho loại tri thức là vấn đề quan trọngLược đồ biểu diễn tri thức1. Lược đồ logic Dùng các biểu thức trong logic hình thức, như phép toán vị từ, để biểu diễn tri thứcCác luật suy diễn áp dụng cho loại lược đồ này Ngôn ngữ lập trình hiện thực tốt nhất cho loại lược đồ này là: PROLOGLogic mệnh đề IF Xe không khởi động được (A) AND Khoảng cách từ nhà đến chỗ làm là xa(B) THEN Sẽ trễ giờ làm (C)Luật trên có thể biểu diễn lại như sau: A∧B⇒CLogic vị từTương tự logic mệnh đềDùng các ký hiệu để thể hiện tri thức. Những ký hiệu này gồm hằng số, vị từ, biến và hàmVí dụCâu tiếng Anh: “Spot is a dog” “Every dog has a tail”Dạng logic: 1. dog(Spot). 2. X 3. (dog(X)→hastail(X)).Ví dụTừ đó câu: “Spot has a tail”, có thể thu được qua các bước: Từ 2, X = “Spot”: dog(Spot)→hastail(Spot). Từ1, 3: hastail(Spot). Ánh xạ ngược → “Spot has a tail”. Lược đồ biểu diễn tri thức2. Lược đồ thủ tụcKhác với khai báo, lược đồ này biểu diễn tri thức như tập các chỉ thị lệnh để giải quyết vấn đềCác chỉ thị lệnh trong lược đồ thủ tục chỉ ra bằng cách nào giải quyết vấn đềVí dụ: hệ luật sinh điển hình cho loại lược đồ nàyHệ luật sinhLuật là cấu trúc tri thức dùng để liên kết thông tin đã biết với các thông tin khác giúp đưa ra các suy luận, kết luận từ những thông tin đã biếtThu thập các tri thức lĩnh vực trong một tập và lưu chúng trong cơ sở tri thức của hệ thống. Hệ thống dùng các luật này cùng với các thông tin để giải bài toán Việc xử lý các luật trong hệ thống dựa trên các luật được quản lý bằng một module gọi là bộ suy diễnHệ luật sinh – 7 dạng cơ bản1. Quan hệ: IF Bình điện hỏng THEN Xe sẽ không khởi động được2. Lời khuyên: IF Xe không khởi động được THEN Đi bộ 3. Hướng dẫn: IF Xe không khởi động được AND Hệ thống nhiên liệu tốt THEN Kiểm tra hệ thống điện4. Chiến lược: IF Xe không khởi động được THEN Đầu tiên hãy kiểm tra hệ thống nhiên liệu, sau đó kiểm tra hệ thống điện Hệ luật sinh – 7 dạng cơ bản5. Diễn giải: IF Xe nổ AND tiếng giòn THEN Động cơ hoạt động bình thường 6. Chẩn đoán: IF Sốt cao AND hay ho AND Họng đỏ THEN Viêm họng 7. Thiết kế: IF Là nữ AND Da sáng THEN Nên chọn Xe Spacy AND Chọn màu sángLược đồ biểu diễn tri thức3. Lược đồ mạng Biểu diễn tri thức như là đồ thị; các đỉnh như là các đối tượng hoặc khái niệm, các cung như là quan hệ giữa chúngVí dụ: mạng ngữ nghĩa (semantic network), lược đồ quan hệ phụ thuộc khái niệm đồ thị khái niệm Mạng ngữ nghĩaMạng ngữ nghĩa là một phương pháp biểu diễn tri thức dùng đồ thị trong đó nút biểu diễn đối tượng và cung biểu diễn quan hệ giữa các đối tượngMạng ngữ nghĩaLược đồ biểu diễn tri thức4. Lược đồ cấu trúcLà một mở rộng của lược đồ mạng; bằng cách cho phép các nút có thể là một CTDL phức tạp gồm các khe (slot) có tên và trị hay một thủ tụcVí dụ: kịch bản (script), khung (frame), đối tượng (object)Frame – Biểu diễn ở dạng khái niệm hay đối tượngMỗi frame mô tả một đối tượng (object)Một frame bao gồm 2 thành phần cơ bản là slot và facet slot là một thuộc tính đặc tả đối tượng được biểu diễn bởi frameMỗi slot có thể chứa một hoặc nhiều facetCác facet (đôi lúc được gọi là slot "con") đặc tả một số thông tin hoặc thủ tục liên quan đến thuộc tính được mô tả bởi slot. Facet có nhiều loại khác nhau, sau đây là một số facet thường gặp: value, default value, range, ... ScriptScript: RESTAURANTTrack: Coffee ShopEntry conditions: S is hungry S has moneyResults: S has less money O has more money S is not hungry S is pleased (optional)Props: Tables Menu Food (F) Check MoneyRoles: Custumer (S) Waiter(W) Cook(C) Cashier(M) Owner(O) Scene 1: (Entering) S PTRANS S into restaurant. S ATTEND eyes to tables S MBUILD where to sit S PTRANS S to table S MOVE S to sitting position ---Scene 2: (Ordering)(Menu on table) S PTRANS menu to S (S ask for menu) S MTRANS signal to W W PTRANS W to table S MTRANS ‘need menu’ to W W PTRANS W to menuFrame – Biểu diễn ở dạng khái niệm hay đối tượngFrame name:Object1Class:Object2Properties:Property 1Value1Property 2Value2FrameFrame thường được dùng để biểu diễn những tri thức "chuẩn" hoặc những tri thức được xây dựng dựa trên những kinh nghiệm hoặc các đặc điểm đã được hiểu biết cặn kẽĐối tượng - Thuộc tính – Giá trị Sự kiện gồm Object-Attribute -Value được dùng để xác nhận giá trị của một thuộc tính xác định của một vài đối tượng. Ví dụ: "quả bóng màu đỏ" xác nhận "đỏ" là giá trị thuộc tính "màu" của đối tượng "quả bóng"Đối tượng - Thuộc tính – Giá trị Một đối tượng có thể có nhiều thuộc tính với các kiểu giá trị khác nhau. Một thuộc tính cũng có thể có một (single-valued) hay nhiều giá trị (multi-valued)  Linh động trong biểu diễn các tri thức cần thiếtCác sự kiện không phải lúc nào cũng bảo đảm là đúng hay sai với độ chắc chắn hoàn toàn. Khi đó, trong sự kiện O-A-V sẽ có thêm một giá trị xác định độ tin cậy của nó là CF (Certainly Factor).Các vấn đề trong biểu diễn tri thứcCó những thuộc tính cơ bản nào của đối tượng mà chúng xuất hiện trong mọi lĩnh vực không? Nếu có: những thuộc tính nào? Có chắc chắn là chúng sẽ được xử lý thích hợp trong từng cơ chế được đề nghị không? Có quan hệ quan trọng nào tồn tại cùng với thuộc tính không?Các đối tượng và các quan hệ có thể biểu diễn cho cái gì trong lĩnh vực?Ví dụ: để biểu diễn cho ý “Nam cao 1 mét 70”, có thể dùng: chieucao(nam, 170). Để diễn tả “An cao hơn Nam”?Các vấn đề trong biểu diễn tri thứcTri thức được biểu diễn đến mức chi tiết nào? Bằng cách nào thể hiện được meta-knowledge?Bằng cách nào thể hiện tính phân cấp của tri thức: các hình thức: kế thừa, ngoại lệ, trị mặc định, ngoại lệ, đa thừa kế phải đặc tả như thế nàoCác vấn đề trong biểu diễn tri thứcKhi mô tả đối tượng, bằng cách nào có thể tích hợp một tri thức thủ tục vào bản thân mô tả, khi nào thủ tục được thực hiệnVới số lượng lớn tri thức được chứa trong CSDL, Bằng cách nào truy xuất những thành phần cần thiết? Đặc điểm của hệ thống biểu diễn tri thứcKhả năng biểu diễn tất cả các tri thức cần thiết cho lĩnh vực đóKhả năng xử lý các cấu trúc sẵn có để sinh ra các cấu trúc mới tương ứng với tri thức mới được sinh ra từ tri thức cũKhả năng thêm vào cấu trúc những tri thức thông tin bổ sung mà nó có thể được dùng để hướng dẫn cơ chế suy luận theo hướng có nhiều triển vọng nhấtĐặc điểm của hệ thống biểu diễn tri thứcKhả năng thu được thông tin mới dễ dàngTrường hợp đơn giản nhất là chèn trực tiếp tri thức mới (do con người) vào cơ sở tri thức. Lý tưởng nhất là chương trình có thể kiểm soát việc thu được tri thứcTri thức có khả năng thừa kếMột dạng bổ sung cơ chế suy diễn vào cơ sở tri thức quan hệ nói trên, đó là: thừa kế thuộc tính. Thừa kế thuộc tính: Tổ chức các đối tượng thành các lớp (class). Các lớp được sắp xếp vào hệ thống phân cấp (hierachy) – có lớp cha (tổng quát) và lớp con (cụ thể).  Các lớp con thừa kế các thuộc tính từ lớp cha Tri thức có khả năng thừa kếTri thức suy diễnThừa kế thuộc tính ở trên là 1 dạng suy diễnLogic truyền thống: cung cấp dạng suy diễn mạnh hơnTri thức suy diễn: cần thủ tục suy diễn Thủ tục suy diễn: nhiều dạngForward (tiến): sự kiện  kết luậnBackward (lùi): kết luận  sự kiện đã choThủ tục thường dùng: resolutionTri thức thủ tụcTĩnh, dạng khai báo Một dạng tri thức khác: chỉ ra hành động được thi hành khi điều kiện nào đó thỏa → tri thức thủ tục Cách biểu diễn trong chương trìnhViết bằng các NNLT (VD LISP) ⇒ Máy sẽ thực thi mã để thực hiện công việc Tri thức thủ tục – Trở ngạiKhó viết CT suy diễn về hành vi của CT khácCập nhật/debug số lượng lớn mã → khó khăn Tri thức thủ tục dùng luật sinh (production rule)Luật sinh và cách sử dụng chúng: là định hướng hoạt động hơn các dạng biểu diễn nói trước đây. Tuy nhiên phân biệt đâu là tri thức khai báo hay thủ tục là một công việc khó khăn. Các thuộc tính quan trọng1. Instance Cho biết quan hệ thành viên giữa đối tượng và lớp nó thuộc vào 2. Isa Cho biết một lớp là con của lớp khác Cặp thuộc tính trên cho phép khả năng thừa kế thuộc tính Chúng có thể được gọi và biểu diễn khác nhau trong nhiều hệ thống tri thức Bằng cách nào biểu diễn hiệu quả chuỗi trạng thái cho bài toán tìm kiếm?Bài toán robot: on(Plant12, Table34). under(Table34, Window13). in(Table34, Room15). → 1 trạng thái = danh sách các facts trên.Khuyết: danh sách dài.từ trạng thái A → B: nhiều facts không thay đổiVấn đề khung: bài toán về biểu diễn facts thay đổi cùng với những facts không được biếtThực tế?Không một hệ thống nào có thể tối ưu tất cả các khả năng trên cho mọi kiểu tri thứcNhiều kỹ thuật dùng cho biểu diễn tri thức cùng tồn tại Thường dùng nhiều hơn 1 kỹ thuật biểu diễnBiểu diễn tri thức bằng logic mệnh đềAI: Phát triển các chương trình có khả năng suy luậnSuy luận giúp chương trình AI biết được tính đúng/sai của một vấn đề nào đóPhép toán vị từ  cung cấp một khả năng triển khai các quá trình suy diễn trên máy tínhPhép toán vị từ được hiện thực bằng ngôn ngữ lập trình trên máy tính PROLOGCú phápCú pháp của logic mệnh đề gồm tập các ký hiệu và tập các luật xây dựng công thứcCác ký hiệu Hai hằng logic: True và FalseKý hiệu mệnh đề (biến mệnh đề): P, Q, ... Các phép kết nối logic: ∧ (hội), ∨ (tuyển), ˥ (phủ định), ⇒ (kéo theo/ suy ra), ⇔ (tương đương)Cặp dấu ngoặc tròn: ( )  Cách đánh giá giá trị của phép toán: Bảng chân trịVí dụMệnh đề thực tế“Nếu trời mưa thì bầu trời có mây”Trời đang mưaVậy  Bầu trời có mâyMệnh đề logicP=“Trời mưa”Q= “Bầu trời có mây”Ta có hai phát biểu sau đúng:P QPTheo luật suy diễn  Q là đúng.Nghĩa là: “Bầu trời có mây”Ví dụMệnh đề thực tế“Nếu NAM có nhiều tiền thì NAM đi mua sắm”“Nam KHÔNG đi mua sắm”Vậy  Nam KHÔNG có nhiều tiềnMệnh đề logicP=“Nam có nhiều tiền”Q= “Nam đi mua sắm”Ta có hai phát biểu sau đúng:P Q QVậy theo luật suy diễn   P là đúng.Nghĩa là: “Nam KHÔNG có nhiều tiền”Mệnh đềMệnh đề:Mệnh đề là một phát biểu khai báoMệnh đề chỉ nhận một trong hai giá trị: ĐÚNG (True) hoặc SAI (False)Ví dụ:Ngày 01 tháng giêng là ngày tết cổ truyềnMôn bạn đang học là AIBảng chân trịPQ PPQP v QP=>QPQFalseFalseTrueFalseFalseTrueTrueFalseTrueTrueFalseTrueTrueFalseTrueFalseFalseFalseTrueFalseFalseTrueTrueFalseTrueTrueTrueTrueQui tắc xây dựng công thứcCác công thức là các ký hiệu mệnh đề sẽ được gọi là các câu đơn hoặc câu phân tửCác công thức không phải là câu đơn sẽ được gọi là câu phức hợpNếu P là ký hiệu mệnh đề thì P và ˥ P được gọi là literal, P là literal dương, còn ˥ P là literal âmNgữ nghĩaXác định ý nghĩa của các công thức trong thế giới thực bằng cách kết hợp mỗi ký hiệu mệnh đề với sự kiện nào đó trong thế giới hiện thựcKý hiệu mệnh đề có thể ứng với sự kiện nào đóSự kết hợp các kí hiệu mệnh đề với các sự kiện trong thế giới thực được gọi là một minh họa (interpretation)Một sự kiện chỉ có thể đúng hoặc sai. VD sự kiện “Paris là thủ đô nước Pháp” là đúngVí dụMệnh đề thực tế“Nam học giỏi, thông minh, đẹp trai”“Nam học giỏi hoặc thông minh”“Nam hoặc học giỏi, hoặc đẹp trai”“Nam thông mình thì học giỏi”Biểu thức mệnhđề P  Q  RP  Q(P  R) (P  R)Q  P P=“Nam học giỏi” ; Q=“Nam thông minh” ; R=“Nam đẹp trai”Dạng chuẩn tắcChuẩn hóa các công thứcĐưa các công thức về dạng thuận lợi cho việc lập luận, suy diễn. Sử dụng các phép biến đổi tương đương  có thể đưa một công thức bất kỳ về dạng chuẩn tắc Sự tương đương các công thứcA⇒B ≡ ¬A ∨ B A ⇔ B ≡ (A⇒B) ∧ (B⇒A) ¬(¬ A) ≡ ALuật De Morgan ¬(A ∨ B) ≡ ¬A ∧ ¬B¬(A ∧ B) ≡ ¬A ∨ ¬BSự tương đương các công thứcLuật giao hoán A ∨ B ≡ B ∨ AA ∧ B ≡ B ∧ ALuật kết hợp (A ∨ B) ∨ C ≡ A ∨ (B ∨ C)(A ∧ B) ∧ C ≡ A ∧ (B ∧ C)Luật phân phối A ∧ (B ∨ C) ≡ (A ∧ B) ∨ (A ∧ C)A ∨ (B ∧ C) ≡ (A ∨ B) ∧ (A ∨ C)Chuyển thành dạng chuẩn tắcĐể dễ dàng viết các chương trình máy tính  đưa chúng về dạng biểu diễn dạng chuẩn hội Một công thức ở dạng chuẩn hội nếu nó là hội của các câu tuyểnCách thực hiệnBỏ các dấu kéo theo (⇒) bằng cách thay (A⇒B) bởi (¬AvB) Chuyển các dấu phủ định (¬) vào sát các ký hiệu mệnh đề bằng cách áp dụng luật De Morgan và thay ¬ (¬A) bởi A Áp dụng luật phân phối, thay các công thức có dạng A∨(B∧C) bởi (A ∨ B) ∧ (A ∨ B) Ví dụ chuẩn hóa (P ⇒ Q) ∨ ¬(R ∨ ¬S)(P ⇒ Q) ∨ ¬ (R ∨ ¬S) (¬P ∨ Q) ∨ ¬ (R ∨ ¬S) : Loại bỏ dấu ⇒ (¬P ∨ Q) ∨ (¬R ∧ S) : Luật De Morgan ((¬P ∨ Q) ∨ ¬R) ∧ ((¬ P ∨ Q) ∨ S) : Luật phân phối(¬ P ∨ Q ∨ ¬ R) ∧ (¬ P ∨ Q ∨ S) Tập hợp các câu tuyển Câu HornMọi công thức đều có thể đưa về dạng chuẩn hội, có dạng: ¬P1 ∨... ..∨ ¬Pm ∨ Q1 ∨.....∨ Qntương đương với: P1 ∧ ... ∧ Pm => Q1 ∨ ... ∨ Qn gọi là câu Kowalski (do nhà logic Kowalski đưa ra năm 1971) Khi n 0, n=1, câu Horn có dạng: P1 ∧ ... ∧ Pm => Q Có thể biểu diễn thành các luật if-then: If P1 and ... and Pm then QLuật suy diễnH được xem là hệ qủa logic (logical consequence) của một tập công thức G ={G1,.....,Gm} nếu trong bất kỳ minh họa nào mà {G1,... ..,Gm} đúng thì H cũng đúngDùng các tri thức trong cơ sở để suy ra tri thức mới mà nó là hệ quả logic của các công thức trong cơ sở tri thức: sử dụng các luật suy diễn (rule of inference)Một luật suy diễn gồm hai phần: một tập các điều kiện và một kết luậnMột số luật suy diễn quan trọngLuậtĐiều kiệnKết luậnModus Ponens  , Modus Tollens   , ¬¬Bắc cầu   ,     Loại bỏ hội1   i   miĐưa vào hội1, , i, , m1   i   mĐưa vào tuyểni1   i   mPhân giải  , ¬      Một luật suy diễn được xem là tin cậy nếu bất kỳ một mô hình nào của giả thiết của luật cũng là mô hình kết luận của luậtTiên đề, định lý, chứng minhCác luật suy diễn cho phép suy ra các công thức mới từ các công thức đã có bằng một dãy áp dụng các luật suy diễnCác công thức đã cho được gọi là các tiên đềCác công thức được suy ra được gọi là các định lýDãy các luật được áp dụng để dẫn tới định lý được gọi là một chứng minh của định lýNếu các luật suy diễn là tin cậy, thì các định lý là hệ quả logic của các tiên đềVí dụGiả sử có các công thức: Q ∧ S ⇒ G ∨ H (1)P ⇒ Q (2)R ⇒ S (3)P (4)R (5) Cần chứng minh công thức G∨HÁp dụng luật Modus Ponens: Từ (2) và (4) suy ra Q. Từ (3) và (5) suy ra STừ Q, S ta suy ra Q∧S (luật đưa vào hội)Từ (1) và Q∧S ta suy ra G∨H Công thức G∨H đã được chứng minhVấn đề chứng minh phép suy diễnTính đúng đắn của phép suy diễn: a → b?Hai phép suy luận cơ bản của logic mệnh đề (Modus Ponens, Modus Tollens) cộng với các phép biến đổi hình thức  có thể chứng minh được phép suy diễnTuy nhiên, thao tác biến đối hình thức là rất khó cài đặt trên máy tínhVấn đề chứng minh phép suy diễnCông cụ máy tính có thể dễ dàng chứng minh được mọi bài toán bằng cách lập bảng chân trị  Độ phức tạp của phương pháp này là quá lớn: O (2n) với n là số biến mệnh đềPhương pháp chứng minh mệnh đề với độ phức tạp chỉ có O(n): Thuật giải Vương Hạo và RobinsonThuật giải Vương HạoB1 : Phát biểu lại giả thiết và kết luận của vấn đề theo dạng chuẩn sau: GT1, GT2, ..., GTn → KL1, KL2, ..., KLmTrong đó các GTi và KLi là các mệnh đề được xây dựng từ các biến mệnh đề và 3 phép nối cơ bản : ∧, ∨, ¬B2 : Chuyển vế các GTi và KLi có dạng phủ định Thuật giải Vương HạoVí dụ: p ∨ q, ¬ (r ∧ s), ¬ g, p ∨ r → s, ¬ p chuyển thành: p ∨ q, p ∨ r , p →(r ∧ s), g, s Thuật giải Vương HạoB3 : Nếu GTi có phép ∧ thì thay thế phép ∧ bằng dấu ",“. Nếu KLi có phép ∨ thì thay thế phép ∨ bằng dấu "," Ví dụ: p ∧ q , r ∧ (¬ p ∨ s) →¬ q, ¬ s chuyển thành: p, q, r, ¬ p ∨ s → ¬ q, ¬ sB4 : Nếu GTi có phép ∨ thì tách thành hai dòng con. Nếu ở KLi có phép ∧ thì tách thành hai dòng con Thuật giải Vương HạoVí dụ : p, ¬ p ∨ q →qtách thành: p, ¬ p →q và p, q →qThuật giải Vương HạoB5 : Một dòng được chứng minh nếu tồn tại chung một mệnh đề ở cả hai phía Ví dụ: p, q → q được chứng minhB6 : a) Nếu một dòng không còn phép nối ∧ và phép nối ∨ ở cả hai vế và 2 vế không có chung biến mệnh đề thì dòng đó không được chứng minhb) Một vấn đề được chứng minh nếu tất cả dòng dẫn xuất từ dạng chuẩn ban đầu đều được chứng minhThuật giải Vương Hạo – Ví dụChứng minh: giả thuyết p  q, q  r suy ra p  r Cần chứng minh: p  q, q  r  p  rB1: p  q, q  r  p  rB3: p  q, q  r  p, r p  q, q  r, p  rB4: Tách mệnh đề đầu p , q  r, p  r (1) q, q  r, p  r (2)Thuật giải Vương Hạo – Ví dụTừ (1): q  r, p  r, p: được chứng minhTừ (2): q, q  r, p  r tách thành q, q, p  r (2.1) q, r, p  r (2.2): được chứng minhTừ (2.1): q, p  r, q: được chứng minhKết luận: p  q, q  r  p  rBài tậpp ∧ (¬ p ∨ q) → q(p ∨ q)∧ (¬ p ∨ r) → q ∨ r(a ∧ b) → c, (b ∧ c) → d, ¬d. Chứng minh: a → bThuật giải RobinsonThuật giải này hoạt động dựa trên phương pháp chứng minh phản chứng và phép hợp giải Robinson. Chứng minh phản chứng:Chứng minh phép suy luận (a → b) là đúng (với a là giả thiết, b là kết luận). Phản chứng : giả sử b sai suy ra ¬ b là đúng. Thuật giải RobinsonPhép hợp giải Robinson:p ∧ (¬ p ∨ q) →q(p ∨ q)∧ (¬ p ∨ r) →q ∨ rBài toán được chứng minh nếu: a đúng và ¬ b đúng sinh ra một mâu thuẫnThuật giải RobinsonB1 : Phát biểu lại giả thiết và kết luận của vấn đề dưới dạng chuẩn như sau: GT1, GT2, ..., GTn → KL1, KL2, ..., KLmTrong đó : GTi và KLj được xây dựng từ các biến mệnh đề và các phép toán : ∧, ∨, ¬B2 : Nếu GTi có phép ∧ thì thay bằng dấu ",“. Nếu KLi có phép ∨ thì thay bằng dấu ","B3 : Biến đổi dòng chuẩn ở B1 về thành danh sách mệnh đề như sau: { GT1, GT2, ..., GTn , ¬ KL1, ¬ KL2, ..., ¬ KLm }Thuật giải RobinsonB4 : Nếu trong danh sách mệnh đề ở B2 có 2 mệnh đề đối ngẫu nhau thì bài toán được chứng minh. Ngược lại thì chuyển sang B5. (a và ¬a gọi là hai mệnh đề đối ngẫu)B5 : Xây dựng mệnh đề mới bằng cách tuyển một cặp trong mệnh đề ở B2. Nếu mệnh đề mới có các biến mệnh đề đối ngẫu thì các biến đó được loại bỏ.B6 : Áp dụng phép hợp giảip ∧ (¬ p ∨ q) → q (p ∨ q)∧ (¬ p ∨ r) → q ∨ rThuật giải RobinsonNếu không xây dựng được thêm một mệnh đề mới nào và trong danh sách mệnh đề không có 2 mệnh đề nào đối ngẫu nhau thì vấn đề không được chứng minh Thuật giải Robinson – Ví dụChứng minh: (¬p ∨ q) ∧ (¬q ∨ r) ∧ (¬r ∨ s) ∧ (¬u ∨ ¬s) → ¬p ∨ ¬uB2: ¬ p ∨ q, ¬ q ∨ r, ¬ r ∨ s, ¬ u ∨ ¬s → ¬ p, ¬u B3: Danh sách mệnh đề: {¬ p ∨ q, ¬ q ∨ r, ¬ r ∨ s, ¬ u ∨ ¬s, p, u}B4: Có 6 mệnh đề nhưng không đối ngẫu sang B5Thuật giải Robinson – Ví dụB5: Chọn cặp mệnh đề ¬ p ∨ q ∨ ¬ q ∨ r  ¬ p ∨ rB6: Danh sách mệnh đề mới: {¬ p ∨ r , ¬ r ∨ s, ¬ u ∨ ¬s, p, u} chưa có cặp mệnh đề đối ngẫuChọn cặp mệnh đề ¬ p ∨ r ∨ ¬ r ∨ s  ¬ p ∨ sDanh sách mệnh đề mới: {¬ p ∨ s, ¬ u ∨ ¬s, p, u} chưa có cặp mệnh đề đối ngẫu{¬ p ∨ q, ¬ q ∨ r, ¬ r ∨ s, ¬ u ∨ ¬s, p, u}Thuật giải Robinson – Ví dụChọn cặp mệnh đề ¬ p ∨ s ∨ ¬ u ∨ ¬s  ¬ p ∨ ¬ uDanh sách mệnh đề mới: {¬ p ∨ ¬ u, p, u} chưa có căp mệnh đề đối ngẫuChọn cặp mệnh đề ¬ p ∨ ¬ u ∨ p  ¬ uDanh sách mệnh đề mới: {¬ u, u} có cặp mệnh đề đối ngẫu  Biểu thức ban đầu được chứng minh{¬ p ∨ s, ¬ u ∨ ¬s, p, u} Bài tậpChứng minh: {p → q, q → r, r → s, p}  p ∧ sQ&A

Các file đính kèm theo tài liệu này:

  • pptxchuong3_bieudientrithuc_9496.pptx
Tài liệu liên quan