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>
GV: Nguyễn Thị Trúc Viên
Email:
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>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>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>
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>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>
–
<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>
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>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>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>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>
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>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>
–
<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>
–
–
<b>P: CLEAR(Y) ^ HOLDING(X)</b>
<b>D: CLEAR(Y) ^ HOLDING(X)</b>
<b>A: ARMEMPTY ^ ON(X,Y)</b>
–
<b>P: ON(X,Y) ^ CLEAR(X) ^ ARMEMPTY</b>
<b>D: ON(X,Y) ^ ARMEMPTY</b>
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: CLEAR(X) ^ ONTABLE(X) ^ ARMEMPTY</b>
<b>D: ONTABLE(X) ^ ARMEMPTY</b>
<b>A: HOLDING(X)</b>
–
<b>A: ANTABLE(X) ^ ARMEMPTY</b>
<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
–
<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.
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>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>BA</b>
<b>CK</b>
<b>TRA</b>
<b>CK</b>
–
<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>
–
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>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>
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>ON(C,A) ^ ON(B,D) ^ ONATBLE(A) ^ ONTABLE(D)</b>
–
<b>ONTABLE(A) :</b> đã giả<b>i –</b> xem start<b>.</b>
<b>ONTABLE(D) :</b> đã giả<b>i – xem start.</b>
–
<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) ^ ON(B,D) ^ OTAD</b>
<b>OTAD = ONTABLE(A) ^ </b>
<b>ONTABLE(D) ^ </b>
<b>[1]</b>
<b>[2]</b>
Đặ<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.
–
<b>ON(B,D)</b>
<b>ON(C,A) ^ ON(B,D) ^ OTAD.</b>
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
<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>CLEAR(A) ^ HOLDING(C)</b>
<b>STACK(C,A)</b>
<b>ON(B,D)</b>
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>CLEAR(D)</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>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
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>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>
–
–
–
–
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>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>GOAL</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>
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>*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>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>
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>GOAL</b>
<b>STACK(A,B)</b> <b>STACK(B,C)</b>
<b>PICKUP(A)</b> <b>PICKUP(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>STACK(A,B)</b> <b>STACK(B,C)</b>
<b>PICKUP(A)</b> <b>PICKUP(B)</b>
PICKUP(A)
Ảnh hưởng
PICKUP(B)
Vì ARMEMPTY khơng đúng nữa
Thêm ràng buộc
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>GOAL</b>
<b>STACK(A,B)</b> <b>STACK(B,C)</b>
<b>PICKUP(A)</b> <b>PICKUP(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>CLEAR(B)</b>
<b>ARMEMPTY*</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>
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>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>Heuristic: x = C</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>
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>UNSTACK(C,A)</b>
<b>PUTDOWN(C)</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>
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