You are on page 1of 118

AI HOC QUOC GIA TRNG AI HOC BACH KHOA THANH PHO KHOA IEN VA IEN T BO MON IEU KHIEN

T ONG

BAI GIANG MON HOC : Tr Tue Nhan Tao Va He Chuyen Gia


Thanh pho Ho Ch Minh Ngay 7 Thang 01 Nam 2006 Bien soan : Tien s Nguyen Thien Thanh

Bai giang mon Tr tue nhan tao va he chuyen gia

Noi dung bai giang:


CHNG 1 :
1.1) 1.2) 1.3)

TONG QUAN VE TR TUE NHAN TAO ...........................................................5

Tr tue nhan tao la g ? .......................................................................................................................................5 Lch s phat trien tr tue nhan tao : .................................................................................................................5 Cac thanh phan c ban cua tr tue nhan tao : .................................................................................................6

CHNG 2 : CAC PHNG PHAP GIAI QUYET VAN E C BAN ..................................9


2.1) Khong Gian Bai Toan :..............................................................................................................................................9 V du 1: Khong gian bai toan bnh ng nc. ..............................................................................................................9 V du 2 : Khong gian bai toan tro chi 8 so. ...............................................................................................................11 V du 3 : Khong gian bai toan ba tu s va ba ke an tht ngi.....................................................................................12 V du 4 : Bai toan rao so hoc (Cryarithmetic)..............................................................................................................14 V du 5 : Bai toan hanh trnh ngi ban hang.............................................................................................................14 2.2) Chien Lc Tm Kiem : ...........................................................................................................................................14 1) Tm kiem suy dien tien : ...................................................................................................................................14 2) Chien lc tm kiem suy dien lui :...................................................................................................................15 2.3) Giai Thuat Tm Kiem : ............................................................................................................................................16 1) Giai thuat tm kiem theo chieu rong ((Breadth_First_Search):...............................................................................17 2) Giai thuat tm kiem theo chieu sau (Depth First Search) :......................................................................................18 3) Giai thuat tm kiem truyen lui ( Back Tracking search ) :.......................................................................................19 2.4) Tm Kiem Heuristic : ...............................................................................................................................................20 1) Heuristic la g ?....................................................................................................................................................20 2) Giai thuat tm kiem Best_First_Search :........................................................................................................21 3) Ham anh gia heuristic :...................................................................................................................................23 2.5) Bai Toan Rang Buoc :..............................................................................................................................................26

CHNG 3 :

HE CHUYEN GIA..............................................................................................28

3.1) He chuyen gia la g ? ................................................................................................................................................28 3.2) Cau truc he chuyen gia :..........................................................................................................................................29 3.3) Thiet Ke He Chuyen Gia : ......................................................................................................................................30 1) He chuyen gia suy dien tien : ...........................................................................................................................31 2) Thiet ke he chuyen gia suy dien lui : ..............................................................................................................36

http://www.khvt.com

Trang 2

Bien soan: Tien s Nguyen Thien Thanh CHNG 4 : CAC PHNG PHAP BIEU DIEN TRI THC.................................................41
4.1) Bieu Dien Tri Thc La G ? ....................................................................................................................................41 4.2) Bieu Dien Tri Thc Nh Logic V T : ..................................................................................................................42 1) Logic e xuat :....................................................................................................................................................42 2) Logic v t : .........................................................................................................................................................44 3) Giai bai toan bang phng phap hp giai : ....................................................................................................47 4.3) Bieu Dien Tri Thc Nh Mang Ng Ngha : .........................................................................................................49 4.4) Bieu Dien Tri Thc Nh Frame : ...........................................................................................................................51 4.5) Gii Thieu Ve Ngon Ng Lap Prolog : ..................................................................................................................56 1) Cau truc chng trnh :.....................................................................................................................................56 2) Cac loai toan t : .................................................................................................................................................58 3) X ly danh sach trong ngon ng lap trnh Prolog : .......................................................................................59 5.1) ng Dung tr Tue Nhan Tao Phan Tch Bao Ve He Thong Nang Lng ien : ..............................................73 5.2) Bai Toan Robot Tm Vang : ....................................................................................................................................78 5.3) Bai Toan Lap Phng An Cho Canh Tay Robot Xep Khoi :..............................................................................81

CHNG 6 : X LY TRI THC KHONG CHAC CHAN......................................................86


6.1) Ly Giai Di ieu Kien Khong Chac Chan :.......................................................................................................86 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 6.3) X Ly Tri Thc Khong Chac Chan Dung Logic M : .........................................................................................93 1) Tap m va cac phep toan tren cac tap m : ..................................................................................................94 2) Quan he m va cac phep toan tren quan he m : .........................................................................................96 3) Logic m va ly giai xap x m :..............................................................................................................................98 4) C s tri thc m : ................................................................................................................................................100 5) Ky thuat suy dien m : .........................................................................................................................................101

CHNG 7 : VIEC HOC MAY ................................................................................................104


7.1) Viec Hoc May La G ?............................................................................................................................................104 7.2) Mo Hnh Hoc May Tren C S Tri Thc :........................................................................................................105 1) Giai thuat hoc gam sat hng ac trng en tong quat va ngc lai : ....................................................106 2) Giai thuat hoc quy nap cay quyet nh : .......................................................................................................109 3) Hoc heuristic vi giai thuat hoc quy nap cay quyet nh :..........................................................................111

Hoc k 2 nam hoc 2005-2006

Trang 3

Bai giang mon Tr tue nhan tao va he chuyen gia


4) Khai niem ve hoc cung co va hoc khong giam cua mo hnh hoc tren c s tri thc : ...........................112

7.3) Mo hnh Hoc May Nh Mang Neuron Nhan Tao :.............................................................................................114 1) Tong quan ve mang neuron nhan tao : ..............................................................................................................114 2) Mang truyen thang va giai thuat hoc lan truyen ngc :................................................................................117

http://www.khvt.com

Trang 4

Bien soan: Tien s Nguyen Thien Thanh

Chng 1 : Tong Quan Ve Tr Tue Nhan Tao


1.1) Tr tue nhan tao la g ? Tr tue nhan tao la lnh vc khoa hoc chuyen nghien cu cac phng phap che tao tr tue may sao cho giong nh tr tue con ngi. Vai nh ngha cua tr tue nhan tao ien hnh la - He thong ma biet suy ngh nh con ngi - He thong ma biet hanh ong nh con ngi e he thong ma biet suy ngh va hanh ong nh con ngi th he thong o phai c trang b cac cong cu nh thnh giac, tri thc, ly giai t ong, viec hoc, th giac va di chuyen giong nh con ngi. 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. 1.2) Lch s phat trien tr tue nhan tao : Y tng che tao tr tue may a co t lau nhng mai en nam 1950, nha toan hoc ngi Anh cong bo cong trnh khoa hoc cua ong ta o la May tnh va Thong minh, ay c xem nh la moc loch s bat au phat trien tr tue nhan tao. Noi theo thi iem nay, cac chng trnh thong minh c cong bo o la + Nam 1956, chng trnh giai bai toan tong quat a c xuat hien. + Nam 1958, chng trnh chng minh nh ly hnh hoc cung c kham pha.

Hoc k 2 nam hoc 2005-2006

Trang 5

Bai giang mon Tr tue nhan tao va he chuyen gia

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

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

Hoc k 2 nam hoc 2005-2006

Trang 7

Bai giang mon Tr tue nhan tao va he chuyen gia

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 Ngu coc

Nong dan Chon Ngong

Nong dan Chon Ngong Ngu coc

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

Chng 2 : Cac Phng Phap Giai Quyet Van e C Ban


2.1) Khong Gian Bai Toan : Tri thc cua bai toan c chia ra lam ba loai tri thc c ban o la tri thc mo ta, tri thc thu tuc va tri thc ieu khien, trong o tri thc thu tuc nh ngha khong gian bai toan. Khong gian bai toan co the c bieu dien bang khong gian trang trang thai o la mot bieu dien bang o th nh hng gom bon thanh phan nh sau : + S : trang thai ban au cua bai toan (d lieu ban au). + G : tap cac trang thai ch cua bai toan (d lieu ch). + N : tap cac trang thai khac c phat sinh t trang thai ban au at en trang thai ch o la cac nut cua o th. + A : Tap cac trang thai chuyen tiep o la cac cung lien ket gia cac nut cua o th nh thong qua cac luat ap dung cua bai toan. Luat ap dung la luat ma ve ieu kien cua no hp vi trang thai hien co e ve ket luan cua no phat sinh ra cac trang thai mi. ng li giai cua bai toan la ng bat au t trang thai ban au thong qua cac trang thai khac c phat sinh en mot trang thai nao o trong tap cac trang thai ch. V du 1: Khong gian bai toan bnh ng nc. Cho hai bnh ng nc, mot bnh co dung tch 4 lt va mot bnh khac co dung tch 3 lt, ca hai bnh khong co dau dung tch. Trang thai ban au cua hai bnh la rong, dung mot bm nc lam ay nc vi hai bnh. Lam cach nao e co chnh xac 2 lt nc trong bnh 4 lt ? Vay, khong gian trang thai cho bai toan nay la g ? Giai : Cho cap bien so nguyen (x,y) bieu dien cac trang thai trong khong gian trang thai cho bai toan nay, trong o x la so lt nc trong bnh 4 lt va y la so lt nc trong bnh 3 lt. Khong gian trang thai cho bai toan c mo ta bang cac thanh phan nh sau : + Trang thai ban au cua bai toan : hai bnh eu rong o la cap so nguyen (0,0). + Trang thai ch cua bai toan : can co chnh xac 2 lt nc trong bnh 4 lt o la cap so nguyen (2,n), tronng o n la so khong xac nh trong bnh 3 lt.

Hoc k 2 nam hoc 2005-2006

Trang 9

Bai giang mon Tr tue nhan tao va he chuyen gia

+ 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)

(4,3)

(0,0)

(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

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 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

Hoc k 2 nam hoc 2005-2006

Trang 11

Bai giang mon Tr tue nhan tao va he chuyen gia

2 1 7

8 6

3 4 5

2 1

8 6 7

3 4 5

2 1 7

8 6

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

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.

Hoc k 2 nam hoc 2005-2006

Trang 13

Bai giang mon Tr tue nhan tao va he chuyen gia

V du 4 : Bai toan rao so hoc (Cryarithmetic). Bai toan at ra la tm cac ch so t 0 en 9 thay the cho cac ch cai sao cho bieu thc so hoc tng ng cua no la ung ien hnh la FORTY 29786 TEN 850 TEN 850 SIXTY 31486 Vay, khong gian bai toan nay la ? V du 5 : Bai toan hanh trnh ngi ban hang. Bai toan hanh trnh ngi ban hang at ra la cho ban o cua n thanh pho, tm ng i ngan nhat cho cuoc hanh trnh cua ngi ban hang bat au t mot thanh pho, vieng tham moi thanh pho chnh xac mot lan va tr ve lai thanh pho bat au. 2.2) Chien Lc Tm Kiem : Co hai chien lc tm kiem tren khong gian trang thai bai toan o la tm kiem bat au t d lieu ban au ve ch va tm kiem t d lieu ch lui ve d lieu ban au. Tm kiem bat au t d lieu ban au ve ch c goi la chien lc tm kiem suy dien tien va tm kiem bat au t ch lui ve d lieu c goi la chien lc tm kiem suy dien lui. 1) Tm kiem suy dien tien : Thu tuc tm kiem suy dien tien tren khong gian trang thai bai toan c mo ta nh sau : + Bat au tm kiem t d lieu ban cua bai toan. + Chon tat cac cac luat ng dung vi ve ieu kien hp vi d lieu ban au cua bai toan e ve ket luan phat sinh ra cac d lieu mi. + Tai moi iem d lieu mi, chon tat ca cac luat ng dung vi ve ieu kien hp vi d lieu mi e ve ket luan phat sinh ra cac d lieu mi hn. + Thu tuc nay c lap lai cho tat ca cac d lieu mi cho en khi d lieu ch c tm thay.

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)
1 2

(4,0)
3

(0,3)
4

(4,3)

(0,0)

(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

Bai giang mon Tr tue nhan tao va he chuyen gia

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)
3 8

(2,3)

(4,2)

(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

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. 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 K L F M G N

C H O P I

D J Q R

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.

Hoc k 2 nam hoc 2005-2006

Trang 17

Bai giang mon Tr tue nhan tao va he chuyen gia

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.

2) Giai thuat tm kiem theo chieu sau (Depth First Search) : Giai thuat tm kiem theo chieu sau la giai thuat tm kiem nhanh theo nhanh cua cay. Giai thuat bat au t nut goc tm kiem en con, chau, chac cua goc, neu giai thuat tm thay ch th dng thu tuc tm kiem va thiet lap ng li giai t nut goc thong qua cac nut lien ket en nut ch; mat khac neu giai thuat tm thay ng cut th no lui ve tm kiem nut anh em.

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. 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

Hoc k 2 nam hoc 2005-2006

Trang 19

Bai giang mon Tr tue nhan tao va he chuyen gia

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

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 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

Bai giang mon Tr tue nhan tao va he chuyen gia

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

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
O 71 Z 75 140 A 99 S F 92 V 118 T R 111 L 164 70 M 75 Hoc k 2 nam hoc 2005-2006 120 C G 138 101 85 B 90 97 U 98 86 Trang 23 E H P 211 80 142 151 N 87 I

Bai giang mon Tr tue nhan tao va he chuyen gia

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

Bien soan: Tien s Nguyen Thien Thanh

h = 366

T
h = 329

Z
h = 374

S
h = 253

A
h = 366

F
h = 178

O
h = 380

R
h = 193

S
h = 253

B
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
f = 329 + 118 = 447

Z
f = 374 + 75 = 449

S
f = 253 + 140 = 393

A
f = 366 + 280 = 646

F
f = 178 + 239 = 417

O
f = 380 + 146 = 526

R
f = 193 + 220 = 413

C
f = 160 + 366 = 426

P
f = 98 + 317 = 415

S
f = 253 + 300 = 553

Hoc k 2 nam hoc 2005-2006

Trang 25

Bai giang mon Tr tue nhan tao va he chuyen gia

2.5) Bai Toan Rang Buoc : Rang buoc la moi quan he gia hai hoac nhieu oi tng. Bai toan thoa man rang buoc la tm cac gia tr cho cac oi tng sao cho thoa man nghiem so cua bai toan at ra. V du : Cho bai toan he cua hai phng trnh tuyen tnh la x+y=2 3x y = 2 trong o moi phng trnh tuyen c goi la mot rang buoc cua bai toan. Bai toan thoa man rang buoc la tm cac gia tr cho cac oi tng x va y sao cho thoa man nghiem cua he phng trnh. 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

Li giai cua bai toan co the c tm thay la


SEND + MORE MONEY
9567 + 1085 10652

Hoc k 2 nam hoc 2005-2006

Trang 27

Bai giang mon Tr tue nhan tao va he chuyen gia

Chng 3 :

3.1) He chuyen gia la g ?

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

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. 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

Long Term Memory Domain Knowlege Reasoning Short-Term Memory Case/Inferred Facts Conclusions

Advisee Case Facts Conclusions

Nguyen tac lam viec cua ngi chuyen gia nh sau : + Ngi tham van tham van ngi chuyen gia ve bai toan, cac s kien ban au cua bai toan c a en lu tr trong vung nh dai han. + 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. + Cac s kien mi nay c a vao lu tr trong vung nh ngan han. + Thu tuc nay c lap lai cho en khi ket luan cua bai toan c tm thay.

Hoc k 2 nam hoc 2005-2006

Trang 29

Bai giang mon Tr tue nhan tao va he chuyen gia

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 Working memory Case/Inferred Facts Conclusions

User Case 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

Bien soan: Tien s Nguyen Thien Thanh

1) He chuyen gia suy dien tien : He chuyen gia suy dien tien la he chuyen gia giai quyet van e bat au ly giai t d lieu ban au cua bai toan lap luan tren c s logic e kham pha cac s kien mi dan en ket luan ve bai toan. e thiet ke mot he chuyen gia suy dien tien bao gom cac bc c mo ta nh sau : 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.

Hoc k 2 nam hoc 2005-2006

Trang 31

Bai giang mon Tr tue nhan tao va he chuyen gia

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).
Hoc k 2 nam hoc 2005-2006 Trang 33

Bai giang mon Tr tue nhan tao va he chuyen gia

Van va van van. Luat 1 c ma hoa bang ky hieu ien hnh la if passed(X) then done_with(X). Luat 2 c ma hoa bang ky hieu ien hnh la if waived(X) then done_with(X). Luat 3 c ma hoa bang ky hieu ien hnh la if findall(Y, done_with(Y),X)) then all_done_with(X). Luat 4 c ma hoa bang ky hieu ien hnh la if impreq(X,Y) then preq(X,Y). Luat 5 c ma hoa bang ky hieu ien hnh la if impreq(X,Y) and preq(Y,Z) then preq(X,Z). Luat 6 c ma hoa bang ky hieu ien hnh la if findall(Y,preq(X,Y),Z) then all_preq_for(X,Z). luat 7 c ma hoa bang ky hieu ien hnh la if all_preq_for(X,Z) and all_done_with(Q) and subset(Z,Q) then have_preq_for(X). Luat 8 c ma hoa bang ky hieu ien hnh la if req(X) and not(done_with(X)) and given_now(X) and have_preq_for(X) then pos_req_course(X). Luat 9 c ma hoa bang ky hieu ien hnh la if elec(X) and not(done_with(X)) and given_now(X) and have_preq_for(X) then pos_elec_course(X).

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 Pump 1

Line2 Pump 2

Line3 Pump 3

Line4

Motor1

Motor2

Motor3

Block 1 http://www.khvt.com

Block 2

Block 3 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.
Hoc k 2 nam hoc 2005-2006 Trang 35

Bai giang mon Tr tue nhan tao va he chuyen gia

Luat 3 : if line2 < 100 then line2 = low. Luat 4 : if line2 >= 100 then line2 = normal. Luat 5 : if line3 < 150 then line3 = low and display fault detected. Luat 6 : if line3 >= 150 then line3 = normal. Luat 7 : if mortor1 < 1 then motor1 = low. Luat 8 : if motor2 >= 1 then motor1 = normal. Luat 9 : if mortor2 < 1 then motor2 = low. Luat 10 : if motor2 >= 1 then motor2 = normal. Luat 11 : if line1 = normal and line2 = low then block1 = fault . Luat 12 : if line2 = normal and line3 = low then block2 = fault. Luat 13 : if block1 = fault and motor1 = low then motor1 = fault and display fault found. Luat 14 : if block2 = fault and motor2 = low then motor2 = fault and display fault found. Luat 15 : if block1 = fault and motor1 = normal and line1 pressure = line2 pressure then pump1 = fault and display fault found. Luat 16 : if block2 = fault and motor2 = normal and line2 pressure = line3 pressure then pump2 = fault and display fault found. Luat 17 : if block1 = fault and motor1 = normal and line1 pressure < line2 pressure then line2 = fault and display fault found. Luat 18 : if block2 = fault and motor2 = normal and line2 pressure < line3 pressure then line3 = fault and display fault found. 2) Thiet ke he chuyen gia suy dien lui : He chuyen gia suy dien lui la he x ly so lieu vao ra bat au t d lieu ch vi cau truc ieu khien luat suy dien moc xch lui ve d lieu ban au cua bai toan. e thiet ke mot he chuyen gia moc xch suy dien lui gom cac bc la + nh ngha bai toan. + nh ngha cac ch cua bai toan. + Thiet ke cac luat moc xch ch suy dien lui giai quyet bai toan. + M rong he thong. + Cai tien he thong. + Thiet ke giao dien ngi s dung he chuyen. + anh gia he thong.

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

Hoc k 2 nam hoc 2005-2006

Trang 37

Bai giang mon Tr tue nhan tao va he chuyen gia

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

Thi gian hp ong lam viec : 5 nam Co tre con khong : Co Tong so tai san : 100000 dollars Tong so n : 20000 dollars. Mang suy dien luat ch cua he chuyen gia suy dien lui t van tai chanh c mo ta nh hnh
Portfolio 1 Portfolio 2 Portfolio 3 Portfolio 4

Or

and

and

and

and

Investment < 1000

Person state = unstable

Person state = stable

Financial tate = unstatble

Financial tate = statble

Mang suy dien tnh trang ban than cua khach hang c mo ta nh hnh
Person state = unstable Person state = stable

Or

and

and Client has no children

Client is old

Job not steady

Client is young

Job steady

Client has children

<40 >=40 Or and

and

Service > 10 Layoffs low Service < 3 Layoffs high Service 310

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

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. Totalassets > totalliab.

http://www.khvt.com

Trang 40

Bien soan: Tien s Nguyen Thien Thanh

Chng 4 : Cac Phng Phap Bieu Dien Tri Thc


4.1) Bieu Dien Tri Thc La G ? Bieu dien tri thc la cach the hien tri thc trong may di dang sao cho bai toan co the c giai tot nhat. Bieu dien tri thc trong may phai : + The hien c tat ca cac thong tin can thiet. + Cho phep tri thc mi c suy dien t tap cac s kien va luat suy dien. + Cho phep bieu dien cac nguyen ly tong quat cung nh cac tnh huong ac trng. + Bat lay c y ngha ng ngha phc tap. + Cho phep ly giai mc tri thc cao hn. 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.

Hoc k 2 nam hoc 2005-2006

Trang 41

Bai giang mon Tr tue nhan tao va he chuyen gia

4.2) Bieu Dien Tri Thc Nh Logic V T : 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. + Ky hieu chan ly : Ky hieu chan ly la hai ch cai in hoa T va F, trong o T xac nh noi dung cua phat bieu la ung va F xac nh noi dung cua phat bieu la sai. + Ky hieu e xuat : Ky hieu e xuat la cac ch cai in hoa nh A, B, C, D, . c s dung e bieu dien e xuat. + Toan t logic : Toan t logic gom co cac loai toan t nh : - : toan t logic lien t va. - : toan t logic gii t hoac. - : toan t logic phu nh. - : Toan t logic keo neu. - : toan t logic tng ng neu va ch neu. + Cau e xuat : Cau e xuat c nh ngha nh sau : - Moi ky hieu e xuat va ky hieu chan ly la mot cau. V du ien hnh la T, F, Q, P, hoac R la mot cau. - Phu nh cua mot cau la mot cau. V du ien hnh la P la mot cau. - Toan t ket noi lien t va cua hai cau la mot cau. V du ien hnh la PQ la mot cau. - Toan t ket noi gii t hoac cua hai cau la mot cau. V du ien hnh la PQ la mot cau. - Toan t keo theo cua mot cau cho mot cau khac la mot cau. V du ien hnh la PQ la mot cau. - S tng cua hai cau la mot cau. V du ien hnh la PQ = R la mot cau. Tat ca cac cau hp le c xem nh la cac cong thc dang hoan thien (WFFs). - bieu thc dang PQ, trong o P va Q c goi la cac lien t.

http://www.khvt.com

Trang 42

Bien soan: Tien s Nguyen Thien Thanh

- bieu thc dang PQ, trong P va Q c goi la cac gii t. - bieu thc dang PQ, trong o P c goi la tien ieu kien va Q c goi la ket luan. 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).
Hoc k 2 nam hoc 2005-2006 Trang 43

Bai giang mon Tr tue nhan tao va he chuyen gia

- Luat de Morgan : (PQ) = (PQ). - Luat de Morgan : (PQ) = (PQ). - Luat phan bo : P(QR) = (PQ)(PR). - Luat phan bo : P(QR) = (PQ)(PR). - Luat giao hoan : (P Q) = (Q P). - Luat giao hoan : (PQ) = (QP). - Luat ket hp : ((PQ)R)) = (P(QR)). - Luat ket hp : ((PQ)R)) = (P(QR)). - Luat tng phan : (PQ) = (QP). Hai bieu thc logic c goi la tng ng khi cac gia tr chan ly cua chung la giong nhau. 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

Hoc k 2 nam hoc 2005-2006

Trang 45

Bai giang mon Tr tue nhan tao va he chuyen gia

giong nh ham v t. V t nhan cac oi so vao t mot tap hp va tra ve oi so ra trong tap hp gia tr chan ly ung T hoac sai F. V du : Cho e xuat la George likes Kate. e xuat nay co the c bieu dien bang v t likes la likes(george,kate). V t likes se tra ve logic true(T) neu George thch Kate; mat khac v t tra ve gia tr logic false(F). Cac oi so cua v t co the la hang v t, bien v t hoac ham v t. 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). - V t nh lng : Khi cac oi so vao cua ham v t hoac v t la bien v t khi o e xac nh pham vi gia tr cua bien, hai ai lng ng trc bien o la va , hai ai lng nay c goi la cac v t nh lng. V t nh lng ng trc bien e xac nh bieu thc la ung cho moi gia tr cua bien. V t nh lng , ng trc bien e xac nh bieu thc la ung co mot vai gia tr cua bien. V du : Cho e xuat la All humans are mortal. e xuat nay co the c bieu dien la (X) (human(X) mortal(X)). Cho mot e xuat khac la There is a student who is smart. e xuat nay co the c bieu dien la (X)(student(X) smart(X)). V du ng dung : Sau ay la v du minh chng dung logic v t bieu dien c s tri thc cua bai toan t van tai chanh. 1. saving_account(inadequate) investment(savings). 2. savings_count(adequate)income(adequate)investment(stocks).

http://www.khvt.com

Trang 46

Bien soan: Tien s Nguyen Thien Thanh

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).

3) Giai bai toan bang phng phap hp giai : Co hai hng giai bai toan trong lnh vc tr tue nhan tao o la giai bai toan theo hng thuan va giai bai toan theo hng nghch. Mot trong cac phng phap giai bai bai toan theo hng nghc o la phng phap hp giai. Phng phap hp giai la phng phap giai bai toan bang chng minh phan e. e chng minh e xuat P co gia tr logic ung t tap cac tien e, ta gia s P la sai, ieu o dan en phu nh cua no la ung. Cong tien e nay vao tap cac tien e va hp giai chung cho en khi nao co menh e rong xuat hien. Menh e rong nay chng to rang co s mau thuan gia tien e a gia nh va tap cac tien san co. V the ta i en ket luan rang phu nh cua P la khong tng thch va P la tng thch vi tap cac tien e. Qui trnh chng minh phan e bang phng phap hp giai c mo ta gom cac bc nh sau : Bc 1 : Chuyen tat ca cac tien e dang cong thc logic hoan thien sang dang logic menh e vi dang tong quat la a1a2a3an s dung cac bieu thc thc logic tng ng la (P) = P. PQ = PQ. PQ = PQQP.
Hoc k 2 nam hoc 2005-2006 Trang 47

Bai giang mon Tr tue nhan tao va he chuyen gia

(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

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.

2) dog(fido).

dog(Y)die(Y).

fido/Y. 4) die(fido). die(fido).

Menh e rong

4.3) Bieu Dien Tri Thc Nh Mang Ng Ngha : Mot cach bieu dien tri thc khac o la mang ng ngha. Cach bieu dien nay cho ta cai nhn tong the ve tri thc cua bai toan bang bang o th. Tri thc cua bai toan co the c the hien tren mot o th nh hng vi tap cac nut co danh nhan e bieu dien cac oi tng va tap cac cung cua o th la cac ng mui ten co anh
Hoc k 2 nam hoc 2005-2006 Trang 49

Bai giang mon Tr tue nhan tao va he chuyen gia

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 mother father son son Marry granddaughter

grandfather granddaughter

grandmother

Bod husband

Kate

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 Animal has Skin can is a can Bird has has is a is a Wings Feathers Move Breathe

Fly

Canary

Ostrich

is Tail

can Sing

is Yellow

can not Fly

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>
Hoc k 2 nam hoc 2005-2006 Trang 51

Bai giang mon Tr tue nhan tao va he chuyen gia

Value : value of 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

Funace

Air conditioner

Hoc k 2 nam hoc 2005-2006

Trang 53

Bai giang mon Tr tue nhan tao va he chuyen gia

He thong gom cac frame nh room, thermostat, funace va air conioner c mo ta nh sau : 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 ). 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 ).

Hoc k 2 nam hoc 2005-2006

Trang 55

Bai giang mon Tr tue nhan tao va he chuyen gia

4.5) Gii Thieu Ve Ngon Ng Lap Prolog : 1) Cau truc chng trnh : Ngon ng Prolog la ngon ng lap trnh tren c s toan hoc logic c thiet lap e giai quyet cac van e trong lnh vc tr tue nhan tao. Cau truc c ban cua ngon ng lap trnh Prolog c mo ta nh sau : 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

hien di dang if condition_1 and condition_2, and condition_N then conclusion vi cu phap tong quat cua Prolog la conclusion : - condition_1, condition_2, ,condition_N. + goal : la vung thc hien cac ch e ra cua bai toan. V du : Cho cac s kien va luat suy dien la 1) John likes wine. 2) Lance likes skiing. 3) Lance likes books. 4) Lance likes films. 5) If Z reads and Z is inquisitive then Z likes books. Chng trnh Prolog sau the hien cac s kien, luat suy dien e thoa man hai thanh phan ch con cua John o la John thch uong ru, oc sach va la ngi tm toi do o john thch sach. 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.
Hoc k 2 nam hoc 2005-2006 Trang 57

Bai giang mon Tr tue nhan tao va he chuyen gia

2) Cac loai toan t : + Toan t logic : - Logic and : vi cu phap Prolog la , (dau phay). - Logic or : vi cu phap Prolog la ; (dau cham phay). - Logic only if vi cu phap Prolog la :- Logic not : vi cu phap prolog la not. + Toan t quan he : - Less than vi cu phap Prolog la < - Less than or equal to vi cu phap Prolog la <= - Equal vi cu phap Prolog la = - Greater than vi cup phap Prolog la > - Greater than or equal vi cu phap prolog la >= - Not equal vi cu phap prolog la <> hoac >< - Cut vi cu phap Prolog la ! 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). 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

Bai giang mon Tr tue nhan tao va he chuyen gia

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

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).

Hoc k 2 nam hoc 2005-2006

Trang 61

Bai giang mon Tr tue nhan tao va he chuyen gia

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). 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), % The wolf eats the goat

% The goat eats the cabbage

Hoc k 2 nam hoc 2005-2006

Trang 63

Bai giang mon Tr tue nhan tao va he chuyen gia

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

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). 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

Hoc k 2 nam hoc 2005-2006

Trang 65

Bai giang mon Tr tue nhan tao va he chuyen gia

V du 4 : Cho ban o ch ng en kho bau cha vang nh hnh ve

Entry

Hell Mermaid

Fountain

Robbers

Food Gold treasure

Monsters

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). Chay chng trnh nay cho ket qua la ["exit","gold_treasure","food","fountain","entry"] ["exit","gold_treasure","food","fountain","entry"] yes

Hoc k 2 nam hoc 2005-2006

Trang 67

Bai giang mon Tr tue nhan tao va he chuyen gia

V du 5 : Cho ban o cua cac thanh pho nh hnh ve


100 Kansas Tampa 500 Houston

120

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):!,

Hoc k 2 nam hoc 2005-2006

Trang 69

Bai giang mon Tr tue nhan tao va he chuyen gia

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

Bien soan: Tien s Nguyen Thien Thanh

["gordon","houston","tampa"] --> 650 Shortest routes between gordon to tampa is: ["gordon","houston","kansas_city","tampa"] --> 370 yes V du 6 : Mo phong phan cng. Cho mach so Xor nh hnh ve
Input1 Not N1 And Output Or

N4

Not Input2 N2

And 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

Bai giang mon Tr tue nhan tao va he chuyen gia

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

Bien soan: Tien s Nguyen Thien Thanh

Chng 5 :

Vai ng Dung Tr Tue Nhan Tao

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 LineX B2

May cat B1 c at au cuoi ben trai va may cat B2 c at au cuoi ben phai cua ng dan LineX. May cat B1 bao ve ng LineX theo hng nhn t trai sang phai va may cat B2 bao ve ng dan LineX theo hng nhn t phai sang trai. Neu co s co tren ng dan LineX th mot hoac ca hai may cat hai au cuoi cua ng se van hanh ngat dong bao ve ng. 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 l1 2 S 3 l2 O 4

S l3 6

S 7

S 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 :

Hoc k 2 nam hoc 2005-2006

Trang 73

Bai giang mon Tr tue nhan tao va he chuyen gia

1) Xac nh v tr xay ra s co tren he thong. 2) Xac nh trang thai van hanh va trang thai khong van hanh cua cac may cat tren he thong. 3) Ch ro cac thanh phan cua he thong. 4) Xac nh he thong cua cac may cat d phong cho cac may cat khong van hanh tren he thong. 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

Hoc k 2 nam hoc 2005-2006

Trang 75

Bai giang mon Tr tue nhan tao va he chuyen gia

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. 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

Hoc k 2 nam hoc 2005-2006

Trang 77

Bai giang mon Tr tue nhan tao va he chuyen gia

Breaker1 Operated correctly as a backup breaker Breaker4 operated correctly Possible Fault Location is on line3 Breaker5 operated correctly Breaker6 Malfunctioned Breaker1 Operated correctly as a backup breaker Breaker4 Operated correctly as a backup breaker Possible Fault Location is on line4 Breaker7 Malfunctioned Breaker1 Operated correctly as a backup breaker Breaker4 Operated correctly as a backup breaker Breaker5 Operated correctly as a backup breaker No 5.2) Bai Toan Robot Tm Vang : Cho bai toan robot tm vang tren mat phang ke li hai chieu nh hnh ve
(1,4) (2,4) (3,4)

Stench
(1,3) (2,3) (3,3)

(4,4)

Wumpus
(1,2)

Gold gliter
(2,2) (3,2)

(4,3)

(4,2)

Stench

Breeze

(1,1)

(2,1)

(3,1)

(4,1)

Agent

Breeze

Pits

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. 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.

Hoc k 2 nam hoc 2005-2006

Trang 79

Bai giang mon Tr tue nhan tao va he chuyen gia

+ V tr, tnh huong va nh hng nhn cua robot. - result(Action, Si ) = Si+1 : ham tra ve tnh huong Si+1 khi thc hien thao tac Action tai tnh huong Si . - at(Object, Location, Situation) : mo ta oi tng tai v Location vi tnh huong Situation. - orientation(Agent, Situation) = D : ham tra ve goc D nh hng nhn cua robot vi tnh huong situation. Theo qui c, D quay tron 3600, D = 0, mat cua robot nhn ve hng ong; D = 90, mat cua ro bot nhn ve hng bac; D = 180 , mat cua robot nhn ve hng tay va D = 270, mat cua robot nhn ve hng nam. - locationtoward([X, Y], D) = Location : ham tra ve v tr ch so Location cua o ke oi mat vi o (X, Y) c xac nh bi goc nh hng D. 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)). +Luat x ly v tr cac o ke lien ket. adjacent(L1, L2) D L1 = locationtoward(L2, D). + Luat x ly xac nh v tr cac o cha cac ng bien. wall(X, Y) ( X = 0 X = 5 Y = 0 Y = 5). + Luat x ly thc hien lenh forward i ti. at(Agent, L, result(Action, S)) Action = forwardL = locationAhead(Agent, S)wall(L). + Luat x ly thc hien lenh queo trai. orientation(Agent, result(Action, S)) = D Action = turn(left) D = Mod(orientation(Agent, S) + 90, 360). + Luat x ly thc hien lenh queo phai.

http://www.khvt.com

Trang 80

Bien soan: Tien s Nguyen Thien Thanh

orientation(Agent, result(Action, S)) = D Action = turn(right) D = Mod(orientation(Agent, S) - 90, 360). + Luat x ly v tr o cha mui ham bay va mui ke trong coi vang. at(Agent, L, S) breeze(S) breezy(L). at(Agent, L, S)stench(S) smelly(L). + 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 cac o an toan. at(Agent, L1, S)adjacent(L1, L2) ok(L2). at(Wumpus, L, S)at(Pitts, L,S) ok(L). + 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 :
Hoc k 2 nam hoc 2005-2006 Trang 81

Bai giang mon Tr tue nhan tao va he chuyen gia

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 E D A C E D

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

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 () ontable( X ) clear ( X ) pickup( X ) : A : hold ( X ) D : hold () ontable( X ) clear ( X )

Hoc k 2 nam hoc 2005-2006

Trang 83

Bai giang mon Tr tue nhan tao va he chuyen gia

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 )

P : hold() on( X , Y ) clear( X ) takeoff ( X , Y ) : A : hold( X ) clear(Y ) D : hold() on( X , Y ) clear( X )


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 S kien con lai t o tren S kien con lai t o tren

Thao tac 1
S kien mi cua thao tac 1 S kien con lai t o tren

Thao tac 2
S kien mi cua thao tac 2

. . . .

. . . . . S co . kien n n lai t o tre

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 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. + 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.

Hoc k 2 nam hoc 2005-2006

Trang 85

Bai giang mon Tr tue nhan tao va he chuyen gia

Chng 6 : X Ly Tri Thc Khong Chac Chan


6.1) Ly Giai Di ieu Kien Khong Chac Chan : Tri thc cua bai toan a c x ly trc ay o la loai tri thc chac chan. e x ly loai tri thc nay s dung logic ro hay con c goi la logic hai ch so o la logic v t c m rong t logic e xuat. 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. V du : Cho luat suy dien la P Q. Neu suy dien la tri thc chac chan th gia tr chan ly cua tien ieu kien P la 1 hoac 0 va gia tr chan ly cua suy dien P Q cung la 1 hoac 0; do o, ta co the xac nh c gia tr chan ly cua ket luan Q o la 1 hoac 0. 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 : 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

Bai giang mon Tr tue nhan tao va he chuyen gia

+ Xac suat cua a hoac b la P(ab) = n1/n + n2/n + n3/n = P(a) + P(b) 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 . Gia s cho luat suy dien vi dang la If ( a and b ) then c. Cach tnh xac suat cua ket luan c vi luat suy dien nay la P(c) = P(c\ab)p(ab) + P(c\(ab))P((ab)) trong o, P(c\ab) la xac suat ieu kien c cho bi bang chng a va b, p(ab) la xac suat cua bang chng a va b, P(c\(ab)) la xac suat ieu kien c cho bi khong co bang chng a va b va P((ab)) la xac suat cua khong co bang chng a va b. Gia s cho luat suy dien vi dang la If (a or b) then c. Cach tnh xac suat cua ket luan c vi luat suy dien nay la P(c) = P(c\ab)p(ab) + P(c\ab)p(ab) + P(c\ab)P(ab) + P(c\ab)P(ab).

http://www.khvt.com

Trang 88

Bien soan: Tien s Nguyen Thien Thanh

V du : Cho luat suy dien la Neu so ngi co benh tim th trong so o se co mot so ngi b benh phoi. Cho H la so ngi co benh tim va C la mot so ngi trong so o se b benh phoi, vay th luat suy dien tren co the c viet lai la H C. Qua thc nghiem khao sat cho thay rang : + C 100 ngi, trong o co 10 ngi b benh tim. V the xac suat cua so ngi co benh tim la P(H) = 0,1. + 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. + C 100 ngi co benh tim th trong so o co 90 ngi b benh phoi. V the xac suat ieu kien so ngi b benh phoi cho bi so ngi co benh tim la P(C\H) = 0,9. + C 100 ngi khong co benh tim th trong so o co 95 ngi khong b benh phoi. Do o, xac suat ieu kien so ngi khong b benh phoi cho bi so ngi khong co benh tim la P(C\H) = 0,95. + C 100 ngi khong co benh tim th trong so co 5 ngi b benh phoi. Do o, xac suat ieu kien so ngi b benh phoi cho bi so ngi khong co benh tim la P(C\H) = 0,05. Ta co xac suat cua luat suy dien H C o chnh la xac suat ieu kien C cho bi bang chng H o la P(C\H) = 0,9. Cong thc tnh xac suat cua ket luan C vi dang luat suy dien H C la P(C) = P(H)P(C\H) + P(H)P(C\H). Vay th ta co xac suat cua ket luan C la P(C) = 0,10,9 + 0,90.05 = 0,135 hay 13,5%. 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
Hoc k 2 nam hoc 2005-2006 Trang 89

Bai giang mon Tr tue nhan tao va he chuyen gia

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 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

CF(b,a) = MB(b,a) MD(b,a) + Neu so o chac chan cua ket luan b vi bang chng a la CF(b,a) = -1 th ket luan rang b la sai. + Neu so o chac chan cua ket luan b vi bang chng a la CF(b,a) = 0 th ket luan rang b la cha biet. + Neu so o chac chan cua ket luan b vi bang chng a la CF(b,a) = 1 th ket luan rang b la ung. Khao sat cac phng trnh tren vi cac trng hp la + Trng hp 1 : Bang chng a dan en ket luan b la ung hay noi cach khac, xac suat ieu kien b cho bi a la ung. Vi trng hp nay, ta co P(b\a) = 1 va P(b) = 1; do o ta co MB(b,a) = 1 va MD(b,a) = 0. Vay th CF(b,a) = 1; do o ta ke luan rang b la ung. + 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. + Trng hp 3 : Khong co mat bang chng a dan en ket luan b. Vi trng hp nay, ta co P(b\a) = P(b); do o MB(b,a) = 0 va MD(b,a) = 0. Vay th CF(b,a) = 0 va do o ta ket luan rang b la cha biet. + Trng hp 4 : Bang chng kha thi a dan en ket luan b. Vi trng hp nay, ta tco xac suat ieu kien b cho bi a b chan bi la P(b) < P(b\a) < 1. V the MB va MD c xac nh la

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

Hoc k 2 nam hoc 2005-2006

Trang 91

Bai giang mon Tr tue nhan tao va he chuyen gia

0 < P(b\a) < P(b). V the MB va MD c xac nh la MB(b,a) = 0 Va

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

Bien soan: Tien s Nguyen Thien Thanh

Cho luat suy dien vi dang la 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 CF(b, a1 or a2,. . . or am) = max{CF(ai)}CF(rule). 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
CF(b, a1 ) + CF(b, a2 ) (1 CF(b, a1 )) if both > 0. CF(b, a1 ) + CF(b, a2 ) CF(CF(b, a1 ), CF(b., a2 ) = if one of them < 0. 1 + min{CF(b, a1 ) , CF(b, a2 ) } CF(b, a ) + CF(b, a ) (1 + cf (b, a )) if both < 0. 1 2 1

Trong o, CF(b,a1) la so o chac chan cua ket luan b vi rule1 va CF(b,a2) la so o chac chan cua ket luan b vi rule2. 6.3) X Ly Tri Thc Khong Chac Chan Dung Logic M : 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 X Khau M Hoa A(X) C S Tri Thc M Ky Thuat Suy Dien M B(Y) Kha6u Giai M Y

Hoc k 2 nam hoc 2005-2006

Trang 93

Bai giang mon Tr tue nhan tao va he chuyen gia

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) Tap m va cac phep toan tren cac tap m : + Tap ro : Cho x la phan t cua c s X va A la tap con cua X. A c goi la tap ro trong X, neu A c nh ngha bang ham lien thuoc la

A ( x) =

1 x A 0 x A

+ Tap m : Cho x la phan t cua c s X va A la tap con cua X. A c goi la tap m trong X, neu A c nh ngha bang ham lien thuoc cua no sao cho b chan gia 0 va 1 o la 0 A(X) 1. + Bieu dien tap m : - Neu X la tap c s lien tuc, tap m A trong X c bieu dien la
A =

(x)
x

dx

Trong o, ky hieu va ai lng m.

la toan t hp va

la toan t ket hp gia ai lng ro

- Neu X la tap c s ri rac, th tap m A trong X c bieu dien la

http://www.khvt.com

Trang 94

Bien soan: Tien s Nguyen Thien Thanh


A = A ( xi ) / xi
i =1 n

Trong o, ky hieu

la toan t hp va ky hieu / la toan t ket hp gia gia

tr ro va gia tr m tng ng. + Ham lien thuoc : Co hai cach xay dng ham lien thuoc cho tap m A o la xay dng ham lien thuoc di dang bang va xay dng ham lien thuoc di dang ham. - Ham lien thuoc di dang bang gom hai cot va nhieu hang, cot th nhat cha gia tr ro va cot cha cac gia tr m tng ng c mo ta tong quat nh bang ai lng ro ai lng m A ( xi ) xi A ( x1 ) x1 A ( x2 ) x2

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

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.

Hoc k 2 nam hoc 2005-2006

Trang 95

Bai giang mon Tr tue nhan tao va he chuyen gia

+ 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) 1 Cham Trung Bnh Nhanh

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)}

- 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 )

2) Quan he m va cac phep toan tren quan he m : + Tap tch cua hai tap c s : cho X va Y la hai tap c s vi xX va yY. Tap tch cua hai tap c s X va Y c nh ngha la
X Y = {( x, y ) / x X , y Y }

+ 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

Bien soan: Tien s Nguyen Thien Thanh

R ( x, y ) =

1 if ( x, y ) R 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 ) = P Q ( x, z ) = max min{ P ( x, y ), Q ( y, z )}
R ( x, z ) = P Q ( x, z ) = max{ P ( x, y ) Q ( y , z )}

- Toan t max-product c thiet lap la

+ 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

Hoc k 2 nam hoc 2005-2006

Trang 97

Bai giang mon Tr tue nhan tao va he chuyen gia

Phng trnh quan he m xac nh tap m ngo ra cua he thong c thiet lap 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

la

- Phep toan logic giao 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 giao cua P va Q la PQ : xA va xB.
B

http://www.khvt.com

Trang 98

Bien soan: Tien s Nguyen Thien Thanh

Do o, gia tr chan ly cua phep toan giao P va Q c thiet lap la T(PQ) = min{T(P), T(Q)}. - Phep toan logic keo theo : 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 keo theo P cho Q la PQ: xA xB.
B

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

Hoc k 2 nam hoc 2005-2006

Trang 99

Bai giang mon Tr tue nhan tao va he chuyen gia

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 :

Gia s ta co luat suy dien m vi dang la


R = if x is A then y is B, trong o, A va B la hai e xuat m bieu dien toc o ong c an toan va ien ap ong c bnh thng vi quan he m R c xac nh la
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

Cho mot luat suy dien m khac vi dang la if x is A then y is B, trong o, A la e xuat m bieu dien toc o ong c hi cham va B la e xuat m bieu dien ien ap ong c hi cham. Neu biet tap m ngo vao A va quan he m R th tap m ngo ra B co the c xac nh bang phng trnh la B = AR Trong o, ky hieu la toan t hp thanh m. Gia s cho tap m ngo vao A la A = {0.4/20 + 0.7/30 + 1/40 + 0.6/50 + 0.3/60 + 0.1/70}. Khi o, tap m ngo ra B c xac nh vi phep toan hp thanh m max-min la B = AR = {0.4/1 + 0.4/2 + 0.8/3 + 0.8/4 + 0.7/5 + 0.4/6 + 0.4/7}. 4) C s tri thc m : C s tri thc m gom co c s d lieu m va c s luat suy dien m. + C s d lieu m bao gom cac tap m va cac ham lien thuoc cua cac tap m c nh ngha tren cac bien ngon ng vao ra cua he thong.

http://www.khvt.com

Trang 100

Bien soan: Tien s Nguyen Thien Thanh

+ 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

ngo ra cua he thong vi ham lien thuoc la B ( y ) .


i

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

5) Ky thuat suy dien m : Ky thuat suy dien m la phng phap xac nh tap m ngo ra cua he thong. Co hai phng phap phap xac nh tap m ngo ra cua he thong o la ky thuat suy dien m max-min va thuat suy dien m max-product. Cho he thong m gom co so n luat suy dien m, ky thuat suy dien m la lan lt xac nh tap m ngo ra cua tng luat theo th t t luat th nhat en luat th n dung phep toan min hoac product va sau o, tap hp cua tat ca cac tap m ngo ra o chnh la tap m ngo ra cua he thong dung phep toan max. Gia s cho he thong m gom hai luat vi mo hnh luat dang la R1 : If x1 is A11 and x2 is A12 then y is B1 R2 : If x1 is A21 and x2 is A22 then y is B2 Trong o, A11, A12, A21, A22 la cac tap m ngo vao cua he thong vi cac ham lien thuoc la A ( x1 ) , A ( x 2 ) , A ( x1 ) , A ( x 2 ) va B1, B2 la cac tap m ngo ra cua he
11 12 21 22

thong vi cac ham lien la B ( y ) , B ( y ) .


1 2

+ 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

Hoc k 2 nam hoc 2005-2006

Trang 101

Bai giang mon Tr tue nhan tao va he chuyen gia

A ( x1 )
11

A ( x2 )
12

B ( y)
1

A11 Input(x1) x1

A12 Input(x2) x2

B1 y

A ( x1 )
21

A ( x2 )
22

B ( y)
2

A21 Input(x1) x1

A22 Input(x2) x2

B2 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
11 12

trong o, 1 la so o m ve ieu kien cua luat 1 c xac nh la

1 = min{ A (x1 ), A (x2 )}

- Tap m ngo ra B2 cua luat th 2 c xac nh vi ham lien thuoc cua no la

B ( y) = min{ 2 , B ( y)}
' 2 2
21 22

trong o, 2 la so o m ve ieu kien cua luat 2 c xac nh la

2 = min{A (x1 ), A (x2 )}


B

- 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 ( 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

Bien soan: Tien s Nguyen Thien Thanh

A ( x1 )
11

A ( x2 )
12

B ( y)
1

A11 Input(x1) x1

A12 Input(x2) x2

B1 y

A ( x1 )
21

A ( x2 )
22

B ( y)
2

A21 Input(x1) x1

A22 Input(x2) x2

B2 y

Ky thuat suy dien m max-product 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 ) = 1 B ( y )
' 1 1
11

trong o, 1 la so o m ve ieu kien cua luat 1 c xac nh la

1 = min{ A (x1 ), A (x2 )}


12

- Tap m ngo ra B2 cua luat th 2 c xac nh vi ham lien thuoc cua no la

B ( y) = 2 B ( y)
' 2 2
21 22

trong o, 2 la so o m ve ieu kien cua luat 2 c xac nh la

2 = min{A (x1 ), A (x2 )}


B

- 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 ( y) = max B ( y), B ( y)
' ' 1 ' 2

Hoc k 2 nam hoc 2005-2006

Trang 103

Bai giang mon Tr tue nhan tao va he chuyen gia

Chng 7 : Viec Hoc May


7.1) Viec Hoc May La G ? Con ngi co nhieu cach hoc nh hoc ky c, hoc cac s kien nh thong qua s quan sat va tham do, hoc cai thien ky xao thong qua thc tien, hoc nh s phat trien cua he than kinh sinh hoc con ngi va hoc nh gen di truyen t cac the he trc. Du cach hoc nao i chang na, muc tieu cua viec hoc la thu thap tri thc mi va x ly tri thc mi sao cho thch nghi vi tnh huong mi. Giong nh cach hoc cua con ngi, ngi ta muon xay xng cac chng trnh hoc cho may sao cho may co kha nang thu thap tri thc mi va x ly tri thc mi sao cho thch nghi vi tnh huong mi. Giong nh cach hoc cua con ngi, may co cac the loai hoc nh hoc giam sat, hoc cung co va hoc khong giam sat. + Hoc giam sat : hoc giam sat la the loai hoc vi qua trnh hoc co tn hieu hng dan vao ra chnh xac cua thay giao. Vi the loai hoc nay, d lieu hoc vao ra mong muon cua he thong hoc phai c thiet lap trc. Sau qua trnh hoc, he thong se tm ra mot luat thch hp e thc hien tot cong viec d bao ngo ra c ket hp vi ngo vao mi cua he thong. + Hoc cung co : hoc cung co cung la the loai hoc giam sat; tuy nhien tn hieu hng dan cua thay giao la tn hieu cung co. Vi the loai hoc nay, tn hieu hoc cua thay giao la tn hieu thng tng ng vi tn hieu ung hoac phat tng ng vi tn sai tren c s tri thc san co cua he thong cho tap cac mau d lieu hoc vao mong muon. Qua trnh hoc, he thong se tm ra mot luat thch hp e cung co nhng hanh ong ra quyet nh ung cua he thong. + Hoc khong giam sat : con c goi la the loai hoc t hoc, vi the loai hoc nay, qua trnh hoc khong co s tr giup bat ky thong tin hng han nao cua thay giao, he thong t kham pha ra mot luat thch nghi e thc hien tot cong viec ngo ra c ket hp vi ngo vao mi t tap cac mau d lieu hoc ngo vao mong muon. Co ba lnh vc hoc may o la hoc tren c s tri thc, hoc nh mang neuron nhan tao va hoc nh giai thuat hoc di truyen.

http://www.khvt.com

Trang 104

Bien soan: Tien s Nguyen Thien Thanh

7.2) Mo Hnh Hoc May Tren C S Tri Thc : Viec hoc may tren c s tri thc vi mo hnh tong quat cua qua trnh hoc c mo ta bang lu o khoi nh hnh Ngon ng bieu dien Luat hoc Khong gian 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.
Hoc k 2 nam hoc 2005-2006 Trang 105

Bai giang mon Tr tue nhan tao va he chuyen gia

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

Bien soan: Tien s Nguyen Thien Thanh

Giai thuat hoc hng tong quat hoa en ac trng hoa c mo ta la Begin - Cho danh sach G cha mau vi cac thanh phan tong quat nhat o la cac bien so mo ta cac thanh phan cua oi tng. - Cho P la danh sach cha cac mau huan luyen dng. - Cho moi mau huan luyen am n Begin - Cho moi mau gG hp vi n th thay the cac thanh phan tong quat cua g vi cac thanh phan ac trng sao cho khong hp vi n. - Loai bo tat ca cac mau ac trng hn mot vai mau khac trong G. - Loai bo tat ca cac mau khong hp vi vai mau dng p trong P. End; - Cho moi mau dng p Begin - Loai bo tat ca cac mau khong hp vi p trong G. - Cong p vao tap P e giam sat cac mau qua ac trng 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),
Hoc k 2 nam hoc 2005-2006 Trang 107

Bai giang mon Tr tue nhan tao va he chuyen gia

oi_tng(nho, trang, hop_phan), oi_tng(ln, trang, hop_phan), oi_tng(nho, xanh, hop_phan), oi_tng(ln, xanh, 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={}
p = oi_tng(nho, o, qua_bong)

S = {oi_tng(nho, o, qua_bong)}

p = oi_tng(nho, trang, qua_bong)

S = {oi_tng(nho, Y, qua_bong)}

p = oi_tng(ln, xanh, 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)} G = {oi_tng(ln,Y,Z),oi_tng(X, trang, Z),
oi_tng(X,xanh,Z), oi_tng(X,Y,qua_bong), oi_tng(X,Y,hop_phan)} n = oi_tng(nho, o, vien_gach) p = oi_tng(ln, trang,qua_bong)

G = {oi_tng(ln,Y,Z), oi_tng(X, trang, Z), oi_tng(X,Y,qua_bong)} G = {oi_tng(ln,trang,Z), oi_tng(X, trang, Z), oi_tng(X,Y,qua_bong)}

n = oi_tng(ln, xanh, vien_gach)

p = oi_tng(nho, xanh,qua_bong)

G = {oi_tng(X,Y,qua_bong)}

http://www.khvt.com

Trang 108

Bien soan: Tien s Nguyen Thien Thanh

2) Giai thuat hoc quy nap cay quyet nh : Mot loai giai thuat hoc khac o la giai thuat hoc quy nap cay quyet nh. Giai thuat hoc s dung d lieu hoc vi cac mau d lieu thu thap c di dang bang. Bang cha cac mau d lieu thu thap c vi so cot tng ng vi cac thuoc tnh mo ta cac thanh phan cua oi tng va so hang tng ng vi so mau d lieu thu thap c. Muc tieu cua giai thuat hoc la xay dng mot cay quyet nh e phan lp d lieu t d lieu thu thap c nh thong qua thc nghiem. Giai thuat chon mot thuoc tnh bat ky lam goc cua cay e t o phan lp d lieu theo cac nhanh vi cac gia tr tng ng cua thuoc tnh. Thu tuc nay c e quy cho moi cay con cho en khi co mot cay hoan chnh. V du : Cho bang d lieu thu thap c t kinh nghiem mua qua la Cac Nhan To Quyet nh Ket qua Stt Tien Tuoi Qua 1 nhieu ln xe hi 2 nhieu nho may tnh 3 t ln hoa 4 t nho keo Qua trnh hoc mua qua cua giai thuat hoc quy nap cay quyet t bang d lieu c mo ta bang cay nh hnh Tien ?
nhieu t

Tuoi ?
ln nho ln

Tuoi ?
nho

Qua ?

Qua ?

Qua ?

Qua ?

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

xe hi

May tnh

hoa

keo

Bai giang mon Tr tue nhan tao va he chuyen gia

Function induce_tree(Example_set, Properties) Begin If ( Tat ca cac thanh vien trong Example_set la cung lp ) Then ( tao ra nut la anh nhan vi lp o) Elseif ( Properties la danh sach rong) Then ( Tra ve nut la co anh nhan gii t hoac cua tat ca cac lp trong Example_set ) Else begin - Chon mot thuoc tnh P bat ky trong danh sach Properties lam goc cua cay va loai bo thuoc tnh nay khoi danh sach. - Cho moi gia tr V cua thuoc tnh P Begin - Tao ra mot nhanh cua cay co anh nhan V. - at Partition cha tat ca cac mau co gia tr V. - Thu tuc e quy cho moi cay con bang cach goi ham induce_tree(Partition, Properties), noi ket qua vao nhanh V. End; End; End. V du : Cho d lieu thu thap c ve viec cho con n vay von nh bang stt 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Rui Ro cao cao va cao thap thap cao va thap thap cao va thap cao 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

http://www.khvt.com

Trang 110

Bien soan: Tien s Nguyen Thien Thanh

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

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
E (Q ) =

i =1

I (C i )

Hoc k 2 nam hoc 2005-2006

Trang 111

Bai giang mon Tr tue nhan tao va he chuyen gia

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

Bien soan: Tien s Nguyen Thien Thanh

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_a_c(t)

vat_hnh_cau(t)

vat_lam_bang_nha(t)

vat_nhe(t) qua_bong(X)

vat_co_mat_loi(t)

vat_co_mat_tron(t)

vat_a_c(X)

vat_hnh_cau(X)

vat_lam_bang_nha(X)

vat_nhe(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

Bai giang mon Tr tue nhan tao va he chuyen gia

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

Bien soan: Tien s Nguyen Thien Thanh

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

Bai giang mon Tr tue nhan tao va he chuyen gia

+ n v x ly : Mot mang neuron nhan tao co nhieu lp o la lp vao, cac lp an va lp ra. Lp vao cha cac neuron c xem nh ni cha cac tn hieu vao. Cac lp an cha cac neuron c xem nh cac n v x ly. Lp ra cha cac neuron c xem nh cac n v x ly ra quyet nh. Ket hp vi moi n v x ly co ham tong hp va ham kch hoat. Ham tong hp co chc nang tong hp tat ca cac thong tin t cac ngo vao cua n v va ham kch hoat co chc nang tao tn hieu ra cua n v khi nhan c tn hieu vao t ham tong hp. - Ham tong hp dang tuyen tnh cua moi n v x ly th i c thiet lap la

f i = Wij x j i
j =1

trong o, Wij la trong so ket noi gia n v j va n v i, xj la ngo ra cua n v j o chnh la ngo vao cua n v i va i la n v ngng cua n v x ly i. - Ham kch hoat tao tn hieu ra cua n v x ly th i c thiet lap mot trong cac dang la * Ham bac thang n v : * Ham unipolar sigmoid : * Ham hyperbolic tangent :

1 if fi 0 a( fi ) = 0 if fi 0 1 a( fi ) = 1 + 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.

e fi e fi a( f i ) = f i e + e fi

http://www.khvt.com

Trang 116

Bien soan: Tien s Nguyen Thien Thanh

- 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 ) =
Cho i = 1 en n

V
j =1 l

qj

(k ) x j (k )

z q ( k ) = a ( net q ( k )).
net i ( k ) =

W
q =1

iq

(k ) zq (k )

Hoc k 2 nam hoc 2005-2006

Trang 117

Bai giang mon Tr tue nhan tao va he chuyen gia

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 Cho q = 1 en l

Wiq (k + 1) = Wiq (k ) + i (k ) zq (k ) .
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.

http://www.khvt.com

Trang 118

You might also like