H C VI N CƠNG NGH B U CHÍNH VI N THƠNG
NH P MƠN
TRÍ TU
NHÂN T O
(Dùng cho sinh viên h đào t o đ i h c t xa)
L u hành n i b
HÀ N I - 2007
H C VI N CƠNG NGH B U CHÍNH VI N THƠNG
NH P MƠN
TRÍ TU
Biên so n :
NHÂN T O
PGS.TS. NGUY N QUANG HOAN
L I NĨI
U
Trí tu nhân t o (hay AI: Artificial Intelligence), là n l c tìm hi u nh ng y u t trí tu .
Lý do khác đ nghiên c u l nh v c này là cách đ ta t tìm hi u b n thân chúng ta. Không gi ng
tri t h c và tâm lý h c, hai khoa h c liên quan đ n trí tu , còn AI c g ng thi t l p các các y u t
trí tu c ng nh tìm bi t v chúng. Lý do khác đ nghiên c u AI là đ t o ra các th c th thơng
minh giúp ích cho chúng ta. AI có nhi u s n ph m quan tr ng và đáng l u ý, th m chí ngay t lúc
s n ph m m i đ c hình thành. M c dù không d báo đ c t ng lai, nh ng rõ ràng máy tính
đi n t v i đ thơng minh nh t đ nh đã có nh h ng l n t i cu c s ng ngày nay và t ng lai phát
tri n c a v n minh nhân lo i.
Trong các tr ng đ i h c, cao đ ng, Trí tu nhân t o đã tr thành m t môn h c chuyên
ngành c a sinh viên các ngành Công ngh Thông tin.
đáp ng k p th i cho đào t o t xa, H c
vi n Cơng ngh B u chính Vi n thông biên so n tài li u này cho sinh viên, đ c biêt h ào t o t
xa h c t p. Trong quá trình biên so n, chúng tơi có tham kh o các tài li u c a i h c Bách khoa
Hà n i [1] giáo trình g n g i v tính cơng ngh v i H c vi n. M t s giáo trình khác c a i h c
Qu c gia thành ph H Chí Minh [], tài li u trên m ng và các tài li u n c ngoài b ng ti ng Anh
[] c ng đ c tham kh o và gi i thi u đ sinh viên đào t o t xa đ c thêm.
Tài li u này nh m h ng d n và gi i thi u nh ng ki n th c c b n, các khái ni m, đ nh
ngh a tóm t t. M t s thu t ng đ c chú gi i b ng ti ng Anh đ h c viên đ c b ng ti ng Anh d
dàng, tránh hi u nh m khi chuy n sang ti ng Vi t.
Tài li u g m các ch
ng sau:
- Ch
ng 1 : Khoa h c Trí tu nhân t o: t ng quan
- Ch
ng 2 : Các ph
- Ch
ng 3 : Bi u di n tri th c và suy di n
- Ch
ng 4 : X lý ngôn ng t nhiên
- Ch
ng 5 : Các k thu t trí tu nhân t o hi n đ i
ng pháp gi i quy t v n đ
Còn nhi u v n đ khác ch a đ c p đ c trong ph m vi tài li u này.
tìm hi u thêm sau khi đã có nh ng ki n th c c b n này.
ngh các b n đ c
Nhi u c g ng đ c p nh t ki n th c nh ng th i gian, đi u ki n, kh n ng có h n nên tài
li u ch c ch n cịn nhi u thi u sót. Chúng tơi mong nh n đ c nhi u ý ki n đóng góp đ tài li u
đ c hồn thi n h n cho các l n tái b n sau.
TÁC GI
2
CH
NG 1: KHOA H C TRÍ TU NHÂN T O: T NG QUAN
H c xong ph n này sinh viên có th n m đ
c:
1. Ý ngh a, m c đích mơn h c; l ch s hình thành và phát tri . Các ti n đ c b n c a Trí
tu nhân t o (TTNT)
2. Các khái ni m c b n, đ nh ngh a c a TTNT.
3. Các l nh v c nghiên c u và ng d ng c b n. Nh ng v n đè ch a đ
TTNT
1.1 L CH S
c gi i quy t trong
HÌNH THÀNH VÀ PHÁT TRI N
Trong ph n này chúng tơi n l c gi i thích t i sao chúng tơi coi trí tu nhân t o là m t b
môn đáng nghiên c u nh t; và n l c c a chúng tôi nh m gi i thích trí tu nhân t o là gì. ây có
ph i là b mơn h p d n khi nghiên c u khơng.
Trí tu nhân t o hay AI (Artificial Intelligence) là m t trong nh ng ngành tiên ti n nh t.
Nó chính th c đ c b t đ u vào n m 1956, m c dù vi c này đã b t đ u t 5 n m tr c. Cùng v i
ngành di truy n h c hi n đ i, đây là môn h c đ c nhi u nhà khoa h c đánh giá: “là l nh v c tơi
thích nghiên c u nh t trong s nh ng môn tôi mu n theo đu i”. M t sinh viên v t lý đã có lý khi
nói r ng: t t c các ý t ng hay đã đ c Galileo, Newton, Einstein tìm r i; m t s ý t ng khác
l i m t r t nhi u n m nghiên c u tr c khi có vai trị th c ti n. AI v n là v n đ đ tr ng t th i
Einstein.
Qua h n 2000 n m, các tri t gia đã c g ng đ hi u cách nhìn, h c, nh và l p lu n đ c
hình thành nh th nào. S ki n nh ng chi c máy tính có th s d ng đ c vào đ u nh ng n m
50 c a th k XX đã làm các nhà tri th c thay đ i h ng suy ngh . R t nhi u ng i cho r ng:
“nh ng trí tu siêu đi n t ” m i này đã cho ta d đoán đ c ti m n ng c a trí tu . AI th c s khó
h n r t nhi u so v i ban đ u m i ng i ngh .
Hi n nay AI đã chuy n h ng sang nhi u l nh v c nh , t các l nh v c có m c đích chung
chung nh nh n th c, l p lu n, t duy logic đ n nh ng công vi c c th nh đánh c , cung c p
đ nh lý toán h c, làm th và chu n đoán b nh. Th ng, các nhà khoa h c trong các l nh v c khác
c ng nghiêng v trí tu nhân t o. Trong l nh v c này h th y các ph ng ti n làm vi c, v n t
v ng đ c h th ng hoá, t đ ng hoá: các nhi m v trí tu là cơng vi c mà h s có th c ng hi n
c đ i. ây th c s là m t ngành r t ph bi n.
1.1.1. T duy nh con ng
i: ph
ng pháp nh n th c
N u mu n m t ch ng trình máy tính có kh n ng suy ngh nh con ng i, chúng ta ph i
tìm hi u con ng i đã t duy nh th nào? Có m t s tiêu chí xác đ nh nh th nào là suy ngh
ki u con ng i. Chúng ta c n xem công vi c bên trong c a b óc con ng i. Có hai ph ng pháp
đ th c hi n đi u này: th nh t là thông qua t duy bên trong - ph i n m b t đ c suy ngh c a
con ng i khi làm vi c - th hai thơng qua thí nghi m tâm lý. Khi chúng ta đã có đ c đ y đ lý
thuy t v t duy thì chúng ta có th ch ng trình hố nó trên máy tính. N u đ u vào/ra c a
ch ng trình và th i gian làm vi c phù h p v i con ng i thì nh ng ch ng trình t đ ng này có
th ho t đ ng theo con ng i. Ví d , Newell và Simon đã phát tri n ph ng pháp gi i quy t v n
đ GPS- General Problem Solver (Newell and Simon 1961). ây là ph ng pháp đ i l p v i các
3
nghiên c u đ ng th i (nh Wang (1960)) ông quan tâm đ n vi c có đ
đ n, không quan tâm đ n vi c con ng i ph i làm nh th nào.
c nh ng gi i pháp đúng
1.1.2. Các qui t c t duy
Tri t gia Aristote là ng i đ u tiên h th ng hố “t duy chính xác”. Phép tam đo n lu n c a
ông đ a ra k t lu n đúng n u c ti n đ chính và ti n đ th là đúng. Ch ng h n: “n u Sô-crát là
con ng i, m i con ng i đ u ch t, nh v y Sô-crát s ch t”.
Môn t duy logic phát tri n vào cu i th k XIX đ u XX. N m 1965 các ch ng trình cung
c p cho chúng ta đ nh ng thông tin, chi ti t v m t v n đ trong t duy logic và tìm ra ph ng
pháp gi i. N u v n còn v n đ ch a có cách gi i thì ch ng trình s khơng ng ng tìm ki m cách
gi i. Môn logic truy n th ng trong AI là đi u mong m i đ có đ c m t ch ng trình mơ t h
th ng trí tu .
1.1.3. Kh i ngu n c a AI (1943 - 1956)
Nh ng công vi c đ u tiên c a AI đ c Warren McCulioch và Walter Pitts (1943) th c hi n.
H đã nghiên c u ba c s lí thuy t: tri t h c c b n và ch c n ng c a các n ron th n kinh; phân
tích v các m nh đ logic là c a Russell và whitehead và cu i cùng là thuy t d đoán c a
Turning. H đã đ ra mơ hình n ron nhân t o, trong đó m i n ron đ c đ c tr ng b i hai tr ng
thái “b t”, “t t”. McCulloch và Pitts c ng đã phát hi n: m ng n ron có kh n ng h c. Donald
Hebb (1949) s d ng lu t h c đ n gi n t ng tr ng cho vi c truy n thông tin gi a các gi a các n
ron.
u nh ng n m 1950, Claude Shannon (1950) và Alan Turning (1953) đã vi t ch ng trình
đánh c theo cách mà Von Newman sáng ch ra máy tính. Cùng lúc đó, hai sinh viên khoa toán
tr ng đ i h c Princeton, Marvin Minsky và Dean Edmond đã xây d ng h th ng máy tính n ron
đ u tiên vào n m 1951 đ c g i là SNARC. Nó s d ng kho ng 3000 bóng đi n t chân khơng và
thi t b c khí t đ ng tính giá tr th ng d t chùm B-24 đ mơ ph ng m ng v i 40 n ron.
Nhóm th c s c a Minsky nghi ng r ng li u đây có đ c coi là m t ph n c a toán h c, nh ng
Neuman m t thành viên c a nhóm đã cho bi t r ng “n u bây gi nó khơng ph i là m t ph n c a
tốn h c thì m t ngày nào đó nó s là nh th ”. Th t m a mai, sau này Minsky l i chính là ng i
ch ng minh h c thuy t này và đã bác b nhi u h th ng nghiên c u v m ng n ron trong su t
nh ng n m 1970.
Lịng say mê và tơn tr ng l n ngay t r t s m (1952-1969)
N m 1958 McCarthy đã đ nh ngh a ngôn ng b c cao Lisp, và tr thành ngôn ng l p
trình cho AI. Lisp là ngơn ng l p trình lâu đ i th hai mà hi n nay v n s d ng. V i Lisp,
McCarthy đã có ph ng ti n ông c n, nh ng đ đáp ng đ c yêu c u và tài nguyên tính tốn là
m t v n đ quan tr ng. C ng vào n m 1958, McCarthy xu t b n bài báo “Các ch ng trình v i
cách nhìn nh n chung”. Trong bài báo này, ông bàn v ch ng trình t v n, m t ch ng trình gi
đ nh đ c coi là h th ng AI hoàn thi n đ u tiên. Gi ng h c thuy t logic và cách ch ng minh các
đ nh lý hình h c, ch ng trình c a McCarthy đ c thi t k nh m s d ng ki n th c đ nghiên c u
cách gi i quy t v n đ . Không nh các ch ng trình khác, ch ng trình này là m t b ph n ki n
th c c a toàn b th gi i quan. Ông ch ra r ng làm th nào đ nh ng đi u r t đ n gi n l i làm
cho ch ng trình có th khái quát đ c m t k ho ch đ n sân bay và lên máy bay. Ch ng trình
này c ng đ c thi t k đ nó có th ch p nh n vài chân lý m i v quá trình th c hi n bình th ng.
Chính vì v y, ch ng trình này có đ c nh ng kh n ng th c hi n trong các ch ng trình m i mà
khơng c n l p trình l i.
4
N m 1963, McCarthy đã có các nghiên c u v s d ng logic đ xây d ng ch ng trình
ng i t v Ch ng trình này đ c phát tri n do khám phá c a Robinson v ph ng pháp c i
cách. Nh ng công vi c đ u tiên t o ra nh ng h th ng m i c a McCulloch và Pitts làm cho chúng
phát tri n. Các ph ng pháp nghiên c u c a Hebb đã đ c Widrow ng h (Widrow và Hoff,
1960; Widrow, 1962). H đã đ t tên mang n ron là m ng c a ông, và c ng đ c Frank
Rosenblatt (1962) c ng c . Rosenblatt ch ng minh r ng thu t toán mà ông nghiên c u có th
thêm vào nh ng kh n ng c a nh n th c phù h p v i b t c d li u đ u vào nào.
Nh ng nhà nghiên c u AI c ng đã d đốn v nh ng thành cơng sau này. Herbert Simon đã
phát bi u (1957): Không ph i m c đích c a tơi là làm các b n ng c nhiên, nh ng cách đ n gi n
nh t đ có th khái quát là hi n nay trên th gi i, máy móc có th suy ngh , có th h c và sáng t o
đ c. H n n a, kh n ng c a nó là làm vi c v i ti n đ cao- trong t ng lai rõ ràng – cho đ n khi
v n đ chúng ta có th gi i đ c, s cùng t n t i v i t duy c a con ng i có th áp d ng đ c.
N m 1958, ơng d đốn trong 10 n m n a, m t máy tính có th vô đ ch trong môn c vua, và các
đ nh lý toán h c m i s đ c máy ch ng minh.
1.2. CÁC TI N
C
B N C A TTNT
Toàn c nh v ph ng pháp gi i quy t v n đ hình thành trong th p k đ u nghiên c u AI là
m c đích nghiên c u n l c liên k t các b c l p lu n c b n v i nhau đ tìm ra ph ng pháp
hồn thi n. Các ph ng pháp này đ c coi là các ph ng pháp kém vì s d ng thơng tin kém v
l nh v c.
i v i nhi u l nh v c ph c t p, thì các ph ng pháp th c hi n l i r t kém. Cách duy
nh t quanh v n đ là s d ng ki n th c phù h p h n đ có b c l p r ng h n và đ gi i quy t các
tr ng h p n y sinh nh t đ nh trong các l nh v c nh chuyên môn. Chúng ta ch c s nói r ng gi i
quy t các v n đ khó thì h u nh ph i bi t tr c đáp án.
Ch ng trình DENDRAL (Buchanan, 1969) là m t ví d s m ti p c n ph ng pháp này.
Nó đ c phát tri n t i Stanford, đây chính là n i Ed Feigenbaum (m t sinh viên chính qui c a
Herbert Simon). Bruce Buchanan (m t tri t gia chuy n sang làm nghiên c u máy tính) và Joshua
Lederberg (nhà nghiên c u di truy n đo t gi i Nobel) đã h p nhau l i đ cùng suy lu n, gi i quy t
v n đ có c u trúc phân t t nh ng thông tin do máy đo quang ph cung c p. D li u đ a vào
ch ng trình g m các c u trúc c b n c a phân t (Ví d C6H12NO2), và r t nhi u d i quang ph
đ a ra hàng lo t đo n phân t khác nhau khái quát chung khi nó cùng m t lúc đ a ra các dịng
đi n t . Ví d d i quang ph ch a đ ng m t đi m nh n t i m=15 t ng ng v i m t d i c a đo n
methyl (CH3).
Phiên b n s khai c a ch ng trình khái quát đ c tồn b c u trúc có th bên trong b ng
phân t và sau đó ph ng đốn b ng cách quan sát m i d i quang ph , so sánh nó v i quang ph
th c t . Nh chúng ta ngh thì đi u này tr nên nan gi i đ i v i các phân t có kích th c đáng
k . Các nhà nghiên c u DENDRAL khuyên các nhà phân tích d c khoa và cho th y r ng h
nghiên c u b ng cách tìm ki m các ph n bên trên c a đi m nh n trong d i quang ph , đi u đó
đ a ra g i ý chung v các c u trúc nh bên trong phân t . Ví d , qui lu t sau đây đ c s d ng đ
nh n ra m t nhóm nh xeton (C=0)
N u có hai đ nh x1, x2 nh sau:
(a) x1+x2 = M+28 (M là kh i l
ng c a phân t )
(b) x1-28 là m t đ nh
(c) x2-28 là m t đ nh
(d) Có ít nh t m t đ nh x1 ho c x2 là đ nh cao. Sau đó có m t nhóm nh xeton.
5
Khi nh n ra phân t ch a m t c u trúc nh đ c bi t, s l ng thành ph n tham gia có th b
gi m xu ng nhanh chóng. Nhóm DENDRAL k t lu n r ng h th ng m i là r t m nh b i vì: tồn
b ki n th c có liên quan đ n gi i quy t cơng vi c đã đ c phác th o s qua t c u trúc chung
trong [thành ph n quang ph đốn tr c] đ có nh ng c u trúc đ c bi t
T m quan tr ng c a DENDRAL là nó là h th ng c m nh n ki n th c thành công đ u tiên.
Các chuyên gia c a l nh v c này đi sâu t s l ng l n các qui lu t có m c đích đ c bi t. Các h
th ng sau này c ng không k t h p l i thành ch đ chính c a ph ng pháp chuyên gia c a
McCarthy - ph n hoàn toàn tách bi t c a ki n th c (trong c u trúc c a qui lu t) và thành ph n l p
lu n.
V i bài h c này, Feigebaum và các thành viên khác t i Stanford b t đ u l p d án ch ng
trình Heuristic, đ đ u t m r ng vào các ph ng pháp m i c a h chuyên gia nh m áp d ng vào
các l nh v c khác nhau. Nh ng n l c chính sau đó là chu n đoán y h c. Feigenbaum, Buchanan
và Edward Shortlife đã phát tri n h chuyên gia MYCIN đ ch n đoán b nh nhi m trùng máu.
V i kho ng 450 lu t, h chuyên gia MYCIN có th th c hi n t t h n nhi u bác s m i. Nó có hai
s khác bi t c b n v i h chuyên gia DENDRAL. Th nh t: không gi ng nh các lu t
DENDRAL, không m t m u lý thuy t chung nào t n t i mà có th suy lu n t các lu t c a h
MYCIN. Các lu t ph i có câu ch t v n c a chun gia, ng i có nhi m v tìm chúng t kinh
nghi m. Th hai: các lu t ph n ánh m i liên quan không ch c ch n v i ki n th c y h c. MYCIN
k t h p v i h vi phân c a bi n s đ c coi là các nhân t phù h p t t ( m i lúc) v i ph ng
pháp mà các bác s ti p c n v i các tri u ch ng trong quá trình chu n đốn.
Cách ti p c n khác đ chu n đoán y h c c ng đ c nghiên c u. T i tr ng đ i h c Rutger,
nh ng máy tính trong ngành sinh hố c a Sual Amarel b t đ u tham v ng nh m c g ng chu n
đoán b nh t t d a trên ki n th c đ c bi u đ t rõ ràng c a nh ng chi c máy phân tích q trình
b nh t t. Trong khi đó, m t s nhóm l n h n t i MIT và trung tâm y t c a Anh đang ti p t c
ph ng pháp chu n đoán và đi u tr d a trên h c thuy t có tính kh thi và th c t . M c đích c a
h là xây d ng các h th ng có th đ a ra các ph ng pháp ch n đoán y h c. V y h c, ph ng
pháp Stanford s d ng các qui lu t do các bác s cung c p ngay t đ u đã đ c ch ng minh là ph
bi n h n. Nh ng h chuyên gia PROSPECTOR (Duda 1979) đ c công b cho m i ng i b ng
cách gi i thi u thi t b khoan th m qu ng
M t vài ngôn ng d a vào logic nh ngôn ng Prolog ph bi n
châu Âu, và
PLANNER M . Các ngôn ng khác, theo sau các ý t ng c a Minsky (1975) ch p nh n
ph ng pháp ti p c n c u trúc, thu th p các ch ng c v đ i t ng và các lo i s ki n.
1.3. CÁC KHÁI NI M C
B N
1.3.1. Trí tu nhân t o(AI) là gì?
Chúng ta có th nói: “Tuy t th t, đây là m t ch ng trình đ c th c hi n b ng nh ng suy
di n thơng minh, vì th c n ph i ti p t c và m i ng i c n b sung cho nó”. Nh ng theo s phát
tri n c a khoa h c cho th y: s có ích n u ta đi đúng h ng. nh ngh a v AI đã có t i tám cu n
sách đ c p. Nh ng đ nh ngh a đó đ a ra trên hai nh n đ nh chính:
- Th nh t: quan tâm ch y u đ n quá trình t duy và l p lu n
- Th hai: v n đ ít đ
c quan tâm h n, đó là ho t đ ng.
M t h th ng đ c coi là h p lý n u nh nó th c hi n đúng. i u này s đ a ngành AI đ n
4 m c tiêu.(xem B ng 1.1).
Chúng ta s đi vào chi ti t c a t ng h
6
ng theo các phát bi u sau đây:
“Nh ng n
m i đây l
l c thú v
“Vi c nghiên c u c
s
trí tu
t o ra máy tính... nh ng máy móc thơng qua s d ng máy vi tính”
có trí tu , hi u theo c nghiã đ y
đ
l n
ngh a
bóng”.
(Haugeland, 1985)
(Charniak and McDermott, 1985)
“Nghiên c u máy tính l m cho
máy tính có kh
n ng c m nh n,
đ ng hoá c a] các ho t l p lu n v l m vi c”.
đ ng đã giúp chúng ta k t h p
“[s
t
nh ng t
duy c a con ng i v i
công vi c c ng nh
quy t đ nh,
(Winston, 1992)
gi i quy t v n đ , h c t p...”
(Bellman 1978)
“Ngh thu t sáng t o máy móc l
“Trong l nh v c nghiên c u l đ
th c hi n ch c n ng hình th nh t
tìm ra cách gi i thích v
duy khi con ng
đ
i l m vi c”
đ t
c nh ng h nh đ ng có t duy
(Kurzweil, trong “l nh v c x lý tính tốn”.
1990) (Schalkoff, 1990)
"Vi c nghiên c u l m cách n o đ
b t máy tính l m nh ng vi c m
“Trong ng nh khoa h c máy tính
có liên quan đ n s t đ ng hoá
cùng m t lúc con ng i có th l m nh ng ho t đ ng mang tính trí
tu ”.
t t h n.”
(Luger and
(Rich and Knight, 1991)
Stubbefield, 1993)
Hình 1.1 Nh ng đ nh ngh a v AI đ
H th ng t duy nh con ng
i
H th ng ho t đ ng nh con ng
Ho t đ ng nh con ng
i: ph
c chia thành 4 nhóm:
H th ng t duy có l p lu n
i
H th ng ho t đ ng có l p lu n
ng pháp tr c nghi m Turning
Ph ng pháp tr c nghi m Turning đ c Alan Turning (1950) đ a ra . ây là ph ng pháp
nh m đ nh ngh a m t ho t đ ng g i là thông minh. Turning cho r ng: ho t đ ng trí tu là kh
n ng có đ c nh con ng i trong nh ng công vi c c n tri th c, đ đ đánh l a ng i th m v n
mình. Nói khái qt, ph ng pháp tr c nghi m c a ông là: máy tính s b m t ng i h i thơng
qua giao ti p gõ ch qua vô tuy n. K t thúc thí nghi m s là lúc ng i h i khơng cịn câu nào đ
h i ho c c ng i và máy đ u hoàn thành.
l p ch ng trình cho máy tính qua đ c q trình
ki m tra c n hồn thành nhi u vi c. Máy tính c n có các kh n ng sau:
• X lý ngơn ng t nhiên đ giao ti p t t b ng ti ng Anh (ho c ngôn ng khác)
7
• Bi u di n tri th c, l u tr thơng tin đ
c cung c p tr
• T đ ng l p lu n đ s d ng thông tin đã đ
m i.
• Máy h c: đ thích nghi v i mơi tr
c ho c trong q trình th m v n.
c l u nh m tr l i câu h i và phác th o k t lu n
ng m i, ki m tra và ch p nh n nh ng m u m i.
•
i v i AI, khơng c n có s c g ng cao m i qua đ c quá trình ki m tra c a Turning. Khi
các ch ng trình AI giao ti p tr c ti p v i con ng i thì vi c ho t đ ng đ c gi ng nh ng i
là v n đ thi t y u. Quá trình trình di n và lý gi i nh ng h th ng nh th có th ho c không
c n d a vào con ng i.
1.3.2. Tri th c là gì?
Tri th c là s hi u bi t b ng lý thuy t hay th c t vè m t ch đ hay l nh v c. Tri th c là
t ng c a nh ng cái đang bi t hi n nay; tri th c là s c m nh. Nh ng ng i có tri th t t là nh ng
chuyên gia (expert).
So 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).
1.3.3. C s tri th c (Knowledge Base: KB)
nh ngh a:
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. C s tri th c ch a các ki n th c đ c s d ng đ gi i quy t các v n đ (bài tốn) trong trí
tu nhân tao.
1.3.4. H c s tri th c
Trong h c s tri th c ch a hai ch c n ng tách bi t nhau, tr ng h p đ n gian g m hai
kh i: kh i tri th c hay còn g i là c s tri th c; kh i đi u khi n hay cịn g i là đơng c suy di n.
V i các h th ng ph c t p, b n thân đ ng c suy di n c ng có th là m t h c s tri th c ch a
các siêu tri th c (tri th c v các tri th c). Hình d i đây mơ t c u trúc ch ng trình truy n th ng
(bên trái) và c u trúc ch ng trình trí tu nhân t o (bên ph i).
D
LI U
THU T
TOÁN
ng c suy di n: là ph
8
D
LI U
C
S
TRI TH C
NG C SUY
DI N
ng pháp v n d ng tri th c trong c s tri th c đ gi i quy t v n đ .
1.4 CÁC L NH V C NGHIÊN C U VÀ
NG D NG C
B N
1.4.1 Lý thuy t gi i bài tốn và suy di n thơng minh
Lý thuy t gi i bài toán cho phép vi t các ch ng trình gi i câu đ , ch i các trị ch i thơng
qua các suy lu n mang tính ng i. H th ng gi i bài toán GPS do Newel, Shaw và Simon đ a ra
r i đ c hoàn thi n n m 1969 là m t m c đáng ghi nh . Tr c n m 1980, Buchanal và Luckham
c ng hoàn thành h th ng ch ng minh đ nh lý. Ngoài ra các h th ng h i đáp thông minh nh S ,
QA2, QA3,.. cho phép l u tr và x lý kh i l ng l n các thơng tin. Ch ng trình c a McCarthy
v các ph ng án hành đ ng có kh n ng cho các l i khuyên.
1.4.2 Lý thuy t tìm ki m may r i
Vi c tìm ki m l i gi i c ng là vi c bài tốn. Lý thuy t tìm ki m nh may r i g m các
ph ng pháp và k thu t tìm ki m v i s h tr c a thơng tin ph đ gi i bài tốn m t cách hi u
qu . Cơng trình đáng k v lý thuy t này là c a G.Pearl vào n m 1984.
1.4.3 Các ngơn ng v Trí Tu Nhân T o
x lý các tri th c ng i ta không th ch s d ng các ngôn ng l p trình dùng cho các x
lý d li u s mà c n có các ngơn ng khác. Các ngơn ng chuyên d ng này cho phép l u tr và
x lý các thơng tin kí hi u. Dùng các ngôn ng này c ng là cách đ tr l i câu h i “ th nào”
(what). r i t i câu h i “làm sao v y”(how). M t s ngôn ng đ c nhi u ng i bi t đ n là:
•
Các ngơn ng
•
Ngơn ng m nh h n nh PLANNER, PROLOG. Ngay trong m t ngôn ng c ng có nhi u
th h v i nh ng phát tri n đáng k .
IPL.V, LISP.
1.4.4 Lý thuy t th hi n tri th c và h chuyên gia
Theo quan đi m c a nhi u chuyên gia công ngh thơng tin, trí tu nhân t o là khoa h c v
th hi n tri th c và s d ng tri th c. Ng i ta nh n xét v ph ng pháp th hi n tri th c nh sau:
c đ dùng th hi n tri th c trong ch
•
L
•
M ng ng ngh a, logíc v t , khung, m ng là các ph
thơng d ng.
•
Dùng khung đ th hi n tri th c ch c ch n là ph
n m g n đây.
ng trình
ng pháp th hi n tri th c m t cách
ng pháp có nhi u h a h n trong các
Vi c g n li n cách th hi n và s d ng tri th c là c s hình thành h chuyên gia. V y nên
ph i k t h p các quá trình nghiên c u các quy lu t, thi t k và xây d ng h chuyên gia. Tuy nhiên
cho đên nay, đa s các h chuyên gia m i thu c l nh v c y h c.
1.4.5 Lý thuy t nh n d ng và x lý ti ng nói
Giai đo n phát tri n đ u c a trí tu nhân t o g n li n v i lý thuy t nh n d ng. Các ph
pháp nh n d ng chính đ c gi i thi u g m:
•
Nh n d ng dùng tâm lý h c
•
Nh n d ng hình h c
•
Nh n d ng theo ph
•
Dùng máy nh n d ng
ng
ng pháp hàm th .
9
ng d ng c a ph ng pháp này trong vi c nh n d ng trong ch vi t, âm thanh, hình nh…
cho đ n ngay đã tr nên quen thu c. Ng i ta đã có h th ng x lý hình nh ba chi u, h th ng
t ng h p ti ng nói.
Do kh i l ng đ s c a tri th c v lý thuy t nh n d ng. các ch
đ n các ph ng pháp nh n d ng đ c.
1.4.6 Ng
ng trình sau ch a đ c p
i máy
Cu i nh ng n m 70, ng i máy trong công nghi p đã đ t đ c nhi u ti n b “ Khoa h c
ng i máy là n i k t thông minh c a nh n th c v i hành đ ng”. Ng i máy có b c m nh n và
các c ch ho t đ ng đ c n i ghép theo s đi u khi n thông minh. Khoa h c v c h c và trí tu
nhân t o đ c tích h p trong khoa h c v ng i máy. Các đ án trí tu nhân t o nghiên c u v
ng i máy b t đ u t đ án “m t – tay”. Trong th c t , ng i máy đ c dùng trong các nhi m v
chuyên sâu, thu c các dây truy n công nghi p.
ch
N i dung v khoa h c ng
ng c a tài li u này.
i máy s đ
c trình bày trong tài li u riêng, không thu c các
1.4.7 Tâm lý h c x lý thông tin
Các k t qu nghiên c u c a tâm lý h c giúp trí tu nhân t o xây d ng các c ch tr l i
theo hành vi, có ý th c. Nó giúp th c hi n các suy di n mang tính ng i.
H th ng chuyên gia th ng m i đ u tiên, R1, b t đ u ho t đ ng t i công ty thi t b k thu t
s (McDemott, 1982). Ch ng trình giúp s p x p c u hình cho các h th ng máy tính m i và
tr c n m 1986, nó đã ti t ki m cho công ty kho ng 40 tri u dollar m i n m.
n tr c n m
1988, nhóm nghiên c u AI c a DEC đã có 40 h th ng chuyên gia đ c tri n khai. Du pont có
100 chi c đi vào s d ng và 500 chi c đ c phát tri n, ti t ki m đ c kho ng 10 tri u dollar m i
n m. D ng nh m i m t cơng ty chính c a M đ u có m t nhóm AI c a riêng công ty và cùng s
d ng ho c đ u t vào công ngh h chuyên gia.
N m 1981, Nh t b n thông báo v d án “Th h th n m”, k ho ch 10 n m xây d ng
nh ng chi c máy tính thơng minh ch y Prolog gi ng nh nh ng chi c máy ch y ch ng trình mã
máy. Ý t ng đó v i kh n ng th c hi n hàng tri u phép tính m i giây, máy tính có th thu n l i
trong vi c l u tr hàng lo t lu t có s n. D án đ c đ a ra nh m máy tính có th giao ti p b ng
ngôn ng t nhiên cùng m t s các tham v ng khác.
D án “th h 5” thúc đ y ni m đam mê vào AI, b ng cách t n d ng n i lo l ng c a ng i
Nh t, các nhà nghiên c u, các t ng cơng ty có th h tr chung cho vi c đ u t t ng t nh
n c M . T ng công ty cơng ngh máy tính và siêu đi n t (MMC) đã đ c hình thành nh m t
cơng ty liên k t nghiên c u d án c a Nh t. Anh, bài báo Alvey làm ph c h i s v n đã b bài
báo Lighthill làm h t. Trong c hai tr ng h p, thì AI đ u là m t ph n trong n l c l n bao g m
c thi t k con chip và nghiên c u giao di n v i con ng i.
Bùng n công nghi p AI c ng bao g m c các cơng ty nh t p đồn Carnegie, Inference,
Intellicorp, và Teknowledge các công ty này yêu c u các công c ph n m m đ xây d ng h
chuyên gia và các công ty ph n c ng nh Lisp Machine, công ty thi t b Texas, Symbolic và
Xerox đã xây d ng h th ng làm vi c t i u đ phát tri n các ch ng trình Lisp. Trên 100 cơng ty
l p ráp h th ng cơng nghi p robot. Nói chung ngành công nghi p đi t m c ch bán đ c vài
tri u trong n m 1980 lên 2 t dollar n m 1988.
M c dù khoa h c máy tính b quên l nh v c m ng n ron sau khi cu n sách “kh n ng nh n
th c” c a Minsky và Papert ra đ i, nh ng các l nh v c khác v n ti p t c, đ c bi t là v t lý. M t s
10
l ng l n các n ron đ n gi n đã có th coi nh m t s nguyên t trong ch t r n. Các nhà v t lý
h c nh Hopfield (1982) đã s d ng các k thu t c h c th ng kê d n t i các ý t ng th thai
chéo quan tr ng. Các nhà tri t h c David Rumelhart và Geoff Hinton nghiên c u các m u m ng
n ron trí nh . Vào nh ng n m 1980, có ít nh t b n nhóm khác nhau nghiên c u l i thu t toán
Back-propagation. Thu t tốn này đ c cơng b l n đ u vào n m 1969 b i Bryson và Ho. Thu t
toán đ c áp d ng r t nhi u trong khoa h c máy tính và tâm lý h c, và ph bi n k t qu trong
cu n “x lý phân tán song song” (Rumelhart và McClelland, 1986).
Nh ng n m g n đây, chúng ta đã ch ng ki n s thay đ i r t l n trong n i dung và ph ng
pháp nghiên c u AI. Nó tr nên ph bi n khi d a trên các lý thuy t có s n. Trong nh ng n m
1970, m t s l n các ki n trúc và các ph ng pháp đã bu c ph i th . R t nhi u trong s này, th m
trí là ad hoc và fragile và đ c t ng tr ng m t vài ví d đ c ch n là đ c bi t. Trong nh ng
n m g n đây, các ph ng pháp d a trên mơ hình Markov n (HMMs) đã th ng tr l nh v c này,
hai khía c nh c a HMMs có liên quan đ n nh ng v n đ bàn lu n hi n t i. u tiên, chúng đ c
d a trên lý thuy t tốn h c chính xác. i u này cho phép các nhà nghiên c u ti ng nói xây d ng
các k t qu toán h c c a m t vài th p k đã đ c phát tri n m t s l nh v c khác. Th hai,
chúng đã đ c sinh ra b i m t quá trình x lý trên t p d li u ti ng nói. Ch c ch n r ng th c hi n
đó là d ng thơ, và trong các tr c nghi m HMMs kh t khe không rõ ràng đã ti n tri n đ u đ n.
L nh v c khác xem ra có l i ích t s chính th c hoá là l p k ho ch. Công vi c s m đ c
th c hi n b i Austin Tate (1977), sau đó là David Chapman (1987) đã có k t qu trong s t ng
h p c a các ch ng trình l p k ho ch vào m t khung làm vi c đ n gi n. ã có m t vài l i
khuyên r ng nên xây d ng trên m i cái khác nhau h n là b t đ u t con s không t i m i th i
đi m. K t qu c a các h th ng l p k ho ch đó ch th c s t t trong các th gi i thu h p, trong
n m 1970 nhi m v l p l ch cho công vi c c a nhà máy. Xem Ch ng 11 và 12 đ bi t thêm chi
ti t.
Cu n Tranh lu n theo xác su t trong các h th ng thông minh đã đánh d u m t s tán
th ng c a lý thuy t quy t đ nh và xác su t trong AI, ti p theo s h i sinh c a m t s thu nh lí
thú theo bài báo “Trong bi n h c a xác su t” c a Peter Cheeseman (1985). Tin t ng r ng hình
th c m ng là phát minh đã cho phép tranh lu n hi u qu v ch ng minh c a s ph i h p không
ch c ch n. Cách ti p c n l n này v t qua đ c v n đ các h th ng l p lu n có kh n ng trong
nh ng n m 1960 đ n 1970... Ch ng 14 t i 16 bàn t i l nh v c này.
C ng t ng t nh cu c cách m ng trong l nh v c ng i máy, kh n ng c a máy tính, máy
h c (bao g m c các m ng neural) và s trình di n tri th c. M t cách hi u t t nh t c a các v n đ
và s ph c t p các thu c tính, ph i h p cùng v i s ng y bi n đã gia t ng trong tốn h c, đã có s
ch đ o v l ch nghiên c u công vi c có kh n ng và các ph ng pháp d ng thơ. Có l đ c
khuy n khích b i s ti n tri n trong gi i quy t các v n đ con c a AI, các nhà nghiên c u đã b t
đ u tìm ki m “y u t đ y đ ” cho v n đ . Công vi c c a Allen Newel, John Laird và Paul
Rosenbloom SOAR (Newel, 1990; Laird 1987) là nh ng ví d hi u bi t t t nh t c a m t y u t
hoàn ch nh v ki n trúc trong AI. C ng g i là hành đ ng có m c đích “trong nh ng hoàn c nh xác
đ nh” c a các y u t đ a vào trong các môi tr ng th c t v i các đ u vào c m bi n liên t c.
Nhi u k t qu lý thú đã đ c tìm th y trong cơng vi c; bao g m s th c r ng tr c đó các l nh
v c con riêng bi t c a AI c n tái t o l i cái gì đó khi mà các k t qu c a h là cùng ch trong thi t
k m t y u t riêng r .
11
1.5 NH NG V N
NHÂN T O
CH A
C GI I QUY T TRONG TRÍ TU
Ki n t ng c vua qu c t Amold Denker, nghiên c u các quân c trên bàn c tr c m t
ơng ta. Ơng ta không hy v ng là hi n th c: ông ph i t b cu c ch i.
i th c a ơng, HITECH,
đã tr thành ch ng trình máy tính đ u tiên đánh th ng m t ki n t ng c trong m t ván ch i
(Berliner, 1989).
“Tôi mu n đi t Boston t i San Francisco” m t ng i du l ch nói trong micro. “B n s đi
vào th i gian nào?” là câu h i l i. Ng i du l ch gi i thích r ng cơ y mu n đi vào ngày 20 tháng
10, trên chuy n r nh t có th , và tr v vào ngày Ch nh t. M t ch ng trình giao ti p b ng tay
có th hi u đ c hành đ ng nói c a ng i là PEGASUS, đó là k t qu khiêm t n dùng đ đ t ch
chuy n đi du l ch v i giá 894 dollar b ng xe khách đ ng dài. M c dù v y ch ng trình nh n bi t
ti ng nói có quá 10 t b sai, nó có th là s t ng h p t các l i nh b i vì s hi u c a nó t các
h i tho i là đ a vào cùng m t lúc (Zue 1994).
M t phân tích t n i đi u khi n các nhi m v c a phịng thí nghi m Jet Propulsion b t đ u
xu h ng thanh tốn. M t thơng báo màu đ xu t hi n trên màn hình ch ra r ng “s khơng bình
th ng” v i ng i du hành trên tàu khơng gian, đó là m t n i nào đó trong vùng xung quanh sao
H i v ng. May thay, v n đ phân tích có th đúng t m t đ t. Nh ng ng i đi u khi n tin t ng
r ng có v n đ ph i đ c b qua đó là MARVEL, m t h chuyên gia th i gian th c có các màn
hình, dịng d li u thơ đ c chuy n t tàu không gian, các công vi c đi u khi n ch ng trình và
phân tích c nh báo đ i v i nh ng v n đ nghiêm tr ng
T NG K T
Ch ng này đ a ra các đ nh ngh a v AI và thi t l p l i các c s c a nó, đó là s phát
tri n. M t s các đi m quan tr ng đáng l u ý nh sau:
Ng i ta ngh v AI có khác nhau. Có hai câu h i quan tr ng đó là: b n có quan tâm đ n suy
ngh ho c hành vi? và B n có mu n hình m u con ng i ho c t m t ý t ng chu n m c?
Các nhà tri t h c (quay tr l i n m 400 tr.CN) đ a ra ý ki n cho r ng não b c ng nh m t
chi c máy, r ng nó đ c đi u khi n b ng tri th c đã đ c mã hoá, và ý ngh có th mang theo thói
quen giúp đ nh ng hành đ ng đúng đ n.
M t s nhà toán h c đã cung c p nh ng công c các l nh tính tốn logic ch c ch n c ng t t
nh là không ch c ch n, các l nh khơng chính xác. H c ng đ t c s làm vi c cho các thu t toán.
Ngành tâm lý h c c ng c thêm ý t ng r ng loài ng i và đ ng v t có th đ a ra cách x
lý thơng tin máy móc. Ngành ngơn ng h c trình bày r ng ngơn ng đ đ dùng trong mơ hình
này.
h
Ngành cơng nghi p máy tính cung c p các ng d ng c a AI. Các ch ng trình AI có xu
ng khá l n, và h không làm vi c đ c n u máy tính khơng có đ t c đ và b nh c n thi t.
L ch s c a AI có các chu kì thành cơng, t i u hố đ t khơng đúng ch , và k t qu d n đ n
gi m lòng nhi t tình và chi phí. C ng đã có nh ng b c l p ch ra đ c các cách ti p c n m i và
trau d i có h th ng trong s các cách đó.
Nh ng ti n tri n g n đây trong h c thuy t c n b n v s thông minh đã ti n b cùng v i kh
n ng c a các h th ng th c t .
Nh ng đi m chú ý v ti u s và l ch s
12
Cu n sách Artificial Intelligence c a Daniel Crevier (1993) đ a ra l ch s khá hoàn ch nh
c a l nh v c này, và Age of Intelligent Machines c a Raymond Kurzweil (1990) v AI trong ng
c nh c a khoa h c máy tính và l ch s trí tu . Các v n b n c a Dianne Martin (1993) c ng công
nh n r ng t r t s m các máy tính là có kh n ng b i s c m nh th n k c a trí tu .
Ph ng pháp lu n tr ng thái c a AI đ c Herb Simon bàn t i trong The Sciences of the
Artificial (1981), đó là các l nh v c nghiên c u đ c quan tâm cùng v i các đ t o tác ph c t p.
Nó c ng lý gi i t i sao AI có th có t m nhìn trên c hai l nh v c tốn h c và khoa h c.
Artificial Intelligence: The very Idea b i John Haugeland (1985) đã đ a ra s t ng thu t có
th đ c đ c c a tri t h c và các v n đ c a AI. Khoa h c nh n th c đ c mô t t t nh t b i
Johnson Laird, Máy tính và não b : gi i thi u v khoa h c nh n th c. Baker (1989) g m c ph n
cú pháp c a ngôn ng h c hi n đ i, cùng Chierchia và McConnel-Ginet (1990) bao g m c ng
ngh a, Allen (1995) bao g m c ngôn ng h c t quan đi m c a AI.
Feigenbaum và Feldman đã làm vi c v i AI t r t s m, cu n sách c a h có t a đ Máy
tính và suy ngh . Cu n X lý thông tin ng ngh a c a Minsky và m t lo t bài vi t v Trí tu máy
c a Donald Michie. M t s l ng l n các trang báo đ c t p h p l i trong S hi u bi t trong AI
(Webber và Nilsson, 1981).
Các cu c h i th o xu t hi n g n đây bàn v v n đ chính c a AI, đó là: th ng nh t c hai
n m m t l n di n ra h i th o qu c t AI, g i t t là IJCA (International Joint Conference AI), và
h i th o di n ra hàng n m m c qu c gia v AI, và AAAI là t ch c đ ng ra b o tr cho AI. Các
t p chí chuyên ngành chung v AI là AI, Computation Intelligence, t ch c IEEE Transactions on
Pattern Analysis and Machine Intelligence, và t p chí đi n t Journal of Artificial Intelligence
Research. Các s n ph m th ng m i đ a ra trong các t p chí nh AI Expert và PC AI. T ch c xã
h i chuyên nghi p v AI là American Association for AI (AAAI), ACM Special Interest Group in
AI (SIGART) và AISB (Society for AI and Simulation of Behaviour). T p chí v AI c a AAAI và
SIGART Bullentin có r t nhi u các đ tài và th y h ng d n t t nh là thông báo c a các cu c
h i th o và th o lu n.
Vi t Nam g n đây có t ch c các H i nghi Khoa h c: H m m ng n ron; Hoi th o Qu c
gia vè H m do vi n Toan h c, Vi n Công ngh Thông tin thu c vi n Khoa h c Công ngh Qu c
gia t ch c hàng n m.
BÀI T P VÀ CÂU H I
1. Chúng tôi đ a ra đ nh ngh a c a AI theo hai khía c nh, con ng i, ý t ng và hành đ ng.
Nh ng có nhi u khía c nh khác có giá tr đáng xét đ n. M t trong s đó là s ch n l a gi a: s
ph n khích c a chúng tơi v các k t qu lí thuy t ho c các ng d ng th c hành. M t khía c nh n a
là chúng tơi có d ki n có th nh n ra các máy tính c a chúng tơi có thơng minh hay khơng. ã có
8 đ nh ngh a tiêu bi u trong Hình 1.1 và có 7 đ nh ngh a theo b n khía c nh chúng tơi v a đ c p
và b n có c m th y các đ nh ngh a là h u ích sau đây
AI là ...
a. “m t t p h p các thu t tốn d tính tốn, thích h p tính g n đúng cho các bài tốn đ c bi t
khó .” (Partridge, 1991)
b. “s tham gia vào xây d ng m t h th ng kí hi u v t lí sao cho có th v
c a Turning.”
t qua tr c nghi m
c. “l nh v c khoa h c máy tính nghiên c u v các máy có th hành đ ng thơng minh ra sao.”
(Jackson, 1986)
13
d. “m t l nh v c nghiên c u đó là xoay quanh các k thu t tính tốn, cho phép th c hi n các
cơng vi c địi h i thơng minh th c s khi có con ng i tham d .” (Tanimoto, 1990)
e. “m t s đ u t r t l n c a trí tu c a t nhiên và các nguyên lí, các máy móc yêu c u s
am hi u ho c tái t o nó .” (Sharples , 1989)
f. “L i ích c a máy tính là làm đ
c m i th , xem nó nh là thơng minh.” (Rowe, 1988)
2. Nghiên c u tài li u AI đ tìm ra các cơng vi c nào d
máy tính:
i đây có th gi i quy t đ
c b ng
a. Trò ch i bóng bàn
b. Lái xe
trung tâm Cairơ
c. Khám phá và ch ng minh các lý thuy t toán h c m i.
d. Vi t m t truy n c
e.
i
a ra m t l i khuyên khá h p lý trong ph m vi liên quan đ n lu t pháp.
f. D ch ti ng Anh sang ti ng Vi t theo th i gian th c.
3. Th c t , h c u và d đốn:
a. Tìm m t b n công b c a m t nhà tri t h c ho c nhà khoa h c có uy tín cho r ng hi u qu
c a đ ch c ch n s khơng bao gi đ c trình di n b i máy tính, r ng đó bây gi đã đ c
trình di n.
b. Tìm m t cơng b c a m t nhà khoa h c v máy tính có uy tín cho r ng hi u qu c a đ đo
ch c ch n đ c trình di n b i th i đi m t khi nó h p qui cách.
c. So sánh đ chính xác c a nh ng d đoán trong các l nh v c khác nhau, ch ng h n nh y
sinh, công ngh nano, ho c đi n gia d ng.
4. Cho r ng “nh ng chi c máy tính là khơng thơng minh - chúng ch có th làm đ c nh ng gì
mà l p trình viên b o chúng” là câu l nh ph n tr c thì đúng và hàm ý sau đó khơng đúng?
14
CH
NG 2: CÁC PH
2.1. GI I QUY T V N
NG PHÁP GI I QUY T V N
KHOA H C VÀ TRÍ TU NHÂN T O
Trong ph n này, chúng ta ch ra m t agent có th hành đ ng nh th nào b ng cách đ t ra
m c tiêu và xem xét chu i các hành đ ng mà có th đ t đ c nh ng m c tiêu này. M t m c tiêu
và t p các ph ng ti n đ đ t đ c m c tiêu đ c g i là v n đ . Quá trình khám phá các ph ng
ti n có th làm đ c gì g i là tìm ki m. Chúng ta cho th y tìm ki m có th th c hi hie và nh ng
gi i h n c a nó..
Gi i quy t bài tốn b ng cách tìm ki m
Chúng ta xem m t agent quy t đ nh ph i làm gì? nh th nào? b ng cách xem xét có h
th ng k t qu các chu i hành đ ng mà nó th c hi n.
Trong ch ng này, chúng ta mô t m t agent d a trên m c đích g i là agent gi i quy t bài
tốn. Các agent gi i quy t v n đ s quy t đ nh ph i làm gì b ng cách tìm ki m chu i các hành
đ ng d n đ n tr ng thái mong mu n. Ch ng này phân tích các thu t tốn.
2.2. GI I QUY T V N
C A CON NG
I
Hãy t ng t ng các agent c a chúng ta trong thành ph Arad, Rumani đang th c hi n
m t chuy n du l ch. Agent đã có vé đ bay đ n Bucarét vào ngày hôm sau. Vé máy bay không th
tr l i đ c, visa c a agent chu n b h t h n, và k t ngày mai s khơng cịn ch trong 6 tu n t i.
Ph m vi th c hi n c a agent ch a nhi u y u t khác ngoài chi phí ti n vé máy bay và có m t đi u
khơng mong mu n là có th b tr c xu t. Ch ng h n, agent mu n c i thi n n c da rám n ng c a
mình, h c thêm ti ng Rumani, đi ch i đâu đó vv… T t c nh ng y u t này có th g i ra vơ s
các hành đ ng.
Agent đ a ra m c tiêu: lái xe t i Bucarét, và xem nh ng thành ph nào c n ph i đ caa,
xu t phát t Arad. Có ba con đ ng ra kh i Arad, m t đ ng đ n Sibiu, m t đ ng đ n
Timisoara và m t đ n Zerind. T t c các con đ ng này đ u không đ n Bucaret, vì v y tr khi
agent n m rõ b n đ Rumani, agent s không bi t ph i đi con đ ng nào ti p theo. Nói cách khác,
agent khơng bi t hành đ ng nào là t t nh t trong các hành đ ng. N u agent khơng có các ki n
th c tr giúp, nó s b t c (khơng tìm ra đ c đ ng đi ti p theo). Cách t t nh t nó có th làm là
ch n ng u nhiên m t trong các hành đ ng.
Gi thi t agent có m t b n đ Rumani, ho c trên gi y ho c trong trí nh . M c đích c a b n
đ là cung c p cho agent các thông tin v các tr ng thái mà nó có th đ n và nh ng hành đ ng mà
nó có th th c hi n. Agent có th s d ng thơng tin này đ xem xét các các đo n c a hành trình
mang tính gi thi t là: khi nó tìm ra m t con đ ng trên b n đ t Arad t i Bucaret, nó có th đ t
m c tiêu b ng cách th c hi n các hành đ ng t ng ng v i các ch ng c a hành trình. Sau đó
agent l a ch n các giá tr ch a bi t đ quy t đ nh ph i làm gì b ng cách ki m tra chu i các hành
đ ng khác nhau d n đ n các tr ng thái đã bi t; sau đó ch n hành đ ng t t nh t. Quá trình tìm
ki m m t chu i các hành đ ng nh v y đ c g i là tìm ki m. Gi i thu t tìm ki m coi m t v n đ
nh d li u vào và đáp s là m t gi i pháp d i d ng chu i hành đ ng. Khi m t gi i pháp đ c
tìm th y, các hành đ ng mà nó đ xu t có th đ c ti n hành. i u này đ c g i là giai đo n th c
hi n
15
Trong ph n này, chúng ta s tìm hi u q trình xác đ nh bài tốn chi ti t h n. Tr c tiên, ta
xem xét kh i l ng ki n th c mà agent có th có s d ng đ h ng đ n các hành đ ng c a nó và
tr ng thái mà nó ph i đi qua. i u này ph thu c vào s nh n th c c a agent v i mơi tr ng c a
nó nh th nào thơng qua k t qu giác quan và hành đ ng c a nó. Chúng ta bi t có b n lo i bài
toán khác nhau: bài toán m t tr ng thái đ n gi n; bài toán đa tr ng thái; bài toán ng u nhiên và bài
toán th m dò
2.3. PHÂN LO I V N
. CÁC
C TR NG C
B NC AV N
Nh ng v n đ (bài toán) xác đ nh rõ ràng và các gi i pháp
M t v n đ là m t t p h p các thông tin mà agent s d ng đ quy t đ nh ph i làm gì. Chúng
ta b t đ u b ng cách phân lo i các thông tin c n thi t dùng cho đ nh ngh a bài toán đ n tr ng thái.
Các y u t c b n c a vi c đ nh ngh a m t bài toán là các tr ng thái và các hành đ ng.
xác đ nh đ c chúng m t cách chính xác, chúng ta c n các y u t sau:
Tr ng thái ban đ u c a agent. T p các hành đ ng có th đ i v i agent. Thu t ng thao tác
(operation) đ c s d ng đ mô t m t hành đ ng trong ng c nh là tr ng thái nào nó s đ n n u
th c hi n hành đ ng trong t m t tr ng thái đ c bi t. (M t công th c s d ng hàm S. Cho tr c
tr ng thái x, S(x) cho tr ng thái có th đi t i t x b ng b t c m t hành đ ng đ n).
nh ngh a: không gian tr ng thái c a v n đ : là t p các tr ng thái có th đ t đ c b ng
chu i hành đ ng b t k xu t phát t tr ng thái ban đ u. M t hành trình trong khơng gian tr ng
thái là t p các hành đ ng tu ý xu t phát t tr ng thái này đ n tr ng thái khác.
Y u t ti p theo c a v n đ nh sau: tiêu chu n ki m tra tr ng thái hi n th i là tr ng thái
đích (m c tiêu)? Vi c ki m tra đ n gi n ch là đ nh m ki m tra xem chúng ta đã đi t i m t trong
các tr ng thái m c tiêu hay ch a. Th nh tho ng m c tiêu đ c xác đ nh b i m t thu c tính tr u
t ng thay vì m t t p đ m đ c các tr ng thái. Ch ng h n, trong môn đánh c , m c tiêu là đi t i
m t tr ng thái g i là “chi u t ng”, khi t ng c a đ i ph ng s b n b t k đ i ph ng đi nh
th nào b c k ti p.
Cu i cùng, ch n gi i pháp thích h p nh t, dù có nhi u gi i pháp t i đích. Ví d , chúng ta có
th thích nh ng hành trình có ít hành đ ng ho c các hành đ ng có chi phí th p.
Hàm chi phí đ ng đi là hàm đ c gán chi phí cho m t đ ng đi. Trong t t c các tr ng
h p chi phí c a đ ng đi là t ng các chi phí c a các hành đ ng đ n d c theo đ ng đi. Hàm chi
phí đ ng đi th ng đ c ký hi u là hàm g. Tr ng thái ban đ u, t p toán t , th t c ki m tra m c
tiêu và hàm chi phí đ ng đi xác đ nh m t v n đ . V m t t nhiên, chúng ta có th xác đ nh m t
ki u d li u đ bi u di n các v n đ :
Ki u d li u B i toán
Các thành ph n: Tr ng thái ban đ u, các toán t , ki m tra m c
tiêu, h m chi phí đ ng đi
Gi i quy t v n đ
Hi u qu c a tìm ki m có th đo đ c theo ít nh t ba ch tiêu Th nh t, có tìm th y m t gi i
pháp nào khơng? Th hai, đó có ph i là m t gi i pháp t t không (gi i pháp có chi phí đ ng đi
16
th p)? Th ba, chi phí tìm ki m v i th i gian tìm ki m và b nh yêu c u đ tìm m t gi i pháp là
bao nhiêu? Chi phí tồn b c a vi c tìm ki m là t ng chi phí đ ng đi và chi phí tìm ki m (S).
i v i v n đ tìm đ ng đi t Arad đ n Bucarét, chi phí đ ng đi t l thu n v i t ng đ
dài c a đ ng, c ng thêm chi phí do s c d c đ ng. Chi phí tìm ki m ph thu c vào các tình
hu ng. Trong mơi tr ng t nh, nó b ng khơng vì ph m vi th c hi n là đ c l p v i th i gian. N u
ph i c p t c đ n Bucarét, môi tr ng là bán đ ng b i vì vi c cân nh c lâu h n s làm chi phí
nhi u h n. Trong tr ng h p này, chi phí tìm ki m có thbi ì n thiên x p x tuy n tính v i th i
gian tính tốn(ít nh t v i m t kho ng th i gian nh ). Do đó, đ tính tốn t ng chi phí, chúng ta
c n ph i b sung thêm các giá tr là d m và mili giây. i u này không ph i ln d dàng b i vì
khơng có m t “t l trao đ i chính th c” gi a hai đ i l ng này. Agent b ng cách nào đó ph i
quy t đ nh nh ng tài nguyên nào s dành cho vi c tìm ki m và nh ng tài nguyên nào dành cho
vi c th c hi n.
i v i nh ng v n đ có không gian tr ng thái r t nh , d dàng tìm ra gi i pháp
v i chi phí đ ng đi th p nh t. Nh ng đ i v i nh ng v n đ ph c t p, l n, c n ph i th c hi n m t
s tho hi p- agent có th tìm ki m trong m t th i gian dài đ tìm ra gi i pháp t i u ho c agent
có th tìm ki m trong m t th i gian ng n h n và nh n đ c m t gi i pháp v i chi phí đ ng đi
cao h n m t chút. Ch n l a tr ng thái và hành đ ng
Bây gi chúng ta có các đ nh ngh a m i, chúng ta hãy b t đ u s đi u tra các v n đ c a
chúng ta v i m t v n đ khá d nh sau: “ Lái xe t Arad đ n Bucarét s d ng các con đ ng trên
b n đ ” M t không gian tr ng thái có x p x 20 tr ng thái, m i tr ng thái đ c xác đ nh b i v trí,
đ c ghi rõ là m t thành ph . Nh v y, tr ng thái ban đ u là “ Arad” và ki m tra m c tiêu là
“đây có ph i là Bucarét khơng?”. Các tốn h ng t ng ng v i vi c lái d c theo các con đ ng
gi a các thành ph .
Các bài tốn ví d
Ph m vi c a các môi tr ng nhi m v mà có th đ c mơ t đ c đi m b i các v n đ đ c
đ nh ngh a rõ ràng là r t r ng l n. Chúng ta có th phân bi t gi a cái g i là các bài tốn trị
ch i, mà nh m đ minh ho hay th c hành r t nhi u các ph ng pháp gi i quy t v n đ , và cái
g i là các bài toán thu c th gi i th c mà s là các v n đ khó kh n h n và m i ng i th c s
quan tâm đ n các gi i pháp đ gi i quy t các v n đ này. Trong ph n này, chúng ta s đ a ra ví d
cho c hai lo i v n đ đó. Các v n đ đ ch i t t nhiên có th mơ t m t cách chính xác, ng n
g n. i u đó có ngh a là các nhà nghiên c u khác nhau có th d dàng s d ng các v n đ này đ
so sánh vi c th c hi n c a các gi i thu t. Ng c l i, các v n đ th gi i th c l i khơng th có m t
s miêu t m t cách đ n gi n, nh ng chúng ta s c g ng đ a ra m t cách chung nh t v s mơ t
chính xác các v n đ này.
Các bài tốn Trị ch i
Trị ch i 8 quân c (C ta canh)
M t ví d c a trò ch i 8 quân c đ c ch ra trong hình 2.1, g m m t b ng kích th c 3 x 3
v i 8 quân c đ c đánh s t 1 đ n 8 và m t ô tr ng. M t quân c đ ng c nh ơ tr ng có th đi
vào ô tr ng. M c tiêu là ti n t i v trí các qn c nh
trong hình bên ph i. M t m o quan tr ng
c n chú ý là thay vì dùng các tốn t nh “ chuy n quân c s 4 vào ô tr ng”, s t t h n n u có
các tốn t nh “ ô tr ng thay đ i v trí v i quân c chuy n sang bên trái c a nó”, b i vì lo i tốn
t th hai này s ít h n. i u đó s giúp chúng ta có các khái ni m nh sau:
•
Các tr ng thái: m t s mô t tr ng thái ch rõ v trí c a m i quân c trong 8 qn c
m t
trong 9 ơ vng.
có hi u qu , s có ích n u tr ng thái bao g m c v trí c a ơ tr ng.
•
Các tốn t : ơ tr ng di chuy n sang trái, ph i, lên trên, đi xu ng.
17
•
Ki m tra m c tiêu: tr ng thái kh p v i hình d ng ch ra
•
Chi phí đ
đ ng đi.
ng đi: m i b
c đi chi phí là 1, vì v y chi phí đ
Tr ng thái đ u
1
2
3
7
4
6
5
8
hình 3.4
ng đi b ng đ dài c a
Tr ng thái đích
1
2
3
4
7
6
5
8
Hình 2.1 M t ví c a trị ch i 8 quân c
Trò ch i 8 quân c thu c v lo i trò ch i tr t kh i. L p trò ch i này đ c bi t đ n có m c
đ hồn thành NP, vì v y chúng ta khơng mong mu n tìm đ c các ph ng pháp t t h n các
thu t tốn tìm ki m đã đ c mơ t trong ch ng này và trong các ch ng ti p theo. Trò ch i 8
quân c và s m r ng c a nó, trị ch i 15 qn c là nh ng v n đ ki m tra tiêu chu n đ i v i
các gi i thu t tìm ki m trong AI.
Bài tốn 8 qn h u
M c tiêu c a bài toán 8 quân h u là đ t 8 con h u trên m t bàn c vua sao cho không con
nào n con nào. (M t con h u s n b t c con nào n m trên cùng hàng, cùng c t ho c cùng
đ ng chéo v i nó). Hình 2.2 ch ra m t gi i pháp c g ng đ gi i quy t bài toán nh ng không
thành công: con h u c t bên ph i nh t b con h u trên cùng bên trái chi u.
M c d u các gi i thu t đ c bi t hi u qu t n t i đ gi i quy t bài toán này và t p các bài
toán t ng quát n con h u, nó th c s v n là v n đ r t thú v dùng đ ki m tra các gi i thu t tìm
ki m. Có hai hai lo i ph ng pháp chính. Ph ng pháp gia t ng bao g m vi c đ t các con h u
t ng con m t, trong khi ph ng pháp tr ng thái hoàn thành l i b t đ u v i 8 con h u trên bàn c
và ti n hành di chuy n các con h u. Trong c hai ph ng pháp, ng i ta khơng quan tâm đ n chi
phí đ ng đi do ch tính đ n tr ng thái cu i cùng: các gi i thu t do đó ch đ c so sánh v chi
phí tìm ki m. Nh v y, chúng ta có vi c ki m tra m c tiêu và chi phí đ ng đi nh sau:
Hình 2.2 G n nh là m t gi i pháp đ i v i bài toán 8 con h u. ( Gi i pháp th c s đ
dành cho b n đ c t làm nh m t bài t p.)
18
c
Hình 2.2 M t gi i pháp đ i v i bài toán 8 con h u
◊ Ki m tra m c tiêu: 8 con h u trên bàn c , khơng con nào n con nào
◊ Chi phí đ
ng đi: b ng khơng
◊ C ng có các tr ng thái và các tốn t có th khác
.Hãy xem xét s cơng th c hố
◊ Các tr ng thái: b t c s s p x p c a t 0 đ n 8 con h u trên bàn c
◊ Các toán t : thêm m t con h u vào b t c ô nào
Trong cách công th c hố này, chúng ta có 648 dãy có th đ th . M t s l a ch n khôn
khéo s s d ng th c t là vi c đ t m t con h u vào ô mà nó đã b chi u s khơng thành cơng b i
vì vi c đ t t t c các con h u cịn l i s khơng giúp nó kh i b n(b con h u khác chi u). Do v y
chúng ta có th th cách cơng th c hoá sau:
◊ Các tr ng thái: là s s p x p c a 0 đ n 8 con h u mà khơng con nào n con nào
◊ Các tốn t : đ t m t con h u vào c t tr ng bên trái nh t mà nó không b
h u nào khác.
n b i b t c con
D th y r ng các hành đ ng đã đ a ra ch có th t o nên các tr ng thái mà khơng có s n
l n nhau; nh ng đơi khi có th khơng có hành đ ng nào. Tính tốn nhanh cho th y ch có 2057
kh n ng có th đ x p th các con h u. Cơng th c hố đúng đ n s t o nên m t s khác bi t r t
l n đ i v i kích th c c a khơng gian tìm ki m. Các s xem xét t ng t c ng s đ c áp d ng
cho cách cơng th c hố tr ng thái đ y đ . Ch ng h n, chúng ta có th thi t l p v n đ nh sau:
◊ Các tr ng thái: là s s p x p c a 8 con h u, m i con trên m t c t.
◊ Các toán t : di chuy n b t c con h u nào b chi u t i m t ô khác trên cùng c t.
Cách công th c này s cho phép các gi i thu t cu i cùng tìm ra m t gi i pháp, nh ng s là
t t h n n u di chuy n t i ô b chi u.
Các bài tốn th gi i th c
Tìm ki m đ
ng đi
Chúng ta đã xem vi c tìm ki m đ ng đi đ c đ nh ngh a nh th nào b ng các thu t ng
ch các v trí xác đ nh và các phép di chuy n d c theo các đ ng n i gi a chúng. Các gi i thu t
tìm ki m đ ng đi đ c s d ng trong r t nhi u các ng d ng, nh tìm đ ng đi trong các m ng
máy tính , trong các h th ng t v n du l ch t đ ng, và trong các h th ng l p k ho ch cho các
chuy n du l ch b ng máy bay. ng d ng cu i cùng có l ph c t p h n, b i vì du l ch b ng máy
bay có chi phí đ ng đi r t ph c t p, liên quan đ n v n đ ti n nong, ch t l ng gh ng i, th i
gian trong ngày, lo i máy bay, các gi i th ng cho các l trình bay th ng xuyên, v.v H n n a,
các hành đ ng trong bài tốn khơng có k t qu đ c bi t đ y đ : các chuy n bay có th đ n ch m
hay đ ng ký tr c quá nhi u, có th b m t liên l c, s ng mù ho c s b o v kh n c p có th gây
ra s trì hỗn.
Bài tốn ng
i bán hàng rong và các chuy n du l ch
Hãy xét bài toán kinh đi n sau: “ Th m t t c các thành ph m i thành ph th m ít nh t m t
l n, kh i hành và k t thúc Bucaret”. i u này r t gi ng v i tìm ki m đ ng đi, b i vì các toán
t v n t ng ng v i các chuy n đi gi a các thành ph li n k . Nh ng đ i v i bài toán này,
không gian tr ng thái ph i ghi nh n nhi u thơng tin h n. Ngồi v trí c a agent, m i tr ng thái
ph i l u l i đ c các thành ph mà agent đã đi qua. Nh v y, tr ng thái ban đ u s là “ Bucaret:
đã th m{Bucaret}.”, m t tr ng thái trung gian đi n hình s là “ Vaslui: đã th m {Bucaret,
19
Urziceni, Vaslui}.” và vi c ki m tra m c tiêu s ki m tra xem agent đã
20 thành ph đã đ c vi ng th m xong toàn b ch a.
Bucaret ch a và t t c
Bài toán ng i bán hàng rong (TSP) là m t bài toán du l ch n i ti ng trong đó m i thành
ph ph i đ c vi ng th m đúng chính xác m t l n. M c đích là tìm hành trình ng n nh t. 6 Bài
tốn có đ ph c t p NP(Karp,1972), nh ng đã có m t s c g ng r t l n nh m c i thi n kh n ng
c a các thu t tốn TSP. Ngồi các chuy n đi đã đ c l p k ho ch cho ng i bán hàng rong,
nh ng thu t toán này đã đ c s d ng cho các nhi m v nh l p k ho ch cho s d ch chuy n c a
các m i khoan trên trên b ng m ch m t cách t đ ng.
Bài tốn hành trình ng n nh t - ng d ng ngun lý tham lam (Greedy)
Bài tốn: Hãy tìm m t hành trình cho ng i giao hàng đi qua n đi m khác nhau, m i đi m
đi qua m t l n và tr v đi m xu t phát sao cho t ng chi u dài đo n đ ng c n đi là ng n nh t.
Gi s r ng có con đ ng n i tr c ti p t gi a hai đi m b t k .
T t nhiên là có th gi i bài toán này b ng cách li t kê t t c các con đ ng có th đi, tính
chi u dài c a m i con đ ng đó r i tìm con đ ng có chi u dài ng n nh t. Tuy nhiên cách gi i
này có đ ph c t p O(n!) Do đó, khi s đ i lý t ng thì s con đ ng ph i xét s t ng lên r t nhanh.
M t cách đ n gi n h n nhi u cho k t qu t ng đ i t t là ng d ng thu t toán heuristic ng
d ng nguyên lý tham lam Greedy. T t ng c a thu t gi i nh sau:
•
i m kh i đ u, ta li t kê t t c các quãng đ
đi theo con đ ng ng n nh t.
ng t đi m xu t phát cho đ n n đ i lý r i ch n
•
Khi đã đi đ n m t đ i lý ch n đi đ n đ i lý k ti p c ng theo nguyên t c trên. Ngh a là li t
kê t t c các con đ ng t đ i lý ta đang đ ng đ n nh ng đ i lý ch a đ n. Ch n con đ ng
ng n nh t. L p l i quá trình này cho đ n lúc khơng cịn đ i lý nào đ đi
Bài toán phân vi c - ng d ng c a ngun lý th t
Bài tốn: M t cơng ty nh n đ c h p đ ng gia công m chi ti t máy J1, J2, … Jm. Cơng ty có
n máy gia cơng l n l t là P1, P2, … Pn. M i chi ti t đ u có th gia cơng trên b t k máy gia công
nào. M t khi đã gia công m t chi ti t trên m t máy, công vi c s ti p t c cho đ n lúc hồn thành,
khơng th b c t ngang.
gia cơng m t vi c J1 trên m t máy b t k ta c n dùng th i gian t ng
ng là t1. Nhi m v c a công ty là làm sao đ gia cơng xong tồn b n chi ti t trong th i gian s m
nh t.
Chúng ta xét bài tốn trong tr ng h p có 3 máy P1, P2, P3 và sáu công vi c v i th i gian là
t1 = 2 , t2 = 5, t3 = 8, t4 = 1, t5 = 5, t6 = 1. Có m t gi i pháp đ c đ t ra là: T i th i đi m t = 0, ta
ti n hành gia công chi ti t J2 trên máy P1, J5 trên máy P2 và J1 t i P3. T i th i đi m t = 2 cơng vi c
J1 đ c hồn thành, trên máy P3 ta gia công ti p chi ti t J4. Trong lúc đó, hai máy P1 và P2 v n
đang th c hi n công vi c đ u tiên c a mình … Theo v y sau đó máy P3 s ti p t c hồn thành n t
các công vi c J6 và J3. Th i gian hồn thành cơng vi c là 12. Ta th y ph ng án này đã th c hi n
công vi c m t cách không t t. Các máy P1 và P2 có quá nhi u th i gian r nh.
Thu t tốn tìm ph ng án t i u L0 cho bài toán này theo ki u vét c n có đ ph c t p c
O(m ) (v i m là s máy và n là s công vi c). Bây gi ta xét đ n m t thu t gi i Heuristic r t đ n
gi n (đ ph c t p O(n)) đ gi i bài tốn này:
n
• S p x p các cơng vi c theo th t gi m d n v th i gian gia cơng
• L nl
t s p x p các vi c theo th t đó vào máy cịn d nhi u th i gian nh t
V i t t ng nh v y ta hồn tồn có th đ a ra m t ph ng án t i u L*, th i gian th c
hi n công vi c b ng 8, đúng b ng th i gian th c hi n công vi c J3
20
i u khi n Robot
i u khi n robot là s t ng qt hố c a bài tốn tìm đ ng đi đã đ c miêu t lúc tr c.
Thay vì m t t p các l trình r i r c, m t robot có th di chuy n trong m t không gian liên ti p v i
(v m t nguyên lý) m t b vô h n các hành đ ng và tr ng thái có th .
đ n gi n, robot tròn di
chuy n trên m t m t ph ng, không gian b n ch t là hai chi u. Khi rob t có cánh tay và chân mà
ph i đ c đi u khi n, khơng gian tìm ki m tr nên đa chi u. C n có các k thu t tiên ti n đ bi n
khơng gian tìm ki m tr nên h u h n. Ngoài s ph c t p c a bài tốn cịn ch các robot th t s
ph i x lý các l i trong vi c đ c thông tin sensor và các b đi u khi n đ ng c .
S p x p dãy
S l p ráp t đ ng các đ i t ng ph c t p đ c th c hi n b i rôb t l n đ u tiên đã đ c
ti n hành b i robot Freddy (Michie,1972). S phát tri n k t đó khá ch m ch p nh ng ch c ch n
nó r t c n cho nh ng n i l p ráp ph c t p nh l p ráp đi n t . Trong các bài toán l p ráp, v n đ
là tìm m t th t đ l p ráp các ph n c a m t s n ph m. N u nh l a ch n sai m t th t , s
không th l p thêm m t s các b ph n c a s n ph m n u nh không ph i d b m t s b ph n
đã l p ráp lúc tr c đó. Ki m tra m t b c trong dãy đ đ m b o tính kh thi là m t bài tốn tìm
ki m hình h c ph c t p r t g n v i đi u khi n robot. Nh v y, vi c sinh ra nh ng b c k v h p
lý là khâu đ t nh t trong dây truy n l p ráp và vi c s d ng các gi i thu t t t đ làm gi m vi c tìm
ki m là đi u c n thi t.
2.4 CÁC PH
NG PHÁP BI U DI N VÂN
Tìm ki m các gi i pháp
Chúng ta đã xem xét cách làm th nào đ xác đ nh m t v n đ , và làm th nào đ cơng nh n
m t gi i pháp. Ph n cịn l i – tìm ki m m t gi i pháp- đ c th c hi n b i m t phép tìm ki m
trong khơng gian tr ng thái. ý t ng là đ duy trì và m r ng m t t p các chu i gi i pháp c c b .
Trong ph n này, chúng ta ch ra làm th nào đ sinh ra nh ng chu i này và làm th nào đ ki m
soát đ c chúng b ng cách s d ng các c u trúc d li u h p lý.
Kh i t o các chu i hành đ ng
Ví d đ gi i quy t bài tốn tìm đ ng đi t Arad đ n Bucaret, chúng ta b t đ u v i tr ng
thái đ u là Arad. B c đ u tiên là ki m tra xem nó có ph i là tr ng thái đích hay khơng. Rõ ràng
là không, nh ng vi c ki m tra là r t quan tr ng đ chúng ta có th gi i quy t nh ng vi c b ch i
x nh “ b t đ u Arad, đi đ n Arad”. Do nó khơng ph i là tr ng thái đích, chúng ta c n ph i
xem xét m t s tr ng thái khác. i u này đ c th c hi n b ng cách áp d ng các toán t cho tr ng
thái hi n th i, do đó xây d ng nên m t t p các tr ng thái m i. Quá trình này đ c g i là s m
r ng tr ng thái. Trong tr ng h p này, chúng ta có ba tr ng thái m i, “ Sibiu”,” Timisoara” và
“ Zerind” b i vì có m t đ ng đi m t b c tr c ti p t Arad đ n ba thành ph này. N u nh ch
có duy nh t m t kh n ng, chúng ta s ch n kh n ng đó và ti p t c đi ti p. Nh ng b t c khi nào
mà có nhi u kh n ng l a ch n, chúng ta ph i quy t đ nh s ch n ph ng án nào đ đi ti p.
ây chính là v n đ c t y u c a vi c tìm ki m – l a ch n m t v trí và đ các l a ch n
còn l i cho vi c l a ch n sau này n u nh s l a ch n đ u tiên không đ a đ n m t gi i pháp. Gi
s chúng ta ch n Zezind. Chúng ta ki m tra xem nó đã ph i là tr ng thái đích ch a (nó ch a ph i
tr ng thái đích), và sau đó m r ng nó đ có “ Arad “ và “ Oradea”. Nh th chúng ta có th
ch n m t trong hai tr ng thái này, ho c là quay l i và ch n Sibiu hay Timisoara. Chúng ta ti p t c
ch n , ki m tra và m r ng cho đ n khi tìm đ c m t đ ng đi, ho c cho đ n khi khơng cịn tr ng
21
thái nào n a đ m r ng. Vi c l a ch n tr ng thái nào đ m r ng tr
ki m quy t đ nh.
c tiên do chi n l
2.5. CÁC PH
B N
Các chi n l
NG PHÁP GI I QUY T V N
C
c tìm
c tìm ki m
Cơng vi c ch y u c a vi c tìm ki m đã chuy n sang vi c tìm ki m m t chi n l c tìm
ki m đúng đ n đ i v i m t v n đ . Trong s nghiên c u c a chúng ta v l nh v c này, chúng ta s
đánh giá các chi n l c b ng các thu t ng c a b n tiêu chu n sau:
◊ Tính hồn thành: chi n l
◊
c có b o đ m tìm th y m t gi i pháp khi có m t v n đ
ph c t p th i gian: chi n l
c m t bao lâu đ tìm ra m t gi i pháp?
◊
ph c t p không gian (dung l ng b nh ): chi n l
b nh c n thi t đ th c hi n vi c tìm ki m.
◊ Tính t i u: chi n l
gi i pháp khác nhau?
c có tìm đ
c gi i pháp có ch t l
c đó c n bao nhiêu dung l
ng
ng cao nh t khi có m t s các
Ph n này s nói đ n 6 chi n l c tìm ki m mà đ c s d ng d i tiêu đ tìm ki m khơng
đ thơng tin (uninformed search). Thu t ng này có ngh a là khơng có các thơng tin v s các
b c hay chi phi đ ng đi t tr ng thái hi n t i cho t i đích – t t c nh ng gì chúng có th làm là
phân bi t m t tr ng thái đích v i m t tr ng thái không ph i là tr ng thái đích. Tìm ki m khơng có
thơng tin đ y đ đơi khi cịn đ c g i là tìm ki m mù (blind search).
Tìm ki m theo chi u r ng
M t chi n l c tìm ki m đ n gi n là tìm ki m theo chi u r ng. Trong chi n l c này, nút
g c đ c m r ng tr c tiên, sau đó đ n l t t t c các nút mà đ c sinh ra b i nút g c đ c m
r ng, và sau đó ti p đ n nh ng nút k ti p c a chúng và c nh v y. Nói m t cách t ng quát, t t
c các nút đ sâu d trên cây tìm ki m đ c m r ng tr c các nút đ sâu d+1. Tìm ki m theo
chi u r ng có th đ c th c hi n b ng cách g i gi i thu t general-search v i m t hàm hàng đ i
mà đ a các tr ng thái m i đ c sinh ra vào cu i c a hàng đ i, đ ng sau t t c các tr ng thái mà
đã đ c sinh ra tr c nó:
Function Tìm- ki m- r ng(problem)
Returns m t gi i pháp ho c th t b i
Return General-search (problem, x p vào cu i hàng)
Hình 2.3. Tìm ki m trên m t cây nh phân đ n gi n
Tìm ki m theo chi u r ng là m t chi n l c r t có ph ng pháp (có h th ng) b i vì nó
xem xét t t c các đ ng đi có đ dài b ng 1 tr c, sau đó đ n t t c nh ng đ ng đi có đ dài
22
b ng 2, và c nh v y. Hình 2.3 ch ra quá trình c a s tìm ki m trên m t cây nh phân đ n gi n.
N u nh có m t gi i pháp, tìm ki m theo chi u r ng đ m b o s tìm đ c nó, và n u có nhi u gi i
pháp, tìm ki m theo chi u r ng s ln tìm ra tr ng thái đích nơng nh t tr c tiên. D i thu t ng
c a 4 tiêu chu n, tìm ki m theo chi u r ng là hồn thành, và nó đ c cung c p m t cách t i u
chi phí đ ng d n b ng m t hàm t ng c a đ sâu các nút.
Chúng ta ph i xem xét th i gian và dung l ng b nh nó s d ng đ hồn thành m t cu c
tìm ki m.
làm đi u này, chúng ta xem xét m t khơng gian tr ng thái có tính gi thi t trong đó
m i tr ng thái có th đ c m r ng đ t o ra các tr ng thái m i b. Chúng ta nói r ng y u t phân
nhánh c a nh ng tr ng thái này (và c a cây tìm ki m) là b. G c c a cây tìm ki m sinh ra b nút
m c đ u tiên, m i nút đó l i sinh ra thêm b nút, và s có c th y b2 nút m c th hai. M i m t
nút này l i sinh ra thêm b nút, t o ra b3 nút m c th ba, và c nh v y. Bây gi chúng ta gi s
r ng gi i pháp cho bài tốn này có đ dài đ ng đi là d, nh v y s nút t i đa đ c m r ng tr c
khi tìm th y m t gi i pháp là :
1 + b + b2 + b3 +.... + bd
ây là s nút t i đa, nh ng gi i pháp có th đ c tìm th y b t c đi m nào thu c m c có
đ sâu là d. Do đó, trong tr ng h p t t nh t , s l ng các nút s ít h n.
Tìm ki m v i chi phí th p nh t
Phép tìm ki m theo chi u r ng tìm đ c tr ng thái đích, nh ng tr ng thái này có th khơng
ph i là gi i pháp có chi phí th p nh t đ i v i m t hàm chi phí đ ng đi nói chung. Tìm ki m v i
chi phí th p nh t thay đ i chi n l c tìm ki m theo chi u r ng b ng cách luôn luôn m r ng nút
có chi phí th p nh t (đ c đo b i cơng th c tính chi phí đ c đi g(n)), thay vì m r ng nút có đ
sâu nơng nh t. D th y r ng tìm ki m theo chi u r ng chính là tìm ki m v i chi phí th p nh t
v i g(n)= DEPTH(n).
Khi đ t đ c nh ng đi u ki n nh t đ nh, gi i pháp đ u tiên đ c tìm th y s đ m b o là gi i
pháp r nh t, do n u nh có m t đ ng đi khác r h n, nó đã ph i đ c m r ng s m h n và nh
v y nó s ph i đ c tìm th y tr c. Vi c quan sát các hành đ ng c a chi n l c s giúp gi i thích
đi u này. Hãy xem xét bài tốn tìm đ ng đi. Ván đ là đi t S đ n G, và chi phí c a m i tốn t
đ c ghi l i. u tiên chi n l c s ti n hành m r ng tr ng thái ban đ u, t o ra đ ng đi t i A, B
và C. Do đ ng đi t i A là r nh t, nó s ti p t c đ c m r ng, t o ra đ ng đi SAG mà th c s
là m t gi i pháp, m c dù không ph i là ph ng án t i u. Tuy nhiên, gi i thu t không công nh n
nó là m t gi i pháp, b i vì nó chi phí là 11, và nó b che b i đ ng đi SB có chi phí là 5 trong
hàng đ i. D ng nh th t là x u h n u sinh ra m t gi i pháp ch nh m chơn nó sâu trong hàng
đ i, nh ng đi u đó là c n thi t n u chúng ta mu n tìm m t gi i pháp t i u ch không đ n thu n
là tìm b t c gi i pháp nào. B c ti p theo là m r ng SB, t o ra SBG, và nó là đ ng đi r nh t
còn l i trong hàng đ i, do v y m c tiêu đ c ki m tra và đ a ra m t gi i pháp.
Phép tìm ki m chi phí ít nh t tìm ra gi i pháp r nh t tho mãn m t yêu c u đ n gi n: Chi
phí c a m t đ ng đi ph i không bao gi gi m đi khi chúng ta đi d c theo đ ng đi. Nói cách
khác, chúng ta mong mu n r ng
g(Successor(n)) ≥ g(n)
v i m i nút n.
Gi i h n đ i v i chi phí đ ng đi không đ c gi m th c s s là v n đ c n quan tâm n u
chi phí đ ng đi c a m t nút là t ng chi phí c a các tốn t mà t o nên đ ng đi. N u nh m i
toán t có m t chi phí khơng âm, thì chi phí c a đ ng đi khơng bao gi có th gi m đi khi chúng
ta đi d c theo đ ng đi và phép tìm ki m v i chi phí gi ng nhau có th tìm đ c đ ng đi r nh t
mà không c n ki m tra h t toàn b cây. Nh ng n u m t s tốn t có chi phí âm thì ch ng có m t
23