Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 43

1

TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM TRƯỜNG ĐẠI HỌC TÔN ĐỨC
THẮNG KHOA CÔNG NGHỆ THÔNG TIN

BÀI TẬP BÁO CÁO GIỮA KÌ MÔN CẤU TRÚC RỜI RẠC

CẤU TRÚC RỜI RẠC

Người hướng dẫn: Th.s Huỳnh Trâm


Người thực hiện: Huỳnh Tấn Đạt
MSSV 52200152
Khoá : 26

THÀNH PHỐ HỒ CHÍ MINH, NĂM 2014


2

LỜI CẢM ƠN
Tôi muốn bày tỏ lòng biết ơn chân thành đối với sự giúp đỡ của Cô Trâm trong việc giải
quyết vấn đề của tôi liên quan đến bài báo cáo này. Cô đã dành thời gian và kiến thức của
mình để giải thích và hỗ trợ tôi trong việc hiểu và thực hiện quá trình này.
3

ĐỒ ÁN ĐƯỢC HOÀN THÀNH


TẠI TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG

Tôi xin cam đoan đây là sản phẩm đồ án của riêng tôi / chúng tôi và được sự hướng dẫn
của TS Nguyễn Văn A;. Các nội dung nghiên cứu, kết quả trong đề tài này là trung thực
và chưa công bố dưới bất kỳ hình thức nào trước đây. Những số liệu trong các bảng biểu
phục vụ cho việc phân tích, nhận xét, đánh giá được chính tác giả thu thập từ các nguồn
khác nhau có ghi rõ trong phần tài liệu tham khảo.
Ngoài ra, trong đồ án còn sử dụng một số nhận xét, đánh giá cũng như số liệu của các tác
giả khác, cơ quan tổ chức khác đều có trích dẫn và chú thích nguồn gốc.
Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm về nội dung
đồ án của mình. Trường đại học Tôn Đức Thắng không liên quan đến những vi phạm tác
quyền, bản quyền do tôi gây ra trong quá trình thực hiện (nếu có).
TP. Hồ Chí Minh, ngày 13 tháng 4 năm 2024

Tác giả
(ký tên và ghi rõ họ tên)

Huỳnh Tấn Đạt


4

PHẦN XÁC NHẬN VÀ ĐÁNH GIÁ CỦA GIẢNG


VIÊN
Phần xác nhận của GV hướng dẫn
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________

Tp. Hồ Chí Minh, ngày tháng năm


(kí và ghi họ tên)
Phần đánh giá của GV chấm bài
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
Tp. Hồ Chí Minh, ngày tháng năm
(kí và ghi họ tên)
5

TÓM TẮT
Vấn đề nghiên cứu:
Các bài toán yêu cầu tìm ra lời giải thông qua tư duy logic và các khái niệm nền tảng của
chương 1 môn cấu trúc rời rạc
Hướng tiếp cận:
Tiếp cận các bài toán từ thục tế như suy luận tìm mật khẩu hay đến các bài toán phức tạp
hơn chứng minh tính đúng sai của mệnh đề nhờ vào các quy luật logic đã học.
Kết quả đạt được:
Giải được các bài toán nhờ vào logic và các khái niệm liên quan
6

MỤC LỤC
LỜI CẢM ƠN..................................................................................................................................2
PHẦN XÁC NHẬN VÀ ĐÁNH GIÁ CỦA GIẢNG VIÊN...........................................................4
TÓM TẮT........................................................................................................................................5
DANH MỤC KÍ HIỆU VÀ CHỮ VIẾT TẮT CÁC KÝ HIỆU......................................................7
Chương 1:........................................................................................................................................8
Câu 1:...........................................................................................................................................8
Câu 2:.........................................................................................................................................10
Câu 3:.........................................................................................................................................15
Chương 2:......................................................................................................................................15
Câu 4:.........................................................................................................................................15
Câu 5:.........................................................................................................................................22
Câu 6:.........................................................................................................................................24
Chương 3:......................................................................................................................................26
Câu 7..........................................................................................................................................26
TÀI LIỆU THAM KHẢO.............................................................................................................42
7

DANH MỤC KÍ HIỆU VÀ CHỮ VIẾT TẮT CÁC KÝ


HIỆU

≡Phép tương đương

∧phép logic and

∨phép logic or

phép phủ định


8

→phép kéo theo 1 chiều

Chương 1:
Câu 1:
Đặt mật khẩu có 3 ký tự là : abc
a, b, c sẽ lần lượt là các ký tự số từ 1 đến 9 với đôi 1 khác nhau
9

Vậy ta có tập số nghi vấn Q = {1,2,3,4,5,6,7,8,9}


Ta sẽ có tập X ={} sẽ chứa các ký tự số là nằm trong mật khẩu

Xét câu e) 956 : tất cả các số đều sai :


Vậy tập Q lúc này còn lại 6 số : {1,2,3,4,7,8}

Xét câu a) “472 : 1 số đúng nhưng sai vị trí" và câu c)” 483 : 1 số đúng và đúng vị trí"
ta thấy ở cả câu a) và câu c) số 4 ở cùng 1 vị trí nên ta có thể loại số này vì một số không
thể đã đúng mà còn vừa đúng vị trí vừa sai vị trí được. Vậy số 4 sẽ không phải là số cần
tìm Tập Q lúc này còn 5 số: {1, 2, 3, 7, 8}

xét câu b) “581: 1 số đúng nhưng sai vị trí” và câu c) “483: 1 số đúng và đúng vị trí”
số 5 ở câu b và số 4 ở câu c đã bị loại ra khỏi tập số Q nên ta bỏ qua chúng .
Xét thấy số 8 ở cả 2 đều ở cùng 1 vị trí nên ta có thể loại số này vì một số không thể đã
đúng mà còn vừa đúng vị trí vừa sai vị trí được .Vậy ta loại số 8 khỏi tập Q
Lúc này Q = {1,2,3,7}. Vậy số đúng ở câu b sẽ là 1 và số đúng ở câu c sẽ là 3.
Thêm 1 và 3 vào tập ký tự mật khẩu X .
X = {1,3}.
Loại 1 và 3 ra khỏi tập nghi vấn Q.
Q = {2,7}

Xét câu d “317: 2 số đúng nhưng sai vị trí” xét tập ký tự mật khẩu ta thấy 1 và 3 đúng .
Vậy ta loại số 7 khỏi tập nghi vấn .
Q = {2}
Xét câu a “472: 1 số đúng nhưng sai vị trí” ta thấy 4 và 7 đã bị loại khỏi tập nghi vấn Q
vậy số còn lại là số đúng chắc chắn là số 2 . Thêm 2 vào trong tập ký tự mật khẩu X.
10

X = {1,2,3}. Lúc này đã đủ 3 ký tự ta xem xét vị trí của 3 ký tự để tìm ra mật khẩu chính
xác.

D là tập hợp số sau khi hoán đổi vị trí 3 ký tự số trong tập X.


D = {123, 132, 213, 231, 312, 321}
Ở câu c ”483: 1 số đúng và đúng vị trí” ta đã biết được số 3 đúng.
Vậy 3 sẽ đứng ở vị trí cuối trong mật khẩu.
Vậy tập D sẽ chỉ còn lại các số có ký tự số 3 ở cuối.
D = {123, 213}

Ở câu d”317: 2 số đúng nhưng đều sai vị trí”.


Ta đã biết 2 số đúng là 1 và 3 trong đó :
+Số 1 đứng giữa là sai vị trí
+số 3 phải đứng cuối (ta đã chứng minh ở trên)
Vậy số 1 ở đây chỉ còn 1 vị trí duy nhất là đứng đầu.

Vậy tập D= {123} chỉ còn 1 phần là đáp ứng toàn bộ yêu cầu

Như vậy mật khẩu mà hacker cần biết sẽ là : 123


11

Câu 2:
a) “If a man, holding a belief which he was taught in childhood or persuaded of
afterwards, keeps down and pushes away any doubts which arise about it in his mind,
purposely avoids the reading of books and the company of men that call in question or
discuss it, and regards as impious those questions which cannot easily be asked without
disturbing it - the life of that man is one long sin against mankind.”
Đặt :
b = ” holding a belief which he was taught in childhood”
c = “persuaded of afterwards”
d = “keeps down”
e = “pushes away any doubts which arise about it in his mind”
f = “purposely avoids the reading of books”
g = “the company of men that call in question”
h = “discuss it”
i = “ regards as impious those questions which cannot easily be asked without disturbing
it”
j = “the life of that man is one long sin against mankind.”
Conditional-form:
( 𝑏 ∨𝑐 ) ∧ 𝑑 ∧ 𝑒∧ 𝑓 ∧ ( 𝑔 ∨ h ) ∧ 𝑖→ 𝑗

Converse:
+ 𝑗 → ( 𝑏∨ 𝑐 ) ∧ 𝑑 ∧𝑒∧ 𝑓 ∧ ( 𝑔 ∨h ) ∧𝑖
+Rewrite: “If the life of a man is one long sin against mankind then that man, holding a
belief which he was taught in childhood or persuaded of afterwards, keeps down and
pushes away any doubts which arise about it in his mind, purposely avoids the reading of
books and the company of men that call in question or discuss it, and regards as impious
those questions which cannot easily be asked without disturbing it ”
12

Inverse:

+ 𝑗 →∼ ( ( 𝑏∨ 𝑐 ) ∧ 𝑑 ∧𝑒∧ 𝑓 ∧ ( 𝑔 ∨h ) ∧𝑖 )
≡ ( 𝑏 ∨ 𝑐 ) ∨ 𝑑 ∨ 𝑒∨ 𝑓 ∨ ( 𝑔 ∨ h ) ∨ 𝑖 𝐷𝑒 𝑚𝑜𝑟𝑔𝑎𝑛 𝑙𝑎𝑤

≡ ( 𝑏 ∧ 𝑐 ) ∨ 𝑑 ∨ 𝑒∨ 𝑓 ∨ ( 𝑔 ∧ h ) ∨ 𝑖 𝐷𝑒 𝑚𝑜𝑟𝑔𝑎𝑛 𝑙𝑎𝑤

+ Rewrite:” If the life of a man isn’t one long sin against mankind then that man, doesn’t
hold a belief which he was taught in childhood and wasn’t persuaded of afterwards or
doesn’t keep down or doesn’t push away any doubts which arise about it in his mind or
doesn't purposely avoid the reading of books or the company of men that doesn’t call in
question and discuss it or doesn’t regard as impious those questions which cannot easily
be asked without disturbing it”

b) “If existing agricultural knowledge were everywhere applied, the planet could feed
twice its present population.”

Đặt: p là “ existing agricultural knowledge were everywhere applied”


q là “the planet could feed twice its present population”
conditional statement :
p -> q
Converse (Đảo):
+ q -> p
+ Rewrite: “If the planet could feed twice its present population, existing agricultural
knowledge were everywhere applied ”

Inverse (Nghịch đảo):


+ ~p -> ~q
+ Rewrite:: “If existing agricultural knowledge were not everywhere applied, the planet
couldn’t feed twice its present population.”
13

Contrapositive (Phản đảo):


+ ~q -> ~p
+ Rewrite:: “If the planet couldn’t feed twice its present population, existing agricultural
knowledge were not everywhere applied.”

Non-conditional-form negation (Phủ định của dạng không điều kiện):


_Non-conditional-form:
+𝑝 → 𝑞 ≡ 𝑝 ∨𝑞 ( 𝑖𝑓 𝑡h𝑒𝑛 𝑙𝑎𝑤 )
_Non-conditional-form negation:

+ ∼ ( 𝑝 ∨ 𝑞 ) ≡ ( ∼ ( ∼ 𝑝 ) ∧∼ 𝑞 ) 𝑑𝑒 𝑚𝑜𝑟𝑔𝑎𝑛≡ ( 𝑝 ∧∼ 𝑞 ) 𝑑𝑜𝑢𝑏𝑙𝑒 𝑛𝑒𝑔𝑎𝑡𝑖𝑜𝑛

+ Natural language: “Existing agricultural knowledge were everywhere


applied or the planet couldn’t feed twice its present population”

c. “But even if the initial colonists had consisted of only 100 people and their numbers
had increased at a rate of only 1.1 percent per year, the colonists' descendants would have
reached that population ceiling of 10 million people within a thousand years.”
Đặt : p = “The initial colonists had consisted of only 100 people and their numbers had
increased at a rate of only 1.1 percent per year”
q = “The colonists' descendants would have reached that population ceiling of 10
million people within a thousand years”

Converse:
+𝑞 → 𝑝
+ Rewrite:: “If The colonists' descendants would have reached that population
ceiling of 10 million people within a thousand years then the initial colonists had
consisted of only 100 people and their numbers had increased at a rate of only 1.1 percent
per year”
14

Inverse:
+ 𝑝→ 𝑞
+ Rewrite:: “If the initial colonists had not consisted of only 100 people and their
numbers had increased at a rate of only 1.1 percent per year then the colonists'
descendants wouldn’t have reached that population ceiling of 10 million people within a
thousand years ”
Contrappositive:
+ 𝑞→ 𝑝
+ Rewrite: : ”If The colonists' descendants wouldn’t have reached that population ceiling
of 10 million people within a thousand years then the initial colonists hadn’t consisted of
only 100 people and their numbers had increased at a rate of only 1.1 percent per year”

Non-coditonal-form:
+𝑝 → 𝑞 ≡ 𝑝 ∨𝑞 ( 𝑖𝑓 𝑡h𝑒𝑛 𝑙𝑎𝑤 )
Non-coditional-form Negation:
+ ( 𝑝 ∨ 𝑞 ) ≡𝑝 ∧ 𝑞 ( 𝐷𝑒 𝑚𝑜𝑟𝑔𝑎𝑛 𝑙𝑎𝑤 )
+ Rewrite: ” The initial colonists had consisted of only 100 people and their numbers had
increased at a rate of only 1.1 percent per year or the colonists' descendants wouldn’t
have reached that population ceiling of 10 million people within a thousand years ”

d.” If anyone looked out of their window now, even beady-eyed Mrs. Dursley, they
wouldn’t be able to see anything that was happening down on the pavement.”
Đặt : p = “anyone looked out of their window now, “even beady-eyed Mrs. Dursley”

q = “they wouldn’t be able to see anything that was happening down on the
pavement”
Conditional-form :
𝑝→𝑞

Converse:
15

+𝑞 → 𝑝
+ Rewrite: ”If they wouldn’t be able to see anything that was happening down on the
pavement then anyone looked out of their window now ,even beady-eyed Mrs. Dursley”

Inverse:
+ 𝑝→ 𝑞
+ Rewrite: ”If anyone didn’t look out of their window now , even beady-eyed Mrs.
Dursley then they would be able to see anything that was happening down on the
pavement.”

Non-coditonal-form:
+𝑝 → 𝑞 ≡ ( ∼𝑝 ∨𝑞 ) ( 𝑖𝑓 𝑡h𝑒𝑛 𝑙𝑎𝑤 )
Non-codintional-form Negation:
+ ( ∼𝑝 ∨ 𝑞 ) ≡ ( 𝑝 ∧ 𝑞 ) ( 𝑑𝑒𝑚𝑜𝑟𝑔𝑎𝑛 𝑙𝑎𝑤 )
+Rewrite :” Anyone looked out of their window now, even beady-eyed Mrs. Dursley and
they would be able to see anything that was happening down on the pavement.”

Câu 3:

Chương 2:
Cho 4 số abcd là 4 số cuối của mã sinh viên.
Vậy với mã số sinh viên của em là 52200152 thì tương ứng số abcd = 0152
16

Câu 4:

Modify the above Tarski's world as follows:

 If abcd % 7 = 0 then add a red square in A5.


 If abcd % 7 = 1 then add a green triangle in F3.
 If abcd % 7 = 2 then delete the item at G7.
 If abcd % 7 = 3 then delete the item at H5.
 If abcd % 7 = 4 then change the item at E4 into an orange square.
 If abcd % 7 = 5 then change the item at E5 into a green circle.
 If abcd % 7 = 6 then change the item at E6 into a red triangle.

Với : abcd = 0152


Vậy 0152 % 7 = 5
Ta đổi màu phần tử tại E5 thành hình tròn màu xanh lá
Vẽ lại Tarski’s world:
17

b) Determine the truth or falsity of all the following statements, based on the modified
Tarski's world. Give the reasons for your justification.
i. ∀x, Circle(x) → Green(x):
Xét khẳng định ∀x, Circle(x) → Green(x) :
vì ∃x such that Circle(x) -> ~Green(x) đúng
Với x ở đây có thể là D2:
+ ∃x such that Circle(D2) → Red(D2) (Dựa vào Tarksi’s world)
Vậy ∀x, Circle(x) → Green(x) Sai

ii. ∀x, Triangle(x) → ~Orange(x)


Xét khẳng định ∀x, Triangle(x) → ~Orange(x):
Ta có:
( ∀ 𝑥 , 𝑇𝑟𝑖𝑎𝑛𝑔𝑙𝑒 ( 𝑥 ) → 𝑂𝑟𝑎𝑛𝑔𝑒 ( 𝑥 ) ) ≡ ∃ 𝑥 , ( 𝑇𝑟𝑖𝑎𝑛𝑔𝑙𝑒 ( 𝑥 ) ∨ 𝑂𝑟𝑎𝑛𝑔𝑒 ( 𝑥 )) 𝑁𝑒𝑔𝑎𝑡𝑖𝑜𝑛𝑠 𝑜𝑓 𝑄𝑢𝑎𝑛𝑡𝑖𝑓𝑖𝑒𝑑 𝑆𝑡𝑎
≡∃ 𝑥 , ( 𝑇𝑟𝑖𝑎𝑛𝑔𝑙𝑒 ( 𝑥 ) ∧ 𝑂𝑟𝑎𝑛𝑔𝑒 ( 𝑥 ) ) 𝐷𝑒 𝑀𝑜𝑟𝑔𝑎𝑛 𝑙𝑎𝑤

Xét ∀x, Triangle(x):


với x lần lượt là A2, C2, D8, E4, H5 và quan sát Tarski’s world ta thấy:
-Triangle(A2) ∧ Orange(A2) :
+ Triangle(A2) đúng
+Orange(A2) Sai
+ Vậy Triangle(A2) ∧ Orange(A2) sai

-Triangle(C2) ∧ Orange(C2) :
+ Triangle(C2) đúng
18

+Orange(C2) Sai
+ Vậy Triangle(C2) ∧ Orange(C2) sai

-Triangle(D8) ∧ Orange(D8) :
+ Triangle(D8) đúng
+Orange(D8) Sai
+ Vậy Triangle(D8) ∧ Orange(D8) sai

-Triangle(E4) ∧ Orange(E4) :
+ Triangle(E4) đúng
+Orange(E4) Sai
+ Vậy Triangle(E4) ∧ Orange(E4) sai

-Triangle(H5) ∧ Orange(H5) :
+ Triangle(A2) đúng
+Orange(A2) Sai
+ Vậy Triangle(A2) ∧ Orange(A2) sai
Vậy ta thấy toàn bộ khẳng định trên đều sai nên ,∃x, (Triangle(x) ∧ Orange(x)) sai
Vì ∃x, (Triangle(x) ∧ Orange(x)) là phủ định của ∀x, Triangle(x) → ~Orange(x) sai ,
nên ∀x, Triangle(x) → ~Orange(x) là khẳng định đúng

iii. ∃x such that Red(x) ∧ Triangle(x) :


xét khẳng định ∃x such that Red(x) ∧ Triangle(x) :
Với x là D8, dựa vào Bảng Tar’ski world ta thấy:
+ Red(D8) : đúng
19

+ Triangle(D8): đúng
Vậy Red(D8) ∧ Triangle(D8) đúng
Vậy khẳng định ∃x such that Red(x) ∧ Triangle(x) đúng.

iv. ∃x such that ~Green(x) ∧ BelowOf(x, E4):


Ta có dạng tổng quát:
∃x ,~Green(x) ∧ BelowOf(x, E4):
Với x là F1:
+~Green(F1): đúng (Dựa vào Tarksi’s world)
+ BelowOf(F1, E4): đúng (Dựa vào Tarksi’s world)
Vậy ~Green(F1) ∧ BelowOf(F1, E4) đúng
Vậy ∃x such that ~Green(x) ∧ BelowOf(x, E4) đúng

v. ∀x, Square(x) → RightOf(E5, x).


Xét ∀x, Square(x) → RightOf(E5, x) :
ta có :
( ∀ 𝑥 , 𝑆𝑞𝑢𝑎𝑟𝑒 ( 𝑥 ) → 𝑅𝑖𝑔h𝑡𝑂𝑓 ( 𝐸 5 , 𝑥 ) ) ≡∃ 𝑥 , ( 𝑆𝑞𝑢𝑎𝑟𝑒 ( 𝑥 ) → 𝑅𝑖𝑔h𝑡𝑂𝑓 ( 𝐸5 , 𝑥 ) ) 𝑁𝑒𝑔𝑎𝑡𝑖𝑜𝑛𝑠𝑜𝑓𝑄𝑢𝑎𝑛𝑡𝑖𝑓𝑖𝑒𝑑
≡∃ 𝑥 , ( 𝑆𝑞𝑢𝑎𝑟𝑒 ( 𝑥 ) ∨ 𝑅𝑖𝑔h𝑡𝑂𝑓 ( 𝐸5 , 𝑥 ) ) 𝐼𝑓 − 𝑡h𝑒𝑛 𝑙𝑎𝑤

≡∃ 𝑥 , ( 𝑆𝑞𝑢𝑎𝑟𝑒 ( 𝑥 ) ∧ 𝑅𝑖𝑔h𝑡𝑂𝑓 ( 𝐸 5 , 𝑥 ) ) 𝐷𝑒 𝑚𝑜𝑟𝑔𝑎𝑛 𝑙𝑎𝑤

Với x là F1:
+Square(F1): đúng (Dựa vào Tarski’s world)
20

+~ RightOf(E5, F1): đúng (Dựa vào Tarski’s world)


Vậy Square(F1) ∧ ~RightOf(E5, F1) đúng nên ∃x , Square(x) ∧ RightOf(E5, F1) đúng.
Vì ∃x , Square(x) ∧ RightOf(E5, F1) là phủ định của ∀x, Square(x) → RightOf(E5, x)
nên
khẳng định ∀x, Square(x) → RightOf(E5, x) là

vi. ∃x such that AboveOf(E5, x) ∧ LeftOf(x, E5):


Xét khẳng định trên với x là D3:
+ Above(E5, D3): đúng (dựa vào Tarski’s world)
+ LeftOf(D3, E5) đúng (dựa vào Tarski’s world)
Vậy có một giá trị x thỏa mãn nên ∃x such that AboveOf(E5, x) ∧ LeftOf(x, E5) là một
khẳng định đúng

vii.There is a triangle x such that for all squares y, x is above y:


Ta viết lại khẳng định trên theo dạng tổng quát:
-∃ 𝑥 ,𝑇𝑟𝑖𝑎𝑛𝑔𝑙𝑒 ( 𝑥 ) → ∀ 𝑦 , 𝑆𝑞𝑢𝑎𝑟𝑒 ( 𝑦 ) ∧ 𝐴𝑏𝑜𝑣𝑒 ( 𝑥 , 𝑦 )
Xét mệnh đề tổng quát trên với x là A2 và ∀y ,Square(y) với y lần lượt là C7, D3, E6,
F1, G7. Dựa vào bảng Tarski’s world ta ra kết luận nhanh sau:
Triangle(A2) → Square(C7) ∧ Above(A2, C7): Đúng
Triangle(A2) → Square(D3) ∧ Above(A2, D3): Đúng
Triangle(A2) → Square(D3) ∧ Above(A2, D3): Đúng
Triangle(A2) → Square(D3) ∧ Above(A2, D3): Đúng
Triangle(A2) → Square(D3) ∧ Above(A2, D3): Đúng
Vậy có tồn tại một tam giác x mà tại đó nó nằm trên toàn bộ hình vuông.
Nên khẳng định “There is a triangle x such that for all squares y, x is above y” đúng
21

viii. For all circles x, there is a square y such that y is to the right of x:
Ta viết lại khẳng định trên theo dạng tổng quát:
- ∀ 𝑥 , 𝐶𝑖𝑟𝑐𝑙𝑒 ( 𝑥 ) ∧∃ 𝑦 , 𝑆𝑞𝑢𝑎𝑟𝑒 ( 𝑦 ) → 𝑅𝑖𝑔h𝑡𝑂𝑓 ( 𝑦 , 𝑥 )
Xét x là C9 thỏa mãn Circle(C9), với mọi y thỏa Square(y) , y lần lượt là C7, D3, E6, F1,
G7
Dựa vào Bảng Tarski’s world ta đưa ra kết luận sau:
Circle(C9) ∧ Square(C7) -> RightOf(C7,C9): sai
Circle(C9) ∧ Square(D3) -> RightOf(D3,C9): sai
Circle(C9) ∧ Square(E6) -> RightOf(E6,C9): sai
Circle(C9) ∧ Square(F1) -> RightOf(F1,C9): sai
Circle(C9) ∧ Square(G7) -> RightOf(G7,C9): sai

Ta thấy có một giá trị x mà tại đó không có hình vuông y nào nằm bên trái hình tròn x
này.
Vậy khẳng định “For all circles x, there is a square y such that y is to the right of x” sai

ix. There is a circle x and there is a square y such that y is below x:


Ta viết lại khẳng định trên theo dạng tổng quát:
∃ 𝑥 ,𝐶𝑖𝑟𝑐𝑙𝑒 ( 𝑥 ) ∧∃ 𝑦 , 𝑆𝑞𝑢𝑎𝑟𝑒 ( 𝑦 ) → 𝐵𝑒𝑙𝑜𝑤𝑂𝑓 ( 𝑦 , 𝑥 )

Xét x là C4 với C4 thỏa mãn Circle(C4), y là D3 với D3 thỏa mãn Square(D3):


Dựa vào bảng Tarski’s world ta có kết luận sau:
Circle(C4) ∧ Square(D3) -> BelowOf(D3, C4) đúng
Ta thấy có tồn tại một hình tròn x và một hình vuông y , trong đó y nằm dưới x
22

Vậy khẳng định “There is a circle x and there is a square y such that y is below x”
đúng

x. For all circles x and for all triangles y, x and y have the same color:

Đặt SameColor(x,y) có nghĩa là x có cùng màu với y


Ta viết lại khẳng định trên theo dạng tổng quát:
∀ 𝑥 , 𝐶𝑖𝑟𝑐𝑙𝑒 ( 𝑥 ) ∧ ∀ 𝑦 , 𝑇𝑟𝑖𝑎𝑛𝑔𝑙𝑒 ( 𝑦 ) → 𝑆𝑎𝑚𝑒𝐶𝑜𝑙𝑜𝑟 ( 𝑥 , 𝑦 )

Xét x là H2 với H2 thỏa Circle(H2) , y là A2 với A2 thỏa Triangle(A2):


Dựa vào Tarski’s world ta thấy:
+Orange(H2) đúng
+Green(A2) đúng
+2 hình không thể vừa giống màu và vừa khác màu
Vậy ta có kết luận:
Circle(H2) ∧ Green(A2) -> SameColor(H2, A2) Sai
Vậy có một hình tròn x và một hình tròn y không cùng màu.
Nên khẳng định “For all circles x and for all triangles y, x and y have the same color” là
sai

Câu 5:
Đặt:
p = “it is windy”;
23

q = “it is thundering”;
r = “it is raining”;
s = “it is lightning”
với abcd = 0152 % 2 = 0

Vậy các câu phải làm là:


a,d,e,g

a. It is windy but it isn’t raining.


cho a = “It is windy but it isn’t raining”
Hay “It is windy and it isn’t raining” (Logic connectives)

với q = “it is windy”;


r = “it is raining”;
vậy ~r = “it isn’t raining”

Ta có :
𝑎≡ 𝑝 ∧ 𝑟 ≡ ( 𝑝 ∨𝑟 ) 𝐷𝑒 𝑚𝑜𝑟𝑔𝑎𝑛𝑙𝑎𝑤

≡ ( 𝑝 →𝑟 ) 𝑖𝑓 𝑡h𝑒𝑛 𝑙𝑎𝑤

Symbolic form:
(𝑝 → 𝑟 )

d. Windiness is a necessary condition for rain.


24

“Windiness is a necessary condition for rain.” có nghĩa là “If it is not windy then it is not
raining” (Logic connectives)
Với: p = “it is windy”; r = “it is raining”; d= “If it is not windy then it is not raining”
Vậy :
~p = “it is not windy”; ~r = “it is not raining”
⇒ 𝑑 ≡ 𝑝 → 𝑟 ( 𝐿𝑜𝑔𝑖𝑐𝑐𝑜𝑛𝑛𝑒𝑐𝑡𝑖𝑣𝑒𝑠 )

Symbolic form:
𝑝→ 𝑟

f. Whenever it is lightning, it will be thundering.


Cho f = “Whenever it is lightning, it will be thundering” hay còn có cách viết khác là
“If it is lightning then it is thundering.” (Logic connectives)
Vậy ta có thể tách câu này ra như sau:
s = “it is lightning”;
q = “it is thundering”;
Vậy sympolic form:
if s then q : s -> q

g. The necessary and sufficient condition for thundering is lightning.

cho g = “The necessary and sufficient condition for thundering is lightning”


ta có thể viết lại câu này như sau “The necessary for thundering is lightning and
sufficient condition for thundering is lightning”
hay
“if it is lightning then it is thundering and if it is lightning then it is thundering”
(Logic connectives)
25

ở đây ta thấy 2 vế trước và sau “and” giống nhau . Như vậy ta có thể đơn giản bớt 1 vế
thì nghĩa cũng sẽ không thay đổi. (Idempotent laws)
vậy g = “if it is lightning then it is thundering” .
với q = “it is thundering”;
s = “it is lightning”
Vậy sympolic form:
if s then q : s -> q

Câu 6: Let p, q, r be statement variables. Prove that the following pair of statements are
logically equivalent by 2 methods: (a) using truth table; and (b) using logical equivalence
laws.

 If abcd % 3 = 0
o ~ [(~ p ∧ ~ ~ q) ∨ ~ (p ∨ r)] ≡ (r ∨ p) ∧ (~ q ∨ p)
 If abcd % 3 = 1
o ~ [ (~ p ∨ q) ∨ ~ (p ∧ ~ (p ∨ q))] ≡ p ∧ ~ (p ∨ q)
 If abcd % 3 = 2
o ~ (p ∨ ~ (q ∧ r)) ∧ ~ (~q ∨ (p ∨ q)) ≡ (r ∧ q) ∧ ~ (q ∨ p)

với abcd = 0152% 3 = 2


vậy em sẽ phải làm:

 If abcd % 3 = 2
o ~ (p ∨ ~ (q ∧ r)) ∧ ~ (~q ∨ (p ∨ q)) ≡ (r ∧ q) ∧ ~ (q ∨ p)

(a) using truth table


p q r (p ~(p (q ~ (q ~ (p ∨ ~ ~ (~q ∨ (p ~ (p ∨ ~ (q ∧ r)) ∧
∨ ∨ ∧ ∧ r) (q ∧ r)) ∨ q)) ~ (~q ∨ (p ∨ q)) (r ∧ q)
26

q) q) r)
∧ ~ (q
∨ p)

0000 1 0 1 0 0 0 0
0010 1 0 1 0 0 0 0
0101 0 0 1 1 0 0 0
1001 0 0 1 0 1 0 0
1011 0 0 1 0 0 0 0
1101 0 0 1 0 0 0 0
1111 0 1 0 0 0 0 0

Ở đây, ta thấy rằng giá trị của cả biểu thức ~ (p ∨ ~ (q ∧ r)) ∧ ~ (~q ∨ (p ∨ q)) và biểu
thức (r ∧ q) ∧ ~ (q ∨ p) cho mọi hàng trong bảng chân trị là giống nhau , vì vậy chúng
tương đương logic.

(b) using logical equivalence laws.

o ~ (p ∨ ~ (q ∧ r)) ∧ ~ (~q ∨ (p ∨ q)) ≡ (r ∧ q) ∧ ~ (q ∨ p)

𝑉𝑃 =( 𝑟 ∧𝑞 ) ∧ ( 𝑞 ∨𝑝 )

𝑉𝑇 = ( 𝑝 ∨ ( 𝑞 ∧𝑟 ) ) ∧ ( 𝑞 ∨ ( 𝑝 ∨ 𝑞 ) )

≡∼ ( 𝑝 ∨∼ ( 𝑞 ∧𝑟 ) ∨ 𝑞 ∨ ( 𝑝 ∨ 𝑞 ) ) 𝐷𝑒 𝑚𝑜𝑟𝑔𝑎𝑛𝑙𝑎𝑤𝑠

≡∼ ( ( 𝑝 ∨𝑝 ) ∨∼ ( 𝑞 ∧𝑟 ) ∨ 𝑞 ∨ 𝑞 ) 𝐴𝑠𝑠𝑜𝑐𝑖𝑎𝑡𝑖𝑣𝑒 𝑙𝑎𝑤𝑠

≡∼ ( ( 𝑝 ∨𝑝 ) ∨ ( ∼𝑞 ∨∼ 𝑟 ) ∨ 𝑞 ∨ 𝑞 ) 𝐷𝑒 𝑚𝑜𝑟𝑔𝑎𝑛𝑙𝑎𝑤𝑠

≡∼ ( ( 𝑝 ∨𝑝 ) ∨ ( ∼𝑞 ∨∼ 𝑞 ) ∨ (∼ 𝑟 ∨ 𝑞 ) ) 𝐴𝑠𝑠𝑜𝑐𝑖𝑎𝑡𝑖𝑣𝑒 𝑙𝑎𝑤𝑠
≡∼ (𝑝 ∨ 𝑞 ∨∼ 𝑟 ∨𝑞 ) 𝐼𝑑𝑒𝑚𝑝𝑜𝑡𝑒𝑛𝑡 𝑙𝑎𝑤𝑠

≡ ( ( 𝑝 ∨𝑞 ) ∨ (∼ 𝑟 ∨ ∼ 𝑞 ) ) 𝐶𝑜𝑚𝑚𝑢𝑡𝑎𝑡𝑖𝑣𝑒 𝑙𝑎𝑤𝑠

≡ ( 𝑝 ∨𝑞 ) ∧ ( ∼ 𝑟 ∨∼𝑞 ) 𝐷𝑒 𝑚𝑜𝑟𝑔𝑎𝑛 𝑙𝑎𝑤𝑠

≡ ( 𝑝 ∨𝑞 ) ∧ ( 𝑟 ∧𝑞 ) 𝐷𝑒 𝑚𝑜𝑟𝑔𝑎𝑛 𝑙𝑎𝑤𝑠

≡ (𝑟 ∧ 𝑞 ) ∧ ( 𝑞 ∨𝑝 ) 𝐶𝑜𝑚𝑚𝑢𝑡𝑎𝑡𝑖𝑣𝑒𝑙𝑎𝑤𝑠
27

≡𝑉𝑃

Vậy VT và VP tương đương logic với nhau (chứng minh trên)

Chương 3:
Câu 7 Go to SWI-Prolog's website: http://www.swi-prolog.org/, download and install
SWI-Prolog.

a. Find and run the file {SWI-Prolog}\demo\likes.pl on your computer. Execute the
following queries and capture the results. Use debug mode to explain how to
calculate these results.

mild(dahl).
indian(X).
likes(sam, X).

mã lệnh trong file likes.pl có dạng như sau:

Giải thích mã lệnh:


indian() - Món ăn Ấn Độ gồm có : curry, dahl, tandoori, kurma.
mild() - Món ăn có hương vị nhẹ nhàng: dahl, tandoori, kurma.
28

Ở đây likes(Sam,Food) là cho ta biết sam thích món ăn mà nó vừa có nguồn gốc từ Ấn
Độ và hương vị nhẹ nhàng.

Thực hiện truy vấn:

Debug mode và giải thích:


để thể debug ta phải gõ lệnh trace.
29

sau đó tiến hành thực hiện truy vấn câu lệnh đầu tiên mild(dahl).

ngay lập tức sẽ có bảng diễn tả quá trình chạy câu lệnh theo từng bước
30

ở đây dòng màu xanh lá tô đậm có nghĩa là compiler đã tìm ra được mild() với đối số
truyền vào trùng khớp là dahl.
Ta ấn vào hình mũi tên hướng sang phải (nút next). Nằm trên thanh công cụ phía bên trái
31

compiler nhận được tín hiệu kết thúc ‘.’ vì vậy sau khi so khớp lệnh “mild(dahl)” truyền
vào khớp với lệnh “mild(dahl)” trong mã lệnh gốc của file likes.pl .Vì vậy kết quả trả ra
sẽ là true.
32

Ta tiếp tục debug với lệnh “indian(X).”:

Bảng debug:
Bảng sẽ trỏ tới món ăn Ấn Độ để tìm giá trị.
33

ta ấn nút next. Truy vấn sẽ đưa ra 1 kết quả X = curry.


34

Sau khi tìm món ăn Ấn Độ đầu tiên là curry, Ta nhấn nút ”;” để tiếp tục truy vấn. Trên
bảng debug ta tiếp tục nhấn nút next .Tiếp tục được trả về X = dahl.

Lặp lại nhấn nút ‘;’ và nút next trên bảng debug với các giá trị x sau đó.
35

Truy vấn này tìm cách tìm tất cả các giá trị của X sao cho X là món ăn Ấn Độ. Dựa trên
dữ kiện được cung cấp: indian(curry) là đúng.
indian(dahl) là đúng.
indian(tandoori) là đúng.
indian(kurma) là đúng.
Vì vậy, tập kết quả cho truy vấn này sẽ là {curry, dahl, tandoori, kurma}.

Lệnh likes(sam,X):

Bảng debug:
36

Compiler sẽ trỏ đến Likes(sam,Food), ở đó sẽ có 2 điều kiện .


indian(Food) và mild(Food). Nó sẽ tiến hành truy vấn các giá trị đã được cung cấp của
indian() và mild().
37

đầu tiên sẽ là điều kiện món Ấn


38

curry là giá trị đầu tiên, nó sẽ tiếp tục xem curry có thỏa mãn là món ăn hương vị nhẹ
nhàng không.
39

Rõ ràng mild() không hề chứa giá trị curry, vậy nên curry sẽ bị loại khỏi tập kết quả.
Ta tiếp tục truy vấn nhấn nút next.

Compiler sẽ kiểm tra món ăn tiếp theo là dahl . Nó là 1 món ăn Ấn Độ .


40

dahl cũng thỏa mãn là một món ăn nhẹ nhàng. Nó sẽ có trong tập kết quả :

Ta ấn nút “;” để tiếp tục truy vấn.


Tương tụ với các món ăn sau.Ta có tập kết quả sau :
41

Truy vấn này có một quy tắc liên quan đến nó. Theo quy định, Sam thích một món ăn
vừa có hương vị Ấn Độ vừa nhẹ nhàng. Vì vậy, Prolog sẽ cố gắng tìm các giá trị của X
mà các vị từ indian(X) và Mild(X) đều đúng. lượt thích (sam, Thức ăn) sẽ đúng nếu Thức
ăn là dahl, tandoori hoặc kurma vì chúng vừa mang tính Ấn Độ vừa nhẹ nhàng. Vì vậy,
tập kết quả cho truy vấn này sẽ là {dahl, tandoori, kurma}.

b Write file hello1.pl to print "Hello World". Capture the result:


Code:
42

Kết quả:

C Write a file hello2.pl that allows printing "Hello nam", with "nam" entered by the user.
Capture the result.

Code:
43

Kết quả:

TÀI LIỆU THAM KHẢO

-Giáo trình cấu trúc rời rạc :


https://drive.google.com/drive/u/1/folders/1IqhM48hPLNUp9V7bmPYQ0OaPm1KwfzD
u
- SWI-Prolog doc:

https://www.swi-prolog.org/man/quickstart.html

You might also like