This preview shows pages 1–5. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: CSC 165 uncomputable problems Danny Heap heap@cs.toronto.edu http://www.cdf.toronto.edu/ f heap/165/F10/ slide 1 an algorithm for everything? Many of us become interested in computers because we want to solve problems in a systematic, repeatable way. We write programs that implement our systematic solutions, and at the heart of these are algorithms : sequences of executable steps. You already have lots of experience devising algorithms in Python. However, Alonzo Church (lambda calculus) and Alan Turing (Turing machines) showed, before they even had computers we would recognize today, that some problems can't be solved by algorithms. By anybody. On anything we would conceive of as a computer. slide 2 caveats. . . Turing and Church took pains to show that uncomputable problems existed for any reasonable computational model  anything like a computer running a program. We'll be a bit more modest and show that problems exist for which you cannot write an algorithm to solve them in Python. It turns out that Python isn't the bottleneck. Modern programming languages running on modern computers are Turing Complete  they can solve (and fail to solve) the same class of problems as the abstract Turing machine considered by Alan Turing. slide 3 solve this Consider the following short function. You should be able to devise an algorithm that predicts whether it will halt, without actually running it...
View
Full
Document
This note was uploaded on 10/13/2011 for the course COMPUTER S CSC 165 taught by Professor Dannyheap during the Fall '10 term at University of Toronto Toronto.
 Fall '10
 DannyHeap
 Computer Science

Click to edit the document details