BÀI M Đ U

Ở Ầ

- Trí tu nhân t o là gì

- L i ích mà trí tu nhân t o mang l ệ

i ạ

c đ c p trong môn

ề ẽ ượ ề ậ

- Các v n đ s đ h cọ

1

Trí tu nhân t o là gì

ệ ữ

• Tr ừ

ươ

ươ t h n ng ơ ố ơ ả ể ọ ườ ể

• Thu t ng trí tu nhân t o (artificial intelligence) ạ ậ đ c John McCarthy đ a ra trong h i th o ả ở ư ượ Dartmouth mùa hè năm 1956 c h i th o này, t năm 1952 Arthur Samuel ả ộ ướ ng trình ch i c . Samuel đã bác b t ch đã vi ỏ ơ ờ ế t c ng cho r ng máy tính ch có th làm đ t ượ ể ỉ ư ưở ng trình nh ng cái mà ng i ta b o nó làm vì ch ờ ữ i c a Samuel có th h c đ ch i t ủ làm ra nó

2

i h i th o ả ở ạ ộ

ệ ớ

ậ ậ ọ

ứ ế ầ

lý Dartmouth mùa hè năm 1956, i thi u ng trình l p lu n v i tên g i “the logic theorist”. ng trình này có kh năng ch ng minh h u h t ng 2 cu n “Principia ị

•Cũng t Allen Newell và Herbert Simon cũng đã gi ch ớ ươ Ch ả ươ các đ nh trong ch ố ươ Mathematics” c a Russell và Whitehead ủ

ứ ủ ả ự

•Cũng t i h i th o này các nhà nghiên c u đã th o ạ ộ lu n và v ch ra các h ng nghiên c u c a lĩnh v c ứ ướ ạ ậ i Dartmouth mùa trí tu nhân t o. Vì v y h i th o t ả ạ ộ ậ ạ c xem là th i đi m ra đ i th c s hè năm 1956 đ ự ự ể ượ ạ c a lĩnh v c nghiên c u trí tu nhân t o ủ ờ ệ ự ứ

3

ộ ố ị

ổ ế M t s đ nh nghĩa ph bi n

ệ ự ự ứ

ệ ử ụ

ứ ệ ự

ậ ạ ỏ ự ườ

i- Kurzweil, 1990 ứ ả

+ S nghiên c u các năng l c trí tu thông qua vi c s d ng các mô hình tính toán – Charniak and McDormott, 1985 + Ngh thu t t o ra các máy th c hi n các ch c ệ ự c th c hi n năng đòi h i s thông minh khi đ ượ b i con ng ở i thích và mô + Lĩnh v c nghiên c u tìm cách gi ự ph ng các hành vi thông minh trong thu t ng ữ ậ các quá trình tính toán – Schalkoff, 1990

4

ứ ể ể ậ

ủ ọ

ự ự ộ

+ S nghiên c u các tính toán đ có th nh n ự th c, l p lu n và hành đ ng – Winston, 1992 ứ ậ ộ + M t nhánh c a khoa h c máy tính liên quan ộ đ n s t đ ng hoá các hành vi thông minh – ế Luger and Stubblfield, 1993

5

M t s đ nh nghĩa g n đây

ộ ố ị

ạ ệ ứ

ng t k và nghiên c u các ự ế ế ng trình máy tính ng x m t cách thông minh. ứ ử ộ c xây d ng đ th c hi n các ể ự ự ượ i ho c đ ng v t chúng ta xem là ặ ộ ng trình này đ ườ ở ậ

+ Trí tu nhân t o là s thi ch ươ Các ch ươ hành vi mà khi thông minh – Dean, Allen and Aloimonos, 1995

ệ ồ ạ ự ứ

i ạ ng nh n th c và hành đ ng, Rusell and ườ ậ ộ

+ Trí tu nhân t o là s nghiên c u các tác nhân t n t trong môi tr ứ Norvig, 1995

t k các tác ệ ế ế ứ ự ạ

+ Trí tu nhân t o là s nghiên c u thi nhân thông minh, Poole, Mackworth and Goebel, 1998

6

Tóm l

ươ ứ

c các hành vi thông minh i, trí tu nhân t o đ t m c tiêu làm th ệ ế ạ ặ ụ ạ nào th hi n đ c các hành vi thông minh ượ ể ệ b ng thu t toán, r i nghiên c u các ph ng ồ ậ ằ pháp cài đ t các ch ng trình có th th c hi n ệ ể ự ươ ặ đ ượ

7

L i ích mà trí tu nhân t o mang l ệ

i ạ

• Trí tu nhân t o ạ ệ • Trí tu th t ệ ậ

8

SO SÁNH VUI

+Chi phí s n xu t ấ ả rẻ r t đ t ấ ắ

+Th i gian làm vi c ệ ờ r t dài ấ r t ng n ắ ấ

+Chi phí v n hành ậ r t rấ ẻ quá đ tắ

??? +Hi u qu công vi c ệ ả ệ r t hi u qu ệ ấ ả

9

N i dung ch

ng trình

ươ

ả ế

+ Gi

ế ấ ậ

i quy t v n đ b ng tìm ki m ề ằ + Tri th c và l p lu n ậ ứ + M ng n ron nhân t o ạ ơ ạ + Logic mờ + Gi ậ ả i thu t di truy n ề

10

Ph n 1: Gi

i quy t v n đ b ng tìm

ế ấ

ề ằ

ki mế

ng 1: Các chi n l

ế ượ

ế ấ ế

ế

t c các đ i t

ố ượ ể ầ ặ ờ

c tìm ki m mù Ch ế ươ 1. Bi u di n v n đ trong không gian tr ng thái ạ ễ ấ ể i quy t v n đ b ng tìm ki m, đi u quan Đ gi ề ề ằ ể ả c không gian tìm ki m, tr ng là ph i xác đ nh đ ượ ọ ị ả ng mà ta c n không gian này là t ấ ả quan tâm tìm ki m, nó có th liên t c ho c r i ụ ế r cạ

11

Ví d 1: Xét bài toán tìm đ ụ ng đi trên b n đ giao ả ồ

ườ thông

+Ta quan ni m các nút A, B,.. là các tr ng thái ạ

+A tr ng thái đ u, B tr ng thái ầ k t thúc ế

ở ộ

m t nút ta có th +Khi đang ể đi sang m t nút khác. Các con ộ ng n i 2 nút đ đ c bi u ườ ượ ố - Rõ ràng di n b i m t toán t ử ộ ở ễ bi n đ i tr ng thái này toán t ổ ạ ử ế thành tr ng thái khác ạ

ạ ế

ng đi lúc này +Bài toán tìm đ ườ tr thành tìm m t dãy các toán ộ ở đ đ a tr ng thái đ u thành t ử ể ư tr ng thái k t thúc ạ 12

Ví d 2: Xét trò ch i c vua ơ ờ ụ

ệ ộ ạ

ầ ứ

ỗ ướ ố

+ Bài toán ch i c rõ ràng là tìm 1 dãy các toán t

c

(n ử ướ

đi) đ đ a tr ng thái ban đ u v tr ng thái k t thúc

+ Ta quan ni m m i cách b trí các quân c trên bàn c ờ ố cho ta m t tr ng thái. Tr ng thái ban đ u ng v i s s p ạ ớ ự ắ c đi h p x p các quân c lúc b t đ u cu c ch i. M i n ờ ế ợ ơ ắ ầ là m t toán t - nó bi n đ i m t tình hu ng trên bàn c l ờ ế ử ộ ệ thành m t tình hu ng khác ố ộ ơ ờ ạ

ầ ề ạ

ể ư

ế

13

ể ể

ộ ấ

tr ng thái c n xác đ nh nh ng y u t

sau

ế ố

Đ bi u di n m t v n đ trong không gian

+ Tr ng thái đ u, ký hi u là u ầ + T p tr ng thái k t thúc, ký hi u T, T có th có ể m t tr ng thái ho c nhi u tr ng thái – VD1,2 ề ợ ấ ả

ử ẽ ộ

ạ ế ạ ậ ặ ạ ộ ạ , t p h p t + T p các toán t t c các tr ng thái có ậ ạ ử ậ tr ng thái ban đ u b ng cách áp i t th đ t t ằ ầ ể ạ ớ ừ ạ d ng m t dãy các toán t s cho ta m t không ộ ụ gian tr ng thái, ký hi u là R ệ

ườ ữ ạ ợ

ể ể ộ ồ ị

ạ ng h p không gian tr ng thái là h u + Trong tr h n ta có th bi u di n b ng m t đ th có ằ ễ ạ ngướ h

14

Ví d v xây d ng không gian tr ng thái cho

ụ ề

các v n đấ

Ví d 1: Bài toán 8 s

ơ ậ ố

c d ch các s vào ô tr ng ố ỉ ượ ị ị ộ ể ế ể

ế ạ ầ

Lu t ch i: Ch đ Yêu c u: Tìm ra m t dãy các d ch chuy n đ bi n ầ đ i tr ng thái đ u thành tr ng thái k t thúc ổ ạ 15

Không gian tr ng thái

: Up, Down, Left, Right • TTĐ: • TTKT: • T p các toán t ậ ử

16

Ví d 2: Xét bài toán tri u phú và k c

p ẻ ướ

Có 3 tri u phú và 3 tên c ộ

ế ỉ ở ượ

ườ ệ

p không đ p và m t chi c thuy n ề ở c m t ề ộ ộ i. Hãy tìm cách đ a 3 tri u phú sang ư c m i b sông s k c ố ẻ ướ ở ỗ ờ ượ

ướ ệ bên b t c a m t con sông, thuy n ch ch đ ờ ả ủ ho c hai ng ặ sông sao cho l n h n s tri u phú ơ ố ệ ớ

17

ố ộ ộ ể ể ạ

Dùng m t b 3 s (a,b,k) đ bi u di n các tr ng thái a - s tri u phú, b - s k c ố ệ k=1 thuy n đang , ng ề Không gian tr ng thái đ ễ p b t ố ẻ ướ ở ờ ả i k=0 c l ượ ạ c xác đ nh nh sau ị ượ b t ở ờ ả ạ

ư

TTĐ:(3,3,1) TTKT:(0,0,0) T p các toán t : ử

p ẻ ướ

bao g m các toán t ậ ồ ử p +Thuy n ch 1 k c ẻ ướ ở +Thuy n ch 1 tri u phú ệ ở +Thuy n ch 1 tri u phú, 1 k c ệ ở +Thuy n ch 2 k c p ở ẻ ướ +Thuy n ch 2 tri u phú ệ ở ề ề ề ề ề

18

2. Các chi n l

c tìm ki m

ế ượ

ế

ế ụ

ượ ử ề ủ Cho u là m t tr ng thái, n u áp d ng toán t ượ

ừ ở

ọ ượ ử ể

ế

i ta tr ng thái đ u, phát tri n nó ộ ạ thu đ c v thì v đ b i toán t R ho c v đ ặ ở ử trình áp d ng các toán t ụ k c a u đ ề ủ Thông th ườ R ta c g i là tr ng thái k c a u ạ u b i R – Quá c sinh t đ sinh ra các tr ng thái ạ c g i là quá trình phát tri n u ể i quy t bài toán ng ng đ gi ầ ườ ể

th cho đ n khi g p tr ng thái đích ượ ọ ườ ể ả ng xu t phát t ừ ạ ấ ạ ế ặ

19

ế

ế c này đ Có nhi u chi n l ề ế ượ

c tìm ki m nh tìm ki m mù, ư ế ượ tìm ki m kinh nghi m, các chi n l c ế ượ ệ hình dung nh sau: ư

+Chi n l ế

ế ể ẫ ầ ế ượ ự

ặ ạ

ế ậ ế

ế ể ự ế ủ ể

ạ ẽ ọ ể

ộ ạ

ượ ế ụ ố

ng d n c tìm ki m mù: Không có s h ự ướ nào cho s tìm ki m, ta ch phát tri n tr ng thái đ u ạ ỉ i khi g p tr ng thái đích, có 2 k thu t cho cho t ỹ ớ c này đó là tìm ki m r ng và tìm ki m sâu chi n l ộ ế ượ +Chi n l c tìm ki m kinh nghi m: Trong r t ượ ệ ấ ế t c a chúng nhi u v n đ ta có th d a vào hi u bi ề ấ ề ta v v n đ đó đ đánh giá các tr ng thái. Trong ể ề ề ấ quá trình phát tri n các tr ng thái ta s ch n 1 trong ạ s các tr ng thái ch phát tri n m t tr ng thái đ c ạ ố t nh t đ phát tri n,.. quá trình ti p t c đánh giá t cho t ặ ớ ể ờ ấ ể ể i khi g p tr ng thái đích ạ

20

2.1 Chi n l

ế ượ

ề ộ : c tìm ki m theo b r ng

ế

• T i m i b ỗ ướ ể ể

ạ ạ c ta ch n tr ng thái đ phát tri n là c các tr ng thái ch ờ ạ ọ c sinh ra tr ướ ạ

tr ng thái đ ượ phát tri n khác ể

ể ư ử ụ ượ

• S d ng danh sách L đ l u các tr ng thái đ ủ ể

ế ừ ạ ế ạ

ng đi t ầ ư ế ủ

ể ư ạ ng đi, father(v)=u n u u là cha c a v sinh ra và ch đ ờ ượ ki m là tìm đ ườ thái đích nên ta c n l u v t c a đ th dùng hàm father đ l u l ể trên đ ế c ạ c phát tri n, m c tiêu c a tìm ụ tr ng thái đ u đ n tr ng ầ ng đi, ta có ườ i cha c a m I đ nh ỗ ỉ ủ ủ ườ

21

ỉ ứ ạ

Procedure TimKiemRong begin 1. Kh i t o danh sách L ch ch a tr ng thái ban đ u ầ 2. 2.1 if L r ng then ở ạ loop do ỗ

ấ ạ

{thông báo tìm ki m th t b i; stop}; ế 2.2 Lo i tr ng thái u đ u danh sách L; ở ầ ạ ạ 2.3 if u là tr ng thái k t thúc then ế ạ {thông báo tìm ki m thành công; stop}; ế

2.4 for m i tr ng thái v k u do ỗ ạ ề

{đ t v vào cu i danh sách L; father(v)=u}; ặ ố

end;

22

ụ ạ

Ví d : Cho không gian tr ng thái TTĐ: A TTKT:H

23

Mô t quá trình tìm ki m ả ế

H

24

Nh n xét ậ

c sinh ra tr ượ

c, do đó danh sách L đ ướ c s ướ ẽ c ượ • Trong TKR tr ng thái nào đ ạ ể

• N u bài toán có nghi m (t n t i đ ạ ườ ệ ồ

ng đi t ậ

ượ

ầ ớ ạ ồ ấ ườ

ệ ạ

ẽ ừ ậ

c phát tri n tr đ ượ ợ x lý nh hàng đ i ư ử ừ ế i tr ng thái đích), thì thu t toán tr ng thái đ u t ạ c ng đi tìm đ s tìm ra nghi m, đ ng th i đ ờ ườ ệ ẽ ng h p bài toán ng đi ng n nh t, trong tr là đ ợ ườ ắ vô nghi m và không gian tr ng thái h u h n, ữ ạ thu t toán s d ng và thông báo vô nghi m ệ đánh giá • Đ ph c t p thu t toán: Sinh viên t ậ ộ ứ ạ ự

25

2.2 Chi n l

c tìm ki m theo đ sâu

ế ượ

ế

T i m i b ọ ạ ỗ ướ ể ể

ượ ạ ạ ạ

ế ề ế ỉ

c ta ch n tr ng thái đ phát tri n là c sinh ra sau cùng trong các tr ng tr ng thái đ thái ch phát tri n khác. Thu t toán tìm ki m sâu ể ờ s t nh tìm ki m r ng, ch có đi u danh ng t ư ự ẽ ươ c xây d ng nh m t ngăn x p sách L đ ế ượ ậ ộ ư ộ ự

26

ạ ỉ ứ

{thông báo tìm ki m th t b i; stop}; ế

ấ ạ đ u danh sách L;

Procedure TimKiemSau begin 1. Kh i t o danh sách L ch ch a tr ng thái ban đ u ầ ở ạ 2. loop do 2.1 if L r ng then 2.2 Lo i tr ng thái u ạ ạ 2.3 if u là tr ng thái k t thúc then ạ

ở ầ ế {thông báo tìm ki m thành công; stop}; ế

2.4 for m i tr ng thái v k u do ỗ ạ ề

{đ t v vào đ u danh sách L; father(v)=u}; ặ ầ

end;

27

Xét ví d trên, k t qu c a quá trình tìm ki m sau ả ủ ụ ế ế

th hi n b ng sau ể ệ ở ả

28

ả ậ ậ ế

ệ ế

ệ ữ

ạ ườ ệ ợ

ạ ạ

ệ ế ộ ộ

ố ạ ậ ằ

Nh n xét: Thu t toán tìm ki m sâu không ph i lúc nào cũng tìm ra nghi m, n u bài toán có nghi m và không gian tr ng thái h u h n thì nó ạ ng h p luôn tìm ra nghi m, tuy nhiên trong tr không gian tr ng thái là vô h n thì nó có th ể không tìm ra nghi m, lý do là nó luôn đi xu ng theo đ sâu, và n u nó đi theo m t nhánh vô h n mà nghi m không n m trên nhánh đó thì thu t ệ toán s không d ng. ừ ẽ

29

ạ ỏ ạ

2.3 Tr ng thái l p và lo i b tr ng thái l pặ Xét đ th không gian tr ng thái ồ ị TTĐ: A, TTKT:G

30

i nó t ồ ị ng đi d n t

ượ ọ ẽ ặ

ạ ề ặ ữ ể ờ

ạ ồ ị ể ặ

Trong đ th này ta th y có nh ng đ nh có nhi u ề ỉ ấ đ tr ng thái ban đ u.Ví d ẫ ớ ườ ụ ầ ừ ạ c g i là các tr ng C, E, F – Các tr ng thái này đ ạ thái l p, quá trình tìm ki m s lãng phí r t nhi u ấ ế th i gian đ phát tri n nh ng tr ng thái đã g p ể t khi đ th có chu trình và đã phát tri n, đ c bi ệ quá trình tìm ki m s không d ng. ẽ ế

Vì v y trong quá trình tìm ki m tránh sinh ra các ậ ừ ế

tr ng thái mà ta đã phát tri n ể ạ

31

Ph

ng pháp

ươ

+Khi phát tri n đ nh u, không sinh ra các đ nh trùng v i cha u +Khi phát tri n đ nh u, không sinh ra các đ nh trùng v i m t ộ

ng đi d n t

ể ể ằ

c sinh ra, t c là ch ỉ

đ nh nào đó n m trên đ ườ ỉ ỉ

i u ượ

ẫ ớ +Không sinh ra các đ nh mà nó đã đ sinh ra các đ nh m i ớ ầ

c các tr ng thái l p. Đ th c hi n gi ặ

ạ ạ

c sinh ra n u nó không n m trong v

i pháp đ u khá đ n gi n tuy nhiên không tránh h t Hai gi ế ơ ả i pháp th 3 ta s đ ẽ ứ ể ự ượ l u các tr ng thái đã sinh ra vào danh sách Q và các tr ng ư thái ch phát tri n vào danh sách L và đ ng nhiên tr ng ờ thái v l n đ u đ ầ

ể ầ ượ

ươ ằ

ế

32

ụ ể ệ ế

Xét ví d trên:Quá trình tìm ki m th hi n theo b ngả

33

ứ ế ế

ế theo đ sâu ta có th b m c k t

2.4 Tìm ki m sâu l p ặ ế N u cây tìm ki m ch a nhánh vô h n, khi tìm ki m ạ nhánh đó. ể ị ắ ẹ ở

34

ế ể ụ

ộ i tăng đ sâu lên d+1 và l ượ ế ộ ạ

Đ kh c ph c ta ch tìm ki m đ n đ sâu d nào đó, ỉ ắ i n u không tìm đ c ta l ạ ế tìm ki m theo đ sâu này. ộ c l p v i d=1..max. Khi ch n max đ ủ ớ ượ ặ đây ta xây d ng 2 th c nghi m - ủ ệ ượ ọ ự ở

ế Quá trình trên đ l n ta s tìm đ ẽ ớ t cụ

35

Tìm ki m sâu h n ch v i d=3 ạ ế ớ ế

36

Procedure TKSHC(d) Begin

0;

ứ ầ ỉ

1. Kh i t o danh sách L ch ch a TT ban đ u u ở ạ depth(u0)=0; 2. Loop do 2.1 if L r ng then ỗ

{Thông báo th t b i; stop}

ấ ạ đ u danh sách L ở ầ 2.2 Lo i tr ng thái u ạ ạ

ế

2.3 if u là tr ng thái k t thúc then ạ {Thông báo thành công; stop}

2.4 if depth(u)<=d then ỗ ạ

ề {Đ t v vào đ u danh sách L; depth(v)=depth(u)+1} for m i tr ng thái v k u do ầ ặ

37

end;

Procedure TKSL Begin For d=0 to max do { TKSHC(d);

if thành công then exit}

End;

38

ự ộ ồ ị

ng đi t

BÀI T PẬ + Xây d ng m t đ th không gian tr ng thái có ng đ sâu >3, không có chu trình. S d ng ph ươ ộ pháp tìm ki m sâu và tìm ki m r ng đ xác đ nh ị đ ườ

ạ ử ụ ế ể ộ i tr ng thái k t thúc ầ ớ ạ ế tr ng thái đ u t ừ ạ ế

ử ụ

ế ể ị

+ Xây d ng m t đ th không gian tr ng thái có ạ ộ ồ ị đ sâu >3, có chu trình. S d ng ph ng pháp ươ ộ tìm ki m sâu h n ch đ xác đ nh đ ng đi t ừ ườ ế tr ng thái đ u t ạ i tr ng thái k t thúc ầ ớ ạ ế ạ

39

Ch

ng 2: Các chi n l

c tìm ki m

ươ

ế

ế ượ kinh nghi mệ

ế

ề ệ ể ử ụ

ệ ấ ứ ủ

ủ ạ

3.1 Hàm đánh giá và tìm ki m kinh nghi m Trong nhi u v n đ ta có th s d ng kinh ề nghi m, tri th c c a chúng ta trong lĩnh v c bài ự toán đ đánh giá các tr ng thái c a bài toán. ạ Thông qua vi c đánh giá các tr ng thái ta có th ể i th c a các tr ng thái trong ạ ệ ứ ộ ợ ế ủ ị

xác đ nh m c đ l quá trình tìm ki mế

40

Ví d : Tìm đ ng đi t ụ ườ ừ A đ n B ế

ườ ả ử ứ

s ng ả i đi đang đ ng ắ

Gi ở A và ph i cân nh c xem đi đ n C, D hay E ế

ng chim bay t t đ

ơ

Bi ườ ế đ n B g n h n đ ế ầ D đ n B và t bay t ừ ế ườ ừ C ừ ng chim E đ n B ế

Ng ườ i đi s ch n ??? ẽ ọ

Câu tr l i: theo t ả ờ ự ẽ ọ

nhiên ng ườ C i đi s ch n cách đi sang 41

• Nh v y, kinh nghi m c a con ng i đã đ c ệ ở ủ ườ ượ

ư ậ s d ng ử ụ

• Tuy nhiên kinh nghi m sai có th d n ta đi ch ch ệ

h ệ ướ

ể ẫ ệ ng, do đó tìm ki m kém hi u qu ả ế • Trong bài toán tìm ki m, kinh nghi m đ ệ ượ

ệ ệ

ượ ụ ề ộ ố

c th ế ể hi n qua vi c xây d ng hàm đánh giá, tuỳ thu c ộ ự c xây vào t ng bài toán mà hàm đánh giá đ d ng khác nhau, sau đây là m t s ví d v xây ự d ng hàm đánh giá tr ng thái ự ạ

ng đi trên b n đ ồ ả ng chim bay VD1: Trong bài toán tìm đ ườ ộ ể ấ ườ

m t nút đ n nút đích làm giá tr hàm đánh giá giao thông, ta có th l y đ dài đ t ị ừ ộ ế

42

VD2: Bài toán 8 số

ớ ố

1(u) là s quân không 0)=4 ụ

+ Hàm h1: V i m i tr ng thái u thì h ỗ ạ n m đúng v trí c a nó trong tr ng thái đích, ví d h1(u ủ ằ ạ ị

ị ổ ữ ủ

ạ ủ ạ

đây kho ng cách đ ả ể ố

ặ ộ ể ư ị ủ

ụ ạ

ấ ầ ấ ị

43

+ Hàm h2: h2(u) là t ng kho ng cách gi a v trí c a các ả quân trong tr ng thái u và v trí c a nó trong tr ng thái ị đích. c hi u là s ít nh t các d ch ấ ượ Ở i v trí c a chuy n theo hàng ho c c t đ đ a m t quân t ớ ị ộ ể 0) = 1+1+1+2 = 5, vì nó trong tr ng thái đích, ví d h2(u quân 1, 2, 6 c n ít nh t 1 d ch chuy n, quân 8 c n ít nh t 2 ầ ể d ch chuy n ể ị

ế ệ

ế ượ ố

• Có hai chi n l c tìm ki m kinh nghi m đó là t nh t đ u tiên + Tìm ki m t ấ ầ ế = Tìm ki m theo b r ng + Hàm đánh giá ế ề ộ

+ Tìm ki m leo đ i ồ ế = Tìm ki m theo đ sâu + Hàm đánh giá ộ ế

44

TÌM KI M T T NH T Đ U TIÊN Ố Ầ Ấ Ế

• Là tìm ki m theo b r ng đ c h ề ộ ế ượ ướ ng d n b i ẫ ở

t: ể

hàm đánh giá • Đi m khác bi + Trong tìm ki m theo b r ng ta l n l

m c hi n t ề ộ ệ ạ ể t phát ầ ượ i đ sinh ra các đ nh ỉ ỉ

ệ ế tri n các đ nh ở ứ ở ứ ế

ế

ể m c ti p theo + Trong tìm ki m t ể ỉ ỉ ở ị

ấ ỏ ỉ

ấ ầ t nh t đ ấ ượ ị m c hi n t i ho c m c trên t nh t đ u tiên, ta ch n đ nh đ ể ọ ố phát tri n là đ nh t c xác đ nh b i hàm ố đánh giá (đ nh có giá tr hàm đánh giá nh nh t), đ nh này có th ỉ ể ở ứ ệ ạ ứ ặ

45

ụ ạ

Ví d : Cho đ th không gian tr ng thái v i TTĐ A, TTKTB, giá tr đánh giá tr ng thái ghi t ạ ớ i m i nút ỗ ồ ị ị ạ

46

ế ế ậ ỹ ố t nh t đ u ấ ầ

Quá trình tìm ki m b ng k thu t tìm ki m t ằ tiên

47

ạ ỉ ứ

ở ạ loop do ỗ

{thông báo tìm ki m th t b i; stop}; ế ấ ạ

đ u danh sách L;

Procedure TimKiemTotNhatDauTien begin 1. Kh i t o danh sách L ch ch a tr ng thái ban đ u ầ 2. 2.1 if L r ng then 2.2 Lo i tr ng thái u ạ ạ 2.3 if u là tr ng thái k t thúc then ạ

ở ầ ế {thông báo tìm ki m thành công; stop}; ế

2.4 for m i tr ng thái v k u do ỗ ạ ề

c s p theo ượ ắ

Xen v vào danh sách L sao cho L đ tăng d n c a hàm đánh giá; ầ ủ ứ ự

th t end;

48

TÌM KI M LEO Đ I Ồ Ế

Tìm ki m leo đ i là tìm ki m theo đ sâu đ c ế ồ ộ ượ

h ế ẫ

ng d n b i hàm đánh giá ướ ể ở ớ ộ

ế ể

ỉ ề ủ ọ ẹ

ứ c xác đ nh b i hàm đánh giá ở ị

ể ề ỹ ư

Đi m khác v i tìm ki m theo đ sâu là khi ta phát ế c ti p theo ta ch n trong s tri n m t đ nh u thì b ố ướ ộ ỉ các đ nh con c a u, đ nh có nhi u h a h n nh t đ ỉ ấ ể phát tri n, đ nh này đ ượ ử ụ ể ỉ ậ ờ

ộ ử ụ ề ủ ể ờ

ứ ự ủ

t nh t k u đ ng đ u danh sách L V k thu t ta s d ng m t danh sách L l u các tr ng thái ch phát tri n, s d ng danh sách L1 đ ể ạ l u t m th i các tr ng thái k c a u khi phát tri n u. ạ ư ạ Danh sách L1 đ tăng d n c a c s p theo th t ắ ầ ượ c chuy n vào danh sách L sao hàm đánh giá r i đ ồ ượ cho tr ng thái t ố ạ ể ứ ở ầ ấ ề

49

Cho đ ồ th ị không gian tr ng ạ thái, TTĐ: A TTKT: B

Quá trình tìm ki m theo PP leo đ i ồ ế

50

ạ ỉ ứ

ở ạ loop do ỗ

{thông báo tìm ki m th t b i; stop}; ế ấ ạ

đ u danh sách L;

Procedure TimKiemLeoDoi begin 1. Kh i t o danh sách L ch ch a tr ng thái ban đ u ầ 2. 2.1 if L r ng then 2.2 Lo i tr ng thái u ạ ạ 2.3 if u là tr ng thái k t thúc then ạ

ở ầ ế {thông báo tìm ki m thành công; stop}; ế

2.4 for m i tr ng thái v k u do ỗ ạ ề

Xen v vào danh sách L1 sao cho L1 đ ượ c s p ắ

ầ ủ

51

tăng d n c a hàm đánh giá; ứ ự ể ầ

theo th t 2.5 Chuy n danh sách L1 vào đ u danh sách L end;