CS1001 Lecture 23. Overview Incompleteness and the Halting Problem Incompleteness and the Halting Problem Methods in Artificial Intelligence Methods in.

Slides:



Advertisements
Similar presentations
Turing Machines January 2003 Part 2:. 2 TM Recap We have seen how an abstract TM can be built to implement any computable algorithm TM has components:
Advertisements

Copyright © 2012 Pearson Education, Inc. Chapter 12: Theory of Computation Computer Science: An Overview Eleventh Edition by J. Glenn Brookshear.
Everything you always wanted to know about theoretical computer science (but were afraid to ask) Dimitris Achlioptas Microsoft Research.
Computability & Complexity. Scenario I can’t write this program because I’m too dumb.
Algorithms Sipser 3.3 (pages ). CS 311 Mount Holyoke College 2 Computability Hilbert's Tenth Problem: Find “a process according to which it can.
CSE332: Data Abstractions Lecture 27: A Few Words on NP Dan Grossman Spring 2010.
David Evans CS150: Computer Science University of Virginia Computer Science Lecture 40: Computing with Glue and Photons.
Based on Slides by Zeph Grunschlag from Columbia University www1.cs.columbia.edu/~zeph/3261/L14/L14.ppt Basic Computability Reading Material: J. Savage,
CSE115/ENGR160 Discrete Mathematics 03/03/11 Ming-Hsuan Yang UC Merced 1.
CS 310 – Fall 2006 Pacific University CS310 Turing Machines Section 3.1 November 6, 2006.
Dr. Muhammed Al-Mulhem 1ICS ICS 535 Design and Implementation of Programming Languages Part 1 Computability (Chapter 2) ICS 535 Design and Implementation.
Lecture 5 Turing Machines
CHAPTER 3 The Church-Turing Thesis
1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:
Foundations of (Theoretical) Computer Science
CIS 197 Computers in Society Professor John Peterson Philosophy Week!
November 3, 2009Introduction to Cognitive Science Lecture 15: Theory of Computation II 1 Languages Accepted by Turing Machines Example 2: Language L =
1 Foundations of Software Design Fall 2002 Marti Hearst Lecture 29: Computability, Turing Machines, Can Computers Think?
Theory of Computation. Computation Computation is a general term for any type of information processing that can be represented as an algorithm precisely.
1 Turing Machines. 2 A Turing Machine Tape Read-Write head Control Unit.
More Theory of Computing
Turing Machines Chapter Plan Turing Machines(TMs) – Alan Turing Church-Turing Thesis – Definitions Computation Configuration Recognizable vs. Decidable.
David Evans Turing Machines, Busy Beavers, and Big Questions about Computing.
Class 37: Computability in Theory and Practice cs1120 Fall 2011 David Evans 21 November 2011 cs1120 Fall 2011 David Evans 21 November 2011.
Introduction to CS Theory Lecture 15 –Turing Machines Piotr Faliszewski
Unsolvability and Infeasibility. Computability (Solvable) A problem is computable if it is possible to write a computer program to solve it. Can all problems.
Alan Turing WWII code-breaker mathematical proof of ‘Turing machines’ …in particular, “Universal Turing machine” laid foundations of computer science father.
How Solvable Is Intelligence? A brief introduction to AI Dr. Richard Fox Department of Computer Science Northern Kentucky University.
Halting Problem Introduction to Computing Science and Programming I.
©Brooks/Cole, 2003 Chapter 17 Theory of Computation.
Chapter 11 Theory of Computation. © 2005 Pearson Addison-Wesley. All rights reserved 11-2 Chapter 11: Theory of Computation 11.1 Functions and Their Computation.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
CS404 Design and Analysis of Algorithms BBy DDr. M V S Peri Sastry BB.E, PhD(BITS-Pilani)
Complexity & Computability. Limitations of computer science  Major reasons useful calculations cannot be done:  execution time of program is too long.
Computation Motivating questions: What does “computation” mean? What are the similarities and differences between computation in computers and in natural.
Computer Theory Michael J. Watts
Capabilities of computing systems Numeric and symbolic Computations A look at Computability theory Turing Machines.
Copyright © 2012 Pearson Education, Inc. Chapter 12: Theory of Computation Computer Science: An Overview Eleventh Edition by J. Glenn Brookshear.
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Computer Science: An Overview Eleventh Edition by J. Glenn Brookshear Chapter.
Recursively Enumerable and Recursive Languages
Chapter 11 Theory of Computation © 2007 Pearson Addison-Wesley. All rights reserved.
1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.
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 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
Chapter 12 Theory of Computation Introduction to CS 1 st Semester, 2014 Sanghyun Park.
CS 154 Formal Languages and Computability April 12 Class Meeting Department of Computer Science San Jose State University Spring 2016 Instructor: Ron Mak.
Recall last lecture and Nondeterministic TMs Ola Svensson.
1 Computing Functions with Turing Machines. 2 A function Domain Result Region has:
Chapter 9 Turing Machines What would happen if we change the stack in Pushdown Automata into some other storage device? Truing Machines, which maintains.
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:
CS 154 Formal Languages and Computability April 5 Class Meeting Department of Computer Science San Jose State University Spring 2016 Instructor: Ron Mak.
Modeling Arithmetic, Computation, and Languages Mathematical Structures for Computer Science Chapter 8 Copyright © 2006 W.H. Freeman & Co.MSCS SlidesTuring.
CSE15 Discrete Mathematics 03/06/17
CSE202: Introduction to Formal Languages and Automata Theory
Introduction to Computing Science and Programming I
Chapter 12: Theory of Computation
Chapter 12: Theory of Computation
Chapter 11 Theory of Computation © 2007 Pearson Addison-Wesley.
Turing Machines Space bounds Reductions Complexity classes
Pumping Lemma Revisited
Ch. 11 Theory of Computation
Modeling Computation:
Chapter 12: Theory of Computation
Computing Functions with Turing Machines
Class 26: Modeling Computing CS150: Computer Science
Algorithms CSCI 235, Spring 2019 Lecture 37 The Halting Problem
Presentation transcript:

CS1001 Lecture 23

Overview Incompleteness and the Halting Problem Incompleteness and the Halting Problem Methods in Artificial Intelligence Methods in Artificial Intelligence

Reading Brookshear – Chapters 10 and 11 Brookshear – Chapters 10 and 11

Functions Computer Science is concerned with implementing and evaluating mathematical functions Computer Science is concerned with implementing and evaluating mathematical functions There is now a practical concern – how to actually produce an output given an input There is now a practical concern – how to actually produce an output given an input –Functions can be classified as “computable” or “non-computable”

Turing Machines A theoretical device A theoretical device –Tape (memory) –A head (for reading/writing the tape) –Instructions for moving/reading/writing based on a current state –As powerful as any modern machine (in other words, it can compute everything a modern computer can compute) –

Example The “successor” function The “successor” function –A function that takes an input and returns its value plus 1 –Succ(x) = x + 1 –Succ(5) is equal to 6

Turing Computable Succ is Turing Computable because it can be computed using a turing machine Succ is Turing Computable because it can be computed using a turing machine How? How? –Start with the number (input) in binary on the tape –Go to the rightmost bit, if 0, change to 1 and halt –Otherwise, set to 0 and enter the “carry” state. Then, move backwards trying to find a 0…

Church-Turing Thesis “Turing-Computable” means the same thing as Algorithmically computable. “Turing-Computable” means the same thing as Algorithmically computable. In other words, if you can prove a function computable on a turing machine, it must also be computable by a definite algorithm In other words, if you can prove a function computable on a turing machine, it must also be computable by a definite algorithm The converse also holds The converse also holds

Computable vs Unknown Key Point: A non computable function is one where there is a definite correct answer and we have enough information to find it. However, actually getting the answer from the inputs is not feasible due to the complexity of the problem. Key Point: A non computable function is one where there is a definite correct answer and we have enough information to find it. However, actually getting the answer from the inputs is not feasible due to the complexity of the problem. This is not like asking “will the human race exist in 5,000 years” – we do not have enough information to answer that This is not like asking “will the human race exist in 5,000 years” – we do not have enough information to answer that

Traveling Salesman Problem

The Halting Problem Given a program and inputs, is it possible to write another program to predict whether the initial program will terminate or loop for ever? Given a program and inputs, is it possible to write another program to predict whether the initial program will terminate or loop for ever? No! No!

Public Key Cryptography