chapter03

36 2 0
chapter03

Đ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

Khi lan truyền ngược lên đồ thị đánh dấu cung nào là tốt nhất như là phần của con đường tốt nhất hiện tại.... Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp..[r]

(1)

Chương 3

CÁC KTHUT TÌM KIM

HEURISTIC

GV: Nguyễn Thị Trúc Viên Email: nttvien@dit.hcmut.edu.vn

Ni dung

Gii thiu.

Phương pháp sinh-và-th. Phương pháp leo đồi. Tìm kiếm tt nht trước. Thu gim ràng buc. Thomãn ràng buc.

(2)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Môn: Trí tuệnhân to Chương 03 Side

Gii thiu

Hai chiến lược tìm kiếm cơ bn đã gii thiu:

– DFS có quay lui

– BrFS

Hin thc:

Procedure Depth_first_search; Begin

open :=[start]; close:=[]; While (open <>[]) do

begin

remove X which is the leftmost of Open; If (X=goal) the return (Success) else begin

generate children of X; Put X to close;

eleminate children of X which is in Open or Close; Put remain children on LEFT end of open;

End; End;

Return (FALL); End;

DFS có quay lui

Gii thiu(tt.)

Hai chiến lược tìm kiếm cơ bn đã gii thiu:

– DFS có quay lui

– BrFS

Hin thc:

BrFS

Procedure Breadth_first_search; Begin

open :=[start]; close:=[]; While (open <>[]) do

begin

remove X which is the leftmost of Open; If (X=goal) the return (Success) else begin

generate children of X; Put X to close;

eleminate children of X which is in Open or Close; Put remain children on RIGHT end of open;

End; End;

Return (FALL); End;

(3)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Môn: Trí tuệnhân to Chương 03 Side

Sinh-và-Th

Gii thut:

1 Sinh lời giải (trạng thái OR đường)

2 So sánh với trạng thái đích

3 Nếu đích dừng; ngược lại đến bước

Các dng hin thc:

– Có hệthống: sinh trạng thái cách có hệthống, giải thuật tìm kiếm vét cạn KGTT, DFS có quay lui

– Ngẫu nhiên: sinh trạng thái cách ngẫu nhiên

– Heuristic: dùng heuristic đểkhông phải sinh trạng thái

mà dường khơng dẫn đến đích

Vi tốn ln:

– Thường khơng chỉsửdụng sinh-và-thử

– Thường kết hợp với kỹthuật khác đểgiới hạn KGTT

khảo sát, (như DENRAL)

Leo đồi

Phiên bn đơn gin:

1 Xét trạng thái bắt đầu 1. Nếu đích dừng.

2. Ngược lại: thiết lập khởi đầu TT tại.

2 Lặp đến khi: gặp đích OR khơng cịn luật chưa áp dụng vào TT

1. Lựa luật đểáp dụng vào TT đểsinh TT mới. 2. Xem xét TT này:

1 Nếu đích dừng

2 Nếu khơng đích, tốt TT thiết lập TT TT

3 Nếu khơng tốt thì tiếp lần lặp kế

Nhn xét:

– Có sửdụng hàm đánh giá đểtích hợp tri thức vào điều khiển

(4)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Môn: Trí tuệnhân to Chương 03 Side

Leo đồi(tt.)

Phiên bn ci tiến:

1 Xem xét trạng thái đầu

1. Nếu là đích dng.

2. Ngược li thiết lp TT đầu TT hin ti.

2 Lặp đến khi: gặp đích OR khơng có thay đổi TT

1. SUCC = TT bt knào ca TT hin ti

2. Vi mi lut:

1 Áp dụng luật đểsinh TT

2 Nếu TT đích dừng Ngược lại, so sánh với SUCC Nếu tốt SUCC thiết lập SUCC TT Ngược lại, không thay đổi SUCC

3 Nếu SUCC tốt TT SUCC làm TT

Nhn xét:

– Cảhai phiên có thểsẽkhơng thểtìm đến đích trường hợp sau:

Local Maximum: Plateau:

Ridge:

Leo đồi(tt.)

Bài toán sp xếp khi:

B C D E F G H A

A B C D E F G H

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

Thửgiải với giải thuật leo đồi, với hai heuristic (H1 H2):

1 Cộng cho khối nằm mà nằm khối khác mong muốn Trừ1 cho khối nằm mà không nằm khối mong muốn Cộng cho khối nằm cấu trúc mong muốn (nhưđích)

Trừ1 cho khối không nằm cấu trúc mong muốn H1=4

H2=-28

(5)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Mơn: Trí tuệnhân to Chương 03 Side

Leo đồi(tt.)

Bài toán sp xếp khi:

B C D E F G H A B C D E F G H A B C D E F G H B C D E F G H A B C D E F G H A A H1=4 H2=-28 H1=6 H2=-21 H1=4 H2=-28 H1=4

H2=-16 H1=4H2=-15

Kthut luyn thép

Xác sut chp nhn TT có trthp hơn TT hin ti:

– T: nhiệt độluyện, chọn dựa vào lịch luyện thép

– ∆E: Chuyển đổi mức lượng (dương) Trong giải thuật hiệu sốcủa hai hàm heuristic

So sánh vi GT leo đồi:

– Là cải tiến leo đồi đểnó có thểchấp nhận TT khơng có TT tốt TT

– Lịch luyện phải xây dựng trước, dựa vào kinh nghiệm,

được lưu lại lúc GT chạy

– Có thểchấp nhận TT tệ TT

T E

(6)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Mơn: Trí tuệnhân to Chương 03 Side 11

Kthut luyn thép(tt.)

Gii thut:

1 Xem xét trạng thái đầu

1. Nếu là đích dng.

2. Ngược li thiết lp TT đầu TT hin ti. Khởi động BEST-SO-FAR = TT

3 Khởi động T dựa vào lịch luyện

4 Lặp đến khi: gặp đích OR khơng luật chưa áp dụng vào TT

1. Chn mt lut đểáp dng vào TT hin ti sinh TT mi.

2. Xem xét TT mi, tính:

∆ ∆ ∆

E = (Trca TT hin ti) – (Trca TT mi)

1 TT = đích dừng

2 TT khơng đích, tốt TT TT TT

BEST-SO-FAR = TT

3 Nếu không tốt TT thì:

1 Tính xác suất p’ nói

2 Sinh ngẫu nhiên sốp thuộc [0,1] Nếu p < p’ chấp nhận TT tệ

này

3. Thay đổi T da vào lch luyn. TrảvềBEST-SO-FAR

Tìm kiếm tt trước

Tìm kiếm tt trước, best-first-search (BFS):

– Là phương pháp dung hồ BrFS DFS

– Có bơm tri thức cụthểcủa toán vào phần điều khiển

– Có sửdụng để đánh giá ưu thếcủa trạng thái, có thểlà

ước lượng từnó đến TT đích

– Tại bước, GT sẽchọn trạng thái mà cho có ưu

thếnhất sốcác trạng thái sinh đến thời điểm

– Khác với GT leo đồi có cải tiến ởchổ: có lưu tất cảnhững TT

đã phát sinh đến thời điểm chọn TT đểxét tiếp

– Dùng hai danh sách:

(7)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Mơn: Trí tuệnhân to Chương 03 Side 13

Tìm kiếm tt trước(tt.)

Gii thut BFS:

1 OPEN = [TT đầu]

2 Lặp đến khi: gặp đích OR OPEN rỗng

1. Lấy TT tốt từOPEN. 2. Phát sinh nó. 3. Với con:

1 Nếu chưa phát sinh: gán trị đánh giá, đưa vào OPEN, ghi nhận TT cha

2 Nếu phát sinh trước: Nếu đạt đến đường khác tốt ghi nhận lại TT cha nó, cập nhật lại trị đánh giá của

Tìm kiếm tt trước(tt.)

Tìm tt trước qua bước:

A A

B C D

(3) (5) (1) Bước Bước

A

B C D

(3) (5) Bước

E F

(4) (6)

A

B C D

(5) Bước

E F

G H

A

B C D

(5) Bước

E F

(6)

G H

(6) (5)

(8)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Mơn: Trí tuệnhân to Chương 03 Side 15

Tìm kiếm tt trước(tt.)

Greedy Search

– h(n) = Ước lượng chi phí từ TT n đến TT đích

Khơng đảm bảo tính tối ưu lẫn tính đầy đủ

Uniform-cost search

– g(n) = Ước lượng chi phí từ TT đầu đến TT n

Tối ưu đầy đủ, khơng hiệu

Tìm kiếm tt trước(tt.)

Gii thiu gii thut A*:

– Sửdụng hàm:

f’(n) : Ước lượng chi phí từ TT đầu đến đich đường có qua TT n. g(n) : chi phí phải tri từ TT đầu đến TT n.

h’(n): Ước lượng chi phí từ TT n đến TT đích. f’(n) = g(n) + h’(n)

– Sửdụng hai danh sách OPEN CLOSED nói

Gii thut A*:

1 OPEN =[TT đầu, g=0, f’=g+ h’ = h’]

2 Lặp đến khi: gặp TT đích:

1. OPEN rng báo error.

2. BESTNODE = TT tt nht( f nhnht) OPEN. Xoá BESTNODE khi OPEN.

Đưa vào CLOSED.

(9)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Mơn: Trí tuệnhân to Chương 03 Side 17

Tìm kiếm tt trước(tt.)

Với gọi SUCCESSOR:

(a) Thiết lập đểSUCCESSOR ngược BESTNODE, đểcho phép trả

về đường gặp đích

(b) Tính g(SUCCESSOR) = g(BESTNODE) + cost(BESTNODE, SUCCESSOR)

(c) Nếu SUCCESSOR có OPEN, TT OPEN gọi OLD Nếu g(SUCCESSOR) < g(OLD) gán lại parent OLD

BESTNODE Cập nhật lại đường đạt đến OLD trị đánh giá f cho OLD OPEN

(d) Nếu SUCCESSOR có CLOSED, gọi OLD’ Thực kiểm tra tương tự OPEN, song ý đạt tới SUCCESSOR đường tốt thì:

- Cập nhật lại cha OLD’ - Đưa OLD’ vào lại OPEN

- Cp nht li giá trf cho TT ca OLD’.

(e) Nếu SUCCESSOR cảOPEN , CLOSED thì: đưa vào OPEN thêm ds BESTNODE Tính tốn gía trịf cho

Tìm kiếm tt trước(tt.)

Mt cách hin thc BFS:

Procedure Best_First_Search; Begin

open:=[start]; close:=[]; While(open<>[]) begin

X = removefirst(OPEN) ifX=GOAL then return path else begin

Sinh X; FORmỗi Y X DO

case Y khơng có OPEN, CLOSED: begin

(10)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Mơn: Trí tuệnhân to Chương 03 Side 19

Tìm kiếm tt trước(tt.)

Mt cách hin thc BFS(tt.): case YCó OPEN:

if đến Y path ngắn

then

gán path ngắn cho Y OPEN

case Ycó CLOSED

if đến Y path ngắn

then begin

Xoá Y khỏi CLOSED; Thêm Y vào OPEN

end end; /*end FOR*/ Đưa X vào CLOSED

Sắp xếp TT OPEN (tăng dần theo hàm f)

end; / while/ return failure;

End;

Thu gim toán

ĐồthAND-OR :

– Được dùng đểbiểu diễn KGTT cho toán giải

cách phân rã toán nhỏ

– Khi toán phân rã thành N toán con, mà tất

chúng phải giải đểhồn thành tốn lớn biểu

diễn thành cung AND đến N trạng thái

– Nhiều cách giải cho tốn dùng có thểbiểu diễn cung OR

– Ví dụ: A

B C D

A thơng qua hai cách: -Giải B, hoặc

(11)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Mơn: Trí tuệnhân to Chương 03 Side 21

Thu gim toán (tt.)

ĐồthAND-OR :

– Nếu dùng giải thuật BFS cho việc tìm lời giải đồthị

AND-OR có lẽkhơng thích hợp xem xét đồthịsau:

A

B C D

(5) (3) (4)

-Nếu giá trịghi kềbên trạng thái trị ước lượng cho trạng thái đó. -Theo BFS trạng thái kếtiếp chọn C, như:

-Khi chọn cách giải qua C bắt buộc phải giải cảD Do tổng chi phí cho cách giải là: C+D+ = 9, giá trịcủa hàm g BFS.

- Trong chọn cách giải qua B chi phí chỉlà: B+1 = 6.

(9)

Thu gim toán (tt.)

GT Thu gim:

1 Khởi động đồthịlà TT bắt đầu

2 Lặp đến khi: TT đầu gán nhãn SOLVED OR chi phí

vượt qua ngưỡng FUTILITY:

1. Duyệt đồthịbắt đầu từ TT đầu, theo đường tốt tại,

tích luỹtập trạng thái đường mà chưa mở rộng gán nhãn SOLVED.

2. Lấy TT chưa mởrộng mởrộng Nếu khơng có thì

gán FUTILITY trịcủa TT Ngược lại, thêm vào đồthịvà chúng tính f’ (sửdụng chỉh’, bỏqua g) Nếu f’ =0 thì gán nhãn cho TT SOLVED.

3. Thay đổi f’ TT mởrộng đểphản ánh thông tin

(12)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Môn: Trí tuệnhân to Chương 03 Side 23

Thu gim toán (tt.)

GT Thu gim (tt.) - tng bước:

A

B C D

A Trước bước 1:

(5)

Trước bước 2:

(3) (4) (5)

(9) (6)

Thu gim toán (tt.)

GT Thu gim (tt.) - tng bước:

A

B C D

Trước bước 3:

(3) (4)

(9)

E F

4

10

A

B C D

Trước bước 4:

(4) (12)

E F

4

10

10 10

G H

5

(13)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Mơn: Trí tuệnhân to Chương 03 Side 25

Thu gim toán (tt.)

Gii thut AO*:

1 Gán GRAPH chứa TT đầu (INIT) Tính h’(INIT)

2 Lặp đến INIT có nhãn SOLVED OR h’(INIT) >

FUTILITY:

1. Lần theo cung gán nhãn từINIT, lựa chọn NODE

đểmởrộng.

2. Phát sinh NODE Nếu khơng có FUTILITY =

h’(NODE) Nếu có con, với SUCCESSOR thực hiện: Đưa SUCCESSOR vào GRAPH

2 Nếu SUCCESSOR nốt dừng, gán nhãn SOLVED, gán h’(SUCCESSOR) =0

3 Nếu SUCCESSOR khơng nốt dừng tính h’(SUCCESSOR)

3. Lan truyền ngược lên đồthị sau: Gọi S tập nốt có nhãn

SOLVED, h’ chuyển đổi, cần lan truyền ngược lên nốt cha Khởi động S chưa NODE Đến S trống thực hiện:

Thu gim toán (tt.)

Gii thut AO*:

1

2 …

1. 2. 3.

1 Nếu có thểthì: lựa từS nốt mà khơng có GRAPH nằm S khơng có nốt : lựa nốt bất kỳtừ S, gọi CURRENT, xố khỏi S

2 Tính tốn phí cung từCURRENT Phí tổng h’ nốt nằm ởcuối cung (AND NODE), cộng với phí cung (thơng thường cho cung) Gán cost nhỏnhất (trong OR NODE) cho CURRENT

3 Đánh dấu đường tốt

4 Đánh dấu SOLVED cho CURRENT nếu: tất cảnốt nối vào xuyên qua cung nói SOLVED

5 Nếu CURRENT SOLVED chi phí CURRENT thay đổi phải lan truyền ngược lên Đưa vào S tất cảcác cha

(14)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Mơn: Trí tuệnhân to Chương 03 Side 27

Thomãn ràng buc

Gii thut:

1 Sinh ràng buộc có thểcó:

Gọi OPEN = tập đối tượng phải gán trị Lặp đến OPEN trống OR vi phạm xảy ra:

1. OB mt đối tượng ca OPEN Áp dng ràng buc có thcó vào OB.

2. Nếu tp khác so vi tp đã được gán ln sau OB được xem xét, hoc đây ln đầu tiên OB được xem xét. Đưa vào OPEN tt ccác

đối tượng nm ràng buc vi OB.

3. BOB khi OPEN.

2 Nếu hợp ràng buộc sinh có lời giải dừng

3 Nếu hợp ràng buộc sinh sinh có vi phạm trảvềlỗi

4 Nếu hai điều khơng xảy thì: thực cơng việc đốn, cách: lặp đến có lời giải OR tất cảcác lời giải có khả bịloại:

1. La mt đối tượng chưa có tr Chn cách gán trị đểthocác ràng buc trên đó.

2. Gi đệqui tp ràng buc mi va cp nht ở bước trên.

Thomãn ràng buc

Ví d:

SEND +MORE -MONEY Trạng thái đầu:

(15)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Mơn: Trí tuệnhân to Chương 03 Side 29

Thomãn ràng buc

Ví d: (tt) - mt số bước gii

M=1 S = | 9 O = | 1O=0 N=E | E+1 N = E+1. C2 = 1

N +R > 8 E <> 9

N =3 R = | 9

2 + D = Y | + D = 10 + Y Trạng thái đầu

SEND +MORE -MONEY

E =2 Đoán !!!

Thomãn ràng buc

Ví d: (tt) - mt số bước gii

N =3 R = | 9

2 + D = Y | + D = 10 + Y

2 + D = Y N + R = 10 + E R =9

S = 8

2 + D = 10 + Y D = + Y D = | 9

C1 =0 C1 =1

Y= 0 Y = 1

D=8 D=9

Vi phạm Vi phạm

(16)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Mơn: Trí tuệnhân to Chương 03 Side 31

Phân tích phương tin - mc đích

Chiến lược tìm kiếm có thlà:

– Tiến (forward)

– Lùi (backward)

– Hay kết hợp dạng: phương tiện - mục đích

Ý tưởng:

– Nếu muốn từtrạng thái (A) đến (B), mà có tốn tửO (luật) làm áp dụng O dừng

– Nếu khơng có tốn tử O thì:

Cốgắng tìm đường từ(A) (C), gọi lại thủtục này. Mỗi đến (C) có thểáp dụng tốn tử O để đến (D) Nếu (D) GOAL dừng.

Nếu khơng cốgắng tìm đường đến (D), gọi lại thủtục này.

Phân tích phương tin - mc đích

Chiến lược tìm kiếm có thlà:

– Tiến (forward)

– Lùi (backward)

– Hay kết hợp dạng: phương tiện - mục đích

Gii thut: Mean-End-Analysis, MEA(CURRENT-GOAL):

1 So sánh CURRENT GOAL If không khác dừng

2 Ngược lại: Chọn sựkhác lớn nhất, thực hiện:

1. La mt tốn t(lut) O mà có thdùng được cho skhác Nếu khơng cóbáo error.

2. Áp dng O vào CURRENT Phát sinh hai trng thái: (i) O-START, trng thái mà điều kin đầu ca O được thomãn, (ii) O-RESULT , trng thái kết cc nếu như O đã được áp dng vào O-START.

3. IF

(FIRST-PART MEA(CURRENT, O-START)) AND

(LAST-PART MEA(O-RESULT, GOAL)) Là thành công

(17)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Mơn: Trí tuệnhân to Chương 03 Side 33

Phân tích phương tin - mc đích

Ví d:

Một robot với hành động bảng cho trước hành động dùng đểlàm giảm sựkhác biệt toán bảng (bảng khác biệt).

Đưa chuổi hành động đểrobot có thểmang bàn từ phịng sang phịng khác, bàn có hai vật nhỏ.

at(robot, loc) None

WALK(loc)

at(obj, loc) ^ at(robot, loc) at(robot, obj)^

small(obj) CARRY(obj, loc)

at(obj, loc) ^ at(robot, loc) at(robot, obj)^ large(obj)^ clear(obj)^ armempty. PUSH(obj, loc) Kết quả Điều kiện đầu

Toán tử

<Bảng 1>

Phân tích phương tin - mc đích

Ví d: (tt.)

on(obj1,obj2) at(robot, obj2) ^

holding(obj1) PLACE(obj1, obj2) ¬holding(obj) holding(obj) PUTDOWN(obj) holding(obj) at(robot, obj) PICKUP(obj) Kết quả Điều kiện đầu

Toán tử

* Be holding object

* *

Get arm empty

* Get object on object

(18)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Mơn: Trí tuệnhân to Chương 03 Side 35

Phân tích phương tin - mc đích

Ví d: (tt.)

– Move: bàn phịng

Khơng có tốn tửnào dùng được.

Bảng khác biệt cho biết có PUSH CARRY có thễdùng được. – Nếu chọn CARRY: hai điều kiện phải thoả:

at(robot, bàn) ^ small(bàn)

at(robot, bàn) : giải WALK

small(bàn): khơng có tốn tửnào. DEAD END.

– Chỉcòn giải pháp: dùng PUSH

A C PUSH D B

START GOAL

Phân tích phương tin - mc đích

Ví d: (tt.)

– Hai tốn cịn lại : (A)(C) (D) (B)

– Giải (A)(C): Khi dùng PUSH cần điều kiện:

at(robot, bàn) : giải WALK. large(bàn): bàn sẵn sàng large. clear(bàn): giải PICKUP. armempty: robot sẵn empty.

– Sau dùng PICKUP sau phải dùng PUTDOWN để

đưa cánh tay robot vềrỗng

– … Kết quảcó thểtóm lược sau:

A walk pickup putdown pickup putdown C D B

(19)

Chương 3

CÁC KTHUT TÌM KIM

HEURISTIC

GV: Nguyễn Thị Trúc Viên Email: nttvien@dit.hcmut.edu.vn

Ni dung

Gii thiu.

Phương pháp sinh-và-th. Phương pháp leo đồi. Tìm kiếm tt nht trước. Thu gim ràng buc. Thomãn ràng buc.

(20)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Mơn: Trí tuệnhân to Chương 03 Side

Gii thiu

Hai chiến lược tìm kiếm cơ bn đã gii thiu:

– DFS có quay lui

– BrFS

Hin thc:

Procedure Depth_first_search; Begin

open :=[start]; close:=[]; While (open <>[]) do

begin

remove X which is the leftmost of Open; If (X=goal) the return (Success) else begin

generate children of X; Put X to close;

eleminate children of X which is in Open or Close; Put remain children on LEFT end of open;

End; End;

Return (FALL); End;

DFS có quay lui

Gii thiu(tt.)

Hai chiến lược tìm kiếm cơ bn đã gii thiu:

– DFS có quay lui

– BrFS

Hin thc:

BrFS

Procedure Breadth_first_search; Begin

open :=[start]; close:=[]; While (open <>[]) do

begin

remove X which is the leftmost of Open; If (X=goal) the return (Success) else begin

generate children of X; Put X to close;

eleminate children of X which is in Open or Close; Put remain children on RIGHT end of open;

End; End;

Return (FALL); End;

(21)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Mơn: Trí tuệnhân to Chương 03 Side

Sinh-và-Th

Gii thut:

1 Sinh lời giải (trạng thái OR đường)

2 So sánh với trạng thái đích

3 Nếu đích dừng; ngược lại đến bước

Các dng hin thc:

– Có hệthống: sinh trạng thái cách có hệthống, giải thuật tìm kiếm vét cạn KGTT, DFS có quay lui

– Ngẫu nhiên: sinh trạng thái cách ngẫu nhiên

– Heuristic: dùng heuristic đểkhông phải sinh trạng thái

mà dường khơng dẫn đến đích

Vi tốn ln:

– Thường không chỉsửdụng sinh-và-thử

– Thường kết hợp với kỹthuật khác đểgiới hạn KGTT

khảo sát, (như DENRAL)

Leo đồi

Phiên bn đơn gin:

1 Xét trạng thái bắt đầu 1. Nếu đích dừng.

2. Ngược lại: thiết lập khởi đầu TT tại.

2 Lặp đến khi: gặp đích OR khơng cịn luật chưa áp dụng vào TT

1. Lựa luật đểáp dụng vào TT đểsinh TT mới. 2. Xem xét TT này:

1 Nếu đích dừng

2 Nếu khơng đích, tốt TT thiết lập TT TT

3 Nếu không tốt thì tiếp lần lặp kế

Nhn xét:

– Có sửdụng hàm đánh giá đểtích hợp tri thức vào điều khiển

(22)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Mơn: Trí tuệnhân to Chương 03 Side

Leo đồi(tt.)

Phiên bn ci tiến:

1 Xem xét trạng thái đầu

1. Nếu là đích dng.

2. Ngược li thiết lp TT đầu TT hin ti.

2 Lặp đến khi: gặp đích OR khơng có thay đổi TT

1. SUCC = TT bt knào ca TT hin ti

2. Vi mi lut:

1 Áp dụng luật đểsinh TT

2 Nếu TT đích dừng Ngược lại, so sánh với SUCC Nếu tốt SUCC thiết lập SUCC TT Ngược lại, không thay đổi SUCC

3 Nếu SUCC tốt TT SUCC làm TT

Nhn xét:

– Cảhai phiên có thểsẽkhơng thểtìm đến đích trường hợp sau:

Local Maximum: Plateau:

Ridge:

Leo đồi(tt.)

Bài toán sp xếp khi:

B C D E F G H A

A B C D E F G H

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

Thửgiải với giải thuật leo đồi, với hai heuristic (H1 H2):

1 Cộng cho khối nằm mà nằm khối khác mong muốn Trừ1 cho khối nằm mà khơng nằm khối mong muốn Cộng cho khối nằm cấu trúc mong muốn (nhưđích)

Trừ1 cho khối khơng nằm cấu trúc mong muốn H1=4

H2=-28

(23)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Mơn: Trí tuệnhân to Chương 03 Side

Leo đồi(tt.)

Bài toán sp xếp khi:

B C D E F G H A B C D E F G H A B C D E F G H B C D E F G H A B C D E F G H A A H1=4 H2=-28 H1=6 H2=-21 H1=4 H2=-28 H1=4

H2=-16 H1=4H2=-15

Kthut luyn thép

Xác sut chp nhn TT có trthp hơn TT hin ti:

– T: nhiệt độluyện, chọn dựa vào lịch luyện thép

– ∆E: Chuyển đổi mức lượng (dương) Trong giải thuật hiệu sốcủa hai hàm heuristic

So sánh vi GT leo đồi:

– Là cải tiến leo đồi đểnó có thểchấp nhận TT khơng có TT tốt TT

– Lịch luyện phải xây dựng trước, dựa vào kinh nghiệm,

được lưu lại lúc GT chạy

– Có thểchấp nhận TT tệ TT

T E

(24)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Mơn: Trí tuệnhân to Chương 03 Side 11

Kthut luyn thép(tt.)

Gii thut:

1 Xem xét trạng thái đầu

1. Nếu là đích dng.

2. Ngược li thiết lp TT đầu TT hin ti. Khởi động BEST-SO-FAR = TT

3 Khởi động T dựa vào lịch luyện

4 Lặp đến khi: gặp đích OR khơng cịn luật chưa áp dụng vào TT

1. Chn mt lut đểáp dng vào TT hin ti sinh TT mi.

2. Xem xét TT mi, tính:

∆ ∆ ∆

E = (Trca TT hin ti) – (Trca TT mi)

1 TT = đích dừng

2 TT khơng đích, tốt TT TT TT

BEST-SO-FAR = TT

3 Nếu không tốt TT thì:

1 Tính xác suất p’ nói

2 Sinh ngẫu nhiên sốp thuộc [0,1] Nếu p < p’ chấp nhận TT tệ

này

3. Thay đổi T da vào lch luyn. TrảvềBEST-SO-FAR

Tìm kiếm tt trước

Tìm kiếm tt trước, best-first-search (BFS):

– Là phương pháp dung hoà BrFS DFS

– Có bơm tri thức cụthểcủa tốn vào phần điều khiển

– Có sửdụng để đánh giá ưu thếcủa trạng thái, có thểlà

ước lượng từnó đến TT đích

– Tại bước, GT sẽchọn trạng thái mà cho có ưu

thếnhất sốcác trạng thái sinh đến thời điểm

– Khác với GT leo đồi có cải tiến ởchổ: có lưu tất cảnhững TT

đã phát sinh đến thời điểm chọn TT đểxét tiếp

– Dùng hai danh sách:

(25)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Mơn: Trí tuệnhân to Chương 03 Side 13

Tìm kiếm tt trước(tt.)

Gii thut BFS:

1 OPEN = [TT đầu]

2 Lặp đến khi: gặp đích OR OPEN rỗng

1. Lấy TT tốt từOPEN. 2. Phát sinh nó. 3. Với con:

1 Nếu chưa phát sinh: gán trị đánh giá, đưa vào OPEN, ghi nhận TT cha

2 Nếu phát sinh trước: Nếu đạt đến đường khác tốt ghi nhận lại TT cha nó, cập nhật lại trị đánh giá của

Tìm kiếm tt trước(tt.)

Tìm tt trước qua bước:

A A

B C D

(3) (5) (1) Bước Bước

A

B C D

(3) (5) Bước

E F

(4) (6)

A

B C D

(5) Bước

E F

G H

A

B C D

(5) Bước

E F

(6)

G H

(6) (5)

(26)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Môn: Trí tuệnhân to Chương 03 Side 15

Tìm kiếm tt trước(tt.)

Greedy Search

– Sửdụng hàm h(n) = Ước lượng chi phí từ TT n đến TT đích

Khơng đảm bảo tính tối ưu lẫn tính đầy đủ

Uniform-cost search

– Sửdụng hàm g(n) = Ước lượng chi phí từ TT đầu đến TT n

Tối ưu đầy đủ, khơng hiệu

Tìm kiếm tt trước(tt.)

Gii thiu gii thut A*:

– Sửdụng hàm:

f’(n) : Ước lượng chi phí từ TT đầu đến đich đường có qua TT n. g(n) : chi phí phải tri từ TT đầu đến TT n.

h’(n): Ước lượng chi phí từ TT n đến TT đích. f’(n) = g(n) + h’(n)

– Sửdụng hai danh sách OPEN CLOSED nói

Gii thut A*:

1 OPEN =[TT đầu, g=0, f’=g+ h’ = h’]

2 Lặp đến khi: gặp TT đích:

1. OPEN rng báo error.

2. BESTNODE = TT tt nht( f nhnht) OPEN. Xoá BESTNODE khi OPEN.

Đưa vào CLOSED.

(27)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Mơn: Trí tuệnhân to Chương 03 Side 17

Tìm kiếm tt trước(tt.)

Với gọi SUCCESSOR:

(a) Thiết lập đểSUCCESSOR ngược BESTNODE, đểcho phép trả

về đường gặp đích

(b) Tính g(SUCCESSOR) = g(BESTNODE) + cost(BESTNODE, SUCCESSOR)

(c) Nếu SUCCESSOR có OPEN, TT OPEN gọi OLD Nếu g(SUCCESSOR) < g(OLD) gán lại parent OLD

BESTNODE Cập nhật lại đường đạt đến OLD trị đánh giá f cho OLD OPEN

(d) Nếu SUCCESSOR có CLOSED, gọi OLD’ Thực kiểm tra tương tự OPEN, song ý đạt tới SUCCESSOR đường tốt thì:

- Cập nhật lại cha OLD’ - Đưa OLD’ vào lại OPEN

- Cp nht li giá trf cho TT ca OLD’.

(e) Nếu SUCCESSOR khơng có cảOPEN , CLOSED thì: đưa vào OPEN thêm ds BESTNODE Tính tốn gía trịf cho

Tìm kiếm tt trước(tt.)

Mt cách hin thc BFS:

Procedure Best_First_Search; Begin

open:=[start]; close:=[]; While(open<>[]) begin

X = removefirst(OPEN) ifX=GOAL then return path else begin

Sinh X; FORmỗi Y X DO

case Y khơng có OPEN, CLOSED: begin

(28)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Mơn: Trí tuệnhân to Chương 03 Side 19

Tìm kiếm tt trước(tt.)

Mt cách hin thc BFS(tt.): case YCó OPEN:

if đến Y path ngắn

then

gán path ngắn cho Y OPEN

case Ycó CLOSED

if đến Y path ngắn

then begin

Xoá Y khỏi CLOSED; Thêm Y vào OPEN

end end; /*end FOR*/ Đưa X vào CLOSED

Sắp xếp TT OPEN (tăng dần theo hàm f)

end; / while/ return failure;

End;

Thu gim toán

ĐồthAND-OR :

– Được dùng đểbiểu diễn KGTT cho toán giải

cách phân rã toán nhỏ

– Khi toán phân rã thành N toán con, mà tất

chúng phải giải đểhồn thành tốn lớn biểu

diễn thành cung AND đến N trạng thái

– Nhiều cách giải cho tốn dùng có thểbiểu diễn cung OR

– Ví dụ: A

B C D

A thơng qua hai cách: -Giải B, hoặc

(29)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Mơn: Trí tuệnhân to Chương 03 Side 21

Thu gim toán (tt.)

ĐồthAND-OR :

– Nếu dùng giải thuật BFS cho việc tìm lời giải đồthị

AND-OR có lẽkhơng thích hợp xem xét đồthịsau:

A

B C D

(5) (3) (4)

-Nếu giá trịghi kềbên trạng thái trị ước lượng cho trạng thái đó. -Theo BFS trạng thái kếtiếp chọn C, như:

-Khi chọn cách giải qua C bắt buộc phải giải cảD Do tổng chi phí cho cách giải là: C+D+ = 9, giá trịcủa hàm g BFS.

- Trong chọn cách giải qua B chi phí chỉlà: B+1 = 6.

(9)

Thu gim toán (tt.)

GT Thu gim:

1 Khởi động đồthịlà TT bắt đầu

2 Lặp đến khi: TT đầu gán nhãn SOLVED OR chi phí

vượt qua ngưỡng FUTILITY:

1. Duyệt đồthịbắt đầu từ TT đầu, theo đường tốt tại,

tích luỹtập trạng thái đường mà chưa mở rộng gán nhãn SOLVED.

2. Lấy TT chưa mởrộng mởrộng Nếu khơng có thì

gán FUTILITY trịcủa TT Ngược lại, thêm vào đồthịvà chúng tính f’ (sửdụng chỉh’, bỏqua g) Nếu f’ =0 thì gán nhãn cho TT SOLVED.

3. Thay đổi f’ TT mởrộng đểphản ánh thông tin

(30)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Mơn: Trí tuệnhân to Chương 03 Side 23

Thu gim toán (tt.)

GT Thu gim (tt.) - tng bước:

A

B C D

A Trước bước 1:

(5)

Trước bước 2:

(3) (4) (5)

(9) (6)

Thu gim toán (tt.)

GT Thu gim (tt.) - tng bước:

A

B C D

Trước bước 3:

(3) (4)

(9)

E F

4

10

A

B C D

Trước bước 4:

(4) (12)

E F

4

10

10 10

G H

5

(31)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Mơn: Trí tuệnhân to Chương 03 Side 25

Thu gim toán (tt.)

Gii thut AO*:

1 Gán GRAPH chứa TT đầu (INIT) Tính h’(INIT)

2 Lặp đến INIT có nhãn SOLVED OR h’(INIT) >

FUTILITY:

1. Lần theo cung gán nhãn từINIT, lựa chọn NODE

đểmởrộng.

2. Phát sinh NODE Nếu khơng có FUTILITY =

h’(NODE) Nếu có con, với SUCCESSOR thực hiện: Đưa SUCCESSOR vào GRAPH

2 Nếu SUCCESSOR nốt dừng, gán nhãn SOLVED, gán h’(SUCCESSOR) =0

3 Nếu SUCCESSOR khơng nốt dừng tính h’(SUCCESSOR)

3. Lan truyền ngược lên đồthị sau: Gọi S tập nốt có nhãn

SOLVED, h’ chuyển đổi, cần lan truyền ngược lên nốt cha Khởi động S chưa NODE Đến S trống thực hiện:

Thu gim toán (tt.)

Gii thut AO*:

1

2 …

1. 2. 3.

1 Nếu có thểthì: lựa từS nốt mà khơng có GRAPH nằm S khơng có nốt : lựa nốt bất kỳtừ S, gọi CURRENT, xố khỏi S

2 Tính tốn phí cung từCURRENT Phí tổng h’ nốt nằm ởcuối cung (AND NODE), cộng với phí cung (thông thường cho cung) Gán cost nhỏnhất (trong OR NODE) cho CURRENT

3 Đánh dấu đường tốt

4 Đánh dấu SOLVED cho CURRENT nếu: tất cảnốt nối vào xuyên qua cung nói SOLVED

5 Nếu CURRENT SOLVED chi phí CURRENT thay đổi phải lan truyền ngược lên Đưa vào S tất cảcác cha

(32)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Mơn: Trí tuệnhân to Chương 03 Side 27

Thomãn ràng buc

Gii thut:

1 Sinh ràng buộc có thểcó:

Gọi OPEN = tập đối tượng phải gán trị Lặp đến OPEN trống OR vi phạm xảy ra:

1. OB mt đối tượng ca OPEN Áp dng ràng buc có thcó vào OB.

2. Nếu tp khác so vi tp đã được gán ln sau OB được xem xét, hoc đây ln đầu tiên OB được xem xét. Đưa vào OPEN tt ccác

đối tượng nm ràng buc vi OB.

3. BOB khi OPEN.

2 Nếu hợp ràng buộc sinh có lời giải dừng

3 Nếu hợp ràng buộc sinh sinh có vi phạm trảvềlỗi

4 Nếu hai điều không xảy thì: thực cơng việc đốn, cách: lặp đến có lời giải OR tất cảcác lời giải có khả bịloại:

1. La mt đối tượng chưa có tr Chn cách gán trị đểthocác ràng buc trên đó.

2. Gi đệqui tp ràng buc mi va cp nht ở bước trên.

Thomãn ràng buc

Ví d:

SEND +MORE -MONEY Trạng thái đầu:

(33)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Mơn: Trí tuệnhân to Chương 03 Side 29

Thomãn ràng buc

Ví d: (tt) - mt số bước gii

M=1 S = | 9 O = | 1O=0 N=E | E+1 N = E+1. C2 = 1

N +R > 8 E <> 9

N =3 R = | 9

2 + D = Y | + D = 10 + Y Trạng thái đầu

SEND +MORE -MONEY

E =2 Đoán !!!

Thomãn ràng buc

Ví d: (tt) - mt số bước gii

N =3 R = | 9

2 + D = Y | + D = 10 + Y

2 + D = Y N + R = 10 + E R =9

S = 8

2 + D = 10 + Y D = + Y D = | 9

C1 =0 C1 =1

Y= 0 Y = 1

D=8 D=9

Vi phạm Vi phạm

(34)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Mơn: Trí tuệnhân to Chương 03 Side 31

Phân tích phương tin - mc đích

Chiến lược tìm kiếm có thlà:

– Tiến (forward)

– Lùi (backward)

– Hay kết hợp dạng: phương tiện - mục đích

Ý tưởng:

– Nếu muốn từtrạng thái (A) đến (B), mà có tốn tửO (luật) làm áp dụng O dừng

– Nếu khơng có tốn tử O thì:

Cốgắng tìm đường từ(A) (C), gọi lại thủtục này. Mỗi đến (C) có thểáp dụng tốn tử O để đến (D) Nếu (D) GOAL dừng.

Nếu khơng cốgắng tìm đường đến (D), gọi lại thủtục này.

Phân tích phương tin - mc đích

Chiến lược tìm kiếm có thlà:

– Tiến (forward)

– Lùi (backward)

– Hay kết hợp dạng: phương tiện - mục đích

Gii thut: Mean-End-Analysis, MEA(CURRENT-GOAL):

1 So sánh CURRENT GOAL If không khác dừng

2 Ngược lại: Chọn sựkhác lớn nhất, thực hiện:

1. La mt tốn t(lut) O mà có thdùng được cho skhác Nếu khơng cóbáo error.

2. Áp dng O vào CURRENT Phát sinh hai trng thái: (i) O-START, trng thái mà điều kin đầu ca O được thomãn, (ii) O-RESULT , trng thái kết cc nếu như O đã được áp dng vào O-START.

3. IF

(FIRST-PART MEA(CURRENT, O-START)) AND

(LAST-PART MEA(O-RESULT, GOAL)) Là thành công

(35)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Mơn: Trí tuệnhân to Chương 03 Side 33

Phân tích phương tin - mc đích

Ví d:

Một robot với hành động bảng cho trước hành động dùng đểlàm giảm sựkhác biệt toán bảng (bảng khác biệt).

Đưa chuổi hành động đểrobot có thểmang bàn từ phòng sang phòng khác, bàn có hai vật nhỏ.

at(robot, loc) None

WALK(loc)

at(obj, loc) ^ at(robot, loc) at(robot, obj)^

small(obj) CARRY(obj, loc)

at(obj, loc) ^ at(robot, loc) at(robot, obj)^ large(obj)^ clear(obj)^ armempty. PUSH(obj, loc) Kết quả Điều kiện đầu

Toán tử

<Bảng 1>

Phân tích phương tin - mc đích

Ví d: (tt.)

on(obj1,obj2) at(robot, obj2) ^

holding(obj1) PLACE(obj1, obj2) ¬holding(obj) holding(obj) PUTDOWN(obj) holding(obj) at(robot, obj) PICKUP(obj) Kết quả Điều kiện đầu

Toán tử

* Be holding object

* *

Get arm empty

* Get object on object

(36)

Khoa Công Nghệ Thông Tin - Đại Học Bách Khoa Tp HCM

Bài Giảng Mơn: Trí tuệnhân to Chương 03 Side 35

Phân tích phương tin - mc đích

Ví d: (tt.)

– Move: bàn phịng

Khơng có tốn tửnào dùng được.

Bảng khác biệt cho biết có PUSH CARRY có thễdùng được. – Nếu chọn CARRY: hai điều kiện phải thoả:

at(robot, bàn) ^ small(bàn)

at(robot, bàn) : giải WALK

small(bàn): khơng có tốn tửnào. DEAD END.

– Chỉcịn giải pháp: dùng PUSH

A C PUSH D B

START GOAL

Phân tích phương tin - mc đích

Ví d: (tt.)

– Hai tốn cịn lại : (A)(C) (D) (B)

– Giải (A)(C): Khi dùng PUSH cần điều kiện:

at(robot, bàn) : giải WALK. large(bàn): bàn sẵn sàng large. clear(bàn): giải PICKUP. armempty: robot sẵn empty.

– Sau dùng PICKUP sau phải dùng PUTDOWN để

đưa cánh tay robot vềrỗng

– … Kết quảcó thểtóm lược sau:

A walk pickup putdown pickup putdown C D B

Ngày đăng: 23/05/2021, 20:23

Tài liệu cùng người dùng