1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Suy Luận Tự Động - CÁC CHỦ ĐỀ NÂNG CAO pdf

17 698 5
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 417,69 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mục tiêu cần đạt : Sau chương này, sinh viên có thể : ¾ Vận dụng giải thuật chuyển câu về dạng mệnh đề ¾ Vận dụng giải thuật Hợp giải để chứng minh các vấn đề được biểu diễn bằng ngôn n

Trang 1

PHẦN IV

CÁC CHỦ ĐỀ NÂNG CAO

Phần này sẽ khảo sát hai lĩnh vực TTNT quan trọng: suy luận tự động và máy học; đây là các lĩnh vực mà sự phát triển của chúng ảnh hưởng sâu sắc đến định hướng của toàn thể ngành khoa học TTNT

Trong lời mở đầu của phần III, chúng ta đã thảo luận những ưu và khuyết điểm của các hệ giải quyết vấn đề (GQVĐ) theo phương pháp yếu Những vấn đề về các phương pháp yếu bao gồm tính phức tạp của không gian tìm kiếm và những khó khăn trong việc biểu diễn tri thức về thế giới bằng những biểu diễn tổng quát Mặc cho những thành công của các hệ chuyên gia và các hệ GQVĐ theo phương pháp mạnh tương tự, nhiều lĩnh vực vẫn đòi hỏi phải có các phương pháp tổng quát; mà thực chất, chiến lược điều khiển của bản thân các hệ chuyên gia đều dựa trên những phương pháp GQVĐ yếu tốt Nhiều nghiên cứu hứa hẹn về

các hệ GQVĐ theo phương pháp yếu tiếp tục được tiến hành bởi cộng đồng chứng minh định

lý tự động Những kỹ thuật này đã tìm thấy ứng dụng của mình trong nhiều lĩnh vực quan

trọng, trong đó có thiết kế và kiểm chứng mạch điện tích hợp, chứng minh tính đúng đắn của chương trình, và một cách gián tiếp, sự ra đời của ngôn ngữ PROLOG Trong chương 8, chúng ta sẽ xem xét các vấn đề xung quanh suy luận tự động

Chương 9 giới thiệu máy học, một trong những vấn đề nghiên cứu trung tâm của TTNT hiện nay Trong chương này, chúng ta xem xét 3 tiếp cận học khác nhau Tiếp cận thứ nhất là học dựa trên ký hiệu Bằng cách bắt đầu với một tập hợp các ký hiệu biểu diễn những thực thể và quan hệ trong một lĩnh vực vấn đề, các thuật toán học cố gắng suy ra những khái quát mới lạ,

có căn cứ và hữu ích mà có thể thể hiện được qua những ký hiệu

Ngược lại với tiếp cận ký hiệu, tiếp cận kết nối thì biểu diễn tri thức như là những hình mẫu của sự hoạt động trong mạng các đơn vị xử lý nhỏ, riêng lẻ Được thúc đẩy bởi kiến trúc não

bộ, các mạng liên hệ học bằng cách sửa đổi cấu trúc của chúng nhằm đáp ứng với dữ liệu luyện tập Thay vì tìm kiếm những khái quát có khả năng mà một ngôn ngữ biểu diễn ký hiệu có thể đem lại, các mô hình liên hệ nhận biết những hình mẫu bất biến trong dữ liệu và biểu diễn những mẫu này theo cấu trúc của chính bản thân chúng

Cũng giống như mạng kết nối được thúc đẩy bởi hệ nơron sinh học, các mô hình nổi trội của tiếp cận thứ ba được thúc đẩy bởi các phép tương tự di truyền và tiến hóa Các thuật toán di truyền bắt đầu bằng một quần thể những lời giải ứng cử viên Những lời giải ứng viên này sẽ được đánh giá theo khả năng giải quyết bài toán, chỉ có những lời giải phù hợp nhất mới sống sót và kết hợp với nhau để tạo ra thế hệ tiếp theo những lời giải có khả năng Do đó, những lời giải có tốt hơn sẽ tăng dần và nổi lên như thuyết Darwin về vũ trụ

Trang 2

Chương VIII

SUY LUẬN TỰ ĐỘNG (AUTOMATIC

REASONING)

Nội dung chính : Trong chương này, chúng ta sẽ tìm hiểu về một thành quả của nhánh

nghiên cứu Suy luận tự động đã được giới thiệu ở chương I, đó là phương pháp chứng minh hợp giải (Resolution) hay còn gọi là thủ tục hợp giải

Mục tiêu cần đạt : Sau chương này, sinh viên có thể :

¾ Vận dụng giải thuật chuyển câu về dạng mệnh đề

¾ Vận dụng giải thuật Hợp giải để chứng minh các vấn đề được biểu diễn bằng ngôn ngữ logic mệnh đề

¾ Vận dụng giải thuật Hợp Giải để chứng minh các vấn đề được biểu diễn bằng ngôn ngữ logic vị từ

Kiến thức tiên quyết: Ngôn ngữ logic mệnh đề, ngôn ngữ logic vị từ, phương pháp chứng

minh dẫn xuất, phép đối sánh mẫu trong logic vị từ

Tài liệu tham khảo :

[1] Geogre F Luger – Artificial Intelligence, Structures and Strategies for Complex Problem

Solving 4 th Ed – Addison-Wesley Publishing Company, Inc – 2002 (trang 509 – trang 552) [2] Elaine Rich, Kevin Knight – Artificial Intelligence, 2 nd Ed McGraw Hill, Inc – 1991

(trang 131 – trang 169)

Trang 3

I GIỚI THIỆU:

Như đã giới thiệu trong chương I, suy luận tự động có thể xem là nhánh nghiên cứu lâu đời nhất của AI, bắt nguồn từ Logic Theorist và General Problem Solver của Newell và Simon Sức hấp dẫn của suy luận tự động nằm trong tính chặt chẽ và tổng quát của logic Bởi vì logic là một hệ thống hình thức, nên ta có thể tự động hóa nó Rất nhiều vấn đề khác nhau có thể giải quyết được bằng cách biểu diễn các mô tả vấn đề và các thông tin liên quan ở dạng các tiên đề luận lý và xem bài toán như là các định lý cần chứng minh

Nổ lực của các nhà khoa học trong lĩnh vực này là tự động hóa quá trình chứng minh các định lý dựa vào các tiên đề cơ sở Mặc dù cho đến nay vẫn chưa đạt được mục tiêu ban đầu, nhưng nhánh nghiên cứu này đã tạo ra nhiều kết quả rất quan trọng trong việc hình thức hóa các giải thuật tìm kiếm và phát triển các ngôn ngữ biểu diễn hình thức như Đại số quan hệ

mà ta đã học ở chương II

Trong chương này ta sẽ tiếp tục khảo sát một trong những thành quả của lĩnh vực này, đó là phương pháp chứng minh Hợp Giải (resolution) Một ứng dụng quan trọng của hợp giải đó là làm nền tảng cho trình thông dịch của ngôn ngữ PROLOG đang được sử dụng hiện nay Hợp giải là một kỹ thuật chứng minh định lý được biểu diễn bằng đại số mệnh đề hay đại số

vị từ Hợp giải được phát triển vào giữa thập niên 60 do Robinson đề xướng Hợp giải sử dụng phản chứng để chứng minh một vấn đề Hay nói cách khác, để chứng minh một câu (nghĩa là chứng minh câu này đúng), hợp giải sẽ chỉ ra rằng phủ định của câu sẽ tạo ra một mâu thuẫn với các câu đã biết Tiếp cận này trái ngược với kỹ thuật mà chúng ta đã sử dụng

để chứng minh ở chương II, chương III, tức là sử dụng phép dẫn xuất để chứng minh

Trước khi đi vào phương pháp chứng minh hợp giải, chúng ta sẽ xem một ví dụ sử dụng Logic Vị Từ để biểu diễn tri thức và sử dụng phép dẫn xuất ở chương II để chứng minh

Thí dụ 8.1: Xét ví dụ với tập hợp các câu như sau:

1 Marcus was a man

2 Marcus was a Pompeian

3 All Pompeians were Romans

4 Caesar was a ruler

5 All Romans were either loyal to Caesar or hated him

6 Everyone is loyal to someone

7 People only try to assasinate rulers they are not loyal to

8 Marcus tried to assasinate Caesar

Hãy chứng minh ‘Was Marcus loyal to Caesar?’

Các câu trên có thể được biểu diễn dưới dạng các câu hay công thức dạng chuẩn (wff) trong ngôn ngữ Phép tính vị từ như sau:

1) man (marcus)

Trang 4

2) pompeian (marcus)

3) ∀X pompeian (X) → roman(X)

4) ruler (caesar)

5) ∀X roman(X) → loyalto (X, caesar) ∨ hate(X, caesar)

6) ∀X, ∃Y loyalto (X,Y)

7) ∀X, ∀Y person(X) ∧ ruler(Y) ∧ trytoassasinate(X) → ¬loyalto (X,Y)

8) trytoassasinate (marcus, caesar)

Chứng minh ¬loyalto(marcus, caesar)

Để chứng minh mục tiêu trên, chúng ta sử dụng luật suy diễn để biến đổi thành mục tiêu mới (hay nhiều mục tiêu con mới), và cứ tiếp tục cho đến khi không còn mục tiêu nào chưa thỏa mãn

Quá trình này có thể biểu diễn bằng một đồ thị AND/OR Ở đây, để đơn giản ta chỉ vẽ một đường duy nhất

Hình bên dưới minh họa một cách chứng minh cho mục tiêu trên:

¬loyalto (marcus, caesar)

↑ (câu 7, {marcus/X, ceasar/Y}) person (marcus) ∧ ruler (caesar) ∧ trytoassasinate (marcus, caesar)

↑ (câu 4) person (marcus) ∧ trytoassasinate (marcus, caesar)

↑ (câu 8)

person (marcus)

Đến đây ta gặp phải một vấn đề là mặc dù chúng ta biết Marcus là một người đàn ông (man), chúng ta không có cách nào kết luận Marcus là một người (person) Vì vậy, ta phải thêm vào

cơ sở tri thức một câu như sau:

9) ∀X man (X) ∨ woman (X) → person(X)

Với câu 9 vừa thêm vào, ta có thể chứng minh thành công mục tiêu trên

Từ chứng minh trên, chúng ta có nhận xét như sau:

− Thậm chí các kết luận rất đơn giản cũng đòi hỏi phải chứng minh qua nhiều bước

− Quá trình tạo ra một chứng minh có liên quan đến nhiều quá trình khác nhau như quá trình đối sánh, thay thế, áp dụng luật Modus Ponens Quá trình này sẽ phức tạp hơn nếu như các luật có nhiều từ hai mục ở vế phải hay vế trái gồm nhiều biểu thức phức tạp And hay Or với nhau

Từ những nhận xét này cho thấy việc xây dựng một chương trình có thể chứng minh được như con người là không dễ dàng chút nào Vì vậy, ta cần một phương pháp chứng minh đơn giản hơn Và Hợp Giải (resolution) ra đời như là một công cụ chứng minh hiện đại và mạnh

Trang 5

mẽ hơn cho ngành suy luận tự động Sự đơn giản trong phép chứng minh của hợp giải xuất phát từ nguyên nhân: Thay vì suy luận trên các câu vị từ, hợp giải thao tác trên các câu đã được chuyển thành một dạng chuẩn trước khi bắt đầu quá trình chứng minh để làm giảm tính phức tạp của vấn đề Phần còn lại của chương này sẽ giới thiệu về thủ tục Hợp giải này

II THỦ TỤC HỢP GIẢI (RESOLUTION)

Thủ tục hợp giải chứng minh bằng phản chứng (refutation) Nghĩa là để chứng minh một câu, nó sẽ chứng minh rằng phủ định của câu đó sẽ tạo ra một mâu thuẫn với các câu đã cho Nhưng trước khi áp dụng thủ tục Robinson, các câu sẽ được chuyển về một dạng chuẩn mà

ta gọi là dạng mệnh đề (clause form)

II.1 Chuyển về dạng mệnh đề (Clause form):

II.1.1 Nhu cầu chuyển câu về dạng mệnh đề:

Giả sử chúng ta có một luật như sau: “Tất cả những người Roman biết Marcus thì hoặc là sẽ ghét Caesar hoặc nghĩ rằng bất cứ ai ghét người khác là điên rồ”, ta có thể biểu diễn tri thức này dưới dạng một công thức dạng chuẩn (wff) như sau:

∀X [roman (X) ∧ know (X,marcus) →

[hate(X,caesar) ∨ (∀Y (∃Z hate(Y,Z) → thinkcrazy(X,Y) ) )]] (1)

Để sử dụng công thức này trong một chứng minh đòi hỏi một quá trình đối sánh phức tạp Quá trình này sẽ dễ dàng hơn nếu công thức được biểu diễn ở dạng đơn giản hơn Công thức

sẽ dễ dàng thao tác hơn nếu chúng nó:

− Phẳng hơn, nghĩa là có ít thành phần được nhúng vào

− Các lượng tử biến (∀,∃) được tách khỏi phần còn lại của công thức để ta khỏi bận tâm xem xét chúng

Dạng chuẩn Conjunctive Normal Form (CNF) hội đủ cả hai tính chất này

CNF (Dạng chuẩn hội) : một biểu thức mệnh đề được xem là ở dạng chuẩn hội nếu nó là một chuỗi các mệnh đề kết nối nhau bằng quan hệ AND (∧) Mỗi mệnh đề có dạng một tuyển OR (∨) của các biến mệnh đề

Thí dụ 8.2: Các biểu thức sau ở dạng CNF :

• (¬a ∨ c) ∧ (¬a ∨¬b ∨ e) ∧ (c ∨ ¬d ∨ ¬e)

• (¬dog(X) ∨ animal(X)) (¬animal(Y) die(Y)) ∧ (dog(fido))

Công thức (1) được biểu diễn tương đương ở dạng CNF như sau:

¬ roman (X) ∨ ¬ know (X,Marcus) ∨

hate(X,Caesar) ∨ ¬ hate(Y,Z) ∨ thinkcrazy(X,Y)

Một vấn đề trong thực tế khi được biểu diễn trong hệ thống thường là ở dạng các câu đúng

cùng một lúc (vì vậy đó là hội của các câu), mỗi câu có thể được biểu diễn bằng một tuyển

Vì vậy, tri thức của bài toán có thể được biểu diễn như là hội của các tuyển

Trang 6

Ta có sẵn một giải thuật để chuyển bất kỳ một câu trong Logic vị từ hay công thức dạng chuẩn (wff) về dạng CNF, mà vẫn không làm mất tính tổng quát nếu chúng ta sử dụng một thủ tục chứng minh như Hợp giải để thao tác trên các wff ở dạng này

Vì vậy, để có thể sử dụng thủ tục Robinson, ta phải chuyển toàn bộ tri thức bài toán về dạng

CNF hay nói khác hơn, chuyển từng câu về dạng mệnh đề (clauses)

* Định nghĩa mệnh đề:

Một mệnh đề được định nghĩa như là một wff ở dạng CNF nhưng không có sự hiện diện của phép hội (∧), hay nói khác hơn mỗi mệnh đề là tuyển (∨) của các biến mệnh đề (literal) Trong thí dụ 8.2 ở trên, dog(X), animal(X), là các biến mệnh đề

II.1.2 Giải thuật chuyển về dạng mệnh đề:

Bước 1 Loại bỏ dấu → sử dụng công thức tương đương a → b = ¬a ∨ b

Bước 2 Thu hẹp phạm vi của toán tử ¬ về cho từng mục (term) đơn, sử dụng các tương đương:

a ¬(¬p) = p

b Luật De Morgan:¬(a ∧ b) = ¬a ∨ ¬b hay ¬(a ∨ b) = ¬a ∧ ¬b

c ¬∀X p(X) = ∃X ¬p(X) hay ¬∃X p(X) = ∀X ¬p(X)

Bước 3 Chuẩn hóa các biến sao cho mỗi lượng tử chỉ kết nối với một biến duy nhất

Vì các biến chỉ đơn giản là các tên để ‘giữ chỗ’, nên quá trình này không làm ảnh hưởng đến chân trị của wff

Ví dụ: ∀X p(X) ∨ ∀X q(X) có thể chuyển thành ∀X p(X) ∨ ∀Y q(Y)

Bước 4 Dịch chuyển tất cả các lượng tử về bên trái của công thức nhưng vẫn giữ

nguyên thứ tự của chúng

Bước 5 Xóa bỏ các lượng tử tồn tại (∃) Chúng ta có thể loại bỏ lượng tử tồn tại bằng cách thay thế biến đó bằng một hàm sinh ra giá trị mong muốn Ta chỉ cần một hàm mới cho mỗi lần thay thế như vậy

Ví dụ: ∃Y president(Y) được chuyển thành president(S1)

Với S1 là một hàm tạo ra giá trị thỏa mãn vị từ president

Trong trường hợp lượng tử tồn tại xuất hiện bên trong phạm vi của lượng tử phổ biến, thì giá trị thỏa mãn vị từ này sẽ phải phụ thuộc vào giá trị của biến lượng tử tồn tại

Ví dụ: ∀X ∃Y father_of (Y,X)

được chuyển thành ∀X father_of (S2(X),X)

Các hàm (S1, S2) này được gọi là hàm Skolem Đôi khi các hàm Skolem không

có đối số được gọi là hằng Skolem như S2

Bước 6 Bỏ đi các tiền tố (lượng tử phổ biến)

Bước 7 Chuyển công thức về dạng hội của các tuyển Sử dụng luật phân phối

(a ∧ b) ∨ c = (a ∨ c) ∧ (b ∨ c) hay (a ∨ b) ∧ c = (a ∧ c) ∨ (b ∧ c)

Ví dụ:

(winter ∧ wearingboots) ∨ (summer ∧ wearingsandals)

Ö [ (winter ∨ (summer ∧ wearingsandals) ]

∧ [ wearingboots ∨ (summer ∧ wearingsandals)]

Ö (winter ∨ summer) ∧

Trang 7

(winter ∨ wearingsandals) ∧ (wearingboots ∨ summer) ∧ (wearingboots ∨ wearingsandals)

Bước 8 Tạo ra các mệnh đề tách biệt tương ứng với từng toán hạng tuyển trên

Ví dụ ở bước 7: từ kết quả ở bước 7, ta có thể tách thành 4 mệnh đề

Bước 9 Chuẩn hoá các biến trong tập hợp các mệnh đề vừa tạo ở bước 8, nghĩa là đặt

lại tên cho các biến sao cho không có hai mệnh đề có cùng tên biến

Câu hỏi :

Hãy skolemize các biểu thức sau:

1 ∃ X dog(X)

2 (∀X) (∃Y) mother (X,Y)

3 (∀X) (∀Y) (∃Z) (∀W) ( foo(X, Y, Z, W))

Thí dụ 8.3: Áp dụng giải thuật trên, hãy chuyển câu vị từ ở ví dụ Thí dụ 8.1 về dạng mệnh đề

:

∀X [roman (X) ∧ know (X,marcus) →

[hate(X,caesar) ∨ (∀Y (∃Z hate(Y,Z) → thinkcrazy(X,Y) ) )]]

1 Loại bỏ dấu →

∀X [ ¬ (roman (X) ∧ know (X,marcus)) ∨

[hate(X,caesar) ∨ (∀Y ( ¬(∃Z hate(Y,Z)) ∨ thinkcrazy(X,Y)) )]]

2 Đưa ¬ vào trong

∀X [(¬roman (X) ∨ ¬know (X,marcus)) ∨

[hate(X,caesar) ∨ (∀Y (∀Z (¬hate(Y,Z) ) ∨ thinkcrazy(X,Y)))]]

3 Chuẩn hoá các biến 9

4 Dịch chuyển tất cả các lượng tử về bên trái:

∀X ∀Y ∀Z [(¬roman (X) ∨ ¬know (X,marcus) ) ∨

[hate(X,caesar) ∨ (¬hate(Y,Z) ∨ thinkcrazy(X,Y))]]

5 Xoá bỏ các lượng tử tồn tại 9

6 Bỏ đi lượng tử phổ biến

[(¬roman (X) ∨ ¬know (X,marcus) ) ∨

[hate(X,caesar) ∨ (¬hate(Y,Z) ∨ thinkcrazy(X,Y))]]

7 Chuyển thành hội của các tuyển: vì trong công thức trên không còn toán tử And, nên

ở đây ta chỉ đơn giản là bỏ đi các dấu ngoặc là ta có được công thức ở dạng mệnh đề như sau:

¬roman (X) ∨ ¬know (X,marcus) ∨

hate(X,caesar) ∨ ¬hate(Y,Z) ∨ thinkcrazy(X,Y)

Câu hỏi :

Đưa câu vị từ sau về dạng mệnh đề:

∀X ( a(X)→ b(X) ) ↔ ∃X q(X)

Trang 8

II.2 Cơ sở của Hợp giải (Resolution):

Thủ tục hợp giải là một quá trình lặp đơn giản: ở mỗi lần lặp, hai mệnh đề, gọi là mệnh đề

cha, được so sánh (hay giải quyết - resolved), để tạo ra mệnh đề kết quả, trong đó những biến

mệnh đề mâu thuẫn nhau sẽ bị loại bỏ Để hiểu lý do loại bỏ hai biến mệnh đề mâu thuẫn này, ta xét một trường hợp sau

Giả sử trong hệ thống có hai mệnh đề (nghĩa là cùng lúc cả hai mệnh đề đều phải đúng): winter ∨ summer và ¬winter ∨ cold

Tại bất kỳ thời điểm nào, chỉ có một trong hai biến mệnh đề winter và ¬winter là đúng Nếu winter đúng, thì buộc cold phải đúng Còn nếu ¬winter đúng thì buộc summer phải

đúng Vì vậy, từ hai mệnh đề trên có thể dẫn xuất thành:

summer ∨ cold

Đây chính là dẫn xuất mà hợp giải sẽ sử dụng Hợp giải sẽ thao tác trên hai mệnh đề có chứa

cùng biến mệnh đề (trong ví dụ trên là winter) Biến mệnh đề này phải ở dạng khẳng định

trong một mệnh đề, và ở dạng phủ định trong mệnh đề kia Kết quả đạt được bằng cách kết hợp hai mệnh đề cha trừ đi biến mệnh đề chung đó

Nếu mệnh đề kết quả là rỗng thì xem như đã tìm được sự mâu thuẫn (contradiction), nghĩa là

mục tiêu đã được chứng minh

Trong hai phần kế tiếp, ta sẽ xét giải thuật hợp giải sử dụng trong hai trường hợp, đó là trường hợp vấn đề được biểu diễn bằng ngôn ngữ logic mệnh đề và trường hợp vấn đề được biểu diễn bằng ngôn ngữ logic vị từ

II.3 Giải thuật hợp giải dùng cho Logic mệnh đề:

Cho trước: Tập hợp các tiên đề (axioms) F viết dưới dạng các câu trong phép tính mệnh đề Yêu cầu: Chứng minh P

Trang 9

* Giải thuật Hợp giải dùng cho Phép tính mệnh đề (Propositional Logic):

Bước 1 Chuyển tất cả các câu trong F về dạng mệnh đề (clause form)

Bước 2 Lấy phủ định P và chuyển về dạng mệnh đề Thêm nó vào tập các mệnh đề

vừa tạo ở bước 1

Bước 3 Lặp lại cho đến khi tìm thấy sự mâu thuẫn hoặc không thể tiếp tục:

a Chọn hai mệnh đề Gọi là các mệnh đề cha

b Hợp giải chúng Mệnh đề kết quả là tuyển của tất cả các biến mệnh đề trong

các mệnh đề cha trừ: nếu có bất kỳ các cặp biến mệnh đề L và ¬L, một nằm trong mệnh đề cha này, một nằm trong mệnh đề cha kia, thì chọn một cặp và xóa cả hai L và ¬L ra khỏi mệnh đề kết quả

c Nếu mệnh đề kết quả là rỗng, thì xem như đã tìm được sự mâu thuẫn

Nếu không, thêm mệnh đề kết quả đó vào trong tập hợp các mệnh đề hiện có

Thí dụ 8.4:

Các câu cho trước Chuyển về dạng mệnh đề

P P (1)

T T (5)

Hãy chứng minh R Các bước thực hiện của thủ tục hợp giải được biểu diễn trong đồ thị hợp

giải (hay cây hợp giải) dưới đây:

¬T ∨ Q ¬Q

¬T T

†

II.4 Giải thuật hợp giải dùng cho Logic vị từ

Trong trường hợp biểu diễn bằng Logic mệnh đề, việc xác định hai biến mệnh đề mâu thuẫn

(không thể đúng cùng lúc) là rất dễ dàng, chỉ cần đơn giản tìm L và ¬L Trong khi biểu diễn

bằng Logic vị từ, quá trình đối sánh này phức tạp hơn vì cần phải xem xét các đối số của vị

từ Chẳng hạn như, man(John) và ¬man(John) thì mâu thuẫn, còn man(John) và ¬man(Spot)

thì không Vì vậy, để xác định các cặp mâu thuẫn, ta cần một thủ tục để so sánh các biến

mệnh đề và tìm xem liệu có tồn tại tập phép thế nào làm cho chúng giống nhau Đó chính là

giải thuật đồng nhất (unification) mà ta đã thảo luận ở chương II

Cho trước: Tập hợp các tiên đề F viết dưới dạng các câu trong phép tính vị từ

Yêu cầu: Chứng minh P

Trang 10

* Giải thuật Hợp giải dùng cho Phép tính vị từ (Predicate Logic):

Bước 1 Chuyển tất cả các câu trong tập F về dạng mệnh đề (clause form)

Bước 2 Lấy phủ định của P và chuyển về dạng mệnh đề Thêm nó vào tập các mệnh

đề vừa tạo ở bước 1

Bước 3 Lặp lại cho đến khi tìm thấy sự mâu thuẫn hay không thể tiếp tục:

a Chọn hai mệnh đề Gọi là các mệnh đề cha

b Hợp giải chúng Mệnh đề kết quả là tuyển của tất cả các biến mệnh đề trong các mệnh đề cha với các phép thế phù hợp và trừ đi: nếu có một cặp biến mệnh đề T1 và ¬T2, sao cho T1 nằm trong mệnh đề cha này, còn ¬T2 nằm trong mệnh đề cha kia, và nếu T1 và T2 là hai biến mệnh đề có thể đồng nhất

(unifiable), thì xóa cả hai T1 và ¬T2 ra khỏi mệnh đề kết quả Ta nói T1 và T2 là các biến mệnh đề bù nhau (complementary literals) Sử dụng tập phép

thế trả ra bởi giải thuật đồng nhất để tạo ra mệnh đề kết quả Nếu có nhiều hơn một cặp biến mệnh đề bù nhau thì chỉ xóa một cặp

c Nếu mệnh đề kết quả là rỗng, thì xem như đã tìm được sự mâu thuẫn

d Nếu không, thêm mệnh đề kết quả đó vào trong tập hợp các mệnh đề hiện có Việc lựa chọn mệnh đề nào để đưa vào hợp giải trước sẽ ảnh hưởng đến quá trình chứng minh cho mục tiêu Vì vậy, để tăng tốc độ cho quá trình chứng minh này, một số chiến lược được đưa ra hỗ trợ cho việc lựa chọn này:

− Chỉ hợp giải những cặp mệnh đề có chứa các biến mệnh đề bù nhau

− Loại bỏ các mệnh đề ngay khi chúng vừa được tạo ra trong quá trình hợp giải Có hai loại mệnh đề có thể loại bỏ được là: mệnh đề luôn luôn đúng (tautology), và mệnh đề được tạo thành từ các mệnh đề khác (ví dụ P ∨ Q được tạo thành từ P)

− Mỗi khi có thể, hãy hợp giải với một trong những mệnh đề là một phần của câu mà ta cần phản chứng hoặc với một mệnh đề được sinh ra do hợp giải với mệnh đề như

vậy Chiến lược này gọi là set-of-support Nó phát sinh từ trực giác cho rằng sự mâu

thuẫn mà chúng ta tìm kiếm phải liên quan đến câu mà ta đang muốn chứng minh

− Mỗi khi có thể, hợp giải với mệnh đề chỉ có một biến mệnh đề Hợp giải này sẽ tạo ra mệnh đề mới với ít biến mệnh đề hơn các mệnh đề cha của nó, và vì vậy có thể nó sẽ

gần đến mục tiêu là một mệnh rỗng hơn Chiến lược này gọi là unit-preference Thí dụ 8.5: Các câu trong thí dụ 8.1 được chuyển về dạng mệnh đề như sau:

1 man (marcus)

2 pompeian (marcus)

3 ¬pompeian (X1) ∨ Roman (X1)

4 ruler (caesar)

5 ¬roman (X2) ∨ loyalto (X2, caesar) ∨ hate (X2, caesar)

6 loyato (X3, fl(X3))

Ngày đăng: 21/07/2014, 15:21

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w