AdministriviaWhat can computers not do?What’s with the negative thinking, Prof.?Can mathematicians be replaced by machines?Can a simple set of mathematical equations “solve” problems like:Automated Checking of Software?CAPTCHAHistory-of-science perspectiveWhat is computation?Turing’s modelWhat does this program do?Turing –Church Thesis“Code” for a programPrograms and DataUniversal Program UAutomated Bug Checking RevisitedNext Time: Halting Problem is unsolvable by another programTopics for Discussion1. How did the Fowler and Jeon apply the insights fromthe CLEVER algorithm in studying Supreme Court decisions and what did they learn?2. What did you learn about data mining from the readings and what reactions does that provoke in you?Administrivia• “Precepts” will be Mon 6:15-7pm and Tues 6:15-7pm in lab• Take-home midterm in midterms week (closed book,3-hour test). Preferences?• Couple of review sessions before midterm in the evening.•Handouts today: 2 articles; Lab 5; HW 2What can computers not do?3/2/2006COS 116Instructor: Sanjeev AroraWhat’s with the negative thinking, Prof.? An obvious motivation: Understand the limits of technologyThe power of negative thinking….Can mathematicians be replaced by machines?Axioms – Set of statementsDerivation rules– finite set of rules for deriving new statements from axiomsTheorems– Statements that can be derived from axioms in a finite number of stepsMathematician– Person who tries to determine whether or not a statement is a theorem.[Hilbert, 1900]Math is axiomatic- Given a starting configuration for game of life, determine whether or not cell (100,100) is ever occupied by a critterJohn ConwayCan a simple set of mathematical equations “solve” problems like:Automated Checking of Software?Windows XP: 40 million line programCan we use computers to check whether or not it will evercrash?CAPTCHAComputer generated test that current computers cannot pass easily.Also reminiscent of cryptographyHistory-of-science perspective Impossibility of trisecting an angle with ruler and compass (Galois)Often, impossibility result deep insightExamplesDiscovery that nothing travels faster than lightGroup Theory and much of modern mathRelativity and modern physicsWhat is computation?Basic Elements Scratch Pad Step-by-step description of what to do (“program”); should be finite! At each step: Can only scan a fixed number of symbols Can only write a fixed number of symbolsA formalization of an age-old notionTuring’s model 1 dimensional unlimited scratchpad (“infinite”) Only symbols are 0/1 (tapeinitially has all 0s.) Can only scan/write one symbol per step Program looks like 1. PRINT 0 2. GO LEFT 3. GO TO STEP 1 IF 1 SCANNED 4. PRINT 1 5. GO RIGHT 6. GO TO STEP 5 IF 1 SCANNED 7. PRINT 1 8. GO RIGHT 9. GO TO STEP 1 IF 1 SCANNED 10. STOPThe Doubling ProgramWhat does this program do?1. PRINT 0 2. GO RIGHT 3. GO TO STEP 1 if 1 SCANNED 4. GO TO STEP 1 if 0 SCANNEDTuring –Church ThesisThis model exactly captures what computation is.It can simulate every other computational modelthat can be physically built.“Code” for a programMany conventions possible (e.g., ASCII)Davis’s convention: P Code (P)= Binary RepresentationPrograms and DataUsual Viewpoint -A False DichotomyProgramDataBut can have -ProgramCode of ProgramUniversal Program U U “simulates” what P would do on that dataDataU Program PDVAutomated Bug Checking RevisitedHalting ProblemLet P = program such that code(P) = V. Does P halt on data D?Trivial Idea: Simulate P using universal program U. If P halts will eventually detectProblem:If P never halts, neither does the simulation.Next Time: Halting Problem is unsolvable by another programAlso, some class discussion of the two readings.Need to understand notion of Turing-Post program (e.g., doubling program) and what a universal program
View Full Document