1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài Giảng Logic Bậc Nhất - First Order Logic

29 1,4K 2

Đ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

Định dạng
Số trang 29
Dung lượng 585,5 KB

Nội dung

Tại sao sử dụng logic bậc nhất?• Logic mệnh đề chỉ xử lý trên các sự kiện , có giá trị đúng hoặc sai, ví dụ “trời mưa”, “Tuấn đi xem đá banh”… Ta không thể dùng các biến để đại diện cho

Trang 1

Logic bậc nhất

Tô Hoài ViệtKhoa Công nghệ Thông tinĐại học Khoa học Tự nhiên TPHCM

thviet@fit.hcmuns.edu.vn

Trang 3

Tại sao sử dụng logic bậc nhất?

• Logic mệnh đề chỉ xử lý trên các sự kiện , có giá trị đúng hoặc sai, ví dụ “trời mưa”, “Tuấn đi xem

đá banh”… Ta không thể dùng các biến để đại diện cho nhiệt độ, con người,…

• Trong logic bậc nhất, các biến giúp ta tham

chiếu đến các sự vật trong thế giới và ta còn có thể lượng hoá chúng: tức là xem xét toàn bộ hay một phần của sự vật.

Trang 4

Logic Bậc nhất

• Các câu không thể biểu diễn bằng logic mệnh

đề nhưng có thể bằng logic bậc nhất

– Socrates là người nên socrates chết

– Khi sơn một hộp bằng màu xanh, nó sẽ trở thành hộp xanh

– Một người được cho phép truy cập trang web nếu họ được nếu họ được cấp quyền chính thức hay quen biết với ai được phép truy cập

Trang 5

– Một ký hiệu vị từ (predicate) áp dụng cho một hay nhiều term:

Thuoc(Lan, DHKHTN), La-anh-em(Tuan, Lan), cua(Tuan), Lan),…

La-ban-be(anh-– t1= t2

– Nếu v là một biến và  là một câu thì x  và x  là một câu

– Đóng với các toán tử nối câu:     

Trang 6

Trị đúng trong Logic bậc nhất

• Các câu là đúng ứng với một mô hình và một thể hiện

• Mô hình chứa các đối tượng (các thành phần) và quan hệ giữa

chúng

• Thể hiện xác định các tham chiếu cho

các ký hiệu hằng  các đối tượng

các ký hiệu vị từ  các quan hệ

• Một câu nguyên tố predicate(term 1 , term 2 ,…term n ) là đúng nếu và

chỉ nếu các đối tượng được tham chiếu bởi term 1 , term 2 ,…term n

Trang 7

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

Trang 8

Lỗi thường gặp cần tránh

• Thông thường,  là phép nối thường đi với 

• Lỗi thường gặp: dùng  làm phép nối chính đi với :

x Sinh-viên(x,CNTT)  Thông-minh(x)

nghĩa là “Mọi người đều là sinh viên CNTT và mọi người đều thông minh”

Trang 10

Lỗi thường gặp khác cần tránh

• Thông thường,  là phép nối chính với 

• Lỗi thường gặp: dùng  làm phép nối chính với :

x Sinh-viên(x,CNTT)  Thông-minh(x)

đúng nếu có bất kỳ ai không là sinh viên CNTT!

Trang 11

Viết FOL như thế nào

• Mèo là động vật có vú [Mèo 1 , Động-vật-có-vú 1 ]

x.Mèo(x)  Động-vật-có-vú(x)

• Lan là sinh viên học giỏi [Sinh-viên 1 , Học-giỏi 1 ,Lan]

Sinh-viên(Lan)  Học-giỏi(Lan)

• Cháu là con của anh em [Cháu 2 , Anh-em 2 , Con 2 ]

x,y.Cháu(x,y)  z.(Anh-em(z,y)  Con(x,z))

• Bà ngoại là mẹ của mẹ [các hàm: bà-ngoại, mẹ]

xy x= bà-ngoại(y)  z.(x= mẹ(z)  z= mẹ(y))

• Mọi người đều yêu ai đó [Yêu 2 ]

x, y.Yêu(x, y)

x, y.Yêu(x, y)

Trang 12

Viết FOL như thế nào (tt)

• Không ai yêu Lan

x Yêu(x, Lan) x Yêu(x,Lan)

Trang 13

Suy dẫn trong FOL

• KB suy dẫn S: với mọi thể hiện I, nếu KB thoả trong I thì

Trang 15

Tam đoạn luận:

Mọi người đều chết Socrates là người Socrates chết

Tương đương theo định nghĩa của phép Suy ra

Thay A vào x, vẫn đúng

khi đó Hợp giải Mệnh đề

Hai vấn đề mới:

• biến đổi FOL thành dạng mệnh đề (clausal form)

• hợp giải với biến

Trang 17

3 Đổi tên các biến thành phần

x.y.(P(x)  x Q(x,y)) x 1 y 2 (P(x 1 )  x 3 Q(x3,y2))

Trang 19

Biến đổi thành dạng mệnh đề

5 Bỏ các lượng từ với mọi

y, x Loves(x,y)  Loves(x, beloved(x))

6 Phần phối or vào and; trả về các mệnh đề

Trang 20

Hợp giải Bậc nhất

x, P(x)  Q(x)

P(A)

Q(A)

Tam đoạn luận:

Mọi người đều chết Socrates là người Socrates chết

Thay A vào x, vẫn đúng

Điều chủ yếu là tìm các phép thế đúng đắn cho các biến

Trang 24

Đồng nhất tổng quát nhất

• Để đồng nhất Knows(John,x) và Knows(y,z), ta có các

phép thế

θ = {y/John, x/z } hay θ = {y/John, x/John, z/John}

• Phép đồng nhất đầu tiên tổng quát hơn cái thứ hai

Trang 25

Đồng nhất tổng quát nhất

• g là phép đồng nhất tổng quát nhất (most general unifier

- MGU) của ω1 và ω2 khi và chỉ khi với mọi phép đồng nhất s, tồn tại s’ sao cho ω1.s = (ω1.g)s’ và ω2.s =

Trang 26

Thuật toán đồng nhất

unify(Expr x, Expr y, Subst s){

if s = fail, return fail

else if x = y, return s

else if x là một biến, return unify-var(x, y, s)

else if y là một biến, return unify-var(y, x, s)

else if x là một vị từ hay một hàm,

if y có cùng toán tử,

return unify(args(x), args(y), s)

else return fail

else ; x và y là các danh sách

return unify(rest(x), rest(y), unify(first(x), first(y), s))

return fail;

Trang 27

Thủ tục đồng nhất biến

Thế vào var và x khi còn có thể, tiếp đó thêm vào ràng buộc mới

unify-var(Variable var, Expr x, Subst s){

if var đã được gắn với giá trị val trong s,

return unify(val, x, s)else if x được gắn với giá trị val trong s,

return unify(var, val, s)

else if var xuất hiện đâu đó trong x, return fail

else return add({var/x}, s)}

Trang 28

Một số ví dụ về đồng nhất

A(x, f(D,x)) A(E, f(D, y)) {x/E, y/E}

A(x, y) A(f(C, y), z) {x/f(C,y), y/z}

P(A, x, f(g(y))) P(y, f(z), f(z)) {y/A, x/f(z), z/f(g(y)}

P(x, g(f(A)), f(x)) P(f(y), z, y) Không có

P(x, f(y)) P(z, g(w)) Không có

Ngày đăng: 18/10/2015, 23:18

TỪ KHÓA LIÊN QUAN

w