1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Các hệ thống thông minh nhân tạo và ứng dụng - Chương 6: Logic (tiếp theo)

50 8 0

Đ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

Thông tin cơ bản

Tiêu đề Logic
Tác giả THS. Bùi Thị Danh
Trường học Đại Học Khoa Học Tự Nhiên TP.HCM
Chuyên ngành Khoa Học Máy Tính
Thành phố TP.HCM
Định dạng
Số trang 50
Dung lượng 1,76 MB

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

Nội dung

Bài giảng Các hệ thống thông minh nhân tạo và ứng dụng - Chương 6: Logic (tiếp theo) có nội dung trình bày về logic bậc nhất, hạn chế của logic mệnh đề, các thành phần cơ bản của logic bậc nhất, biểu thức logic ám chỉ đối tượng,... Mời các bạn cùng tham khảo chi tiết nội dung bài giảng!

Trang 2

Nội dung chính

Tổng quan

Logic mệnh đề

Logic bậc nhất

Trang 3

Hạn chế của logic mệnh đề

Mục tiêu của logic là biểu diễn tri thức, sự kiện của thế giới một cách súc tích Logic mệnh

đề có đảm bảo việc này?

Alice và Bob đều biết số học

Trang 4

Hạn chế của Logic mệnh đề

Logic mệnh đề thiếu các khái niệm để cho phép diễn đạt sự kiện súc tích hơn, chẳng hạn:

◦ Đối tượng (object) và quan hệ (relation): các mệnh đề (AliceKnowsArithmetic) có cấu trúc bên trong

(alice, Knows, arithmetic)

◦ Lượng từ (quantifier) và biến (variable): “tất cả” là một lượng từ có thể dùng để ám chỉ mọi người, màkhông phải liệt kê từng người một…

 Logic bậc nhất (First Order Logic – FOL)

Trang 5

Logic bậc nhất (First Order Logic)

Trang 6

Cú pháp: các thành phần cơ bản

Kí hiệu hằng (Constant symbol)

◦ Biểu diễn đối tượng

◦ Ví dụ: 𝑎𝑙𝑖𝑐𝑒, 𝑏𝑜𝑏, 2, 𝑐𝑝𝑢 …

Kí hiệu vị từ (Predicate symbol)

◦ Biểu diễn quan hệ (trả lời ‘yes’ hoặc ‘no’)

◦ Ví dụ: 𝐵𝑟𝑜𝑡ℎ𝑒𝑟 (𝑟𝑖𝑐ℎ𝑎𝑟𝑑, 𝑗𝑜ℎ𝑛), 𝐺𝑟𝑒𝑎𝑡𝑒𝑟𝑇ℎ𝑎𝑛(3, 2), …

Kí hiệu hàm (Function symbol)

◦ Biểu diễn cho hàm (Trả về một giá trị)

◦ Ví dụ: 𝑆𝑞𝑟𝑡(4), 𝑀𝑜𝑡ℎ𝑒𝑟𝑂𝑓(𝑗𝑜ℎ𝑛), …

Trang 7

Cú pháp: các thành phần cơ bản

Hằng (constant) alice, arithmetic, bob, 2, …

Vị từ (Predicate) Knows, Brother, GreaterThan, …

Trang 8

Công thức hoặc câu (sentence)

◦ Công thức nguyên tử: vị từ áp dụng lên biểu thức

Trang 10

Cú pháp: Qui tắc De Morgan cho lượng từ

Trang 11

Cú pháp: Lượng từ với ngôn ngữ tự nhiên

Lượng từ với mọi (∀):

◦ Mọi sinh viên đều biết số học

◦ ∀𝑥 𝑆𝑡𝑢𝑑𝑒𝑛𝑡 𝑥 → 𝐾𝑛𝑜𝑤𝑠(𝑥, 𝑎𝑟𝑖𝑡ℎ𝑚𝑒𝑡𝑖𝑐)

Lượng từ tồn tại (∃):

◦ Một số sinh viên thì biết số học

◦ ∃𝑥 𝑆𝑡𝑢𝑑𝑒𝑛𝑡(𝑥) ∧ 𝐾𝑛𝑜𝑤𝑠(𝑥, 𝑎𝑟𝑖𝑡ℎ𝑚𝑒𝑡𝑖𝑐)

Trang 14

Cú pháp: bài tập

Lan là sinh viên học giỏi

Mọi người đều yêu ai đó

Ai cũng có một cha

Ai cũng có một cha và một mẹ

Bất kỳ ai có một cha cũng có một mẹ

Trang 16

Ngữ nghĩa

Mô hình 𝑤 trong logic bậc nhất ánh xạ

◦ Kí hiệu hằng số sang đối tượng

◦ 𝑤 𝑎𝑙𝑖𝑐𝑒 = 𝑜1, 𝑤 𝑏𝑜𝑏 = 𝑜2, 𝑤 𝑎𝑟𝑖𝑡ℎ𝑚𝑒𝑡𝑖𝑐 = 𝑜3

◦ Kí hiệu vị từ sang cặp các đối tượng

◦ 𝑤 𝐾𝑛𝑜𝑤𝑠 = 𝑜1, 𝑜3 , 𝑜2, 𝑜3 , …

Trang 18

Đề xuất các khái niệm:

◦ Phép thay thế (substitution): ánh xạ công thức sang một công thức khác

◦ Phép đồng nhất (unification): làm cho hai công thức giống nhau

Trang 19

Phép thay thế (substitution)

Một phép thay thế 𝜃 là một ánh xạ từ các biến sang các kí hiệu hằng hoặc biến khác

Kí hiệu: 𝑆𝑢𝑏𝑠𝑡 𝜃, 𝛼 , trả về kết quả thực hiện phép thay thế 𝜃 trên công thức 𝛼

Ví dụ

◦ 𝑆𝑢𝑏𝑠𝑡 𝑥/𝑎𝑙𝑖𝑐𝑒 ,𝑃(𝑥) = 𝑃(𝑎𝑙𝑖𝑐𝑒)

◦ 𝑆𝑢𝑏𝑠𝑡 𝑥/𝑎𝑙𝑖𝑐𝑒, 𝑦/𝑧 , 𝑃(𝑥) ∧ 𝐾(𝑥, 𝑦) = 𝑃(𝑎𝑙𝑖𝑐𝑒) ∧ 𝐾(𝑎𝑙𝑖𝑐𝑒, 𝑧)

Trang 20

Phép đồng nhất (unification)

Phép đồng nhất thực hiện trên hai công thức 𝛼 𝑣à 𝛽, trả về một phép thay thế 𝜃 làm cho hai công thức giống nhau, tức:

◦ Hoặc 𝑈𝑛𝑖𝑓𝑦 𝛼, 𝛽 = 𝜃 sao cho 𝑆𝑢𝑏𝑠𝑡 𝜃, 𝛼 = 𝑆𝑢𝑏𝑠𝑡 𝜃, 𝛽

◦ Hoặc lỗi nếu không tồn tại 𝜃

Trang 21

Phương pháp suy dẫn

Hợp giải với KB ở dạng CNF

Suy diễn với KB ở dạng Horn

Trang 24

Chuyển về dạng CNF

◦ ∀𝑥 ∃𝑦 𝐴𝑛𝑖𝑚𝑎𝑙 𝑦 ∧ ¬𝐿𝑜𝑣𝑒𝑠 𝑥, 𝑦 ∨ ∃𝑧 𝐿𝑜𝑣𝑒𝑠(𝑧, 𝑥)

Skolem hóa: thay thế các biến với lượng từ tồn tại bằng hàm Skolem theo các biến có

lượng từ với mọi

Trang 26

Ví dụ 1

Chứng minh ∃𝑧 𝑄(𝑧) từ KB như bên cạnh

Trang 27

Ví dụ 2

Cho KB như bên cạnh Tìm 𝑧 sao cho 𝑄(𝑧) đúng

𝑃(𝐵)

Trang 28

Ví dụ 3

Cho KB gồm các câu như sau Hỏi Art có phải là ông nội của Coe khô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

Biểu diễn lại KB theo logic bậc nhất

◦ 𝐹𝑎𝑡ℎ𝑒𝑟(𝑎𝑟𝑡, 𝑏𝑜𝑏) ∧ 𝐹𝑎𝑡ℎ𝑒𝑟(𝑎𝑟𝑡, 𝑏𝑢𝑑)

◦ 𝐹𝑎𝑡ℎ𝑒𝑟(𝑏𝑜𝑏, 𝑐𝑎𝑙) ∧ 𝐹𝑎𝑡ℎ𝑒𝑟(𝑏𝑜𝑏, 𝑐𝑜𝑒)

◦ ∃𝑧 𝐹𝑎𝑡ℎ𝑒𝑟 𝑥, 𝑧 ∧ 𝐹𝑎𝑡ℎ𝑒𝑟 𝑧, 𝑦 → 𝐺𝑟𝑎𝑛𝑑𝑓𝑎𝑡ℎ𝑒𝑟 𝑥, 𝑦

◦ 𝐺𝑟𝑎𝑛𝑑𝑓𝑎𝑡ℎ𝑒𝑟 𝑎𝑟𝑡, 𝑐𝑜𝑒 ?

Trang 30

Bước Công thức Suy dẫn

Trang 31

Bài tập 1

Là phạm tội nếu một người Mỹ bán vũ khí cho kẻ địch

Nono có một vài tên lửa

Tất cả các tên lửa mà Nono có đều được bán bởi West

Tên lửa là vũ khí

Một kẻ thù của nước Mỹ được gọi là kẻ địch

West là một người Mỹ

Nono là một kẻ thù của nước Mỹ

West có phạm tội không?

Trang 32

Tất cả các tên lửa mà Nono có đều được bán bởi West

◦ ∀𝑥 𝑀𝑖𝑠 sile x ∧Owns nono, x →Sells(west, x, nono)

Trang 33

Bài tập 1

Trang 34

Bài tập 2

Người nào yêu tất cả động vật thì được yêu bởi ai đó

Bất kì ai giết động vật thì không được ai yêu

Jack yêu tất cả động vật

Hoặc Curiosity hoặc Jack đã giết Tuna

Tuna là một con mèo

Mèo là một loài động vật

Hỏi Jack có giết Tuna không?

Trang 36

Bài tập 2

Trang 37

Suy diễn với KB ở dạng Horn

◦ 𝑇𝑎𝑘𝑒𝑠 𝑎𝑙𝑖𝑐𝑒, 𝑐𝑠221

◦ 𝐶𝑜𝑣𝑒𝑟𝑠 𝑐𝑠221, 𝑙𝑜𝑔𝑖𝑐

◦ ∀𝑥∀𝑦∀𝑧 𝑇𝑎𝑘𝑒𝑠 𝑥, 𝑦 ∧ 𝐶𝑜𝑣𝑒𝑟𝑠 𝑦, 𝑧 →𝐾𝑛𝑜𝑤𝑠(𝑥, 𝑧)

Kết luận

◦ 𝜃 = 𝑥/𝑎𝑙𝑖𝑐𝑒, 𝑦/𝑐𝑠221, 𝑧/𝑙𝑜𝑔𝑖𝑐

◦ 𝑏′ = 𝐾𝑛𝑜𝑤𝑠(𝑎𝑙𝑖𝑐𝑒, 𝑙𝑜𝑔𝑖𝑐)

Trang 38

Suy diễn tiến (forward chaining)

function FOL − FC − ASK(KB, 𝛼) returns phép thay thế hoặc false

repeat until 𝑛𝑒𝑤 là rỗng

𝑛𝑒𝑤 ← { }

for each công thức 𝑟 trong 𝐾𝐵 do

Chuẩn hóa r 𝑡ℎà𝑛ℎ 𝑝1 ∧ ⋯ ∧ 𝑝𝑛 → 𝑞

for each 𝜃 sao cho (p1 …  p n) = (p’1 …  p’ n) do

Với p’1,…, p’ n nào đó trong KB

𝑞′ ← 𝑆𝑢𝑏𝑠𝑡(𝜃, q)

if 𝑞′ không phải là một câu đã có trong KB hay 𝑛𝑒𝑤 then

thêm q’ vào new

  Unify(q’, )

if  thành công then return 

Thêm 𝑛𝑒𝑤 𝑣à𝑜 𝐾𝐵

return false

Trang 41

𝑃𝑎𝑟𝑒𝑛𝑡(𝑎𝑟𝑡, 𝑏𝑜𝑏) 𝑃𝑎𝑟𝑒𝑛𝑡(𝑎𝑟𝑡, 𝑏𝑢𝑑) 𝑃𝑎𝑟𝑒𝑛𝑡(𝑎𝑟𝑡, 𝑏𝑢𝑑) 𝑃𝑎𝑟𝑒𝑛𝑡(𝑏𝑜𝑏, 𝑐𝑜𝑒)

Trang 42

Ví dụ - cây suy diễn

𝐹𝑎𝑡ℎ𝑒𝑟(𝑏𝑜𝑏, 𝑐𝑜𝑒) 𝐹𝑎𝑡ℎ𝑒𝑟(𝑎𝑟𝑡, 𝑏𝑢𝑑) 𝐹𝑎𝑡ℎ𝑒𝑟(𝑏𝑜𝑏, 𝑐𝑎𝑙)

𝑀𝑜𝑡ℎ𝑒𝑟 𝑎𝑣𝑒, 𝑏𝑒𝑒

𝑃𝑎𝑟𝑒𝑛𝑡 𝑏𝑒𝑒, 𝑐𝑎𝑙 𝑃𝑎𝑟𝑒𝑛𝑡(𝑎𝑟𝑡, 𝑏𝑜𝑏) 𝑃𝑎𝑟𝑒𝑛𝑡(𝑎𝑟𝑡, 𝑏𝑢𝑑) 𝑃𝑎𝑟𝑒𝑛𝑡(𝑏𝑜𝑏, 𝑐𝑎𝑙) 𝑃𝑎𝑟𝑒𝑛𝑡(𝑏𝑜𝑏, 𝑐𝑜𝑒)

𝑃𝑎𝑟𝑒𝑛𝑡 𝑎𝑣𝑒, 𝑏𝑒𝑒 𝑃𝑎𝑟𝑒𝑛𝑡 𝑏𝑒𝑒, 𝑐𝑜𝑒

𝑀𝑜𝑡ℎ𝑒𝑟 𝑏𝑒𝑒, 𝑐𝑎𝑙 𝐺𝑟𝑎𝑛𝑑𝑃𝑎𝑟𝑒𝑛𝑡(𝑎𝑟𝑡, 𝑐𝑎𝑙) 𝐺𝑟𝑎𝑛𝑑𝑃𝑎𝑟𝑒𝑛𝑡(𝑎𝑟𝑡, 𝑐𝑜𝑒) 𝐺𝑟𝑎𝑛𝑑𝑃𝑎𝑟𝑒𝑛𝑡(𝑎𝑣𝑒, 𝑐𝑜𝑒) 𝐺𝑟𝑎𝑛𝑑𝑃𝑎𝑟𝑒𝑛𝑡(𝑎𝑣𝑒, 𝑐𝑎𝑙)

Trang 43

Suy diễn lùi (Backward Chaining)

inputs:

𝐾𝐵 : một cơ sở tri thức 𝑔𝑜𝑎𝑙𝑠: danh sách ở dạng nối liền của câu truy vấn 𝜃: phép thay thế hiện tại, được khởi tạo rỗng { }

biến cục bộ: ans, một phép thay thế , được khởi tạo rỗng { }

if 𝑔𝑜𝑎𝑙𝑠 là rỗng then return 𝜃

𝑞′ ← 𝑆𝑢𝑏𝑠𝑡 𝜃, 𝑓𝑖𝑟𝑠𝑡 𝑔𝑜𝑎𝑙𝑠

và 𝜃′ ← 𝑈𝑛𝑖𝑓𝑦(𝑞, 𝑞′) thành công ans  FOL − BC − ASK(KB, [p1,…,pn| REST(goals)],   ’)  ans

Trang 45

Ví dụ 1 – Cây suy diễn

𝑃𝑎𝑟𝑒𝑛𝑡(𝑎𝑟𝑡, 𝑧) {𝑥/𝑎𝑟𝑡, 𝑦/𝑐𝑎𝑙}

𝐺𝑟𝑎𝑛𝑑𝑃𝑎𝑟𝑒𝑛𝑡(𝑎𝑟𝑡, 𝑐𝑎𝑙)

𝑃𝑎𝑟𝑒𝑛𝑡(𝑧, 𝑐𝑎𝑙) 𝐹𝑎𝑡ℎ𝑒𝑟(𝑎𝑟𝑡, 𝑧) 𝐹𝑎𝑡ℎ𝑒𝑟(𝑧, 𝑐𝑎𝑙) {𝑥/𝑎𝑟𝑡, 𝑦/𝑐𝑎𝑙, 𝑧/𝑏𝑜𝑏} 𝐹𝑎𝑡ℎ𝑒𝑟(𝑎𝑟𝑡, 𝑏𝑜𝑏) 𝐹𝑎𝑡ℎ𝑒𝑟(𝑏𝑜𝑏, 𝑐𝑎𝑙)

Trang 47

Ví dụ 2

𝑨𝒔𝒌(𝑮𝒓𝒂𝒏𝒅𝑷𝒂𝒓𝒆𝒏𝒕(𝒂𝒓𝒕, 𝒛), {})

𝐴𝑠𝑘({𝐹𝑎𝑡ℎ𝑒𝑟(𝑥2, 𝑦2)}, {… 𝑥2/𝑏𝑜𝑏, 𝑦2/𝑧})𝑞’ = 𝐹𝑎𝑡ℎ𝑒𝑟(𝑏𝑜𝑏, 𝑧)

Trang 48

Ví dụ 2 – Cây suy diễn

𝑃𝑎𝑟𝑒𝑛𝑡(𝑎𝑟𝑡, 𝑦) {𝑥/𝑎𝑟𝑡}

{𝑥/𝑎𝑟𝑡, 𝑦/𝑏𝑜𝑏, 𝑧/𝑐𝑜𝑒}

Trang 49

Suy diễn lùi (Backward Chaining)

Tìm kiếm chứng minh bằng cách đệ qui theo chiều sâu: không gian tuyến tính theo kích thước của chứng minh

Không đầy đủ do lặp vô tận

◦ Giải pháp: Kiểm tra trạng thái hiện tại với mọi trạng thái đang có trong stack

Không hiệu quả do các mục tiêu con bị lặp lại (cả khi thất bại cũng như thành công)

◦ Giải pháp: dùng bộ nhớ tạm lưu các mục tiêu con đã duyệt

Trang 50

Tài liệu tham khảo

Cơ sở Trí tuệ Nhân tạo, Lê Hoài Bắc, Tô Hoài Việt, NXB Khoa học & Kỹ thuật.

Slide bài giảng Trí tuệ nhân tạo, GV Tô Hoài Việt, GV Lê Ngọc Thành, Khoa CNTT, ĐH KHTN

Ngày đăng: 04/09/2021, 18:29

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

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