F - UBC Computer Science

advertisement
snick

snack
CPSC 121: Models of Computation
2011 Winter Term 1
Propositional Logic, Continued
Steve Wolfman, based on notes by Patrice
Belleville and others
1
Outline
• Learning Goals
• Problems and Discussion
– Side note: numbers from Booleans
• Expressiveness of Propositional Logic
• Next Lecture Notes
2
Learning Goals: In-Class
By the end of this unit, you should be able
to:
– Build combinational computational systems
using propositional logic expressions and
equivalent digital logic circuits that solve real
problems, e.g., our 7- or 4-segment LED
displays (using a “DNF” or any other
successful approach).
3
Where We Are in
The Big Stories
Theory
How do we model
computational systems?
Hardware
How do we build devices to
compute?
Now: learning the
underpinnings of all our
models (formal logical
reasoning with Boolean
values).
Now: establishing
our baseline tool
(gates), briefly
justifying these as
baselines, and
designing complex
functions from gates.
4
Outline
• Learning Goals
• Problems and Discussion
– Side note: numbers from Booleans
• Expressiveness of Propositional Logic
• Next Lecture Notes
5
Problem:
7-Segment LED Display
Problem: Design a circuit that displays the
numbers 0 through 9 using seven LEDs
(lights) in the shape illustrated above.
6
Problem:
7-Segment LED Display
Problem: Design a circuit that displays the
numbers 0 through 9 using seven LEDs
(lights) in the shape illustrated above.
Understanding the story: How many inputs are there?
a.
b.
c.
d.
e.
One
Seven
Ten
Sixteen
None of these
7
Problem:
7-Segment LED Display
Problem: Design a circuit that displays the
numbers 0 through 9 using seven LEDs
(lights) in the shape illustrated above.
First: what’s the circuit’s job?
8
Problem: 7-Segment LED Display
“Input Symbols”
Problem: Design a circuit that displays the
numbers 0 through 9 using seven LEDs
(lights) in the shape illustrated above.
How many different messages must the circuit understand?
a.
b.
c.
d.
e.
One
Seven
Ten
Sixteen
None of these
(This is not the intended question when
9
we ask: “how many inputs are there”.)
Problem: 7-Segment LED Display
“Input Lines”
Problem: Design a circuit that displays the
numbers 0 through 9 using seven LEDs
(lights) in the shape illustrated above.
How many different “parameters” carry those messages?
a.
b.
c.
d.
e.
One
Seven
Ten
Sixteen
None of these
Not quite parameter like in CPSC 110…
10
more like an input “channel”.
Side Note:
Truth Tables and Numbers
If we agree on a convention for the rows of a
truth table, we can assign a number to
#
a
b
c
each row…
0
F
F
F
1
F
F
T
2
F
T
F
3
F
T
T
4
T
F
F
5
T
F
T
6
T
T
F
7
T
T
T
Of course, as Epp says, we could
11
agree on a different convention.
Representing Positive Integers
This is the convention we use for the positive integers
0-9, which requires (at least) 4 variables:
#
a
b
c
d
0
F
F
F
F
1
F
F
F
T
2
F
F
T
F
3
F
F
T
T
4
F
T
F
F
5
F
T
F
T
6
F
T
T
F
7
F
T
T
T
8
T
F
F
F
9
T
F
F
T
...
12
Notice the order: Fs first.
Problem:
7-Segment LED Display
Problem: Design a circuit that displays the
numbers 0 through 9 using seven LEDs
(lights) in the shape illustrated above.
Understanding the story: How many outputs are there?
a.
b.
c.
d.
e.
One
Seven
Ten
Sixteen
None of these
13
Is that a good question?
Exercise:
Human Circuit
Let’s simulate the display with people.
If you’re not at the front,
pick one person and
think about what their
algorithm is.
14
Exercise:
Human Circuit
Which other people’s algorithms does your
person need to know about?
a. No one else’s
b. Only their neighbours’
c. Everyone else’s
d. Some other group
15
Analyzing One Segment
What’s the truth table for the lower-left segment?
a.
b.
c.
d.
#
a
b
c
d
out
out
out
out
0
F
F
F
F
F
0
T
F
1
F
F
F
T
T
2
F
T
2
F
F
T
F
F
6
T
F
3
F
F
T
T
T
8
F
T
4
F
T
F
F
F
F
T
5
F
T
F
T
T
F
T
6
F
T
T
F
F
T
F
7
F
T
T
T
T
F
T
8
T
F
F
F
F
T
F
9
T
F
F
T
T
F
T
e. None of
these.
16
Analyzing One Segment
From the truth table, we can make an expression
for each true row and OR them together.
# a b c d out
0 F F F F
T
1 F F F T
F
2 F F T F
T
3 F F T T
F
4 F T F F
F
5 F T F T
F
6 F T T F
T
7 F T T T
F
8 T F F F
T
9 T F F T
F
(??) 
(??) 
(??) 
(??)
Let’s try one!
See Epp (4th ed) Example 2.4.5!
17
(3rd ed Example 1.4.5)
Analyzing One Segment
From the truth table, we can make an expression
for each true row and OR them together.
# a b c d out
0 F F F F
T
1 F F F T
F
2 F F T F
T
3 F F T T
F
4 F T F F
F
5 F T F T
F
6 F T T F
T
7 F T T T
F
8 T F F F
T
9 T F F T
F
Which logical statement is true
only in this row?
a.
b.
c.
d.
e.
~a  ~b  c  ~d
abcd
~a  ~b  c  ~d
a  b  ~c  d
None of these
18
Analyzing One Segment
From the truth table, we can make an expression
for each true row and OR them together.
# a b c d out
0 F F F F
T
1 F F F T
F
2 F F T F
T
3 F F T T
F
4 F T F F
F
5 F T F T
F
6 F T T F
T
7 F T T T
F
8 T F F F
T
9 T F F T
F
(~a  ~b  ~c  ~d) 
(~a  ~b  c  ~d) 
(~a  b  c  ~d) 
( a  ~b  ~c  ~d)
19
Designing the Expression
with Many Ts
Let’s try another LED: the upper-right.
With eight Ts, we’d need eight expressions!
#
a
b
c
d
out
0
F
F
F
F
T
1
F
F
F
T
T
2
F
F
T
F
T
3
F
F
T
T
T
4
F
T
F
F
T
5
F
T
F
T
F
6
F
T
T
F
F
7
F
T
T
T
T
8
T
F
F
F
T
9
T
F
F
T
T
Too bad we can’t
model Fs rather
than Ts!
20
Designing the Expression
with Many Ts
We can by negating statement we construct!
(Instead of building out, we build ~out and
# a b c
d out
then negate it.)
0
F
F
F
F
T
1
F
F
F
T
T
2
F
F
T
F
T
3
F
F
T
T
T
4
F
T
F
F
T
5
F
T
F
T
F
6
F
T
T
F
F
7
F
T
T
T
T
8
T
F
F
F
T
9
T
F
F
T
T
Which of these correctly models the LED?
a. ~(~a  b  ~c  d)  ~(~a  b  c  ~d)
b. ~(a  ~b  c  ~d)  ~(a  ~b  ~c  d)
c. ~[(~a  b  ~c  d)  (~a  b  c  ~d)]
d. ~[(a  ~b  c  ~d)  (a  ~b  ~c  d)]
e. None of these
21
Problem:
7-Segment LED Display
Problem: Design the seven LED display circuit.
Approach: Solve each of the seven outputs
separately and put the whole thing together.
Here’s the two LEDs we’ve solved, simplified:
22
PRACTICE Exercise
for Logical Equivalences
Prove that our solution for the upper-right LED is
logically equivalent to the corresponding circuit
on the previous slide.
Prove that our solution for the lower-left LED is not
logically equivalent to the corresponding circuit
on the previous slide, and explain why not.
Note: to disprove a logical equivalence, you must
give truth values for the inputs that yield different
outputs.
23
PRACTICE Exercise
for Circuit Design
Finish the problem!
24
Concept Q: 7-Segment LED
Imagine we were solving for one LED in a display for
“Brahmi” numerals. Which of these would never
make our problem harder?
a. More entries in the LED’s column of the truth
table that are true (turn some Fs into Ts).
b. Fewer entries in the LED’s column of the truth
table that are true (turn some Ts into Fs).
c. More legal input symbols (e.g., 0-15 instead of 0-9).
d. Fewer legal input symbols (e.g., 0-4 instead of 0-9).
e. All of these could make the problem harder.
25
Outline
• Prereqs, Learning Goals, and Quiz Notes
• Problems and Discussion
– Side note: numbers from Booleans
• Expressiveness of Propositional Logic
• Next Lecture Notes
26
Homework Problem: Expressiveness
of Propositional Logic
Problem: Is propositional logic (and
combinational circuits) universal for
Boolean functions—able to implement a
truth table with any number of columns
and list of T and F in the output?
a
b
c
d
out
F
F
F
F
F
F
F
F
T
T
F
F
T
F
T
F
F
T
T
F
F
T
F
F
T
...
?
27
Homework Problem: Expressiveness
of Propositional Logic
Problem: Is propositional logic universal for
Boolean functions?
You’ll prove this with an algorithm to turn
any truth table into a corresponding
propositional logic statement.
Universality is a pretty cool result for our
very first model!
28
Outline
• Prereqs, Learning Goals, and Quiz Notes
• Problems and Discussion
– Side note: numbers from Booleans
• Expressiveness of Propositional Logic
• Next Lecture Notes
29
Learning Goals: In-Class
By the end of this unit, you should be able
to:
– Build combinational computational systems
using propositional logic expressions and
equivalent digital logic circuits that solve real
problems, e.g., our 7- or 4-segment LED
displays.
30
Next Lecture Learning Goals:
Pre-Class
By the start of class, you should be able to:
– Translate back and forth between simple natural
language statements and propositional logic, now
with conditionals and biconditionals.
– Evaluate the truth of propositional logical
statements that include conditionals and
biconditionals using truth tables.
– Given a propositional logic statement and an
equivalence rule, apply the rule to create an
equivalent statement.
Example:
Note:
Result:
given (u  s)  s, apply p  q  ~p  q.
p maps to (u  s) and q maps to s.
31
~(u  s)  s
Next Lecture Prerequisites
Reread Sections 1.1 and 1.4 (3rd ed) or 2.1
and 2.4 (4th ed).
Read Section 1.2 (3rd ed) or 2.2 (4th ed).
Complete the open-book, untimed quiz on
Vista that’s due before the next class.
32
snick

snack
Some Things to Try...
(on your own if you have time,
not required)
33
Problem:
4-Segment LED Display
Problem: build a circuit that displays the
numbers 1 through 9 represented by four
Boolean values p, q, r, and s on a 4segment Boolean display.
1
2
6
3
7
4
8
5
9
34
Problem:
One-Bit Addition
Problem: build a circuit that takes three
one-bit numbers as input and outputs their
sum as a two-bit number.
35
Problem: Updating the “PC”
Problem: Create logic that calculates the
amount to increase the PC by, given the
values NeedValC and NeedRegIDs.
36
Problem: Updating the “PC”
37
Concept Q: Fetch Logic
What’s the minimum number of Boolean
outputs necessary for this circuit?
a. 1
b. 2
c. 3
d. 4
e. Cannot be determined from the
information given.
38
Download