470 likes | 709 Vues
CHƯƠNG 4B:. LOGIC VỊ TỪ. NỘI DUNG. Giới thiệu. Định nghĩa. Cú pháp biễu diễn vị từ. Biểu thức vị từ. Biểu thức vị từ chuẩn. Lượng từ. Biểu diễn thế giới thực. Ngữ nghĩa. Vị từ tương đương. Giới thiệu.
E N D
CHƯƠNG 4B: LOGIC VỊ TỪ
NỘI DUNG • Giới thiệu. • Định nghĩa. • Cú pháp biễu diễn vị từ. • Biểu thức vị từ. • Biểu thức vị từ chuẩn. • Lượng từ. • Biểu diễn thế giới thực. • Ngữ nghĩa. • Vị từ tương đương.
Giới thiệu • Phép toán mệnh đề suy diễn tự động nhưng chưa đủ khi cần phải truy cập vào thành phần nhỏ trong câu, dùng biến số trong câu. • Ví dụ: “Mọi sinh viên trường ĐHBK đều có bằng tú tài. Lan không có bằng tú tài. Do vậy, Lan không là sinh viên trường ĐHBK”. • “Lan” là một đối tượng cụ thể của “SV trường ĐHBK” – không thể đặc tả được “quan hệ” này trong mệnh đề được mà chỉ có thể là:
Giới thiệu (tt) • “LANlàsinhviêntrườngĐHBKthìLancóbằngtútài. Lankhôngcóbằngtútài. Dovậy, LankhônglàsinhviêntrườngĐHBK”. • Mệnhđềphảigiảiquyếtbằngcáchliệtkêtấtcảcáctrườnghợp Khôngkhảthi. • Dođó, chúngtacầnmộtLogickháchơnphéptoánmệnhđề là: PHÉP TOÁN VỊ TỪ
ĐỊNH NGHĨA • Vị từ là một phát biểu nói lên quan hệ giữa một đối tượng với các thuộc tính của nó hay quan hệ giữa các đối tượng với nhau. • Vị từ được biểu diễn bởi một tên được gọi là tên vị từ, theo sau nó là một danh sách các thông số.
ĐỊNH NGHĨA (tt) • Ví dụ: • Phát biểu: “Nam là sinh viên trường ĐHBK”. -> Biểu diễn: sv_bk(“Nam”). • Ý nghĩa: • Đối tượng tên là “Nam” có thuộc tính là “sinh viên trường ĐHBK”.
Cú pháp biễu diễn vị từ • Chúng ta có bao nhiêu cách biểu diễn đúng cú pháp cho phát biểu nói trên? Không biết bao nhiêu nhưng chắc chắn nhiều hơn 1 • Ví dụ: chúng ta có thể thay đổi các tên vị từ thành các tên khác nhau như: sinhvien_bk, sinhvien_bachkhoa, … Tất cả chúng đều đúng cú pháp.
Cú pháp biễu diễn vị từ (tt) • Khôngmôtảnhữngvịtừthừa, cóthểsuyratừmộttậpcácvịtừkhác. Hìnhthứcthừacũngtươngtựdư (thừa) dữliệukhithiếtkếCSDL. • Tênvịtừphảicótínhgợinhớ. Cụthể, trongvídụtrênchúngtacóthểbiểudiễnbởiq(“Nam”), nhưngrõràngcáchnàykhôngmấythânthiệnvàdễnhớ. Bạn có biết q(“Nam”) có nghĩa gì không?
Cú pháp biễu diễn vị từ (tt) • Dạng vị từ: tên_vị_từ (term1, term2, …, termn). • Tên vị từ: [a..z](a..z| A..Z| 0..9|_)* (Bắt đầu bởi một ký tự chữ thường). • Ví dụ: ban_than, banThan,bAN_THAN,… • Term có thể là: Hằng, Biến, Biểu thức hàm. • Hằng: có thể hằng chuỗi hay hằng số.
Cú pháp biễu diễn vị từ (tt) • Hằng chuỗi: [“](a..z| A..Z| 0..9|_)*[”] hay [a..z](a..z| A..Z| 0..9|_)* • Ví dụ: “Nam”, “nam”, “chuoi”, nam, chuoi, qua,… • Hằng số: (0..9)* • Ví dụ: 10, 32,..
Cú pháp biễu diễn vị từ (tt) • Biến: [A..Z](a..z| A..Z| 0..9|_)* • Ví dụ: Nguoi, NGUOI,.. • Biểu thức hàm có dạng: tên_hàm(term1, term2, …, termk). Trong đó: • Tên hàm = [a..z ](a..z| A..Z| 0..9|_)*
Biểuthứcvịtừ • Biểu thức Vị từ: là sự kết hợp của các vị từ bởi các phép toán vị từ. • Các phép toán: Phủ định - một ngôi. X Với mọi - một ngôi X Tồn tại - một ngôi ^ Hội - hai ngôi. v Tuyển - hai ngôi. => Kéo theo (Suy ra)- hai ngôi. <=> Tương đương - hai ngôi. Ưutiên
Biểu thức vị từ chuẩn • Biểu thức vị từ chuẩn được ký hiệu wff (well-formed formula). • Biểu thức cơ bản: Có thể là một vị từ , một đại diện trị TRUE hay FALSE. • Một biểu thức đúng cú pháp được định nghĩa như sau: • Wff = “Biểu thức cơ bản” | wff | wff ^ wff | wff v wff | wff=>wff | wff= wff | (wff) | X wff | X wff. Với: X: Là một biến.: Lượng từ với mọi. : Lượng từ tồn tại.
LƯỢNG TỪ • Giảsửchúngtacó: Namlàhọcsinhkhá. Lanlàhọcsinhtrungbình. Maihọcsinhkhá. • Xéttập:D = [Nam, Lan, Mai] • Gọip(X)chobiết: “Xlàhọcsinhkhá”tacócácvịtừ: • p(“Nam”): trịlàT. • p(“Lan”): trịlàF. • p(“Mai”): trịlàT.
LƯỢNG TỪ (tt) • Lượng từ tồn tại: • Xét mệnh đề p(“Nam”) v p(“Lan”) v p(“Mai”) • Có thể biểu diễn bằng vị từ: XD: p(X). (Tồn tại X thuộc tập D, mà X là học sinh khá). • Lượng từ với mọi: • Xét mệnh đề: p(“Nam”) ^ p(“Lan”) ^ p(“Mai”) • Có thể biểu diễn bằng vị từ: X D: p(X). (Mọi X thuộc tập D đều là học sinh khá).
Biểu diễn thế giới thực • Chuyểncáccâusausangbiểuthứcvịtừ: • “MọisinhviêntrườngĐHBKđềucóbằngtútài. • Lankhôngcóbằngtútài. • Dovậy, LankhônglàsinhviêntrườngĐHBK”. • sv_bk(X) chobiết: “XlàsinhviêntrườngDHBK”. • tu_tai(X) chobiết: “Xcóbằngtútài” • Cáccâutrênđượcchuyểnquavịtừlà: • X(sv_bk(X) => tu_tai(X)). • tu_tai(“Lan”). • Do vậy, sv_bk(“Lan”).
Biểu diễn thế giới thực (tt) • “Chỉ vài sinh viên máy tính lập trình tốt”. Với: • sv_mt(X): “X là sinh viên máy tính”. • laptrinh_tot(X): “X lập trình tốt”. • Câu trên chuyển sang vị từ là: X(sv_mt(X) ^ laptrinh_tot(X))
Biểu diễn thế giới thực (tt) • “Không một sinh viên máy tính nào không cần cù”. Với: sv_mt(X): “X là sinh viên máy tính”. • can_cu(X): “X cần cù”. • Câu trên chuyển sang là: X (sv_mt(X) => can_cu(X)).
Biểu diễn thế giới thực (tt) • “Không phải tất cả các sinh viên máy tính đều thông minh”. Với: • thong_minh(X): “X thông minh”. • Câu trên chuyển sang là: X(sv_mt(X) ^ thong_minh(X)).
Ngữ nghĩa • Vấn đề: Nếu chúng ta có biểu thức sau: XY p(X,Y). Chúng ta hiểu như thế nào? -> Cần sự diễn dịch. • Cách hiểu 1: • X, Y: là con người. • p(X,Y) cho biết : “X là cha của Y”. • Do vậy: XY p(X,Y) có thể hiểu là: “Mọi người X, tồn tại người Y để X là cha của Y” -> wff = XY p(X,Y) có trị là F (sai)
Ngữ nghĩa (tt) • Cách hiểu 2: • X, Y: là con người. • p(X,Y) cho biết : “Y là cha của X”. • Do vậy: XY p(X,Y) có thể hiểu là: • “Mọi người X, tồn tại người Y là cha của X”. -> wff = XY p(X,Y) có trị là T (đúng).
Ngữ nghĩa (tt) • Cách hiểu 3: • X, Y: là số nguyên. • p(X,Y) cho biết : “Y bằng bình phương của X”. -> wff = XY p(X,Y) có trị là T (đúng).
Ngữ nghĩa (tt) • D: là tập con người; X, Y: là con người. • P(X,Y) cho biết : “Y là cha của X” • Do vậy: XY P(X,Y) có thể hiểu là: “Mọi người X, tồn tại người Y là cha của X” -> wff = XY p(X,Y) có trị là T (đúng)
Ngữ nghĩa (tt) • Diễn dịch gồm: - Tập D, không rỗng, miền diễn dịch. - Các phép gán: • Vị từ: Quan hệ trên D. • Hàm: Hàm (ánh xạ) trên D. • Biến tự do: Một trị trên D, cùng một trị cho các xuất hiện. • Hằng: Một trị trên D, cùng một trị cho các xuất hiện.
Ngữ nghĩa (tt) • Ngữ nghĩa: Có diễn dịch trên miền D của wff. • Wff không có lượng từ: Ngữ nghĩa = trị sự thật (True|False) của wff khi áp dụng diễn dịch. • Wff có lượng từ: X Wff là T, nếu Wff(X/d) là T cho một d thuộc D ngược lại X Wff là F. X Wff là T, nếu Wff(X/d) là T cho mọi d thuộc D ngược lại X Wff là F.
Vị từ tương đương • Vị từ tương đương của mệnh đề: Nếu chúng ta thay thế các mệnh đề bởi các biểu thức vị từ, các mệnh đề cùng tên thì được thay cùng một biểu thức vị từ, thì được một tương đương của vị từ. • Ví dụ: • Mệnh đề: (P => Q) (P v Q) • Vị từ: P bởi: X Y P(X,Y), Q bời: Q(X). Tương đương: (X Y P(X,Y) => Q(X)) ((XY P(X,Y)) v Q(X))
Vị từ tương đương (2) • Lượng từ: (X Wff) X(Wff) (X Wff) X(Wff) • Tương đương có ràng buộc: Sau đây: Y: biến, W(X): wff có chứa biến X, C là wff không chứa X Ràng buộc: Y không xuất hiện trong W(X) Tương đương: • X W(X) Y W(Y) • X W(X) Y W(Y)
Vị từ tương đương (3) • Dạng tuyển: • C v XA(X) X(C v A(X)) • C v XA(X) X(C v A(X)) • Dạng hội: • C ^ XA(X) X(C ^ A(X)) • C ^ XA(X) X(C ^ A(X))
Vị từ tương đương (4) • Dạng kéo theo (suy ra): • C => XA(X) X(C => A(X)) • C => XA(X) X(C => A(X)) • XA(X) => C X(A(X) => C) • XA(X) => C X(A(X) => C)
Chương trình tư vấn tài chính • Hoạt động của chương trình là trợ giúp người dùng trong việc quyết định có nên đầu tư vào một tài khoản tiết kiệm hay thị trường chứng khoán hay không. • Một số nhà đầu tư cũng có thể muốn phân bổ số tiền của họ thành hai khoản. • Việc đầu tư sẽ được gợi ý cho những nhà đầu tư dựa trên thu nhập của họ và số tiền hiện tại mà họ đã có trong tài khoản tiết kiệm. • Hệ làm việc theo các quy tắc sau :
Chương trình tư vấn tài chính (2) • Các cá nhân không đủ tiền tiết kiệm cần ưu tiên tăng tiền tiết kiệm, bất kể thu nhập là bao nhiêu. • Các cá nhân có đủ tiền tiết kiệm và đủ thu nhập nên xem xét việc đầu tư mạo hiểm hơn nhưng có khả năng đem lại lợi nhuận hơn vào thị trường chứng khoán. • Các cá nhân với thu nhập thấp nhưng đủ tiền tiết kiệm có thể chia phần thu nhập thêm vào tiết kiệm và chứng khoán, nhằm làm tăng số tiền tiết kiệm trong khi vẫn muốn tăng thu nhập thông qua chứng khoán.
Chương trình tư vấn tài chính (3) • Sự tương xứng giữa tiền tiết kiệm và thu nhập được xác định bởi số thành viên gia đình mà một cá nhân cần chu cấp. Quy tắc là: • Tiết kiệm đủ là 5000$/người phụ thuộc. • Thu nhập đủ 15000$ + (4000$/người phụ thuộc).
Chương trình tư vấn tài chính (4) Ta xây dựng hệ thống logic với các câu vị từ như sau: 1. savings_account(inadequate) => investment(saving) 2. savings_account(adequate) ^ income(adequate) => investment(stocks) 3. savings_account(adequate) ^ income(inadequate) => investment(combination)
Chương trình tư vấn tài chính (5) 4. X amount_saved(X) ^ Y(dependents(Y) ^ greater(X,minsavings(Y))) => savings_account(adequate) 5. X amount_saved(X) ^ Y(dependents(Y) ^ ¬greater(X,minsavings(Y))) => savings_account(inadequate) 6. X earning(X, steady) ^ Y(dependents(Y) ^ greater(X,minincome(Y))) => income(adequate)
Chương trình tư vấn tài chính (6) 7. X earning(X, steady) ^ Y(dependents(Y) ^ ¬greater(X,minincome(Y))) => income(inadequate) 8. X earning(X,unsteady) => income(inadequate) • Với: minsavings(X) = 5000 * X và: minincome(X) = 15000+(4000*X)
Chương trình tư vấn tài chính (7) • Để thực hiện một phiên tư vấn, thông tin mô tả về một nhà đầu tư nào đó được bổ sung vào tập hợp các câu vị từ. Chẳng hạn một cá nhân với 3 thành viên phụ thuộc, có số tiền trong tài khoản tiết kiệm là 22.000$ và có thu nhập ổn định là 25.000$ sẽ được mô tả như sau : • 9. amount_saved(22000) • 10. earnings(25000,steady) • 11. dependents(3) • Sử dụng phép hợp nhất và modus ponens, một chiến lược đầu tư đúng đắn người này có thể được rút ra như là một hệ quả logic từ những mô tả này:
Chương trình tư vấn tài chính (8) • Hợp giải (10), (11) với (7) bằng đối sánh {25000/X, 3/Y}, ta có : • 12. income(inadequate) • Hợp giải (9), (11) với (4) bằng đối sánh {22000/X, 3/Y}, ta có : • 13. savings_account(adequate) • Hợp giải (12), (13) với (3) được: investment (combination) • Như vậy hình thức đầu tư được tư vấn từ hệ là kết hợp cả việc gởi tiền vào tài khoản tiết kiệm và đầu tư vào chứng khoán.
Bài tập 1 Bài 1: Jane có bốn thành viên gia đình phụ thuộc, thu nhập bằng lương hàng tháng là 30.000$ và tài khoản tiết kiệm của cô ta là 20.000$. Hãy đưa ra các vị từ thích hợp mô tả tình trạng tài chính của Jane cho chương trình tư vấn tài chính và tiến hành các phép hợp nhất, suy diễn cần thiết để xác định phương thức đầu tư thích hợp cho cô ta.
Bài tập 2 Bài 2: Chuyển các câu sau đây thành câu trong logic vị từ: a) Tất cả các con mèo đều là động vật. b) Không có con chó nào là loài bò sát. c) Tất cả các nhà khoa học máy tính đều thích một hệ điều hành nào đó. d) Mọi đứa trẻ đều thích Coca-cola. e) Không có đứa trẻ nào thích ăn rau. f) Một số người thích kẹo, một số khác thì không. g) Không có sinh viên nào học mà thi rớt môn này.
Bài tập 3 Bài 3: Cho một vấn đề được phát biểu như sau: i) John thích mọi loại thức ăn. ii) Táo là thức ăn. iii) Gà là thức ăn. iv) Tất cả mọi thứ ăn được mà sau khi ăn vẫn còn sống thì đó là thức ăn. v) Bill ăn đậu phộng và Bill vẫn còn sống. vi) Sue ăn mọi thứ mà Bill ăn. a) Hãy biểu diễn vấn đề trên theo logic vị từ. b) chứng minh “John thích đậu phộng”
Bài tập 4 Bài 4: “Tôi cưới một góa phụ (W), bà ta có một cô con gái đã lớn (D). • Cha tôi (F), người thường xuyên đến thăm chúng tôi đã phải lòng cô con riêng của vợ tôi và cưới cô ta. • Vì thế cha tôi trở thành con rể tôi và con ghẻ tôi trở thành mẹ tôi. • Vài tháng sau đó, vợ tôi sinh một đứa con trai (S1), nó trở thành em rể của bố tôi, cũng như trở thành chú tôi. • Vợ của bố tôi, tức là con ghẻ của tôi, cũng sinh một đứa con trai (S2).”
Bài tập 4 (tt) • Sử dụng phép tính vị từ, hãy tạo ra một tập hợp các biểu thức biểu diễn hoàn cảnh trong câu chuyện trên. • Hãy đưa ra các biểu thức định nghĩa các quan hệ gia đình cơ bản như định nghĩa bố vợ chẳng hạn, và sử dụng modus ponens trên hệ này để chứng minh kết luận “Tôi cũng chính là ông tôi”.
Ví dụ • Marcus là một người đàn ông. • Đàn_Ông(Marcus). • Marcus là người Pompei. • Pompei(Marcus) hay Dân_Tộc(Marcus, Pompei). • Tất cả người Pompei đều là người Roman. • x: Pompei(x) => Roman(x). • Caesar là một nhà cầm quyền. • Nhà_CQ(Caesar).
Ví dụ • Tất cả người Pompei hoặc trung thành với ông ta hoặc ghét ông ta. • x: Pompei)(x) => (Trung_thành(x,Caesar) V Ghét(x, Caesar)) • x: Pompei)(x) => (Trung_thành(x,Caesar) Λ˥Ghét(x, Caesar)) V (˥Trung_thành(x,Caesar) Λ Ghét(x, Caesar)). • Mỗi người đều trung thành với một người nào đó. • x: Người(x) => y: Người(y) Λ Trung_thành(x,y). • x y: Người(x) => Người(y) Λ Trung_thành(x,y).
Ví dụ • Người ta chỉ muốn ám sát nhà cầm quyền mà người ta không trung thành. • x y: Người(x) Λ Muốn_AS(x,y) => Nhà_CQ(y) Λ˥Trung_thành(x,y) • Người ta muốn ám sát nhà cầm quyền mà người ta không trung thành. • x y: Người(x) Λ Nhà_CQ(y) Λ˥Trung_thành(x,y) => Muốn_AS(x,y) • Macus muốn ám sát Caesar. • Muốn_AS(Marcus, Caesar) • Tất cả người Pompei đều chết khi núi lửa bùng phát vào năm 79. • x: Pompei(x) => Chết(x,79).
Bài tập • Tất cả sinh viên học môn TTNT đều thi đậu. • Không có sinh viên nào thích môn nhàm chán. • Có một sinh viên học môn triết nhưng thi rớt. • Mọi sinh viên đều thích học các môn do những người có học vị tiến sỹ dạy. • Nơi sinh của một người là nơi mà người đó sinh ra. • Một người mà bố hoặc mẹ là công dân Việt nam thì cũng là công dân Việt nam. • Một công dân Việt nam không thể là một công dân của một nước khác nữa.