Các tr ng phái trí tu nhân t o Trí tu nhân t o TTNT chia thành hai tr ng phái t duy: TTNT truy n th ng và Trí tu tính toán... Ông còn sáng ch ngôn ng l p trình Lisp.. Alan Turing a ra "
Trang 1BÀI 1:
T NG QUAN TRÍ TU NHÂN T O
(3 ti t)
1 Gi i thi u chung
Trí tu nhân t o hay trí thông minh nhân t o (Artificial Intelligence hay machine
intelligence - AI) là trí tu c bi u di n b i b t c m t h th ng nhân t o nào Thu t
ng này th ng dùng nói n các máy tính có m c ích không nh t nh và ngành khoa h c nghiên c u v các lý thuy t và ng d ng c a trí tu nhân t o.Tuy r ng trí thông minh nhân t o có ngh a r ng nh là trí thông minh trong khoa h c vi n t ng, nó là m t trong nh ng ngành tr ng y u c a tin h c Trí thông minh nhân t o liên quan n cách c
x , s h c h i và kh n ng thích ng thông minh c a máy móc Các ví d ng d ng bao
g m các tác v i u khi n, l p k ho ch và l p l ch (scheduling), kh n ng tr l i các câu
h i v ch!n oán b nh, tr l i khách hàng v các s n ph!m c a m t công ty, nh n d ng
ch vi t tay, nh n d ng ti ng nói và khuôn m"t B i v y, trí thông minh nhân t o ã tr thành m t môn h c, v#i m c ích chính là cung c p l i gi i cho các v n c a cu c s ng
th c t Ngày nay, các h th ng nhân t o c dùng th ng xuyên trong kinh t , y d c, các ngành k$ thu t và quân s , c%ng nh trong các ph&n m m máy tính thông d ng trong gia ình và trò ch'i i n t
Các tr ng phái trí tu nhân t o
Trí tu nhân t o (TTNT) chia thành hai tr ng phái t duy: TTNT truy n
th ng và Trí tu tính toán
TTNT truy n th ng h&u nh bao g m các ph 'ng pháp hi n c phân lo i là các
ph 'ng pháp h c máy (machine learning), "c tr ng b i hình th c hóa (formalism) và
phân tích th ng kê Nó còn c bi t v#i các tên TTNT bi u t ng, TTNT logic, TTNT
ng n n(p (neat AI) và TTNT c) i n (Good Old Fashioned Artificial Intelligence) Các
Trang 2Trí tu tính toán nghiên c u vi c h c ho"c phát tri n l"p (ví d : tinh ch+nh tham s trong h th ng, ch,ng h n h th ng connectionist) Vi c h c d a trên d li u kinh
nghi m và có quan h v#i Trí tu nhân t o phi ký hi u, TTNT l n x n (scruffy AI) và tính toán m m (soft computing) Các ph 'ng pháp chính g m có:
• M ng neuron: các h th ng m nh v nh n d ng m-u (pattern recognition)
• H m (Fuzzy system): các k$ thu t suy lu n không ch(c ch(n, ã c s
d ng r ng rãi trong các h th ng công nghi p hi n i và các h th ng qu n lý
s n ph!m tiêu dùng
• Tính toán ti n hóa (Evolutionary computation): ng d ng các khái ni m sinh
h c nh qu&n th , bi n d và u tranh sinh t n sinh các l i gi i ngày càng
t t h'n cho bài toán Các ph 'ng pháp này th ng c chia thành các thu t toán ti n hóa (ví d thu t toán gien) và trí tu b&y àn (swarm intelligence) (ch,ng h n h ki n)
• TTNT d a hành vi (Behavior based AI): m t ph 'ng pháp mô- un xây
d ng các h th ng TTNT b ng tay
Ng i ta ã nghiên c u các h th ng thông minh lai (hybrid intelligent system),
trong ó k t h p hai tr ng phái này Các lu t suy di n c a h chuyên gia có th c
sinh b i m ng n'-ron ho"c các lu t d-n xu t (production rule) t vi c h c theo th ng kê
nh trong ki n trúc ACT-R
Các ph 'ng pháp trí tu nhân t o th ng c dùng trong các công trình nghiên
c u khoa h c nh n th c (cognitive science), m t ngành c g(ng t o ra mô hình nh n th c
c a con ng i (vi c này khác v#i các nghiên c u TTNT, vì TTNT ch+ mu n t o ra máy móc th c d ng, không ph i t o ra mô hình v ho t ng c a b óc con ng i)
L ch s trí tu nhân t o
/&u th k0 17, René Descartes ã a ra quan i m r ng c' th c a ng v t ch+ là các c1 máy tinh x o N m 1642, Blaise Pascal ch t o chi c máy tính c' h c &u tiên Charles Babbage và Ada Lovelace ã nghiên c u v các máy tính c' h c có kh n ng l p trình c
Bertrand Russell và Alfred North Whitehead ã xu t b n cu n Principia Mathematica, trong ó logic hình th c ã c cách m ng hóa Warren McCulloch và Walter Pitts xu t b n A Logical Calculus of the Ideas Immanent in Nervous Activity n m
1943 "t n n móng cho m ng n'-ron
Th p niên 1950 là th i k2 c a nhi u ho t ng trong l nh v c TTNT John McCarthy thi t l p thu t ng "artificial intelligence" trong h i th o &u tiên dành cho ch
Trang 3này Ông còn sáng ch ngôn ng l p trình Lisp Alan Turing a ra "Turing test" nh
là m t ph 'ng pháp ki m ch ng hành vi thông minh Joseph Weizenbaum xây d ng ELIZA, m t chatterbot cài "t li u pháp tâm lý Rogerian
Trong các th p niên 1960 và 1970, Joel Moses bi u di n s c m nh c a suy di n ký
hi u trong vi c tích h p các bài toán trong ch 'ng trình Macsyma, ch 'ng trình toán h c
s d ng c' s tri th c &u tiên thành công Marvin Minsky và Seymour Papert xu t b n
Perceptrons, trong ó ch ng minh các gi#i h n c a các m ng n'-ron 'n gi n, và Alain Colmerauer phát tri n ngôn ng l p trình Prolog Ted Shortliffe bi n di n s c m nh c a các h th ng s d ng lu t bi u di n tri th c và suy di n trong các ch!n oán và li u pháp y h c trong m t ch 'ng trình mà i khi c g i là h chuyên gia &u tiên Hans Moravec phát tri n chi c xe &u tiên c máy tính i u khi n t ng v t ch #ng ng i
v t
Th p niên 1980, m ng n'-ron c s d ng r ng rãi v#i thu t toán truy n ng c
(backpropagation), thu t toán này ã c mô t &u tiên b i Paul John Werbos vào n m 1974
Th p niên 1990 ánh d u các thành t u chính trong nhi u l nh v c c a TTNT và c th hi n trong nhi u ng d ng a d ng N)i ti ng nh t là Deep Blue, m t máy tính ch'i c vua ã th(ng Garry Kasparov trong m t tr n u 6 ván n)i ti ng n m 1997 DARPA tuyên b r ng chi phí ti t
ki m c do cài "t các ph 'ng pháp TTNT cho vi c l p l ch cho các 'n v trong Chi n tranh vùng V nh l&n th nh t ã bù l i c toàn b &u t c a chính ph M$ cho nghiên c u TTNT
• Game Playing: Tìm ki m / Heuristic
• Automatic reasoning & Theorem proving: Tìm ki m / Heuristic
Trang 4• Expert System: là h #ng phát tri n m nh m3 nh t và có giá tr ng d ng cao
nh t
• Planning & Robotic: các h th ng d báo, t ng hóa
• Machine learning: Trang b kh n ng h c t p gi i quy t v n kho tri
th c:
Supervised : Ki m soát c tri th c h c c Không tìm ra cái m#i UnSupervised:T h c, không ki m soát Có th t o ra tri th c m#i nh ng c%ng nguy hi m vì có th h c nh ng i u không mong mu n
• Natural Language Understanding & Semantic modelling: Không c phát tri n m nh do m c ph c t p c a bài toán c v tri th c & kh n ng suy
Trang 5BÀI 2
THU4T TOÁN - THU4T GI5I
(3 ti t LT + 3 ti t TH)
1 Khái ni m thu t toán – thu t gi i
Trong quá trình nghiên c u gi i quy t các v n – bài toán, ng i ta ã a ra nh ng
T nh ng nh n nh trên, ng i ta th y r ng c&n ph i có nh ng )i m#i cho khái
ni m thu t toán Ng i ta ã m r ng hai tiêu chu!n c a thu t toán: tính xác nh và tính úng (n Vi c m r ng tính xác nh i v#i thu t toán ã c th hi n qua các gi i thu t quy và ng-u nhiên Tính úng c a thu t toán bây gi không còn b(t bu c i v#i
m t s cách gi i bài toán, nh t là các cách gi i g&n úng Trong th c ti n có nhi u tr ng
h p ng i ta ch p nh n các cách gi i th ng cho k t qu t t (nh ng không ph i lúc nào c%ng t t) nh ng ít ph c t p và hi u qu Ch,ng h n n u gi i m t bài toán b ng thu t toán
t i u òi h i máy tính th c hiên nhi u n m thì chúng ta có th s6n lòng ch p nh n m t
gi i pháp g&n t i u mà ch+ c&n máy tính ch y trong vài ngày ho"c vài gi
Các cách gi i ch p nh n c nh ng không hoàn toàn áp ng &y các tiêu chu!n c a thu t toán th ng c g i là các thu t gi i Khái ni m m r ng này c a thu t toán ã m c a cho chúng ta trong vi c tìm ki m ph 'ng pháp gi i quy t các bài toán
c "t ra
M t trong nh ng thu t gi i th ng c c p n và s d ng trong khoa h c trí
tu nhân t o là các cách gi i theo ki u Heuristic
Trang 6Cho tr c hai tr ng thái T 0 và T G hãy xây d ng chu i tr ng thái T 0 , T 1 , T 2 , , T n-1 ,
T n = T G sao cho :
th a mãn m t i u ki n cho tr c (th ng là nh nh t)
Trong ó, Ti thu c t p h p S (g i là không gian tr ng thái – state space) bao g m t t
c các tr ng thái có th có c a bài toán và cost(Ti-1, Ti) là chi phí bi n )i t tr ng thái
Ti-1 sang tr ng thái Ti D nhiên, t m t tr ng thái Ti ta có nhi u cách bi n )i sang
tr ng thái Ti+1 Khi nói n m t bi n )i c th t Ti-1 sang Ti ta s3 dùng thu t ng h #ng
i (v#i ng ý nói v s l a ch n)
Mô hình chung c a các v n -bài toán ph i gi i quy t b ng ph ng pháp tìm ki m l i gi i Không gian tìm ki m là m t t p h p tr ng thái - t p các nút c a th Chi phí c n thi t chuy n t
tr ng thái T này sang tr ng thái T k c bi u di n d i d ng các con s n m trên cung n i gi a hai nút
t ng tr ng cho hai tr ng thái.
/a s các bài toán thu c d ng mà chúng ta ang mô t u có th c bi u di n
d #i d ng th Trong ó, m t tr ng thái là m t +nh c a th T p h p S bao g m t t
c các tr ng thái chính là t p h p bao g m t t c +nh c a th Vi c bi n )i t tr ng thái Ti-1 sang tr ng thái Ti là vi c i t +nh i di n cho Ti-1 sang +nh i di n cho Titheo cung n i gi a hai +nh này
3 Tìm ki m chi u sâu và tìm ki m chi u r ng
a) Tìm ki m chi u sâu (Depth First Search)
Trong tìm ki m theo chi u sâu, t i tr ng thái ( +nh) hi n hành, ta ch n m t tr ng thái k ti p (trong t p các tr ng thái có th bi n )i thành t tr ng thái hi n t i) làm tr ng thái hi n hành cho n lúc tr ng thái hi n hành là tr ng thái ích Trong tr ng h p t i
tr ng thái hi n hành, ta không th bi n )i thành tr ng thái k ti p thì ta s3 quay lui
Trang 7(back-tracking) l i tr ng thái tr #c tr ng thái hi n hành (tr ng thái bi n )i thành tr ng thái hi n hành) ch n ng khác N u tr ng thái tr #c này mà c%ng không th bi n )i c n a thì ta quay lui l i tr ng thái tr #c n a và c th N u ã quay lui n tr ng thái kh i &u mà v-n th t b i thì k t lu n là không có l i gi i Hình nh sau minh h a
ho t ng c a tìm ki m theo chi u sâu
Hình nh c a tìm ki m chi u sâu Nó ch l u ý "m r ng" tr ng thái c ch n mà không "m
r ng" các tr ng thái khác (nút màu tr!ng trong hình v").
b) Tìm ki m chi u r ng (Breath First Search)
Ng c l i v#i tìm ki m theo ki u chi u sâu, tìm ki m chi u r ng mang hình nh c a
v t d&u loang T tr ng thái ban &u, ta xây d ng t p h p S bao g m các tr ng thái k
ti p (mà t tr ng thái ban &u có th bi n )i thành) Sau ó, ng v#i m1i tr ng thái Tk trong t p S, ta xây d ng t p Sk bao g m các tr ng thái k ti p c a Tk r i l&n l t b) sung các Sk vào S Quá trình này c l"p l i cho n lúc S có ch a tr ng thái k t thúc ho"c S không thay )i sau khi ã b) sung t t c Sk
Trang 8Hình nh c a tìm ki m chi u r ng T i m t b c, m i tr ng thái u c m r ng, không b sót
ph 'ng án ch n h #ng i
Ph 'ng án càng kém hi u
qu thì hi u qu c a chi n
l c càng gi m Thu n l i khi mu n tìm ch+ m t l i
gi i
Hi u qu khi l i gi i
n m g&n g c c a cây tìm ki m Hi u qu
c a chi n l c ph thu c vào sâu c a
Trang 9Tìm ki m chi u sâu và tìm ki m chi u r ng u là các ph 'ng pháp tìm ki m có h
th ng và ch(c ch(n tìm ra l i gi i Tuy nhiên, do b n ch t là vét c n nên v#i nh ng bài toán có không gian l#n thì ta không th dùng hai chi n l c này c H'n n a, hai chi n
l c này u có tính ch t "mù quáng" vì chúng không chú ý n nh ng thông tin (tri
th c) tr ng thái hi n th i và thông tin v ích c&n t t#i cùng m i quan h gi a chúng Các tri th c này vô cùng quan tr ng và r t có ý ngh a thi t k các thu t gi i hi u qu h'n mà ta s(p s a bàn n
Trang 10Heuristic có th là nh ng tri th c “ úng” hay “sai”
Heuristic là nh ng meta knowledge và “th ng úng”
Trong nh ng bài toán tìm ki m trên không gian tr ng thái, có 2 tr ng h p c&n n heuristic:
V n có th không có nghi m chính xác do các m nh không phát bi u ch"t ch3 hay thi u d li u kh,ng nh k t qu
V n có nghi m chính xác nh ng phí t)n tính toán tìm ra nghi m là quá l#n (h qu c a bùng n1 t) h p)
Heuristic giúp tìm ki m t k t qu v#i chi phí th p h'n
Heuristic nh h #ng quá trình tìm ki m theo h #ng mà “nó” cho r ng kh n ng t t#i nghi m là cao nh t Không “sâu” c%ng không “r ng”
Không có chu!n m c cho vi c ánh giá m t hàm l ng giá Heuristic vì:
Không có c u trúc chung cho hàm l ng giá
Tính úng/sai thay )i liên t c theo t.ng v n c th
Tính úng/sai thay )i theo t.ng tình hu ng c th trong m t v n
Trang 11Có th dùng nhi u hàm l ng giá khác nhau theo tình hu ng c n hàm l ng giá v các hàm l ng giá
2 Tìm ki m leo i
Tìm ki m leo i nói chung th c ch t ch+ là m t tr ng h p "c bi t c a tìm ki m theo chi u sâu nh ng không th quay lui Trong tìm ki m leo i, vi c l a ch n tr ng thái
ti p theo c quy t nh d a trên m t hàm Heuristic
Quy #c g i hàm Heuristic là h, luôn không âm
Chi phí c l ng h’ = 6 và chi phí t i u th c s h = 4+5 = 9 ( i theo ng 1-3-7)
T t ng
1) N u tr ng thái b(t &u c%ng là tr ng thái ích thì thoát và báo là ã tìm c
l i gi i Ng c l i, "t tr ng thái hi n hành (Ti) là tr ng thái kh i &u (T0) 2) L"p l i cho n khi t n tr ng thái k t thúc ho"c cho n khi không t n t i
m t tr ng thái ti p theo h p l (Tk) c a tr ng thái hi n hành :
a) /"t Tk là m t tr ng thái ti p theo h p l c a tr ng thái hi n hành Ti b) /ánh giá tr ng thái Tk m#i :
b.1 N u là tr ng thái k t thúc thì tr v tr này và thoát
b.2 N u không ph i là tr ng thái k t thúc nh ng t t h'n tr ng thái hi n hành thì c p nh t nó thành tr ng thái hi n hành
Trang 12Better:=FALSE;
WHILE (Better=FALSE) AND (STOP=FALSE) DO BEGIN
IF <không t n t i tr ng thái k ti p h p l c a Ti> THEN
nh t gi a hai i m N u dùng hàm h’ là hàm cho ra kho ng cách theo ng chim bay
gi a v trí hi n t i (tr ng thái hi n t i) và ích n (tr ng thái ích) thì t t h'n ngh a là
nh h'n
M t tr ng thái k ti p h p l là tr ng thái ch a c xét n Gi s h c a tr ng thái
hi n t i Ti có giá tr là h(Ti) = 1.23 và t Ti ta có th bi n )i sang m t trong 3 tr ng thái
k ti p l&n l t là Tk1, Tk2, Tk3 v#i giá tr các hàm h t 'ng ng là h(Tk1) = 1.67, h(Tk2)
= 2.52, h’(Tk3) = 1.04 /&u tiên, Tk s3 c gán b ng Tk1, nh ng vì h’(Tk) = h’(Tk1) > h’(Ti) nên Tk không c ch n K ti p là Tk s3 c gán b ng Tk2 và c%ng không c
ch n Cu i cùng thì Tk3 c ch n Nh ng gi s h’(Tk3) = 1.3 thì c Tk3 c%ng không
c ch n và m nh <không th sinh ra tr ng thái k ti p c a Ti> s3 có giá tr TRUE.
3 Tìm ki m leo i d c ng
V c' b n, leo i d c ng c%ng gi ng nh leo i, ch+ khác i m là leo i d c
ng s3 duy t t t c các h #ng i có th và ch n i theo tr ng thái t t nh t trong s các
tr ng thái k ti p có th có (trong khi ó leo i ch+ ch n i theo tr ng thái k ti p &u
tiên t t h n tr ng thái hi n hành mà nó tìm th y)
T t ng
1) N u tr ng thái b(t &u c%ng là tr ng thái ích thì thoát và báo là ã tìm c
l i gi i Ng c l i, "t tr ng thái hi n hành (Ti) là tr ng thái kh i &u (T0)
Trang 132) L"p l i cho n khi t n tr ng thái k t thúc ho"c cho n khi (Ti) không
t n t i m t tr ng thái k ti p (Tk) nào t t h'n tr ng thái hi n t i (Ti)
Trang 14So v#i leo i 'n gi n, leo i d c ng có u i m là luôn luôn ch n h #ng có tri n v ng nh t i Li u
i u này có m b o leo i d c ng luôn t t h'n leo i 'n gi n không? Câu tr l i là không Leo i d c ng ch+ t t h'n leo i 'n gi n trong m t s tr ng h p mà thôi / ch n ra c h #ng i t t nh t, leo i d c ng
ph i duy t qua t t c các h #ng i có th có t i tr ng thái hi n hành Trong khi ó, leo i 'n gi n ch+ ch n i theo
tr ng thái u tiên t t h'n (so v#i tr ng thái hi n hành) mà nó tìm ra c Do ó, th i gian c&n thi t leo i d c
ng ch n c m t h #ng i s3 l#n h'n so v#i leo i 'n gi n Tuy v y, do lúc nào c%ng ch n h #ng i t t nh t nên leo i d c ng th ng s3 tìm n l i gi i sau m t s b #c ít h'n so v#i leo i 'n gi n Nói m t cách ng(n
g n, leo i d c ng s3 t n nhi u th i gian h'n cho m t b #c nh ng l i i ít b #c h'n; còn leo i 'n gi n t n ít
th i gian h'n cho m t b #c i nh ng l i ph i i nhi u b #c h'n /ây chính là y u t c và m t gi a hai thu t gi i nên ta ph i cân nh(c k$ l 7ng khi l a ch n thu t gi i
C hai ph 'ng pháp leo núi 'n gi n và leo núi d c ng u có kh n ng th t b i trong vi c tìm l i gi i c a bài toán m"c dù l i gi i ó th c s hi n h u C hai gi i thu t u có th k t thúc khi t c m t tr ng thái mà không còn tr ng thái nào t t h'n n a có th phát sinh nh ng tr ng thái này không ph i là tr ng thái ích /i u này s3 x y ra n u ch 'ng trình t n m t i m c c i a ph 'ng, m t o n 'n i u ngang
#i m c c i a ph ng (a local maximum) : là m t tr ng thái t t h'n t t c lân c n c a nó nh ng không
t t h'n m t s tr ng thái khác xa h'n Ngh a là t i m t i m c c i a ph 'ng, m i tr ng thái trong m t lân c n c a tr ng thái hi n t i u x u h n tr ng thái hi n t i Tuy có dáng v8 c a l i gi i nh ng các c c
i a ph 'ng không ph i là l i gi i th c s Trong tr ng h p này, chúng c g i là nh ng ng n i
th p
#o n n i u ngang (a plateau) : là m t vùng b ng ph,ng c a không gian tìm ki m, trong ó, toàn b các
tr ng thái lân c n u có cùng giá tr
Các tình hu ng khó kh$n cho tìm ki m leo èo
/ i phó v#i các các i m này, ng i ta ã a ra m t s gi i pháp Ta s3 tìm hi u 2 trong s các gi i pháp này Nh ng gi i này, không th c s gi i quy t tr n v*n v n mà ch+ là m t ph 'ng án c u nguy t m th i mà thôi
Ph 'ng án &u tiên là k t h p leo i và quay lui Ta s3 quay lui l i các tr ng thái tr #c ó và th i theo h #ng khác Thao tác này h p lý n u t i các tr ng thái tr #c ó có m t h #ng i t t mà ta ã b qua tr #c ó /ây là m t cách khá hay i phó v#i các i m c c i a ph 'ng Tuy nhiên, do "c i m c a leo i là "b #c sau cao h'n
b #c tr #c" nên ph 'ng án này s3 th t b i khi ta xu t phát t m t i m quá cao ho"c xu t phát t m t +nh i mà
n c l i gi i c&n ph i i qua m t "thung l%ng" th t sâu nh trong hình sau
Trang 15M t tr ng h p th t b i c a leo èo k t h p quay lui
Cách th hai là th c hi n m t b #c nh y v t theo h #ng nào ó th n m t vùng m#i c a không gian tìm
ki m Nôm na là "b #c" liên t c nhi u "b #c" (ch,ng h n 5,7,10, …) mà t m th i "quên" i vi c ki m tra "b #c sau cao h'n b #c tr #c" Ti p c n có v8 hi u qu khi ta g"p ph i m t o n 'n i u ngang Tuy nhiên, nh y v t c%ng
có ngh a là ta ã b qua c' h i ti n n l i gi i th c s Trong tr ng h p chúng ta ang ng khá g&n l i gi i,
vi c nh y v t s3 a chúng ta sang m t v trí hoàn toàn xa l , mà t ó, có th s3 d-n chúng ta n m t r(c r i ki u khác H'n n a, s b #c nh y là bao nhiêu và nh y theo h #ng nào là m t v n ph thu c r t nhi u vào "c i m không gian tìm ki m c a bài toán
M t tr ng h p khó kh$n cho ph ng án "nh y v t"
Leo núi là m t ph 'ng pháp c c b b i vì nó quy t nh s3 làm gì ti p theo d a vào m t ánh giá v tr ng
thái hi n t i và các tr ng thái k ti p có th có (t t h n tr ng thái hi n t i, tr ng thái t t nh t t t h'n tr ng thái hi n
t i) thay vì ph i xem xét m t cách toàn di n trên t t c các tr ng thái ã i qua Thu n l i c a leo núi là ít g"p s bùng n) t) h p h'n so v#i các ph 'ng pháp toàn c c Nh ng nó c%ng gi ng nh các ph 'ng pháp c c b khác ch1 là không ch(c ch(n tìm ra l i gi i trong tr ng h p x u nh t.
4 Thu t gi i u tiên t i u (BFS)
9u i m c a tìm ki m theo chi u sâu là không ph i quan tâm n s m r ng c a
t t c các nhánh 9u i m c a tìm ki m chi u r ng là không b sa vào các ng d-n b t(c (các nhánh c t) Tìm ki m u tiên t i u s3 k t h p 2 ph 'ng pháp trên cho phép ta i theo m t con ng duy nh t t i m t th i i m, nh ng ng th i v-n "quan sát" c
Trang 16nh ng h #ng khác N u con ng ang i "có v8" không tri n v ng b ng nh ng con
ng ta ang "quan sát" ta s3 chuy n sang i theo m t trong s các con ng này
M t cách c th , t i m1i b #c c a tìm ki m BFS, ta ch n i theo tr ng thái có kh
n ng cao nh t trong s các tr ng thái ã c xét cho n th i i m ó (khác v#i leo i
d c ng là ch+ ch n tr ng thái có kh n ng cao nh t trong s các tr ng thái k ti p có th
n c t tr ng thái hi n t i) Nh v y, v#i ti p c n này, ta s3 u tiên i vào nh ng nhánh tìm ki m có kh n ng nh t (gi ng tìm ki m leo i d c ng), nh ng ta s3 không
b l!n qu!n trong các nhánh này vì n u càng i sâu vào m t h #ng mà ta phát hi n ra
r ng h #ng này càng i thì càng t , n m c nó x u h'n c nh ng h #ng mà ta ch a i, thì ta s3 không i ti p h #ng hi n t i n a mà ch n i theo m t h #ng t t nh t trong s
nh ng h #ng ch a i /ó là t t ng ch o c a tìm ki m BFS
Ví d :
Kh i &u, ch+ có m t nút (tr ng thái) A nên nó s3 c m r ng t o ra 3 nút m#i B,C và D Các con s d #i nút là giá tr cho bi t t t c a nút Con s càng nh , nút càng t t Do D là nút có kh n ng
nh t nên nó s3 c m r ng ti p sau nút A và sinh ra 2 nút k ti p là E và F / n ây, ta l i th y nút B
có v8 có kh n ng nh t (trong các nút B,C,E,F) nên ta s3 ch n m r ng nút B và t o ra 2 nút G và H
Nh ng l i m t l&n n a, hai nút G, H này c ánh giá ít kh n ng h'n E, vì th s chú ý l i tr v E E
c m r ng và các nút c sinh ra t E là I và J : b #c k ti p, J s3 c m r ng vì nó có kh n ng
nh t Quá trình này ti p t c cho n khi tìm th y m t l i gi i
/ cài "t các thu t gi i theo ki u tìm ki m BFS, ng i ta th ng c&n dùng 2 t p
h p sau :
Trang 17OPEN : t p ch a các tr ng thái ã c sinh ra nh ng ch a c xét n (vì ta ã
ch n m t tr ng thái khác) Th c ra, OPEN là m t lo i hàng i u tiên (priority queue)
mà trong ó, ph&n t có u tiên cao nh t là ph&n t t t nh t Ng i ta th ng cài "t hàng i u tiên b ng Heap Các b n có th tham kh o thêm trong các tài li u v C u trúc d li u v lo i d li u này
CLOSE : t p ch a các tr ng thái ã c xét n Chúng ta c&n l u tr nh ng tr ng thái này trong b nh# phòng tr ng h p khi m t tr ng thái m#i c t o ra l i trùng v#i m t tr ng thái mà ta ã xét n tr #c ó Trong tr ng h p không gian tìm
ki m có d ng cây thì không c&n dùng t p này
Thu t gi i BEST-FIRST SEARCH
1 /"t OPEN ch a tr ng thái kh i &u
2 Cho n khi tìm c tr ng thái ích ho"c không còn nút nào trong OPEN, th c
hi n :
2.a Ch n tr ng thái t t nh t (Tmax ) trong OPEN (và xóa T max kh i OPEN)
2.b N u Tmax là tr ng thái k t thúc thì thoát
2.c Ng c l i, t o ra các tr ng thái k ti p Tk có th có t tr ng thái T max
/ i v#i m1i tr ng thái k ti p T k th c hi n :
Tính f(T k ); Thêm Tk vào OPEN
Trên th c t , c%ng nh tìm ki m chi u sâu và chi u r ng, hi m khi dùng BFS m t cách tr c ti p Thông th ng, ng i ta th ng dùng các phiên b n c a BFS là AT, AKT và
A*
5 Thu t gi i A T
Thu t gi i ATlà m t ph 'ng pháp tìm ki m theo ki u BFS v#i t t c a nút là giá
tr hàm g – t)ng chi u dài con ng ã i t tr ng thái b(t &u n tr ng thái hi n t i
T t ng
1 /"t OPEN ch a tr ng thái kh i &u
2 Cho n khi tìm c tr ng thái ích ho"c không còn nút nào trong OPEN, th c
hi n :
2.a Ch n tr ng thái (Tmax ) có giá tr g nh nh t trong OPEN (và xóa Tmax
kh i OPEN)
2.b N u Tmax là tr ng thái k t thúc thì thoát
2.c Ng c l i, t o ra các tr ng thái k ti p Tk có th có t tr ng thái T max
/ i v#i m1i tr ng thái k ti p T k th c hi n :
g(T k ) = g(T max ) + cost(T max , T k ); Thêm Tk vào OPEN
Trang 18Chú ý: Vì ch s% d&ng hàm g (mà không dùng hàm c l ng h’) ánh giá t t c a
m t tr ng thái nên ta c'ng có th xem AT ch là m t thu t toán
6 Thu t gi i A KT (Algorithm for Knowlegeable Tree Search)
Thu t gi i AKT m r ng AT b ng cách s d ng thêm thông tin #c l ng h’ / t t
c a m t tr ng thái f là t)ng c a hai hàm g và h’
Thu t gi i AKT
1 /"t OPEN ch a tr ng thái kh i &u
2 Cho n khi tìm c tr ng thái ích ho"c không còn nút nào trong OPEN, th c
hi n :
2.a Ch n tr ng thái (Tmax ) có giá tr f nh nh t trong OPEN (và xóa Tmax
kh i OPEN)
2.b N u Tmax là tr ng thái k t thúc thì thoát
2.c Ng c l i, t o ra các tr ng thái k ti p Tk có th có t tr ng thái T max
/ i v#i m1i tr ng thái k ti p T k th c hi n :
g(T k ) = g(T max ) + cost(T max , T k );
Tính h’(T k ) f(T k ) = g(T k ) + h’(T k );
Thêm T k vào OPEN
7 Thu t gi i A*
A* là m t phiên b n "c bi t c a AKT áp d ng cho tr ng h p th Thu t gi i A*
có s d ng thêm t p h p CLOSE l u tr nh ng tr ng h p ã c xét n A* m
r ng AKT b ng cách b) sung cách gi i quy t tr ng h p khi "m " m t nút mà nút này ã
có s6n trong OPEN ho"c CLOSE Khi xét n m t tr ng thái Ti bên c nh vi c l u tr 3 giá tr c' b n g, h’, f’ ph n ánh t t c a tr ng thái ó, A* còn l u tr thêm hai thông
s sau :
Tr ng thái cha c a tr ng thái T i (ký hi u là Cha(T i ) : cho bi t tr ng thái d-n n
tr ng thái Ti Trong tr ng h p có nhi u tr ng thái d-n n Tithì ch n Cha(Ti) sao cho chi phí i t tr ng thái kh i &u n Ti là th p nh t, ngh a là :
g(Ti) = g(Tcha) + cost(Tcha, Ti) là th p nh t
Danh sách các tr ng thái k ti p c a T i : danh sách này l u tr các tr ng thái k
ti p Tk c a Ti sao cho chi phí n Tk thông qua Ti t tr ng thái ban &u là th p
nh t Th c ch t thì danh sách này có th c tính ra t thu c tính Cha c a các
tr ng thái c l u tr Tuy nhiên, vi c tính toán này có th m t nhi u th i gian
Trang 19(khi t p OPEN, CLOSE c m r ng) nên ng i ta th ng l u tr ra m t danh sách riêng.
Thu t gi i A*
1 /"t OPEN ch+ ch a T0 /"t g(T 0 ) = 0, h’(T 0 ) = 0 và f’(T 0 ) = 0
/" t CLOSE là t p h p r1ng
2 L"p l i các b #c sau cho n khi g"p i u ki n d.ng
2.a N u OPEN r1ng : bài toán vô nghi m, thoát
2.b Ng c l i, ch n Tmax trong OPEN sao cho f’(T max ) là nh nh t
2.b.1 L y Tmax ra kh i OPEN và a Tmax vào CLOSE
2.b.2 N u Tmax chính là TG thì thoát và thông báo l i gi i là T max
2.b.3 N u Tmax không ph i là T g T o ra danh sách t t c các tr ng
thái k ti p c a T max G i m t tr ng thái này là T k V#i m1i T k , làm các b #c sau :
2.b.3.1 Tính g(Tk ) = g(T max ) + cost(T max , T k )
2.b.3.2 N u t n t i Tk’ trong OPEN trùng v#i T k
N u g(T k ) < g(T k’) thì
/" t g(T k’) = g(T k ) Tính l i f’(T k’)
/" t Cha(T k’) = T max
2.b.3.3 N u t n t i Tk’ trong CLOSE trùng v#i T k
N u g(T k ) < g(T k’) thì
/" t g(T k’) = g(T k ) Tính l i f’(T k’)
/" t Cha(T k’) = T max
Lan truy n s thay )i giá tr g, f’ cho t t
c các tr ng thái k ti p c a T i ( t t c các
c p) ã c l u tr trong CLOSE và OPEN
2.b.3.4 N u Tk ch a xu t hi n trong c OPEN l-n CLOSE thì :
Thêm T k vào OPEN Tính : f' (T k ) = g(T k )+h’(T k )
L u ý:
Sau khi ã tìm th y tr ng thái ích T g , xây d ng l i c "con ng" t T 0 n T g ch+ c&n l&n ng c theo thu c tính Cha c a các tr ng thái ã c l u tr trong CLOSE cho n khi t n T 0 /ó chính là "con ng" t i u i t T g n T 0 (hay nói cách khác là t T 0
n T g )
Trang 20Thao tác c p nh t l i g(T k’) , f’(T k’) và Cha(T k’) trong b #c 2.b.3.2 và 2.b.3.3 Các thao tác này th hi n t t ng : "luôn ch n con ng t i u nh t" C th , giá tr g(T k’) nh m l u
tr chi phí t i u th c s tính t T 0 n T k’ Do ó, n u chúng ta phát hi n th y m t "con ng" khác t t h'n thông qua T k (có chi phí nh h'n) con ng hi n t i c l u tr thì
ta ph i ch n "con ng" m#i t t h'n này Tr ng h p 2.b.3.3 ph c t p h'n Vì t T k’ n m trong t p CLOSE nên t T k’ ta ã l u tr các tr ng thái con k ti p xu t phát t T k’ Nh ng g(T k’) thay )i d-n n giá tr g c a các tr ng thái con này c%ng ph i thay )i theo Và n
l t các tr ng thái con này l i có th có các các tr ng thái con ti p theo c a chúng và c
th cho n khi m1i nhánh k t thúc v#i m t tr ng thái trong OPEN (ngh a là không có
tr ng thái con nào n a) / th c hi n quá trình c p nh t này, ta hãy th c hi n quá trình duy t theo chi u sâu v#i i m kh i &u là T k’ Duy t n âu, ta c p nh t l i g c a các
tr ng thái n ó (dùng công th c g(T) = g(Cha(T)) +cost(Cha(T), T) ) và vì th giá tr f’
c a các tr ng thái này c%ng thay )i theo
Minh h a ho t ng c a thu t gi i A *
B ng c a Romania v i kho ng cách ng tính theo km
Trang 21Kho ng cách ng chim bay t m t thành ph n Bucharest
Ti +1 ) chính là chi u dài con ng n i t thành ph Ti và Ti +1
Ban u :
Do trong OPEN ch+ ch a m t thành ph duy nh t nên thành ph này s3 là thành ph t t nh t Ngh a là
c a 3 thành ph này Do c 3 nút m#i t o ra này ch a có nút cha nên ban &u nút cha c a chúng u là Arad
Trang 22B c 1, nút c óng ngo(c vuông (nh [Arad]) là nút trong t p CLOSE, ng c l i là trong t p OPEN
OPEN và a vào CLOSE
Trang 23l u trong CLOSE (có giá tr 0) nên ta s3 không c p nh t l i giá tr g và f’ c a Arad l u trong CLOSE 3 nút còn l i : Fagaras, Oradea, Rimnicu u không có trong c OPEN và CLOSE nên ta s3 a 3 nút này vào OPEN, "t cha c a chúng là Sibiu Nh v y, n b #c này OPEN ã ch a t)ng c ng 5 thành ph
Trang 24g(Pitesti) = g(R.Vilcea)+ cost(R.Vilcea, Pitesti)
= 220+97 = 317
= 317+98 = 415 Sibiu ã có trong t p CLOSE Tuy nhiên, do g’(Sibiu) m#i (có giá tr là 553) l#n h'n g’(Sibiu) (có giá tr
Pitesti và Craiova u không có trong c OPEN và CLOSE nên ta s3 a nó vào OPEN và "t cha c a chúng là R.Vilcea
Bucharest và Craiova L y Pitesti ra kh i OPEN và "t nó vào CLOSE Th c hi n ti p theo t 'ng
t nh trên, ta s3 không c p nh t giá tr f’, g c a R.Vilcea và Craiova l u trong CLOSE Sau khi
Trang 25: b #c k ti p, ta s3 ch n c Tmax = Bucharest Và nh v y thu t toán k t thúc (th c ra thì t i b #c
n a mà là Arad, Sibiu, TP, Pitesti, Bucharest
Trong tr ng h p này, chúng ta v-n ti n hành b #c 1 nh trên Sau khi th c hi n hi n b #c 2 (m r ng Sibiu), chúng ta có cây tìm ki m nh hình sau L u ý là có thêm nhánh TP
Trang 26R.Vilcea v-n có giá tr f’ th p nh t Nên ta m r ng R.Vilcea nh tr ng h p &u tiên
này, TP có giá tr f’ th p h'n Do ó, ta ch n m r ng TP T TP ta ch+ có 2 h #ng i, m t quay l i Sibiu
và m t n Pitesti / nhanh chóng, ta s3 không tính toán giá tr c a Sibiu vì bi t ch(c nó s3 l#n h'n giá
h’(Pitesti) = 98
= 240+75= 315
Pistestti ã xu t hi n trong t p OPEN và g’(Pitesti) m#i (có giá tr là 315) th p h'n g’(Pitesti) c% (có giá
tr 317) nên ta ph i c p nh t l i giá tr c a f’,g, Cha c a Pitesti l u trong OPEN Sau khi c p nh t xong,
t p OPEN và CLOSE s3 nh sau :
Trang 27(Pitesti,g= 315,h’= 98,f’= 413,Cha= TP) }
}
tr ng h p 2.b.iii.2 trong thu t gi i
B #c sau, chúng ta s3 ch n m r ng Pitesti nh bình th ng Khi l&n ng c theo thu c tính Cha, ta
ng d ng A* gi i bài toán Ta-canh
Bài toán Ta-canh ã t.ng là m t trò ch'i khá ph) bi n, ôi lúc ng i ta còn g i ây
là bài toán 9-puzzle Trò ch'i bao g m m t hình vuông kích th 'c 3x3 ô Có 8 ô có s , m1i ô có m t s t 1 n 8 M t ô còn tr ng M1i l&n di chuy n ch+ c di chuy n m t ô
n m c nh ô tr ng v phía ô tr ng V n là t m t tr ng thái ban &u b t k2, làm sao a
c v tr ng thái cu i là tr ng thái mà các ô c s(p l&n l t t 1 n 8 theo th t t trái sang ph i, t trên xu ng d #i, ô cu i dùng là ô tr ng
Cho n nay, ngo i tr 2 gi i pháp vét c n và tìm ki m Heuristic, ng i ta v-n ch a tìm c m t thu t toán chính xác, t i u gi i bài toán này Tuy nhiên, cách gi i theo thu t gi i A* l i khá 'n gi n và th ng tìm c l i gi i (nh ng không ph i lúc nào c%ng tìm c l i gi i) Nh n xét r ng: T i m1i th i i m ta ch+ có t i a 4 ô có th di chuy n V n là t i th i i m ó, ta s3 ch n l a di chuy n ô nào? Ch,ng h n hình trên, ta nên di chuy n (1), (2), (6), hay (7) ? Bài toán này hoàn toàn có c u trúc thích h p
có th gi i b ng A* (t)ng s tr ng thái có th có c a bàn c là n2! v#i n là kích th #c bàn c vì m1i tr ng thái là m t hoán v c a t p n2 con s )
T i m t tr ng thái ang xét Tk, "t d(i,j)là s ô c&n di chuy n a con s ô (i,j)
Trang 28có m t ý ngh a nh t nh nào ó V#i ph 'ng ti n máy tính (mà c th là các thi t b &u ra), con ng i s3 ti p thu c m t ph n d li u có ý ngh a i v#i mình N u so v
l ng, d li u th ng nhi u h'n thông tin
C%ng có th quan ni m thông tin là quan h gi a các d li u Các d li u c s(p x p theo m t th t ho"c c t p h p l i theo m t quan h nào ó s3 ch a ng thông tin
N u nh ng quan h này c ch+ ra m t cách rõ ràng thì ó là các tri th c
Ví d :
Trong toán h c, b n thân t.ng con s riêng l8 nh 1, 1, 3, 5, 2, 7, 11, là các d
li u Tuy nhiên, khi "t chúng l i v#i nhau theo tr t t nh d #i ây thì gi a chúng ã b(t
Trang 29Tri th c có c qua s thu th p tri th c và s n sinh tri th c
Quá trình thu th p và s n sinh tri th c là hai quá trình song song và n i ti p v#i nhau – không bao gi ch m d t trong m t th c th “Thông Minh”
Tri th c c thu th p t thông tin, là k t qu c a m t quá trình thu nh n d li u,
x lý và l u tr Thông th ng quá trình thu th p tri th c g m các b #c sau:
Xác nh l nh v c/ph m vi tri th c c&n quan tâm Thu th p d li u liên quan d #i d ng các tr ng h p c th
H th ng hóa, rút ra nh ng thông tin t)ng quát, i di n cho các tr ng
h p ã bi t – T)ng quát hóa
Xem xét và gi l i nh ng thông tin liên quan n v n c&n quan tâm ,
ta có các tri th c v v n ó
Tri th c sau khi c thu th p s3 c a vào m ng tri th c ã có Trên c' s ó
th c hi n các liên k t, suy di n, ki m ch ng s n sinh ra các tri th c m#i
“Tri th c siêu c p” (meta knowledge) hay “Tri th c v Tri th c” là các tri th c dùng :
/ánh giá tri th c khác /ánh giá k t qu c a quá trình suy di n
Ki m ch ng các tri th c m#i
Ph 'ng ti n truy n tri th c: ngôn ng t nhiên
Ng i ta th ng phân lo i tri th c ra làm các d ng nh sau :
Tri th c s ki n : là các kh,ng nh v m t s ki n, khái ni m nào ó
Tri th c mô t : cho bi t m t i t ng, s ki n, v n , khái ni m,
c th y, c m nh n, c u t o nh th nào (m t cái bàn th ng có 4 chân, con ng i có 2 tay, 2 m(t, )
Tri th c Heuristic : là m t d ng tri th c c m tính Các tri th c thu c lo i
này th ng có d ng #c l ng, ph ng oán, và th ng c hình thành thông qua kinh nghi m
2 Chuy n giao tri th c cho máy tính
Trang 30So v#i ch 'ng trình truy n th ng ( c c u t o t hai "ch t li u" c' b n là d li u
và thu t toán), ch 'ng trình trí tu nhân t o c c u t o t hai thành ph&n là c s tri
th c (knowledge base) và ng c suy di n (inference engine)
C s tri th c : là t p h p các tri th c liên quan n v n mà ch 'ng
trình quan tâm gi i quy t
ng c suy di n : là ph 'ng pháp v n d ng tri th c trong c' s tri th c
gi i quy t v n
N u xét theo quan ni m bi u di n tri th c mà ta v.a bàn lu n trên thì c' s tri
th c ch+ là m t d ng d li u "c bi t và ng c' suy di n c%ng ch+ là m t d ng c a thu t toán "c bi t mà thôi Tuy v y, có th nói r ng, c' s tri th c và ng c' suy di n là m t
b #c ti n hóa m#i c a d li u và thu t toán c a ch 'ng trình! Có th hình dung ng c
suy di n gi ng nh m t lo i ng c' t)ng quát, c chu*n hóa có th dùng v n hành
nhi u lo i xe máy khác nhau và c s tri th c chính là lo i nhiên li u "c bi t v n
hành lo i ng c' này !
C' s tri th c c%ng g"p ph i nh ng v n t 'ng t nh nh ng c' s d li u khác
nh s trùng l(p, th.a, mâu thu-n Khi xây d ng c' s tri th c, ta c%ng ph i chú ý n
nh ng y u t này Nh v y, bên c nh v n bi u di n tri th c, ta còn ph i ra các
Trang 31ph 'ng pháp lo i b nh ng tri th c trùng l(p, th.a ho"c mâu thu-n Nh ng thao tác này s3 c th c hi n trong quá trình ghi nh n tri th c vào h th ng.
3 Logic m nh
M nh là m t kh,ng nh, m t phát bi u mà giá tr c a nó ch+ có th ho"c là úng ho"c là sai
Ví d& :
phát bi u "1+1=2" có giá tr úng
phát bi u "M i lo i cá có th s ng trên b " có giá tr sai
Giá tr c a m nh không ch+ ph thu c vào b n thân m nh ó Có nh ng m nh
mà giá tr c a nó luôn úng ho"c sai b t ch p th i gian nh ng c%ng có nh ng m nh
mà giá tr c a nó l i ph thu c vào th i gian, không gian và nhi u y u t khách quan khác Ch,ng h n nh m nh : "Con ng i không th nh y cao h'n 5m v#i chân tr&n" là úng khi trái t , còn nh ng hành tinh có l c h p d-n y u thì có th sai
Ký hi u m nh b ng nh ng ch cái la tinh nh a, b, c,
Có 3 phép n i c' b n t o ra nh ng m nh m#i t nh ng m nh c' s là phép
h i (∨ ), giao(∧ ) và ph nh (¬ )
! ! !"#$%! ! !$&'$( ) * + , -, - + / 0Bên c nh các thao tác tính ra giá tr các m nh ph c t giá tr nh ng m nh con, chúng ta có c m t c' ch suy di n nh sau :
Modus Ponens : N u m nh A là úng và m nh A→ B là úng thì
giá tr c a B s3 là úng
Modus Tollens : N u m nh A→ B là úng và m nh B là sai thì giá
tr c a A s3 là sai
4 Logic v t
Bi u di n tri th c b ng m nh g"p ph i m t tr ng i c' b n là ta không th can
thi p vào c u trúc c a m t m nh Hay nói m t cách khác là m nh không có c u
trúc /i u này làm h n ch r t nhi u thao tác suy lu n Do ó, ng i ta ã a vào khái
Trang 32Cam có v Ng t V (Cam, Ng t) Cam có màu Xanh Màu (Cam, Xanh)
V#i v t., ta có th bi u di n các tri th c d #i d ng các m nh t)ng quát, là nh ng
m nh mà giá tr c a nó c xác nh thông qua các i t ng tri th c c u t o nên nó
Ví d tri th c : "A là b c a B n u B là anh ho(c em c a m t ng i con c a A" có th
c bi u di n d #i d ng v t nh sau :
B (A, B) = T n t i Z sao cho : B (A, Z) và (Anh(Z, B) ho"c Anh(B,Z))
Trong tr ng h p này, m nh B (A,B) là m t m nh t)ng quát
Nh v y n u ta có các m nh c' s là :
a) B ("An", "Bình") có giá tr úng (Anh là b c a Bình) b) Anh("Tú", "Bình") có giá tr úng (Tú là anh c a Bình)
thì m nh c) B ("An", "Tú") s3 có giá tr là úng (An là b c a Tú)
Rõ ràng là n u ch+ s d ng logic m nh thông th ng thì ta s3 không th tìm c
m t m i liên h nào gi a c và a,b b ng các phép n i m nh ∧ , ∨ , ¬ T ó, ta c%ng không th tính ra c giá tr c a m nh c S d nh v y vì ta không th th hi n
t ng minh tri th c "(A là b c a B) n u có Z sao cho (A là b c a Z) và (Z anh ho(c em
Ng iX u (x) = ∃ y : B n(x,y) và Ng iX u(y) Công c v t ã c nghiên c u và phát tri n thành m t ngôn ng l p trình "c tr ng cho trí tu nhân t o là ngôn ng PROLOG
Trang 33B4 : N u GTi có phép ∨ thì tách thành hai dòng con
N u KLi có phép ∧ thì tách thành hai dòng con
a) N u m t dòng không còn phép n i ∧ ho"c ∨ c hai v và 2 v
không có chung m t bi n m nh thì dòng ó không c ch ng minh
b) M t v n c ch ng minh n u t t c dòng d-n xu t t d ng chu!n ban &u u c ch ng minh
Trang 34Bài toán c ch ng minh n u a úng và ¬ b úng sinh ra m t mâu thu-n
B1 : Phát bi u l i gi thi t và k t lu n c a v n d #i d ng chu!n nh sau :
GT1, GT2, ,GTn → KL1, KL2, , KLm Trong ó : GTi và KLj c xây d ng t các bi n m nh và các phép toán : ∧ , ∨ , ¬
B2 : N u GTi có phép ∧ thì thay b ng d u ","
N u KLi có phép ∨ thì thay b ng d u ","
B3 : Bi n )i dòng chu!n B1 v thành danh sách m nh nh sau :
{ GT1, GT2, , GTn , ¬ KL1, ¬ KL2, , ¬ KLm }
B4 : N u trong danh sách m nh b #c 2 có 2 m nh i ng-u nhau thì
bài toán c ch ng minh Ng c l i thì chuy n sang B4 (a và ¬ a g i là hai
m nh i ng-u nhau)
B5 : Xây d ng m t m nh m#i b ng cách tuy n m t c"p m nh trong
danh sách m nh b #c 2 N u m nh m#i có các bi n m nh i ng-u nhau thì các bi n ó c lo i b
B7 : N u không xây d ng c thêm m t m nh m#i nào và trong danh
sách m nh không có 2 m nh nào i ng-u nhau thì v n không c
ch ng minh