CS200: Computer Science, Spring 2002
Notes: Wednesday 20 March 2002
- Monday, 25 March: Problem Set 6
- Wednesday, 27 March: Read SICP, Chapter 4 (you may skip 4.1.6 and 4.1.7 and 4.4-end). This is the last reading assignment from SICP. Some of the most important ideas in this chapter are hidden in footnotes, so make sure to read the footnotes also. Section 4.3 describes how to define a nondeterministic programming language, which will be very useful to your for Problem Set 7.
- Before 3 April: GEB, Aria with Diverse Variations and Chapter XIII: BlooP and FlooP and GlooP. This chapter is about computability, and related to the halting problem in today's class. You will not be assigned to read Chapter XIV, but it goes into more depth on Gödel's proof and it recommended.
ComputabilityProof: A proof of S in an axiomatic system is a sequence of strings, T0, T1, ..., Tn where:
- The first string is the axioms
- For all i from 1 to n, Tn is the result of applying one of the inference rules to Tn-1
- Tn is S
Input: a procedure P (described by a Scheme program)
Output: true if P always halts (finishes execution), false otherwise.
Malicious Code Problem
Is the Malicious Code Problem decidable? (think about this before Friday)Input: a procedure P
Output: #t if P is would do something bad, #f otherwise.
Assume we have a precise definition of what something bad means (for example, format your hard drive).
There is a remarkably close parallel between the problems of the physicist and those of the cryptographer. The system on which a message is enciphered corresponds to the laws of the universe, the intercepted messages to the evidence available, the keys for a day or a message to important constants which have yet to be determined. The correspondence is very close, but the subject matter of cryptography is very easily dealt with by discrete machinery, physics not so easily.
- Halting Problem (Hockey Team)
- Alan Turing
- On Computable Numbers, with an Application to the Entscheidungsproblem — Turing's original (1936) paper that introduced the Halting Problem (tougher to read than Gödel's)
- Breaking the Code — movie about Alan Turing
- Time 100: Alan Turing
University of Virginia
Department of Computer Science
CS 200: Computer Science
Using these Materials