0% found this document useful (0 votes)
5 views87 pages

Chapter0-1(Sec 0-3)

The document outlines the importance and applications of discrete mathematics in solving various problems, particularly in computer science. It covers foundational concepts such as logic, proofs, and combinatorial analysis, emphasizing their relevance in future courses and real-world applications. Additionally, it details course requirements, materials, and content, aiming to equip students with essential mathematical reasoning and algorithmic thinking skills.

Uploaded by

arafatbhuiyan09
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views87 pages

Chapter0-1(Sec 0-3)

The document outlines the importance and applications of discrete mathematics in solving various problems, particularly in computer science. It covers foundational concepts such as logic, proofs, and combinatorial analysis, emphasizing their relevance in future courses and real-world applications. Additionally, it details course requirements, materials, and content, aiming to equip students with essential mathematical reasoning and algorithmic thinking skills.

Uploaded by

arafatbhuiyan09
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 87

Discrete Mathematics and

Its Applications

College of Software
Engineering
Sichuan university
Haixian zhang(Melody)
Kinds of Problems Solved Using Discrete
Mathematics
What is the shortest path between two cities using a transportation
system?

Find the shortest tour that visits each of a group of cities only once and
then ends in the starting city.

How can we represent English sentences so that a computer can reason


with them?

How can we prove that there are infinitely many prime numbers?

How can a list of integers be sorted so that the integers are in increasing
order?

How many steps are required to do such a sorting?

How can it be proved that a sorting algorithm always correctly sorts a list?
Kinds of Problems Solved Using Discrete
Mathematics

How many ways can a password be chosen following specific


rules?

How many valid Internet addresses are there?

What is the probability of winning a particular lottery?

Is there a link between two computers in a network?

How can I identify spam email messages?

How can I encrypt a message so that no unintended recipient


can read it?

How can we build a circuit that adds two integers?


Plan

 Course Information and Arrangement

 Course Requirement

 Topics and objectives of this course


Mathematics
Computer Science: use computer technology to solve problems.

Many courses in our curriculum will talk about computer technology.

This course will provide the mathematical foundation to solve problems,

e.g. to design a security system, to design a fast searching algorithm,

to analyze algorithms rigorously (e.g. pagerank and linear algebra), etc.

(pictures from wiki)


Discrete Mathematics
What is discrete mathematics?

discrete mathematics continuous mathematics

integers real numbers

graphs geometric space

induction calculus

logic

These two areas are not disjoint, e.g. calculus can be


used to solve discrete problems (generating functions).
Discrete Mathematics
What is Discrete Mathematics?

Discrete mathematics is the part of mathematics devoted to


the study of discrete (as opposed to continuous) objects.

Calculus deals with continuous objects and is not part of discrete


mathematics.

Examples of discrete objects: integers, steps taken by a


computer program, distinct paths to travel from point A to
point B on a map along a road network, ways to pick a winning
set of numbers in a lottery.

A course in discrete mathematics provides the mathematical


background needed for all subsequent courses in computer
science and for all subsequent courses in the many branches
of discrete mathematics.
Discrete Mathematics

Why discrete mathematics?

In computer science we usually deal with finite, discrete objects. For


example,

- we cannot store a real number (infinite precision) in a computer


but can only store bits (finite precisions).

- we often model a computer network as a graph, and use the


knowledge and techniques in dealing with graphs to solve
problems in networks.

The problems and the techniques are often different (e.g. induction,
recursion).
Discrete Mathematics is a Gateway
Course
Topics in discrete mathematics will be important in many courses that
you will take in the future:
Computer Science: Computer Architecture, Data Structures,
Algorithms, Programming Languages, Compilers, Computer Security,
Databases, Artificial Intelligence, Networking, Graphics, Game Design,
Theory of Computation, ……

Mathematics: Logic, Set Theory, Probability, Number Theory, Abstract


Algebra, Combinatorics, Graph Theory, Game Theory, Network
Optimization, …

The concepts learned will also be helpful in continuous areas of


mathematics.

Other Disciplines: You may find concepts learned here useful in


courses in philosophy, economics, linguistics, and other departments.
Goals of a Course in Discrete
Mathematics

Mathematical Reasoning: Ability to read, understand, and


construct mathematical arguments and proofs.

Combinatorial Analysis: Techniques for counting objects of


different kinds.

Discrete Structures: Abstract mathematical structures that


represent objects and the relationships between them. Examples
are sets, permutations, relations, graphs, trees, and finite state
machines.
Goals of a Course in Discrete Mathematics

Algorithmic Thinking: One way to solve many problems is to


specify an algorithm. An algorithm is a sequence of steps that
can be followed to solve any instance of a particular problem.
Algorithmic thinking involves specifying algorithms, analyzing the
memory and time required by an execution of the algorithm, and
verifying that the algorithm will produce the correct answer.

Applications and Modeling: It is important to appreciate and


understand the wide range of applications of the topics in
discrete mathematics and develop the ability to develop new
models in various domains. Concepts from discrete mathematics
have not only been used to address problems in computing, but
have been applied to solve problems in many areas such as
chemistry, biology, linguistics, geography, business, etc.
Course Material

 Textbook: Discrete Mathematics with Applications

Author: Kenneth H. Rosen

Publisher: China Machine Press


Reference: 《离散数学及其应用》 6th edition )
( Discrete Mathematical and Its Applications ),
Kenneth H.Rosen
袁崇义 屈婉玲 等译 机械工业出版社( 2011.7 )

《离
》 ( 机械工业出版社 )



冯伟森、栾新成、石兵编( 2011.3 )
Course Content

1. The foundation: Logic and Proofs


2. Basic Structures: Sets, Functions, Sums, and
Matrices
5. Induction and Recursion A B
6. Counting: The Pigeonhole Principle 6.2
8. Advanced Counting Techniques: 8.5\8.6 C
9. Relations
10.Graphs
11.Trees
Course Requirements


Attendance+ Homework, 30%

Midterm, 20%
 Final Exam, 50%
1
Chapter
The Foundations: Logic and
Proofs
Logic puzzle
An island has two kinds of inhabitants,
knights, who always tell the truth, and
knaves, who always lie.
You go to the island and meet A and B.
A says “B is a knight.”
B says “The two of us are of opposite
types.”
question What are the types of A and B?
Both are Knaves
Chapter
Summary
Propositional Logic
propositional adj. 命题的
 The Language of Propositions
(Proposition n. 命题 )
 Applications
 Logical Equivalences predicate ['predɪkeɪt] n. 〔数〕谓词 ;
Predicate Logic 〔语〕谓语 ; 〔逻〕谓项
 The Language of Quantifiers
quantifier
 Logical Equivalences ['kwɑntə.faɪər] n. 【逻辑学】限
 Nested Quantifiers 量词nested [nestɪd] adj. 嵌套的
Proofs
 Rules of Inference
 Proof Methods
 Proof Strategy proof strategy 证明策略
Propositional Logic
Summary
The Language of Propositions
 Connectives
 Truth Values
 Truth Tables
Applications
 Translating English Sentences
 System Specifications
 Logic Puzzles
 Logic Circuits
Logical Equivalences
 Important Equivalences
 Showing Equivalence
 Satisfiability
Section
1.1
Propositional
Logic
The propositional logic was first
developed systematically by
Aristotle
ARISTOTLE (384 b.c.e.–322
b.c.e.)
Aristotle was born in Stagirus (Stagira) in northern
Greece.

Aristotle’s followers were called the peripatetic,


which means “to walk about,” because Aristotle
often walked around as he discussed philosophical
questions.

Aristotle wrote three types of works: those written


for a popular audience, compilations of scientific
facts, and systematic treatises. The systematic
treatises included works on logic, philosophy,
psychology, physics, and natural history.

Aristotle’s writings were preserved by a student


and were hidden in a vault where a wealthy book
collector discovered them about 200 years later.
They were taken to Rome, where they were studied
by scholars and issued in new editions, preserving
them for posterity
Section Summary
Propositions
Connectives
 Negation
 Conjunction
 Disjunction
 Conditional(Implication);
contrapositive, inverse, converse
 Biconditional
Truth Tables
Propositio
ns
A proposition is a declarative sentence that is
either true or false.
Examples of propositions:
a) The Mooncake is made of green cheese.
b) Trenton is the capital of New Jersey.

1+0=1
c) Toronto is the capital of Canada. Trenton ['trentən]
d)
0+0=2
n. 特伦顿(美国新泽西州首府)
e)
Toronto [tə'rɔntəu]
Examples that are not propositions.n. 多伦多(加拿大城市)
a) Sit down!
b) What time is it?
c) x+1=2
d) x+y=z
Propositional
Logic
GEORGE BOOLE (1815–1864)
Constructing Propositions
 Propositional Variables: p, q, r, s, …
 The proposition that is always true is denoted by
T and the proposition that is always false is
denoted by F.
 Compound Propositions; constructed from
logical connectives and other propositions
 Negation ¬ negation
Conjunction ∧
 [nə'ɡeɪʃ(ə)n] n. 否定,命题的

Disjunction ∨
否定
conjunction [kən'dʒʌŋkʃ(ə)n] n. 合取

 Implication → disjunction n. 析取
 Biconditional ↔ implication [.ɪmplɪ'keɪʃ(ə)n] n. 蕴含
Compound
Propositions:
 Negation
 The negation of a proposition p is denoted by
¬p and has this truth table:
p ¬p
T F
F T

Example: If p denotes “The earth is round.”,


then ¬p denotes “It is not the case that the
earth is round,” or more simply “The earth is
not round.”
Exercise

Find the negation of the propositons


“Michael’s PC runs Linux”
“Vandana’s smartphone has at least
32GB
memory”
And express these in simple English.

Vandana's smartphone has less than 32GB of memory


•Michael's PC uses an operating
system other than Linux.
9.1
Conjunction
The conjunction of propositions p and q
is denoted by p ∧ q and has this truth
p
table: q p∧q
T T T
T F F
F T F
F F F

Example: If p denotes “I am at home.”


and q denotes “It is raining.”
then p ∧q denotes “I am at home and it is
raining.”
Exercis
e
Find the conjunction of the propositons
“Rebecca’s PC has more than 16 GB
free hard disk space” and
“The processor in Rebecca’s PC runs
faster than 1 GHz”
Question
“The sun is shinning, but it is
raining.”
P: The sun is shinning.
q: It is raining.

“And” and “but”


Disjunction
The disjunction of propositions p and q is
denoted by p ∨q and has this truth table:
p q p ∨q
T T T
T F T
F T T

Example: If p denotes “I am at home.”


F F F

and q denotes “It is raining.”


then p ∨q denotes “I am at home or it is
raining.”
Question

1. Students who have taken CS or


Math may take this class.
2. The seat number of your film
ticket is 2 or 5.
The Connective Or in English
In English “or” has two distinct
meanings.
 “Inclusive Or” ( 可兼或 )
In the sentence “Students who have taken CS or
Math may take this class,” we assume that
students need to have taken one of the

the meaning of disjunction.


prerequisites, but may have taken both. This is

For p ∨q to be true, either one or both of p and


q must be true.
“Exclusive Or” (不可兼或)
When reading the sentence “Soup or
salad comes with this entrée,” we do
not expect to be able to get both soup

Exclusive Or (Xor). In p ⊕ q , one of p


and salad. This is the meaning of

and q must be true, but not both. The


truthp table for q⊕ is: p ⊕q
T T F
T F T
F T T
F F F
hypothesis [hai'pɔθisis]
n. 假设
antecedent [,ænti'si:dənt]
n. 前项;先行词;祖先
Conditional(Implication) consequence

If p and q are propositions, then p →q is a


['kɔnsi,kwəns]
n. 结果;重要性;推论

as “if p, then q ” and has this truth table:


conditional statement or implication which is read

p q p →q
T T T
T F F
F T T

Example: If p denotes “I am at home.” and q


F F T

denotes “It is raining.” then p →q denotes “If I

In p →q , p is the hypothesis (antecedent or


am at home then it is raining.”

premise) and q is the conclusion (or consequence).


Understanding Implication
 In p →q there does not need to be any

consequent. The “meaning” of p →q depends


connection between the antecedent or the

only on the truth values of p and q.


These implications are perfectly fine,
but would not be used in ordinary
English.
 “If the mooncake is made of green cheese,
then I have more money than Bill Gates. ”
 “If 1 + 1 = 3, then your grandma wears
combat boots.”
Understanding Implication (cont)
One way to view the logical conditional is to
think of an obligation or contract.
 “If I am elected, then I will lower taxes.”

 “If you get 100% on the final, then you

will get an A.”


If the politician is elected and does not lower
taxes, then the voters can say that he or she
has broken the campaign pledge. Something

corresponds to the case where p is true and


similar holds for the professor. This

q is false.
Understanding Implication (cont)
The if-then construction used in many
programming languages is different
from that used in logic.
Example: “if p then S”
p is a proposition
and S is a program segment
Different Ways of Expressing p
→q
if p, then q p implies q
if p, q p only if q
q unless ¬p q when p
q if p q when p
q whenever p p is sufficient for
q
q follows from p q is necessary for p

a necessary condition for p is q


a sufficient condition for q is p
 You can play games only if you finish your homework
 We will not go to the park unless the weather is good
in Saturday.
Exercise
p: Maria learns discrete mathematics
q: Maria will find a good job.
Express the statement p->q as a
statement in English by using “when”
and “unless”
设 q :星期六天气好, p :我去公园玩。将下列命题符号化。
( 1 )只要星期六天气好,我就去公园玩。
( 2 )只有星期六天气好,我才去公园玩。
( 3 )除非星期六天气好,否则我不去公园玩。

( 1 ) q→p
( 2 ) p→q 或~ q→ ~ p
( 3 ) p→q 或~ q→ ~ p

39
Converse, Contrapositive, and
Inverse
From p →q we can form new conditional statements
q →p is the converse of p →q
¬q → ¬ p is the contrapositive of p →q

¬p→¬q is the inverse of p →q



Example: Find the converse, inverse, and


contrapositive of “It raining is a sufficient condition
for my not going to town.”
Solution:
converse: If I do not go to town, then it is raining.
inverse: If it is not raining, then I will go to town.
contrapositive: If I go to town, then it is not
raining.
converse [kən'vɜːs] n. 【逻辑学】倒转命题 , 逆命题 ; 逆叙 ;
【数学】逆 , 反
contrapositive [ˌkɒntrə'pɒzɪtɪv] n. 逆否命题
inverse ['ɪn.vɜrs] n. 否命题
Biconditional
If p and q are propositions, then we can form
the biconditional proposition p ↔q , read as “p
if and only if q .” The biconditional p ↔q
denotes the proposition with this truth table:
p q p ↔q
T T T
T F F
F T F

If p denotes “I am at home.” and q denotes


F F T

“It is raining.” then p ↔q denotes “I am at


home if and only if it is raining.”
Expressing the
Biconditional
Some alternative ways “p if and only if q ”
is expressed in English:
 p is necessary and sufficient for q
 if p then q , and conversely
 p iff q
Exercise
p: You can take the flight
q: you buy a ticket
“You can take the flight if and only if
you buy a ticket” can be represented
as
P q
Truth Tables For Compound
Propositions
Construction of a truth table:
 Rows
 Need a row for every possible combination of
values for the atomic propositions.
 Columns
 Need a column for the compound proposition
(usually at far right)
 Need a column for the truth value of each
expression that occurs in the compound
proposition as it is built up.
 This includes the atomic propositions
atomic /ə'tɒmɪk/ 原子的
Example Truth Table
Construct a truth table for
p q r r pq pq→
r
T T T F T F
T T F T T T
T F T F T F
T F F T T T
F T T F T F
F T F T T T
F F T F F T
F F F T F T
Equivalent Propositions
Two propositions are equivalent if they
always have the same truth value.
Example: Show using a truth table that
the conditional is equivalent to the
contrapositive.
pSolution:
q ¬p ¬q p →q ¬q → ¬
p
T T F F T T
T F F T F F
F T T F T T
F F T T F T
Using a Truth Table to Show Non-
Equivalence
Example: Show using truth tables that
neither the converse nor inverse of an
implication are not equivalent to the
implication.

p q ¬p ¬q p →q ¬ p →¬ q→p
Solution:
q
T T F F T T T
T F F T F T T
F T T F T F F
F F T T F T T
Problem
How many rows are there in a truth table
with n propositional variables?

Solution: 2n We will see how to do this


in Chapter 6.

propositional variables, we can construct 2n


Note that this means that with n

distinct (i.e., not equivalent)


propositions.
Precedence of Logical Operators
Operator Precedence
 1
 2
 3
 4
 5

p q  r is equivalent to (p q) 

If the intended meaning is p (q 


r

r )/pə'renθəsi:z/
Parentheses
圆括号,插入语then parentheses must be used.
precedence ['presɪdəns] n.
优先级
Section
1.2
Applications of
Propositional Logic
Summary--Applications of
Propositional Logic
Translating English to Propositional
Logic
System Specifications
Boolean Searching(Optional)
Logic Puzzles
Logic Circuits
AI Diagnosis Method (Optional)
specification
[.spesɪfɪ'keɪʃ(ə)n] n. 规范说明
Translating English
Sentences
Steps to convert an English sentence to
a statement in propositional logic
 Identify atomic propositions and represent
using propositional variables.
 Determine appropriate logical connectives.
“If I go swimming or to the country, I
will not go shopping.”
 p: I go to Harry’s
 q: I go to the country.
 r: I will go shopping. If p or q then not
r.
Example
Problem: Translate the following sentence
into propositional logic:
“You can access the Internet from campus
only if you are a computer science major or
you are not a freshman.”
One Solution: Let a, c, and f represent
respectively “You can access the internet
from campus,” “You are a computer

a→ (c ∨ ¬ f )
science major,” and “You are a freshman.”
Exercise
You can not ride the roller coaster if
you are not 4 feet tall unless you are
older than 16 years old.
How can this English sentence be
translated into a logical expression.
q: You can not ride the roller
coaster
r: you are not 4 feet tall
s: you are older than 16 years old
System Specifications
System and Software engineers take
requirements in English and express them
in a precise specification language based
on logic.
Example: Express in propositional logic:
“The automated reply cannot be sent when
the file system is full”
Solution: One possible solution: Let p
denote “The automated reply can be sent”

q→ ¬ p
and q denote “The file system is full.”
Consistent System Specifications

Definition: A list of propositions is


consistent if it is possible to assign
truth values to the proposition
variables so that each proposition
is true.
Exercise:
Are these specifications consistent?
“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.”
Solution: Let p denote “The diagnostic
message is not stored in the buffer.” Let q
denote “The diagnostic message is

written as: p ∨ q, p→ q, ¬p. When p is


retransmitted” The specification can be

false and q is true all three statements are


true. So the specification is consistent.
Exercise:
Are these specifications consistent?
“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.”
What if “The diagnostic message is not

Solution: Now we are adding ¬q and


retransmitted ” is added.

there is no satisfying assignment. So


the specification is not consistent.
Logic
雷蒙德 · 斯穆里安( Raymond Smullyan ) - 世界著名数学
家、逻辑学家和哲学家,他还是一个钢琴演奏师和舞台魔术师。

Puzzles Raymond
Smullyan
(Born 1919)

An island has two kinds of inhabitants, knights, who always


tell the truth, and knaves, who always lie.
You go to the island and meet A and B.
 A says “B is a knight.”

 B says “The two of us are of opposite types.”

Example: What are the types of A and B?

Solution: Let p and q be the statements that A is a knight


and B is a knight, respectively. So, then p represents the

If A is a knight, then p is true. Since knights tell the truth, q


proposition that A is a knave and q that B is a knave.

must also be true. Then (p ∧  q)∨ ( p ∧ q) would have to


be true, but it is not. So, A is not a knight and therefore p


must be true.
 If A is a knave, then B must not be a knight since knaves
always lie. So, then both p and q hold since both are
knaves.
Logic Circuits ( /‘sɜ:kɪt/ 电路)
(Studied in depth in Chapter 12)
Electronic circuits; each input/output signal can be viewed as
a 0 or 1.
 0 represents False
 1 represents True
Complicated circuits are constructed from three basic circuits
called gates.

 The inverter (NOT gate)takes an input bit and


produces the negation of that bit.
 The OR gate takes two input bits and produces the
value equivalent to the disjunction of the two bits.
 The AND gate takes two input bits and produces the
value equivalent to the conjunction of the two bits.
Exercise
More complicated digital circuits can be
constructed by combining these basic circuits
to produce the desired output given the input
signals by building a circuit for each piece of
the output expression and then combining
them. For example:
Jiuzhaigou Valley
The World
Natural Heritage

Tidentan Qiang Hui


People Nationality Nationality
Happy Mid-Autumn
Day!
Section
1.3

Propositional Equivalences
Section
Summary
Tautologies, Contradictions, and Contingencies.
Logical Equivalence
 Important Logical Equivalences

 Showing Logical Equivalence

Normal Forms (optional, covered in exercises


in text)
 Disjunctive Normal Form

 Conjunctive Normal Form

Propositional Satisfiability
 Sudoku Example
Tautologies, Contradictions, and
Contingencies
A tautology is a proposition which is always

 Example: p ∨¬p
true.

A contradiction is a proposition which is


P ¬p p ∨¬p p ∧¬p
 Example: p ∧¬p
always false.
T F T F
F T T F

A contingency is a proposition which is


neither a tautology nor a contradiction, such
as p
Logically
Equivalent
equivalent if p↔q is a tautology.
Two compound propositions p and q are logically

We write this as p⇔q or as p≡q where p and q are

Two compound propositions p and q are


compound propositions.

equivalent if and only if the columns in a truth

This truth table show ¬p ∨ q is equivalent to p →


table giving their truth values agree.

q.
p q ¬p ¬p ∨ q p→ q
T T F T T
T F F F F
F T T T T
F F T T T
De Morgan’s Laws
Augustus De
Morgan
1806-
1871

This truth table shows that De Morgan’s


Second Law holds.
p q ¬p ¬q (p∨q) ¬(p∨q) ¬p∧¬q
T T F F T F F
T F F T T F F
F T T F T F F
F F T T F T T
Key Logical Equivalences
Identity Laws:

Domination Laws:

Idempotent laws:

Double Negation Law:

Negation Laws:
Key Logical Equivalences (cont)

Commutative Laws: ,

Associative Laws:

Distributive Laws:

Absorption Laws:
More Logical Equivalences
Constructing New Logical
Equivalences
We can show that two expressions are logically
equivalent by developing a series of logically
equivalent statements.
To prove that we produce a series of
equivalences beginning with A and ending with
B.

Keep in mind that whenever a proposition


(represented by a propositional variable)
occurs in the equivalences listed earlier, it may
be replaced by an arbitrarily complex
Equivalence Proofs
Example: Show that
is logically equivalent to
Solution:
Equivalence Proofs
Example: Show that
is a tautology.
Solution:
Disjunctive Normal Form
A propositional formula is in disjunctive normal
form if it consists of a disjunction of (1, … ,n)
disjuncts where each disjunct consists of a
conjunction of (1, …, m) atomic formulas or
the negation of an atomic formula.
 Yes

 No

Disjunctive Normal Form is important for the


circuit design methods discussed in Chapter
12.
Disjunctive Normal Form
Example: Show that every compound
proposition can be put in disjunctive normal
form.
Solution: Construct the truth table for the
proposition. Then an equivalent proposition is the
disjunction with n disjuncts (where n is the number
of rows for which the formula evaluates to T). Each
disjunct has m conjuncts where m is the number of
distinct propositional variables. Each conjunct
includes the positive form of the propositional
variable if the variable is assigned T in that row
and the negated form if the variable is assigned F
in that row. This proposition is in disjunctive
normal from.
Disjunctive Normal Form
Example: Find the Disjunctive Normal

(p ∨q)→¬r
Form (DNF) of

Solution: This proposition is true when r

(¬ p∧ ¬ q) ∨ ¬r
is false or when both p and q are false.
Conjunctive Normal Form
A compound proposition is in Conjunctive
Normal Form (CNF) if it is a conjunction of
disjunctions.
Every proposition can be put in an equivalent
CNF.
Conjunctive Normal Form (CNF) can be
obtained by eliminating implications, moving
negation inwards and using the distributive
and associative laws.
Important in resolution theorem proving used
in artificial Intelligence (AI).
A compound proposition can be put in
conjunctive normal form through repeated
Conjunctive Normal Form
Example: Put the following into
CNF:

Solution:
1. Eliminate implication signs:

2. Move negation inwards; eliminate


double negation:

3. Convert to CNF using


associative/distributive laws
Propositional Satisfiability
A compound proposition is satisfiable if there
is an assignment of truth values to its
variables that make it true. When no such
assignments exist, the compound proposition
is unsatisfiable.

A compound proposition is unsatisfiable if and


only if its negation is a tautology.
Questions on Propositional
Satisfiability
Example: Determine the satisfiability of the
following compound propositions:

Solution: Satisfiable. Assign T to p, q, and r.


Solution: Satisfiable. Assign T to p and F to q.
Solution: Not satisfiable. Check each possible
assignment of truth values to the propositional
variables and none will make the proposition
true.
NotationNeeded for the next
example.
Sudoku
A Sudoku puzzle is represented
by a 99 grid made up of nine
33 subgrids, known as blocks.
Some of the 81 cells of the puzzle
are assigned one of the numbers
1,2, …, 9.
The puzzle is solved by assigning
numbers to each blank cell so
that every row, column and block
contains each of the nine possible
numbers.
Encoding as a Satisfiability
Problem

Let p(i,j,n) denote the proposition that is true


when the number n is in the cell in the ith row
and the jth column.

There are 99  9 = 729 such propositions.

In the sample puzzle p(5,1,6) is true, but


p(5,j,6) is false for j = 2,3,…9
Encoding (cont)
For each cell with a given value, assert
p(d,j,n), when the cell in row i and column j
has the given value.
Assert that every row contains every number.

Assert that every column contains every


number.
Encoding (cont)
Assert that each of the 3 x 3 blocks contain
every number.

(this is tricky - ideas from chapter 4 help)

Assert that no cell contains more than one


number. Take the conjunction over all values of
n, n’, i, and j, where each variable ranges from
1 to 9 and ,
of
Solving Satisfiability
Problems
To solve a Sudoku puzzle, we need to find an
assignment of truth values to the 729 variables
of the form p(i,j,n) that makes the conjunction
of the assertions true. Those variables that are
assigned T yield a solution to the puzzle.
A truth table can always be used to determine
the satisfiability of a compound proposition. But
this is too complex even for modern computers
for large problems.
There has been much work on developing
efficient methods for solving satisfiability
problems as many practical problems can be
translated into satisfiability problems.

You might also like