[an error occurred while processing this directive]
cs150: Notes 26
Assignments Due
- This week: read Chapter 11
- Monday, 26 March: Problem Set 6
- Someday next week, there will be a "surprise" quiz. Your
quiz grade will be the maximum of your grades on the two quizzes. Next
week's "surprise" quiz will cover the readings from Neil de Grasse
Tyson; Gödel, Escher, Bach; and the article attached to today's notes.
- GEB reading (by Friday, 30 March): Aria with Diverse
Variations and Chapter 13. Chapter 13 proves that the halting
problem is not decidable, and introduces the Church-Turing Thesis (which
we will explore more in later classes). You will not be assigned to
read Chapter 14, but it goes into more depth on Gödel's proof and
is highly recommended.
Notes
Halting Problem
Input: a procedure specification P
Output: true if applying P would halt (finishes execution), false
otherwise.
(define (halts? procedure) ...?...)
(define (paradox)
(if (halts? 'paradox)
(infinite-loop)
150))
What would it mean if (halts? 'paradox) evaluates to
#t?
What would it mean if (halts? 'paradox) evaluates to
#f?
Prove the halts? algorithm cannot exist.
Proof by Contradiction
- Show X is non-sensical.
- Show that if you have an A you can make X.
- Therefore, A cannot exist.
Evaluates-to-3
Input: A procedure specification P
Output: true if evaluating an application of P would result in 3; false otherwise.
Is the Evaluates-to-3 Problem computable?