PPT - UBC Computer Science

advertisement
snick

snack
CPSC 121: Models of Computation
2011 Winter Term 1
Propositional Logic:
A First Model of Computation
Steve Wolfman, based on notes by Patrice
Belleville and others
1
Introductions, again
Steven Wolfman <wolf@cs.ubc.ca>
ICICS 239; office hours listed on the website
I also have an open door policy:
If my door is open, come in and talk!
Also, I will usually be available after class.
And, you can make appointments with me
Additionally, you can use TA office hours
2
Outline
•
•
•
•
Prereqs, Learning Goals, and Quiz Notes
True, False, and Gates. Why Start Here?
Problems and Discussion
Next Lecture Notes: Unit Continues...
3
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.
– Evaluate the truth of propositional logic
statements using truth tables.
– Translate back and forth between
propositional logic statements and circuits that
assess the truth of those statements.
4
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).
7
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
underpinning 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.
11
Outline
•
•
•
•
Prereqs, Learning Goals, and Quiz Notes
True, False, and Gates. Why Start Here?
Problems and Discussion
Next Lecture Notes: Unit Continues...
12
Logic for Reasoning about Truth:
Where Should We Start?
I will suppose that ... some malicious demon of the
utmost power and cunning has employed all his
energies in order to deceive me. I shall think that
the sky, the air, the earth, colours, shapes, sounds
and all external things are merely the delusions of
dreams which he has devised to ensnare my
judgement. I shall consider myself as not having
hands or eyes, or flesh, or blood or senses, but as
falsely believing that I have all these things.
- René Descartes
13
Logic as Model for Physical
Computations
Input b
Input a
http://alumni.media.mit.edu/~paulo/courses
/howmake/mlfabfinalproject.htm
a  b
5V
a
~a
0V
14
Outline
•
•
•
•
Prereqs, Learning Goals, and Quiz Notes
True, False, and Gates. Why Start Here?
Problems and Discussion
Next Lecture Notes: Unit Continues...
15
Problem:
Light Switch
Problem: Design a circuit to control a light so that the
light changes state any time its switch is flipped.
?
The problem gives the story we have to implement.
16
Be sure you understand the story and always keep it in mind!
Problem:
Light Switch
?
Problem: Design a circuit to control a light so that the
light changes state any time its switch is flipped.
Identifying inputs/outputs: consider Which are most useful for
these possible inputs and outputs: this problem?
Input1: the switch flipped
Input2: the switch is on
Output1: the light is on
Output2: the light changed states
a.
b.
c.
d.
e.
Input1 and Output1
Input1 and Output2
Input2 and Output1
Input2 and Output2
None of these
17
Problem:
Light Switch
?
Problem: Design a circuit to control a light so that the
light changes state any time its switch is flipped.
Consider these possible
solutions:
Which of these solves the
problem?
a.
b.
c.
d.
e.
Only #1
Only #2
Only #3
#1 and #2
Some other combination
18
Problem:
Two-Way Switch
Problem: Design a circuit to control a light so that
the light changes state any time either of the two
switches that control it is flipped.
?
19
Problem:
Two-Way Switch
?
Problem: Design a circuit to control a light so that
the light changes state any time either of the two
switches that control it is flipped.
Getting the Story Right:
Is the light on or off when both switches are up?
a. On, in every correct solution.
b. Off, in every correct solution.
c. It depends, but a correct solution should always do the
same thing given the same settings for the switches.
d. It depends, and a correct solution might do different
things at different times with the same switch settings.
20
e. Neither on nor off.
Problem:
Two-Way Switch
?
Problem: Design a circuit to control a light so that
the light changes state any time either of the two
switches that control it is flipped.
Which of these circuits
solves the problem?
a.
b.
c.
d.
e.
Only #1
Only #2
#1 and #2
#1 and #3
All three
21
Problem:
Three-Way Switch
Problem: Design a circuit to control a light so that
the light changes state any time any of the three
switches that control it is flipped.
?
22
Problem:
Three-Way Switch
?
Problem: Design a circuit to control a light so that
the light changes state any time any of the three
switches that control it is flipped.
Fill in the circuit’s truth table:
a.
b.
c.
d.
s1
s2
s3
out
out
out
out
T
T
T
T
F
F
T
T
T
F
F
T
T
F
T
F
T
F
T
F
T
T
F
F
T
F
T
F
F
T
T
F
T
F
T
F
T
F
T
F
T
F
F
F
T
T
F
F
T
F
F
F
F
T
T
F
e.
None
of
these
23
Problem:
Three-Way Switch
?
Problem: Design a circuit to control a light so that
the light changes state any time any of the three
switches that control it is flipped.
Getting the Story Right:
Which of these indicates whether the light is on or off in a
particular correct solution?
a.
b.
c.
d.
e.
Whether an odd number of switches is on.
Whether the majority (two or more) of switches are on.
Whether all the switches are on.
Whether a switch has been flipped recently.
24
None of these.
Problem:
Three-Way Switch
?
Problem: Design a circuit to control a light so that
the light changes state any time any of the three
switches that control it is flipped.
Modelling the Circuit:
Which of these describes an incorrect solution?
a. (s1  s2  s3)  (s1  ~s2  ~s3) 
(~s1  s2  ~s3)  (~s1  ~s2  s3)
b. s1  s2  s3  (s1  s2  s3)
c. s1  (s2  s3)
d. (s1  ~(s2  s3))  (~s1  (s2  s3))
e. None of these is incorrect.
25
Problem:
n-Way Switch
Problem: Describe an algorithm for
designing a circuit to control a light so that
the light changes state any time any of its
n switches is flipped.
...
?
26
Outline
•
•
•
•
Prereqs, Learning Goals, and Quiz Notes
True, False, and Gates. Why Start Here?
Problems and Discussion
Next Lecture Notes: Unit Continues...
27
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.
28
snick

snack
Some Things to Try...
(on your own if you have time and
interest, not required)
29
Problem: Logicians and Hats
Problem: Three logicians are each wearing
a black hat or a white hat, but not all white.
Nobody can see their own hat. However, A
can see the hats of B and C, and B can
see the hats of A and C. C is blind. You go
and ask them one by one in the order A,
B, C, whether they know the color of their
own hat. A answers “No”. B answers “No”.
Then C answers “Yes”. Explain how this is
possible.
30
Problem: Criminals and Hats
Problem: A warden plans to line up 100 prisoners in
order tomorrow. The warden will place a white or
black hat on each prisoner’s head so that no
prisoner can see the hat on his or her own head,
but they can see the hats of the prisoners in front
of them. From the back of the line, the warden will
ask each prisoner “Is your hat black?” If the
prisoner answers correctly, he or she is set free.
Incorrect answers lead to immediate and noisy
beheading. If they answer anything other than
“yes” or “no”, all prisoners are beheaded. They
get one hour as a group to plan their strategy.
How many prisoners can be saved?
The three-way light switch might give you a hint.
31
Download