chuong 1 ctrr part 1.pptx
TRANSCRIPT
CHƯƠNG 1
1
CƠ SƠ LOGIC
2
Nội dung
Logic mênh đê Các toán tử logic Ứng dụng của logic mênh đê vào ngành máy tính
Tương đương của các mênh đê
Logic vi từ
Quy luât suy diên Dung trong logic mênh đê Dung trong các phát biêu đinh lương
Các phương pháp chưng minh
3
LOGIC MỆNH ĐỀ
Propositional logics
4
Mênh đê là gì?(Proposition)
A proposition is a statement that is either true or false, but not both.
Ví dụ: Xét các câu sau:1. Paris là thủ đô của Canada2. 1+1 = 23. Bây giờ là mấy giờ?
4. “ Give me an A!” 5. x+1 = 2 Câu nào là mênh đê??
Propositional calculus (hay propositional logic): Ngành toán học liên quan đến mênh đê
5
Biến mênh đê
Biến mênh đê (Propositional variable/ statement variable) là các biến biêu diên các mênh đê
Thường đươc ký hiêu bằng các chữ cái p, q, r, s,..
Giá tri của mênh đê: true (T) và false (F)
6
Giá tri chân lý của mênh đê
Tính đúng hoặc sai của một mênh đê đươc gọi là chân tri (truth value) của nó
Giá tri đúng: đươc ký hiêu T (True) Giá tri sai: đươc ký hiêu F (False)
Ví dụ: Mênh đê p = “Hà nội là thủ đô Viêt Nam” p có giá tri T
7
Mênh đê phưc hơp(Compound proposition)
Đươc xây dựng bằng cách tổ hơp một hoặc nhiêu mênh đê
Các toán tử logic đươc dung đê tổ hơp các mênh đê:
¬ not, negation Phép phủ đinh and, conjunction Phép hội or, disjunction Phép tuyên conditional, Phép kéo
theoimplication
8
Mênh đê phủ đinh
Gọi p là 1 mênh đê. Phủ đinh của p, ký hiêu ¬p là phát biêu
“It is not the case that p.”
Giá tri chân tri của ¬p, là nghich đảo của giá tri chân tri của p.
Ví dụ: p: “ Today is Friday” ¬p??“It is not the case that Today is Friday”Hoặc “Today is not Friday”Hoặc “It is not Friday today”
9
Ví dụ
Cho p: “At least 10 inches of rain fell today in HCMC”
• ¬p??“It is not the case that at least 10 inches of rain
fell today in HCMC”
Hoặc“Less than 10 inches of rain fell today in HCMC”
10
Phép hội (Conjunction)
Cho p và q là các mênh đê.
Phép hội của p và q, ký hiêu p q, là mênh đê “p and q”. Phép hội p q là true khi cả hai p và q đêu true và ngươc lại là false
Truth table
11
Phép tuyên (Disjunction)
Cho p và q là các mênh đê.
Phép tuyên của p và q, ký hiêu p q, là mênh đê “p or q”. Phép tuyên p q là false khi cả hai p và q đêu false và ngươc lại là true.
Truth table
12
Ví dụ phép hội và tuyên
Cho p = “ Today is Friday”
và q = “It is a raining today”
p q = “ Today is Friday and it is raining today”
p q is true on rainy Fridays and is false on any day that is not a Friday and on Fridays when it does not rain
13
Ví dụ 2
Cho p = “ Today is Friday”
và q = “It is a raining today”
p q = “ Today is Friday or it is raining today”
p q is true on any day that is either a Friday or a rainy day (including rainy Fridays). It is only false on days that are not Fridays when it also does not rain
14
Phép tuyên loại (Exclusive or)
Cho p và q là các mênh đê.
Phép tuyên loại của p and q, ký hiêu p q, là mênh đê có giá tri true khi có chính xác 1 trong 2 mênh đê p và q là true và ngươc là false
Truth table
15
Mênh đê kéo theo/ điêu kiên
Cho p và q là các mênh đê.
Phát biêu điêu kiên (conditional statement) p q là mênh đê “if p, then q”. Phát biêu p q là false khi p là true và q là false, và ngươc lại là true
Truth table
16
Mênh đê kéo theo/ điêu kiên
Một sô dạng khác nhau của mênh đê kéo theo
Ví dụ: “If I am elected, then I will lower taxes”
17
Ví dụ
Cho p “Maria learns discrete mathematics”
và q “Maria will find a good job”
Hãy diên tả phát biêu p q
“If Maria learns discrete mathematics, then she will find a good job”
“Maria will find a good job when she learns discrete mathematics”
“Maria will find a good job unless she does not learn discrete mathematics”
18
Mênh đê tương đương(Biconditional statement)
Cho p và q là các mênh đê.
Phát biêu tương đương p q là mênh đê “p if only if q”. Phát biêu p q là true khi p và q có cung giá tri chân tri, ngươc lại là false.
Truth table
19
Ví dụ
Cho p “ You can take the flight”
Và q “You buy a ticket”
Phát biêu p q ??
“You can take the flight if and only if you buy a ticket”
20
Công thưc đúng cú pháp(Well-formed formulas)
Khi xử lý biêu thưc (expression), cần quan tâm: Biêu thưc có đúng cú pháp (syntactical, grammatical)
không? Ý nghĩa (Semantics, meaning) của biêu thưc là gì?
Một biêu thưc đúng cú pháp đươc gọi là well-formed formula (wff)
Cần các quy tắc ngữ pháp ( syntax rules) đê xây dựng các là wff
21
Biêu thưc logic
Biêu thưc logic đươc xây dựng từ tâp hơp các biêu tương ( symbol) sau:
Truth symbol : true, false Connectives : ¬, , , Propositional symbol : P, Q, R ,…. Punctuation : (, )
22
Bảng chân tri của mênh đê phưc
Biêu thưc
23
Well-formed formulas (wff)
Một wff có thê là: Một truth symbol, hoặc một proposotional symbol hoặc kết hơp của 2 wff hoặc một wff đươc bao bởi các ngoặc đơn
Ví dụ: true, false, P, ¬Q, P ^Q, (PQ)
P Q R có phải là 1 wff??
24
Thư tự ưu tiên các phép logic(Hierarchy of precedence)
Các phép toán đươc thực hiên từ trái sang phải
25
Thư tự ưu tiên các phép logic(Hierarchy of precedence)
P Q R
P Q R
¬P Q
¬P P Q R
P (Q R)
(PQ) R
(¬P) Q
(¬P) ((P Q) R)
26
Chuyên câu tiếng Anh thành biêu thưc mênh đê
Ví dụ: “You can access the Internet from campus only if you are a computer science major or you are not a freshman”
Dung biến mênh đê đê biêu diên môi câu đơn a: “You can access the Internet from campus “ c: “You are a computer science major “ f: “You are a freshman”
27
Ngữ nghĩa công thưc (Semantics)
Môi 1 wff chỉ có duy nhất 1 bảng chân tri
“Ý nghĩa của các biêu tương chân tri là true và false, còn ý nghĩa của 1 wff là chính bảng chân tri (truth table) của nó”
28
Ngữ nghĩa công thưc (Semantics)
Nếu tất cả các giá tri của bảng chân tri của 1 wff đêu là true mênh đê hằng đúng (tautology)
Ví dụ: P ¬P, PP
Nếu tất cả các giá tri của bảng chân tri của 1 wff đêu là false mênh đê hằng sai (contradiction)
Ví dụ: P ¬P
29
Ví dụ tautology và contradiction
30
Ngữ nghĩa công thưc (Semantics)
Nếu 1 sô giá tri của bảng chân tri là true, 1 sô khác thì
false công thưc ngẫu nhiên (Contigency)
31
Ứng dụng của toán rời rạc vào CS
Đặc tả hê thông (system specification)
Dò tìm logic (Logic search)
Logic và các phép toán bit
32
System Specification
Kỹ sư phần mêm chuyên yêu cầu hê thông thành các đặc tả rõ ràng làm cơ sở đê phát triên hê thông.
Đặc tả hê thông phải consistent (không chưa các yêu cầu xung đột nhau)
33
Ví dụ 1
Biêu diên đặc tả sau thành biêu thưc logic
“The automated reply cannot be sent when the file system is full”
Gọi p “The automated reply can be sent”
Gọi q “The file system is full”
Đặc tả hê thông có thê đươc biêu diên thành
q ¬p
34
Ví dụ 2
Xác đinh đặc tả sau của hê thông có thông nhất không?
“The diagnostic message is stored in the buffer or it is retransmitted”
“ The diagnostic message is not stored in the buffer”
“ If the diagnostic message is stored in the buffer, then it is retransmitted”
35
Ví dụ 2 (tt)
Gọi p “The diagnostic message is stored in the buffer”
Gọi q “The diagnostic message is retransmitted”
Đặc tả đươc biêu diên thành p v q, ¬p và pq Đê ¬p là true thì p false Để p v q true khi p false thì q phải true Khi p false và q true thì p q true
Kết luận: 3 đặc tả trên là consistent
36
Dò tìm logic (Boolean search)
Kỹ thuât dung các kết nôi logic đê xác đinh tâp hơp các thông tin cần dò tìm đươc gọi là dò tìm logic (Boolean search)
Hầu hết các Web search engine đêu sử dụng kỹ thuât dò tìm logic.
Ví dụ: dò tìm các trang web vê đại học ở New Mexico Dung kỹ thuât logic search, dò tìm các trang chưa NEW AND
MEXICO AND UNIVERSITIES
37
Logic và phép toán bit
Giá tri chân tri của logic là true và false
Bit là biêu tương có 2 giá tri: 0 và 1
Bit có thê đươc dung đê biêu diên giá tri logic: 1 biêu diên true, 0 biêu diên false
Biến Boole có thê đươc biêu diên dưới dạng bit.
Các phép toán bit tương đương với các kết nôi logic
38
Các phép toán dung cho chuôi bit
Chuôi bit (bit string) là chuôi 1 hay nhiêu bit. Chiêu dài của chuôi là sô bit trong chuôi
Các phép toán dung cho chuôi bit Bitwise OR Bitwise AND Bitwise XOR
Phép toán bitwise OR/AND/XOR của 2 chuôi cung chiêu dài bit thực hiên các phép toán OR/AND/XOR trên các bit tương ưng của 2 chuôi
39
Ví dụ
Thực hiên các phép toán bitwise OR, bitwise AND và bitwise XOR
01 1011 0110
11 0001 1101
11 1011 1111 bitwise OR
01 0001 0100 bitwise AND
10 1010 1011 bitwise XOR
40
TƯƠNG ĐƯƠNG CỦA CÁC MỆNH ĐỀ
Propositional equivalences
41
Tương đương logic của các mênh đê
Hai mênh đê p và q đươc gọi là tương đương logic (logical equivalence) nếu p q là hằng đúng (tautology)
Ký hiêu p q (hay )
42
Ví dụ 1 vê tương đương logic
Chưng minh 2 mênh đê (p q) và (p q) là tương đương logic
Vì bảng chân tri của 2 mênh đê hoàn toàn giông nhau nên (p q) (p q) là hằng đúng 2 mênh đê tương đương logic
43
Ví dụ 2: tương đương logic
Chưng minh p q và p q là tương đương logic
Từ bảng chân tri suy ra (p q) (p q) là hằng đúng.
Kết luân 2 mênh đê trên là tương đương logic
44
Bang Logical equivalences
45
Bang Logical equivalences
46
Ví dụ 3
Chưng minh (p q) và p q là tương đương logic
(p q) ( p q) tư vi du 2
( p) q tư De Morgan 2
p q tư double negation law
47
Ví dụ 4
Chưng minh (p ( p q)) và p q là tương đương logic
48
Ví dụ 5
Chưng minh (p q) (p q) là hằng đúng
Từ ví dụ 2
De Morgan law
Associate & commutative laws
49
Vi từ và đinh lương(Predicates and Quantifiers)
Logic mênh đê (Propositional logic) không đủ đê diên tả ý nghĩa của mênh đê
Ví dụ: xét mênh đê “Every computer connected to the university network is functioning properly” Không có quy tắc nào của logic mênh đê
cho phép kết luân sự đúng đắn của mênh đê “MATH3 is functioning properly”
Với MATH3 là 1 trong các máy tính nôi với mạng trường đại học.
50
Logic vi từ (Predicate logic)
Có thê diên tả ý nghĩa của mênh đê dưới dạng toán học theo cách cho phép suy luân (reason) môi quan hê giữa các đôi tương.
51
Predicate
Phát biêu (statement) có liên quan đến biến “x>3” không thê đánh giá đúng hay sai nếu giá tri của biến chưa xác đinh
Statement “ x is greater than 3”
Ký hiêu P(x) với P là predicate “is greater than 3” và biến x
Predicate PVariable x
52
Vi từ (Predicate)
P(x) còn đươc gọi làm hàm mênh đê (propositional function).
Khi biến x đươc gán giá tri thì statement P(x) se trở thành proposition và có giá tri chân tri của nó.
Ví dụ: P(x) = “ x >3” P(4) có giá tri true, P(2) có giá tri false
53
Ví dụ 1
Vì CS1 không thuộc danh sách các máy tính đang bi attack
A(CS1) có giá tri false, A(CS2) và A(MATH1) có giá tri true
54
Ví dụ 2
Gọi R(x,y,z) là ký hiêu cho statement “x+y=z”. Cho biết giá tri chân tri của R(1,2,3) và R(0,0,1)?
R(1,2,3) là statement “1+2=3”có giá tri true R(0,0,1) là statement “0+0=1” có giá tri false
55
Tiên điêu kiên và hâu điêu kiên
Predicate đươc dung đê kiêm chưng điêu kiên (verification) khi thực thi chương trình.
Preconditions: The statements that describe valid input Postconditions: The conditions that the output should
satisfy when the program has run
56
Ví dụ
Khảo sát đoạn chương trình sau:temp :=xx:= yy:=temp
Tìm các predicate đươc dung làm precondition và postcondition đê kiêm chưng tính đúng đắn của chương trình.
57
Ví dụ (tt)
Gọi P(x,y) là statement “x=a and y=b” với a và b là các giá tri của x và y trước khi chạy chương trình
Gọi Q(x,y) là statement “ x=b and y=a”
P(x,y) là precondition và Q(x,y) là postcondition của chương trình
58
Lương hoá (quantification)
Lương hoá (quantification) là tạo ra các mênh đê (proposition) từ hàm mênh đê (propositional function)
Hai loại lương hóa: Lương hóa tổng quát (universal quantification) Lương hóa tồn tại (existential quantification)
59
Phân loại lương hóa
Domain của biế�n x là tất cả các giá tri có thê có của biến x
Lương hóa tổng quát (Universal quantification) dung đê chỉ 1 predicate luôn đúng với mọi phần tử trong miên (domain) đang đươc khảo sát.
Lương hóa tồn tại (existential quantification) dung đê chỉ rằng có 1 hay nhiêu phần tử trong domain đang khảo sát làm cho predicate trở nên đúng.
60
Lương hóa tổng quát và domain
Xét P(x) Lương hóa tổng quát của P(x) tương ưng với 1 domain nào
đó là 1 mênh đê xác nhân P(x) luôn đúng với mọi giá tri của x trong domain này
Khi domain thay đổi, ý nghĩa của lương hóa của P(x) cung thay đổi theo.
61
Lương hóa tổng quát
Lương hóa tổng quát của P(x) là 1 phát biêu
“P(x) for all values of x in the domain”
Ký hiêu x P(x) Đọc là “for all x P(x)” hay “for every x P(x)” là universal quantifier
Một phần tử x làm cho P(x) trở nên false đươc gọi là counterexample của x P(x)
62
Ví dụ 1
Cho P(x) là statement “x+1 > x”. Hãy cho biết giá tri của lương hóa x P(x) nếu domain là tất cả các sô thực?
Vì P(x) luôn true với mọi giá tri của x nên lương hóa x P(x) là true.
63
Ví dụ 2
Đặt Q(x) là phát biêu “x < 2”. Hãy cho biết giá tri của x Q(x) nếu domain chưa tất cả các sô thực
Vì Q(3) là false x =3 là 1 counterexample cho phát biêu x Q(x) .
Kết luân x P(x) là false.
64
Ví dụ 3
Hãy xác đinh giá tri của x (x2 x) nếu domain là tất cả các sô thực? Nếu domain là tất cả các sô nguyên?
Nếu domain là sô thực thì x=1/2 là counterexample vì . Lương hóa x (x2 x) là false
Nếu domain là sô nguyên thì x (x2 x) là đúng
65
Lương hóa tồn tại
Lương hóa tồn tại của P(x) là mênh đê
“There exists an element x in the domain such that P(x)”
Ký hiêu: x P(x) là existential quantifier
Cách diên tả: “There is an x such that P(x)” “There is at least one x such that P(x)”- “ For some x P(x)”
66
Ví dụ 1
Cho P(x) là statement “x>3”. Tìm giá tri chân lý của x P(x) với domain là tâp hơp các sô thực
Khi x=4 thì P(x) là đúng nên x P(x) là đúng
67
Ví dụ 2
Xác đinh giá tri chân lý của x P(x) với P(x) là câu “ x2>10” và domain là các sô nguyên dương không lớn hơn 4
Vì không gian là {1,2,3,4}, mênh đê x P(x) là phép tuyên
P(1) v P(2) v P(3) v P(4)
Vì P(4) là đúng x P(x) là đúng
68
69
Độ ưu tiên của lương từ (quantifier)
Các lương từ , có độ ưu tiên cao hơn tất cả các toán tử logic của toán mênh đê.
Ví dụ: x P(x) Q(x) (x P(x) )Q(x)
70
Biến buộc và biến tự do
Khi 1 biến đươc dung với lương từ, biến đó đươc gọi là biến buộc (bound). Ngươc lại đươc gọi là biến tự do (free).
Ví dụ: x(x + y = 1): biến x là bound và y là free. x(P(x) Q(x)) x R(x): tất cả các biến đêu bound
Phạm vi của x là biêu thưc P(x) Q(x) Phạm vi của x là biêu thưc R(x)
71
Tương đương logic và lương từ
Các phát biêu có liên quan đến predicate và quantifier là tương đương logic nếu và chỉ nếu chúng có cung giá tri chân tri bất kê predicate nào đươc dung thay thế trong phát biêu và domain nào đươc dung cho các biến trong hàm mênh đê.
Ký hiêu S T
72
Ví dụ
Chỉ ra x (P(x) Q(x)) và x P(x) x Q(x) là tương đương logic.
Cần chưng minh : Nếu x (P(x)Q(x)) đúng thì x P(x)x Q(x) cung đúng Ngươc lại, nếu x P(x)x Q(x) đúng thì x (P(x)Q(x)) cung
đúng
73
Ví dụ (tt)
Giả sử x (P(x)Q(x)) đúng có nghĩa là nếu a thuộc domain của x thì P(a)Q(a) đúng P(a) đúng và Q(a) đúng Vì P(a) đúng và Q(a) đúng với mọi phần tử trong domain cả hai x P(x) và x Q(x) đêu đúng, có nghĩa là x P(x) x Q(x) đúng.
Chưng minh tương tự cho trường hơp còn lại
Kết luân:
74
Chuyên đổi câu tiếng Anh thành biêu thưc logic
Tuy theo độ phưc tạp của câu: Dung 1 lương từ Dung nhiêu lương từ
75
Ví dụ 1: Phủ đinh biêu thưc
Hãy phủ đinh phát biêu sau:
“Every student in your class has taken a course in calculus”
Biêu thưc biêu diên câu trên là x P(x) với P(x) là “x has taken a course in calculus”
76
Ví dụ 1: Phủ đinh biêu thưc (tt)
Phủ đinh “It is not the case that every student in your class has taken a course in calculus” tương đương với “There is a student in your class who has not taken a course in calculus” x P(x)
77
Ví dụ 2
Hãy chuyên câu sau thành biêu thưc logic
“Some student in this class has visited Mexico”
78
Ví dụ 2: dạng 1
Dung biến x đê biêu diên câu trên thành dạng sau:
“There is a student x in this class having the property that x has visited Mexico”
Gọi M(x) là câu “ x has visited Mexico” Domain của x là “student in this class”
Biêu thưc tương ưng là x M(x)
79
Ví dụ 2: dạng 2
Có thê biêu diên câu theo dạng sau:
“There is a person x having the properties that x is a student in this class and x has visited Mexico”
Domain của x là all people. Gọi S(x) là “x is a student in this class”
Biêu thưc tương đương x (S(x) M(x))
80
Ví dụ 3
Dung predicate và lương từ đê biêu diên câu sau” Every mail message larger than one megabyte will be compressed”
81
Ví dụ 3
Gọi S(m,y)với predicate “ Mail message m is larger than y megabytes”, biến x có domain là tất cả mail và biến y có domain là 1 sô thực dương
Gọi C(m) là “Mail message m will be compressed”
m(S(m,1) C(m))
82
Ví dụ 4
Cho các phát biêu sau: “All lion are fierce” “Some lions do not drink coffee” “Some fierce creatures do not drink coffee”
Hãy chuyên thành các biêu thưc logic
Gọi P(x) là phát biêu “x is a lion”
Q(x) là “x is fierce”
R(x) là “ x drinks coffee”
Domain của x là all creatures
83
Ví dụ 4
Biêu diên dạng logicx (P(x) Q(x))x (P(x) R(x))x (Q(x) R(x))
84
Nested quantifiers
xy(x+y=0) Additive inverse
x y (x+y=y+x) Commutative law
Domain của biến x và y là toàn bộ các sô thực
85
Ví dụ
Hãy dich phát biêu sau thành câu tiếng Anh:
x y(x>0) (y<0) (xy<0))
Domain của 2 biến đêu là tất cả các sô thực.
“The product of a positive real number and a negative real number is always a negative real number”
86
Thư tự các lương từ
Thư tự các lương từ trong biêu thưc rất quan trọng.
Ví dụ: xét ý nghĩa của 2 biêu thưc sau: Gọi Q(x,y) “x+y=0” Các biến x,y đêu là sô thựcBiêu thưc 1: xy(x+y=0)Biêu thưc 2: yx(x+y=0)
87
Thư tự các lương từ
yx(x+y=0) tương ưng với mênh đê “ There is a real number y such that for every real number x, Q(x,y)”
Không thê có 1 sô thực y nào sao cho x+y=0 với mọi sô thực x, phát biêu 2 là sai.
Tương tự xy(x+y=0) là true