Professional Documents
Culture Documents
TTNT - Nguyen Thien Thanh
TTNT - Nguyen Thien Thanh
1.3) Cac thanh phan c ban cua tr tue nhan tao : .................................................................................................6
http://www.khvt.com Trang 2
Bien soan: Tien s Nguyen Thien Thanh
5.1) ng Dung tr Tue Nhan Tao Phan Tch Bao Ve He Thong Nang Lng ien : ..............................................73
5.3) Bai Toan Lap Phng An Cho Canh Tay Robot Xep Khoi :..............................................................................81
6.2) X Ly Tri Thc Khong Chac Chan Dung Ly Thuyet Xac Suat : ......................................................................87
1) Ly thuyet xac suat : ...........................................................................................................................................87
2) Ly giai chnh xac di ieu kien khong chac chan dung xac suat : ............................................................88
3) Ly thuyet chac chan :........................................................................................................................................90
4) Ly giai xap x di ieu kien khong chac chan dung ly thuyet so o chac chan :.....................................92
4) Khai niem ve hoc cung co va hoc khong giam cua mo hnh hoc tren c s tri thc : ...........................112
http://www.khvt.com Trang 4
Bien soan: Tien s Nguyen Thien Thanh
Thong thng, cach giai quyet van e cua con ngi c the hien qua bon
thao tac c ban o la
- Xac nh tap hp cua cac ch
- Thu thap cac s kien va luat suy dien
- C che tap trung
- Bo may suy dien
Nh vay, tr tue may la g ? la cac kha nang giai quyet van e cua may o la
- Hanh ong giong nh con ngi.
- Suy ngh giong nh con ngi.
- Hoc giong nh con ngi.
- X ly thong tin giong nh con ngi.
- Hanh ong va suy ngh tren c s logic va chnh xac.
nh cao cua viec phat trien lnh vc nay phai noi en nhng nam 1960.
Du rang con b han che ve trang thiet b nhng nhng nam nay co nhieu cong
trnh c cong bo nh
+ Nam 1960, ngon ng Lisp.
+ Nam 1961, chng trnh giai cac bai toan ai so s cap.
+ Nam 1963, chng trnh tro chi c vua.
+ Nam 1964, chng trnh tnh tch phan.
+ Nam 1966, chng trnh phan tch va hoc noi.
+ Nam 1968, chng trnh ieu khien Robot theo phng an mat va tay.
+ Nam 1972, ngon ng Prolog.
T nhng nam 1969 en nam 1999, co nhieu chng trnh c xay dng tren
cac he c s tri thc.
That vay, lnh vc tr tue a i vao i song dan dung t nhng nam 1980
en nay.
+ Tri thc thu tuc : la loai tri thc mo ta cach giai quyet bai toan. Loai tri
thc nay bao gom luat suy dien hp le, chien lc tm kiem va giai thuat tm
kiem.
+ Tri thc ieu khien : la loai tri thc c xem nh la luat chu chot ieu
khien qua trnh ly giai e dan en ket luan.
e bieu dien tri thc cua bai toan nh cac phng phap bieu dien nh
+ Phng phap bieu dien nh luat
+ Phng phap bieu dien nh mang ng ngha
+ Phng phap bieu dien nh Frame
+ Phng phap bieu dien nh logic v t
http://www.khvt.com Trang 6
Bien soan: Tien s Nguyen Thien Thanh
Sau khi tri thc cua bai toan a c bieu dien, ky thuat giai bai toan trong
lnh vc tr tue nhan tao la cac phng phap tm kiem trong mien ac trng tri
thc ve bai toan o.
V du : Xet bai toan ngi nong dan, chon, ngong va ngu coc. Bai toan at ra la
ngi nong dan muon mang theo vi mnh mot con chon, mot con ngong va mot so
ngu coc qua ben kia song bang mot chiec thuyen. Tuy nhien, thuyen cua ong ta qua
be ch co the mang theo mot th duy nhat vi ong ta tren moi chuyen thuyen sang
song. Neu ong ta e lai chon va ngong ben nay song th chon se an ngong va neu
ong ta e lai ngong va ngu coc th ngong se an het so ngu coc. Hay sap xep cac
chuyen thuyen sao cho ngi nong dan mang moi th sang ben kia song an toan?
Vi bai toan nay, ta co the bieu dien nh thong qua cac phat bieu ngon ng t
nhien, tuy nhien cach bieu dien nay khong giup ta vach tran ra cac rang buoc von
san co trong bai toan. Cach bieu dien tot nhat giup ta co the vach tran cac rang
buoc von san co trong bai toan la xay dng mot bieu o vi cac nut co anh nhan
ngi nong dan mang theo th ma ong ta can phai mang theo tren moi chuyen
thuyen va cac canh lien ket gia cac nut la cac ng mui ten ch cac chuyen
thuyen qua lai song.
Cach bieu dien nay ham cha cac thanh phan nh ng t hoc, cau truc, thu tuc va
ng ngha.
+ Ng t hoc (Lexical) : la cac t vng hp le c s dung nh la cac ky hieu
trong bieu dien.
+ Cau truc (Structure) : la cac ng mui ten lien ket gia cac nut ch nh cac
chuyen thuyen qua lai song.
+ Thu tuc (Procedure) : la mo ta cach giai bai toan t nut nay en nut kia nh thong
cac ng ch nh mui ten.
+ Ng ngha (Semantic) : la y ngha cua cac nut va cac canh lien ket thong qua
cach giai bai toan.
Bieu o bieu dien bai toan ngi nong dan, chon, ngong va ngu coc c mo ta
nh hnh
Start
Nong dan
Chon
Ngong
Ngu coc
Nong dan
Chon
Ngong
Ngu coc
Nong dan
Chon
Ngong
Ngu coc
Nong dan
Chon
Ngong
Ngu coc
Finish
http://www.khvt.com Trang 8
Bien soan: Tien s Nguyen Thien Thanh
+ Trang thai khac cua bai toan : o la cap so nguyen (x,y) mo ta cac trang
thai trong khong gian bai toan.
+ Trang thai chuyen tiep cua bai toan : o la bc chuyen tiep t trang thai
hien co en trang thai mi nh thong luat ap dung cua bai toan. Luat ap dung
la luat ma ve ieu kien cua no hp vi trang thai hien hu e ve ket luan
cua no phat sinh ra trang thai mi. Tap cac luat giai bai toan bnh ng nc
c liet ke la
Luat 1 : (x,y/ x < 4 ) (4,y).
Luat 2 : (x,y/ y < 3 ) (x,3).
Luat 3 : (x,y/ x > 0 ) (0,y).
Luat 4 : (x,y/ y > 0 ) (x,0).
Luat 5 : (x,y/ x + y >= 4 va y > 0 ) (4,y (4 x)).
Luat 6 : (x,y/ x + y >= 3 va x > 0 ) (x (3 y),3).
Luat 7 : (x,y/ x + y < 4 va y > 0 ) (x + y,0).
Luat 8 : (x,y/x + y < 3 va x > 0 ) (0,x + y)
Khong gian trang thai cho bai toan nay c bieu dien bang o th nh hnh
(0,0)
(4,0) (0,3)
(2,n)
Vay, khong gian trang thai cho bai toan bnh ng nc bao gom trang thai ban
au, tat ca cac trang thai khac at c t trang thai ban au nh thong qua cac
luat ng dung (cac trang thai chuyen tiep ) va trang thai ch cua bai toan.
http://www.khvt.com Trang 10
Bien soan: Tien s Nguyen Thien Thanh
Kch thc cua khong gian trang thai cho bai toan la so trang thai c tao ra
nh thong qua cac luat ng dung t trang thai ban au en trang thai ch cua bai
toan.
V du 2 : Khong gian bai toan tro chi 8 so.
Bai toan tro chi 8 so nh mot cai mam hnh vuong co ba hang va ba cot gom
9 o, trong o 8 o cha 8 vien ngoi co anh so t 1 en 8 va o con lai la o trong.
Cho cau hnh trang thai ban au va cau hnh trang thai ch cua bai toan c
cho nh hnh
2 8 3 1 2 3
1 6 4 8 4
7 5 7 6 5
Trang Thai Ban au Trang Thai ch
Bai toan at ra la trt cac vien ngoi en o trong ke no, khong c phep trt
theo ng cheo sao cho cau hnh trang thai ban au at en cau hnh trang thai
ch cua bai toan.
Vay, khong gian bai toan nay la g ?
Giai :
Khong gian trang thai cho bai toan nay c mo ta gom cac thanh phan nh
sau :
+ Trang thai ban au cua bai toan : la cau hnh mang hai chieu 33 cha cac
vien ngoi co anh so cho trc.
+ Trang thai ch cua bai toan: cung la cau hnh mang hai chieu 33 cha cac
vien ngoi co anh so cho trc.
+ Trang thai khac cua bai toan : o la cau hnh mang hai chieu 33 cha cac
vien ngoi mo ta cac trang thai trong khong gian bai toan.
+ Trang thai chuyen tiep cua bai toan : o la bc chuyen tiep t trang thai
hien co en trang thai mi nh thong qua luat hp le nh trt vien ngoi i len,
trt vien ngoi i xuong , trt vien ngoi sang trai hoac trt vien ngoi sang
phai .
Khong gian trang thai cho bai toan nay co the c bieu dien bang o th nh
hnh
2 8 3
1 6 4
7 5
2 8 3 2 8 3 2 8 3
1 6 4 1 4 1 6 4
7 5 7 6 5 7 5
1 2 3
8 4
7 6 5
Trang Thai ch
Vay, khong gian trang thai cho bai toan gom co trang thai ban au, tat ca cac trang
thai at c t trang thai ban au en trang thai ch, tat cac trang thai chuyen
tiep va trang thai ch cua bai toan.
Kch thc cua khong gian trang thai nay o la so trang thai at c t trang thai
ban au en trang thai ch cua bai toan nh thong qua tat ca cac trang thai chuyen
tiep.
V du 3 : Khong gian bai toan ba tu s va ba ke an tht ngi.
Ba tu s va ba ke an tht ngi ben nay song muon qua ben kia song bang
mot chiec thuyen co sc ch toi a la 2 thanh vien. Bai toan at ra la bat ky ni
nao ben nay song, tren thuyen hoac ben kia song, neu so tu s t hn so ke an tht
ngi th so tu s se b an tht bi so ke an tht ngi. Hay sap xep cac chuyen
thuyen qua lai song sao cho a moi ngi sang ben kia song an toan ?
Vay, khong gian bai toan nay la g ?
Giai : Khong gian trang thai cho bai toan nay c mo ta bang cac thanh phan nh
sau :
http://www.khvt.com Trang 12
Bien soan: Tien s Nguyen Thien Thanh
+ Trang thai ban cua bai toan : Tat ca moi ngi va thuyen ben nay song
vi cau hnh la (MMM, CCC, B), trong o M la tu s, C la ke an tht ngi va B la
thuyen.
+ Trang thai ch cua bai toan : Tat ca moi ngi va thuyen eu c qua
ben kia kia song an toan, v the cau hnh ch ben nay song la (_, _, _).
+ Rang buoc cua bai toan : So tu s phai la luon luon ln hn hoac bang so ke
an tht ngi bat c ni nao ben nay song, tren thuyen hoac ben kia song.
+ Trang thai khac cua bai toan : cau hnh so tu s, so ke an tht ngi va
thuyen ben nay song hoac ben kia song.
+ Trang thai chuyen tiep cua bai toan : bc dch chuyen thuyen a mot vai
thanh vien qua lai song.
Bai toan ba tu s va ba ke an tht ngi c giai gom cac bc nh sau :
Ben nay song Ben kia song
0. Trang thai ban au (MMM,CCC,B) (_,_,_)
1. Hai ke an tht ngi (MMM, C, _ ) (_ , CC, B)
qua ben kia song.
2. Mot ke an tht ngi (MMM, CC, B) ( _ , C, _)
qua lai ben nay song.
3. Hai ke an tht ngi (MMM, _, _ ) ( _, CCC, B)
qua ben kia song.
4. Mot ke an tht ngi (MMM, CC,B) (_ , CC, _)
qua lai ben nay song.
5. Hai ke tu s qua ben kia (M, CC, _ ) (MM, CC,B)
song.
6. Mot tu s va mot ke an tht (MM,CC,B) (M, C, - )
ngi qua lai ben nay song.
7. Hai tu s qua ben kia song ( _, CC, _) (MMM, C, B)
8. Mot ke an tht ngi qua ( _ , CCC, B) (MMM, _ , _ )
ben nay song.
9. Hai ke an th ngi qua ( _ , C , _ B) (MMM, CC, B)
ben kia song.
10. Mot ke an tht ngi qua ( _, CC, B) (MMM, C, - )
qua lai ben nay song.
11. Hai ke an tht ngi qua (_,_,_) (MMM,CCC,B)
ben kia song. ch.
http://www.khvt.com Trang 14
Bien soan: Tien s Nguyen Thien Thanh
V du : Chien lc tm kiem suy dien tien cho bai toan bnh ng nc tren
khong gian trang thai bai toan c mo ta nh nh hnh
(0,0)
2
1
2 (4,0) 6 1
(0,3) 7
3 4
(4,3) (0,0) (1,3) (4,3) (0,0) (0,3)
(2,n)
V du : Chien lc tm kiem suy dien lui tren khong gian trang thai bai toan
bnh ng nc c mo ta nh hnh
(2,0)
7 4
(0,2)
(2,3)
3 8
(4,2) (1,1)
(0,0)
http://www.khvt.com Trang 16
Bien soan: Tien s Nguyen Thien Thanh
+ Nut trong cay tm kiem ma a phat sinh ra nut mi th nut nay c goi la
nut cha va nut mi c goi la nut con.
+ Luat hay lenh hp le c ap dung e phat sinh ra nut.
+ So lng cua cac nut tren ng t nut goc cua cay en mot nut ,c goi
la o sau cua nut o.
+ Gia chi ph cua ng la tnh t nut goc cua cay en nut o.
Co hai loai giai thuat tm kiem c ban o la giai thuat tm kiem theo chieu rong va
giai thuat tm kiem theo chieu sau.
B C D
E F G H I J
K L M N O P Q R
S T
U
Th t cua cac trang thai tm kiem vi giai thuat tm kiem theo chieu rong la
A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U.
Giai thuat tm kiem theo chieu rong c trang b bang hai danh sach m Open va
ong Closed, trong o danh sach Open cha cac trang thai ang ch c duyet va
danh sach Closed cha cac trang thai a c duyet qua. Giai thuat c mo ta nh
sau :
Procedure breadth_first_search
Begin
Open = [Start];
Closed = [ ];
While Open [ ]
Begin
+ Loai bo nut au tien t danh sach Open va goi nut nay la X.
If X = ch Then tra ve thanh cong
Else begin
+ Phat sinh cac con cua X dung cac luat ap dung hp vi X;
+ at X vao danh sach Closed;
+ Loai bo cac con cua X a co mat tren Open hoac Closed;
+ at cac on cua X cha co mat tren Open hoac Closed vao cuoi
danh sach Open;
end
end;
end.
http://www.khvt.com Trang 18
Bien soan: Tien s Nguyen Thien Thanh
Cho khong trang thai cua bai toan nh hnh tren, th t cua cac trang thai tm
kiem vi giai thuat tm kiem theo chieu sau la A, B, E, K, S, L, T, F, M, C, G, N,
H, O, P, U, D, I, Q, J, R.
Giai thuat cung c trang b bang hai danh sach m Open va ong Closed giong
nh giai thuat tm kiem theo chieu rong. Giai thuat c mo ta nh sau :
Procedure depth_first_search
Begin
Open = [Start];
Closed = [ ];
While Open [ ]
Begin
+ Loai bo nut au tien t danh sach Open va goi nut nay la X.
If X = ch Then tra ve thanh cong
Else begin
+ Phat sinh cac con cua X dung cac luat ap dung hp vi X;
+ at X vao danh sach Closed;
+ Loai bo cac con cua X a co mat tren Open hoac Closed;
+ at cac on cua X cha co mat tren Open hoac Closed vao au
danh sach Open;
end
end;
end.
Function backtracking
Begin
N = [Start];
S = [Start];
D = [ ];
C = Start;
While N [ ]
Begin
If C = ch then return (S)
Elseif C khong co tha ke
( Khong ke cac tha ke a co mat tren N, S hoac D)
begin
while S [ ] va C la phan t au tien cua S
begin
+ at C vao au danh sach D.
+ Loai bo nut au tien cua S.
+ Loai bo nut au tien cua N.
+ at C = phan t au tien cua N.
end
at C vao au danh sach S.
end
Else
begin
+ Khai trien cac tha ke cua C dung cac luat ng hp vi C.
+ Loai bo tat ca cac tha ke cua C a co mat tren N, S, hoac D.
+ at cac tha ke cua C cha co mat tren N, S, hoac D vao au
danh sach N.
+ at C = phan t au tien cua N.
+ at C vao au danh sach S.
end
end;
end.
http://www.khvt.com Trang 20
Bien soan: Tien s Nguyen Thien Thanh
e at en ch. Heuristic co the c the hien di dang luat hoac di dang ham
so. Neu no c the hien di dang luat th no c goi la luat heuristic va neu no
c the hien di dang ham th no c goi la ham heuristic.
Heuristic con c goi la tri thc nong can cua bai toan v no ch oan bat
trang thai tot nhat bc ke theo trong qua trnh giai quyet van. Do o heuristic oi
luc khong the am bao tm thay li giai tot nhat nhng hau het no am bao tm thay
li giai tng oi tot nhat.
Neu ta nh ngha h(n) la ham heuristic tai trang thai n th h(n) la mot c
lng tnh t trang thai n en trang thai ch cua bai toan. Trang thai nao co
heuristic nho nhat o la trang thai tot nhat c chon e tiep dien qua trnh tm
kiem.
+ Neu trang thai n khong dan en ng cut th heuristic cua no la h(n) >= 0.
+ Neu trang thai n dan en ng cut th heuristic cua no la h(n) = .
+ Neu trang thai n dan en trang thai ch cua bai toan th heuristic cua no la
h(n) = 0.
V du 1 : Cho bai toan tro chi 8 so vi cau hnh trang thai ban au va trang thai
ch nh hnh ve
2 8 3 1 2 3
1 6 4 8 4
7 5 7 6 5
Trang Thai Ban au Trang Thai ch
Heuristic cua bai toan nay la so cac vien ngoi at khong ung cho tai moi trang
thai n so vi trang thai ch cua bai toan. Trang thai nao co so vien ngoi at khong
ung cho t nhat o la trang thai tot nhat c chon e tiep dien qua trnh tm kiem.
Khi thuat toan at en ch, heuristic cua bai toan tien en zero.
c lap lai cho tat ca cac nut vieng tham cho en khi nao trang thai ch cua bai
toan c tm thay. Cach tm kiem nay tao ra mot ng lien ket bam theo cac
trang thai co thong tin heuristic no nhat o la cac trang thai c anh gia la tot
nhat e at en ch.
http://www.khvt.com Trang 22
Bien soan: Tien s Nguyen Thien Thanh
+ Sap xep lai cac trang thai trong danh sach Open theo th t t au danh
sach en cuoi danh sach tng ng vi trang thai tot nhat en trang thai xau
nhat.
End;
End.
3) Ham anh gia heuristic :
Gia s qua trnh tm kiem vi thong tin heuristic tren khong gian bai toan co
hai hoac nhieu trang thai xuat hien co cung heuristic, trong trng hp nay, trang
thai nao la gan goc nhat cua cay o la trang thai to nhat. e anh gia ay u thong
tin heuris cho cac trng hp nh vay, mot ham anh gia heuristic c thiet lap
gom hai thanh phan o la
f(n) = h(n) + g(n)
trong o, h(n) la ham heuristic tai moi trang thai n va g(n) la ham chi ph o t trang
thai goc cua cay en nut trang thai n.
V vay, qua trnh tm kiem, trang thai nao co f(n) la nho nhat o la trang thai tot
nhat c chon e tiep dien tm kiem.
V du : Cho ban o cua cac thanh pho nh hnh ve
71
N
Z 151 87
75 I
99
140
S F 92
A
V
118 80
T
142
211
R P
111 97
L U H
164 101
85 98
70
M
138 B 86
Trong o, khoang cach thc s gia cac thanh pho c anh nhan tren ban o va
khoang cach ng chim bay gia cac thanh pho en thanh pho B c liet ke nh
bang
http://www.khvt.com Trang 24
Bien soan: Tien s Nguyen Thien Thanh
A h = 366
T Z S
A F O R
S B
h = 253 h=0
Giai thuat tm kiem s dung thong tin ham anh gia heuristic tm ng i ngan
nhat t thanh pho A en thanh pho B c mo ta nh hnh ve
A f = 0 + 366
= 366
T Z S
f = 253 + 140
f = 329 + 118 f = 374 + 75 = 393
= 447 = 449
A F O R
C P S
Xet bai toan cong rao so hoc (Cryarithmetic) rang buoc ien hnh la
SEND
+ MORE
MONEY
Bai toan at ra latm cac ch so t 0 en 9 gan cho cac oi tng ch cai tng ng
sao cho bieu thc so hoc cua chung la ung.
Bai toan co cac rang buoc la
+ Hai ch cai la khong cung mot ch so
+ Cac rang buoc khac cua bai toan la
S + M + C3 = O nh C4.
E + O + C2 = N nh C3.
N + R + C1 = E nh C2
D + E = Y.
Trang thai ban au cua bai toan la
S=? C1 = ?
E=? C2 = ?
N=? C3 = ?
D=? C4 = ?
M=?
O=?
R=?
Y=?
Trang thai ch cua bai toan la tm cac ch so t 0 en 9 gan cho cac oi tng ch
cai sao cho bieu thc so hoc cua chung la thoa man rang buoc cua bai toan at ra
ien hnh la vi S = 9, M = 1, O = 0, E = 5, N = 6, R = 8, D = 7 va Y = 2.
http://www.khvt.com Trang 26
Bien soan: Tien s Nguyen Thien Thanh
SEND 9567
+ MORE + 1085
MONEY 10652
+ Tach tri thc cua bai toan khoi c che ieu khien : Hai thanh phan quan trong
nhat cua he chuyen gia o la c s tri thc va bo may suy dien. Hai thanh phan nay
tach biet nhau trong he chuyen.
+ Tri thc chuyen gia : Tri thc giai bai toan trong he chuyen gia la tri thc thu thap
t ngi chuyen gia.
+ Tap trung nguon chuyen gia : Ngi chuyen gia ch co kha nang giai quyet cac
van e trong lnh vc chuyen mon cua ho, con cac van e ngoai lnh vc chuyen
mo nay , ho khong co kha nang. Giong nh cach giai quyet van e cua ngi
chuyen gia, he chuyen gia ch giai quyet c cac van e trong lnh vc hep
chuyen mon.
+ X ly tri thc bang ky hieu : Tri thc giai bai toan trong he chuyen gia c ma
hoa bang ky hieu va x ly nhng ky hieu nay tren c s lap luan logic.
+ X ly tri thc vi heuristic : Ngi chuyen gia co rat nhieu kinh nghiem giai
quyet van e trong lnh vc chuyen mon cua ho. Vi kinh nghiem nay giup ho giai
quyen van e rat nhanh. Giong nh cach giai quyet van e cua ngi chuyen gia,
cac he chuyen gia hau het eu s dung thong tin heuristic thu thap c t kinh
nghiem cua ngi chuyen gia giup he giai quyet van e nhanh nhat va hieu qua
nhat.
+ X ly tri thc khong chac chan : Hn 80% ng dung trong thc te khong the giai
quyet c bang cac phng phap lap luan chac chan. He chuyen gia co the giai
quyet c nhng ng dung nay nh vao cac phng phap x ly tri thc khong chac
chan.
+ Bai toan giai c : He chuyen gia ch giai c bai toan nao ma ngi chuyen
gia giai c.
http://www.khvt.com Trang 28
Bien soan: Tien s Nguyen Thien Thanh
+ Mc phc tap va phai : Khong nen thiet ke mot he chuyen gia e giai quyet van
e qua n gian va cung khong nen mong i he chuyen gia co the giai quyet van
e qua phc tap ngoai kha nang giai quyet van e cua ngi chuyen gia.
+ Chap nhan sai lam : Ngi chuyen gia giai quyet van e oi luc cung mac phai
sai lam, v the ta phai chap nhan mot so rui ro khi s dung he chuyen gia.
Short-Term Memory
Case/Inferred Facts
Conclusions
+ Bo may suy dien cua ngi chuyen gia lien ket cac s kien trong vung nh
ngan han vi tri thc giai bai toan san co trong vung nh dai han e suy dien ra cac
s kien mi.
+ Thu tuc nay c lap lai cho en khi ket luan cua bai toan c tm thay.
Giong nh c che lam viec cua ngi chuyen gia, cau truc he chuyen gia c mo
ta nh hnh
Knowledge Base
Domain Knowlege User
Inference Case Facts
Engine Conclusions
Working memory
Case/Inferred Facts
Conclusions
+ C s tri thc : la phan cua he chuyen gia cha mien tri thc. Cong viec cua ta
c xem nh la ngi ky s tri thc lay tri thc giai bai toan t ngi chuyen gia
va ma hoa no trong vung c s tri thc.
+ Bo nh lam viec : la phan cua he chuyen gia cha cac s kien ve bai toan c
kham pha e dan en ket luan.
+ Bo may suy dien : He chuyen gia mo hnh hoa qua trnh x ly ly giai nh con
ngi. V the bo may suy dien o chnh la bo x ly trong he chuyen gia hp cac s
kien c cha trong vung nh lam viec va mien tri thc c cha trong vung c
s tri thc e dan en ket luan ve bai toan.
http://www.khvt.com Trang 30
Bien soan: Tien s Nguyen Thien Thanh
Bc 1 : nh ngha van e.
Bc nay gom co phan tch van e e nam bat hng giai quyet van e chi
tiet va cu the o la phai xac nh c d lieu vao ra cua he thong va phng thc
x ly so lieu vao ra cua he thong.
Bc 2 : nh ngha d lieu vao cua he thong.
nh ngha d lieu vao cua he thong sao cho au t d lieu ban au cua bai
toan hp vi ve ieu kien cua luat suy dien th nhat e d lieu ch cua no la d
lieu vao cho luat ke theo..
Bc 3 : nh ngha cau truc ieu khien cua he thong.
Cau truc ieu khien d lieu suy dien tien cua he thong o la c s luat suy
dien tien bao gom tat ca cac luat mo ta tong quat cach giai bai toan c the hien
di dang luat If Then vi ve ieu kien cua luat au tien hp vi d lieu ban au
cua bai toan e ve phai cua luat phat sinh ra ch th nhat, ve ieu kien cua luat
th 2 hp vi ch th nhat e ve phai cua luat phat sinh ra ch th 2 va c nh the
cho en luat th n ma ve ket luan cua no at en li giai cuoi cung.
Bc 4 : Ma hoa c s tri thc.
C s tri thc gom c s luat va c s d lieu. Cac thanh phan nay phai
c ma hoa nh cac phng phap bieu dien tri thc nh logic v t, khung.
Bc 5 : Th nghiem he thong.
Cho so lieu vao, qua trnh x ly cua he thong cho so lieu ra vi nhieu tnh
huong khac nhau bao trum ca khong gian vao.
Bc 6 : Thiet ke he thong giao dien ngi x dung he chuyen gia.
Bc 7 : M rong he thong.
M rong c s tri thc cua he sao cho giai quyet bai toan cang linh hoat, cang
mem deo la cang tot o la qua trnh cai tien hoac them bt luat suy dien va c s
d lieu.
Bc 9 : anh gia he thong.
Bc nay a he thong vao thou nghiem trong cac trng hp thc ke e rut
ra ket luan anh gia chat lng van hanh cua he thong ang tin cay hoac cha ang
tin cay.
V du 1 : Thiet ke he chuyen gia suy dien tien co van sinh vien hoc tap.
+ nh ngha van e : Bai toan at ra ra la thiet ke he chuyen gia suy dien tien co
van sinh vien hoc tap giai quyet cac van e nh sau :
1- Giai quyet cac mon hoc ma sinh vien a thi au cho qua.
2- X ly cac mon hoc ma sinh vien c at cach cho qua.
3- X ly cac mon hoc co cac mon hoc tien quyet.
4- X ly cac mon hoc ma sinh vien c phep ang ky hoc trong moi
hoc ky.
+ nh ngha d lieu vao : D lieu vao cua bai toan gom co
1- Cac mon hoc bat buoc.
2- Cac mon hoc t chon.
3- Cac mon hoc co cac mon hoc tien quyet.
4- Cac mon hoc ma sinh vien a hoc xong.
5- Cac mon hoc cho phep sinh vien c ang ky trong moi hoc ky.
+ Cau truc ieu khien d lieu suy dien tien cua he thong : e x ly so lieu vao ra
cua he thong, c s luat cua he thong c thiet lap gom cac luat la
Luat 1 : Neu X la mon hoc ma sinh vien a thi au cho qua th sinh vien a hoc
xong mon hoc vi X.
Luat 2 : Neu X la mon hoc ma sinh vien a c at cach cho qua th sinh vien a
hoc xong mon hoc vi X.
Luat 3 : Neu sinh vien a hoc xong mon hoc vi X va Q la danh sach cha cac
mon hoc ma sinh vien a hoc xong th Q cha X.
Luat 4 : Neu X co mon hoc tien quyet Y th mon hoc tien quyet cua X la Y.
Luat 5 : Neu X co mon hoc tien quyet Y va Y co mon hoc tien quyet Z th mon
hoc tien quyet cua X la Z.
Luat 6 : Neu mon hoc tien quyet cua X la Y va P la danh sach cha cac mon hoc
tien quyet th cua X P phai cha Y.
Luat 7 : Neu Q la danh sach cha cac mon hoc ma sinh vien a hoc xong vi X, P
la danh sach cha cac mon hoc tien quyet cua X va P la tap con cua Q th sinh vien
a hoc xong tat ca vi cac mon hoc hoc tien quyet cua X.
http://www.khvt.com Trang 32
Bien soan: Tien s Nguyen Thien Thanh
Luat 8 : Neu X la mon hoc bat buoc, sinh vien cha hoc xong vi X, sinh vien a
hoc xong tat ca vi cac mon hoc tien quyet cua X va X la mon hoc cho phep sinh
vien ang ky hoc trong hoc ky th cho phep sinh vien ang ky mon hoc vi X.
Luat 9 : Neu X la mon hoc t chon, sinh vien cha hoc xong vi X , sinh vien a
hoc xong tat ca vi cac mon hoc tien quyet cua X va X la mon hoc cho phep sinh
vien ang ky hoc trong hoc ky th cho phep sinh vien ang ky mon hoc vi X.
+ Ma hoa c s tri thc : sau ay la mot v du ien hnh ma hoa c s tri thc gom
c s d lieu va c s luat.
- Cac mon hoc bat buoc c ma hoa bang ky hieu ien hnh la
req(intro to computing).
req(data structures).
req(assembler).
req(operating systems).
Van va van van.
- Cac mon hoc t chon c ma hoa bang ky hieu ien hnh la
elec(information systems).
elec(compilers).
elec(algorithm analysis).
Van va van van.
- Cac mon hoc tien quyet c ma hoa bang ky hieu ien hnh la
impreq(data structures,intro to computing).
impreq(calculus 2,calculus 1).
impreq(operating systems,assempler).
Van va van van.
- Cac mon hoc cho phep sinh vien c phep ang ky hoc trong hoc ky
c ma hoa bang ky hieu ien hnh la
given_now(intro to computing).
given_now(calculus 2).
Van va van van.
- Cac mon hoc ma sinh vien a c at cach cho qua va thi au cho c
ma hoa bang ky hieu ien hnh la
waived(intro to computing).
waived(calculus 1).
passed(data structures).
passed(assempler).
passed(calculus 2).
V du 2 : Thiet ke he chuyen gia suy dien tien e giai quyet bai toan chan oan s
co tren mot tram bm nc nh hnh ve
http://www.khvt.com Trang 34
Bien soan: Tien s Nguyen Thien Thanh
Tram bm nc gom co ba khoi lien ket nhau qua cac ng ong, trong o moi
khoi co mot may bm va mot motor.
Van e at ra cua bai toan la phat hien s co van hanh nc tren tram, nhan
dang khoi co s co va chan oan cac thanh phan b hong gay ra s co nh may
bm, motor hoac ng ong b r nc.
+ ieu kien phat hien s co van hanh nc tren tram o la ap suat ra tren
cac ng ong cua tram la thap hn ap suat van hanh nc bnh thng.
+ ieu kien khoi co s co van hanh nc tren tram la ap suat vao tren cac
ng ong cua khoi la bnh thng trong khi o ap suat ra tren cac ng ong cua
khoi la thap hn ap suat bnh thng.
+ Cac thanh phan cua khoi la motor, may bm va ng ong. Khi a xac nh
c khoi co s co van hanh nc th mot trong cac thanh phan nay cua khoi la
nhan to quyet nh gay ra s co.
- ieu kien motor van hanh yeu o la nguyen nhan gay ra s co th khi o
ch so van hanh motor c oc ve t cam bien la thap.
- ieu kien may bm b hong o cung la nguyen nhan gay ra s co th khi
o ap suat c oc ve t cam bien la ap suat vao cua khoi bang ap suat
ra cua khoi.
- ieu kien ung ong b r nc o la nguyen nhan gay ra s co th khi o
ap suat c oc ve t cam bien la ap suat vao cua khoi phai la nho hn
ap suat ra cua khoi.
T viec phan tch bai toan noi tren, d lieu vao cua he thong la ap suat va ch so
van hanh cua motor.
Gia s ap suat van hanh nc bnh thng cua cac ng ong la
+ Line 1 = 50 psi
+ Line 2 = 100 psi
+ Line 3 = 150 psi
+ Line 4 = 200 psi
va ta cung gia s rang ch so van hanh bnh thng cua cac motor la motor1 =
motor2 = motor3 = 1.
Tren c s o, cau truc ieu khien d lieu vao ra cua he thong x ly hai khoi
tren tram gom cac luat c thiet lap nh sau :
Luat 1 : if line1 < 50 then line1 = low.
Luat 2 : if line1 >= 50 then line1 = normal.
http://www.khvt.com Trang 36
Bien soan: Tien s Nguyen Thien Thanh
V du : Thiet ke he chuyen gia suy dien lui t van tai chanh bao gom cac cong viec
c mo ta nh sau :
1) nh ngha van e : Bai toan t van khach hang ve tai chanh nen au t so tien
cua ho vao mot trong cac loai phan von au t nh tiet kiem, chng khoan, cong
trai va tiet kiem va th trng chng khoan ieu o phai phu thuoc vao tnh
trang ban than va tnh trang tai chanh cua khach hang. Tnh trang ban than cua
khach hang phu thuoc vao o tuoi, cong viec lam va tnh trang gia nh. Tnh
trang tai chanh cua khach hang phu thuoc vao tai san hien co va tnh trang gia
nh. Nh vay, hai nhan to quan trong nhat e dan en ch cua bai toan t van
khach hang au t phan tien cua ho vao cac khoan au t o la tnh trang ban
than va tnh trang tai chanh cua khach hang la on nh hoac khong on nh.
2) nh ngha cac ch cua bai toan : Vi bai toan nay, cac ch cua bai toan c
nh ngha la
+ Phan von au t loai 1 : 100% au t vao tiet kiem
+ Phan von au t loai 2 : 60% th trng chng khoan, 30% th trng cong
trai va 10% tiet kiem.
+ Phan von au t loai 3 : 20% th trng chng khoan, 40% th trng cong
trai va 40% tiet kiem.
+ Phan von au t loai 4 : 100% au t vao th trng chng khoan.
3) Thiet ke cac luat suy dien ch : Luat suy dien ch cua he chuyen gia suy dien
lui la luat co cau truc nhn t ch lui ve d lieu. ieu o co ngha la ch cuoi
cung cua bai toan phai cnh ngha, t o nhn ve cac nhan to quyet nh e
dan en ch va cac nhan to quyet nh nay c xem nh la cac ch mi e
nhn ve cac nhan to quyet nh khac dan en ch mi nay. Thu tuc thiet ke luat
nay c lap lai cho en khi nhan to quyet nh la ngo vao t d lieu ban au
cua bai toan.
He thong luat moc xch suy dien ch e giai bai toan t van khach hang ve tai
chanh c thiet lap la :
Luat 1 : Neu so tien cua khach hang la nho hn 1000 dollars th t van khach hang
nen au t 100% so tien cua ho vao phan von au t tiet kiem.
Luat 2 : Neu tnh trang ban than cua khach hang la khong on nh va tnh trang thai
chanh cua khach hang la khong on nh th t van khach hang nen au t 100% so
tien cua ho vao phan von au t tiet kiem.
Luat 3 : Neu tnh trang ba than cua khach hang la khong on nh va tnh trang thai
chanh cua khach hang la on nh th t van khach hang nen au 60% so tien cua ho
vao phan von au t chng khoan, 30% so tien cua ho vao phan von au t cong
trai va 10% so tien cua ho vao phan von au t tiet kiem.
Luat 4 : Neu tnh trang ban than cua khach hang la on nh va tnh trang tai chanh
cua khach hang la khong on nh th t van khach hang au t 20% so tien cua ho
vao phan von au t chng khoan, 40% so tien cua ho vao phan von au t cong
trai va 40% so tien cua ho vao phan von au t tiet kiem.
Luat 5 : Neu tnh trang ban than cua khach hang la on nh va tnh trang thai chanh
cua khach hang la on nh th t van khach hang nen au t 100% so tien cua ho
vao phan von au t chng khoan.
Luat 6 : Neu tuoi cua khach hang la ln tuoi hoac viec lam cua khach hang la
khong on nh th tnh trang ban than cua khach hang la khong on nh.
Luat 7 : Neu tuoi cua khach hang la tre tuoi vaviec lam cua khach hang la on nh
va khach hang co tre con th tnh trang ban than cua khach hang la khong on nh.
Luat 8 : Neu tuoi cua khach hang la tre va viec lam cua khach hang la on nh va
khach hang khong co tre con th tnh trang ban than cua khach hang la on nh.
Luat 9 : Neu tuoi cua khach hang la ln hn 40 th tuoi cua khach hang la ln tuoi.
Luat 10 : Neu tuoi cua khach hang la nho hn 40 th tuoi cua khach hang la tre
tuoi.
Luat 11 : Neu thi gian hp ong lam viec cua khach hang la hn 10 nam th viec
lam cua khach hang la on nh.
Luat 12 : Neu thi gian hp ong lam viec cua khach hang la t 3 nam en 10 nam
va mc o sa thai la thap th viec lam cua khach hang la on nh.
Luat 13 : Neu thi gian hp ong lam viec cua khach hang la t 3 nam en 10
nam va mc o sa thai la cao th viec lam cua khach hang la khong on nh.
Luat 14 : Neu thi gian hp ong lam viec cua khach hang la t hn 3 nam th viec
lam cua khach hang la khong on nh.
Luat 15 : Neu tong so tai san cua khach hang la nho hn tong so n cua khach
hang th tnh trang tai chanh cua khach hang la khong on nh.
Luat 16 : Neu tong so tai san cua khach hang la ln hn tong so n cua khach
hang va nho hn 2 lan tong so n cua khach hang va khach hang co tre con th tnh
trang tai chanh cua khach hang la khong on nh.
Luat 17 : Neu tong so tai san cua khach hang la ln hn tong so n cua khach
hang th tnh trang tai chanh cua khach hang la on nh.
Chay he chuyen gia nay vi cac so lieu vao la
So tien au t : 5000 dollars
Tuoi cua khach hang : 30
http://www.khvt.com Trang 38
Bien soan: Tien s Nguyen Thien Thanh
Mang suy dien tnh trang ban than cua khach hang c mo ta nh hnh
Or and and
Client has
no children
<40 and
>=40 Or and
Service >
10
Layoffs low
Service < 3 Layoffs Service 3-
high 10
Hoc k 2 nam hoc 2005-2006 Trang 39
Bai giang mon Tr tue nhan tao va he chuyen gia
Mang suy dien tnh trang trang tai chanh cua khach hang c mo ta nh hnh
Or
and and
Client has
no children
Total assets
< total liab. Totalassets < Client has
2*totalliab. children
Totalassets > Totalassets >
2*totalliab. totalliab.
http://www.khvt.com Trang 40
Bien soan: Tien s Nguyen Thien Thanh
Co hai loai tri thc cua bai toan can phai c bieu dien o la tri thc mo ta
va tri thc thu tuc.
Tri thc mo ta la loai tri thc mo ta nhng g c biet ve bai toan. Loai tri
thc nay bao gom s kien, oi tng, lp cua cac oi tng va quan he gia cac oi
tng.
Tri thc thu tuc la thu tuc tong quat mo ta cach giai quyet bai toan. Loai tri
thc nay bao gom thu tuc tm kiem va luat suy dien.
Co ba phng phap bieu dien tri thc mo ta c ban o la phng phap bieu
dien tri thc nh logic v t, phng phap bieu dien tri thc nh mang ng ngha va
phng phap bieu dien tri thc bang khung.
Phng phap bieu dien tri thc nh logic v t o la lp bieu dien s dung cac
bieu thc logic e bieu dien c s tri thc. Luat suy dien va thu tuc chng minh ly
giai tri thc nay tren c s logic vi cac yeu cau bai toan at ra. Tuy nhien, o ch
la mot thanh phan cua bieu dien logic c trang b cho cong viec y tng lap trnh
cua ngon ng lap trnh Prolog.
Phng phap bieu dien tri thc nh mang ng ngha o la dung mang e bieu
dien tri thc nh la mot cau truc d lieu, trong o moi quan he gia cac oi tng
c thiet lap thong qua mang bieu dien tri thc.
Phng phap bieu dien tri thc nh frame con c goi la ngon ng bieu
dien cau truc o la s m rong cua mang, trong o moi nut cua mang la mot cau
truc d lieu cha cac slot vi cac gia tr cua chung c kem theo va cac thu tuc
giai quyet van e thc hien tren cac tac vu frame nay.
1) Logic e xuat :
Logic e xuat la tap cua cac e xuat, trong o moi e xuat la mot phat bieu ma
noi dung cua no co the la ung hoac la sai .
Cu phap cua logic e xuat gom co ky hieu chan ly, ky hieu e xuat va toan t
logic.
http://www.khvt.com Trang 42
Bien soan: Tien s Nguyen Thien Thanh
Trong cau logic e xuat, cac ky hieu ( ) va [ ] c s dung e nhom cac bieu thc
con trong cau.
V du : Cho cong thc ( (PQ) R) = PQR o la mot dang cau hoan thien,
bi v :
- P, Q va R la cac e xuat va v the chung la cac cau hoan thien.
- PQ la lien t cua hai cau va v the no la mot cau hoan thien.
- (PQ) R la keo theo cua mot cau cho mot cau khac va v the no la mot
cau.
- P va Q la phu inh cua cau va v the chung la cau.
- PQ la gii t cua hai cau va v the no la mot cau hoan thien.
- PQR la gii t cua hai cau va v the no cung la mot cau hoan thien.
- ( (PQ) R) = PQR la s tng cua hai cau va v the no la mot cau
hoan thien.
+ Ng ngha cua logic e xuat : Ng ngha cua logic e xuat o chnh la gia tr
chan ly cua cac ky hieu e xuat. Gia tr chan ly ung cua mot e xuat c ky hieu
la T va gia tr chan ly sai cua mot e xuat c ky hieu la F.
- Gia tr chan ly cua phu nh , P la F neu P la T va P la T neu P la F.
- Gia tr chan ly cua lien t , la T ch khi nao gia tr chan ly cua ca hai
thanh phan cua no la T; mat khac gia tr chan ly cua no la F.
- Gia tr chan ly cua gii t , la F ch khi nao gia tr chan ly cua ca hai
thanh phan cua no la F; mat khac gia tr chan ly cua no la T.
- Gia tr chan ly cua phep keo theo , la F neu gia tr chan ly cua ve tien
ieu kien la T va gia tr chan ly cua ve ket luan la F; mat khac gia tr
chan ly cua no la T.
- Gia tr chan ly cua phep tng ng , la T ch khi nao hai thanh phan
cua no la co cung gia tr chan ly; mat khac gia tr chan ly cua no la F.
Cho P, Q va R la cac bieu thc e xuat, cac bieu thc sau ay la cac bieu thc logic
tng ng :
- (P) = P.
- (PQ) = (PQ).
2) Logic v t :
Logic v t la s m rong cua logic e xuat, oi luc no con c goi la logic bac
nhat. Trong logic e xuat, moi ky nhieu e xuat nh P, Q hoac R c s dung
e bieu dien mot e xuat. Vi cach bieu dien nay khong cho phep ta truy cap
cac thanh phan ca the trong mot e xuat. e khac phuc ieu nay nh en logic
v t. Cach bieu dien cac e xuat dung logic v t cho phep ta co the truy cap
cac thanh phan ca the trong mot e xuat.
V du : Cho e xuat la
It rained on Tuesday.
Cach bieu dien e xuat nay dung logic e xuat la
R = It rained on Tuesday.
Vi cach bieu dien nay, ta ch xac minh c gia tr chan ly cua ky hieu e xuat R
nhng ta khong the truy cap cac thanh phan ca the trong e xuat nh rained va
tuesday o la tnh huong thi tiet va thi gian.
Cach bieu dien e xuat tren dung logic v t la
weather(tuesday,rain).
Vi cach bieu dien nay, ta co the truy cap cac thanh phan ca the trong e xuat nh
tuesday va rain .
Trong cach bieu dien nay, ta cung co the thay the bien X bieu dien lp cua cac oi
tng trong tuan vi ac trng tuesday ien hnh la
weather(X,rain).
+ Cu phap cua logic v t : gom co ky hieu chan ly, ky hieu v t va cac phep toan
logic. V logic v t la s m rong cua logic e xuat, do o ky hieu chan ly va cac
http://www.khvt.com Trang 44
Bien soan: Tien s Nguyen Thien Thanh
phep toan logic cua logic v t va logic e xuat la giong nhau. S khac nhau gia
hai loai logic nay la ky hieu v t va ky hieu e xuat.
Ky hieu v t gom co hang v t, bien v t, ham v t, v t va v t nh
lng.
- Hang v t : la chuoi cua cac ch cai in thng dung e bieu dien ten
rieng hoac thuoc tnh rieng cua oi tng.
V du : john, tree, tall, blue la cac ky hieu hang v t hp le.
- Bien v t : la chuoi cua cac ch cai vi t nhat ch cai au tien cua chuoi
phai la ch cai in hoa dung e bieu dien lp cua cac oi tng.
V du : X la bien v t dung e bieu dien lp cua cac oi tng ngay trong
tuan hoac Breaker la bien v t dung e bieu dien lp cua cac oi tng may
cat ien.
- Ham v t : la anh xa t mot hoac nhieu phan t cua tap hp nay en mot
phan t duy nhat trong mot tap hp khac. Ham phai co ten rieng va cac
oi so vao cua no. Ten cua ham v t c qui c la chuoi cua cac ch
cai in thng. Cu phap tong quat cua ham la
Ten_ham(Cac oi so vao cua ham).
Ham nhan cac oi so vao t mot tap hp nay va tra ve duy nhat mot oi so ra
trong mot tap hp khac.
V du : Cho e xuat la
George is father of David.
e xuat nay co the c bieu dien bang ham v t father la
father(david).
Ham tra ve gia tr ra cua no la george.
Cho mot e xuat khac la
2 plus 3 is equal to 5.
e xuat nay co the c bieu dien bang ham v t plus la
plus(2,3).
Ham se tra ve gia tr ra la 5.
Cac oi so cua ham v t co the la hang v t hoac bien v t.
- V t : V t la mot dang ac biet cua ham v t. V t cung phai co ten
rieng va cac oi so vao cua no. Ten v t thng la moi quan he gia hai
hoac nhieu oi tng trong mot e xuat. Qui c at ten cho v t cung
V du : Cho e xuat la
X likes Kate, trong o X la lp cua cac oi tng an ong.
e xuat nay co the c bieu dien bang v t likes la
likes(X, kate).
V t se tra ve gia tr logic true (T) neu that s tat ca nhng ngi an ong
thch Kate; mat khac v t tra ve gia tr logic false (F).
http://www.khvt.com Trang 46
Bien soan: Tien s Nguyen Thien Thanh
3. savings_account(adequate)income(inadequate)investmentcombinat
ion).
4. X amount_save(X)Y(dependents(Y)
greater(X,minsavings(Y))) savings_account(adequate).
5. X amount_save(X)Y(dependents(Y)
greater(X,minsavings(Y))) savings_account(inadequate).
6. X earnings(X,steady)Y(dependents(Y)
greater(X,minincom(Y))) income(adequate).
7. X earnings(X,steady)Y(dependents(Y)
greater(X,minincom(Y))) income(inadequate).
8. X earnings(X,unsteady) income(adequate).
9. amount_saved(22000).
10. earnings(2500,steady).
11. dependents(3).
12. income(inadequate).
13. savings_account(adequate).
(PQ) = PQ
(PQ) = PQ.
(X) P(X) = (X)P(X).
(X) P(X) = (X)P(X).
Bc 5 : Lap lai bc 4 cho en khi nao co menh e rong xuat hien th dng
thu tuc chng minh. Menh e rong la menh e khong cha bat ky mot phan t nao.
ieu nay chng to rang co s mau thuan gia tien e a gia s va tap cac tien e,
do o ta i en ket luan rang e xuat P la tng thch vi tap cac tien e va phu
nh cua e xuat P la khong tng thch vi tap cac tien e.
Giai
Cac tien e c bieu dien bang logic v t dang hoan thien la
1) (X) (dog(x) animal(X)).
2) dog(fido).
3) (Y)(animal(Y) die(Y)).
e chng minh e xuat Fido will die la ung, gia s Fido wil die la sai va do
o phu nh cua no la ung o la die(fido). Cho tien e nay la tien e 4 va
cong no vao tap cac ten e.
1) (X) (dog(x) animal(X)).
http://www.khvt.com Trang 48
Bien soan: Tien s Nguyen Thien Thanh
2) dog(fido).
3) (Y)(animal(Y) die(Y)).
4) die(fido).
Chuyen cac tien e dang logic hoan thien ve dang menh e la
1) (X)(dog(X)animal(X)).
2) dog(fido).
3) (Y)(animal(Y)die(Y)).
4) die(fido).
Kh bo tat ca cac v t nh lng
1) dog(X)animal(X).
2) dog(fido).
3) animal(Y)die(Y).
4) die(fido).
Qui trnh chng minh bang cay hp gia nh phan c mo ta nh hnh
1) dog(X)animal(X). 3) animal(Y)die(Y).
Y/X.
dog(Y)die(Y).
2) dog(fido).
fido/Y.
4) die(fido). die(fido).
Menh e rong
nhan e ch cac quan he hoac cac tnh chat gia cac oi tng. Vi cach bieu dien
nay c xem nh mot cau truc d lieu ma cac rang buoc von san co trong bai toan
co the c vach ra va hng giai quyet van e cua bai toan bang cac luat suy dien
cung co the c thiet lap nh thong qua cac ng mui ten lien ket gia cac oi
tng. V the mang con c goi la mang suy dien tri thc.
V du : Cho bai toan quan he gia nh vi cac s kien la
1) John is father of Marry.
2) Mary is daughter of John.
3) Bod is father of John.
4) John is son of Bod.
5) Bod is husband of Kate.
6) Kate is wife of Bod.
7) John is son of Kate.
8) Bod is grandfather of Marry.
9) Kate is grandmother of Marry.
10) Marry is granddaughter of Bod and Kate.
Hay bieu dien cac s kien quan he gia nh nay nh mang ng ngha ?
Giai :
Cac s kien quan he gia nh c bieu dien nh mang ng ngha c mo ta
father
nh hnh
daughter
John Marry
mother
granddaughter
father
son
son grandfather
grandmother
granddaughter
Bod Kate
husband
wife
http://www.khvt.com Trang 50
Bien soan: Tien s Nguyen Thien Thanh
Mot v du minh chng khac dung mang ng ngha e bieu dien lp ong vat c
mo ta nh hnh
can Breathe
has
Animal
Skin
can
Move
is a
can
Fly
Bird
has
Wings
has
Feathers
is a
is a
is
Ostrich
Canary Tail
can not
can is
Fly
Sing Yellow
4.4) Bieu Dien Tri Thc Nh Frame :
Mop phng phap bieu dien tri thc khac o la bieu dien cau truc bang cach
s dung mang ng ngha, trong o moi nut cua mang la mot cau truc d lieu cha
cac slot vi cac gia tr cua cac slot c kem theo. Cau truc tong quat cua mot
Frame d lieu c mo ta nh hnh
Frame <frame_name>
Slot : <property_name_1>
Value : <value of property_name_1>
Slot : <property_name_2>
Slot : <property_name_N>
Value : <value of property_name_N>.
Cac slot trong moi frame cha cac thong tin nh sau :
1) Thong tin nhan dang frame.
2) Thong tin quan he cua frame nay vi frame khac.
3) Cac thanh phan mo ta cua frame.
4) Thong tin thu thu tuc.
5) Thong tin mac nh frame.
6) Thong tin e xuat mi.
Bieu dien tri thc nh Frame cung cap y tng lap trnh hng oi tng trong ngon
ng lap trnh Prolog hoac cac ngon ng lap trnh khac nh C++ va Visual Basic.
Frame cho phep truy cap cac thanh phan cua Frame o la cac slot va cho phep
hng quyen tha ke gia Frame d lieu nay va Frame d lieu khac.
V du : Cho mang ng ngha bieu dien cac s kien ve ong vat nh hnh tren, cac
s kien nay c to chc trong cac khung nh sau :
Frame animal
Slot : can
Value : breathe, move
Slot : has
Value : wings
Frame bird
Slot : is_a
Value : animal
Slot : can
Value : fly
Slot : has
Value : wings, feathers
http://www.khvt.com Trang 52
Bien soan: Tien s Nguyen Thien Thanh
Frame canary
Slot : is_a
Value : bird
Slot : can
Value : sing
Slot : is
Value : yellow
Frame ostrich
Slot : is_a
Value : bird
Slot : can_not
Value : fly
Slot : is
Value : tail
V du ng dung : Thiet ke he chuyen gia ieu khien nhiet o moi trng tren c s
he thong Frame.
Xet he thong ieu khien nhiet o moi trng trong mot can nha nho gom co
ba phong o la phong khach, phong ngu va phong an, trong o moi phong co mot
nhiet ke, mot lo si va mot may ieu hoa co cau truc nh hnh.
Room
Termostat
50 60 70
Setting
Temperature
Mode
Heat Air
Frame room
Slot : funace
Value : < funac1,funace2,funace3 >
Slot : air_conditioner
Value : < air_conditioner1,air_conditioner2, air_conditioner3 >
Slot : thermostat
Value : < thermostat1, thermost2, thermostat3 >
Slot : occupany
Value : < yes,no >
Frame thermostat
Slot : air_conditioner
Value : < air_conditioner1,air_conditioner2, air_conditioner3 >
Slot : funace
Value : < funac1,funace2,funace3 >
Slot : mode
Value : <heat,air>
Slot : setting
Value : 60
Slot : temperature
Value : 65
Slot : room
Value : <livingroom, bedroom, kitchenroom >
Frame air_conditioner
Slot : room
Value : <livingroom, bedroom, kitchenroom >
Slot : state
Value : <on,off>
Slot : thermostat
Value : < thermostat1,thermostat2, thermostat3 >
http://www.khvt.com Trang 54
Bien soan: Tien s Nguyen Thien Thanh
Frame funace
Slot : room
Value : <livingroom, bedroom, kitchenroom >
Slot : state
Value : <on,off>
Slot : thermostat
Value : < thermostat1,thermostat2, thermostat3 >
C s luat ieu khien nhiet o moi trng trong nha tren c s cac thanh phan cua
he thong frame c thiet lap gom cac luat la
Luat 1 : if ( temperature < setting ) and (funace state off ) and (mode heat )
and ( roomoccupancy yes) then send message (funace state = on ).
Luat 2 : if ( temperature < setting - 5) and (funace state off ) and (mode heat )
and ( roomoccupancy no) then send message (funace state = on ).
Luat 3 : if ( temperature >= setting ) and (funace state on ) and (mode heat )
and ( roomoccupancy yes ) then send message (funace state = off ).
Luat 4 : if ( temperature >= setting - 5) and (funace state on ) and (mode heat )
and ( roomoccupancy no) then send message (funace state = off ).
Luat 5 : if ( temperature < setting ) and (air_conditioner state off ) and (mode
air ) and ( roomoccupancy yes) then send message (air_conditioner state = on ).
Luat 6 : if ( temperature < setting - 5) and (air_conditioner state off ) and (mode
air ) and ( roomoccupancy no) then send message (air_conditioner state = on ).
domains
/*
domain declarations
*/
predicates
/*
predicate declarations
*/
clauses
/*
clauses ( rules and facts)
*/
goal
/*
subgoal_1
subgoal_2
/*
+ domains : la vung e khai bao mien kieu d lieu khong chuan trong cac
predicate. Giong nh cac ngon ng lap trnh khac, cac mien kieu d lieu chuancua
Prolog la short, ushort, word, integer, unsigned, long, ulong, dword, real, string va
symbol.
+ predicates : la vung e khai bao cac predicates. Predicate phai co ten rieng va
cac oi so vao cua no. Theo qui c, ten cua predicate phai la chuoi cua cac ch
cai in thng va oi so cua predicate la ch in hoa neu no la bien; mac khac no la
chuoi cac ch cai in thng. Cac oi so cua predicate phai c khai bao vi kieu
d lieu tng ng cua chung.
+ clauses : la vung cho phep the hien cac s kien va luat suy dien. S kien c the
hien di dang v t vi cac oi so cua no la cac hang v t. Luat suy dien c the
http://www.khvt.com Trang 56
Bien soan: Tien s Nguyen Thien Thanh
domains
name, thing = symbol
predicates
nondeterm likes(name, thing)
reads(name)
is_inquisitive(name)
clauses
likes(john,wine).
likes(lance,skiing).
likes(lance,books).
likes(lance,films).
likes(Z,books) :-
reads(Z),is_inquisitive(Z).
reads(john).
is_inquisitive(john).
goal
likes(X,wine),likes(X,books).
Cay chng trnh cho ket qua la
X = john.
1 solution.
V du : chng trnh Prolog sau la mot v du minh chng s dung cac toan tren
e giai phng trnh bac 2 co dang ax2 + bx + c = 0.
predicates
solve(real,real,real)
reply(real,real,real)
clauses
solve(A,B,C):-
D = B*B - 4*A*C,
reply(A,B,D),nl.
reply(_,_,D):-
D < 0,
write("No solution"),!.
reply(A,B,D):-
D = 0,
X = -B/(2*A),
write("X = ",X),!.
reply(A,B,D):-
X1 = (-B +sqrt(D))/(2*A),
X2 = (-B -sqrt(D))/(2*A),
write("X1 = ",X1," and X2 = ",X2).
http://www.khvt.com Trang 58
Bien soan: Tien s Nguyen Thien Thanh
goal
solve(1.0,2.0,1.0),
solve(1.0,1.0,4.0),
solve(1.0,-3.0,2.0).
+ Thanh vien cua danh sach : Neu X la thanh vien cua danh sach L th menh
e clauses c thiet lap la
clauses
member(X,[X|-]).
Member(X,[_|L]) :- member(X,L).
V du : Chng trnh Prolog sau la mot v du minh chng khang nh neu oi
tng la thanh vien cua danh sach th ap an la yes; mat khac ap an la no.
domains
x = symbol
List = symbol*
predicates
member(X,List)
clauses
member(X,[X|_]):-!.
member(X,[_|T]) :- member(X,T).
goal
member(b,[a,b,c]).
Chay chng trnh nay cho ket qua la yes, v b la thanh vien cua danh sach [a,b,c].
+ Noi danh sach : Menh e noi hai danh sach vi clause c thiet lap la
clauses
append([],List,List).
Append([X|L1],L2,[X|L3]) :- append(L1,L2,L3).
append(List,List,List)
clauses
append([],List,List).
append([X|T],L,[X|NL]) :- append(T,L,NL).
goal
append([a,b,c],[d,e],Y).
+ Hien th danh sach : Menh e hien th hanh sach ra man hnh vi clauses c
thiet lap la
clauses
writelist([]).
writelist([H|T) :- write(H),nl,writelist(T).
V du 1 : Cho bai toan quan he gia nh vi cac s kien va cac luat suy dien la
1) John is son of Dan.
2) Mary is sister of Suzan.
3) Harold is brother of Larry.
4) John married Mary.
5) Larry married Sue.
6) If B is son of A then A is father of B.
7) If A is father of C and C is father of B then A is grandfather of B.
8) If A married C and C is sister of B then A is sister in law of B.
9) If A is brother of C and C married B then A is sister in law of B.
Chng trnh Prolog la mot v du minh chng giai quyet bai toan moi quan he gia
nh nay.
database - tmp
son(STRING,STRING)
sister(STRING,STRING)
http://www.khvt.com Trang 60
Bien soan: Tien s Nguyen Thien Thanh
brother(STRING,STRING)
married(STRING,STRING)
clauses
son("John","Dan").
sister("Mary","Suzan").
brother("Harold","Larry").
married("John","Mary").
married("Larry","Sue").
predicates
father(STRING father,STRING child)
grandfather(STRING grandfather,STRING grandchild)
nondeterm sister_in_law(STRING,STRING)
clauses
father(A,B):-
son(B,A).
grandfather(A,B):-
father(A,C),
father(C,B).
sister_in_law(A,B):-
married(A,C),
sister(C,B).
sister_in_law(A,B):-
brother(A,C),
married(C,B).
goal
sister_in_law("John",Z),
format(Msg,"sister_in_law(\"John\",%)",Z),
write(Msg).
V du 2 : Chng trnh Prolog sau la mot v du ien giai bai toan ngi nong dan
sap xep cac chuyen thuyen qua lai song.
domains
LOC = east;
west
STATE = state(LOC farmer,LOC wolf,LOC goat,LOC cabbage)
PATH = STATE*
predicates
go(STATE,STATE) % Start of the algorithm
path(STATE,STATE,PATH,PATH) % Finds a path from one state to another
nondeterm move(STATE,STATE) % Transfer a system from one side to
another
opposite(LOC,LOC) % Gives a location on the opposite side
nondeterm unsafe(STATE) % Gives the unsafe states
nondeterm member(STATE,PATH) % Checks if the state is already visited
write_path(PATH)
write_move(STATE,STATE)
clauses
go(StartState,GoalState):-
path(StartState,GoalState,[StartState],Path),
write("A solution is:\n"),
write_path(Path).
path(StartState,GoalState,VisitedPath,Path):-
move(StartState,NextState), % Find a move
not(member(NextState,VisitedPath)), % Check that we have not
had this situation before
path(NextState,GoalState,[NextState|VisitedPath],Path),
!.
path(GoalState,GoalState,Path,Path). % The final state is
reached
http://www.khvt.com Trang 62
Bien soan: Tien s Nguyen Thien Thanh
move(state(X,X,G,C),state(Y,Y,G,C)):-
opposite(X,Y),not(unsafe(state(Y,Y,G,C))).
move(state(X,W,X,C),state(Y,W,Y,C)):-
opposite(X,Y),not(unsafe(state(Y,W,Y,C))).
move(state(X,W,G,X),state(Y,W,G,Y)):-
opposite(X,Y),not(unsafe(state(Y,W,G,Y))).
move(state(X,W,G,C),state(Y,W,G,C)):-
opposite(X,Y),not(unsafe(state(Y,W,G,C))).
opposite(east,west).
opposite(west,east).
member(X,[X|_]):-
!.
member(X,[_|L]):-
member(X,L).
write_path([H1,H2|T]):-
write_move(H1,H2),
write_path([H2|T]).
write_path([]).
write_move(state(X,W,G,C),state(Y,W,G,C)):-
!,
write("The farmer crosses the river from ",X," to ",Y),
nl.
write_move(state(X,X,G,C),state(Y,Y,G,C)):-
!,
write("The farmer takes the Wolf from ",X," of the river to ",Y),
nl.
write_move(state(X,W,X,C),state(Y,W,Y,C)):-
!,
write("The farmer takes the Goat from ",X," of the river to ",Y),
nl.
write_move(state(X,W,G,X),state(Y,W,G,Y)):-
!,
write("The farmer takes the cabbage from ",X," of the river to ",Y),
nl.
goal
go(state(east,east,east,east),state(west,west,west,west)),
write("solved").
Chay chng trnh nay cho ket qua la
A solution is:
The farmer takes the Goat from west of the river to east
The farmer crosses the river from east to west
The farmer takes the cabbage from west of the river to east
The farmer takes the Goat from east of the river to west
The farmer takes the Wolf from west of the river to east
The farmer crosses the river from east to west
The farmer takes the Goat from west of the river to east
no
Muc tieu cua bai toan la di chuyen tat ca cac a t cot ben trai sang cot ben phai
nh thong qua cot trung gian gia moi lan di chuyen mot a khong c phep a
ln nam tren a nho.
Chng trnh Prolog sau la mot v du minh chng giai bai toan thap Ha Noi nay.
http://www.khvt.com Trang 64
Bien soan: Tien s Nguyen Thien Thanh
domains
loc =right;middle;left
predicates
hanoi(integer)
move(integer,loc,loc,loc)
inform(loc,loc)
clauses
hanoi(N):-
move(N,left,middle,right).
move(1,A,_,C):-
inform(A,C),
!.
move(N,A,B,C):-
N1=N-1,
move(N1,A,C,B),
inform(A,C),
move(N1,B,A,C).
inform(Loc1, Loc2):-
write("\nMove a disk from ", Loc1, " to ", Loc2).
GOAL
hanoi(3).
Entry Hell
Mermaid
Fountain
Robbers
Food
Gold
Monsters treasure Exit
Tren ng tm en kho bau cha vang phai qua cac hang ong nguy hiem nh
monsters ( quai vat) va robbers (nhng ke cp).
Chng trnh Prolog sau la mot v du minh chng tm ng an toan en hang ong
kho bau cha vang.
domains
room = symbol
roomlist = room*
predicates
nondeterm gallery(room,room)
nondeterm neighborroom(room,room)
avoid(roomlist)
nondeterm go(room,room)
nondeterm route(room,room,roomlist)
nondeterm member(room,roomlist)
clauses
gallery(entry,monsters).
gallery(entry,fountain).
gallery(fountain,hell).
gallery(fountain,food).
gallery(exit,gold_treasure).
gallery(fountain,mermaid).
http://www.khvt.com Trang 66
Bien soan: Tien s Nguyen Thien Thanh
gallery(robbers,go_treasure).
gallery(fountain,robbers).
gallery(food,gold_treasure).
gallery(mermaid,exit).
gallery(monsters,gold_treasure).
gallery(gold_treasure,exit).
gallery(mermaid,gold_treasure).
neighborroom(X,Y) :- gallery(X,Y).
neighborroom(X,Y) :- gallery(Y,X).
avoid([monsters,robbers]).
go(Here,There) :- route(Here,There,[Here]).
go(_,_).
route(Room,Room,VisitedRooms) :- member(gold_treasure,VisitedRooms),
write(VisitedRooms),nl,fail.
route(Room,Way_out,VisitedRooms) :- neighborroom(Room,Nextroom),
avoid(DangerousRooms),
not(member(NextRoom,DangerousRooms)),
not(member(NextRoom,VisitedRooms)),
route(NextRoom,Way_out,[NextRoom|VisitedRooms]).
member(X,[X|_]):-!.
member(X,[_|L]):-
member(X,L).
goal
go(entry,exit).
Kansas
Tampa
120
500
Houston
150
Gordon
1000
Chng trnh Prolog sau la mot v du minh chng giai bai toan tm ng i ngan
nhat t thanh pho Gordon en thanh pho Tampa.
domains
town = symbol
townlist = town*
distance = integer
predicates
nondeterm road(town,town,distance)
clauses
road(tampa,houston,500).
road(gordon,tampa,1000).
road(houston,gordon,150).
road(houston,kansas_city,120).
road(tampa,kansas_city,100).
predicates
nondeterm connected(town,town,distance)
clauses
connected(X,Y,Dist):-
http://www.khvt.com Trang 68
Bien soan: Tien s Nguyen Thien Thanh
road(X,Y,Dist).
connected(X,Y,Dist):-
road(Y,X,Dist).
predicates
determ member(town,townlist)
clauses
member(X,[X|_]):-!.
member(X,[_|L]):-
member(X,L).
predicates
nondeterm route(town,town,townList,townList,distance)
clauses
route(Town,Town,VisitedTowns, VisitedTowns, 0) :-
!.
route(Town1,Town2,VisitedTowns,ResultVisitedTowns,Distance):-
connected(Town1,X,Dist1),
not(member(X,VisitedTowns)),
route(X,Town2,[X|VisitedTowns],ResultVisitedTowns,Dist2),
Distance=Dist1+Dist2.
predicates
showAllRoutes(town,town)
write_rote(town FirstTown,townList,distance)
reverse_list(townList InList, townList Tmp, townList Reversed)
clauses
showAllRoutes(Town1,Town2):-
write("All routes from ",Town1," to ",Town2," are:\n"),
route(Town1,Town2, [Town1] ,VisitedTowns, Dist),
write_rote(Town1,VisitedTowns,Dist),nl,
fail.
showAllRoutes(_,_).
write_rote(Town1,[Town1|VisitedTowns],Dist):-
!,
Towns = [Town1|VisitedTowns],
write(" ",Towns," --> ",Dist),nl.
write_rote(_,VisitedTowns,Dist):-
reverse_list(VisitedTowns, [], VisitedTowns_Reversed),
write(" ",VisitedTowns_Reversed," --> ",Dist),nl.
reverse_List([],LIST,LIST):-!.
reverse_List([H|SeenListRest],Interm,SeenList):-
reverse_List(SeenListRest,[H|Interm],SeenList).
predicates
showShortestRoutes(town,town)
determ shorterRouteExist(town,town,distance)
clauses
showShortestRoutes(Town1,Town2):-
write("Shortest routes between ",Town1," to ",Town2," is:\n"),
route(Town1,Town2, [Town1] ,VisitedTowns, Dist),
not(shorterRouteExist(Town1,Town2,Dist)),
write_rote(Town1,VisitedTowns,Dist),nl,
fail.
showShortestRoutes(_,_).
shorterRouteExist(Town1,Town2,Dist):-
route(Town1,Town2, [Town1] ,_, Dist1),
Dist1<Dist,!.
goal
showAllRoutes("gordon", "tampa"),nl,
showShortestRoutes("gordon", "tampa").
http://www.khvt.com Trang 70
Bien soan: Tien s Nguyen Thien Thanh
Input1 N1
N4
Not
And
Output
Or
And
Not
N3
Input2 N2
Chng trnh Prolog sau la mot v du minh chng kiem tra cach van hanh cua
mach.
domains
d = integer
predicates
not_(D,D)
and_(D,D,D)
or_(D,D,D)
xor_(D,D,D)
clauses
not_(1,0).
not_(0,1).
and_(0,0,0).
and_(0,1,0).
and_(1,0,0).
and_(1,1,1).
or_(0,0,0).
or_(0,1,1).
or_(1,0,1).
or_(1,1,1).
goal
xor_(Input1,Input2,Output), % Use GOAL mode to see results !!!
format(Msg," xor_(%,%,%)",Input1,Input2,Output),
write(Msg).
http://www.khvt.com Trang 72
Bien soan: Tien s Nguyen Thien Thanh
5.1) ng Dung tr Tue Nhan Tao Phan Tch Bao Ve He Thong Nang Lng
ien :
Cho he thong nang lng ien n gian gom hai cat va mot ng dan nh
hnh ve
Fault
B1 B2
LineX
Bai toan at ra la co mot he thong nang lng phc tap hn gom nhieu ng dan
va nhieu may cat nh hnh ve
O S S O
1
l1
2 3
l2
4
O S S
S
5
l3
6 7
l4
8
Bus Load
Ky hieu O la may cat van hanh ngat dong va ky hieu S la may cat co chc nang sai
khong van hanh ngat dong.
Vi mot he thong phc tap nh vay, khi co s co tren ng dan LineX, th
viec phan tch bao ve he thong la rat can thiet. Cong viec phan tch bao ve he
thong c at ra may van e nh sau :
Cho he thong nang lng gom 8 may cat va 4 ng dan vi cac s kien hien co
tren he thong nh a c mo ta tren, cong viec phan tch bao ve he thong nay la
gia s rang neu co s co xay ra tren moi ng dan LineX th viec phan tch bao
ve he thong phai xac nh c v tr ng dan LineX, cac may cat bao ve ng
dan LineX van hanh hoac khong van hanh va neu may cat khong van hanh th phai
co may cat khac d phong van hanh e bao ve he thong.
Ky thuat tr tue nhan tao c ng dung e thiet ke he thong phan tch bao
ve he thong nang lng bao gom cac cong viec nh sau :
+ Cong viec mo ta cac s kien hien co cua he thong nh nguon cung cap
nang lng, hai may cat bao ve ng mot ng dan, may cat van hanh va may
cat khong van hanh, cac may cat lien thong qua thanh gop.
+ Cong viec thiet ke c s luat suy dien t cac s kien hien co c mo ta
tren he thong nh luat suy dien lien thong gia hai may cat, luat suy dien xac nh
may cat cung bao ve ng dan, luat suy dien may cat co nguon, luat suy dien may
cat d phong cho mot may cat khac, luat suy dien may cat d phong cho mot may
cat khac khong van hanh, luat suy dien may cat mat nguon va luat suy dien xac
nh ng dan co s co.
e mo ta cac s kien hien co tren he thong nang lng ien, cac v t tong
quat c thiet lap la
+ V t generation(B) : mo ta may cat B noi trc tiep vi nguon.
+ V t protected_by(LineX, B1, B2) : ng dan LineX c bao ve bi hai
may cat B1 va B2.
+ V t connect(B1,B2) : mo ta may cat B1 la lien thong vi may cat B2 qua
thanh gop.
+ V t operate(B) : mo ta may cat van hanh.
http://www.khvt.com Trang 74
Bien soan: Tien s Nguyen Thien Thanh
e thiet ke he c s luat suy dien giai quyet bai toan phan tch bao ve he
thong nang lng nh c mo ta tren, cac luat suy dien c thiet lap la
+ Luat x ly cac may cat lien thong qua thanh gop.
If connect(B1, B2) then connection(B1, B2).
If connect(B2, B1) then connection(B1,B2).
+ Luat x ly may cat cung bao ve ng dan.
If protected_by(LineX, B1, B2) then other_breaker(B1, B2).
If protected_by(LineX, B2, B1) then other_breaker(B1, B2).
+ Luat x ly may cat co nguon.
If generation(B) then has_gen(B).
If connection(B, B1) and other_breaker(B1, B2) and has_gen(B2) then
has_gen(B).
+ Luat x ly may cat d phong cho mot may cat khac.
If not(generation(B1)) and connection(B1, B3) and
other_breaker(B3,B2) and has_gen(B2) then back_up(B1, B2).
+ Luat x ly may cat d phong cho mot may cat khac khong van hanh.
If back_up(B1, B2) and not(operate(B2)) then
backup_did_not_work(B1, B2).
+ Luat x ly may cat mat nguon.
If not(has_gen(B)) then no_source_coming(B).
If has_gen(B) and operate(B) then no_source_coming(B).
If back_up(B1, B2) and not(backup_did_not_work(B1, B2)) then
No_source_coming(B1).
+ Luat x ly xac nh ng dan LineX co s co.
If no_source_coming(B1) and no_source_coming(B2) then
fault(LineX, B1, B2).
Chng trnh Prolog sau la mot v du minh chng giai quyet bai toan phan tch bao
ve he thong nang lng vi mo hnh topo hnh hoc a cho tren.
database -tmp
protected_by(STRING,STRING,STRING)
connect(STRING,STRING)
operate(STRING)
generation(STRING)
predicates
nondeterm connection(STRING,STRING)
nondeterm other_breaker(STRING,STRING)
nondeterm has_gen(STRING)
nondeterm back_up(STRING,STRING)
nondeterm backup_did_not_work(STRING,STRING)
nondeterm no_source_coming(STRING)
fault(STRING,STRING,STRING)
printbackup(STRING)
printout(STRING)
run
clauses
protected_by("line1","1","2").
protected_by("line2","3","4").
protected_by("line3","5","6").
protected_by("line4","7","8").
connect("2","3").
connect("2","6").
connect("2","7").
connect("3","6").
connect("3","7").
connect("6","7").
generation("1").
generation("4").
generation("5").
operate("1").
operate("4").
operate("5").
connection(B1,B2) :- connect(B1,B2).
connection(B1,B2) :- connect(B2,B1).
other_breaker(B1,B2) :- protected_by(_,B1,B2).
other_breaker(B1,B2) :- protected_by(_,B2,B1).
has_gen(B) :- generation(B),!.
has_gen(B) :- connection(B,B1),other_breaker(B1,B2),has_gen(B2),!.
back_up(B1,B2) :-
not(generation(B1)),connection(B1,B3),other_breaker(B3,B2),has_gen(B2).
backup_did_not_work(B1,B2) :- back_up(B1,B2),not(operate(B2)).
http://www.khvt.com Trang 76
Bien soan: Tien s Nguyen Thien Thanh
no_source_coming(B1) :- not(has_gen(B1)).
no_source_coming(B1) :- has_gen(B1),operate(B1).
no_source_coming(B1) :- back_up(B1,_),not(backup_did_not_work(B1,_)).
fault(_,B1,B2) :- no_source_coming(B1),no_source_coming(B2),!.
printbackup(B) :- back_up(B,B1),operate(B1),
write("Breaker"),
write(B1),
write(" Operated correctly as a backup breaker"),nl,fail.
printout(B) :- has_gen(B),operate(B),
write("Breaker"),write(B),
write(" operated correctly"),nl,!.
printout(B) :- has_gen(B),not(operate(B)),
write("Breaker"),
write(B),
write(" Malfunctioned"),nl,
not(printbackup(B)),!.
run :-
protected_by(L,B1,B2),
fault(L,B1,B2),
write("Possible Fault Location is on "),
write(L),nl,
printout(B1),
printout(B2),nl,nl,fail.
goal
run.
http://www.khvt.com Trang 78
Bien soan: Tien s Nguyen Thien Thanh
Bai toan at ra la gia s rang robot ang tai v tr o co ch so (1,1) vieng tham qua
cac o khac e tm o cha vang, lay vang va mang vang tr ve lai nha la o (1,1).
Qua trnh tham do qua cac o, robot phai oi mat vi cac o cha cac chng ngai vat
nh ham bay va ke trong coi vang. Robot se b nguy hiem neu no i vao cac o nay.
Trc khi robot i vao cac o cha cac oi tng nay, no co the anh mui cac oi
tng nay cac o ke cua chung. Hay xay dng he c s tri thc cho robot co the
thc hien cac thao tac tham do qua cac o biet suy ngh tranh c cac o cha cac
chng ngai vat va tm ng an toan en o cha vang, lay vang va mang vang tr
ve lai nha la o (1, 1) ?
Cac ky hieu s dung vi bai toan nay co ngha nh sau :
+ Agent : robot.
+ Gold : vang.
+ Wumous : ke trong coi vang.
+ Pits : ham bay.
+ Stench : mui ke trong coi vang.
+ Breeze : mui ham bay.
+ gliter : mui co vang.
e xay dng mot he thong c s tri thc cho robot co the thc hien c cac
yeu cau e ra nh tren, cac cong viec sau can phai c xem xet o la
+ Mo ta cac s kien ve robot va cac s kien lien quan vi robot nh thao tac
di chuyen va thao tac lay vang cua robot, v tr va tnh huong cua robot, v tr o ke
oi mat vi robot en tham do hoac khong en tham do, v tr o cha chng ngai
vat va cac o ke cha mui chng ngai vat.
+ He thong c s luat suy dien cho robot biet suy ngh tnh toan e thc hien
cac thao tac can thiet cua no.
He thong c s luat suy dien cho robot co kha nang suy ngh tnh toan e thc hien
cac thao tac can thiet tranh chng ngai vat va bam theo ng tren cac o an toan
tm en o cha vang, lay vang va mang vang ve o (1,1) c thiet lap gom cac luat
suy dien nh sau :
+ Luat x ly v tr o oi mat vi robot.
at(Agent, L, S) locationAhead(A, S) =
locationtoward(L,orientation(Agent, S)).
http://www.khvt.com Trang 80
Bien soan: Tien s Nguyen Thien Thanh
+ Luat x ly v tr cac o ke cha mui cac oi tng ham bay va ke trong coi
vang.
at(Wumpus, L1, S)adjacent(L1, L2) smelly(L2).
at(Pitts, L1, S)adjacent(L1, L2) breezy(L2).
+ Luat xac nh v tr cac o co kha nang cha ham bay va ke trong coi vang.
smelly(L1) L2 at(Wumpus, L2, S)L2 =L1adjacent(L1, L2).
breezy(L1) L2 at(Pitts, L2, S)L2 =L1adjacent(L1, L2).
+ Luat xac nh v tr va tnh huong cua robot tm thay vang, lay vang va
mang vang ve lai o (1, 1).
at(Agent, L, S)gliter(S) atGold(S).
atGold(S) present(Gold, S).
present(Gold, S)portable(Gold, S) holding(Gold, result(grab, S)).
holding(Gold, S) goallocation([1, 1], S).
5.3) Bai Toan Lap Phng An Cho Canh Tay Robot Xep Khoi :
Cho bai toan khoi tren mat ban va canh tay robot vi trang thai ban au va
trang thai ch nh hnh ve
B E A E
A C D C D
Bai toan at ra la lap phng an cho canh tay robot di cac khoi t trang thai ban
au cua bai toan sang trang thai ch cua bai toan. e lam c viec nay, canh tay
robot phai thc hien cac thao tac la
+ goto(X, Y, Z) : di chuyen canh tay robot en v tr co toa o X, Y, Z.
+ pickup(X) : thc hien lenh nhat khoi X len t mat ban.
+ putdown(X) : thc hien lenh at khoi X xuong mat ban.
+ takeoff(X, Y) : thc hien lenh lay khoi X t nh cua khoi Y.
+ puton(X, Y) : thc hien lenh at khoi X len nh cua khoi Y.
e bieu dien cac trang thai cua bai toan, cac v t tong quat c thiet lap la
+ location(W, X, Y, Z) : mo ta khoi W nh v tai v tr co toa o X, Y, Z.
+ on(X, Y) : mo ta khoi X name tren khoi Y.
+ clear(X) : mo ta lam sach khoi X (khong co khoi bat ky nam tren khoi X).
+ hold(X) : mo ta canh tay robot cam gi khoi X.
+ hold() : mo ta canh tay robot rong.
+ ontable(X) : mo ta khoi X name tren mat ban.
He thong c s luat suy dien ieu khien canh tay di cac khoi t trang thai ban au
en trang thai cua bai toan c thiet lap gom cac luat la
+ Luat xac nh lam sach khoi.
X(clear(X) Y(on(Y, X))).
+ Luat xac nh khoi name tren mat ban.
X Y (on(Y, X) ontable(Y)).
+ Luat xac nh canh tay robot rong.
http://www.khvt.com Trang 82
Bien soan: Tien s Nguyen Thien Thanh
Y (hold() hold(Y)).
+ Luat thay oi trang thai khi thc hien lenh pickup.
X (pickup(X) (hold(X) (hold()ontable(X)clear(X)))).
+ Luat thay oi trang thai khi thc hien lenh putdown.
X (putdown(X) (hold()ontable(X)clear(X)) hold(X))).
+ Luat thay oi trang thai khi thc hien lenh puton.
X Y (puton(X, Y) ((hold()on(X, Y)clear(X))
(hold(X)clear(Y)))).
+ Luat thay oi trang thai khi thc hien lenh takeoff.
X Y (takeoff(X, Y) ((hold(X)clear(Y))
(hold()on(X,Y)clear(X)))).
+ Luat x ly rang buoc khi thc hien lenh takeoff.
X Y Z (takeoff(Y, Z) (ontable(X)ontable(X))).
+ Luat x ly rang buoc khi thc hien lenh puton.
X Y Z (puton(Y, Z) (ontable(X)ontable(X))).
Tng t vi hai luat rang buoc tren, cac luat rang buoc khac cho quan he on va
clear phai c thiet lap.
Do co nhieu luat rang buoc khung ket hp vi cac luat thay oi trang thai
phat sinh ra mot khong gian trang thai tm kiem cua bai toan la qua ln va qua
phc tap tao ra nhieu ng khac nhau dan ve ch cua bai toan, trong o moi
ng la mot phng an co the ieu khien canh tay robot di cac khoi t trang thai
ban au sang trang thai ch.
V s dung qua nhieu luat rang buoc khung vi cac lenh thay oi trang thai
cua bai toan tao ra mot khong gian trang thai tm kiem la qua phc tap, ieu nay
dan en viec lap phng an cho canh tay robot di khoi t trang thai ban au at
en trang thai ch la rat kho khan. e khac phuc ieu nay, cong viec loai bo viec
s dung cac luat rang buoc khung, he thong luat thay oi trang thai cua bai toan co
the c cai tien vi luat ba thanh phan la
P : hold ( X )
putdown( X ) : A : hold () ontable( X ) clear( X )
D : hold ( X )
P : hold ( X ) clear (Y )
puton( X , Y ) : A : hold () on( X , Y ) clear ( X )
D : hold ( X ) clear (Y )
Trong o, P la danh sach cha cac tien ieu kien, A la danh sach cha cac s kien
mi va D la danh sach cha cac tien ieu kien a s dung va c huy bo.
Bang bieu tam giac : e nh lai cac thao tac cua mot phng an, mot cau
truc d lieu mi c e xuat o la bang bieu tam giac. Neu phng an c thiet
lap cho canh tay robot di khoi t trang thai ban au co so p thao tac, th bang bieu
tam giac c thiet lap vi p + 1 hang va p + 1 cot nh bang.
S kien cua
trang thai ban
Thao tac 1
S kien con lai S kien mi
t o tren cua thao tac 1
Thao tac 2
S kien con lai S kien con lai S kien mi
t o tren t o tren cua thao tac 2
. .
.
.
.
.
.
.
. Thao tac p
.
.S kien con lai
t o tren
S kien con lai
t o tren
S kien con lai
t o tren
S kien con lai
t o tren
S kien mi
cua thao tac p
http://www.khvt.com Trang 84
Bien soan: Tien s Nguyen Thien Thanh
Cach thiet lap bang bieu tam giac e nh lai cac thao tac cua phng an c thiet
lap cho canh robot di cac khoi t trang thai ban at en trang thai ch cua bai
toan khoi c mo ta nh sau :
+ Phng an co p thao tac, bang bieu tam giac c thiet lap la p + 1 hang va
p + 1 cot.
+ O au tien cua bang bieu vi ch so (0, 0) cha cac s kien mo ta trang thai
ban au cua bai toan.
Tri thc chan chan la loai tri thc ma mien gia tr chan ly logic cua no la
logic true va logic false ng vi hai ch so 1 va 0.
Mot loai tri thc khac cua bai toan o la tri thc khong chac chan. Tri thc
khong chac chan la loai tri thc ma mien gia tr chan ly cua no la khong chac chan
ung va khong chac chan sai. ieu o co ngha la mien gia tr chan ly cua no la
trong khoang 0 va 1. Loai tri thc nay thng c phat bieu vi cac nhom khong
chac chan la
+ Tuyet oi sai.
+ Hau nh khong chac chan.
+ Co le khong chac chan.
+ Co the khong chac chan.
+ Cha biet.
+ Co the chac chan.
+ Co le chac chan.
+ Hau nh chac chan.
+ Tuyet oi chac chan.
Neu suy dien la tri thc khong chac chan th gia tr chan ly cua tien ieu kien P la
trong khoang 0 va 1 va gia tr chan ly cua suy dien cung la trong khoang 0 va 1;
vay th bang cach nao e xac nh gia tr chan ly cua ket luan Q ?.
http://www.khvt.com Trang 86
Bien soan: Tien s Nguyen Thien Thanh
e ly giai vi loai tri thc khong chac chan s dung ly thuyet khong chac chan o
la ly thuyet xac suat hay ly thuyet logic m. Hai loai ly thuyet nay con c goi la
logic nhieu ch so gia 0 va 1.
6.2) X Ly Tri Thc Khong Chac Chan Dung Ly Thuyet Xac Suat :
Xac suat cua hai bien co a va b xay ra oc lap tren c s luat giao hoan c
nh ngha la
+ Xac suat cua a ky hieu la P(a) = n1/n.
+ Xac suat cua c ky hieu la P(b) = n2/n.
+ Xac suat cua a va b c ky hieu la P(ab) = n3/n.
+ Xac suat ieu kien a cho bi bien co b c ky hieu la
P(a\b) = n3/n2 = P(ab)/P(b).
+ Xac suat ieu kien b cho bi bien co a c ky hieu la
P(b\a) = n3/n1 = P(ab)/P(a).
Xac suat cua hai bien co a hoac b xay ra phu thuoc tren c s luat giao hp
c nh ngha la
+ Xac suat cua a la P(a) = n1/n + n3/n = P(ba) + P(ab).
+ Xac suat cua b la P(b) = n2/n + n3/n = P(ab) + P(ab.
Ly giai vi tri thc khong chac chan s dung ly thuyet xac suat e xac nh
gia tr xac suat cua ket luan a hoac b vi cac phng trnh la
+ P(a) = P(ba) + P(ab) = P(b)P(a\b) + P(b)P(a\b).
+ P(b) = P(ab) + P(ab) = P(a)P(b\a) + P(a)P(b\a).
2) Ly giai chnh xac di ieu kien khong chac chan dung xac suat :
e ly giai chnh xac di ieu kien khong chac chan, moi bang chng va moi
suy dien phai c kem theo so o xac suat o la o tin cay cua bang chng va suy
dien.
Gia s co luat suy dien vi dang la
If a then b.
Cach tnh xac xuat cua ket luan b vi luat suy dien nay la
P(b) = P(a)P(b\a) + P(a)P(b\a)
trong o, P(a) la xac suat cua co mat bang chng a, P(b\a) la xac suat ieu kien b
cho bi co mat bang chng a o chnh la xac suat cua suy dien if a then b, P(a) la
xac suat cua khong co mat bang chng a va P(b\a) la xac suat ieu kien b cho bi
khong co mat bang chng a .
http://www.khvt.com Trang 88
Bien soan: Tien s Nguyen Thien Thanh
+ C 100 ngi, trong o co 90 ngi khong b benh tim. V the xac suat cua
nhng ngi khong co benh tim la P(H) = 0,9.
Vi ly giai chnh xac di ieu kien khong chac chan dung xac suat cho cac luat
suy dien dang phc tap, cong viec tnh xac suat cua ve ket luan se xuat hien nhieu
an so xac suat cha biet trong cong thc tnh xac suat. e khac phuc ieu nay, cong
viec tnh xap x cai tien t cong thc tnh xac suat cua nh luat Baye c thiet
lap.
Xac suat co mat cua ket luan b la P(b) va xac suat khong co mat cua ket luan b la
P(b). Vay th, tong gia tr cua hai loai xac suat nay phai la P(b) + P(b) = 1. Xac
suat ieu kien b cho bi a la P(b\a).
Cong viec ly giai di ieu kien khong chac chan la cach xac nh o tin cay cua
ket luan b vi moi bang chng a. o tin cay nay co the tang hoac giam ieu o con
phu thuoc vao o tin cay cua moi bang chng a.
Vi y tng nay, hai ai lng so o o tin cay mi c e xuat cho ket luan b o
la MB va MD. Hai ai lng nay b chan bi 0 va 1 o la
0 MB 1 va 0 MD 1
trong o, MB la so o o tin cay cua ket luan b va MD la so o o khong tin cay
cua ket luan b.
Vay th, cho moi bang chng a, hai ai lng so o o tin cay va o khong tin cua
ket luan b nay c thiet lap la
1 if P(b) = 1
MB(b, a) = max[P(b \ a), P(b)] P(b)
1 P(b)
1 if P(b) = 0
MD(b, a) = min[P(b \ a), P(b)] P(b)
P(b)
Tren c s so o o tin cay va so o o khong tin cay cua ket luan b, mot ai lng
so o o tin cay khac c e xuat o la so o chac chan cua ket luan b vi moi
bang chng a. So o nay b chan bi 1 va 1 o la -1 CF(b,a) 1 va c thiet
lap la
http://www.khvt.com Trang 90
Bien soan: Tien s Nguyen Thien Thanh
+ Trng hp 2 : Bang chng a dan en ket luan b la sai hay noi cach khac, xac
suat ieu kien khong co mat b cho bi a la ung.
Vi trng hp nay, ta co P(b\a) = 1 va P(b) = 0; do o ta co MB(b,a) = 0 va
MD(b,a) = 1. Vay th CF(b,a) = -1; do o ta co the ket luan rang b la sai.
P(b) P(b \ a)
Va MD(b, a) = .
P(b)
Do o, ta co CF(b,a) = - MD(b,a) la mot so am. ieu nay chng to rang ket luan b
la khong kha thi.
Vi cac so o chac chan cua cac bang chng a1, a2 . . . . . am c kem theo la
CF(a1), CF(a2), . . . . .,CF(am) va so o chac chan cua luat suy dien c kem theo la
CF(rule). Vay th, so o chac chan cua ket luan b vi dang luat suy dien nay c
tnh bang cong thc la
Trong o, min la ham tra ve gia tr cc tieu cua cac so o chac chan cua cac bang
chng ai.
http://www.khvt.com Trang 92
Bien soan: Tien s Nguyen Thien Thanh
If a1 or a2 or . . . or am then b
Vi cac so o chac chan cua cac bang chng va luat suy dien c kem theo la nh
tren. Vay th, so o chac chan cua ket luan b vi dang luat nay c tnh bang cong
thc la
Trong o, max la ham tra ve gia tr cc ai cua cac so o chac chan cua cac bang
chng ai.
+ Cach tnh so o chac chan cua ket luan b c ho tr t hai hoac nhieu nguon
luat suy dien khac nhau co cung ket luan b :
Gia s ta co hai luat suy dien la
Rule1: If a1 then b
Rule2: If a2 then b
Vi trng hp nay, so o chac chan tong hp cua ket luan b c tnh bang cong
thc la
Mot phng phap x ly tri thc khong chac chan khac o la logic m. Mot he
thong x ly tri thc khong chac chan dung logic c mo ta bang lu o khoi nh
hnh
C S Tri Thc
X A(X) B(Y) Y
Khau M M Kha6u
Hoa Giai M
Ky Thuat Suy
Dien M
Mot he thong x ly tri thc khong chan dung logic m gom co bien vao ra X, Y
cua he thong, khau m hoa, c s tri thc m, ky thuat suy dien m va khau giai
m.
+ Khau m hoa : chuyen ai lng ro t ngo vao X sang ai lng m A(X).
+ C tri thc m : gom c s d lieu m va c s luat suy dien m. C s
d lieu m la cac tap m vao ra cua he thong va c s luat suy dien m la
tap cac luat suy dien m c the hien di dang luat If-Then o la tap luat
mo ta tong quat cach giai mot bai toan m.
+ Ky thuat suy dien m : phng phap xac nh tap m ngo ra cua he thong.
+ Khau giai m : chuyen ai lng m B(Y) sang ai lng ro Y.
B
1 x A
A ( x) =
0 x A
va ai lng m.
http://www.khvt.com Trang 94
Bien soan: Tien s Nguyen Thien Thanh
n
A = A ( xi ) / xi
i =1
xn A ( xn )
- Ham lien thuoc di dang ham co nhieu ham khac nhau nhng ham lien
thuoc dang tam giac la c s dung pho bien nhat. Cho o th bieu dien
tap m A dang tam giac nh hnh
A(x)
1
a b c x
Ham lien thuoc dang tam giac c thiet lap la
x a
b a if a x b.
A ( x) =
c x if b x c.
c b
trong o, a la can trai, b la tam va c la can phai cua tam giac tren truc hoanh x.
+ Bien ngon ng : Cac bien ro vao ra cua he thong m c goi la cac bien ngon
ng, v chung c mo ta di dang ngon ng t nhien nh nhanh, cham, t, nhieu
van van. Cac ai lng ngon ng nay o chnh la cac tap m vao ra c nh
ngha tren cac bien vao ra cua he thong.
V du : Cho x la bien ngon ng bieu dien toc o cua xe c mo ta bang cac tap
m nh nhanh, trung bnh va cham c bieu dien bang o th nh hnh
(x) Trung
Bnh
1
Nhanh
Cham
0 20 50 70 x
+ Cac phep toan tren cac tap m : e lam viec tren cac tap m, co cac phep
toan la
- Phep toan giao : Cho A va B la hai tap m trong tap c s X. Tap m cua
phep toan giao A va B cung la tap m trong X vi ham lien thuoc la
A B ( x) = min{ A ( x), B ( x)}
- Phep toan hp : Cho A va B la hai tap m trong X. Tap m cua phep
toan hp A va B cung la tap m trong X vi ham lien thuoc la
A B ( x) = max{ A ( x), B ( x)}
- Phep toan bu : Cho A la tap bu cua tap m A trong tap c s X. A cung
la tap m trong X vi ham lien thuoc la
( x) = 1 A ( x )
A
http://www.khvt.com Trang 96
Bien soan: Tien s Nguyen Thien Thanh
1 if ( x, y ) R
R ( x, y ) =
0 if ( x, y ) R
+ Quan he m : Cho R la tap con cua tap tch XY, R c goi la quan he
m trong XY, neu R c nh ngha bang ham lien thuoc cua no sao cho b chan
gia 0 va 1 o la
0 R ( x, y ) 1.
+ Bieu dien quan he m : Quan he m co the c bieu dien di dang ma
tran la
R ( x1 , y1 ) R ( x1 , y 2 ). . . R ( x1 , y n )
R ( x, y ) =
R ( x m , y1 ) R ( x m , y 2 ). . . R ( x m , y n )
+ Cac phep toan tren cac quan he m : Cho P la quan he m trong tap tch
XY va Q la quan he m trong tap tch YZ. Quan he m trong tap tch XZ c
xac nh bang phng trnh la
R = PQ
Trong o ky hieu la toan t hp thanh m.
Co nhieu loai toan t hp thanh m, tuy nhien hai loai toan t hp thanh m
thong dung nhat o la toan t max-min va toan t max-product.
- Toan t max-min c thiet lap la
R ( x, z ) = PDQ ( x, z ) = max min{ P ( x, y ), Q ( y, z )}
- Toan t max-product c thiet lap la
R ( x, z ) = PDQ ( x, z ) = max{ P ( x, y ) Q ( y , z )}
+ Phng trnh quan he m : Cho A la tap m ngo vao tren bien ngon ng
vao X, R la quan he m trong tap tch XY va B la tap m ngo ra tren bien ngon
ng ngo ra Y. Quan he vao ra cua he thong m nay c mo ta bang lu o khoi
nh hnh
Phng trnh quan he m xac nh tap m ngo ra cua he thong c thiet lap
la
B = AR
Trong o, ky hieu la toan t hp thanh m max-min hoac max-product nh
a c thiet lap tren.
logic hp cua P va Q la
PQ : xA hoac xB.
Do o gia tr chan ly cua phep toan hp P va Q c thiet lap la
T(PQ) = max{T(P), T(Q)}.
http://www.khvt.com Trang 98
Bien soan: Tien s Nguyen Thien Thanh
Do do, gia tr chan ly cua phep toan keo theo P cho Q c thiet lap la
T(P Q) = T(PQ) = max{T(P), T(Q)}.
V du : Cho X la tap c s ngo vao bieu dien toc o ong c va A la tap m ngo
vao bieu dien toc o ong c an toan trong X c thu thap t thc nghiem la
A = {0.3/20 + 0.6/30 + 0.8/40 + 1/50 + 0.7/60 + 0.4/70}.
Cho Y la tap c s ngo ra bieu dien ien ap ong c va B la tap m ngo ra bieu
dien ien ap ong c bnh thng c thu thap t thc nghiem la
B = {0.1/1 + 0.3/2 + 0.8/3 + 1/4 + 0.7/5 + 0.4/6 + 0.2/7}.
Quan he m gia toc o ong c an toan va ien ap ong c bnh thng c thiet
lap la
R = xA yB = (AB)(AY).
T ay, ta co quan he m R la
+ C s luat suy dien m o la bao gom tat ca cac luat suy dien m the hien
di dang If-then mo ta ac tnh ong hoc cua he thong vach ra cach giai quyet
mot bai toan m. Mo hnh luat suy dien m tong quat nhat cua luat th i la
Ri : If x1 is Ai1 and x2 is Ai2 . . . . and xj is Aij and. . . and xm is Aim then y is Bi.
Trong o, Aij la cac tap m ngo vao vi ham lien thuoc la A ( x j ) va Bi la tap m
ij
Vi mo hnh luat dang the loai nay, so o m cua ve ieu kien c xac nh bi
cong thc la
i = min A ( x j ) { ij
} for j = 1,. . ., m
+ Ky thuat suy dien m max-min : Gia s cac ham lien thuoc vao ra cua he
thong la dang tam giac, ky thuat suy dien m max-min c mo ta bang o th nh
hnh
A ( x1 )
11
A ( x2 )
12
B ( y)
1
A11 A12 B1
Input(x1) x1 Input(x2) x2 y
A ( x1 )
21
A ( x2 )
22
B ( y)
2
A21 A22 B2
Input(x1) x1 Input(x2) x2 y
Ky thuat suy dien m max-min xac nh tap m ngo ra cua he thong c mo ta
nh sau :
- Tap m ngo ra B1 cua luat th nhat c xac nh vi ham lien thuoc cua
no la
B ( y) = min{1 , B ( y)}
'
1 1
- Tap m ngo ra B cua he thong o chnh la tap hp B cua hai tap m ngo
ra B1 va B2 trc o cua hai luat la B = B1B2 va no c nh bang
B
A ( x1 )
11
A ( x2 )
12
B ( y)
1
A11 A12 B1
Input(x1) x1 Input(x2) x2 y
A ( x1 )
21
A ( x2 )
22
B ( y)
2
A21 A22 B2
Input(x1) x1 Input(x2) x2 y
- Tap m ngo ra B cua he thong o chnh la tap hp B cua hai tap m ngo
ra B1 va B2 trc o cua hai luat la B = B1B2 va no c nh bang
B
Luat hoc
Ngon ng Khong gian
bieu dien hoc
Tm kiem
heuristic
Thu thap tri
thc mi
D lieu va
cac ch cua
tac vu hoc
Mo hnh hoc tren c s tri thc gom cac thanh phan nh d lieu hoc va cac ch cua
tac vu hoc, ngon ng bieu dien tri thc hoc, luat hoc, khong gian hoc va tm kiem
heuristic.
+ D lieu va cac ch cua viec hoc : cong oan au tien cua viec hoc la
phai xac nh c ac thu cua cac bai toan hoc can c theo ch cua ngi hoc va
d lieu hoc c thiet lap. V du ien hnh la cac thuat toan hoc quy nap, d lieu
hoc la tap cac mau v du va ch cua viec hoc la suy dien mot nh ngha tong quat
e nhan dang lp cua cac oi tng.
+ Bieu dien tri thc hoc : cong oan th hai cua mo hnh hoc tren c s tri
thc la chon ngon ng bieu dien thch hp e ma hoa tri thc hoc. o la ngon ng
bieu dien nh logic v t va ngon ng bieu dien nh frame a c khao sat trc
ay.
+ Luat hoc : cong oan th ba la luat hoc, cho d lieu hoc, ngi hoc phai
xay dng mot luat hoc sao cho thoa man cac ch cua viec hoc.
+ Khong gian hoc : ngon ng bieu dien tri thc hoc ket hp vi luat hoc nh
ngha mot khong gian hoc, ngi hoc phai tm kiem trong khong gian nay e tm ra
mot khai niem mong muon hoc.
+ Tm kiem heuristic : hau het cac chng trnh hoc s dung thong tin
heuristic e giup qua trnh hoc nhanh va co hieu qua.
Vi mo hnh hoc tren c s tri thc nay, he thong co the thu thap c tri thc
mi t nhng tri thc san co cua he thong.
1) Giai thuat hoc gam sat hng ac trng en tong quat va ngc lai :
Muc tieu cua hai loai giai thuat hoc nay la tm ra mot nh ngha tong quat e
nhan dang c tat ca cac oi tng cua lp . Giai thuat s dung d lieu hoc gom
hai tap mau d lieu huan luyen dng P va am N. D lieu huan luyen dng la d
lieu cung cap thong tin bo ch c biet ve cac oi tng cua lp muon hoc va d
lieu am la d lieu cung cap thong tin khong bo ch c biet ve cac oi tng cua
lp .
Giai thuat hoc hng ac trng en tong quat hoa la qua trnh hoc, he thong bat
au t oi tng vi cac thanh phan ac trng nhat, tong quat hoa cac thanh phan
ac trng nay sao cho at en mot nh ngha tong quat ma co the nhan dang c
tat ca cac oi tng cua lp. Luat hoc cua giai thuat nay la toan t tong quat hoa
o la toan t thay the cac thanh phan hang so cua oi tng vi bien so.
Giai thuat hoc hng tong quat en ac trng la qua trnh hoc, he thong bat au
t oi tng vi cac thanh phan tong quat hoa nhat, ac trng cac thanh phan nay
sao cho at en mot nh ngha tong quat ma co the nhan dang c tat ca cac oi
tng cua lp. Luat hoc cua giai thuat nay la toan t ac trng hoa o la toan t
thay the cac thanh phan bien so cua oi tng vi hang so.
Giai thuat hoc hng ac trng en tong quat c mo ta la
Begin
- Cho danh sach S cha mau huan luyen dng ac trng nhat.
- Cho N la tap cha cac mau huan luyen am.
- Cho moi mau huan luyen dng p
Begin
- Cho moi mau sS khong hp vi p, th thay the cac thanh phan ac
trng cua s vi bien so sao cho hp vi p.
- Loai bo tat ca cac mau tong quat hn mot vai mau khac trong S.
- Loai bo tat ca cac mau trong S ma hp vi mau am n c giam sat
trc o.
End ;
- Cho moi moi mau am n
Begin
- Loai bo tat ca cac thanh vien cua S hp vi n
- Cong n vao tap N e giam sat cac mau qua tong quat khac trong qua
trnh hoc.
End;
End.
V du : Hoc nhan dang cac oi tng cua lp qua bong s dung giai thuat hoc
hng ac trng va hng tong quat.
Cho mien cua cac oi tng vi cac gia tr la
Kch_thc = {ln, nho}.
Mau = {o, trang, xanh}.
Hnh = {qua_bong, vien_gach, hop_phan}.
D lieu hoc cho cac oi tng nay c thiet lap la
+ Tap cac mau d lieu huan luyen dng P gom cac mau la
P = {oi_tng(nho, o, qua_bong), oi_tng(ln, o, qua_bong),
oi_tng(nho, trang, qua_bong), oi_tng(ln, trang, qua_bong),
oi_tng(nho, xanh, qua_bong), oi_tng(ln, xanh, qua_bong)}.
+ Tap cac mau d lieu huan luyen am N gom cac mau la
N = { oi_tng(nho, o, vien_gach), oi_tng(ln, o, vien_gach),
oi_tng(nho, trang, vien_gach), oi_tng(ln, trang, vien_gach),
oi_tng(nho, xanh, vien_gach), oi_tng(ln, xanh, vien_gach),
oi_tng(nho, o, hop_phan), oi_tng(ln, o, hop_phan),
+ Qua trnh hoc e nhan dang cac oi tng cua lp qua bong dung giai thuat hoc
hng ac trng c mo ta nh hnh
S = {oi_tng(X, Y, qua_bong)}
Qua trnh hoc e nhan dang cac oi tng cua lp qua bong dung giai thuat hoc
hng tong quat c mo ta nh hnh
G = {oi_tng(X,Y,qua_bong)}
Tuoi ? Tuoi ?
ln nho ln nho
Hay hoc xay dng cay quyet nh anh gia rui ro khi cho con n vay von ?
Giai thuat hoc quy nap cay quyet nh c s dung rat pho bien trong nhieu
lnh vc khac nhau nh d bao, anh gia, nhan dang va ieu khien bang kinh
nghiem. Giai thuat giup ngi hoc tm kiem nhanh muc ch muon hoc t cay quyet
nh. Giai thuat cung giup ngi hoc thiet ke he chuyen gia vi d lieu thu thap
c bang kinh nghiem. Sau qua trnh hoc, cay quyet nh a c hnh thanh, thu
tuc thiet ke he chuyen gia t cay quyet nh nay o la moi nhanh cua cay co so
lieu dan en ket luan o la mot luat suy dien cua he chuyen gia. Ve ieu kien cua
luat la cac nhan to quyet nh ket noi nhau t goc en ngon thong qua cac phep
toan giao lien t va, ve ket luan cua luat nhan to ket qua muon hoc.
trong o, mi la gia tr th i cua nhan to muon hoc M va p(mi) la xac suat cua manh
thong tin mi oi vi bang d lieu C o chnh la so mau trong bang d lieu C cha
manh thong tin mi chia cho tong so mau trong bang d lieu C.
+ Neu ta chon Q lam goc cua cay trong qua trnh hoc th bang d lieu C se c
chia ra nhieu bang d lieu con Ci trong o moi cua chung cha cac mau co gia tr
tng ng cua thuoc tnh Q. V the thong tin ve nhan to quyet Q neu chon Q lam
goc cua cay c tnh bang cong thc la
n
C i I (C i )
E (Q ) = i =1
trong o, Ci la tong so mau cha trong bang d lieu con Ci , C la tong so mau
cha trong bang d lieu C va I(Ci) la thong tin ve nhan to muon hoc oi vi bang
d lieu Ci.
+ Thong tin gianh c cua nhan to quyet nh Q neu ta chon Q lam goc cua
cay trong qua trnh hoc c tnh bang cong thc la
gain(Q) = I(C) - E(Q).
Neu nhan to quyet nh nao co thong tin gianh c la ln nhat o la nhan to
quyet nh quan trong nhat c chon lam goc cua cay trong qua trnh hoc. n v
cua thong tin la bit.
4) Khai niem ve hoc cung co va hoc khong giam cua mo hnh hoc tren c
s tri thc :
+ Hoc cung co : Hoc cung co cung la dang hoc giam sat, tuy nhien d lieu hoc
gom manh nho thong tin n gian va tri thc san co cua he thong. ch cua viec
hoc la sau qua trnh hoc, tm ra mot nh ngha tong quat nhat t manh nho thong tin
n gian nay o la tn hieu hoc cung co cua thay giao.
V du : Hoc tm ra mot luat suy dien tong quat e dan en ket rang X la lp cua cac
oi tng qua bong nh s giai thch thong qua the loai hoc cung co.
- D lieu hoc : gom manh nho thong tin n gian va tri thc san co cua he
thong c thiet lap la
1) qua_bong(t).
2) vat_a_c(X)vat_hnh_cau(X) qua_bong(X).
3) vat_lam_bang_nha(X)vat_nhe(X) vat_a_c(X).
4) vat_co_mat_loi(X)vat_co_mat_tron(X) vat_hnh_cau(X).
- ch cua viec hoc : ch cua viec hoc la tm mot luat suy dien tong quat
nhat vi dang la
tien_e(X) qua_bong(X).
Qua trnh hoc, xay dng cac nhan to quyet nh cho tien_e(X) e dan en ket
luan rang X la lp cua cac oi tng qua bong.
The loai hoc cung co nay la dang hoc giai thch da tren c s tri thc
san co cua he thong va v the, he thong hoc phai trai qua hai giai oan. Giai
oan ac trng hoa t tri thc san co cua he thong o la giai oan giai thch ve
cac thuoc tnh ac trng cua oi tng. Giai oan tong quat hoa o la tong
quat hoa cac thuoc tnh ac trng cua oi tng a c giai thch vi bien so
X e tm ra cac nhan to quyet nh tong quat nhat cho tien_e(X) dan en ket
luan rang X la lp cua cac oi tng qua bong.
Qua trnh hoc vi the loai nay c mo ta bang cay nh hnh
qua_bong(t)
vat_hnh_cau(t)
vat_a_c(t)
qua_bong(X)
vat_hnh_cau(X)
vat_a_c(X)
Luat suy dien tong quat cho tien_e(X) la mot bieu thc cua cac phep toan giao
lien t va vi cac thanh phan cua no la cac nut la cua cay tong quat. Luat c
thiet lap la
vat_lam_bang_nha(X)vat_nhe(X)vat_co_mat_loi(X)
vat_co_mat_tron(X) qua_bong(X).
+ Hoc khong giam sat : Hoc khong giam sat con c goi la the loai t hoc. He
thong khong c cung cap bat ky mot thong tin tn hieu hoc nao cua thay giao. He
thong t kham pha ra mot vai thong tin bo ch trong qua trnh hoc. The loai hoc nay
thng s dung d lieu hoc khong phan lp va qua trnh hoc t kham pha e phan
lp d lieu.
V du : Hoc xep lp cua cac oi tng qua bong. D lieu hoc khong phan lp cua
cac qua bong c thiet lap la
t1 = { nho, o, nha, qua_bong}.
t2 = { nho, xanh, nha, qua_bong}.
t3 = { ln, en, go, qua_bong}.
ch cua viec hoc la qua trnh hoc xep lp cua cac oi tng qua bong da tren c
s cac so o tng t.
Cach hoc la lan lt tnh so o tng t cua tng cap d lieu, chon cap cua
cac oi tng co so o tng t la ln nhat a ve mot lp va con cac oi tng
khac co so o tng t la nho hn a ve mot lp khac. So o tng t cua moi cap
d lieu o la so thuoc tnh giong nhau cua hai oi tng chia cho tong so cac thuoc
tnh cua oi tng va v the so o tng t cua moi cap d lieu cho tren c thiet
lap nh sau :
- So o tng t cua cap d lieu t1 va t2 la 3/4.
- So o tng t cua cap d lieu t1 va t3 la 1/4.
- So o tng t cua cap d lieu t2 va t3 la 1/4.
Vi cac so o tng t nay, oi tng t1 va t2 la cung lp va t3 la mot lp
khac.
hai neuron c ket noi di dang c che. Neu tn hieu truyen gia hai neuron la
ien ap zero th hai neuron la khong co s ket noi. Lng ien ap truyen gia cac
neuron c goi la cng o ket noi. Tren c s cua he neuron sinh hoc con ngi
nh c mo ta, mot mang neuron nhan tao nhieu lp c thiet lap nh hnh
x1
y1
xj yi
yn
xm
Wiq
Vqj
Lp ra
Lp vao Lp an
Co ba thanh phan c ban cua cac mang neuron nhan tao o la mo hnh ket noi, n
v x ly va luat hoc.
+ Mo hnh ket noi : Co hai mo hnh ket noi o la ket noi truyen thang va ket noi
hoi quy. Mo hnh ket noi truyen thang c goi la mang truyen thang o la cau truc
mang c ket noi chuyen tiep tn hieu t lp vao thong qua lp an va en lp ra.
Mo hnh ket noi hoi quy c goi la mang hoi quy o la cau truc mang c ket noi
chuyen tiep tn hieu t lp vao thong qua lp an en lp ra va ong thi hoi tiep tn
hieu ve n v x ly chnh no hoac cac n v x khac trong lp hoac lp khac.
- Hoc giam sat : cho tap d lieu vao ra mong muon, qua trnh hoc cap nhat cac
trong so ket noi gia cac phan t x ly trong mang sao cho ngo ra that s cua mang
xap x vi ngo ra mong muon cua mang.
- Hoc cung co : cung la the loai hoc giam sat, tuy nhien, tn hieu ra mong
muon cua mang la tn hieu cung co o la tn hieu thng va phat. Qua trnh hoc,
cap nhat cac trong so ket noi gia cac n v x ly sao cho ngo ra that s cua mang
xap x vi ngo ra mong muon thng vi o tin cay cang cao cang tot.
- Hoc khong giam sat : la the loai hoc khong co d lieu ra mong muon, qua
trnh hoc vi tap d lieu vao mong muon, mang t cap nhat cac trong so ket noi
da tren c s tap d lieu vao mong muon sao cho ngo ra thc s cua mang thch
nghi vi ngo vao mong muon.
Bc 0 : Nhap tap mau huan luyen vao ra mong {X(k), d(k), cho k = 1, . . . ,p},
trong o X(k) la vect mau vao va d(k) la vect mau ra. Thiet lap toc o hoc ,
sai so cho phep hoi tu Emax , trong so khi tao, E = 0 va k = 1.
z q ( k ) = a ( net q ( k )).
Cho i = 1 en n
l
net i ( k ) = W
q =1
iq (k ) zq (k )
yi ( k ) = a ( net i ( k )).
Bc 2 : Tnh sai so chuan 2 gia ngo ra mong muon va ngo ra thc s cua
mang.
1 n
E(k) = (di (k) yi (k))
2 i=1
Bc 3 : Lan truyen ngc cap nhat trong so ket noi gia cac lp.
Cho i = 1 en n
i ( k ) = ( d i ( k ) y i ( k )) a ' ( net i ( k ))
Cho i = 1 en n
Cho q = 1 en l
Wiq (k + 1) = Wiq (k ) + i (k ) zq (k ) .
Cho q = 1 en l
n
q ( k ) = a ( net q ( k )) W qi ( k ) i ( k ) .
'
i =1
Cho q = 1 en l
Cho j = 1 en m
Vqj (k +1) = Vqj (k) + q (k) x j (k) .
Bc 4 : Kiem tra neu k < p th tang k = k + 1 va quay ve bc 1; mat khac
en bc 5.
Bc 5 : Kiem tra neu E < Emax th dng thu tuc huan luyen; mat khac thiet
lap E = 0 va k = 1 va quay ve bc 1 thc hien mot the he huan luyen khac.