What computers just cannot do. COS 116: 2/28/2008 Sanjeev Arora.

Slides:



Advertisements
Similar presentations
Chapter 11: Models of Computation
Advertisements

What computers just cannot do. (Part II) COS 116, Spring 2012 Adam Finkelstein.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
Nathan Brunelle Department of Computer Science University of Virginia Theory of Computation CS3102 – Spring 2014 A tale.
Applied Computer Science II Chapter 3 : Turing Machines Prof. Dr. Luc De Raedt Institut für Informatik Albert-Ludwigs Universität Freiburg Germany.
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
Prof. Busch - LSU1 Decidable Languages. Prof. Busch - LSU2 Recall that: A language is Turing-Acceptable if there is a Turing machine that accepts Also.
FLAC Lecture 19 Turing Machines and Real Life * Reductions Mihai Budiu March 3, 2000.
CPSC 411, Fall 2008: Set 12 1 CPSC 411 Design and Analysis of Algorithms Set 12: Undecidability Prof. Jennifer Welch Fall 2008.
Theory of Computation What types of things are computable? How can we demonstrate what things are computable?
CS5371 Theory of Computation Lecture 11: Computability Theory II (TM Variants, Church-Turing Thesis)
1 Undecidability Andreas Klappenecker [based on slides by Prof. Welch]
CSE115/ENGR160 Discrete Mathematics 03/03/11 Ming-Hsuan Yang UC Merced 1.
What computers just cannot do. (Part II) COS 116: 3/5/2008 Sanjeev Arora.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 5 Reducibility Contents Undecidable Problems from Language Theory.
Fall 2004COMP 3351 A Universal Turing Machine. Fall 2004COMP 3352 Turing Machines are “hardwired” they execute only one program A limitation of Turing.
Theory of Computation. Computation Computation is a general term for any type of information processing that can be represented as an algorithm precisely.
Algorithms: Selected Exercises Goals Introduce the concept & basic properties of an algorithm.
From Greek philosophers to circuits: An introduction to boolean logic. COS 116, Spring 2011 Sanjeev Arora.
More Theory of Computing
MATH 224 – Discrete Mathematics
Turing Machines Chapter Plan Turing Machines(TMs) – Alan Turing Church-Turing Thesis – Definitions Computation Configuration Recognizable vs. Decidable.
Algorithms and their Applications CS2004 ( ) Dr Stephen Swift 1.2 Introduction to Algorithms.
1 CO Games Development 2 Week 21 Turing Machines & Computability Gareth Bellaby.
MA/CSSE 474 Theory of Computation More Reduction Examples Non-SD Reductions.
Unsolvability and Infeasibility. Computability (Solvable) A problem is computable if it is possible to write a computer program to solve it. Can all problems.
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 15-1 Mälardalen University 2012.
Lecture 18. Unsolvability Before the 1930’s, mathematics was not like today. Then people believed that “everything true must be provable”. (More formally,
MA/CSSE 474 Theory of Computation Enumerability Reduction.
Halting Problem Introduction to Computing Science and Programming I.
1 Theory: Models of Computation  Readings:  Chapter 11 & Chapter 3.6 of [SG]  Content:  What is a Model  Model of Computation  Model of a Computing.
December 1, 2009Theory of Computation Lecture 21: Turing Machines II 1 Simulation of L n in T We will now construct a Post-Turing program Q that simulates.
CSE 311 Foundations of Computing I Lecture 26 Computability: Turing machines, Undecidability of the Halting Problem Spring
CSE 311 Foundations of Computing I Lecture 29 Computability: Turing machines, Undecidability of the Halting Problem Autumn 2012 CSE 3111.
©Brooks/Cole, 2003 Chapter 17 Theory of Computation.
Great Theoretical Ideas in Computer Science.
What computers just cannot do. (Part II) COS 116: 3/1/2011 Sanjeev Arora.
CS 3813: Introduction to Formal Languages and Automata Chapter 12 Limits of Algorithmic Computation These class notes are based on material from our textbook,
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Computation Motivating questions: What does “computation” mean? What are the similarities and differences between computation in computers and in natural.
Fundamentals of Informatics Lecture 13 Reduction Bas Luttik.
CSE 311 Foundations of Computing I Lecture 28 Computability: Other Undecidable Problems Autumn 2011 CSE 3111.
Capabilities of computing systems Numeric and symbolic Computations A look at Computability theory Turing Machines.
Fundamentals of Informatics Lecture 12 The Halting Problem Bas Luttik.
Overview of the theory of computation Episode 3 0 Turing machines The traditional concepts of computability, decidability and recursive enumerability.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples,
1 Introduction to Turing Machines
Umans Complexity Theory Lectures Lecture 1b: Turing Machines & Halting Problem.
On computable numbers, with an application to the ENTSCHEIDUNGSPROBLEM COT 6421 Paresh Gupta by Alan Mathison Turing.
Theory of Computation Foundations of Computer Science  Cengage Learning.
The Church-Turing Thesis Chapter Are We Done? FSM  PDA  Turing machine Is this the end of the line? There are still problems we cannot solve:
MA/CSSE 474 Theory of Computation Universal Turing Machine Church-Turing Thesis (Winter 2016, these slides were also used for Day 33)
Fall 2014 Lecture 29: Turing machines and more decidability CSE 311: Foundations of Computing.
MA/CSSE 474 Theory of Computation Universal Turing Machine Church-Turing Thesis Delayed due dates for HWs See updated schedule page. No class meeting.
Fall 2013 Lecture 27: Turing machines and decidability CSE 311: Foundations of Computing.
Modeling Arithmetic, Computation, and Languages Mathematical Structures for Computer Science Chapter 8 Copyright © 2006 W.H. Freeman & Co.MSCS SlidesTuring.
Introduction to Computing Science and Programming I
CIS Automata and Formal Languages – Pei Wang
CSE 311 Foundations of Computing I
Computable Problems.
Homework: Friday Read Section 4.1. In particular, you must understand the proofs of Theorems 4.1, 4.2, 4.3, and 4.4, so you can do this homework. Exercises.
Busch Complexity Lectures: Undecidable Problems (unsolvable problems)
Theory of Computation Turing Machines.
Decidable Languages Costas Busch - LSU.
Class 24: Computability Halting Problems Hockey Team Logo
CO Games Development 2 Week 21 Turing Machines & Computability
Turing Machines Everything is an Integer
Theory of Computation Lecture 23: Turing Machines III
Presentation transcript:

What computers just cannot do. COS 116: 2/28/2008 Sanjeev Arora

Administrivia In-class midterm in midterms week; Thurs Mar 13 (closed book; ? No lab in midterms week; review session instead.

“Prof, what’s with all the negative thinking?!?” An obvious motivation: Understand the limits of technology “What computers can’t do.”

The power of negative thinking….

In Science…. Impossibility of trisecting angle with ruler and compass (Galois) Often, impossibility resultdeep insight Examples Nothing travels faster than light Group Theory and much of modern math Relativity and modern physics

In Mathematics….. “Can mathematicians be replaced by machines?” Axioms – Set of statements Derivation rules – finite set of rules for deriving new statements from axioms Theorems – Statements that can be derived from axioms in a finite number of steps Mathematician – Person who tries to determine whether or not a statement is a theorem. [Hilbert, 1900] Math is axiomatic

“Given starting configuration for the game of life, determine whether or not cell (100,100) is ever occupied by a critter.” John Conway Understanding complex (or even simple) systems…. Can a simple set of mathematical equations “solve” problems like:

In computer science…… CAPTCHA (CMU Group) Computer generated test that Computers (at least with current algorithmic knowledge) seem unable to solve pass. Cryptography

More Computer Science… Automated Checking of Software? Windows XP: 40 million line program Can computers check whether or not it will ever crash?

Discussion Time What is a computation? How did Turing set about formalizing this age-old notion and what were the features of his model?

What is a 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 symbols A formalization of an age-old notion

Turing’s model 1 dimensional unlimited scratchpad (“infinite”) Only symbols are 0/1 (tape has a finite number of 1s) 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. STOP The Doubling Program

Example: What does this program do? 1. PRINT 0 2. GO RIGHT 3. GO TO STEP 1 if 1 SCANNED 4. GO TO STEP 2 if 0 SCANNED

Discussion Time Can this computational model do every computation that pseudocode can? How do we implement arithmetic instructions, arrays, loops?

Surprising facts about this “Micky-mouse” model It can do everything that pseudocode can Hence it can “simulate” any other physical system, and in particular simulate any other physically realizable “computer.” [CHURCH-TURING THESIS] THIS MODEL CAPTURES THE NOTION OF “COMPUTATION” ----TURING

Recall: Numbers and letters can be written in binary. A program can also be represented by a string of bits!

“Code” for a program Many conventions possible (e.g., ASCII) Davis’s convention: P Code (P) = Binary Representation

Programs and Data Usual viewpoint - A False Dichotomy! Program Data But can have - Program Code of Program

Universal Program U U “simulates” what P would do on that data Data U Program P (Sometimes also known as “interpreter”)

D V Automated Bug Checking Revisited Halting Problem Let 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 detect. Problem: But if P never halts, neither does the simulation. IDEAS???

Next Time: Halting Problem is unsolvable by another program Turn in on Tues: A Turing-Post program that prints the bit sequence 101 infinitely often, as well as its binary code Read this proof in the Davis article, and try to understand. Ponder the meaning of “Proof by contradiction.” How convincing is such a proof? “When something’s not right its wrong…” Bob Dylan