Professional Documents
Culture Documents
Bài Giảng trí tuệ nhân tạo và hệ chuyên gia
Bài Giảng trí tuệ nhân tạo và hệ chuyên gia
1.1)
1.2)
1.3)
CHNG 3 :
HE CHUYEN GIA..............................................................................................28
http://www.khvt.com
Trang 2
Trang 3
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
Trang 5
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.
1.3) Cac thanh phan c ban cua tr tue nhan tao :
Co hai thanh phan c ban cua tr tue nhan tao o la bieu dien tri thc va tm
kiem tri thc trong mien bieu dien. Tri thc cua bai toan co the c phan ra
lam ba loai tri thc c ban o la tri thc mo ta, tri thc thu tuc va tri thc ieu
khien.
+ Tri thc mo ta : la loai tri thc mo ta nhng g ma c biet ve bai toan.
Loai tri thc nay bao gom cac s kien, cac quan he va cac tnh chat cua bai
toan.
+ 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
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
Trang 7
Start
Nong dan
Chon
Ngong
Ngu coc
Nong dan
Chon
Ngong
Ngu coc
Nong dan
Chon
Ngong
Ngu coc
Nong dan
Chon
Ngong
Nong dan
Chon
Nong dan
Chon
Ngong
Ngong
Ngu coc
Ngu coc
Nong dan
Chon
Ngong
Ngu coc
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
Trang 9
+ 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)
(4,3)
(0,0)
(0,3)
(1,3)
(4,3)
(0,0)
(3,0)
(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
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 6 4
7
5
Trang Thai Ban au
1 2 3
8
4
7 6 5
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
Trang 11
2
1
8
6
7
3
4
5
2
1
7
8
6
3
4
5
2
1
7
3
4
5
2
1
7
8
6
5
3
4
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
+ 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.
Trang 13
http://www.khvt.com
Trang 14
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
(4,0)
(4,3)
(0,0)
(0,3)
(1,3)
(4,3)
(0,0)
(0,3)
(2,n)
2) Chien lc tm kiem suy dien lui :
Thu tuc tm kiem suy dien lui tren khong gian trang thai bai toan c
mo ta nh sau :
+ Thu tuc bat au tm kiem t d lieu ch cua bai toan.
+ Chon tat ca cac luat ng dung vi ve ket luan hp vi d lieu ch,
thiet lap d lieu ve ieu kien phat sinh ra ch lam d lieu ch mi.
+ Tai moi iem d lieu ch mi, chon tat ca cac luat ng dung vi ve
ket luan hp vi ch mi, thiet lap d lieu ieu kien lam d lieu ch
mi hn.
+ Thu tuc nay lap lai cho tat ca cac ch mi cho en khi nao d lieu ban
au cua bai toan c tm thay.
Hoc k 2 nam hoc 2005-2006
Trang 15
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
(0,2)
3
(4,2)
(2,3)
8
(1,1)
(0,0)
2.3) Giai Thuat Tm Kiem :
e giai bai toan s dung chien lc tm kiem suy dien tien hoac chien lc
tm kiem suy dien lui, cong viec tm kiem la phai tm mot ng t trang thai bat
au en trang thai ch thong qua khong gian trang thai cua bai toan. Cong cu thc
hien viec tm kiem nay o la giai thuat. Qua trnh tm kiem c xem nh cay tm
kiem thong qua khong gian trang thai cua bai toan. Giai thuat bat au t nut goc
cua cay tm kiem tham do qua cac nut khac cua cay trong khong gian trang thai cua
bai toan. Neu giai thuat tm thay ch th giai thuat thiet lap ng li giai bat au
t nut goc thong qua cac nut lien ket en nut ch cua cay. Cau truc d lieu cho
cay tm kiem ay la ta gia s nut la mot cau truc d lieu vi nam thanh phan nh
sau :
+ Trang thai trong khong gian trang thai tng ng vi nut cua cay.
http://www.khvt.com
Trang 16
+ 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.
1) Giai thuat tm kiem theo chieu rong ((Breadth_First_Search):
Giai thuat tm kiem theo chieu rong la giai thuat tm kiem mc theo mc cua
cay. Giai thuat bat au t nut goc cua cay tm kiem qua tat ca cac nut mc ke
theo, neu no cha tm thay ch th no tiep tuc tm kiem qua tat ca cac nut mc
sau hn, c nh the cho en khi no tm thay nut ch th no dng thu tuc tm kiem
va thiet lap ng li giai bat au t nut goc thong qua cac nut lien ket en nut
ch.
Gia s cho khong gian trang thai cua bai toan vi cac trang thai c anh
nhan bang cac ch cai A, B, C, c mo ta nh hnh
A
B
E
C
F
G
M
H
O
I
P
J
Q
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.
Trang 17
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
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.
3) Giai thuat tm kiem truyen lui ( Back Tracking search ) :
Mot giai thuat tm kiem khac c goi la giai thuat tm kiem truyen lui, cach tm
kiem ch cua giai thuat nay cung giong nh cach tm kiem ch cua giai thuat tm
kiem theo chieu sau. Giai thuat c trang b bang ba danh sach N, S va D, trong
o danh sach N cha cac trang thai ang ch se c duyet qua, danh sach S cha
cac trang thai a c duyet qua tren ng tm kiem va D la danh sach cha cac
trang thai cua cac ng cut. Khi giai thuat tm thay ch, danh sach S c thiet
lap vi cac trang thai lien ket nhau t nut goc en nut ch o la ng li giai cua
bai toan. Giai thuat c mo ta nh sau :
Function
backtracking
Trang 19
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.
2.4) Tm Kiem Heuristic :
1)
Heuristic la g ?
Tri thc ieu khien cua bai toan con c goi la heuristic. Heuristic la luat
chu chot ieu khien thuat toan tm kiem bam theo ng co cac trang thai tot nhat
http://www.khvt.com
Trang 20
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 6 4
7
5
Trang Thai Ban au
1 2 3
8
4
7 6 5
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.
2) Giai thuat tm kiem Best_First_Search :
Mot trong cac giai thuat tm kiem s dung heuristic o la giai thuat
Best_first_search. Giai thuat c trang b bang hai danh sach m Open va ong
Closed cung giong nh giai thuat tm kiem theo chieu rong va chieu sau. Giai thuat
bat au tm kiem vi nut goc cua cay, khai trien cac tha ke cua goc nh thong qua
cac luat ng dung, c lng heuristic cho tat ca cac nut con cua goc, chon nut co
heuristic nho nhat e en vieng tham va thao bo tat ca cac nut con lai. Thu tuc nay
Hoc k 2 nam hoc 2005-2006
Trang 21
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.
Giai thuat c mo ta nh sau :
Procedure
best_first_search
Begin
Open = [Start];
Closed = [ ];
While Open [ ]
Begin
+ Lay nut au tien cua danh sach Open , goi nut nay la X va loai bo X
khoi danh sach Open.
+ If X = ch Then return(success)
Else
Begin
+ Khai trien cac tha ke cua X nh thong qua cac luat ng dung.
Cho moi tha ke cua X thc hien mot trong cac trng hp nh sau :
Case : Tha ke cha xuat hien tren danh sach Open hoac Closed.
+ c lng heuristic cho tha ke.
+ at tha ke vao danh sach Open.
Case : Tha ke a co mat tren danh sach Open.
+ c lng heuristic cho tha ke.
+ Neu trang thai mi xuat hien la tot hn trang thai cu a xuat
hien tren Open th loai bo cu khoi danh sach Open va at mi vao danh
sach Open; mat khac gi lai trang thai cu danh sach Open va loai bo
trang thai mi xuat hien.
Case : Tha ke a co mat tren danh sach Closed.
+ c lng heuristic cho tha ke.
+ Neu trang thai mi xuat hien la tot hn trang thai cu a co mat
san tren Closed th loai bo cu khoi danh sach Closed va at mi vao
danh sach Open; mat khac gi lai trang thai cu danh sach Closed va
loai bo trang thai mi xuat hien.
End
+ at X vao danh sach Closed.
http://www.khvt.com
Trang 22
+ 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
O
71
N
151
87
75
I
99
140
92
V
118
80
T
R
111
142
211
P
97
U
164
101
85
70
M
138
90
C
H
98
86
Trang 23
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
Khoang cac ng chim
bay t cac thanh pho
en thanh pho B
A
366 Km
B
0 Km
C
160 Km
D
242 Km
E
161 Km
F
178 Km
G
77 Km
H
151 Km
I
226 Km
L
244 Km
M
241 Km
N
234 Km
O
380 Km
P
98 Km
R
193 Km
S
253 Km
T
329 Km
U
80 Km
V
199 Km
Z
374 Km
Giai thuat tm kiem s dung thong tin heuristic tm ng i ngan nhat t thanh pho
A en thanh pho B c mo ta nh hnh ve
http://www.khvt.com
Trang 24
h = 366
h = 329
h = 374
h = 253
h = 366
h = 178
h = 380
h = 193
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
T
f = 329 + 118
= 447
f = 0 + 366
= 366
S
f = 253 + 140
= 393
f = 374 + 75
= 449
f = 366 + 280
= 646
f = 178 + 239
= 417
C
f = 160 + 366
= 426
O
f = 380 + 146
= 526
P
f = 98 + 317
= 415
R
f = 193 + 220
= 413
S
f = 253 + 300
= 553
Trang 25
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
9567
+ 1085
10652
Trang 27
Chng 3 :
He Chuyen Gia
He chuyen gia la mot chng trnh c s tri thc lam viec giong nh mot
chuyen gia con ngi. He chuyen gia cac cac ac iem nh sau :
+ 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
+ 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.
3.2) Cau truc he chuyen gia :
Xem xet ngi chuyen gia giai quyet van vi mien tri thc cua ho lu tr
trong vung nh dai han va qua trnh ly giai vi cac s kien c phat sinh lu tr
trong vung nh ngan han nh hnh ve
Advisee
Case Facts
Conclusions
Short-Term Memory
Case/Inferred Facts
Conclusions
Trang 29
Giong nh c che lam viec cua ngi chuyen gia, cau truc he chuyen gia c mo
ta nh hnh
Knowledge Base
Domain Knowlege
Inference
Engine
User
Case Facts
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.
3.3) Thiet Ke He Chuyen Gia :
Co hai cach giai quyet van e trong cac he chuyen gia o la giai quyet van
e theo hng thuan va giai quyet van e theo hng nghch. He chuyen gia c
thiet ke e giai quyet van e theo hng thuan c goi la he chuyen gia suy dien
tien va he chuyen gia c thiet ke e giai quyet van e theo hng nghch c
goi la he chuyen gia suy dien lui.
http://www.khvt.com
Trang 30
Trang 31
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
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).
Hoc k 2 nam hoc 2005-2006
Trang 33
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
Line1
Line2
Line3
Line4
Pump 1
Pump 2
Pump 3
Motor1
Motor2
Motor3
Block 1
Block 2
Block 3
http://www.khvt.com
Trang 34
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.
Hoc k 2 nam hoc 2005-2006
Trang 35
http://www.khvt.com
Trang 36
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
Trang 37
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
Or
and
Investment
< 1000
Portfolio 2
Portfolio 3
and
and
Person state
= unstable
Person state
= stable
Portfolio 4
and
Financial tate
= unstatble
Financial tate
= statble
Mang suy dien tnh trang ban than cua khach hang c mo ta nh hnh
Person state
= unstable
Or
Person state
= stable
and
and
Client has
no children
Client is old
Job not
steady
Client is
young
<40
>=40
Or
Client has
children
Job steady
and
and
Service >
10
Layoffs low
Service < 3
Layoffs
high
Service 310
Trang 39
Mang suy dien tnh trang trang tai chanh cua khach hang c mo ta nh hnh
Financial tate
= unstatble
Financial tate
= statble
Or
and
and
Client has
no children
Total assets
< total liab.
Totalassets <
2*totalliab.
Client has
children
Totalassets >
2*totalliab.
http://www.khvt.com
Totalassets >
totalliab.
Trang 40
Trang 41
http://www.khvt.com
Trang 42
Trang 43
http://www.khvt.com
Trang 44
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
Trang 45
http://www.khvt.com
Trang 46
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
savings_account(adequate)income(inadequate)investmentcombinat
ion).
X amount_save(X)Y(dependents(Y)
greater(X,minsavings(Y))) savings_account(adequate).
X amount_save(X)Y(dependents(Y)
greater(X,minsavings(Y))) savings_account(inadequate).
X earnings(X,steady)Y(dependents(Y)
greater(X,minincom(Y))) income(adequate).
X earnings(X,steady)Y(dependents(Y)
greater(X,minincom(Y))) income(inadequate).
X earnings(X,unsteady) income(adequate).
amount_saved(22000).
earnings(2500,steady).
dependents(3).
income(inadequate).
savings_account(adequate).
Trang 47
(PQ) = PQ
(PQ) = PQ.
(X) P(X) = (X)P(X).
(X) P(X) = (X)P(X).
Bc 2 : e chng minh e xuat P la ung, ta gia s P la sai, ieu o co
ngha la phu nh cua P la ung va cong phu nh nay vao tap cac tien e.
Bc 3 : a tat ca cac v t nh lng ve ng trc cac menh e va loai
bo chung khoi tap cac tien e.
Bc 4 : Chon cap menh e, mot co cha P va mot menh e khac cha P,
kh bo cap phan t nay, v chung co mau thuan. Cac phan t con lai cua hai menh
e hp nhau tao thanh menh e mi.
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.
V du : Cho tap cac tien e la
1) All dogs are animals.
2) Fido is a dog.
3) All animals will die.
Hay chng minh rang Fido will die bang phng phap hp gai ?
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
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.
2) dog(fido).
dog(Y)die(Y).
fido/Y.
4) die(fido).
die(fido).
Menh e rong
Trang 49
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
father
son
son
grandfather
granddaughter
grandmother
granddaughter
Bod
Kate
husband
wife
http://www.khvt.com
Trang 50
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
Bird
Fly
has
has
Wings
Feathers
is a
is a
is
Ostrich
Canary
can
is
Sing
Yellow
Tail
can not
Fly
Trang 51
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
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
Funace
Air
Air conditioner
Trang 53
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
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 ).
Luat 7 : if ( temperature >= setting ) and (air_conditioner state on ) and (mode
air ) and ( roomoccupancy yes ) then send message (air_conditioner state = off ).
Luat 8 : if ( temperature >= setting - 5) and (air_conditioner state on ) and (mode
air ) and ( roomoccupancy no) then send message (air_conditioner state = off ).
Trang 55
http://www.khvt.com
Trang 56
Trang 57
http://www.khvt.com
Trang 58
goal
solve(1.0,2.0,1.0),
solve(1.0,1.0,4.0),
solve(1.0,-3.0,2.0).
3) X ly danh sach trong ngon ng lap trnh Prolog :
+ 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).
V du : Chng trnh Prolog sau la mot v du noi hai danh sach.
domains
s = symbol
List = symbol*
predicates
Hoc k 2 nam hoc 2005-2006
Trang 59
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).
Chay chng trnh nay cho ket qua la Y = [a,b,c,d,e].
+ 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).
+ ao ngc th t trong danh sach : menh e ao ngc th t cac phan t trong
danh sach vi clauses c thiet lap la
clauses
reverse_writelist([]).
Reverse_writelist([H|T]) :- reverse_writelist(T),write(H),nl.
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
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).
Trang 61
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
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).
unsafe(state(F,X,X,_)):opposite(F,X),
!.
unsafe(state(F,_,X,X)):opposite(F,X),
!.
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),
Trang 63
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
V du 3 : Cho bai toan thap Ha Noi nh hnh ve
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
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).
Chay chng trnh nay cho ket qua la
Move a disk from left to right
Move a disk from left to middle
Move a disk from right to middle
Move a disk from left to right
Move a disk from middle to left
Move a disk from middle to right
Move a disk from left to rightyes
Trang 65
Entry
Hell
Mermaid
Fountain
Robbers
Food
Monsters
Gold
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
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).
Chay chng trnh nay cho ket qua la
["exit","gold_treasure","food","fountain","entry"]
["exit","gold_treasure","food","fountain","entry"]
yes
Trang 67
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
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):!,
Trang 69
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").
Chay chng trnh nay cho ket qua la
All routes from gordon to tampa are:
["gordon","tampa"] --> 1000
["gordon","houston","kansas_city","tampa"] --> 370
http://www.khvt.com
Trang 70
N1
Not
N4
And
Output
Or
And
Not
Input2
N2
N3
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).
Hoc k 2 nam hoc 2005-2006
Trang 71
and_(1,1,1).
or_(0,0,0).
or_(0,1,1).
or_(1,0,1).
or_(1,1,1).
% See the documentarion for the XOR circuit
xor_(Input1,Input2,Output):not_(Input1,N1),
not_(Input2,N2),
and_(Input1,N2,N3),
and_(Input2,N1,N4),
or_(N3,N4,Output).
goal
xor_(Input1,Input2,Output), % Use GOAL mode to see results !!!
format(Msg," xor_(%,%,%)",Input1,Input2,Output),
write(Msg).
Chay chng trnh nay cho ket qua la
xor_(1,1,0)Input1=1, Input2=1, Output=0, Msg= xor_(1,1,0)
xor_(1,0,1)Input1=1, Input2=0, Output=1, Msg= xor_(1,0,1)
xor_(0,1,1)Input1=0, Input2=1, Output=1, Msg= xor_(0,1,1)
xor_(0,0,0)Input1=0, Input2=0, Output=0, Msg= xor_(0,0,0)
4 Solutions
http://www.khvt.com
Trang 72
Chng 5 :
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
l1
S
l3
Bus
O
l2
S
l4
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 :
Trang 73
http://www.khvt.com
Trang 74
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
Trang 75
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
:-
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.
Khi chay chng trnh nay cho ket qua la
Possible Fault Location is on line1
Breaker1 operated correctly
Breaker2 Malfunctioned
Breaker4 Operated correctly as a backup breaker
Breaker5 Operated correctly as a backup breaker
Possible Fault Location is on line2
Breaker3 Malfunctioned
Breaker5 Operated correctly as a backup breaker
Trang 77
(2,4)
(3,4)
(4,4)
(2,3)
(3,3)
(4,3)
(3,2)
(4,2)
Stench
(1,3)
Wumpus
(1,2)
Gold
gliter
(2,2)
Stench
(1,1)
Agent
http://www.khvt.com
Breeze
(2,1)
Breeze
(3,1)
(4,1)
Pits
Trang 78
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.
e mo ta cac s kien ve robot va cac s kien lien quan vi robot, cac v t va
cac ham v t sau ay c thiet lap la
+ Thao tac di chuyen va thao tac lay vang cua robot.
- turn(left) : lenh queo trai.
- turn(right) : lenh queo phai.
- forward : lenh i ti.
- grab : lenh lay vang.
Trang 79
http://www.khvt.com
Trang 80
5.3) Bai Toan Lap Phng An Cho Canh Tay Robot Xep Khoi :
Hoc k 2 nam hoc 2005-2006
Trang 81
Cho bai toan khoi tren mat ban va canh tay robot vi trang thai ban au va
trang thai ch nh hnh ve
B
B
A
C
Trang thai ban au
Trang thai ch
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
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
pickup( X ) : A : hold ( X )
D : hold () ontable( X ) clear ( X )
Trang 83
P : hold ( X )
P : 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.
Thao tac 1
S kien cua
trang thai ban
S kien con lai
t o tren
S kien mi
cua thao tac 1
.
.
.
.
.
kien con lai
.S
t o tren
Thao tac 2
S kien mi
cua thao tac 2
.
.
.
.
Thao tac p
S kien con lai
t o tren
http://www.khvt.com
S kien mi
cua thao tac p
Trang 84
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.
+ O co ch so (n, n) vi n > 0 cha cac s kien mi cua thao tac th n.
+ O co ch so (n, m) vi m < n cha cac s kien con lai t o (n-1, m) tc la
loai bo mot so tien ieu kien ma thao tac th n a s dung o(n-1, m) va so
cac s kien con lai o (n-1, m) c ghi xuong o (n, m) vi m < n.
Trang 85
http://www.khvt.com
Trang 86
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 :
1) Ly thuyet xac suat :
Ly thuyet xac suat la bat nguon t thc nghiem, ieu o co ngha la thong
qua thc nghiem, co ton tai mot vai ai lng P(E) c goi la xac suat cua bien co
E o la o tin cay cua E vi cac rang buoc la
0 P(E) 1 va P(E) + P(E) = 1.
Gia s co mot cai tui ln cha nhieu qua bong, trong o mot so qua bong co anh
nhan ch cai a, mot so qua bong co anh nhan ch cai b, mot so qua bong khac co
anh nhan ch cai a va b, va mo so qua bong khong co anh nhan.
Bang thc nghiem, tron eu cac qua bong trong tui, lay cac qua bong ra t tui
va bo ngc chung lai vao tui. em so lan lap lai cua cac qua bong co nhan a, so
lan lap lai cua cac qua bong co nhan b va so lan lap lai cua cac qua bong co nhan a
va b.
Cho n1 la so lan lap lai cua cac qua bong co nhan a, n2 la so lan lap lai cua
cac qua bong co nhan b, n3 la so lan lap lai cua cac qua bong co nhan a va b va n
la tong so cua cac qua bong cha trong tui.
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.
Hoc k 2 nam hoc 2005-2006
Trang 87
http://www.khvt.com
Trang 88
Trang 89
viec tnh xap x cai tien t cong thc tnh xac suat cua nh luat Baye c thiet
lap.
3) Ly thuyet chac chan :
Gia s cho luat suy dien la
If a then b.
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
1 P(b)
1 if P(b) = 0
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
MB(b, a) =
P(b \ a) P(b)
1 P(b)
va
MD(b,a) = o.
Do o, CF(b,a) = MB(b,a) la mot so dng. ieu nay chng to rang ket luan b la
kha thi.
+ Trng hp 5 : Bang chng khong kha thi dan en ket luan b.
Vi trng hp nay, xac suat ieu kien b cho bi a b chan bi la
Trang 91
MD(b, a) =
P(b) P(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.
4) Ly giai xap x di ieu kien khong chac chan dung ly thuyet so o
chac chan :
e ly giai xap x di ieu kien khong chac chan dung so o chac chan, moi
bang chng va moi luat suy dien phai c kem theo so o chac chan. Theo ly
thuyet, so o chac chan cua moi bang chng hoac luat suy dien phai b chan bi la 1 CF 1.
Cho luat suy dien vi dang la
If a then b
Vi so o chac chan cua bang chng a c kem theo la CF(a) 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 co the c tnh bang cong thc la
CF(b,a) = CF(a)CF(rule).
Cho luat suy dien vi dang la
If a1 and a2 . . . and am then b
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
CF(b, a1 and a2,. . .and am) = min{CF(ai)}CF(rule).
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
CF(b, a1 ) + CF(b, a2 )
CF(CF(b, a1 ), CF(b., a2 ) =
if one of them < 0.
{
}
CF
b
a
CF
b
a
1
min
(
,
)
,
(
,
)
+
1
2
Khau M
Hoa
A(X)
C S Tri Thc
M
Ky Thuat Suy
Dien M
B(Y)
Kha6u
Giai M
Trang 93
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
0 x A
A ( x) =
Trong o, ky hieu
(x)
dx
la toan t hp va
va ai lng m.
- Neu X la tap c s ri rac, th tap m A trong X c bieu dien la
http://www.khvt.com
Trang 94
A = A ( xi ) / xi
i =1
Trong o, ky hieu
A ( xn )
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)
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.
Trang 95
+ 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
Trung
Bnh
(x)
1
Nhanh
Cham
20
50
70
+ 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)}
+ Quan he ro : Cho R la tap con cua tap tch XY, R c goi la quan he ro
trong XY, neu R c nh ngha bang ham lien thuoc la
http://www.khvt.com
Trang 96
0 if ( x, y ) R
R ( x, y ) =
+ 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.
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 )}
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
Tap m ngo vao A
Quan he m
R(x,y)
Tap m ngo ra B
Trang 97
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.
3) Logic m va ly giai xap x m :
+ Logic m : Logic m la logic ma gia tr chan ly cua e xuat khong b han
che bi hai ch so 0 va 1 nh logic ro hai ch so. Gia tr chan ly cua mot e xuat
trong logic m co the c gan cho mot gia tr bat ky gia 0 va 1.
Cho e xuat P vi xA, trong o A la tap m trong tap c s X vi ham lien
thuoc la A(x). Khi o gia tr chan ly cua e xuat P la
T(P) = A(x )
trong o, A(x) la b chan bi gia khoang 0 va 1 o la
0 A(x ) 1.a2
- Phep toan phu nh cua e xuat P :
Cho e xuat P vi xA, trong o A la tap m trong tap c s X vi ham lien
thuoc la A(x ). Phu nh cua e xuat P la xA. Do o, gia tr chan ly cua P
c thiet lap la
T(P) = 1 T(P).
- Phep toan logic hp cua e xuat P va Q :
Cho e xuat P vi xA va e xuat Q vi xB, trong o A va B la hai tap m
trong tap c s X vi cac ham lien thuoc la A(x ) va B(x ). Khi o phep toan
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)}.
B
http://www.khvt.com
Trang 98
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)}.
Xet luat suy dien m vi dang la
P Q if x is A then y is B,
trong o, A la tap m ngo vao trong tap c s ngo vao X vi ham lien thuoc la A(x
) va B la tap m ngo ra trong tap c s ngo ra Y vi ham lien thuoc la A(x).
Mo hnh luat suy dien m nay la tng ng vi quan he m la
R = (AB)(AY).
Do o ham lien thuoc cua no c thiet lap la
R(x,y) = max[A(x)B(y), (1 - A)].
B
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
Trang 99
0.7
0.4
0.2
R=
0.1
0.3
0.6
0.7
0.4
0.3
0.3
0.3
0.6
0.7
0.6
0.8
0.8
0.7
0.6
0.7
0.6
0.8
1.0
0.7
0.6
0.7
0.6
0.7
0.7
0.7
0.6
0.7
0.4
0.4
0.4
0.4
0.6
0.7
0.2
0.2
0.2
0.2
0.6
+ Ly giai xap x m :
0.2
R=
0.1
0.3
0.6
0.7
0.4
0.3
0.3
0.3
0.6
0.7
0.6
0.8
0.8
0.7
0.6
0.7
0.6
0.8
1.0
0.7
0.6
0.7
0.6
0.7
0.7
0.7
0.6
0.7
0.4
0.4
0.4
0.4
0.6
0.7
0.2
0.2
0.2
0.2
0.6
http://www.khvt.com
Trang 100
+ 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
12
21
22
+ 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
Trang 101
A ( x1 )
A ( x2 )
B ( y)
A11
A12
B1
11
Input(x1)
12
Input(x2)
x1
x2
A ( x1 )
A ( x2 )
B ( y)
A21
A22
B2
21
Input(x1)
22
x1
Input(x2)
x2
B ( y) = min{1 , B ( y)}
'
1
12
B ( y) = min{ 2 , B ( y)}
'
2
22
- 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
ham lien thuoc cua no la
B
B ( y) = max B ( y), B ( y)
'
'
1
'
2
+ Ky thuat suy dien m max-product : Cung giong nh ky thuat suy dien mmaxmin, ky thuat suy dien m max-product c mo ta bang o th nh hnh
http://www.khvt.com
Trang 102
A ( x1 )
A ( x2 )
B ( y)
A11
A12
B1
11
Input(x1)
12
x1
Input(x2)
x2
A ( x1 )
A ( x2 )
B ( y)
A21
A22
B2
21
Input(x1)
22
x1
Input(x2)
x2
B ( y ) = 1 B ( y )
'
1
12
B ( y) = 2 B ( y)
'
2
22
- 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
ham lien thuoc cua no la
B
B ( y) = max B ( y), B ( y)
'
'
1
'
2
Trang 103
http://www.khvt.com
Trang 104
Luat hoc
Khong gian
hoc
Tm kiem
heuristic
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.
Hoc k 2 nam hoc 2005-2006
Trang 105
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.
http://www.khvt.com
Trang 106
Trang 107
p = oi_tng(nho, o, qua_bong)
S = {oi_tng(nho, o, qua_bong)}
S = {oi_tng(nho, Y, qua_bong)}
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,Z)}
n = oi_tng(nho, o, vien_gach)
p = oi_tng(ln, trang,qua_bong)
oi_tng(X,xanh,Z), oi_tng(X,Y,qua_bong),
oi_tng(X,Y,hop_phan)}
p = oi_tng(nho, xanh,qua_bong)
G = {oi_tng(X,Y,qua_bong)}
http://www.khvt.com
Trang 108
Tuoi ?
ln
Qua ?
xe hi
Tuoi ?
nho
Qua ?
May tnh
ln
nho
Qua ?
Qua ?
hoa
keo
Cho Example_set la bang cha tat ca cac mau d lieu thu thap c va
Properties la danh sach cha cac thuoc tnh tng ng trong bang d lieu. Giai thuat
hoc quy nap cay quyet nh c mo ta nh sau :
Hoc k 2 nam hoc 2005-2006
Trang 109
Rui Ro
cao
cao
va
cao
thap
thap
cao
va
thap
thap
cao
va
thap
cao
http://www.khvt.com
Uy Tn
xau
cha biet
cha biet
cha biet
cha biet
cha biet
xau
xau
tot
tot
tot
tot
tot
xau
Khoan N
nhieu
nhieu
t
t
t
t
t
t
t
nhieu
nhieu
nhieu
nhieu
nhieu
The Chap
khong
khong
khong
khong
khong
co
khong
co
khong
co
khong
khong
khong
khong
Thu Nhap
thap
trung bnh
trung bnh
thap
cao
cao
thap
cao
cao
cao
thap
trung bnh
cao
trung bnh
Trang 110
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.
3) Hoc heuristic vi giai thuat hoc quy nap cay quyet nh :
Cho bang d lieu nhieu hang va nhieu cot thu thap c t thc nghiem. e
giup giai thuat hoc nhanh va co hieu qua, theo ly thuyet thong tin, nhan to quyet
nh nao trong bang d lieu gianh c thong tin ln nhat o la nhan to quyet nh
tot nhat c chon lam goc cua cay trong qua trnh hoc.
Cach tnh thong tin gianh c cua cac nhan to quyet nh trong bang d lieu thu
thap c la nh sau :
+ Thong tin ve nhan to muon hoc M oi vi bang d lieu C c tnh bang cong
thc la
n
I (C ) = p ( m i ) log 2 ( p ( m i ))
i =1
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
E (Q ) =
i =1
I (C i )
Trang 111
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
http://www.khvt.com
Trang 112
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)
vat_lam_bang_nha(t)
vat_nhe(t)
vat_co_mat_loi(t)
vat_co_mat_tron(t)
qua_bong(X)
vat_a_c(X)
vat_lam_bang_nha(X)
vat_nhe(X)
vat_hnh_cau(X)
vat_co_mat_loi(X)
vat_co_mat_tron(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
Hoc k 2 nam hoc 2005-2006
Trang 113
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.
7.3) Mo hnh Hoc May Nh Mang Neuron Nhan Tao :
1) Tong quan ve mang neuron nhan tao :
Trai vi mo hnh hoc may tren c s tri thc, mo hnh hoc may nh mang
neuron nhan tao o la mo hnh hoc bang cach mo phong lai cau truc va nguyen ly
lam viec cua he neuron sinh hoc con ngi. He neuron sinh hoc con ngi c
tha nhan co khoang 1010 hoac 1012 te bao neuron gom nhieu lp o la lp vao, cac
lp an va lp ra. Lp vao noi vi cac phan t cam bien nh tai, mat, mieng, mui, da
van van, lp ra noi vi cac phan t c bap nh chan, tay van van va cac lp an
cha cac n v x ly x cac thong tin nhan c t lp vao va gi quyet nh en
lp ra e ieu khien cac phan t c bap nh chan va tay van van. Moi neuron sinh
hoc co nhieu ngo vao va mot ngo ra va ngo ra cua neuron nay c ket noi vi ngo
vao cua neuron khac. Tn hieu truyen t neuron nay en neuron khac la di dang
ien ap. Neu tn hieu truyen gia hai neuron la ien ap dng th hai nuron c
ket noi di dang kch thch. Neu tn hieu truyen gia hai neuron la ien ap am th
http://www.khvt.com
Trang 114
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 vao
Lp an
Lp ra
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 k 2 nam hoc 2005-2006
Trang 115
f i = Wij x j i
j =1
1 if fi 0
a( fi ) =
0 if fi 0
1
a( fi ) =
1 + e fi
e fi e fi
a( f i ) = f i
e + e fi
+ Luat hoc : Co hai cach hoc trong cac mang neuron nhan tao o la hoc cau truc va
hoc thong so. Hoc cau truc la qua trnh hoc thay oi cau truc ben trong cua mang.
Hoc thong so la qua trnh hoc cap nhat cac trong so ket noi gia cac n v x ly
trong mang sao cho xap x vi bo trong so mong muon e co c anh xa vao ra
nh mong muon.
Cho Wij la trong so ket noi gia n v th j va n v th i, luat hoc cap nhat
trong trong so tai thi iem t+1 c thiet lap la
Wij(t+1) = Wij(t) + Wij(t)
Trong o, la hang so dng o c goi la toc o hoc va Wij(t) la lng gia
tang trong so tai thi iem t.
Co ba the loai hoc trong cac mang neuron nhan tao o la hoc giam sat, hoc cung
co va hoc khong giam sat.
http://www.khvt.com
Trang 116
- 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.
2) Mang truyen thang va giai thuat hoc lan truyen ngc :
Cho mang truyen thang ba lp nh c mo ta tren, va vi ham chi ph o tn
hieu sai so gia ngo ra thc s yi (k) cua mang va ngo ra mong muon di (k) cua
mang cho bi moi mau tn hieu vao mong muon X(k) la
1 n
E(k ) = (d i (k ) yi (k )) .
2 i =1
Giai thuat hoc lan truyen ngc cap nhat trong so ket noi trong mang c mo
ta gom cac bc sau :
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.
Bc 1 : Truyen tn hieu chuyen tiep t lp vao, qua lp an va en lp ra.
Cho q = 1 en l
net q ( k ) =
V
j =1
qj
(k ) x j (k )
z q ( k ) = a ( net q ( k )).
Cho i = 1 en n
net i ( k ) =
W
q =1
iq
(k ) zq (k )
Trang 117
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
http://www.khvt.com
Trang 118