1. Trang chủ
  2. » Công Nghệ Thông Tin

Nhập môn trí tuệ nhân tạo

171 253 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 171
Dung lượng 1,95 MB

Nội dung

Nh ng ng i có tri th t t là nh ng chuyên gia expert... 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 A

Trang 1

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

Trang 2

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

Trang 3

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

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 hoàn thi n h n cho các l n tái b n sau

TÁC GI

Trang 5

CH NG 1: KHOA H C TRÍ TU NHÂN T O: T NG QUAN

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

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

Trang 6

nghiên c u đ ng th i (nh Wang (1960)) ông quan tâm đ n vi c có đ c nh ng gi i pháp đúng

đ n, không quan tâm đ n vi c con ng i ph i làm nh th nào

1.1.2 Các qui t c t duy

Tri t gia Aristote là ng i đ u tiên h th ng hoá “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 toá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 toá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

Trang 7

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

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 đoá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 hoà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 toàn b c u trúc có th bên trong b ng phân t và sau đó ph ng đoá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 đ

Trang 8

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ì: toà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 đoá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 chuyên 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 đoá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 hoá 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 quá 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 ng theo các phát bi u sau đây:

Trang 9

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

đ c nh ng h nh đ ng có t duy trong “l nh v c x lý tính toán”

(Schalkoff, 1990)

“Trong ng nh khoa h c máy tính

có liên quan đ n s t đ ng hoá

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 quát, 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 quá trình

ki m tra c n hoà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)

Trang 10

• Bi u di n tri th c, l u tr thông tin đ c cung c p tr c ho c trong quá trình th m v n

• T đ ng l p lu n đ s d ng thông tin đã đ c l u nh m tr l i câu h i và phác th o k t lu n

m i

• Máy h c: đ thích nghi v i môi tr 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à

(knowledge base) và đ ng c suy di n (inference engine)

1.3.3 C s tri th c (Knowledge Base: KB)

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)

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 đ

THU T

DI N

Trang 11

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 toá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 toá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 toá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 IPL.V, LISP

• 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

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:

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

Trang 12

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 ng trình sau ch a đ c p

đ n các ph ng pháp nh n d ng đ c

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

N i dung v khoa h c ng i máy s đ c trình bày trong tài li u riêng, không thu c các

ch ng c a tài li u này

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 đoà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

Trang 13

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

Trang 14

1.5 NH NG V N CH A C GI I QUY T TRONG TRÍ TU NHÂN T O

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

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

h 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 hoá đ 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

Trang 15

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

Trang 16

d “m t l nh v c nghiên c u đó là xoay quanh các k thu t tính toá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 i đây có th gi i quy t đ c b ng máy tính:

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 i

e 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 đoá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?

Trang 17

CH NG 2: CÁC PH NG PHÁP GI I QUY T V N

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

đ ng d n đ n tr ng thái mong mu n Ch ng này phân tích các thu t toán

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

Trang 18

Trong ph n này, chúng ta s tìm hi u quá trình xác đ nh bài toá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ò

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:

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

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

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

Trang 19

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í toà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 toán(ít nh t v i m t kho ng th i gian nh ) Do đó, đ tính toá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 luôn 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 toá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 toá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 toán trò

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 đ

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 quân c m t trong 9 ô vuông 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 toán t : ô tr ng di chuy n sang trái, ph i, lên trên, đi xu ng

Trang 20

• Ki m tra m c tiêu: tr ng thái kh p v i hình d ng ch ra hình 3.4

• Chi phí đ ng đi: m i b c đi chi phí là 1, vì v y chi phí đ ng đi b ng đ dài c a

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

đ hoà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 toá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 quân 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 toán 8 quân 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:

dành cho b n đ c t làm nh m t bài t p.)

Tr ng thái đ u Tr ng thái đích

Trang 21

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 toán t có th khác

.Hãy xem xét s công th c hoá

◊ 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 hoá 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 toá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 n b i b t c con

h u nào khác

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 toá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 hoá đú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 hoá 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 toán th gi i th c

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 toá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ì hoãn

Bài toá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 Ngoà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,

Trang 22

Urziceni, Vaslui}.” và vi c ki m tra m c tiêu s ki m tra xem agent đã Bucaret ch a và t t c

20 thành ph đã đ c vi ng th m xong toàn b ch a

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 toá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 toán TSP Ngoà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 toán hành trình ng n nh t - ng d ng nguyên lý tham lam (Greedy)

Bài toá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 đ ng t đi m xu t phát cho đ n n đ i lý r i ch n

đi theo con đ ng ng n nh t

• 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 nguyên lý th t

Bài toá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 hoà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 toàn b n chi ti t trong th i gian s m

nh t

Chúng ta xét bài toá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 hoà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 hoàn thành n t các công vi c J6 và J3 Th i gian hoà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 toá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(mn) (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 toán này:

• 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 n l 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 hoàn toà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

Trang 23

i u khi n Robot

i u khi n robot là s t ng quát hoá c a bài toá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 toá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 toá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

Kh i t o các chu i hành đ ng

Ví d đ gi i quy t bài toá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

Trang 24

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 c tiên do chi n l c tìm

ki m quy t đ nh

Các chi n l 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 hoà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 đ

b nh c n thi t đ th c hi n vi c tìm ki m

◊ Tính t i u: chi n l c có tìm đ c gi i pháp có ch t l ng cao nh t khi có m t s các

gi i pháp khác nhau?

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

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

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)

Trang 25

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 luôn 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à hoà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 đ hoà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 toá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 toán tìm đ ng đi Ván đ là đi t S đ n G, và chi phí c a m i toá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 toá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 toán t có chi phí âm thì ch ng có m t

Trang 26

cách tìm ki m nào khác ngoài m t phép tìm ki m toàn b t t c các nút đ tìm ra gi i pháp t i u,

b i vì chúng ta s không bao gi bi t đ c r ng khi nào m t đ ng đi s chuy n sang m t b c

v i chi phí âm cao và do đó tr thành đ ng đi t t nh t trong t t c các đ ng đi, b t k là nó dài bao nhiêu và chi phí th nào

Tìm ki m theo chi u sâu

Tìm ki m theo chi u sâu luôn luôn m r ng m t trong các nút m c sâu nh t c a cây Ch khi phép tìm ki m đi t i m t đi m c t (m t nút không ph i đích mà không có ph n m r ng), vi c tìm ki m s quay l i và m r ng đ i v i nh ng nút nông h n Chi n l c này có th đ c th c

hi n b i General-search v i m t hàm hàng đ i mà luôn đ a các tr ng thái m i đ c sinh ra vào

tr c hàng đ i Do nút đ c m r ng là sâu nh t, các nút k ti p c a nó th m chí s sâu h n và khi đó s tr thành sâu nh t Quá trình tìm ki m đ c minh ho trong hình 2.4

Hình 2.4 Tìm ki m theo chi u sâu

Phép tìm ki m theo chi u sâu yêu c u dung l ng b nh r t khiêm t n Nh hình v cho

th y, nó ch c n ph i l u m t đ ng duy nh t t g c t i nút lá, cùng v i các nút anh em v i các nút trên đ ng đi ch a đ c m r ng còn l i i v i m t không gian tr ng thái v i h s r nhánh b và đ sâu t i đa m, phép tìm ki m theo chi u sâu ch yêu c u l u tr bm nút, ng c lai

so v i bd nút mà phép tìm ki m theo chi u r ng yêu c u trong tr ng h p m c tiêu nông nh t

đ sâu d

ph c t p th i gian c a phép tìm ki m sâu là O(bm) i v i nh ng v n đ mà có r t nhi u gi i pháp, phép tìm ki m sâu có th nhanh h n tìm ki m r ng, b i vì nó có m t c h i t t tìm ra m t gi i pháp ch sau khi khám phá m t ph n nh c a toàn b không gian Tìm ki m theo chi u r ng s v n ph i tìm t t c các đ ng đi có đ sâu d-1 tr c khi xem xét b t c đ ng đi nào có đ sâu d Phép tìm ki m theo chi u sâu v n c n th i gian O(bm) trong tr ng h p t i nh t

M t h n ch c a phép tìm ki m sâu là nó có th b t c khi đi theo m t đ ng sai R t nhi u bài toán có các cây tìm ki m r t sâu, th m chí vô h n, vì v y tìm ki m sâu s không bao gi có th quay tr l i đ c m t trong các nút g n đ nh c a cây sau khi có m t s l a ch n sai Phép tìm

ki m s luôn luôn ti p t c đi xu ng mà không quay tr l i, th m chí khi có m t gi i pháp m c

r t nông t n t i Nh v y đ i v i nh ng bài toán này, phép tìm ki m sâu s ho c là b sa l y trong

m t vòng l p vô h n và không bao gi đ a ra m t gi i pháp, ho c là cu i cùng nó có th đ a ra

m t đ ng đi gi i pháp mà dài h n so v i ph ng án t i u i u đó có ngh a là phép tìm ki m theo chi u sâu là không hoàn thành và không t i u B i vì đi u này, c n tránh s d ng phép tìm

ki m sâu cho các cây tìm ki m có đ sâu t i đa là vô h n ho c r t sâu

Trang 27

có th th c hi nvi c gi i h n đ sâu b ng cách s d ng các toán t d i d ng “ N u b n thành

ph A và v a đi m t đo n đ ng ít h n 19 b c, thì kh i t o m t tr ng thái m i thành ph B

v i đ dài đ ng đi l n h n 1” V i t p các toán t m i này, chúng ta đ m b o tìm th y gi i pháp

n u nó t n t i, nh ng chúng ta v n không đ m b o tìm th y gi i pháp ng n nh t tr c tiên: phép tìm ki m theo chi u sâu gi i h n là hoàn thành nh ng không t i u N u chúng ta ch n m t gi i

h n đ sâu mà quá nh , thì phép tìm ki m theo chi u sâu gi i h n th m chí không hoàn thành

ph c t p v không gian và th i gian c a phép tìm ki m theo chi u sâu gi i h n t ng đ ng v i phép tìm ki m sâu Nó m t O(bl) th i gian và O(bl) không gian, v i l là gi i h n đ sâu

Tìm ki m l p sâu d n (Iterative Deepening Search)

Thành ph n khó kh n c a tìm ki m theo đ sâu gi i h n đem l i m t gi i h n khá t t Chúng ta l y 19 nh là m t gi i h n đ sâu “hi n nhiên” cho bài toán Rumani, nh ng th c ra n u chúng ta nghiên c u k b n đ , chúng ta s th y r ng b t c thành ph nào c ng có th đi đ n

đ c t b t k thành ph nào khác v i nhi u nh t là 9 b c Con s này, đ c bi t đ n nh là

đ ng kính c a không gian tr ng thái , cho chúng ta m t gi i h n đ sâu t t h n, và đ a đ n m t phép tìm ki m theo đ sâu gi i h n hi u qu h n Tuy nhiên, đ i v i h u h t các bài toán, chúng

ta ch bi t m t gi i h n đ sâu t t sau khi đã gi i quy t xong bài toán

returns General-search(bài toán, x p đ u hàng đ i)

Function tìm ki m -l p -sâu d n(bài toán) returns m t dãy gi i pháp

Inputs: bài toán, m t v n đ c n gi i quy t

Trang 28

Phép tìm ki m l p sâu d n là m t chi n l c né tránh v n đ l a ch n gi i h n đ sâu t t

nh t và c g ng th t t c các gi í h n đ sâu có th : đ u tiên th đ sâu b ng 0, sau đó đ sâu

b ng 1, ti p theo là 2, và c nh v y V m t hi u qu , vi c l p sâu d n k t h p l i ích c a c hai phép tìm ki m theo chi u sâu và tìm ki m theo chi u r ng ây là ph ng pháp t i u và đ y đ ,

gi ng nh phép tìm ki m theo chi u r ng, nh ng ch yêu c u b nh r t ít nh phép tìm ki m sâu yêu c u Th t m r ng các tr ng thái t ng t v i tìm ki m r ng, ngo i tr vi c m t s tr ng thái đ c m r ng nhi u l n

Phép tìm ki m l p sâu d n có th d ng nh là h i lãng phí, b i vì có r t nhi u tr ng thái

đ c m r ng nhi u l n Tuy nhiên, đ i v i h u h t các bài toán, t ng chi phí c a s m r ng nhi u l n này th c ra khá nh B ng tr c giác, có th th y r ng trong m t cây tìm ki m theo lu t

s m , h u h t t t c các nút là m c th p nh t, vì v y vi c các m c bên trên đ c m r ng nhi u l n s không thành v n đ l m nh c l i r ng s l n m r ng trong phép tìm ki m theo đ sâu gi i h n t i đ sâu d v i h s phân nhánh b là:

1+ b + b 2 + ….+ bd -2 + bd -1 + bd

C th , cho b=10, và d=5 thì s l n m r ng là :

1+10+100+1000+10.000+100.000= 111.111

Trong phép tìm ki m l p sâu d n, các nút m c d i cùng đ c m r ng m t l n, nh ng nút trên m c d i cùng đ c m r ng hai l n, và c nh v y đ n g c c a cây tìm ki m s đ c

m r ng d+1 l n Do đó t ng s l n m r ng trong m t phép tìm ki m l p sâu d n là :

(d+1)1 + (d)b + (d-1)b 2 + … + 3bd -2 + 2bd -1 + 1bd

Và c th l i cho b=10, và d=5 thì s l n m r ng là :

6+50+400+3000+20.000+100000= 123.456

Nh v y chúng ta th y, m t phép tìm ki m l p sâu d n t đ sâu1 xu ng t i đ sâu d ch

m r ng nhi u h n kho ng11% s nút so v i phép tìm ki m theo chi u r ng hay phép tìm ki m theo chi u sâu t i đ sâu d khi h s phân nhánh b=10 H s phân nhánh càng cao, t ng s các

tr ng thái đ c m r ng l p l i (nhi u l n) càng th p, nh ng th m chí khi h s phân nhánh là 2, phép tìm ki m l p sâu d n ch m r ng s tr ng thái nhi u g p hai so v i m t phép tìm ki m theo chi u r ng đ y đ i u đó có ngh a r ng đ ph c t p th i gian c a phép tìm ki m l p sâu d n

v n là O(bd), đ ph c t p không gian là O(bd) Nói chung, l p sâu d n là phép tìm ki m đ c tham kh o đ n khi có m t không gian tìm ki m l n và đ sâu c a gi i pháp là không bi t tr c

gi i pháp s đ c tìm th y sau O(2bd/2) = O(bd/2) b c, b i vì m i phép tìm ki m ti n và lùi ch

ph i đi m t n a quãng đ ng Xét ví d c th , v i b=10 và d=6, phép tìm ki m r ng sinh ra 1.111.111 nút, trong khi đó phép tìm ki m ti n lùi thành công khi m i h ng đ sâu b ng 3, t i

th i đi m 2.222 nút đã đ c t o ra i u này v m t lý thuy t nghe r t h p d n Chúng ta c n ph i xem xét m t s v n đ tr c khi th c hi n gi i thu t

Trang 29

Câu h i chính là, tìm ki m lùi t đích có nghiã là nh th nào? Chúng ta đ nh ngh a các nút

t tiên (predecessor) c a m t nút n là t t c các nút mà có nút n là nút k v (successor) Phép tìm

ki m lùi có ngh a là sinh ra nh ng nút t tiên liên ti p b t đ u t nút đích

Khi t t c các toán t là có th đ o ng c, các t p k v và t p t tiên là gi ng h t nhau Tuy nhiên, đ i v i m t s bài toán, vi c tính toán các ph n t t tiên là r t khó kh n

Con s O(bd/2) c a đ ph c t p th a nh n r ng quá trình ki m tra s giao nhau c a hai biên

gi i có th đ c th c hi n trong m t kho ng th i gian không đ i (nh v y, nó không ph thu c vào s tr ng thái) i u này th ng có th thu đ c v i m t b ng b m hai phép tìm ki m cu i cùng s g p nhau, t t c các nút c a ít nh t m t trong hai phép tìm ki m ph i đ c l u gi trong

b nh (gi ng nh v i tr ng h p c a phép tìm ki m r ng) i u này có ngh a là đ ph c t p không gian c a phép tìm ki m ti n lùi không có đ thông tin là O(bd/2)

Tiêu chu n

Tìm ki m theo chi u

r ng

Tìm ki m chi phí

th p nh t

Tìm ki m theo đ sâu

Tìm ki m theo đ sâu

gi i h n

Tìm

ki m l p sâu d n

bl

bl Không

ánh giá các chi n l c tìm ki m, b là h s phân nhánh, d là đ sâu c a gi i pháp; m là đ sâu

t i đa c a cây tìm ki m; l là gi i h n đ sâu

Cho đ n lúc này, chúng ta đã xét t t c các v n đ ngo i tr còn m t trong nh ng v n đ

ph c t p nh t c a quá trình tìm ki m, đó là: kh n ng lãng phí th i gian do vi c m r ng các tr ng thái mà đã g p và đã đ c m r ng tr c đó trên m t s đ ng đi i v i m t s bài toán, kh

n ng này không bao gi x y ra, m i tr ng thái ch đ c đi đ n theo m t con đ ng Vi c xác

đ nh chính xác v n đ bài toán 8 con h u r t có tác d ng, đó là m i tr ng thái ch có th nh n

đ c thông qua m t đ ng đi

i v i r t nhi u bài toán, các tr ng thái b l p l i là đi u không th tránh kh i i u này có

t t c các bài toán mà các toán t là có th đ o ng c, nh các bài toán tìm đ ng đi và bài toán

nh ng nhà truy n giáo và nh ng k n th t ng i Các cây tìm ki m cho nh ng bài toán này là vô

h n, nh ng n u chúng ta t a b t m t s tr ng thái l p l i, chúng ta có th c t cây tìm ki m xu ng còn kích th c h u h n, ch sinh ra m t ph n c a cây mà m r ng đ th không gian tr ng thái

Th m chí khi cây là h u h n, vi c tránh các tr ng thái l p có th d n đ n m t s suy gi m theo

c p s m chi phí tìm ki m M t ví d kinh đi n đ c mô t hình 2.4 Không gian ch ch a m+1

tr ng thái, v i m là đ sâu t i đa Do cây bao g m m i đ ng đi có th trong không gian, nó có 2m nhánh

Trang 30

2.6 GI I QUY T V N VÀ CÁC K THU T HEURISTIC

Các ph ng pháp tìm ki m có đ y đ thông tin

Ph n tr c đã ch ra r ng các chi n l c tìm ki m không đ y đ thông tin có th tìm th y

gi i pháp đ i v i các bài toán b ng cách t o ra m t cách có h th ng các tr ng thái m i và ki m tra chúng v i m c tiêu i u không may là, nh ng chi n l c này rõ ràng là không có hi u qu trong h u h t các tr ng h p Ph n này cho m t chi n l c tìm ki m có thêm hi u bi t (có đ thông tin the- m t chi n l c s d ng các tri th c đ c thù đ i v i bài toán - có th tìm các gi i pháp m t cách hi u qu h n nh th nào Ph n này c ng ch ra các bài toán t i u có th đ c

c a chúng ta là có gi i h n N u chúng ta s d ng gi i thu t tìm ki m t ng quát, thì cách duy

nh t có th áp d ng đ c tri th c là hàm "hàng đ i”, hàm quy t đ nh nút nào s đ c m r ng

ti p theo Thông th ng, tri th c đ quy t đ nh đi u này đ c cung c p b i m t hàm đ nh giá

tr v m t s có ngh a mô t s mong mu n đ c m r ng nút Khi các nút đ c x p th t

đ nút nào có đ nh giá t t nh t s đ c m r ng tr c Chi n l c nh v y đ c g i là phép tìm ki m t t nh t (best-first) Nó có th đ c cài đ t tr c ti p v i tìm ki m t ng quát, nh hình 2.6

Tên g i “tìm ki m t t nh t” là phép tìm ki m quan tr ng nh ng không chính xác N u chúng ta m r ng nút t t nh t tr c tiên, đó không ph i là phép tìm ki m - đó là m t cách đi

th ng đ n m c tiêu i u có th làm là ch n nút t ra là t t nh t theo hàm giá N u hàm giá là

rõ, thì nút này s là nút t t nh t Trong th c t , hàm giá th nh tho ng có sai sót và vi c tìm

ki m b l c đ ng Tuy nhiên, chúng ta s dùng tên “tìm ki m t t nh t”, vì tên “tìm ki m v ngoài t t nh t“ có v không ti n

Khi có m t h gi i thu t tìm ki m t ng quát v i các hàm theo th t khác nhau, t n t i

m t h các gi i thu t tìm ki m t t nh t v i các hàm giá khác nhau Vì m c đích là tìm ki m các gi i pháp có chi phí th p, nh ng gi i thu t này s d ng ph ng pháp đánh giá các chi phí

c a gi i pháp và c g ng t i thi u nó Chúng ta có m t ph ng pháp đo: s d ng chi phí

Function best-first-search(problem, hàm đ nh giá) return m t dãy gi i pháp

Input : problem, m t bài toán

Hàm đ nh giá, m t hàm giá tr

Hàm hàng đ i – m t hàm mà s p th t các nút theo hàm giá

Return general-search ( problem, hàm hàng đ i)

Trang 31

đ ng đi g đ quy t đ nh đ ng đi nào s m Tuy nhiên, ph ng pháp này không tìm tr c

ti p v phía đích làm ch m phép tìm ki m, ph ng pháp k t h p m t s cách đánh giá chi phí đ ng đi t m t tr ng thái t i tr ng thái đích g n nh t Xét hai ph ng pháp c b n

Ph ng pháp th nh t m nút g n đích nh t Ph ng pháp th hai m nút đ ng đi có chi phí ít nh t

T i thi u hoá chi phí đánh giá đ đi t i m c tiêu: phép tìm ki m tham lam

M t trong nh ng chi n l c tìm ki m t t nh t tr c đ n gi n nh t là t i thi u chi phí c

l ng đ đi t i m c tiêu ó là, nút mà tr ng thái c a nó đ c đánh giá là g n v i tr ng thái

m c tiêu nh t luôn luôn đ c m r ng tr c i v i h u h t các bài toán, chi phí c a vi c đi

t i đích t m t tr ng thái nào đó có th đ c c l ng nh ng không th xác đ nh chính xác

M t hàm mà tính toán nh ng c l ng chi phí nh v y đ c g i là hàm heuristic và th ng

v i bài toán tim đ ng đi t Arad đ n Bucaret

M t hàm heuristic t t đ i v i nh ng bài toán tìm đ ng đi gi ng nh th này là kho ng cách đ ng th ng(straight-line distance hay SLD) t i m c tiêu T c là,

hSLD(n) = kho ng cách đ ng th ng gi a n và v trí đích

V i phép heuristic kho ng cách -đ ng th ng, nút đ u tiên s m r ng t Arad s là Sibiu,

b i vì nó g n Bucaret h n so v i Zerind và Timisoara Nút m r ng ti p theo s là Fagaras, do nó

là nút g n nh t Fagaras s sinh ra Bucaret, và là đích i v i bài toán này, phép heuristic d n t i chi phí tìm ki m t i thi u: nó tìm m t gi i pháp mà không c n m m t nút nào không n m trên

đ ng đi gi i pháp (đ ng đi t i đích) Tuy nhiên, nó không ph i là hoàn toàn t i u: đ ng đi

mà nó tìm ra đi qua Sibiu và Fagaras t i Bucaret dài h n đ ng đi xuyên qua Rimnicu Vilcea và Pitesti (r i t i Bucaret) là 32 km Con đ ng này nó không tìm ra b i vì Fagaras g n v i Bucaret theo kho ng cách đ ng th ng h n so v i Rimnicu, vì v y nó đ c m tr c Chi n l c u tiên

ch n kh n ng có “mi ng ngo m l n nh t” (t c là đi b c đ u tiên đi đ c xa nh t) không quan tâm đ n các chi phí còn l i đ đi đ n đích, không đ m x a đ n vi c b c đi này có ph i là t t nh t xét v toàn c c hay không – chính vì th nó đ c g i là “ph ng pháp tìm ki m tham lam” M c

dù tham lam đ c coi là m t trong 7 l i n ng, nh ng các gi i thu t tham lam th ng t ra khá

hi u qu Chúng có thiên h ng tìm gi i pháp nhanh chóng, m c dù nh đã ch ra trong ví d v a

function greedy-search(problem) returns m t gi i pháp ho c th t b i

return best-first-search(problem,h)

Trang 32

r i, chúng không ph i luôn luôn tìm ra các gi i pháp t i u: c n ph i có s phân tích m t cách k các gi i pháp toàn c c, ch không ch m t s l a ch n t t nh t t c thì

Phép tìm ki m tham lam t ng t phép tìm ki m theo đ sâu đi m là nó u tiên đi theo

m t đ ng đ n t i đích, nh ng nó s quay lui khi g p đ ng c t.Nó có nh ng nh c đi m gi ng

v i ph ng pháp tìm ki m sâu - không t i u, và không hoàn thành vì có th r i vào m t đ ng

vô h n và không bao gi quay l i đ ch n kh n ng khác ph c t p th i gian trong tr ng h p

t i nh t c a phép tìm ki m tham lam là O(b m ), v i m là đ sâu t i đa c a không gian tìm ki m

B i vì phép tìm ki m tham lam l u tr t t c các nút trong b nh , đ ph c t p không gian c a nó

t ng t nh đ ph c t p th i gian V i m t hàm heuristic t t, đ ph c t p không gian và đ ph c

t p th i gian có th gi m đáng k L ng gi m ph thu c vào bài toán c th và ch t l ng c a

hàm h

Ph ng pháp tìm ki m háu n t i thi u hoá chi phí d tính t i đích, h(n), và do đó gi m chi phí tìm ki m đi đáng k i u không may là, đó không ph i là ph ng pháp t i u c ng nh hoàn thành M t khác, phép tìm ki m theo chi phí ít nh t l i t i thi u hoá chi phí đ ng tính đ n th i

đi m hi n t i, g(n); ó là ph ng pháp tìm ki m t i u và hoàn thành, nh ng có th r t không

hi u qu S r t t t n u chúng ta k t h p c hai ph ng pháp này đ l i d ng đi m m nh c a c hai ph ng pháp R t may là chúng ta có th làm đ c chính xác đi u đó, k t h p hai hàm đ nh giá đ n gi n b ng cách c ng chúng l i:

H n ch là c n ch n m t hàm h mà không v t quá chi phi đi t i đích M t hàm h nh v y

d c g i là m t heuristic có th ch p nh n Nh ng heuristic có th ch p nh n là theo quan đi m

c a nh ng ng i l c quan, vì h ngh chi phí c a vi c gi i quy t v n đ là ít h n th c t S l c quan này c ng s chuy n hàm f: N u h là ch p nh n đ c, f(n) không bao gi v t quá chi phí

th c t c a gi i pháp n Phép tìm ki m t t nh t s d ng f nh là m t hàm giá và m t hàm h ch p

nh n đ c v i tên ph ng pháp tìm ki m A*

Hình 2.7

Ví d rõ ràng v phép heuristic ch p nh n đ c là kho ng cách đ ng th ng hSLD mà chúng ta s d ng đ đi đ n Bucaret Kho ng cách đ ng th ng là ch p nh n đ c b i vì đ ng đi

ng n nh t gi a b t c hai đi m là m t đ ng th ng Trong hình 2.7, chúng ta ch ra m t s b c

đ u tiên c a phép tìm ki m A* t i Bucaret s d ng phép heuristic hSLD Chú ý r ng phép tìm

ki m A* u tiên m r ng t Rimnicu Vilcea h n so v i m r ng t Fagaras M c dù th m chí

Function A*-search(problem) return m t gi i pháp ho c th t b i

Return best-first-search(problem, g+ h)

Trang 33

Fagaras g n Bucaret h n, đ ng đi t i Fagaras không hi u qu b ng đ ng đi t i Rimnicu trong

vi c ti n g n t i Bucaret B n đ c có th mong mu n ti p t c ví d này đ xem đi u gì s x y đ n

ti p theo

Tr c khi chúng ta ch ng minh tính hoàn thành và tính t i u c a A*, chúng ta nên đ a ra

m t b c tranh tr c giác v ho t đ ng c a ph ng pháp tìm ki m này (Hình 2.8).M t minh ho không th thay th cho m t b ng ch ng, nh ng nó th ng d nh và có th s d ng t o ra các

ch ng c khi có yêu c u Tr c tiên, m t s quan sát ban đ u: n u nh b n ki m tra các cây tìm

ki m, b n s chú ý m t hi n t ng thú v : D c theo b t c đ ng đi nào t g c, chi phí f không bao gi t ng i u này không ph i là ng u nhiên Nó là đúng đ i v í h u nh t t c các heuristic

ch p nh n đ c Ng i ta nói m t heuristic nh v y là đ a ra s đ n đi u (monotonicity1)

N u heuristic là m t trong nh ng heuristic k c c mà không ph i là đ n đi u Chúng ta có

th s a ch a nh đ ph c h i tính đ n đi u Xét hai nút n và n’, v i n là nút cha c a n’ Gi s

g(n) = 3 và h(n) = 4, ta có, f(n)= g(n)+h(n) = 7 – nh v y ta bi t r ng giá tr th c c a m t gi i

pháp t i n ít nh t là 7 C ng gi s g(n’) = 4 và h(n’) = 2, do v y f(n’) =6 Rõ ràng, đây là m t ví

d v m t heuristic không đ n đi u R t may là, t th c t r ng b t c đ ng đi nào đ n n’ thì

c ng là đ ng đi đ n n, chúng ta có th th y r ng giá tr 6 là không có ý ngh a gì, b i vì chúng ta

đã bi t chi phí th c t ít nh t là 7 Nh v y, chúng ta nên ki m tra , m i l n chúng ta t o ra m t nút m i, đ xem chi phí f c a nó có nh h n chi phí f c a nút cha c a nó nay không: n u nh h n, chúng ta s s d ng chi phí f c a nút cha c a nó:

f(n’) = max(f(n), g(n’) + h(n’))

Theo cách này, ta b qua các giá tr d n sai đ ng có th x y ra v i m t heuristic không

đ n đi u Công th c này g i là c c đ i đ ng đi N u s d ng công th c đó, thì f luôn không

gi m d c theo b t c đ ng đi t g c, giá tr h đ c cung c p là ch p nh n đ c

ph c t p c a thu t toán A*

= g +h Các giá tr h là các kho ng cách đ ng th ng t i Bucharest l y t gi thi t

Trang 34

Ph ng pháp tìm ki m A* là hoàn thành, t i u và hi u qu m t cách t i u trong s t t c các thu t toán nh v y i u đó không có ngh a là A* là câu tr l i cho t t c các yêu c u tìm ki m

i v i h u h t các bài toán, s nút trong không gian tìm ki m đ ng vi n m c tiêu là c p s m theo đ dài c a gi i pháp M c dù không ch ng minh, nó đã đ c ch ra r ng đ t ng theo c p s

m s x y ra tr phi sai s trong hàm heuristic không t ng nhanh h n logarits c a chi phí đ ng đi

th c t Theo ký hi u toán h c, đi u ki n đ i v i đ t ng nh h n c p s m là :

h(n) – h*(n)⏐≤ O(logh*(n)),

v i h*(n) là chi phí th c t c a vi c đi t n đ n m c tiêu i v i h u h t t t c các heuristic trong th c t s d ng, sai s ít nh t c ng t l v i chi phí đ ng đi , và đ t ng theo c p s m

cu i cùng s v t quá b t c kh n ng c a máy tính nào T t nhiên, vi c s d ng m t heuristic t t

v n cho chúng ta m t ti t ki m r t l n so v i các phép tìm ki m không đ thông tin Trong ph n

ti p theo, chúng ta s xem xét đ n v n đ thi t k các heuristic t t

Tuy nhiên, th i gian tính toán không ph i là m t tr ng i chính c a A* Do nó l u tr t t

c các nút đ c t o ra trong b nh , A* th ng b v t ra kh i b nh r t lâu tr c khi nó h t th i gian Các gi i thu t phát tri n g n đây đã v t qua tr ng i v dung l ng b nh mà không ph i

hi sinh tính t i u hay tính hoàn thành

Các hàm heuristic

Cho đ n lúc này, chúng ta m i ch xem xét m t ví d v m t heuristic: kho ng cách đ ng

th ng đ i v i các bài toán tìm đ ng đi Trong ph n này, chúng ta s xét các hàm heuristic đ i v i trò ch i s 8 i u này s soi r i v y u t t nhiên c a các hàm heuristic nói chung

Trò ch i s 8 là m t trong nh ng bài toán tìm ki m theo ph ng pháp heuristic s m nh t Nh đã

đ c p trong ph n 2.5, m c tiêu c a trò ch i này là đi các con c theo chi u ngang ho c chi u d c vào ô

tr ng cho đ n khi thu đ c tr ng thái các quân c nh mô hình m c tiêu (hình 2.9)

362980 các s s p x p khác nhau c a 9 ô vuông ây v n là m t s r t l n các tr ng thái, vì th

Trang 35

b c ti p theo là tìm m t hàm heuristic t t N u chúng ta mu n tìm ki m các gi i thu t ng n nh t, chúng ta c n m t hàm heuristic mà không bao gi c đoán v t quá s các b c đi t i m c tiêu Sau đây là hai “ ng c viên”:

• h1 = s l ng quân c mà sai v trí i v i hình 2.9, 7 trong s 8 quân c sai v trí, vì

v y tr ng thái đ u s có h1 = 7 h1 là m t hàm heuristic ch p nh n đ c, b i vì rõ ràng là

b t c quân c nào mà đang sai v trí ph i di chuy n ít nh t m t l n

• h 2 = t ng s kho ng cách c a các quân c so v i v trí m c t êu B i vì các quân c không

th đi theo các đ ng chéo, kho ng cách mà chúng ta tính t ng s là t ng c a các kho ng cách theo chi u ngang và theo chi u d c Kho ng cách này đôi khi đ c g i là “kho ng

cách kh i thành ph ”(city block distance) ho c kho ng cách Manhantan h 2 là ch p

nh n đ c, vì b t c n c đi nào c ng ch có th di chuy n m t quân c m t b c g n

h n t i đích Các quân c t 1 đ n 8 trong tr ng thái đ u cho ta m t kho ng cách

Manhatan là:

h2 = 2 + 3 + 3 + 2 + 4 + 2 + 0 + 2 = 18

Hi u qu (tác d ng) c a đ chính xác heuristic trong khi th c hi n

M t cách đ xác đ nh ch t l ng c a m t hàm heuristic là h s phân nhánh hi u qu b*

N u t ng s các nút đ c m r ng b i A* đ i v i m t bài toán nào đó là N, và đ sâu gi i pháp là

d, thì b* là h s phân nhánh mà m t cây đ ng d ng có đ sâu d s ph i có đ ch a đ c N nút

Nh v y,

N = 1 + b* + (b*)2 +….+ (b*)d

Ch ng h n, n u A* tìm th y m t gi i pháp đ sâu b ng 5 s d ng 52 nút, thì h s phân nhánh hi u qu là 1,91 Thông th ng, h s phân nhánh hi u qu đ a ra b i m t heuristic cho

tr c là khá n đ nh đ i v i đa s các bài toán Do đó, các phép đo th nghi m giá tr b* trong

m t t p nh các bài toán có th đ a ra m t ch d n t t khi xét t ng th hàm heuristic M t hàm heuristic đ c thi t k t t s có giá tr b* g n v i 1, cho phép gi i quy t m t s l ng l n các bài toán ki m tra các hàm heuristic h1 và h2, chúng ta ít khi sinh ra 100 bài toán, m i bài toán v i các đ dài gi i pháp là 2,4,…,20, và gi i quy t chúng v i phép tìm ki m A* v i h1 và h2, cùng

v i phép tìm ki m l p sâu d n không đ y đ thông tin Hình 2.8 đ a ra s trung bình các nút

đ c m r ng b i chi n l c tìm ki m và h s phân nhánh hi u qu K t qu cho th y là h2 t t

h n h1 và phép tìm ki m thi u thông tin t i h n nhi u

Xây d ng các hàm heuristic

Chúng ta đã th y r ng, c h1 và h2 là nh ng heuristic khá t t đ i v i trò ch i s 8, và h2 thì

t t h n h1 Nh ng chúng ta không bi t làm th nào đ phát minh ra m t hàm heuristic Làm sao

m t ng i có th có đ c m t heuristic nh h2? M t máy tính có th phát minh m t cách máy móc ra đ c m t heuristic nh v y không?

h1 và h2 là các đánh giá ( c đoán) đ i v i đ dài đ ng đi còn l i trong trò ch i s 8,

nh ng chúng c ng có th đ c xem là các đ dài đ ng đi có đ chính xác tuy t v i đ i v i

nh ng ki u đ n gi n hoá c a trò ch i này N u nh qui t c c a trò ch i đ c thay đ i đ m t quân c có th di chuy n đ n b t c ch nào, thay vì ch có th đi đ n ô tr ng ngay c nh nó, thì h1

s đ a ra m t cách chính xác s các b c c a gi i pháp g n nh t T ng t , n u m t quân c có

th đi m t ô theo t t c các h ng, th m chí đi vào ô đã b chi m b i m t quân c khác, thì h2 s

đ a ra con s chính xác các b c đi c a gi i pháp ng n nh t M t bài toán v i ít ràng bu c h n

đ i v i các toán t đ c g i là m t bài toán gi i trí (relaxed problem) Th ng x y ra tr ng h p

Trang 36

là chi phí đ ng đi c a m t gi i pháp đúng đ i v i m t bài toán gi i trí là m t heuristic t t đ i

v i bài toán g c (ban đ u)

N u vi c đ nh ngh a v n đ đ c vi t d i d ng m t ngôn ng chính th c, có th xây d ng các bài toán th giãn m t cách t đ ng 3 Ví d , n u các toán t c a trò ch i s 8 đ c miêu t

nh sau:

Quân c A có th đi t ô A đ n ô B n u A là c nh B và B tr ng, thì chúng ta có th t o ra ba bài toán gi i trí b ng cách b đi m t ho c nhi u h n các đi u ki n:

(a) Quân c A có th đi t ô A đ n ô B n u A c nh B

(b) Quân c A có th đi t ô A đ n ô B n u B là tr ng

(c) Quân c A có th đi t ô A đ n ô B

G n đây, m t ch ng trình đ c g i là ABSOLVER đã đ c vi t mà có th t o ra các heuristic m t cách t đ ng t các khái ni m xác đ nh bài toán, s d ng ph ng pháp “bài toán th giãn” và r t nhi u các k thu t khác (Prieditis, 1993) ABSOLVER sinh ra m t heuristic m i cho trò ch i s 8 t t h n b t c heuristic đang t n t i nào, và tìm ra heuristic h u ích đ u tiên cho trò

h(n) = max(h 1 (n) ,…, hm(n))

Heuristic t h p này s d ng b t c hàm nào chính xác nh t đ i v i nút trong câu h i Do các heuristic thành ph n là ch p nh n đ c , h c ng ch p nh n đ c H n n a, h v t tr i h n so

v i t t c các heuristic thành ph n t o nên nó

M t cách khác đ phát minh ra m t heuristic t t là s d ng thông tin th ng kê i u này

có th thu đ c b ng cách ch y m t phép tìm ki m đ i v i m t s các bài toán đào t o, nh 100

mô hình ng u nhiên c a trò ch i s 8 đ c ch n, và thu th p các th ng kê Ví d , chúng ta có th tìm th y r ng, khi h2(n) = 14, thì 90% c a quãng đ ng th c s đ t i đích là 18 Nh v y khi

g p nh ng bài toán “th c s ”, chúng ta có th s d ng 18 làm giá tr quãng đ ng b t c khi nào

h2(n) cho giá tr 14 T t nhiên, n u chúng ta s d ng các thông tin theo xác xu t nh th này, chúng ta đang t b s b o đ m v tính có th ch p nh n đ c, nh ng tính trung bình chúng ta có

l s m r ng ít nút h n

Thông th ng có th l y ra các đ c đi m c a m t tr ng thái mà đóng góp cho hàm đ nh giá heuristic c a nó, th m chí n u r t khó nói chính xác s đóng góp là gì Ch ng h n, m c t êu trong đánh c là chi u t ng đ i ph ng, và các đ c đi m liên quan nh s quân m i lo i c a m i bên,

s quân mà b n b i quân c a đ i th , v .v Thông th ng, hàm đ nh giá đ c gi đ nh là t h p tuy n tính c a các giá tr đ c đi m Th m chí n u chúng ta không bi t các đ c đi m quan tr ng

nh th nào, hay th m chí m t đ c đi m là t t hay x u, ta v n có th s d ng m t gi i thu t h c

t p đ thu đ c các h s h p lý cho m i đ c đi m Ví d , trong đánh c , m t ch ng trình có th

h c h i đ c r ng con h u c a m t ng i nên có h s d ng l n, trong khi m t con t t c a đ i

th nên có m t h s âm nh

M t y u t khác mà chúng ta ch a xem xét đ n là chi phí tìm ki m c a vi c ch y th t s hàm heuristic trên m t nút Chúng ta v a gi đ nh r ng chi phí c a vi c tính toán hàm heuristic

Trang 37

t ng đ ng v i chi phí m r ng m t nút do v y t i thi u hoá s l ng nút m r ng là m t đi u

t t Nh ng n u hàm heuristic ph c t p đ n n i mà tính toán giá tr c a nó cho m t nút m t kho ng

th i gian đ m r ng hàng tr m nút thì chúng ta c n ph i cân nh c Cu i cùng, r t d đ có m t hàm heuristic mà chính xác tuy t đ i – n u chúng ta cho phép hàm heuristic th c hi n, ví d , m t phép tìm ki m theo chi u r ng “kín đáo” i u đó s t i thi u hoá s l ng các nút đ c m r ng

b i phép tìm ki m th c s , nh ng nó s không t i thi u hoá chi phí tìm ki m t ng th M t hàm heuristic t t ph i v a chính xác v a hi u qu

đ c s a đ i đ s d ng m t gi i h n chi phí f thay vì m t gi i h n đ sâu Nh v y, m i vòng l p

m r ng các nút bên trong d ng vi n c a chi phí f hi n t i, nhin vào trong đ ng vi n đ tìm

đ ng vi n ti p theo đâu Khi phép tìm ki m bên trong m t đ ng vi n đã cho đã hoàn thành, vòng l p m i l i b t đ u s d ng m t chi phí f m i cho đ ng vìên ti p theo.IDA* là hoàn thành và

t i u v i cùng m t d báo cho tr c nh phép tìm ki m A*, nh ng do nó là ph ng pháp tìm

ki m theo chi u sâu, nó ch yêu c u không gian b nh t l v i đ ng đi dài nh t mà nó khám

function IDA*(problem) return m t d∞ãy gi i pháp

Inputs: problem, m t bài toán, v n đ

Các bi n đ a ph ng: gi i h n-f, gi i h n chi phí f hi n th i

root, m t nút root - Make-node(tr ng thái đ u[problem])

gi i h n-f - chiphí- f(root)

loop do

gi i pháp, gi ih n-f - DFS-contour(root,gi i h n-f)

if gi i pháp khác r ng then return gi i pháp

if gi i han-f = ∞ then return th t b i; end

function dfs-contour(node, gi ih n-f) returns m t dãy gi i pháp và m t gi i h n chi phí f m i

Input: node, m t nút

Gi i h n –f, gi i h n chi phí f hi n th i

Các bi n đ a ph ng: next-f, gi i h n chi phí f c a contour ti p theo, ban đ u là ∞

If chiphí -f[node] > gi ih n-f then return r ng, chiphí-f[node]

If goal-test[problem](state[node]) then return node, gi ih n-f

For m i nút s trong successor(node) do

Gi i pháp, f-m i – dfs-contour(s, gi ih n-f)

If gi i pháp khác r ng then return gi i pháp, gi ih n-f

Next-f ← MIN(next-f, new-f); end

Return r ng, next-f

Trang 38

phá N u δ là chi phí nh nh t và f* là chi phí gi i pháp t i u, thì trong tr ng h p t i nh t,

IDA* s yêu c u bf*/δ nút l u tr Trong h u h t các tr ng h p, bd là s c đoán r t t t đ i v i yêu c u v dung l ng l u tr

ki m tra đ ng đi hi n th i đ i v i nh ng tr ng thái l p l i, nh ng nó không th tránh đ c các

tr ng thái l p l i đ c t o ra b i các đ ng đi thay đ i

Trong ph n này, chúng ta miêu t gi i thu t SMA* mà có th s d ng t t c b nh s n có đ

ti n hành vi c tìm ki m Vi c s d ng b nh nhi u h n ch có th c i thi n đ c hi u qu tìm ki m – m t gi i thu t có th luôn b qua không gian ph , nh ng th ng t t h n là nh m t nút thay vì t o

ra nó khi c n thi t SMA* có các thu c tính sau đây:

• Nó s s d ng t t c d ng l ng b nh đ c t o ra dành cho nó

• Nó tránh các tr ng thái l p l i ch ng nào mà b nh còn cho phép

• Nó là hoàn thành n u b nh có s n là hi u qu đ l u tr đ ng đi gi i pháp nông nh t

• Nó là t i u n u có đ b nh đ c t gi đ ng đi gi i pháp t i u nông nh t Trái l i, nó tr

v gi i pháp t t nh t có th có đ c trong ph m vi b nh cho phép

Khi có đ b nh cho cây tìm ki m toàn b , phép tìm ki m là hi u qu m t cách t i u

V n đ không gi i quy t đ c là không rõ SMA* có ph i luôn hi unqu m t cách t i u trong các gi i pháp cho b i cùng các thông tin heuristic và cùng dung l ng b nh

Vi c thi t k SMA* là đ n gi n , ít nh t là vè t ng quát Khi c n ph i t o ra m t nút ti p theo nh ng không còn b nh , nó s c n ph i t o ra không gian nh trong hàng đ i làm đi u này, nó b qua m t nút trong hàng đ i Nh ng nút mà b b r i trong hàng đ i theo cách này đ oc

g i là nh ng nút b b quên Nó u tiên b qua nh ng nút mà không có tri n v ng – t c là nh ng nút có chi phí f cao tránh khám phá l i nh ng cây conmà đã b b r i kh i b nh , nó l u l i trong các nút t tiên nh ng thông tin v ch t l ng c a đ ng đi t t nh t trên cây con b b qua Theo cách này, nó ch tái sinh ra ccác cây con khi t t c các đ ng đi khác đã đ c ch ra là t i

h n đ ng đi mà nó v a b qua M t cách nói khác là n u t t c các h u du c a m t nút n b b quên, thì chúng ta s không bi t đi đ ng nào t n, nh ng chúng ta vãn có v n có ý t ng v giá

mô hình đ y đ và thay đ i mô hình đ c i thi n ch t l ng c a nó

Trang 39

Cách t t nh t đ hi u các gi i thu t c i ti n l p là xét t t c các tr ng thái đ c bày ra trên

b m t c a m t phong c nh cao c a b t c đi m nào trên phong c nh t ng ng v i hàm giá

c a tr ng thái đi m đó Ý t ng c i ti n l p là di chuy n quanh phong c nh đ c g ng tìm các

đ nh cao nh t, mà là các gi i pháp t i u Các gi i thu t c i ti n l p th ng ch theo sát tr ng thái

hi n th i, và không nhìn v phía tr c v t qua nh ng lân c n t c thì c a tr ng thái đó i u này

c ng gi ng v i vi c c g ng tìm đ nh c a ng n núi Everest trong s ng mù dày đ c trong khi ph i

ch u đ ng ch ng hay quên Tuy nhiên, đôi khi các gi i thu t c i ti n l p là m t ph ng pháp c a

s l a ch n các bài toán th c t và hóc búa

Các gi i thu t c i ti n l p đ c chia thành hai l p chính Các gi i thu t trèo núi (hay

luôn c g ng thay đ i đ c i ti n tr ng thái Các gi i thu t rèn luy n tái t o th nh tho ng t o thay

đ i mà làm cho m i th t i t h n, ít nh t là t m th i

Phép tìm ki m leo núi (Hill-climbing)

Gi i thu t tìm ki m leo núi đ c ch ra hình 2.11 Nó đ n gi n là m t vòng l p mà di chuy n liên t c theo h ng làm t ng giá tr Gi i thu t không duy trì m t cây tìm ki m , vì v y

c u trúc d li u nút ch c n ghi l i tr ng thái và giá tr c a nó, mà chúng ta bi u di n b ng giá tr

M t khái ni m quan tr ng là khi có nhi u h n m t nút k tiép t t nh t đ ch n l a, gi i thu t có

th l a ch n trong s chúng m t cách ng u nhiên Qui t c đ n gi n này có ba nh c đi m n i

ti ng nh sau:

• Các giá tr c c đ i đ a ph ng: m t giá tr c c đ i đ a ph ng, trái ng c v i m t giá tr

c c đ i toàn c c, là m t đ nh mà th p h n đ nh cao nh t trong không gian tr ng thái Khi trên m t đ i l ng c c đ i đ a ph ng , gi ithu t s d ng l i th m chí m c dù gi i pháp

đi u này x y ra, m t đi u ch c ch n ph i làm là b t đ u l i t m t đi m kh i đ u khác Phép leo

tr ng thái ban đ u đ c t o ra m t cách ng u nhiên , th c hi n m i phép tìm ki m cho đ n khi nó

d ng l i ho c không có s ti n tri n rõ r t Nó l u l i k t qu t t nh t tìm d c c a b t c phép tìm

ki m nào Nó có th s d ng m t s b c l p h n h p, ho c có th ti p t c cho đ n khi k t qu l u

đ c t t nh t ch a đ c c i thi n đ i v i m t s phép l p nào đó

Rõ ràng, n u cho phép đ s l n l p, phép tìm ki m leo núi b t đ u l i ng u nhiên

cu i cùng s tìm ra gi i pháp t i u S thành công c a phép tìm ki m leo núi ph thu c r t nhi u vào hình fd ng c a ”b m t” không gian tr ng thái: n u nh ch có m t vài giá tr c c đ i đ a

ph ng, phép tìm ki m leo núi b t đ u l i ng u nhiên s r t nhanh chóng tìm th y m t gi i pháp

t t M t bài toán th c s có m t b m t mà trôngr t gi ng môtj con nhím N u bài toán là hoàn thành trong th i gian NP, thì r t có th chúng ta không th làm t t h n th i gian theo c p s m

Ti p theo là ph i có s các c c đ i đ a ph ng theo c p s m mà gi i thu t s m c k t vào đó Tuy nhiên, thông th ng, m t gi i pháp t t h p lý có th đ c tìm th y sau m t s ít l n l p

Trang 40

Hình 2.11 Gi i thu t tìm ki m trèo núi

Gi i h n c a vi c tìm ki m

Ph ng pháp d h u nh t đ đi u khi n kh i l ng vi c tìm ki m là thi t l p m t đ sâu

gi i h n, đ vi c ki m tra ng ng (gi i h n) ti n hành đ i v i t t c các nút đ sâu d hay bên

d i đ sâu d sâu đ c ch n đ kh i l ng th i gian s d ng s không v t quá nh ng gì mà

lu t ch i cho phép Khi th i gian h t, ch ng trình s quay l i b c đi mà đ c l a ch n b i phép tìm ki m k t thúc sâu nh t

Nh ng ph ng pháp này có m t s nh ng h u qu tai h i do tính ch t g n đúng c a hàm

đ nh giá Rõ ràng, c n có m t hàm ki m tra gi i h n ph c t p Hàm giá ch nên áp d ng cho các

v trí th đ ng, t c là d ng nh s không phô bày s “đung đ a chuy n đ ng d d i” (s bi n

đ ng l n) v m t giá tr trong t ng lai g n Ví d trong đánh c , các v trí mà d n có th đ c

t o ra là không th đ ng d i v i m t hàm đ nh giá mà ch tính đ n v t ch t Các v trí không th

đ ng có th đ c m r ng h n n a cho đ n khi ch m t i các v trí th đ ng Vi c tìm ki m b sung này đ c g i là m t ph ng pháp tìm ki m th đ ng; đôi khi nó đ c gi i h n ch đ xem

xét các ki u đi nào đó, nh b c đi n (quân đ i ph ng), mà s nhanh chóng gi i quy t s không

C vua thu hút đ c s quan tâm l n nh t trong trò ch i M c dù không đ t t i nh l i

kh ng đ nh c a Simon n m 1957 r ng trong vòng 10 n m n a, các máy tính s đánh b i b t c nhà vô đ ch th gi i nào, nh ng gi đây các máy tính g n nh đã s p đ t đ c m c tiêu đó Trong môn c vua t c đ , các máy tính đã đánh b i nhà vô đ ch th gi i, Gary Kasparov, trong các trò

ch i 5 phút và 25 phút, nh ng trong các trò ch i đ y đ , máy tính ch x p trong t p 100 tay c

gi i nh t th gi i Hình d i đây cho th y t l c a các nhà vô đ ch c vua là ng i và máy tính trong nh ng n m qua

Function Hill-climbing(problem) return m t tr ng thái gi i pháp

Inputs : problem, m t bài toán

Các bi n c c b : current, m t nút

Next, m t nút Curent ← make-node(initial-state[problem])

Loop do

Next ← m t nút con cháu có giá tr cao nh t c a nút current(hi n t i)

If value[next] < value[current] then return current

Current ← next

End

Ngày đăng: 03/12/2015, 22:24

TỪ KHÓA LIÊN QUAN

w