1. Trang chủ
  2. » Văn bán pháp quy

Giáo trinh trí tuệ nhân tạo- Chuong 2: Các phương pháp tìm kiếm lới giải trong không gian trạng thái

7 14 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 140,26 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

[r]

Trang 1

Ch ươ ng 2

CÁC PH ƯƠ NG PHÁP TÌM KI M L I GI I TRONG Ế Ờ Ả

Quá trình tìm ki m l i gi i c a bài toán đế ờ ả ủ ược bi u di n trong không gianể ễ

tr ng thái đạ ược xem nh quá trình dò tìm trên đ th , xu t phát t tr ng tháiư ồ ị ấ ừ ạ ban đ u, thông qua các toán t chuy n tr ng thái, l n lầ ử ể ạ ầ ượ ết đ n các tr ng tháiạ

ti p theo cho đ n khi g p đế ế ặ ược tr ng thái đích ho c không còn tr ng thái nàoạ ặ ạ

có th ti p t c để ế ụ ược n a Khi áp d ng các phữ ụ ương pháp tìm ki m trong khôngế gian tr ng thái , ngạ ười ta thường quan tâm đ n các v n đ sau:ế ấ ề

• K thu t tìm ki m l i gi iỹ ậ ế ờ ả

• Phương pháp lu n c a vi c tìm ki mậ ủ ệ ế

• Cách th hiên các nút trong quá trình tìm ki m (mô t tr ng thái bài toán)ể ế ả ạ

• Vi c ch n các toán t chuy n tr ng thái nào đ áp dung và có kh năng sệ ọ ử ể ạ ể ả ử

d ng phụ ương pháp may r i trong quá trình tìm ki m.ủ ế

Tuy nhiên, không ph i các phả ương pháp này có th áp d ng cho t t c cácể ụ ấ ả bài toán ph c t p mà cho t ng l p bài toán Vi c ch n chi n lứ ạ ừ ớ ệ ọ ế ược tìm ki mế cho bài toán c th ph thu c nhi u vào các đ c tr ng c a bài toán.ụ ể ụ ộ ề ặ ư ủ

Các th t c tìm ki m đi n hình bao g m:ủ ụ ế ể ồ

- Tìm ki m theo chi u r ng (Breadth – First Search)ế ề ộ

- Tìm ki m theo chi u sâu (Depth – First Search)ế ề

- Tìm ki m sâu d n (Depthwise Search)ế ầ

- Tìm ki m c c ti u hoá giá thành (Cost minimization Search).ế ự ể

- Tìm ki m v i tri th c b sung (Heuristic Search).ế ớ ứ ổ

1 Ph ươ ng pháp tìm ki m theo chi u r ng ế ề ộ

1.1 K thu t tìm ki m r ng ỹ ậ ế ộ

Trang 2

K thu t tìm ki m rông là tìm ki m trên t t c các nút c a m t m cỹ ậ ế ế ấ ả ủ ộ ứ trong không gian bài toán trước khi chuy n sang các nút c a m c ti pể ủ ứ ế theo

K thu t tìm ki m r ng b t đ u t m c th nh t c a không gian bàiỹ ậ ế ộ ắ ầ ừ ứ ứ ấ ủ toán, theo hướng d n c a lu t tr ng tài, ch ng h n “đi t trái sangẫ ủ ậ ọ ẳ ạ ừ

ph i” N u không th y l i gi i t i m c này, nó chuy n xu ng m c sauả ế ấ ờ ả ạ ứ ể ố ứ

đ ti p t c … đ n khi đ nh v để ế ụ ế ị ị ượ ờc l i gi i n u có.ả ế

1.2 Gi i thu t ả ậ

Input:

Cây/Đ th G = (V,E) v i đ nh g c là nồ ị ớ ỉ ố 0 (tr ng thái đ u)ạ ầ

T p đích Goalsậ

Output:

M t độ ường đi p t nừ 0 đ n m t đ nh nế ộ ỉ *∈ Goals

Method:

S d ng hai danh sách ho t đ ng theo nguyên t c FIFO (queue) MO vàử ụ ạ ộ ắ DONG

Procedure BrFS; (Breadth First Search)

Begin

Append(MO,no)

DONG=null;

While MO <> null do

begin

n:= Take(MO);

if n∈ DICH then exit;

Append(DONG, n);

For m∈ T(n) and m∉DONG+MO do

Trang 3

Write (‘Không có l i gi i’);ờ ả

End;

Chú ý: Th t c Append(MO,nủ ụ 0) b sung m t ph n t vào queue MO.ổ ộ ầ ử

Hàm Take(MO) l y m t ph n t trong queue MO ấ ộ ầ ử

• N u G là cây thì không c n dùng danh sách DONG.ế ầ

1.3 Đánh giá đ ph c t p c a gi i thu t tìm ki m r ng ộ ứ ạ ủ ả ậ ế ộ

Gi s r ng, m i tr ng thái khi đả ử ằ ỗ ạ ược xét s sinh ra k tr ng thái k ti p.ẽ ạ ế ế Khi đó ta g i k là nhân t nhánh N u bài toán tìm đọ ố ế ược nghi m theo phệ ươ ng pháp tìm ki m r ng có đ dài d Nh v y, đ nh đích s n m m c d+1, do đóế ộ ộ ư ậ ỉ ẽ ằ ở ứ

s đ nh c n xét l n nh t là:ố ỉ ầ ớ ấ

1 + k + k2 + + kd

Nh v y đ ph c t p th i gian c a gi i thu t là O(kư ậ ộ ứ ạ ờ ủ ả ậ d) Đ ph c t pộ ứ ạ không gian cũng là O(kd), vì t t c các đ nh c a cây tìm ki m m c d+1 đêuấ ả ỉ ủ ế ở ứ

ph i l u vào danh sách.ả ư

1.4 Ư u và nh ượ c đi m c a ph ể ủ ươ ng pháp tìm ki m r ng ế ộ

1.4.1 Ư u đi m ể

• K thu t tìm ki m r ng là k thu t vét c n không gian tr ng thái bàiỹ ậ ế ộ ỹ ậ ạ ạ toán vì v y s tìm đậ ẽ ượ ờc l i gi i n u có.ả ế

• Đường đi tìm được đi qua ít đ nh nh t.ỉ ấ

1.4.2 Nh ượ c đi m ể

• Tìm ki m l i gi i theo thu t toán đã đ nh trế ờ ả ậ ị ước, do v y tìm ki m m tậ ế ộ cách máy móc; khi không có thông tin h tr cho quá trình tìm ki m,ổ ợ ế không nh n ra ngay l i gi i.ậ ờ ả

• Không phù h p v i không gian bài oán kích thợ ớ ướ ớc l n Đ i v i lo i bàiố ớ ạ toán này, phương pháp tìm r ng đ i m t v i các nhu c u:ộ ố ặ ớ ầ

- C n nhi u b nh theo s nút c n l u tr ầ ề ộ ớ ố ầ ư ữ

Trang 4

- C n nhi u công s c x lý các nút, nh t là khi các nhánh cây dài, sầ ề ứ ử ấ ố nút tăng

- D th c hi n các thao tác không thích h p, th a, đ a đ n vi c tăngễ ự ệ ợ ừ ư ế ệ đáng k s nút ph i x lý.ể ố ả ử

• Không hi u q a n u l i gi i sâu Phệ ủ ế ờ ả ở ương pháp này không phù h pợ cho trường h p có nhi u đợ ề ường d n đ n k t qu nh ng đ u sâu.ẫ ế ế ả ư ề

• Giao ti p v i ngế ớ ười dùng không thân thi n Do duy t qua t t c các nút,ệ ệ ấ ả

vi c tìm ki m không t p trung vào m t ch đ ệ ế ậ ộ ủ ề

1.5 Các ví d ụ

Ví d 1 ụ Bài toán đong nước v i m = 5, n= 4, k =3ớ

M c 1: Tr ng thái đ u (0;0)ứ ạ ầ

M c 2: Các tr ng thái (5;0), (0;4), M c 3: (5;4), (1;4), (4,0)ứ ạ ứ

M c 4: (1;0), (4;4)ứ M c 5: (0;1), (5;3)ứ

m c 5 ta g p tr ng thái đích là (5;3) vì v y có đ c l i gi i nh sau:

(0;0)→ (0;4) → (4;0) → (4;4) → (5;3)

Đ có để ượ ờc l i gi i này ta ph i l u l i v t c a đả ả ư ạ ế ủ ường đi, có th trình bày quáể trình tìm ki m dế ướ ại d ng b ng sau:ả

(0;0)

(0;0) (5;0) (0;4) (5;0) (0;4) (0;0)

(5;0) (5;4) (0;0) (1;4) (0;4) (5;4)

(1;4)

(0;0) (5;0)

(0;4) (5;4) (0;0) (4;0) (5;4) (1;4)

(4;0)

(0;0) (5;0) (0;4)

(5;4) (0;4) (5;0) (1;4) (4;0) (0;0) (5;0) (0;4) (5;4)

(1;4) (5;4) (0;4) (1;0)

(5;0)

(4;0) (1;0) (0;0) (5;0) (0;4) (5;4) (1;4)

(4;0) (5;0) (4;4) (0;0)

(0;4)

(1;0) (4;4) (0;0) (5;0) (0;4) (5;4) (1;4) (4;0) (1;0) (5;0) (1;4) (0;1) (4;4) (0;1) (0;0) (5;0) (0;4) (5;4) (1;4) (4;0)

Trang 5

(5;3) (1;0) (4;4)

(0;1) (5;1) (0;4) (0;0)

(1;0)

(5;3) (5;1) (0;0) (5;0) (0;4) (5;4) (1;4) (4;0)

(1;0) (0;1)

(5;3)

Trang 6

for j:=1 to n do

begin

if i< m then

if ph[i,j] <> ph[i+1,j] then

begin

tg:= S[ph[i,j]] + S[ph[i+1,j]];

if tg >= max then

begin

hang :=i;

cot:=j;

huong:= 'nam';

max:= tg;

end;

end;

if j<n then

if ph[i,j]<> ph[i,j+1] then

begin

tg:= S[ph[i,j]] + S[ph[i,j+1]];

if tg >= max then

begin

hang:=i;

cot:=j;

huong:= 'dong';

max:= tg;

end;

end;

end;

end;

Trang 7

procedure inkq;

var

i,j: size;

f: text;

begin

assign(f,'out.pas');

rewrite(f);

writeln(f,so);

writeln(f,dt);

writeln(f,hang,' ',cot,' ',huong);

close(f);

end;

BEGIN

nhap;

khoitao;

demphong;

smax;

phatuong;

inkq;

END.

Ngày đăng: 09/03/2021, 05:13

🧩 Sản phẩm bạn có thể quan tâm

w