Tải bản đầy đủ (.pdf) (19 trang)

chapter10

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (340.72 KB, 19 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

<b>Ch</b>

ươ

<b>ng 10</b>



<b>L</b>

<b>P K</b>

<b>HO</b>

<b>CH</b>



GV: Nguyễn Thị Trúc Viên
Email:


<b>N</b>

<b>i dung</b>



<b>Các thành ph</b>

<b>n c</b>

<b>a 1 h</b>

<b>th</b>

<b>ng l</b>

<b>p k</b>

ế

<b>ho</b>

<b>ch</b>


<b>L</b>

<b>p k</b>

ế

<b>ho</b>

<b>ch theo ch</b>

<b>ng m</b>

<b>c tiêu</b>



<b>L</b>

<b>p k</b>

ế

<b>ho</b>

<b>ch phi tuy</b>

ế

<b>n</b>


<b>L</b>

<b>p k</b>

ế

<b>ho</b>

<b>ch phân c</b>

<b>p</b>


<b>Các h</b>

<b>th</b>

<b>ng ph</b>

<b>n </b>

<b>ng</b>



</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

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


Bài Giảng Mơn: Tr<b>í tuệnhân tạo</b> Side 3


<b>V</b>

<b>i bài toán </b>

đơ

<b>n gi</b>

<b>n ( 8-puzzle):</b>


Đề

ngh

m

t t

ả đầ

y

đủ

cho tr

ng thái.



Gi

i = tìm ki

ế

m trên KGTT nh

ư

A*, Best-First-Search, SA,



DFS, …

(

xem ch

ươ

ng v

problem-solving).



<b>V</b>

<b>i bài toán ph</b>

<b>c t</b>

<b>p:</b>



K

ế

t h

p Problem-Solving + Knowledge Representation.


Dùng ph

ươ

ng pháp chia

để

tr

.




Hai cách:



<b>Ch</b>ỉ<b>mô t</b>ả<b>nh</b>ữ<b>ng ph</b>ầ<b>n thay </b>đổ<b>i c</b>ủ<b>a bài toán.</b>


<b>Chia bài toán thành nhi</b>ề<b>u bài tốn nh</b>ỏ hơn<b>, d</b>ễ<b>gi</b>ả<b>i h</b>ơ<b>n.</b>


<b>Ví d</b>

<b>m</b>

<b>u – The blocks world</b>



<b>Mơ t</b>

<b>:</b>



Có m

t cái bàn ph

ng, các kh

i vng có n

m trên

đ

ó

đượ

c.


Có 1 s

kh

i vng, kích th

ướ

c b

ng nhau.



Có m

t cánh tay robot, có th

làm cách hành

độ

ng:


<b>UNSTACK(A,B)</b>


<b>STACK(A,B)</b>
<b>PICKUP(A,B)</b>
<b>PUTDOWN(A)</b>


<b>1 S</b>ố<b>predecates khác:</b>


<b>ON(A,b)</b>
<b>ONTABLE(A)</b>
<b>CLEAR(A)</b>
<b>HOLDING(A)</b>


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

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



Bài Giảng Mơn: Tr<b>í tuệnhân tạo</b> Side 5


<b>Ví d</b>

<b>m</b>

<b>u – The blocks world (tt.)</b>



<b>M</b>

<b>t s</b>

<b>ràng bu</b>

<b>c: (VD)</b>



X(HOLDING(X))

<sub></sub>

¬ARMEMTY



X(ONTABLE(X)

¬

Y(ON(X,Y)))



X((¬

Y(ON(Y,X)))

CLEAR(X))




<b>Các thành ph</b>

<b>n c</b>

<b>a HT LKH </b>



<b>Ch</b>

<b>n l</b>

<b>a lu</b>

<b>t </b>

để

<b>dùng:</b>


Wildely used:



<b>Tính DIFF = s</b>ự<b>khác nhau gi</b>ữ<b>a CURRENT STATE & GOAL.</b>
<b>Ch</b>ọ<b>n lu</b>ậ<b>t làm gi</b>ả<b>m DIFF trên.</b>


<b>Có th</b>ể<b>dùng thêm nh</b>ữ<b>ng heuristic </b>để<b>gi</b>ả<b>i quy</b>ế<b>t </b>đụ<b>ng </b>độ<b>.</b>


Víd

:



<b>V</b>ớ<b>i :</b> GOAL<b>: have(t</b>ườ<b>ng màu tr</b>ắ<b>ng)</b>


<b>CUR-State: have(t</b>ườ<b>ng màu xanh)</b>





<b>Ch</b>ọ<b>n lu</b>ậ<b>t chuy</b>ể<b>n </b>đổ<b>i màu t</b>ườ<b>ng.</b>


<b>CUR-State: ¬have(t</b>ườ<b>ng)</b>




</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

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


Bài Giảng Môn: Tr<b>í tuệnhân tạo</b> Side 7


<b>Áp d</b>

<b>ng lu</b>

<b>t: </b>


<b>Tr</b>ạ<b>ng thái S0:</b>


<b>B</b>
<b>A</b>


<b>ON(A,B,S0) ^</b>
<b>ONTABLE(B,S0) ^</b>
<b>CLEAR(A,S0)</b>


<b>Lu</b>ậ<b>t (hành </b>độ<b>ng): UNSTACK(X,Y)</b>
<b>[CLEAR(X,S) ^ ON(X,Y,S)] </b> <b>[</b>


<b>HOLIDING(X, DO(UNSTACK(X,Y) ,S)) ^</b>
<b>CLEAR(Y, DO(UNSTACK(X,Y) ,S))</b>
<b>]</b>



<b>Ngh</b>ĩ<b>a là:</b>


<b>V</b>ớ<b>i DO: </b>Ở<b>tr</b>ạ<b>ng thái S, DO th</b>ự<b>c hi</b>ệ<b>n hành </b>độ<b>ng s</b>ẽ<b>cho ra tr</b>ạ<b>ng thái m</b>ớ<b>i.</b>
<b>C</b>ụ<b>th</b>ể<b>: </b>


<b>- Khi X tr</b>ố<b>ng và</b> X trên Y đ<b>úng trong tr</b>ạ<b>ng thái S thì:</b>
<b>- Th</b>ự<b>c hi</b>ệ<b>n UNSTACK(X,Y) trên S s</b>ẽ<b>cho ra tr</b>ạ<b>ng thái mà:</b>
<b>HOLDING(X) và CLEAR(Y) là</b> đ<b>úng.</b>


<b>Các thành ph</b>

<b>n c</b>

<b>a HT LKH (tt.) </b>



<b>Áp d</b>

<b>ng lu</b>

<b>t: </b>


<b>Tr</b>ạ<b>ng thái S0:</b>


<b>B</b>
<b>A</b>


<b>ON(A,B,S0) ^</b>
<b>ONTABLE(B,S0) ^</b>
<b>CLEAR(A,S0)</b>


Thực hiện luật trên, cho ra S1 như sau:


<b>HOLDING(A,S1) ^ CLEAR(B, S1) ^ </b>

<b>?</b>






<b>C</b>ầ<b>n Frame Axioms, c</b>ụ<b>th</b>ể<b>:</b>



<b>ONTABLE(Z,S) ONTABLE(Z, DO(UNSTACK(X,Y), S))</b>
<b>Và:</b>


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

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


Bài Giảng Mơn: Tr<b>í tuệnhân tạo</b> Side 9


<b>Các thành ph</b>

<b>n c</b>

<b>a HT LKH (tt.) </b>



<b>Áp d</b>

<b>ng lu</b>

<b>t: </b>


Frame axioms:



Ư<b>u: cùng c</b>ơ<b> ch</b>ế<b>(phân gi</b>ả<b>i VT) tìm lu</b>ậ<b>t dùng, dùng lu</b>ậ<b>t.</b>


<b>Nh</b>ượ<b>c: s</b>ố lượ<b>ng axioms l</b>ớ<b>n.</b>

Gi

i quy

ế

t:



<b>Dùng STRIPS hay h</b>ọ<b>con c</b>ủ<b>a nó.</b>
<b>Ý t</b>ưở<b>ng:</b>


<b>M</b>ỗ<b>i OPERATOR có:</b>


<b>- PRECODITION: các PRED nào ph</b>ả<b>i true </b>để<b>dùng </b>đượ<b>c OP này.</b>
<b>- ADD list : các PRED s</b>ẽ<b>true.</b>


<b>- DELETE list: các PRED c</b>ũ<b>s</b>ẽ<b>false.</b>


<b>Các PRED ko có trong ADD, DELETE </b> <b>Un affected.</b>

C

n 1

cơ chế

khác h

ơ

n phân gi

i VT

để

làm vi

c.




<b>Các thành ph</b>

<b>n c</b>

<b>a HT LKH (tt.) </b>



<b>Áp d</b>

<b>ng lu</b>

<b>t: </b>



Ví d

v

lu

t trên STRIPS:



STACK(X,Y):



<b>P: CLEAR(Y) ^ HOLDING(X)</b>
<b>D: CLEAR(Y) ^ HOLDING(X)</b>
<b>A: ARMEMPTY ^ ON(X,Y)</b>


UNSTACK(X,Y):



<b>P: ON(X,Y) ^ CLEAR(X) ^ ARMEMPTY</b>
<b>D: ON(X,Y) ^ ARMEMPTY</b>


</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

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


Bài Giảng Mơn: Tr<b>í tuệnhân tạo</b> Side 11


<b>Áp d</b>

<b>ng lu</b>

<b>t: </b>



Ví d

v

lu

t trên STRIPS: (tt.)



PICKUP(X):



<b>P: CLEAR(X) ^ ONTABLE(X) ^ ARMEMPTY</b>
<b>D: ONTABLE(X) ^ ARMEMPTY</b>



<b>A: HOLDING(X)</b>


PUTDOWN(X):


<b>P: HOLDING(X)</b>
<b>D: HOLDING(X)</b>


<b>A: ANTABLE(X) ^ ARMEMPTY</b>


<b>Các thành ph</b>

<b>n c</b>

<b>a HT LKH (tt.) </b>



<b>Áp d</b>

<b>ng lu</b>

<b>t: </b>


Ví d

:



<b>Tr</b>ạ<b>ng thái:</b>


S0: ON(A,B) ^ ONTABLE(B) ^ CLEAR(A)


<b>Lu</b>ậ<b>t: UNSTACK(A,B):</b>


S1: ONTABLE(B) ^ CLEAR(A) ^ CLEAR(B) ^ HOLDING(A


Kh

ả năng phụ

c h

i.



<b>Global Database: Ch</b>ứ<b>a mô t</b>ả<b>cho TT hi</b>ệ<b>n t</b>ạ<b>i.</b>


<b>Ghi l</b>ạ<b>i dãy các phép toán </b>đ<b>ã </b>đượ<b>c áp d</b>ụ<b>ng, cùng thông s</b>ố<b>c</b>ủ<b>a </b>


<b>chúng.</b>


<b>Ph</b>ụ<b>c h</b>ồ<b>i:</b>



– ADD lại phần DELETE của 1 phép tốn.


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

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


Bài Giảng Mơn: Tr<b>í tuệnhân tạo</b> Side 13


<b>Các thành ph</b>

<b>n c</b>

<b>a HT LKH (tt.) </b>



<b>Áp d</b>

<b>ng lu</b>

<b>t: </b>


Ví d

quay lui:



<b>1</b>


<b>2</b>


<b>3</b>


<b>Global database:</b>
<b>ONTABLE(B) ^</b>
<b>CLEAR(A) ^</b>
<b>CLEAR(B) ^</b>
<b>ONTABLE(A) </b>


<b>PUTDOWN(A)</b>


<b>UNSTACK(A,B)</b>


<b>Global database:</b>
<b>ONTABLE(B) ^</b>


<b>ON(A,B) ^</b>
<b>CLEAR(A)</b>


<b>BA</b>
<b>CK</b>


<b>TRA</b>
<b>CK</b>


<b>Các thành ph</b>

<b>n c</b>

<b>a HT LKH (tt.) </b>



<b>Phát hi</b>

<b>n l</b>

<b>i gi</b>

<b>i: </b>


Thành công khi:



T

n t

i 1 chu

i phép toán bi

ế

n TT

đầ

u

<sub></sub>

GOAL



B

ng cách nào?



<b>Ph</b>ụ<b>thu</b>ộ<b>c vào cách bi</b>ể<b>u di</b>ễ<b>n TT</b>
<b>Có th</b>ể<b>:</b>


- <b>Matching </b>đơ<b>n gi</b>ả<b>n.</b>


- <b>Có th</b>ể<b>ph</b>ả<b>i th</b>ự<b>c 1 m</b>ộ<b>t b</b>ướ<b>c ch</b>ứ<b>ng minh, nh</b>ư<b> trong FOL.</b>

<b>Phát hi</b>

<b>n dead ends: </b>



Cùng c

ơ

ch

ế như ph

át hi

n l

i gi

i trên.



</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

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



Bài Giảng Mơn: Tr<b>í tuệnhân tạo</b> Side 15


<b>S</b>

<b>a l</b>

<b>i l</b>

<b>i gi</b>

<b>i g</b>

<b>n </b>

đ

<b>úng:</b>



Gi

i t

ng bài toán nh

, k

ế

t h

p l

i. B

qua l

i ch

ư

a

đ

úng.


Hơi lãng ph

í.



Gi

s

Solution1 tìm th

y nh

ư

ng Diff(Solution1, GOAL) <> 0.



G

i l

i planing

để

lo

i b

s

khác nhau này, tìm ra Solution2.


K

ế

t qu

= k

ế

t h

p (Solution1, Solution2).



<b>L</b>

<b>p k</b>

ế

<b>ho</b>

<b>ch theo ch</b>

<b>ng m</b>

<b>c tiêu</b>



Đượ

<b>c s</b>

<b>d</b>

<b>ng b</b>

<b>i STRIPS.</b>



<b>S</b>

<b>d</b>

<b>ng stack ch</b>

<b>a goal + operators gi</b>

<b>i ra goal.</b>


<b>Ví d</b>

<b>:</b>



<b>A</b> <b>C</b> <b>D</b>


<b>B</b>


<b>A</b> <b>D</b>


<b>C</b> <b>B</b>


<b>START:</b>
<b>ON(B,A) ^</b>
<b>ONATBLE(A) ^</b>


<b>ONATBLE(C) ^</b>
<b>ONATBLE(D) ^</b>
<b>AMREMPTY.</b>


</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

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


Bài Giảng Môn: Tr<b>í tuệnhân tạo</b> Side 17


<b>L</b>

<b>p k</b>

ế

<b>ho</b>

<b>ch theo ch</b>

<b>ng m</b>

<b>c tiêu (tt.)</b>



<b>Gi</b>

<b>i:</b>


T

goal:



<b>ON(C,A) ^ ON(B,D) ^ ONATBLE(A) ^ ONTABLE(D)</b>


Chia làm 4 goal:


<b>ON(C,A)</b>
<b>ON(B,D)</b>


<b>ONTABLE(A) :</b> đã giả<b>i –</b> xem start<b>.</b>
<b>ONTABLE(D) :</b> đã giả<b>i – xem start.</b>

Sub-goal m

i có th

là:



<b>ON(C,A)</b>
<b>ON(B,D)</b>


<b>ON(C,A) ^ ON(B,D) ^ OTAD</b>
<b>Hay</b>


<b>ON(B,D)</b>


<b>ON(C,A)</b>


<b>ON(C,A) ^ ON(B,D) ^ OTAD</b>


<b>OTAD = ONTABLE(A) ^ </b>
<b>ONTABLE(D) ^ </b>
<b>[1]</b>


<b>[2]</b>


<b>L</b>

<b>p k</b>

ế

<b>ho</b>

<b>ch theo ch</b>

<b>ng m</b>

<b>c tiêu (tt.)</b>



<b>Gi</b>

<b>i:</b>


Tóm t

t:



Đặ<b>t Goal </b>đầ<b>u lên stack.</b>
<b>L</b>ặ<b>p:</b>


– Giải goal trên cùng của stack.


– Có thểsẽlàm stack dài ra do các goal mới.


– Dừng khi ko cịn goal trên stack.


Ví d

: ch

n [1]

đi tiế

p,

đượ

c.


<b>STACK(C,A)</b>


<b>ON(B,D)</b>


<b>ON(C,A) ^ ON(B,D) ^ OTAD.</b>



</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

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


Bài Giảng Mơn: Tr<b>í tuệnhân tạo</b> Side 19


– Chồng mục tiêu mới:


<b>CLEAR(A) </b>
<b>HOLDING(C)</b>


<b>CLEAR(A) ^ HOLDING(C)</b>
<b>STACK(C,A)</b>


<b>ON(B,D)</b>


<b>ON(C,A) ^ ON(B,D) ^ OTAD.</b>
– Giải quyết CLEAR(A) cho ra chồng


mới:


<b>ON(B,A)</b>
<b>CLEAR(B)</b>


<b>ARMEMPTY.</b>


<b>ON(B,A) ^ CLEAR(B) ^ </b>
<b>ARMEMPTY</b>


<b>UNSTACK(B,A)</b>
<b>HOLDING(C)</b>



<b>CLEAR(A) ^ HOLDING(C)</b>
<b>STACK(C,A)</b>


<b>ON(B,D)</b>


<b>ON(C,A) ^ ON(B,D) ^ OTAD.</b>


– CLEAR(B) : được giải.


– ARMEMPTY: được giải.


– Combined goal - UNSTACK(B,A) :


được giải.


– Chồng mới là:


<b>HOLDING(C)</b>


<b>CLEAR(A) ^ HOLDING(C)</b>
<b>STACK(C,A)</b>


<b>ON(B,D)</b>


<b>ON(C,A) ^ ON(B,D) ^ OTAD.</b>


– HOLDING(C) có thểthực hiện
bằng: PICKUP(C) hay
UNSTACK(C,x), x nào đó. Hai


chồng mới có thểlà:


<b>L</b>

<b>p k</b>

ế

<b>ho</b>

<b>ch theo ch</b>

<b>ng m</b>

<b>c tiêu (tt.)</b>



<b>Gi</b>

<b>i:</b>



<b>[1]</b>


<b>ONTABLE(C)</b>
<b>CLEAR(C)</b>
<b>ARMEMPTY</b>
<b>ONTABLE(C) ^ </b>
<b>CLEAR(C) ^ </b>
<b>ARMEMPTY</b>
<b>PICKUP(C)</b>


<b>CLEAR(A) ^ HOLDING(C)</b>
<b>STACK(C,A)</b>


<b>ON(B,D)</b>


<b>ON(C,A) ^ ON(B,D) ^ OTAD.</b>


<b>[2]</b>


<b>ON(C,x)</b>
<b>CLEAR(C)</b>
<b>ARMEMPTY</b>
<b>ON(C,x) ^ </b>
<b>CLEAR(C) ^ </b>
<b>ARMEMPTY</b>
<b>UNSTACK(C,x)</b>


<b>CLEAR(A) ^ HOLDING(C)</b>
<b>STACK(C,A)</b>


<b>ON(B,D)</b>


</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11>

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


Bài Giảng Môn: Tr<b>í tuệnhân tạo</b> Side 21


<b>L</b>

<b>p k</b>

ế

<b>ho</b>

<b>ch theo ch</b>

<b>ng m</b>

<b>c tiêu (tt.)</b>



<b>Gi</b>

<b>i:</b>



<b>Ch</b>

<b>n [1]:</b>



-

ONTABLE

(C):

đã giả

i.


-

CLEAR

(C):

đã giả

i.


-

ARMEMPTY chưa

:


hai h

ướ

ng:



(1): STACK(B,x)


(2): PUTDOWN(B).


Ch

n



STACK(B,x)



x = D, sinh ra ch

ng:



<b>CLEAR(D)</b>


<b>HOLDING(B)</b>
<b>CLEAR(B) ^</b>
<b>HOLDING(B)</b>
<b>STACK(B,D)</b>
<b>ONTABLE(C) ^</b>
<b>CLEAR(C) ^</b>
<b>ARMEMPTY</b>
<b>PICKUP(C)</b>


<b>CLEAR(A) ^ HOLDING(C)</b>
<b>STACK(C,A)</b>


<b>ON(B,D)</b>


<b>ON(C,A) ^ ON(B,D) ^ OTAD.</b>


<b>L</b>

<b>p k</b>

ế

<b>ho</b>

<b>ch theo ch</b>

<b>ng m</b>

<b>c tiêu (tt.)</b>



<b>Gi</b>

<b>i:</b>



– <b>Các goal sau </b>đ<b>ây </b>đ<b>ã </b>đượ<b>c gi</b>ả<b>i:</b>


<b>CLEAR(D)</b>
<b>HOLDING(B)</b>


– Dùng được STACK(B,D)


– Sinh ra:


<b>ONTABLE(A) ^</b>



<b>ONATBLE(C) ^</b>
<b>ONATBLE(D) ^ </b>


<b>ON(B,D) ^ ARMEMPTY.</b>


– PICKUP(C) và STACK(C,A)
lần lượt được thực hiện.


– ON(B,D) cũng được thực
hiện.


– goal cuối cùng :


ON(C,A) ^ ON(B,D) ^ OTAD


Plan nh

ư

sau:



</div>
<span class='text_page_counter'>(12)</span><div class='page_container' data-page=12>

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


Bài Giảng Môn: Tr<b>í tuệnhân tạo</b> Side 23


<b>Ví d</b>

<b>khác:</b>



<b>A</b> <b>B</b>


<b>C</b>


<b>C</b>
<b>B</b>



<b>START:</b>
<b>ON(C,A) ^</b>
<b>ONATBLE(A) ^</b>
<b>ONATBLE(B) ^</b>
<b>AMREMPTY.</b>


<b>GOAL:</b>
<b>ON(A,B) ^</b>
<b>ON(B,C) ^</b>
<b>ONATBLE(C) </b>


<b>A</b>


<b>YC:</b> Đưa ra chồ<b>ng các m</b>ụ<b>c tiêu theo th</b>ứ<b>t</b>ự<b>gi</b>ả<b>i quy</b>ế<b>t </b>


<b>L</b>

<b>p k</b>

ế

<b>ho</b>

<b>ch phi tuy</b>

ế

<b>n</b>



<b>H</b>

<b>n ch</b>

ế

<b>c</b>

<b>a ki</b>

<b>u LKH tr</b>

ướ

<b>c:</b>



Ch

dùng cho bài tốn mà

ở đ

ó các bài tốn con có th

ể đượ

c gi

i



riêng, khơng

nh h

ưở

ng

đế

n k

ế

t qu

c

a bài toán con

đ

ã

đượ

c


gi

i tr

ướ

c nó.



Vì th

ế

: dùng stack of goals

để

ch

a và gi

i l

n l

ượ

t các goal.



<b>L</b>

<b>p k</b>

ế

<b>ho</b>

<b>ch phi tuy</b>

ế

<b>n:</b>



Dùng

đượ

c cho tr

ườ

ng h

p các goal có

nh h

ưở

ng nhau.



Dùng Set of goals thay cho Stack of goals.



Quá trình gi

i: các toán t

ử đượ

c s

p th

t

riêng ph

n. Khi k

ế

t



</div>
<span class='text_page_counter'>(13)</span><div class='page_container' data-page=13>

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


Bài Giảng Mơn: Tr<b>í tuệnhân tạo</b> Side 25


<b>L</b>

<b>p k</b>

ế

<b>ho</b>

<b>ch phi tuy</b>

ế

<b>n (tt.)</b>



<b>Ví d</b>

<b>:</b>



<b>A</b> <b>B</b>


<b>C</b>


<b>C</b>
<b>B</b>


<b>START:</b>
<b>ON(C,A) ^</b>
<b>ONATBLE(A) ^</b>
<b>ONATBLE(B) ^</b>
<b>AMREMPTY.</b>


<b>GOAL:</b>
<b>ON(A,B) ^</b>
<b>ON(B,C) ^</b>
<b>ONTABLE(C) </b>



<b>A</b>


<b>L</b>

<b>p k</b>

ế

<b>ho</b>

<b>ch phi tuy</b>

ế

<b>n (tt.)</b>



<b>GOAL</b>


<b>Gi</b>

<b>i cho tr</b>

ườ

<b>ng h</b>

<b>p: ON(A,B) & ON(B,C)</b>



<b>STACK(A,B)</b> <b>STACK(B,C)</b>


<b>CLEAR(B)</b>
<b>*HOLDING(A)</b>
<b></b>
<b>---STACK(A,B)</b>
<b></b>
<b>---ARMEMTY</b>
<b>ON(A,B)</b>
<b>¬CLEAR(B)</b>
<b>¬HOLDING(A)</b>
<b>CLEAR(C)</b>
<b>*HOLDING(B)</b>
<b></b>
<b>---STACK(B,C)</b>
<b></b>
<b>---ARMEMTY</b>
<b>ON(B,C)</b>


Precondition
Operator



Postcondition


<b>ON(A,B),</b>
<b>ON(B,C)</b>


</div>
<span class='text_page_counter'>(14)</span><div class='page_container' data-page=14>

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


Bài Giảng Mơn: Tr<b>í tuệnhân tạo</b> Side 27


<b>T</b>

<b>p goal m</b>

<b>i:</b>



<b>*CLEAR(A)</b>
<b>ONTABLE(A)</b>
<b>*ARMEMPTY</b>
<b></b>
<b>---PICKUP(A)</b>
<b></b>
<b>---¬ONTABLE(A)</b>
<b>¬ARMEMPTY</b>
<b>HOLDING(A)</b>
<b>HOLDING(A)</b>


<b>HOLDING(B)</b>


<b>*CLEAR(B)</b>
<b>ONTABLE(B)</b>
<b>*ARMEMPTY</b>
<b></b>
<b>---PICKUP(B)</b>
<b></b>


<b>---¬ONTABLE(B)</b>
<b>¬ARMEMPTY</b>
<b>HOLDING(B)</b>


Operators có th

dùng:



<b>L</b>

<b>p k</b>

ế

<b>ho</b>

<b>ch phi tuy</b>

ế

<b>n (tt.)</b>


<b>T</b>

<b>p goal m</b>

<b>i:</b>



<b>CLEAR(B)</b>
<b>ARMEMPTY*</b>
<b>ARMEMPTY*</b>
<b>CLEAR(A)</b>


<b>GOAL</b>


<b>STACK(A,B)</b> <b>STACK(B,C)</b>
<b>PICKUP(A)</b> <b>PICKUP(B)</b>


</div>
<span class='text_page_counter'>(15)</span><div class='page_container' data-page=15>

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


Bài Giảng Mơn: Tr<b>í tuệnhân tạo</b> Side 29


<b>L</b>

<b>p k</b>

ế

<b>ho</b>

<b>ch phi tuy</b>

ế

<b>n (tt.)</b>


<b>T</b>

<b>p goal m</b>

<b>i:</b>



<b>GOAL</b>


<b>STACK(A,B)</b> <b>STACK(B,C)</b>
<b>PICKUP(A)</b> <b>PICKUP(B)</b>



<b>Th</b>

<b>t</b>

<b>:</b>



STACK(A,B)
Ảnh hưởng
PICKUP(B)


Vì CLEAR(B) khơng đúng nữa
Thêm ràng buộc


<b>CLEAR(B)</b>
<b>ARMEMPTY*</b>
<b>ARMEMPTY*</b>
<b>CLEAR(A)</b>


<b>L</b>

<b>p k</b>

ế

<b>ho</b>

<b>ch phi tuy</b>

ế

<b>n (tt.)</b>


<b>T</b>

<b>p goal m</b>

<b>i:</b>



<b>STACK(A,B)</b> <b>STACK(B,C)</b>
<b>PICKUP(A)</b> <b>PICKUP(B)</b>


<b>Th</b>

<b>t</b>

<b>:</b>



PICKUP(A)
Ảnh hưởng
PICKUP(B)


Vì ARMEMPTY khơng đúng nữa
Thêm ràng buộc



</div>
<span class='text_page_counter'>(16)</span><div class='page_container' data-page=16>

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


Bài Giảng Mơn: Tr<b>í tuệnhân tạo</b> Side 31


<b>T</b>

<b>p goal m</b>

<b>i:</b>



<b>GOAL</b>


<b>STACK(A,B)</b> <b>STACK(B,C)</b>
<b>PICKUP(A)</b> <b>PICKUP(B)</b>


<b>Th</b>

<b>t</b>

<b>:</b>



PICKUP(A)


Có thểgiải quyết bởi ràng buộc:


PICKUP(B) STACK(B,C) PICKUP(A)
Nên thứtựlà:


<b>CLEAR(B)</b>
<b>ARMEMPTY*</b>
<b>ARMEMPTY*</b>
<b>CLEAR(A)</b>


<b>L</b>

<b>p k</b>

ế

<b>ho</b>

<b>ch phi tuy</b>

ế

<b>n (tt.)</b>


<b>T</b>

<b>p goal m</b>

<b>i:</b>



<b>CLEAR(B)</b>
<b>ARMEMPTY*</b>


<b>ARMEMPTY*</b>
<b>CLEAR(A)</b>


<b>CLEAR(A) có th</b>ể<b>gi</b>ả<b>i b</b>ở<b>i</b>
<b>UNSTACK(x,A)</b>


<b>*ON(x,A)</b>
<b>*CLEAR(x)</b>
<b>*ARMEMPTY</b>
<b></b>
<b>---UNSTACK(x,A)</b>
<b></b>
<b>---¬ARMEMPTY</b>
<b>CLEAR(A)</b>
<b>HOLDING(A)</b>
<b>¬ON(x,A)</b>


</div>
<span class='text_page_counter'>(17)</span><div class='page_container' data-page=17>

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


Bài Giảng Mơn: Tr<b>í tuệnhân tạo</b> Side 33


<b>L</b>

<b>p k</b>

ế

<b>ho</b>

<b>ch phi tuy</b>

ế

<b>n (tt.)</b>


<b>T</b>

<b>p goal m</b>

<b>i:</b>



<b>CLEAR(A)</b>


<b>CLEAR(A) có th</b>ể<b>gi</b>ả<b>i b</b>ở<b>i</b>
<b>UNSTACK(x,A)</b>


<b>*ON(x,A)</b>


<b>*CLEAR(x)</b>
<b>*ARMEMPTY</b>
<b></b>
<b>---UNSTACK(x,A)</b>
<b></b>
<b>---¬ARMEMPTY</b>
<b>CLEAR(A)</b>
<b>HOLDING(A)</b>
<b>¬ON(x,A)</b>


<b>Heuristic: x = C</b>


<b>L</b>

<b>p k</b>

ế

<b>ho</b>

<b>ch phi tuy</b>

ế

<b>n (tt.)</b>


<b>T</b>

<b>p goal m</b>

<b>i:</b>



<b>ON(x,A)</b>
<b>CLEAR(x)</b>
<b>ARMEMPTY</b>


<b>CLEAR(C)</b>
<b>ARMEMPTY</b>
<b>B</b>ị ả<b>nh h</b>ưở<b>ng b</b>ở<b>i</b>
<b>STACK(B,C) &</b>
<b>PICKUP(A)</b>
<b>PICKUP(B)</b>






<b>Ràng bu</b>ộ<b>c b</b>ổ<b>sung:</b>


<b>STACK(A,B)</b> <b>STACK(B,C)</b>
<b>PICKUP(A)</b> <b>PICKUP(B)</b>


<b>Th</b>

<b>t</b>

<b>:</b>



</div>
<span class='text_page_counter'>(18)</span><div class='page_container' data-page=18>

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


Bài Giảng Mơn: Tr<b>í tuệnhân tạo</b> Side 35


<b>AMREMPTY cho</b>
<b>PICKUP(B)</b>


<b>Có th</b>ể<b>th</b>ự<b>c hi</b>ệ<b>n b</b>ở<b>i:</b>
<b>PUTDOWN(C), nh</b>ư<b> sau:</b>


<b>UNSTACK(C,A) </b><b>PUTDOWN(C) </b><b>PICKUP(B)</b>


<b>HOLDING(C)</b>
<b></b>
<b>---PUTDOWN(C)</b>
<b></b>
<b>---¬HOLDING(C)</b>
<b>ONTABLE(C)</b>
<b>ARMEMPTY</b>


<b>GOAL</b>


<b>STACK(A,B)</b> <b>STACK(B,C)</b>


<b>PICKUP(A)</b> <b>PICKUP(B)</b>


<b>Th</b>

<b>t</b>

<b>:</b>



<b>UNSTACK(C,A)</b>
<b>PUTDOWN(C)</b>


<b>L</b>

<b>p k</b>

ế

<b>ho</b>

<b>ch phi tuy</b>

ế

<b>n (tt.)</b>



<b>GOAL</b>


<b>STACK(A,B)</b> <b>STACK(B,C)</b>
<b>PICKUP(A)</b> <b>PICKUP(B)</b>


<b>UNSTACK(C,A)</b>
<b>PUTDOWN(C)</b>


</div>
<span class='text_page_counter'>(19)</span><div class='page_container' data-page=19>

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


Bài Giảng Mơn: Tr<b>í tuệnhân tạo</b> Side 37


</div>

<!--links-->

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×