LP TRÌNH LOGIC MODAL
ĐỖ THANH THU
B môn Mng và các h thng thông tin
Khoa Công ngh thông tin
Trường Đại hc Giao thông Vn ti
Tóm tt: Lp trình logic modal là mt m rng ca lp trình logic c đin bng cách
thêm vào các toán t modal (, ) để suy din v các lut có thêm yếu t độ tin cy (belief), tri
thc (knowledge), thay đổi động (dynamic change)…Bài báo trình bày tng quan v lp trình
logic modal.
Summary: Modal logic programming is extension of classical predicate logic
programming with two modal operators (necessary) and (possible) to deduce rules with
added factors such as belief, knowledge and dynamic change, …This paper presents overview
of modal logic programming
I. TNG QUAN V LP TRÌNH LOGIC MODAL
Lp trình logic c đin được xây dng t nhng phn t: hng, biến, hng thc, công thc;
các phép toán logic (hi), (tuyn), ¬ (ph định), (kéo theo) và các lượng t (vi mi),
(tn ti) không gii quyết được các bài toán mà ngoài ng nghĩa logic còn có thêm các khái
nim v không gian, thi gian (không th biu din được các khái nim đó da trên nhng phép
toán logic, lượng t đã có).
CNTT-CB
Lp trình logic modal là mt m rng ca lp trình logic c đin bng cách thêm vào các
toán t modal (, ) để suy din v các lut có thêm yếu t độ tin cy (belief), tri thc
(knowledge), thay đổi động (dynamic change)…
Trong logic v t công thc xP ¬∃x¬P, cũng tương t trong logic modal P
¬◊¬P. Ng nghĩa không hình thc ca các công thc có th mô t như sau:
+ ◊ϕ nghĩa là “Có kh năng xy ra trường hp ϕ đúng”;
+ ϕ nghĩa là “Không th có kh năng ϕ không đúng” hay nghĩa là “Nht thiết ϕ đúng”.
T ng nghĩa đó, chúng ta có ϕ ◊ϕϕ ◊ϕ.
Lp trình logic modal phù hp để xây dng các h thng tác t (agent), tác t thông minh
(intelligent agent), đa tác t (multiagent). Đó là các h thng có kh năng t tr (autonomous),
kh năng cm nhn môi trường xung quanh mình đang tn ti đểnhng phn ng thích hp.
S dng logic modal để biu din s tin cy ca tác t, chúng ta viết: iϕ nghĩa là “agent i
tin cy ϕ” (ϕ là mt công thc). Để biu din v tri thc ca tác t, chúng ta viết: ϕ nghĩa là
“agent hiu biết ϕ” và như vy ϕ đúng, …
Trong chng minh logic, chúng ta viết ϕ nghĩa là “có th chng minh được ϕ đúng”.
đây, công thc (P P) P đóng vai trò quan trng nht trong các chng minh logic.
Lý thuyết các mô hình, lý thuyết đim bt động và thut gii SLD ca lp trình logic modal
hoàn toàn da trên các lý thuyết tương ng và thut gii SLD ca lp trình logic c đin.
Bài toán đặt ra ca lp trình logic modal cũng tương t bài toán ca lp trình logic c đin.
Tuy nhiên, có mt khác bit là nó luôn phi được gii trong mt h logic modal c th nào đó.
II. KHUNG LÀM VIC CA LP TRÌNH LOGIC MODAL
Tương t như trong lp trình logic c đin, lp trình logic modal cũng có nhng nguyên lý
cơ bn là: ng nghĩa mô hình, ng nghĩa đim bt động và thut gii SLD. Các nguyên lý này
được xây dng và tha kế t lp trình logic c đin.
Tuy nhiên, khác vi lp trình logic c đin, các mô hình, đim bt động và thut gii SLD
ca lp trình logic modal luôn gn cùng vi mt h logic modal c th. Ch có mt s ít khái
nim là chung cho mi h logic modal.
2.1. Logic modal cp mt
Mt b các ký hiu ca logic modal bao gm: biến; ký hiu hng; ký hiu hàm; ký hiu v
t; các toán t: , , ¬, ; các toán t modal , ; các lượng t , ; các ký hiu du ngoc
“(, )”, du phy “,”.
CNTT-
CB
Các toán t , có ng nghĩa đa dng, tùy thuc vào ng cnh. Tuy nhiên, lp nghĩa ph
biến nht là: có nghĩa là “cn thiết / nht thiết”, có nghĩa là “kh năng / có th”.
Định nghĩa: (Công thc [4])
Mt công thc trong logic modal được định nghĩa quy np như sau:
+ Nếu p là mt ký hiu v t n-ngôi và t1, t2, … tn là các hng thc thì p(t1, t2, …, tn) là mt
công thc. Và được gi là nguyên t c đin (classical atom).
+ Nếu φψ là các công thc thì (¬φ), (ψ φ), (ψ∧ φ), (ψ→ φ), (ψ), (◊φ) cũng là các
công thc.
+ Nếu φ là mt công thc và x là mt biến thì (x φ), (x φ) cũng là các công thc.
Phm vi ca x (tương ng là x) trong công thc x φ (tương ng là x φ) là φ. Mt
xut hin buc (bound) ca 1 biến trong mt công thc là s xut hin ca biến đó ngay sau
lượng t hoc trong phm vi ca lượng t (trường hp cùng mt lượng t cho nhiu biến). Mi
biến xut hin các v trí khác là các biến t do.
Mt công thc đóng (closed formular) là mt công thc không có s xut hin ca biến t
do.
Mt hng thc nn là mt hng thc không có biến. Mt công thc nn là mt công thc
không có các lượng t và không có biến. Vũ tr Herbrand là tp tt c các hng thc nn. Cơ s
Herbrand là tp tt c các nguyên t c đin nn (ground classical atom).
2.2. Ngôn ng MProlog
Định nghĩa: (Câu chương trình [4]): Mt câu chương trình tng quát là mt công thc có
dng: s(A B1, …, Bn)
Trong đó: s 01, n 0, A, B1, ..., Bn là các công thc có dng E, E, E, vi E là mt
nguyên t c đin (classical atom). s được gi là ng cnh modal (modal context). A là phn
đầu (head), B1, ..., Bn là phn thân ca câu chương trình.
- Ví d: các câu sau: (p1(X) p2(X)). (p2(X) p3(X)). p3(X) p4(X). là các câu
chương trình Mprolog.
Mt câu đơn v là câu chương trình không có phn thân (n=0).
- Ví d: p1(a). là mt câu đơn v.
Định nghĩa: Nguyên t đích MProlog [4] (tng quát trong mi h logic modal)
Mt nguyên t đích MProlog là mt công thc có dng: sE hoc sE (s 0).
- Ví d: p1(a), p1(a) là các nguyên t đích CNTT-CB
Chú ý: s đây cũng ph thuc vào tng h logic mà có min giá tr khác nhau.
Mt câu truy vn MProlog (Q) là mt công thc có dng: x1, …, xk(B1 Bn)
(n > 0). Trong đó:
+ x1, …, xk là các biến xut hin trong B1, …, Bn
+ mi Bi là mt nguyên t đích MProlog.
Mt câu đích MProlog (G) là ¬Q.
Ký hiu: ¬∃x1, …, xk(B1 Bn) là B1, …, Bn.
Do đó, câu đích MProlog G = B1, …, BB
n (n>0).
- Ví d: p1(a), p2(a). p1(a). là các câu đích Mprolog
Định nghĩa: (Chương trình Mprolog [4])
Mt chương trình MProlog là mt tp các câu chương trình.
1 Tùy thuc vào tng h logic mà s có th có các min giá tr khác nhau, ví d vi h KD5 thì s 2, vi
h KD45 hoc h S5 thì s 1
2.3. Mô hình và khung làm vic (Model & frame)
Vi mt công thc φ, tính tha được (satisfaction) và tính xác đáng (validity) là quan trng.
Tính tha được hay đúng đắn ca công thc phi gn vi mt mô hình nào đó còn tính xác đáng
phi gn vi mt khung (frame) nào đó. Sau đây chúng ta s định nghĩa mô hình và frame.
Định nghĩa: (Khung làm vic (Frame) [8])
Mt frame ca ngôn ng modal cơ bn là mt cp F = (W, R) tha mãn:
+ W là mt tp khác rng
+ R là mt quan h nh phân trên W
Nghĩa là, frame đơn gin là mt cu trúc quan h bao gm mt min giá tr khác rng và
mt quan h nh phân.
Định nghĩa: (Mô hình (Model) [8])
Mt mô hình (model) ca ngôn ng modal cơ bn là mt cp M=(F, V). Trong đó, F là mt
frame, V là mt hàm gán mi ký hiu v t p trong tp công thc mt tp con V(p) Φ W.
V(p) là tp các đim trong mô hình mà p là đúng (true). Hàm V được gi là hàm lượng giá
(valuation). Khi đó, chúng ta nói mô hình m da trên frame F.
Như vy, c frame F và mô hình m da trên nó đơn gin là các mô hình quan h da trên
cùng mt min giá tr (vũ tr), mô hình chính là frame được b sung thêm mt tp các quan h
không có ngôi.
CNTT-
CB Tuy nhiên, frame & mô hình cũng có nhng đim khác nhau. Đó là, frame có tính khái
quát hơn, mô hình nhn mnh đến các thông tin c th hơn bi hàm lượng giá V.
Trong lp trình logic, ta quan tâm đến mt lp các frame và lp các mô hình nh hơn là
Kripke frame và mô hình Kripke.
Định nghĩa: (Kripke frame [4])
Mt Kripke frame là mt b ba (W, , R). Trong đó: τ
+ W là mt tp khác rng các phn t.
+ là mt phn t, W. τ τ
+ R là mt quan h nh phân trên W, được gi là quan h có th truy cp được
(accessibility relation).
Nếu R(w, u) đúng thì ta nói phn t u có th truy cp được t w hay u có th đạt được t w.
Định nghĩa: Kripke model [4] (Mô hình Kripke vi min giá tr và các hng thc c định)
Mô hình Kripke là mt b M = (D, W, , R, m). Trong đó: τ
+ D là mt tp được gi là min.
+ (W, , R) là Kripke frame. τ
+ m là mt th hin ca các ký hiu hng, ký hiu hàm, ký hiu v t.
Vi mt ký hiu hng a, m(a) là mt phn t thuc D, ký hiu là aM .
Vi mt ký hiu hàm n ngôi f, m(f) là mt ánh x m(f): Dn D, ký hiu fM.
Vi v t n ngôi p và mt phn t w W, m(w)(p) là mt quan h n ngôi trên W, ký hiu
là pM, w.
Định nghĩa: (Phép gán biến [4])
Gi M là mt mô hình Kripke. Phép gán biến đối vi M (ký hiu w.r.t M) là mt hàm ánh
x mi biến vào mt phn t ca min D ca mô hình M. Giá tr ca hng thc t trong phép gán
biến V được ký hiu là V(t) và được định nghĩa như sau:
+ Nếu t là mt ký hiu hng a thì V(t) = aM
+ Nếu t là mt biến x thì V(t) = V(x)
+ Nếu t là mt hàm f(t1, …, tn) thì V(t) = fM(V(t1), …, V(tn)).
Sau đây là các định nghĩa v tính tha được và tính xác đáng ca mt công thc trong mô
hình Kripke
Định nghĩa: (Tính tha được (satisfaction) ca công thc [4])
Cho mt mô hình Kripke M = (D, W, , R, m), mt phép gán biến V và mt phn t w τ
W. Khi đó, mt công thc
CNTT-CB
φ là tha được trong mô hình M ti w vi phép gán biến V (ký hiu
M, V, w ) được định nghĩa như sau: φ
- M, V, w p(t1, …, tn) nếu và ch nếu pM, w(V(t1), …, V(tn))
- M, V, w ¬φ nếu và ch nếu M, V, w
φ
- M, V, w φ ϕ nếu và ch nếu M, V, w φ và M, V, w ϕ
- M, V, w φ ϕ nếu và ch nếu M, V, w φ hoc M, V, w ϕ
- M, V, w φ ϕ nếu và ch nếu M, V, w
φ hoc M, V, w ϕ
- M, V, w φ nếu và ch nếu vi mi v W sao cho R(w, v) thì M, V, v φ
- M, V, w ◊φ nếu và ch nếu tn ti v W sao cho R(w, v) thì M, V, v φ
- M, V, w xφ nếu và ch nếu vi mi a D sao cho M, V’, w φ. đây, V’(x) = a và
V’(y) = V(y) vi x y
- M, V, w xφ nếu và ch nếu tn ti a D sao cho M, V’, w φ. đây, V’(x) = a và
V’(y) = V(y) vi x y.
Nếu M, V, w φ thì ta nói φ đúng ti w trong W vi phép gán biến V.
Chúng ta viết M, w φ thay vì viết M, V, w φ vi mi phép gán biến V.