Trang 1 BO GIAO DUC VA DAO TAO ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KHOA HỌC NGUYÊN VĂN QUY TÌM HIỂU NGỮ NGHĨA CHƯƠNG TRÌNH LOGIC PHỎNG ĐOÁN VÀ MỘT SỐ PHƯƠNG PHÁP TRẢ LỜI CÂU TRUY VẤN CHUYEN NGAN
Trang 1BO GIAO DUC VA DAO TAO
ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KHOA HỌC
NGUYÊN VĂN QUY
TÌM HIỂU NGỮ NGHĨA CHƯƠNG TRÌNH
LOGIC PHỎNG ĐOÁN VÀ MỘT SỐ PHƯƠNG
PHÁP TRẢ LỜI CÂU TRUY VẤN
CHUYEN NGANH: KHOA HOC MAY TINH
Trang 2LOI CAM DOAN
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi dưới sự hướng dẫn khoa học của thầy giáo PGS TS Trương Công Tuấn
Các kết quả nêu trong luận văn là trung thực, có nguồn gốc rõ ràng, được trích dẫn đầy đủ và chưa từng công bố trong bất kỳ công trình khoa học nảo
Tôi xin chịu hoàn toàn trách nhiệm về nội dung của luận văn này
Tác giả
Nguyễn Văn Quy
Trang 3Tôi xin chân thành gửi lời biết ơn đến PGS.TS Trương Công Tuần, người thầy
đã hướng dẫn tận tình và có những góp ý sâu sắc, hướng dẫn rất quý báu cho tôi trong suốt quá trình nghiên cứu, kịp thời cho tôi nhiều lời động viên cũng như những nhận xét đúng đắn dé tôi có thể hoàn thành tốt được dé tai này
Trong quá trình thực hiện dé tài, xin chân thành gửi lời cảm ơn đến sự giúp đỡ, những lời động viên từ phía gia đình, đồng nghiệp, bạn bè là động lực to lớn giúp tôi hoàn thành tốt dé tài nghiên cứu của mình
Bản thân tôi đã cố gắng hết sức trong quá trình thực hiện đề tài này nhưng chắc chăn sẽ không tránh khỏi những thiếu sót Kính mong quý thầy cô và các bạn tận tình góp ý, chỉ bảo
Xin chan thanh cam ơn!
Thừa Thiên Huế, ngày 20 tháng 02 năm 2020
Học viên
Nguyễn Văn Quy
1
Trang 41.2.1 Cú pháp 2222222221222122212211221122112211222222122 2e 5
1/2:2 Ngữ ngHĩ8:csesessensoteentiitbdingytIEDDIABGRSSRGRAHISEORNHTGRORNHIIBORSi-iĐGRSii8GtmMi 7
1.3 CHUONG TRINH LOGIC THONG THƯỜNG -2-222222222222222<2 10 1.4 CÁC TÍNH CHẤT CỦA TẬP TRẢ LỜI 2-22222222212221222122122e6 13 1.5 LẬP LUẬN TỪ CÁC TẬP TRẢ LỜI 222222 22222212212212212222 e6 13 1.6 TIỂU KÉT CHƯƠNG l -©22222222212221221122112112112112212212 xe 14 Chương 2 CHUONG TRINH LOGIC PHỎNG ĐOÁN 15 2.1 GIỚI THIẾU .-2-22222222212221122122121121121121122112222 re 15 2.2 CHƯƠNG TRÌNH LOGIC PHÒNG ĐOÁN 222222 22222212221222e6 16
2.2.1 Cú pháp -522 222 222222122212221221122112211221221221222222222 2e 16
2702 Nett neh ia evs rscecnecnnsnesnennernernecennecteusciaennveavesitenneveutacrersseterncasveteracesteeettecastouets 17
2.3 MỘT SỐ VÍ DỤ 222 2222221222122112211221121122222222222 re 20 2.4 TIỂU KÉT CHƯƠNG 2 22-222 222222122212212211122121121121122122 te 23
ili
Trang 5dấu khi và chỉ khi ø(X) được xác định Một nguyên tố được đánh dấu là nguyên tố
mà mọi biến của nó đều được đánh dấu
Định nghĩa tương tự cho truy vấn và mệnh đề chương trình được đánh dấu Cho một phép đánh dấu ø, ký hiệu X' nếu a(V) = +, Y- nếu ø(7) = — Một phép đánh dấu có thể được xem là một ghi nhớ đề thông báo việc hợp nhất và hợp giải trong SLDNFA về tính chất logic của các biến
Định nghĩa 3.4 (Tập đẳng thức giải được)
1 Một tập đẳng thức trên bộ ký tự > là một tập hữu hạn {s =f, ., Sn = td, trong đó s¿, / là các hạng thức
2 Tập đẳng thức được gọi là có dạng giải được khi và chỉ khi nó là một tập hợp
các nguyên tổ đăng thức có đạng X = ứ, trong đó X là một biến, 7 là hạng thức, X # f
và X chỉ xuất hiện một lần ở về trái và không xuất hiện ở về phải
3 Cho một phép đánh dấu z, một tập đẳng thức được đánh dấu là có dạng giải được dương khi và chỉ khi nó có dạng giải được và không chứa các nguyên tô có
dạng X” =ŸY”
Một phép thế có thể định nghĩa như một tập các nguyên tố đẳng thức có dạng X
=ứ,trong đó X là biến chỉ xuất hiện một lần ở về trái
Định nghĩa 3.5 (Tập đẳng thức giải được đương) Một tập đẳng thức Z; là một đạng
giải được (dương) của tập hợp đẳng thức E khi và chỉ khi Z, có dạng giải được (dương) và E„ là một mgu của #, lúc dé ta noi E 1a co thé giải được Một tập hợp đẳng thức không có dạng giải được gọi là không thể giải duoc Hai nguyén t6 p(t), p(s) gọi là có thể hợp nhất khi và chỉ khi f =s có thể giải được
Rõ ràng một tập hợp đẳng thức được đánh dau có đạng giải được khi và chỉ khi
nó có dạng giải được dương
Bằng cách dùng khái niệm dạng giải được đương, ta định nghĩa khái niệm hợp giải dương và hợp giải âm giữa một truy vấn được đánh dấu và một mệnh đề chương
32
Trang 6DANH MỤC CÁC THUẬT NGỮ
Chuong trinh logic
Chương trình logic nén
Chuong trinh logic phong doan
Chương trình logic thông thường
Term
Logic programming Negative literal Positive literal Unit clause Definite clause Stable model Minimal model Least model Stable model semantics Arity
Atom
Substitution Abductive Rule Interpretation The immediate consequence operator Predicate
Abducible predicate
Herbrand universe
Trang 7Bp
Up
Mp
Tp
DANH MUC CAC KY HIEU
Cơ sở Herbrand của chương trình P
Vũ trụ Herbrand của chương trình P Tập tất cả các tap con của co so Herbrand Bp
Mô hình nhỏ nhất của P
Toán tử hệ quả trực tiếp trên 27”
VI
Trang 8DANH MUC CAC CHU VIET TAT
Abductive logic programming
Finite Failure
Negative Goal
Positive Goal Linear Selection resolution for Definite clauses
SLD - resolution with Negation as finite Failure
Vii
Trang 9Kết quả thực thi bài toán l -22222222222212221222122222.22.2 e6 42 Kết quả thực thi bài toán 2 2-22222222212221121121122222.22 xe 44 Kết quả thực thi bai toán 3 bằng hệ thống CIFE 222-22222xce 46
Vili
Trang 10MO DAU Trong suốt hai thập kỷ qua, lĩnh vực nghiên cứu về lập trình logie đã không ngừng phát triển Lập trình logie sử dụng các cơ chế suy diễn căn cứ vào các quy tắc trong một chương trình logic Tuy nhiên, hiện nay lập trình logic đã bộc lộ những hạn chế nhất định và không thể giải quyết đối với các bài toán phức tạp trong thực tế Da
có nhiều công trình nghiên cứu nhằm mở rộng lập trình logic, trong số đó - Lập trình logie phỏng đoán (ALP - Abductive Logic Programming) là một hướng nghiên cứu
được nhiều nhà khoa học quan tâm
ALP được bắt nguồn từ sự phỏng đoán - là một hình thức suy luận để tìm các giải thích cho quan sát đã cho Xuất phát từ một chương trình logic P và một quan sát
QO để tìm các giải thích có thể cho Ó dựa theo một tập vị từ đặc biệt được gọi là các
vị từ phỏng đoán
ALP là sự kết hợp của lập trình logic và phỏng đoán, trong ALP hình thành nên
một cú pháp mới của chương trình logic, được định nghĩa bởi một bộ ba (P, A, IC), trong đó P là một chương trình logic, ⁄4 là một tập hợp các vị từ được gọi là các vị từ phỏng đoán, 7C là một tập các ràng buộc toàn vẹn ALP được xem là một khuôn khổ
biểu diễn tri thức cấp cao, cho phép giải quyết các bài toán dựa trên lập luận phỏng đoán ALP thường được dùng để giải quyết các bài toán trong Chuẩn đoán: Lập kế
hoạch; Xử lý ngôn ngữ tự nhiên; Học máy,
Luận văn nghiên cứu về ngữ nghĩa của chương trình logie phỏng đoán và các phương pháp trả lời câu truy vấn trên lớp chương trình này Những nội dung nghiên cứu của luận văn có ý nghĩa khoa học về mặt lý thuyết cũng như trong ứng dụng trong thực tiễn
Cấu trúc luận văn gồm phần mở đầu, ba chương nội dung, phần kết luận và tài
liệu tham khảo
Chương l trình bày về tổng quan về chương trình logic, trong đó tập trung vào một số khái niệm cơ sở ngôn ngữ logic bậc nhất, cú pháp và ngữ nghĩa của chương trình logic
Trang 11Chương 2 trình bày về cú pháp và ngữ nghĩa của chương trình logic phỏng đoán
cùng với một số ví dụ minh họa
Chương 3 trình bày một số phương pháp để trả lời câu truy vấn đối với chương trình logic phỏng đoán, bao gồm phương pháp EK, KM và SLDNFA Chương 3 cũng
trình bày tổng quan về hệ thống CIEE, tiến hành việc cài đặt một số bài toán minh
họa bằng hệ thống CIFF và thực thi bằng phần mềm SWI-Prolog
Phần kết luận nêu những kết quả đã đạt được và hướng phát triển của luận văn
Do thời gian có hạn và bản thân chỉ mới bước đầu nghiên cứu vẻ lĩnh vực này nên không thể tránh khỏi những thiếu sót, kính mong sự giúp đỡ và góp ý thêm của quý Thầy, Cô và các bạn
Trang 12Chương 1 TONG QUAN VE CHUONG TRINH LOGIC
Chương một trình bày các khái niệm co sở của chương trình logie, lớp chương trình đơn giản nhất của chương trình logie được gọi là chương trình logic xác định sẽ được xem xét trước tiên cùng với ngữ nghĩa mô hình nhỏ nhất của nó Tiếp theo, chương 1 sẽ trình bày về chương trình logic thông thường và tiếp cận ngữ nghĩa tập trả lời của lớp chương trình này Đây là những kiến thức làm tiền đề cho các nghiên cứu tiếp theo ở chương 2 và 3
1.1 MỌT SÓ KHÁI NIỆM CƠ SỞ
Định nghĩa 1.1 (Bộ ký tự) Bộ ký £# bao gồm các lớp ký hiệu sau:
1 Hằng, thường ký hiệu là các chữ cái thường a, Ö, e,
2 Biến, thường ký hiệu bởi các chữ cái in hoa X, Y, Z,
3 Các ký hiệu hàm, thường ký hiệu bởi ƒ ø, ñ,
4 Các ký hiệu vị từ, thường ký hiệu bởi 7Ø, q, r,
5 Các hằng vi tir: true, false
6 Các ký hiệu kết nỗi—¬(phủ định), v(uyên), A(hội), (suy ra)
7 Các ký hiệu lượng từ: V(với mọi), (tổn tại)
§ Dấu ngoặc don trái (, dấu ngoặc đơn phải), dấu phây,
Mỗi ký hiệu hàm, ký hiệu vị từ có kèm theo một số tự nhiên xác định để chỉ số
các đối số tham gia cùng với ký hiệu hàm hoặc ký hiệu vị từ đó, gọi là ngôi của chúng
Trên cơ sở bộ ký tự đã cho, người ta đưa ra định nghĩa về hạng thức Hạng thức là
yếu tố quan trọng của công thức logic, được xây dựng từ các hằng, biến, hàm và được định nghĩa hình thức như sau:
Định nghĩa 1.2 (Hạng thức) Cho 44 là bộ ký tự Hạng thức được định nghĩa đệ qui
như sau:
(i) Mỗi hằng trong 41 là một hạng thức,
Trang 13(ii) Mỗi biến trong 44 là một hạng thức,
(iii) Nếu ƒlà ký hiệu hàm ø#-ngôi trong 44 và /¡, f„ là các hạng thức thì ƒứi /a) là
một hạng thức,
(v) Hạng thức chỉ được sinh ra bởi các quy tắc trên
Một hằng được xem là ký hiệu hàm 0-ngôi Hằng và biến là các hạng frức nguyên tố hạng thức nền là hạng thức không chứa biến
Định nghĩa 1.3 (Nguyên tố) Một nguyên tố có dạng p(ñ ,fa), trong đó p là ký hiệu
vị từ m-ngôi và các đối ứ¡, £„ là các hạng thức Wguyên ?ố nên là nguyên tổ không chứa biến
Vi du 1.1 Xét nguyén t6 mother(Hoa,Mai), trong dé mother là vị từ 2-ngôi đê chỉ
mối quan hệ mẹ Hoa, Mai là các hằng va mother(Hoa,Mai) co y nghia la Hoa là mẹ
cua Mai
Định nghĩa 1.4 (Literal) Literal là một nguyên tố hoặc phủ định của nguyên tố Ta gọi nguyên tổ là /#eral đương và litaral âm là phủ định của nguyên tố, ký hiệu —¬p, với p là một nguyên tố
Trong ngôn ngữ tự nhiên, việc kết hợp các từ nào đó sẽ tạo nên những câu có nghĩa Các câu như vậy được biểu diễn trong logic vị từ bởi những cấu trúc đặc biệt được xây dựng từ các hạng thức và các lớp ký hiệu của bộ ký tự Những cấu trúc này được gọi là các công fhức logic (hoặc đơn giản là công thức) và được định nghĩa như sau:
Định nghĩa 1.5 (Công thức) Cho 7 là tập các hạng thức trên bộ ký tự 41 Công thức được định nghĩa đệ quy như sau:
(i) Néu p là ký hiệu vị từ z-ngôi trong 44 và íi, ,f„ 7 thì p(, ,f„) được gọi
là một công thức nguyên fỐ (hoặc đơn giản chỉ gọi là nguyên fÔ);
Œ) Nếu E và F là các công thức thì: (¬#) (Œ AP) (Œ vử), (F< E), (E © F) la cac cong thức;
Trang 14Œ) Nếu F là công thức và X là một biến trong 4thì VX Œ'),
AX (ŒƑ) là các công thức; VX và 3X được gọi là phần lượng từ, F là miễn tác dụng của lượng từ;
(0v) Công thức chỉ được sinh ra bởi một số hữu hạn các quy tắc trên
Một công thức/hạng thức không chứa biến được gọi là công thức/hạng thức nên Định nghĩa 1.6 (Công thức đóng)
1 Một biến X trong công thức được gọi là biến ràng buộc nếu X nằm trong miễn tác
dụng của lượng từ V có mặt trong công thức đó; trái lại, nó X được gọi là bién tur do
2 Một công thức không có biến tự do được gọi là công thức đóng
Vi du 1.2 VY AX (POY) ^A q(*)) là công thức đóng, trong khi 3X (p(Y,Y) A q(@X)) không phải là công thức đóng, vì Y là biến tự do
Nếu Xi, X: , X„ là các biến xuất hiện trong công thức # thì M142 4X.(F) được ký hiệu là 3# Tương tự,VXIVX: VXn(F) được ký hiéu la VF Khi xem xét
công thức có dạng VƑ, ta thường bỏ qua lượng tử V, lúc đó lượng từ V sẽ được hiểu ngầm định
Trong phân tiếp theo sẽ xét lớp chương trình logic đơn giản nhất, gọi là chương trình logic xác định
1.2 CHƯƠNG TRÌNH LOGIC XÁC ĐỊNH
1.2.1 Cú pháp
Định nghĩa 1.7 (Mệnh để xác dinh) Ménh đề xác định là một công thức có dạng:
a <&— Ủì, ,bụ (1)
trong do n = 0, a, b; la cac nguyén t6,7=1, 2, ,n, nguyén t6 a duoc goi la dau va
bị, ,bạ„ được gọi là thân của quy tắc, dấu phây được ký hiệu thay cho phép hội (a)
Các biến trong mệnh để mặc định được ràng buộc bởi lượng từ với mọi ngay trước mệnh đề
Trang 15Trong ménh dé (1), nếu ø = 0 thì nó được gọi là mệnh đề đơn vị, nghĩa là mệnh đề
Ví dụ 1.3 Xem chương trình logie xác định gồm các mệnh đề sau:
love(X,Y) <— woman(X), child_of(Y, X) (1)
woman(Mai) (e1)
child_of(Hoa, Mai) (e2) Trong mệnh đề z¡ của ví dụ này, woman(Y) là nguyên tố để chỉ X là một phụ nit, child_of(Y, X) la nguyén té dé chi Y 1a child_of ctia X, love(Y, Y) là nguyên tô đê chỉ X thương yéu Y
Y nghia cua ménh dé r: 1a moi phụ nữ đều thương yêu con của họ và các mệnh
dé don vi e1, e2 06 y nghia: Mai la mot phu nt va Hoa la con cua cua Mai
Ví dụ 1.4 Xét chương trình logic xác định P gồm các mệnh để sau đây để mô tả các quan hệ anh/em (sibling), chu/bac (cousin), ho hang (related) nhu sau:
nN: sibling(X,Y) < parent(X,Z), parent(Y,Z)
T2: cousin(X,Y) << parem(XV,X,), paren(Y,Y,), sibling(X,,Ÿ,)
T3: cousin(X,Y) <— parent(X,Xp), parent(Y,Y,), cousin(Xp,Yp)
HẠ: related X,Y) <_ sibling(X,Y)
rs: related X,Y) <— related(X.7), parent(Y,Z)
Ys: related X,Y) <—_ related(Z,Y), parent(X,Z)
Trang 16Trong chương trình này thi parent la vi tt chỉ quan hệ cha/me va parent(C,P)
có nghia la P 1a cha/me cua C, cac vi tt sibling, cousin, related lần lượt chỉ các quan
hệ anh/em, chú/bác, họ hàng
Quy tắc rị có nghĩa: "Với mọi X và Y, X la anh/em của Y nếu tổn tại Z là cha/mẹ
của X và Y và Y, Y không phải cùng một người" tức là: s¿b/g(Y,V) là đúng nếu X, Y
là những người cùng chung cha mẹ, nhưng loại trừ trường hop sibling(a,a) do X # Y
†rong quy tắc ri
Quy tắc ra và rs định nghia vi tlt cousin va các quy tắc r4, rs, re định nghĩa vị
tr related
Vi du 1.5 Xem chương trình logic sau để định nghia sé tr nhién (biéu thị bằng ký
hiệu vị từ m2)
rị: na/(0) r2: nat(s(X)) < nat(xX)
Trong chuong trinh nay thi sla ky hiéu ham 1-ngéi, duoc xác dinh boi s(X) =X
+1 voi X thudc tap số tự nhiên Ñ, nguyên tố n(x) dé chi X là một tự nhiên Mệnh để
đơn vị z¡ có ý nghĩa là 0 một số tự nhiên và z2 là mệnh đề với ý nghĩa là nếu X là số
tự nhiên thì s(X)) cũng là số tự nhiên
1.2.2 Ngữ nghĩa
Phần này sẽ trình bày ngữ nghĩa chương trình logic xác định theo tiếp cận lý
thuyết mô hình Trước hết ta giới thiệu một số khái niệm
Định nghĩa 1.9 (Vũ trụ/Cơ sở/Thê hiện Herbrand) [2] Cho P là chương trình logic
xác định
e Vii tru Herbrand của P, ký hiệu Up, la tap cac hang thire nén duoc xay dung
từ các hằng và các ký hiệu hàm trong P
e Cơ sở Herbrand của P, ký hiệu Bz, là tập các nguyên tố nền được xây dựng
từ các vị từ trong P có đối là các hạng thức nền trong vii tru Herbrand Up
Trang 17e Mot thé hién Herbrand (hoặc đơn giản là thể hiện) của ?P là một tập con tùy ý
của cơ sở Herbrand Bp cua P
Một thể hiện Herbrand có thể được xem như một tập các nguyên tố nên có giá
tri dung trong một ngữ cảnh đã cho Vũ trụ Herbrand của chương trình logic xác định
P luôn luôn là vô hạn nếu trong P co it nhất một ký hiệu hàm có số đối số lớn hơn 0
Ví dụ 1.6 Xét chương trình logic xác định P trong Ví dụ 1.5:
Vũ trụ Herbrand cua P la: Up = {0, s(0), s(s(0)), s(s(s(0))), }
Co sở Herbrand cua P la:
CeP
được gọi là hiện hành của P
Định nghĩa 1.11 (Mô hình) [2] Cho 7 là một thể hiện của chương trình logie xác định
P Lúc đó 7 là mô hình của P nếu mợi mệnh để của P là đúng theo thể hiện 7
Vi du 1.7 Xét các thể hiện 7, 72, 7; của chương trình logic P trong ví dụ 1.5, rõ ràng 1ì không phải là mô hình của P vì mặc dầu 7 là mô hình của mệnh đề øz⁄(0) nhưng 1¡ không phải là mô hình của mệnh đề z¿ vì tồn tại mệnh dé nén nat(s(0)) < nat(0) của 7z mà 7¡ không phải là mô hình của mệnh để nền này Cũng vậy, 72 cũng không
phải là mô hình của P vì mệnh để tồn tại mệnh đề nên:
naf(s(s(0))) — nứ0af(s(0))
Trang 18của 72 mà ?› không phải là mô hình của nó Tuy nhiên, J3 la m6 hinh cua P Ta co 1a
mô hình của 7+ j; cũng là mô hình của z2 Thật vậy, xét mệnh đề:
nat(s(t))) — nat(t)
là một mệnh để nền nào đó của mệnh đề z2, trong đó ¢ e ? Rõ ràng mệnh dé nat(s(t))
< nat(t) ding vì naf(0 và naf(s())) đều thuộc Ƒ› Vậy 1; là mô hình của P
Định lý 1.1 [2] Mọi chương trình logic xác định đều có mô hình nhỏ nhất
Ta ký hiệu mô hình nhỏ nhất của P là Mp
Định nghĩa 1.12 (Ngữ nghĩa chương trình logic xác định) [2] Cho ? là chương trình logic xác định, ngữ nghĩa của P là mô hình nhỏ nhất A⁄Zp của P
Mô hình nhỏ nhất Mp có thể tính được bằng cách sử dụng một toán tử 7p được định
nghĩa như sau:
Định nghĩa 1.13 [2] Cho P là chương trình logic xác định Đặt 7p: 2” -> 2 là
ánh xạ được xác định như sau: Với mỗi 7 e
Tp)={A e Bp| 3 A<— áli , 1„ e ground(P) và {⁄4ù, , „} C7}
trong đó 2# là tập các tập con của cơ sở Herbrand Bp
Dinh lý 1.2 [2| Cho P là chương trình logic xác định Lúc đó toán tử 7p đơn điệu và điểm bất động nhỏ nhất của 7? là mô hình nhỏ nhất A⁄p của P
Mệnh đề 1.1 Cho P là chương trình logic xác định Mô hình nhỏ nhất Ä⁄p của P là
giới hạn của dãy (T?), trong do T§ = @, Ti*! = Tp(T}), i e N Ký hiệu T/ là giới
Trang 191.3 CHUONG TRINH LOGIC THONG THUONG
Các chương trình logic xác định biéu dién cho tri thirc duong va cho phép m6 hình hóa khá nhiễu bài toán khác nhau, các mệnh đề trong chương trình mô tả các đối tượng xác định và mối quan hệ giữa chúng Các quan hệ này được thể hiện rõ trong
mô hình nhỏ nhất - chứa các nguyên tố nền là hệ quả logie của chương trình Tuy
nhiên, có nhiều trường hợp đòi hỏi một cấu trúc để mô hình hóa khái niệm phủ định
Phủ định là một khái niệm ngôn ngữ tự nhiên và thường gặp trong nhiều tình huống
thực tế Chang hạn, với mệnh đề:
connecfed(X) hub(Y), link(Y, X)
để định nghĩa việc các đơn vị được kết nối với ít nhất một trung tâm điểu khiển, ta
cũng có thể nghĩ đến việc định nghĩa các đơn vị không kết nối đến một trung tâm điều khiển nào cả Điều này có thê mô hình hóa một cách tự nhiên bằng cách đặt phép toán phủ định øof trước các nguyên tố, chẳng hạn quy tắc sau có chứa phép toán phủ
Trang 20Đối với chương trình logic thông thường, có thể tồn tại nhiều mô hình cực tiêu nhưng không có mô hình nhỏ nhất Chẳng hạn, xét chương trình logic thông thường trong ví dụ sau:
Ví dụ 1.9 Cho chương trình logic thông thường gồm các mệnh đề sau:
man(a) <
single(X) <— man (X), not husband(X)
husbandX) <— man(Y), not single(Y)
Chương trình logic này chỉ có hai mô hình cực tiêu:
M, = {man(A), single(A)}, M2 = {man(A), husbandA)}
và không có mô hình nhỏ nhất do Ä⁄¡ # Ä⁄2 và Ä⁄¡ Mi
Từ ví dụ trên, ta nhận thấy khi cho phép mệnh đề có chứa literal âm thì chương trình có thể tồn tại nhiều mô hình cực tiểu nhưng không có mô hình nhỏ nhất Vấn đề đặt ra ở đây là khi một chương trình logic thông thường không tồn tại mô hình nhỏ nhất thì ngữ nghĩa của chương trình sẽ được xác định như thế nào? Trong phân tiếp theo sẽ trình bày một tiếp cận nhằm giải quyết van dé này là tiếp cận theo ngữ nghĩa tập trả lời [6]
Từ đây về sau, để đơn giản, ta sẽ gọi chương trình logic thông thường là chương
trình logic Trước hết ta có một số khái niệm sau:
Định nghĩa 1.15 [6] (Phép biến đổi Gelfond - Lifschitz) Cho P là chương trình logic
Goi ground(P) la hiện hành của P Đối với mọi thé hiện A⁄ của P, ký hiệu P là
chương trình nhận được từ ground(Đ) bằng cách loại bỏ:
1 Các quy tắc có literal phủ định not 44 trong thân của nó, với 44 e À⁄
2 Tat ca literal not.A trong thân của các quy tắc còn lại
Điều kiện 1 nói rằng nếu 44 € M thì thân quy tắc có chứa literal not 4 không thê trở thành đúng vì vậy ta có thê loại bỏ quy tắc này Mặt khác, nếu A £ A⁄ thì not A có thê giả sử là đúng và được loại bỏ khỏi thân quy tắc chứa nó
11
Trang 21Rõ ràng P* là chương trình logic không chứa phủ định, nó là chương trình logic xác định, vì vậy P* có mô hình nhỏ nhất
Ví dụ 1.10 Cho ? là chương trình logic:
và mô hình nhỏ nhất của P” chính là {a,c}
Xét thê hiện J, = {a, c} va b= {b} Thu gon p gém 1 quy tac:
be
và mô hình nhỏ nhất của P' chính là {Ð}
Định nghĩa 1.16 [6] (Tập trả lời) Thể hiện 7 của chương trình logic P được gọi là fập
trả lời của P nếu 7 là mô hình nhỏ nhất của P!
Ví dụ 1.11 Xét chương trình P gồm các mệnh đề sau:
s < notgd
q < nots p<-— qnots
ƒ snotp Xét h = { p, g} Khi đó, P gồm các mệnh để: ø và p < q và mô hình nhỏ nhất của
no la {p, g} =h Vay fla tập trả lời của P
Xét = {s} Khi đó, P” gồm các mệnh đề:
Ss
f<s
12
Trang 22Mô hình nhỏ nhất của P” là {s,/} #5 Vì vậy I2 không là tập trả lời của ?
Định nghĩa 1.17 (Ngữ nghĩa chương trình logic) Ngữ nghĩa của chương trình logic
P được xác định bởi tập các tập trả lời của P
1.4 CAC TINH CHAT CUA TAP TRA LOI
Phần này trình bày một số tính chất quan trọng của các tập trả lời Trước tiên
ta sẽ xem xét mối quan hệ giữa tập trả lời và mô hình cực tiểu của chương trình logic Định lý 1.3 [6] Cho P là chương trình logic Lúc đó mọi tập trả lời của P đều là mô
hình cực tiểu của P
Hệ quả 1.1 Các tập trả lời là không thể so sánh nhau được, nghĩa là nếu A⁄¡ và Ä⁄› là
các tập trả lời của chương trình logic P thì Ä⁄\ # Ä⁄2 và M› # Mi
Các tập trả lời là sự tổng quát hóa ngữ nghĩa đối với chương trình logic xác
định, điều này được thể hiện bởi kết quả sau:
Định lý 1.4 [6] Đối với chương trình logic xác định thì tập trả lời chính là mô hình nhỏ nhất của nó
1.5 LAP LUAN TU CAC TAP TRA LOI
Một chương trình logic có thể có một hoặc nhiều hoặc không có tập trả lời Vấn đề đặt ra là cách thức suy luận từ ? sẽ được xác định như thế nào Đối với chương trình chỉ có một tập trả lời Ä⁄, một nguyên tố nên ø được xem là đúng nếu ø e Ä⁄ và
sai nếu ø g Ä⁄ Điều này thường được mở rộng để suy luận từ tất cả tập trả lời của P theo hai dạng đối ngẫu nhau:
Lập luận bất chấp: Một nguyên tố nền a là hệ quả bất chấp của P, ký hiệu P Ep a
nếu ø thuộc vào một tập trả lời Ä⁄ nào đó của P
Lập luận thận trọng: Một nguyên tố nền z là hệ quả thận trọng của P, ký hiệu P E„
a nếu øz thuộc moi tập trả lời của P
13
Trang 23Ví dụ 1.12 Xem chương trình logic P gồm các mệnh đề sau:
p(4)
1X) <p), not g(X)
Luc do P Fy r(a) va P F, r(a) vi r(a) ding trong moi tap tra loi Tuy nhién voi P’ =
PU {4(2} thì do {p(a), q(a)} là tập trả lời duy nhất cia P’ nén P’ #, r(a) va P
# a)
1.6 TIEU KET CHUONG 1
Chương 1 da trinh bay cu pháp và ngữ nghĩa của chương trình logic xác định
và chương trình logie thông thường Ngữ nghĩa của chương trình logic xác định được xác định bởi mô hình nhỏ nhất, trong khi ngữ nghĩa tập trả lời được thiết lập cho chương trình logic thông thường có chứa phép phủ định Trong Chương 2 và sẽ trình bày về chương trình logie phỏng đoán và một số phương pháp trả lời câu truy vấn đối với lớp chương trình này
14
Trang 24Chương 2 CHƯƠNG TRÌNH LOGIC PHỎNG ĐOÁN
Chương này trình bày về cú pháp và ngữ nghĩa tập trả lời của chương trình logie phỏng đoán — một mở rộng của chương trình logic đã xét ở chương 1
do cỏ ướt Tuy nhiên, các giải thích khác có thể là do máy phun nước hoặc đo trời có mưa vào tối hôm trước Các giải thích được suy diễn phỏng đoán từ các quan sát và các quy tắc logic Ta có các quy tắc logic biểu diễn như sau:
grass is wet <— rained last nighí grass is wet <— sprinkler was on
shoes_are_wet <— grass is wet
Vé6i cdc quy tic nay, quan sat O = shoes are wet co thê được giải thích là đo
ca hai nguyén nhan 1a rained_last_night va sprinkler_was_on
Thông thường, trong khuôn khổ phỏng đoán, có một thành phần được thêm vào
là một tập các ràng buộc toàn vẹn JC Untergrity Constraints), nghia la mot tap cac
công thức phải được thỏa mãn bởi một tập A các giả thiết có thê chấp nhận được đê
suy luận cho quan sát @ Trong ví dụ trên, một ràng buộc toàn ven có thể là:
rained _last_night —> ƒalse Với ràng buộc toàn vẹn này thì mọi giải thích phỏng đoán chứa rained Iast nighí đều bi cam
15
Trang 252.2 CHUONG TRINH LOGIC PHONG DOAN
Phần này tập trung trình bày về cú pháp và ngữ nghĩa của chương trình logic phỏng đoán [3]
2.2.1 Cú pháp
Định nghĩa 2.1 (Chương trình logic phỏng đoán) [3] Chương trình logic phỏng đoán
(viết tắt ALP) là bộ ba (P, 4, 7C), trong đó:
e P là một chương trình logic, nghĩa là một tập hữu hạn các mệnh đề
pelha ah trong đó p là nguyên tố và ñ, ,/a là các literal
e4 là một tập các nguyên tố nền, được gọi là các nguyên tố phỏng đoán Các vị
từ của các nguyên tổ phỏng đoán không xuất hiện trong phần đầu của mọi mệnh đề trong P
e JC la mét tap các ràng buộc toàn vẹn, mỗi ràng buộc toàn vẹn là công thức có
dạng:
L1A \In>
hoặc trong đạng kéo theo tổng quát hơn:
TIA ATa->p
trong đó p là nguyên tố và mỗi 7¡ là một literal và mỗi 44; là một nguyên tố Tất
cả biến trong Ø, Ứ¡A A Ủa đều ngầm định được lượng hóa bởi lượng từ với mọi
trên phép kéo theo
Ta dùng ký hiệu -> thay cho ký hiệu < để phân biệt ràng buộc toàn vẹn với các
quy tắc
Chú ý: Mỗi nguyên tế trong tập giải thích phỏng đoán A phải thuộc tập nguyên tổ phỏng đoán 41, nghĩa là A C41 Trong ví dụ trên thì tập các vị từ phỏng đoán là:
A= tramed last night, sprinkler was on}
Ta xem các vị từ xuất hiện trong ALP (P, A, JC) nhw la chit ky cua (P, A, IC)
16
Trang 26Định nghĩa 2.2 (Câu truy vấn) [3] Một câu fruy vấn Q đối với ALP (P, A, IC) la hoi
các literal mà các vị từ của nó là thuộc chữ ký của (P, A, IC) Cac bién trong O ngam
định được lượng hóa bởi lượng từ tổn tại với phạm vi là Ó Truy vấn rong được biểu
diễn như là /rue
Một cách không hình thức, với ALP P, 44, JC} cho trước và câu truy vấn QO, mot
câu trả lời phỏng đoán đôi với O là một tập các nguyên tô phỏng đoán nên A sao cho cùng với P sẽ “thỏa” cả @ và JC Khái niệm “thỏa” phụ thuộc vào ngữ nghĩa của chương trình logic P Ta có định nghĩa hình thức sau:
Định nghĩa 2.3 (Câu trả lời phỏng đoán) [3] Một cẩu trả lời phỏng đoán đối với câu truy van Q theo ALP (P, A, IC) là một tập hữu hạn A các nguyên tố phỏng đoán sao cho đối với một phép thế nền ø nào đó cho các biến của Q thi:
e MA) la mot tap tra loi cua PU A, va
e M(A) thoa tập ràng buộc toan ven IC
17
Trang 27Ví dụ 2.1 Xét chương trình logic phỏng đoán (P, A, IC), trong do:
P: pea
q<r A: {a}
1C por V6i A= {a} Lic dé M(A) = {a, p} là tập trả loi duy nhat cua P U A nhung M(A) không thỏa ràng buộc ø —> 7 của 7C (do r không có trong Ä⁄) nên A⁄{A) không phải là
tập trả lời của ýP, A4, JC)
Xét tập (A) = {a, p, g, r} Ta co M (A) khong phải là tập trả lời của (P, A, IC) vi
nó không phải là tập trả lời của P t2 A
Vi du 2.2 Xét ALP (P, A, JC), trong do:
Pi pea
q<©—r.s 4: {a}
IC: q>r Xét tap A= {a} Taco M(A) = {a, p} la tap tra lời của (P, A, IC) vi no la tap tra loi cua PU Ava M thoa man rang buéc g > r cua JC Tuy nhién, tap {a, p, g} là tập trả lời của P t2 A nhưng không thỏa mãn ràng buộc 7C nén {a, p, g} khéng phai la
tập trả lời của (P, A, IC)
Với ngữ nghĩa tập trả lời của ALP, Định nghĩa 2.2 được thể hiện như sau:
Định nghĩa 2.6 (Câu trả lời phỏng đoán) [3] Cho ALP P = (P, A, JC) va O la một truy vấn nền Một cấu trả lời phỏng đoán đối với CO 1a mot tap hitu han A cac nguyén
tố phỏng đoán nên sao cho:
1 A⁄A) E O (nghĩa là Ó thỏa mãn A⁄{A))
2 MA) thỏa mãn 7C
18