intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Suy diễn với logic bậc nhất - Tô Hoài Việt

Chia sẻ: Đinh Gấu | Ngày: | Loại File: PPT | Số trang:22

257
lượt xem
42
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Suy diễn với logic bậc nhất - Tô Hoài Việt nhằm trình bày những nội dung về cơ sở của hợp giải trên logic bậc nhất, hợp giải trên logic bậc nhất, các ví dụ, suy diễn tiến và suy diễn lùi, thuật giải suy diễn tiến, thuật giải suy diễn lùi.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Suy diễn với logic bậc nhất - Tô Hoài Việt

  1. SUY DIỄN VỚI LOGIC BẬC NHẤT Tô Hoài Việt Khoa Công nghệ Thông tin Đại học Khoa học Tự nhiên TPHCM thviet@fit.hcmuns.edu.vn 1
  2. Tổng quát • Cơ sở của hợp giải trên logic bậc nhất • Hợp giải trên logic bậc nhất • Các ví dụ • Suy diễn tiến và suy diễn lùi • Thuật giải suy diễn tiến • Thuật giải suy diễn lùi 2
  3. Cơ sở của hợp giải FOL • Hợp giải (Robinson): để chứng minh một tập KB có suy dẫn logic được một câu hay không, viết lại KB dưới dạng mệnh đề (clausal form) và cố gắng suy dẫn ra mệnh đề sai (hợp giải hai mệnh đề đối ngẫu) • Phép đồng nhất: Unify(P(x),P(A))  = {x/A} 3
  4. Ví dụ Chứng minh rằng (P(x) Q(x)) và P(A) suy dẫn logic z.Q(z) 1. P(x) Q(x) Tiền đề 2. P(A) Tiền đề 3. Q(z) Kết luận 4. P(z) 1, 3 = {x/z} 5. False 2, 4 = {x/z, z/A} 4
  5. Ví dụ (tt) Cho trước (P(x) Q(x)) và P(A) và P(B), tìm z sao cho Q(z) là đúng 1. P(x) Q(x) Tiền đề 2. P(A) Tiền đề 3. P(B) Tiền đề 4. Q(z) Kết luận 5. P(z) 1, 4 = {x/z} 6. False 2, 5 = {x/z, z/A} 7. False 3, 5 = {x/z, z/B} 5
  6. Ví dụ Quan hệ họ hàng Art là cha của Bob và Bud. Bob là cha của Cal và Coe. Ông nội là cha của cha. F(Art, Bob) F(Art, Bud) F(Bob, Cal) F(Bob, Coe) F(x, y) F(y,z) G(x,z) 6
  7. Art có phải là Ông của Coe? 1. F(Art, Bob) Tiền đề 2. F(Art, Bud) Tiền đề 3. F(Bob, Cal) Tiền đề 4. F(Bob, Coe) Tiền đề 5. F(x, y) F(y,z) G(x,z) Tiền đề 6. G(Art, Coe) Kết luận 7. F(Art, y) F(y,Coe) 5, 6 ={x/Art, z/Coe} 8. F(Art, Bob) 4, 7 ={x/Art, z/Coe, y/Bob} 9. False 1, 8 ={x/Art, z/Coe, y/Bob} 7
  8. Ai là Ông của Coe? 1. F(Art, Bob) Tiền đề 2. F(Art, Bud) Tiền đề 3. F(Bob, Cal) Tiền đề 4. F(Bob, Coe) Tiền đề 5. F(x, y) F(y,z) G(x,z) Tiền đề 6. G(x2, Coe) Kết luận 7. F(x2, y) F(y,Coe) 5, 6 = {z/ Coe, x/x2} 8. F(Bob, Coe) 1, 7 = {z/ Coe, x/x2, x2/ Art, y/ Bob} 9. False 4, 8 = {z/ Coe, x/x2, x2/ Art, y/ Bob} 8
  9. Ai là Cháu của Art? 1. F(Art, Bob) Tiền đề 2. F(Art, Bud) Tiền đề 3. F(Bob, Cal) Tiền đề 4. F(Bob, Coe) Tiền đề 5. F(x, y) F(y,z) G(x,z) Tiền đề 6. G(Art, z2) Kết luận 7. F(Art, y) F(y,z2) 5, 6 = {x/Art, z/z2} 8. F(Bob, z2) 1, 7 = {x/Art, z/z2,, y/Bob} 9. F(Bud, z2) 2, 7 = {x/Art, z/z2, y/Bud} 10. False 3, 8 = {x/Art, z/z2, y/Bob, z2/Cal} 11. False 4, 8 = {x/Art, z/z2, y/Bob, z2/Coe} 9
  10. Ông và cháu? 1. F(Art, Bob) Tiền đề 2. F(Art, Bud) Tiền đề 3. F(Bob, Cal) Tiền đề 4. F(Bob, Coe) Tiền đề 5. F(x, y) F(y,z) G(x,z) Tiền đề 6. G(x, z) Kết luận 7. F(x, y) F(y,z) 5, 6 = {} 8. F(Bob, z) 1, 7 = {x/Art, y/Bob} 9. F(Bud, z) 2, 7 = {x/Art, y/Bud} 10. False 3, 8 = {x/Art, y/Bob, z/Cal} 11. False 4, 8 = {x/Art, y/Bob, z/Coe} 10
  11. Suy diễn tiến và suy diễn lùi • Suy diễn tiến (Forward chaining) và suy diễn lùi (Backward chahining) được áp dụng lên các biểu thức dạng Horn • Biểu thức dạng Horn: trong biểu thức có nhiều nhất một literal khẳng định p1 p2 p3 … pn • Hay dạng luật (luật sinh) p2 p3 … pn p1 11
  12. Thuật toán Suy diễn Tiến FOL-FC-Ask(KB, ){ repeat until new là rỗng new  {} với mọi câu r trong KB // r ở dạng chuẩn hóa (p1 … pn => q) với mọi phép thế sao cho (p1 … pn) = (p’1 … p’n) với p’1,…,p’n nào đó trong KB q’  Subst( ,q) if q’ không phải là một câu đã có trong KB hay new then thêm q’ vào new  Unify(q’, ) if thành công then return thêm new vào KB return false } 12
  13. Ví dụ Quan hệ họ hàng 1. F(Art, Bob) 2. F(Art, Bud) 3. F(Bob, Cal) 4. F(Bob, Coe) 5. M(Ave, Bee) 6. M(Bee, Coe) 7. M(Bee, Cal) 8. M(x,y) P(x,y) 9. F(x,y) P(x,y) 10. P(x, y) P(y,z) G(x,z) 13
  14. Ví dụ Suy diễn tiến 8. M(x,y) P(x,y) 1 = {x/Ave, y/Bee} M(Ave,Bee) q’ = P(Ave, Bee) 2 = {x/Bee, y/Cal} M(Bee,Cal) q’ = P(Bee,Cal) 3 = {x/Bee, y/Coe} M(Bee,Coe) q’ = P(Bee,Coe) 14
  15. Ví dụ Suy diễn tiến (tt) 9. F(x,y) P(x,y) 1 = {x/Art, y/Bob} F(Art,Bob) q’ = P(Art,Bob) 2 = {x/Art, y/Bud} F(Art,Bud) q’ = P(Art,Bud) 3 = {x/Bob, y/Cal} F(Bob,Cal) q’ = P(Bob,Cal) 4 = {x/Bob, y/Coe} F(Bob,Coe) q’ = P(Bob,Coe) 15
  16. Ví dụ Suy diễn tiến (tt) 10. P(x, y) P(y,z) G(x,z) 1 = {x/Ave,y/Bee,z/Cal} P(Ave,Bee) P(Bee,Cal) q’ = G(Ave, Cal) 2 = {x/Ave,y/Bee,z/Coe} P(Ave,Bee) P(Bee,Coe) q’ = G(Ave, Coe) 3 = {x/Art, y/Bob, z/Cal} P(Art,Bob) P(Bob,Cal) q’ = G(Art, Cal) 4 = {x/Art, y/Bob, z/Coe} P(Art,Bob) P(Bob,Coe) q’ = G(Art, Coe) 16
  17. Thuật toán Suy diễn Lùi FOL-BC-ASK(KB, goals, ){ Inputs: KB, cơ sở tri thức goals, danh sách dưới dạng nối rời của một câu truy vấn , phép thế hiện tại, được khởi tạo rỗng {} biến cục bộ: ans, một tập các phép thế, được khởi tạo rỗng if goals rỗng then return { } q’  SUBST( , first(goals)) for each r trong KB mà r có dạng chuẩn (p1 … pn q) và ’  UNIFY(q, q’) thành công ans  FOL-BC-ASK(KB, [p1,…,pn| REST(goals)], ’)) ans return ans } 17
  18. Ví dụ Suy diễn lùi Ask(G(Art,Cal), {}) q’ = G(Art,Cal) ’ = {x/Art,z/Cal} // P(x,y) P(y,z) G(x ,z) Ask({P(x,y},P(y,z)},{x/Art,z/Cal}) q’ = P(Art,y) ’ = {x2/Art,y/y2} // F(x2,y2) P(x2,y2) Ask({F(x2,y2),P(y,z)}, {x/Art,z/Cal,x2/Art}} q’ = F(Art,y2) ’ = {y2/Bob} // F(Art,Bob) Ask({P(y,z)}, {x/Art,z/Cal,x2/Art,y2/Bob,y/y2}) q’ = P(Bob,Cal) ’ = {x3/Bob,y3/Cal} // F(x3,y3) P(x3,y3) Ask({F(x3,y3)}, {…x3/Bob,y3/Cal}  ans 18
  19. Ví dụ Suy diễn lùi (tt) Ask(G(Art,z), {}) q’ = G(Art,z) ’ = {x/Art} // P(x,y) P(y,z) G(x,z) Ask({P(x,y),P(y,z)},{x/Art}) q’ = P(Art,y) ’ = {x/Art} // F(x,y) P(x,y) Ask({F(x,y),P(y,z)}, {x/Art}) q’ = F(Art,y) ’ = {x/Art,y/Bob} // F(Art,Bob) Ask({P(y,z)}, {x/Art, y/Bob}) q’ = P(Bob,z) ’ = {x2/Bob, y2/z} // F(x2,y2) P(x2,y2) 19
  20. Ví dụ Suy diễn lùi (tt) Ask(G(Art,z), {}) Ask({F(x2,y2)}, {…x2/Bob, y2/z}) q’ = F(Bob,z) ’ = {z/Cal} // F(Bob,Cal) Ask({}, {…z/Cal})  ans ’ = {z/Coe} // F(Bob,Cal) Ask({}, {…z/Coe})  ans ’ = {x/Art} // M(x,y) P(x,y) Ask({M(x,y),P(y,z)}, {x/Art}} q’ = M(Art,y)  false 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2