Nếu t1 và t2 là các hạng thức, thì t1 = t2 là công thức phân tửLiteral: Công thức phân tử hoặc phủ định của công thức phân tửcông thức phân tử cụ thể ground atom: Công thức phân tử không
Trang 1Logic vị từ
Nguyễn Thị Hải Bình
Khoa CNTT, Đại học GTVT
Trang 2Giới hạn của logic mệnh đề
"All blocks are red"
"A is a block"
Can we deduce that "A is red" ?
Trang 4Ký hiệu (Symbols)
Ký hiệu hằng (constant): a, b, c, John, Mary,
Ký hiệu biến (variable): x, y, z, she, he, it,
Ký hiệu vị từ (predicate): P, Q, R, Prime, Like, Introduce, Give,
Mỗi vị từ là vị từ của n biến (n ≥ 0)
Vị từ không biến là một mệnh đề
Ví dụ
Love(John, Mary) = "John loves Mary"
Introduce(John, Mary, Sue) = "John introduces Mary to Sue"
P(x)= "x là một số nguyên tố"
Trang 5Ký hiệu (Symbols)
Ký hiệu hàm (function): f, g, cos, sin, mother, husband, distance,
Mỗi hàm là hàm của n biến (n ≥ 1)
Ký hiệu kết nối logic (connective): ∧, ∨, ¬, →, ↔
Ký hiệu lượng tử (quantifier): ∀, ∃
Ký hiệu bằng (identity predicate): =
Dấu ngoặc (bracket): (), [], {}
Trang 8Nếu t1 và t2 là các hạng thức, thì t1 = t2 là công thức phân tử
Literal: Công thức phân tử hoặc phủ định của công thức phân tửcông thức phân tử cụ thể (ground atom): Công thức phân tử khôngchứa biến
Trang 9Love(John, Mary) là một công thức phân tử
Love(John, mother(John)) là một công thức phân tử
Trang 10Công thức (Formula)
Các công thức phân tử là công thức
Nếu G và H là các công thức thì các biểu thức
G ∧ H, G ∨ H, ¬G , G → H, G ↔ H là các công thức
Nếu G là một công thức, và x là một biến thì các biểu thức ∀xG , ∃xG
là các công thức
Công thức cụ thể: công thức không chứa biến
Câu phức hợp: công thức không phải là công thức phân tử
Câu tuyển: tuyển của các literal
Trang 11Công thức (Formula)
Ví dụ
Everyone is happy: ∀xH(x )
Someone loves John: ∃xL(x , j)
Everyone loves someone: ∀x ∃yL(x , y )
Trang 12Lượng tử phổ dụng ∀ (Universal Quantifier)
Cho phép mô tả tính chất của một lớp các đối tượng
Trang 13Lượng tử phổ dụng ∀ - Ví dụ
P(x) = "x là một số lẻ"
Xác định giá trị chân lý của ∀xP(x )
Nếu miền đối tượng của x = tập số nguyên, ∀xP(x ) là False
Nếu miền đối tượng của x = tập các số nguyên tố lớn hơn 2, ∀xP(x )
là True
Trang 14Lượng tử phổ dụng ∀ - Ví dụ
P(x) = "x2> 10"
Xác định giá trị chân lý của ∀xP(x ) trong các miền đối tượng sau:Tập số thực False
Trang 16Lượng tử tồn tại ∃ - Ví dụ
P(x) = "x2> 10"
Xác định giá trị chân lý của ∃xP(x ) trong các miền đối tượng sau:
Tập các số thực nằm trong đoạn [0,√9.8]False
Trang 17∀xP(x, f (a, x)) ∧ ∃yQ(y ) là công thức đóng
∀xP(x, f (y , x)) không phải là công thức đóng
Trang 18Thứ tự của lượng tử
Thứ tự của các lượng tử cùng loại không quan trọng
∀x∀y giống ∀y ∀x
∃x∃y giống ∃y ∃x
Thứ tự của các lượng tử khác loại quan trọng
Trang 19Quan hệ giữa các lượng tử
Trang 21Representation in Predicate Logic
Definition of prime number
x is a prime number if and only if x ≥ 2 and the only divisors of x are 1and x
P(x ) = "x is a prime number"
D(x ) = x ≥ 2 and the only divisors of x are 1 and x
Definition of prime number: ∀x (P(x ) ↔ D(x ))
Trang 22Representation in Predicate Logic
"John does not see Mary"
¬S(j, m)
"John sees Mary or Paula" S (j , m) ∨ S (j , p)
"If John sees Mary, he is happy" S (j , m) → H(j )
Trang 23Representation in Predicate Logic
"John sees Mary or Paula"
S (j , m) ∨ S (j , p)
"If John sees Mary, he is happy" S (j , m) → H(j )
Trang 24Representation in Predicate Logic
"John sees Mary or Paula" S (j , m) ∨ S (j , p)
"If John sees Mary, he is happy"
S (j , m) → H(j )
Trang 25Representation in Predicate Logic
"John sees Mary or Paula" S (j , m) ∨ S (j , p)
"If John sees Mary, he is happy" S (j , m) → H(j )
Trang 26Representation in Predicate Logic
"Every student is happy"
(every student)(he/she is happy)for all x, x is a student, x is happy
= True iff "he/she is happy" is True for all possible values for
"he/she" in the domainFor all x : IF student(x ) THEN happy (x )
∀x(student(x) → happy (x))
Trang 27Representation in Predicate Logic
"Every student is happy"
(every student)(he/she is happy)
for all x, x is a student, x is happy
= True iff "he/she is happy" is True for all possible values for
"he/she" in the domain
For all x : IF student(x ) THEN happy (x )
∀x(student(x) → happy (x))
∀x(student(x) ∧ happy (x))
wrong
Trang 28Representation in Predicate Logic
"Every student is happy"
(every student)(he/she is happy)
for all x, x is a student, x is happy
= True iff "he/she is happy" is True for all possible values for
"he/she" in the domain
For all x : IF student(x ) THEN happy (x )
∀x(student(x) → happy (x))
Trang 29Representation in Predicate Logic
All of Jane’s friends are nice"
For all x : IF friend (x , jane) THEN nice(x )
∀x(friend (x, jane) → nice(x))
Trang 30Representation in Predicate Logic
All of Jane’s friends are nice"
For all x : IF friend (x , jane) THEN nice(x )
∀x(friend (x, jane) → nice(x))
Trang 31Representation in Predicate Logic
"Some students are happy"
For some x : student(x ) AND happy (x )
∃x(student(x) ∧ happy (x))
Trang 32Representation in Predicate Logic
"Some students are happy"
For some x : student(x ) AND happy (x )
∃x(student(x) ∧ happy (x))
∃x(student(x) → happy (x))
wrong
Trang 33Representation in Predicate Logic
"Some students are happy"
For some x : student(x ) AND happy (x )
∃x(student(x) ∧ happy (x))
Trang 34Representation in Predicate Logic
"Jane has at least one friend who is nice"
For some x : friend (x , jane) AND nice(x )
∃x(friend (x, jane) ∧ nice(x))
Trang 35Representation in Predicate Logic
"Jane has at least one friend who is nice"
For some x : friend (x , jane) AND nice(x )
∃x(friend (x, jane) ∧ nice(x))
Trang 36Representation in Predicate Logic
"No student complained"
Trang 37Translating simple syllogistic sentences
"All A are B" ∀x(A(x) → B(x))
"Some A are B" ∃x(A(x) ∧ B(x))
"Not all A are B" ¬∀(A(x) → B(x))
Trang 38Examples
Every boy loves a girl
∀x(B(x) → ∃y (L(x, y ) ∧ G (y )))B(x ) = "x is a boy"
L(x , y ) = "x loves y"
G (y ) = "y is a girl"
Trang 40Examples
There is a computer which is not used by any student
∃x(Computer (x) ∧ ∀y (Student(y ) → ¬Use(x, y ))Computer (x ) = "x is a boy"
Student(y ) = "y is a student"
Use(x , y ) = "x uses y"
Trang 41There is a computer which is not used by any student
∃x(Computer (x) ∧ ∀y (Student(y ) → ¬Use(x, y ))
Computer (x ) = "x is a boy"
Student(y ) = "y is a student"
Use(x , y ) = "x uses y"
Trang 42Examples
2 Every student loves some other student
3 There is a student who is loved by every other student
Trang 43Examples
2 Every student loves some other student
3 There is a student who is loved by every other student
Trang 442 Every student loves some other student
3 There is a student who is loved by every other student
S (x ) = "x is a student"
L(x , y ) = "x loves y"
1 ∀x(S(x) → ∃y (S(y ) ∧ L(x, y )))
2 ∀xS(x) → ∃y (S(y ) ∧ ¬(x = y ) ∧ L(x, y )))
Trang 45Chuẩn hóa các công thức - dạng chuẩn tắc hội
3 Loại bỏ các lượng tử tồn tại
4 Đặt lại tên các biến sao cho đi sau các lượng tử phổ dụng là các biến
Trang 46Các luật suy diễn
Các luật suy diễn trong logic mệnh đề đúng trong logic vị từ
Luật thay thế phổ dụng
Giả sử G là một câu
Câu ∀xG là đúng trong một minh họa nào đó nếu và chỉ nếu G đúng đối với tất cả các đối tượng nằm trong miền đối tượng của minh họa đó
Ký hiệu t là hạng thức ứng với một đối tượng
Ký hiệu G [x /t] là công thức nhận được bằng cách thay tất cả các xuất hiện của x bởi t
Luật thay thế phổ dụng (universal instantiation): G [x /t]∀xG
Ví dụ: ∀xLike(x,Football)Like(An,Football )
Trang 47G = Like(An, y ), H = Like(x , Footbal )
G và H là hợp nhất được bởi hợp nhất tử θ = [x /An, y /Football ]
Trang 49Hợp nhất - Ví dụ
{x/OJ, y /John}
Trang 50Hợp nhất - Ví dụ
{y /John, x/Mother (John)}
Trang 51Hợp nhất - Ví dụ
fail
Trang 52Hợp nhất - Ví dụ
Trang 53Luật Modus Ponens tổng quát
(P 1 ∧ ∧P n →Q),P 0
1 , ,P 0 n
Trang 54A = Hear (x , music) ∨ Play (x , tennis)
B = ¬Play (An, y ) ∨ Study (An)
Giải thức của A và B = ?
θ = {x /An, y /Tennis}
Hear (An, Music) ∨ Study (An)
Trang 55Luật phân giải trên các câu tuyển
A 1 ∨ ∨A m ∨C ,B 1 ∨ ∨B n ∨¬D
A 1 θ∨ ∨A m θ∨B 1 θ∨ ∨B n θ where C θ = Dθ
Ví dụ
A = Hear (x , music) ∨ Play (x , tennis)
B = ¬Play (An, y ) ∨ Study (An)
Giải thức của A và B = ?
θ = {x /An, y /Tennis}
Hear (An, Music) ∨ Study (An)
Trang 57Luật phân giải trên các câu Horn
Trang 58Chứng minh bằng luật phân giải - PP Diễn dịch
Trang 595 P(a) ∨ S (a) (Luật phân giải cho (2) và (4), θ = {x /a, z/a})
6 ¬P(a) (Luật phân giải cho (1) và (3) với θ = {w /a, y /a})
7 S (a) (Luật phân giải cho (5) và (6))
Trang 606 ¬P(a) (Luật phân giải cho (1) và (3) với θ = {w /a, y /a})
7 S (a) (Luật phân giải cho (5) và (6))
Trang 615 P(a) ∨ S (a) (Luật phân giải cho (2) và (4), θ = {x /a, z/a})
6 ¬P(a) (Luật phân giải cho (1) và (3) với θ = {w /a, y /a})
7 S (a) (Luật phân giải cho (5) và (6))
Trang 625 P(a) ∨ S (a) (Luật phân giải cho (2) và (4), θ = {x /a, z/a})
6 ¬P(a) (Luật phân giải cho (1) và (3) với θ = {w /a, y /a})
7 S (a) (Luật phân giải cho (5) và (6))
Trang 63Chứng minh bằng luật phân giải - PP Diễn dịch
2 P(x ) ∨ R(x )
5 P(a) ∨ S (a) (Luật phân giải cho (2) và (4), θ = {x /a, z/a})
6 ¬P(a) (Luật phân giải cho (1) và (3) với θ = {w /a, y /a})
7 S (a) (Luật phân giải cho (5) và (6))
Trang 64Chứng minh bằng luật phân giải - PP Bác bỏ
Trang 657 P(a) (Luật phân giải cho (2) và (6), θ = {x /a})
8 Q(a) (Luật phân giải cho (1) và (7), θ = {w /a})
9 (Luật phân giải cho (3) và (8), θ = {y /a})
Trang 667 P(a) (Luật phân giải cho (2) và (6), θ = {x /a})
8 Q(a) (Luật phân giải cho (1) và (7), θ = {w /a})
9 (Luật phân giải cho (3) và (8), θ = {y /a})
Trang 677 P(a) (Luật phân giải cho (2) và (6), θ = {x /a})
8 Q(a) (Luật phân giải cho (1) và (7), θ = {w /a})
9 (Luật phân giải cho (3) và (8), θ = {y /a})
Trang 687 P(a) (Luật phân giải cho (2) và (6), θ = {x /a})
8 Q(a) (Luật phân giải cho (1) và (7), θ = {w /a})
9 (Luật phân giải cho (3) và (8), θ = {y /a})
Trang 697 P(a) (Luật phân giải cho (2) và (6), θ = {x /a})
8 Q(a) (Luật phân giải cho (1) và (7), θ = {w /a})
9 (Luật phân giải cho (3) và (8), θ = {y /a})
Trang 70Chứng minh bằng luật phân giải - PP Bác bỏ
2 P(x ) ∨ R(x )
7 P(a) (Luật phân giải cho (2) và (6), θ = {x /a})
8 Q(a) (Luật phân giải cho (1) và (7), θ = {w /a})
9 (Luật phân giải cho (3) và (8), θ = {y /a})
Trang 71Thủ tục chứng minh bằng luật phân giải
1.1 Chọn ra hai câu A và B trong C
2.2 If A và B phân giải được Then tính giải thức Res(A, B)
3.3 If Res(A, B) là câu mới Then thêm Res(A, B) vào C
Until Nhận được câu rỗng hoặc không có câu mới nào được sinh ra
Else thông báo H sai
End
Trang 72Các chiến lược phân giải
TỰ ĐỌC MỤC 6.6 (Giáo trình TTNT - Đinh Mạnh Tường)