Professional Documents
Culture Documents
Midterm CTRR
Midterm CTRR
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
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
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)
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
∨phép logic or
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
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.
Vậy tập D= {123} chỉ còn 1 phần là đáp ứng toàn bộ yêu cầu
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.”
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:
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
-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
+ Triangle(D8): đúng
Vậy Red(D8) ∧ Triangle(D8) đúng
Vậy khẳng định ∃x such that Red(x) ∧ Triangle(x) đúng.
Với x là F1:
+Square(F1): đúng (Dựa vào Tarski’s world)
20
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
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:
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
Ta có :
𝑎≡ 𝑝 ∧ 𝑟 ≡ ( 𝑝 ∨𝑟 ) 𝐷𝑒 𝑚𝑜𝑟𝑔𝑎𝑛𝑙𝑎𝑤
≡ ( 𝑝 →𝑟 ) 𝑖𝑓 𝑡h𝑒𝑛 𝑙𝑎𝑤
Symbolic form:
(𝑝 → 𝑟 )
“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:
𝑝→ 𝑟
ở đâ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)
If abcd % 3 = 2
o ~ (p ∨ ~ (q ∧ r)) ∧ ~ (~q ∨ (p ∨ q)) ≡ (r ∧ q) ∧ ~ (q ∨ p)
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.
𝑉𝑃 =( 𝑟 ∧𝑞 ) ∧ ( 𝑞 ∨𝑝 )
𝑉𝑇 = ( 𝑝 ∨ ( 𝑞 ∧𝑟 ) ) ∧ ( 𝑞 ∨ ( 𝑝 ∨ 𝑞 ) )
≡∼ ( 𝑝 ∨∼ ( 𝑞 ∧𝑟 ) ∨ 𝑞 ∨ ( 𝑝 ∨ 𝑞 ) ) 𝐷𝑒 𝑚𝑜𝑟𝑔𝑎𝑛𝑙𝑎𝑤𝑠
≡∼ ( ( 𝑝 ∨𝑝 ) ∨∼ ( 𝑞 ∧𝑟 ) ∨ 𝑞 ∨ 𝑞 ) 𝐴𝑠𝑠𝑜𝑐𝑖𝑎𝑡𝑖𝑣𝑒 𝑙𝑎𝑤𝑠
≡∼ ( ( 𝑝 ∨𝑝 ) ∨ ( ∼𝑞 ∨∼ 𝑟 ) ∨ 𝑞 ∨ 𝑞 ) 𝐷𝑒 𝑚𝑜𝑟𝑔𝑎𝑛𝑙𝑎𝑤𝑠
≡∼ ( ( 𝑝 ∨𝑝 ) ∨ ( ∼𝑞 ∨∼ 𝑞 ) ∨ (∼ 𝑟 ∨ 𝑞 ) ) 𝐴𝑠𝑠𝑜𝑐𝑖𝑎𝑡𝑖𝑣𝑒 𝑙𝑎𝑤𝑠
≡∼ (𝑝 ∨ 𝑞 ∨∼ 𝑟 ∨𝑞 ) 𝐼𝑑𝑒𝑚𝑝𝑜𝑡𝑒𝑛𝑡 𝑙𝑎𝑤𝑠
≡ ( ( 𝑝 ∨𝑞 ) ∨ (∼ 𝑟 ∨ ∼ 𝑞 ) ) 𝐶𝑜𝑚𝑚𝑢𝑡𝑎𝑡𝑖𝑣𝑒 𝑙𝑎𝑤𝑠
≡ ( 𝑝 ∨𝑞 ) ∧ ( 𝑟 ∧𝑞 ) 𝐷𝑒 𝑚𝑜𝑟𝑔𝑎𝑛 𝑙𝑎𝑤𝑠
≡ (𝑟 ∧ 𝑞 ) ∧ ( 𝑞 ∨𝑝 ) 𝐶𝑜𝑚𝑚𝑢𝑡𝑎𝑡𝑖𝑣𝑒𝑙𝑎𝑤𝑠
27
≡𝑉𝑃
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).
Ở đâ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.
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
Bảng debug:
Bảng sẽ trỏ tới món ăn Ấn Độ để tìm giá trị.
33
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
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.
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ả :
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}.
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ả:
https://www.swi-prolog.org/man/quickstart.html