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

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)

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 (1.76 MB, 50 trang )

CÁC HỆ THỐNG THÔNG MINH NHÂN TẠO & ỨNG DỤNG

Logic
THS. BÙI THỊ DANH

BM.KHMT, KHOA CNTT, ĐH.KHTN TP.HCM


Nội dung chính
Tổng quan
Logic mệnh đề
Logic bậc nhất

2


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
◦ AliceKnowsArithmetic ∧ BobKnowsArithmetic

Tất cả sinh viên đều biết số học
◦ AliceIsStudent → AliceKnowsArithmetic

◦ BobIsStudent → BobKnowsArithmetic

Nhiều, cồng kềnh

◦…


Mọi số nguyên chẵn lớn hơn 2 đều là tổng của 2 số nguyên tố
◦ ???

Khó biểu diễn

3


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)

4


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

5


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), 𝑀𝑜𝑡ℎ𝑒𝑟𝑂𝑓(𝑗𝑜ℎ𝑛), …

6


Cú pháp: các thành phần cơ bản
Khái niệm

Ví dụ

Hằng (constant)

alice, arithmetic, bob, 2, …

Vị từ (Predicate)

Knows, Brother, GreaterThan, …

Hàm (Function)

MotherOf, Sqrt, …

Biến (Variable)


x, y, a, b

Phép nối (Connective)

¬,∧,∨, →, ↔

Sự bằng nhau (Equality)

=

Lượng từ (Quantifier)

∃ ,∀

7


Cú pháp
Term là biểu thức logic ám chỉ đối tượng.
◦ Hằng: 𝑎𝑙𝑖𝑐𝑒, 𝑏𝑜𝑏, 𝑎𝑟𝑖𝑡ℎ𝑚𝑒𝑡𝑖𝑐, 2
◦ Biến: 𝑥, 𝑦, 𝑎, 𝑏, …
◦ Hàm: 𝑆𝑞𝑟𝑡(4), 𝑀𝑜𝑡ℎ𝑒𝑟𝑂𝑓(𝑗𝑜ℎ𝑛), …

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
◦ 𝐾𝑛𝑜𝑤𝑠(𝑥, 𝑎𝑟𝑖𝑡ℎ𝑚𝑒𝑡𝑖𝑐)

◦ Phép nối áp dụng lên công thức
◦ 𝑆𝑡𝑢𝑑𝑒𝑛𝑡 𝑥 → 𝐾𝑛𝑜𝑤𝑠(𝑥, 𝑎𝑟𝑖𝑡ℎ𝑚𝑒𝑡𝑖𝑐)


◦ Lượng từ áp dụng lên công thức
◦ ∀𝑥 𝑆𝑡𝑢𝑑𝑒𝑛𝑡 𝑥 → 𝐾𝑛𝑜𝑤𝑠(𝑥, 𝑎𝑟𝑖𝑡ℎ𝑚𝑒𝑡𝑖𝑐)

8


Cú pháp: Lượng từ
Lượng từ với mọi (∀):
◦ ∀𝑥 𝑃(𝑥) thì giống như 𝑃 𝐴 ∧ 𝑃 𝐵 ∧ ⋯

Lượng từ tồn tại (∃):
◦ ∃𝑥 𝑃(𝑥) thì giống như 𝑃 𝐴 ∨ 𝑃 𝐵 ∨ ⋯

Một số thuộc tính:
◦ ¬∀𝑥 𝑃(𝑥) tương đương với ∃𝑥 ¬𝑃(𝑥)

◦ ∀𝑥 ∃𝑦 𝑃 𝑥, 𝑦 thì khác với ∃𝑥∀𝑦 𝑃(𝑥, 𝑦)

9


Cú pháp: Qui tắc De Morgan cho lượng từ
¬ 𝑃 ∨ 𝑄 ≡ ¬𝑃 ∧ ¬𝑄

∀𝑥 𝑃 𝑥 ≡ ¬∃𝑥 ¬𝑃(𝑥)

¬ 𝑃 ∧ 𝑄 ≡ ¬𝑃 ∨ ¬𝑄

∃𝑥 𝑃(𝑥) ≡ ¬∀𝑥 ¬𝑃(𝑥)


𝑃 ∨ 𝑄 ≡ ¬ ¬𝑃 ∧ ¬𝑄

¬∀𝑥 𝑃(𝑥) ≡ ∃𝑥 ¬𝑃(𝑥)

𝑃 ∧ 𝑄 ≡ ¬ ¬𝑃 ∨ ¬𝑄

¬∃𝑥 𝑃(𝑥) ≡ ∀𝑥 ¬𝑃(𝑥)

10


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
◦ ∃𝑥 𝑆𝑡𝑢𝑑𝑒𝑛𝑡(𝑥) ∧ 𝐾𝑛𝑜𝑤𝑠(𝑥, 𝑎𝑟𝑖𝑡ℎ𝑚𝑒𝑡𝑖𝑐)

11


Cú pháp: ví dụ
Mọi loại nấm màu tím đều có độc
◦ ∀𝑥 𝑀𝑢𝑠ℎ𝑟𝑜𝑜𝑚 𝑥 ∧ 𝑃𝑢𝑟𝑝𝑙𝑒 𝑥 → 𝑃𝑜𝑖𝑠𝑜𝑛𝑜𝑢𝑠(𝑥)

Mèo là động vật có vú
◦ ∀𝑥 𝐶𝑎𝑡 𝑥 → 𝑚𝑎𝑚𝑚𝑎𝑙(𝑥)


Khơng ai yêu Lan
◦ ¬∃𝑥 𝐿𝑜𝑣𝑒(𝑥, 𝐿𝑎𝑛) hoặc ∀𝑥 ¬𝐿𝑜𝑣𝑒(𝑥, 𝐿𝑎𝑛)

Cháu là con của anh em
◦ ∀𝑥∀𝑦 𝑁𝑖𝑒𝑐𝑒𝑁𝑒𝑝ℎ𝑒𝑤 𝑥, 𝑦 ↔ ∃𝑧 𝑆𝑖𝑏𝑙𝑖𝑛𝑔(𝑦, 𝑧) ∧ 𝐶ℎ𝑖𝑙𝑑(𝑥, 𝑧)

Bà ngoại là mẹ của mẹ
◦ ∀𝑥∀𝑦 𝐺𝑟𝑎𝑛𝑑𝑚𝑜𝑡ℎ𝑒𝑟 𝑥, 𝑦 ↔ ∃𝑧 𝑀𝑜𝑡ℎ𝑒𝑟(𝑥, 𝑧) ∧ 𝑀𝑜𝑡ℎ𝑒𝑟(𝑧, 𝑦)
◦ ∀𝑥∀𝑦 𝑥 = 𝐺𝑟𝑎𝑛𝑑𝑚𝑜𝑡ℎ𝑒𝑟 𝑦 ↔ ∃𝑧 𝑥 = 𝑀𝑜𝑡ℎ𝑒𝑟 𝑧 ∧ 𝑧 = 𝑀𝑜𝑡ℎ𝑒𝑟(𝑦)
12


Cú pháp: ví dụ
Có một số khóa học mà mọi sinh viên đều tham gia
◦ ∃𝑦 𝐶𝑜𝑢𝑟𝑠𝑒 𝑦 ∧ ∀𝑥 𝑆𝑡𝑢𝑑𝑒𝑛𝑡 𝑥 → 𝑇𝑎𝑘𝑒𝑠(𝑥, 𝑦)

Mọi số nguyên chẵn lớn hơn 2 là tổng của 2 số nguyên tố
◦ ∀𝑥 𝐸𝑣𝑒𝑛𝐼𝑛𝑡 𝑥 ∧ 𝐺𝑟𝑒𝑎𝑡𝑒𝑟 𝑥, 2 → ∃𝑦∃𝑧 𝐸𝑞𝑢𝑎𝑙𝑠(𝑥, 𝑆𝑢𝑚 𝑦, 𝑧 ) ∧ 𝑃𝑟𝑖𝑚𝑒(𝑦) ∧ 𝑃𝑟𝑖𝑚𝑒(𝑧)

Nếu một sinh viên học một khóa học và khóa học đó có đề cập đến một khái niệm thì sinh
viên đó biết về khái niệm đó.
◦ ∀𝑥∀𝑦∀𝑧 𝑆𝑡𝑢𝑑𝑒𝑛𝑡 𝑥 ∧ 𝐶𝑜𝑢𝑟𝑠𝑒 𝑦 ∧ 𝑇𝑎𝑘𝑒𝑠 𝑥, 𝑦 ∧ 𝐶𝑜𝑣𝑒𝑟𝑠 𝑦, 𝑧 → 𝐾𝑛𝑜𝑤𝑠(𝑥, 𝑧)

13


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ẹ

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ẹ

◦ ∀𝑥 ∃𝑦 𝐹𝑎𝑡ℎ𝑒𝑟 𝑦, 𝑥

→ ∃𝑧 𝑀𝑜𝑡ℎ𝑒𝑟(𝑧, 𝑥)

15


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 , …

16


Ngữ nghĩa
Nếu tồn tại ánh xạ một – một giữa các kí hiệu hằng số và các đối tượng thì logic bậc nhất là
dạng ngắn của logic mệnh đề
Ví dụ:

KB ở dạng Logic bậc nhất
𝑆𝑡𝑢𝑑𝑒𝑛𝑡(𝑎𝑙𝑖𝑐𝑒) ∧ 𝑆𝑡𝑢𝑑𝑒𝑛𝑡 𝑏𝑜𝑏
∀𝑥 𝑆𝑡𝑢𝑑𝑒𝑛𝑡 𝑥 → 𝑃𝑒𝑟𝑠𝑜𝑛(𝑥)
∃𝑥 𝑆𝑡𝑢𝑑𝑒𝑛𝑡 𝑥 ∧ 𝐶𝑟𝑒𝑎𝑡𝑖𝑣𝑒(𝑥)

Propositionalization

KB ở dạng Logic mệnh đề
𝑆𝑡𝑢𝑑𝑒𝑛𝑡(𝑎𝑙𝑖𝑐𝑒) ∧ 𝑆𝑡𝑢𝑑𝑒𝑛𝑡 𝑏𝑜𝑏
𝑆𝑡𝑢𝑑𝑒𝑛𝑡 𝑎𝑙𝑖𝑐𝑒 → 𝑃𝑒𝑟𝑠𝑜𝑛(𝑎𝑙𝑖𝑐𝑒) ∧ 𝑆𝑡𝑢𝑑𝑒𝑛𝑡 𝑏𝑜𝑏 → 𝑃𝑒𝑟𝑠𝑜𝑛(𝑏𝑜𝑏)
𝑆𝑡𝑢𝑑𝑒𝑛𝑡 𝑎𝑙𝑖𝑐𝑒 ∧ 𝐶𝑟𝑒𝑎𝑡𝑖𝑣𝑒(𝑎𝑙𝑖𝑐𝑒) ∨ 𝑆𝑡𝑢𝑑𝑒𝑛𝑡 𝑏𝑜𝑏 ∧ 𝐶𝑟𝑒𝑎𝑡𝑖𝑣𝑒 𝑏𝑜𝑏
17


Phương pháp suy dẫn
Mục tiêu: cần các luật suy diễn có thể làm việc với các cơng thức có lượng từ

Ví dụ
◦ Cho 𝑃(𝑎𝑙𝑖𝑐𝑒) và ∀𝑥 𝑃 𝑥 → 𝑄 𝑥

◦ Có suy diễn được 𝑄 𝑎𝑙𝑖𝑐𝑒 ?
◦ Vấn đề: 𝑃(𝑥) và 𝑃(𝑎𝑙𝑖𝑐𝑒) không khớp nhau

Đề 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.

18


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ụ
◦ 𝑆𝑢𝑏𝑠𝑡 𝑥/𝑎𝑙𝑖𝑐𝑒 , 𝑃(𝑥) = 𝑃(𝑎𝑙𝑖𝑐𝑒)
◦ 𝑆𝑢𝑏𝑠𝑡 𝑥/𝑎𝑙𝑖𝑐𝑒, 𝑦/𝑧 , 𝑃(𝑥) ∧ 𝐾(𝑥, 𝑦) = 𝑃(𝑎𝑙𝑖𝑐𝑒) ∧ 𝐾(𝑎𝑙𝑖𝑐𝑒, 𝑧)

19


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 𝜃

Ví dụ:

◦ 𝑈𝑛𝑖𝑓𝑦 𝐾𝑛𝑜𝑤𝑠 𝑎𝑙𝑖𝑐𝑒, 𝑎𝑟𝑖𝑡ℎ𝑚𝑒𝑡𝑖𝑐 , 𝐾𝑛𝑜𝑤𝑠(𝑥, 𝑎𝑟𝑖𝑡ℎ𝑚𝑒𝑡𝑖𝑐) = 𝑥/𝑎𝑙𝑖𝑐𝑒
◦ 𝑈𝑛𝑖𝑓𝑦 𝐾𝑛𝑜𝑤𝑠 𝑎𝑙𝑖𝑐𝑒, 𝑦 , 𝐾𝑛𝑜𝑤𝑠(𝑥, 𝑧) = 𝑥/𝑎𝑙𝑖𝑐𝑒, 𝑦/𝑧
◦ 𝑈𝑛𝑖𝑓𝑦 𝐾𝑛𝑜𝑤𝑠 𝑎𝑙𝑖𝑐𝑒, 𝑦 , 𝐾𝑛𝑜𝑤𝑠(𝑏𝑜𝑏, 𝑧) = 𝑙ỗ𝑖
◦ 𝑈𝑛𝑖𝑓𝑦 𝐾𝑛𝑜𝑤𝑠 𝑎𝑙𝑖𝑐𝑒, 𝑦 , 𝐾𝑛𝑜𝑤𝑠(𝑥, 𝐹(𝑥)) = 𝑥/𝑎𝑙𝑖𝑐𝑒, 𝑦/𝐹(𝑎𝑙𝑖𝑐𝑒)

20


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

21


Hợp giải với KB ở dạng CNF
Nhắc lại: Để chứng minh 𝐾𝐵 ⊨ 𝛼 ta chứng minh 𝐾𝐵 ∧ ¬𝛼 khơng thỏa
Các bước chứng minh:
◦ Chuyển 𝐾𝐵 ∧ ¬𝛼 về dạng CNF

◦ Áp dụng luật hợp giải: tìm cặp mệnh đề đối ngẫu 𝑃 và ¬𝑃

22


Chuyển về dạng CNF
Ví dụ: Người yêu tất cả các động vật thì được u bởi một ai đó
◦ ∀𝑥 ∀𝑦 𝐴𝑛𝑖𝑚𝑎𝑙 𝑦 → 𝐿𝑜𝑣𝑒𝑠 𝑥, 𝑦

→ ∃𝑦 𝐿𝑜𝑣𝑒𝑠(𝑦, 𝑥)


Loại bỏ dấu tương đương và kéo theo
◦ ∀𝑥 ∀𝑦 ¬𝐴𝑛𝑖𝑚𝑎𝑙 𝑦 ∨ 𝐿𝑜𝑣𝑒𝑠 𝑥, 𝑦
◦ ∀𝑥 ¬ ∀𝑦 ¬𝐴𝑛𝑖𝑚𝑎𝑙 𝑦 ∨ 𝐿𝑜𝑣𝑒𝑠 𝑥, 𝑦

→ ∃𝑦 𝐿𝑜𝑣𝑒𝑠(𝑦, 𝑥)
∨ ∃𝑦 𝐿𝑜𝑣𝑒𝑠(𝑦, 𝑥)

Đẩy dấu phủ định vào trong, loại bỏ 2 dấu phủ định
◦ ∀𝑥 ∃𝑦 𝐴𝑛𝑖𝑚𝑎𝑙 𝑦 ∧ ¬𝐿𝑜𝑣𝑒𝑠 𝑥, 𝑦

∨ ∃𝑦 𝐿𝑜𝑣𝑒𝑠(𝑦, 𝑥)

Chuẩn hóa biến: mỗi lượng từ nên sử dụng các biến khác nhau
◦ ∀𝑥 ∃𝑦 𝐴𝑛𝑖𝑚𝑎𝑙 𝑦 ∧ ¬𝐿𝑜𝑣𝑒𝑠 𝑥, 𝑦

∨ ∃𝑧 𝐿𝑜𝑣𝑒𝑠(𝑧, 𝑥)

23


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
◦ ∀𝑥 𝐴𝑛𝑖𝑚𝑎𝑙 𝑌 𝑥


∧ ¬𝐿𝑜𝑣𝑒𝑠 𝑥, 𝑌 𝑥

∨ 𝐿𝑜𝑣𝑒𝑠(𝑍(𝑥), 𝑥)

Bỏ lượng từ với mọi: các biến còn lại giả định là với mọi


𝐴𝑛𝑖𝑚𝑎𝑙 𝑌 𝑥

∧ ¬𝐿𝑜𝑣𝑒𝑠 𝑥, 𝑌 𝑥

∨ 𝐿𝑜𝑣𝑒𝑠(𝑍(𝑥), 𝑥)

Phân phối ∨ 𝑣ớ𝑖 ∧:


𝐴𝑛𝑖𝑚𝑎𝑙 𝑌 𝑥

∨ 𝐿𝑜𝑣𝑒𝑠(𝑍(𝑥), 𝑥) ∧ ¬𝐿𝑜𝑣𝑒𝑠 𝑥, 𝑌 𝑥

∨ 𝐿𝑜𝑣𝑒𝑠(𝑍(𝑥), 𝑥)

24


Hợp giải
Luật hợp giải:

Ví dụ


𝛼1 ∨⋯∨𝛼𝑛 ∨ℎ1
𝛽1 ∨⋯∨𝛽𝑚 ∨¬ℎ2
𝑆𝑢𝑏𝑠𝑡 𝜃,𝛼1 ∨⋯∨𝛼𝑛 ∨𝛽1 ∨⋯∨𝛽𝑚

𝐴𝑛𝑖𝑚𝑎𝑙 𝑌 𝑥 ∨ 𝐿𝑜𝑣𝑒𝑠(𝑍 𝑥 ,𝑥)
¬𝐿𝑜𝑣𝑒𝑠 𝑢,𝑣 ∨ 𝐹𝑒𝑒𝑑𝑠(𝑢,𝑣)
𝐴𝑛𝑖𝑚𝑎𝑙 𝑌 𝑥 ∨ 𝐹𝑒𝑒𝑑𝑠 (𝑍 𝑥 ,𝑥)

◦ Trong đó, 𝜃 = 𝑈𝑛𝑖𝑓𝑦(ℎ1 , ℎ2 )

◦ Phép thay thế 𝜃 = 𝑈𝑛𝑖𝑓𝑦 𝑢/𝑍 𝑥 , 𝑣/𝑥

25


×