Turing Machines, Busy Beavers, and Big Questions about Computing

Slides:



Advertisements
Similar presentations
CS211 Problems: unsolvable, unfeasible and unsolved Topic 2: Halting problem.
Advertisements

David Evans CS200: Computer Science University of Virginia Computer Science Class 30: Models of Computation.
Class 39: Universality cs1120 Fall 2009 David Evans University of Virginia.
Big Words, Busy Beavers, and The Cake of Computing David Evans flickr: mwichary TAPESTRY Workshop University of Virginia 15.
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Variants.
Humans, Computers, and Computational Complexity J. Winters Brock Nathan Kaplan Jason Thompson.
Turing’s Bold Claim He could design a simple computer that could solve anything that was computable. He postulated that whatever fancy new computers were.
CIS 197 Computers in Society Professor John Peterson Philosophy Week!
Turing Machines CS 105: Introduction to Computer Science.
David Evans cs302: Theory of Computation University of Virginia Computer Science Lecture 2: Modeling Computers.
Class 19: Undecidability in Theory and Practice David Evans cs302: Theory of Computation University of Virginia Computer.
Theory of Computation. Computation Computation is a general term for any type of information processing that can be represented as an algorithm precisely.
Design and Analysis of Algorithms
Cs3102: Theory of Computation Class 20: Busy Beavers Spring 2010 University of Virginia David Evans Office hours: I am not able to hold my Thursday morning.
David Evans CS200: Computer Science University of Virginia Computer Science Class 31: Universal Turing Machines.
Lecture 14: Church-Turing Thesis Alonzo Church ( ) Alan Turing ( )
Cs3102: Theory of Computation Class 17: Undecidable Languages Spring 2010 University of Virginia David Evans.
Cs3102: Theory of Computation Class 18: Proving Undecidability Spring 2010 University of Virginia David Evans.
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.
Algorithms and their Applications CS2004 ( ) Dr Stephen Swift 1.2 Introduction to Algorithms.
David Evans Curing Cancer with Your Cell Phone: Why all Sciences are Becoming Computing Sciences.
1 CO Games Development 2 Week 21 Turing Machines & Computability Gareth Bellaby.
David Evans University of Virginia cs1120 Fall Lecture 38: Modeling Computing.
What Every Biologist, Chemist, and Poet Should Know about Computer Science David Evans UVaCompBio 25 April
Halting Problem Introduction to Computing Science and Programming I.
Cs3102: Theory of Computation Class 14: Turing Machines Spring 2010 University of Virginia David Evans.
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.
David Evans cs302: Theory of Computation University of Virginia Computer Science Lecture 16: Universality and Undecidability.
David Evans CS150: Computer Science University of Virginia Computer Science Lecture 36: Modeling Computing.
The Nature of Computing INEL 4206 – Microprocessors Lecture 2 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.
Computer Science 101 Theory of Computing. Computer Science is... The study of algorithms, with respect to –their formal properties –their linguistic realizations.
Complexity & Computability. Limitations of computer science  Major reasons useful calculations cannot be done:  execution time of program is too long.
Introduction to Computer Engineering CS/ECE 252, Spring 2008 Prof. David A. Wood Computer Sciences Department University of Wisconsin – Madison Adapted.
Fundamentals of Informatics Lecture 12 The Halting Problem Bas Luttik.
CS 154 Formal Languages and Computability April 12 Class Meeting Department of Computer Science San Jose State University Spring 2016 Instructor: Ron Mak.
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.
More About Turing Machines
Introduction to Computing Science and Programming I
The Halting Problem.
More variants of Turing Machines
Introduction to Computer Engineering
Instructor:Po-Yu Kuo 教師:郭柏佑
Class 27: Universal Turing Machines CS150: Computer Science
Class 30: Models of Computation CS200: Computer Science
CSE 311 Foundations of Computing I
Lecture 37: A Universal Computer
Turing Machines.
Introduction to Computer Engineering
فصل سوم The Church-Turing Thesis
Theory of Computation Turing Machines.
Class 36: The Meaning of Truth CS200: Computer Science
Instructor:Po-Yu Kuo 教師:郭柏佑
Introduction to Computer Engineering
Halting Problem.
Recall last lecture and Nondeterministic TMs
Class 24: Computability Halting Problems Hockey Team Logo
Half-life of knowledge
Tonga Institute of Higher Education IT 141: Information Systems
Class 31: Universal Turing Machines CS200: Computer Science
P.V.G’s College of Engineering, Nashik
Class 34: Models of Computation CS200: Computer Science
Tonga Institute of Higher Education IT 141: Information Systems
Class 26: Modeling Computing CS150: Computer Science
CO Games Development 2 Week 21 Turing Machines & Computability
Turing Machines Everything is an Integer
Lecture 23: Computability CS200: Computer Science
Introduction to Computer Engineering
Presentation transcript:

David Evans http://www.cs.virginia.edu/evans Turing Machines, Busy Beavers, and Big Questions about Computing David Evans http://www.cs.virginia.edu/evans

My Research Group Computer Security: computing in the presence of adversaries Last summer student projects: Privacy in Social Networks (Adrienne Felt) Thwarting Spyware (Meghan Knoll) Hiding Keys in Software (Carly Simpson)

Computer Science = Doing Cool Stuff with Computers?

Toaster Science = Doing Cool Stuff with Toasters?

Computer Science Mathematics is about declarative (“what is”) knowledge; Computer Science is about imperative (“how to”) knowledge The Study of Information Processes How to describe them How to predict their properties How to implement them quickly, cheaply, and reliably Language Logic Engineering

Most Science is About Information Processes Which came first, the chicken or the egg? How can a (relatively) simple, single cell turn into a chicken?

Understanding Information Processes Art: How to describe information processes Designing programming languages Inventing algorithms Science: Predicting properties What resources will a computation consume? Will a program produce the correct output? Engineering: Implementing processes How to build hardware and software to efficiently carry out information processes

“Computers” before WWII

Mechanical Computing

Modeling Pencil and Paper ... ... # C S S A 7 2 3 How long should the tape be? “Computing is normally done by writing certain symbols on paper. We may suppose this paper is divided into squares like a child’s arithmetic book.” Alan Turing, On computable numbers, with an application to the Entscheidungsproblem, 1936

Modeling Brains Rules for steps Remember a little “For the present I shall only say that the justification lies in the fact that the human memory is necessarily limited.” Alan Turing

Turing’s Model A B H ... ... Input: 0 Write: 1 Move:  Start Input: 0 Input: 0 Write: 1 Move:  Start A Input: 0 Write: 1 Move:  B Input: 1 Write: 1 Move: Halt H Input: 1 Write: 1 Move: 

What makes a good model? Copernicus F = GM1M2 / R2 Newton Ptolomy

Questions about Turing’s Model How well does it match “real” computers? Can it do everything they can do? Can they do everything it can do? Does it help us understand and reason about computing?

Power of Turing Machine Can it add? Can it carry out any computation? Can it solve any problem?

Universal Machine Description of a Turing Machine M Result tape of running M on Input Input Universal Machine A Universal Turing Machine can simulate any Turing Machine running on any Input!

Manchester Illuminated Universal Turing Machine, #9 from http://www.verostko.com/manchester/manchester.html

Church-Turing Thesis All mechanical computers are equally powerful* There exists a Turing machine that can simulate any mechanical computer Any computer that is powerful enough to simulate a Turing machine, can simulate any mechanical computer *Except for practical limits like memory size, time, energy, etc.

What This Means Your cell phone, watch, iPod, etc. has a processor powerful enough to simulate a Turing machine A Turing machine can simulate the world’s most powerful supercomputer Thus, your cell phone can simulate the world’s most powerful supercomputer (it’ll just take a lot longer and will run out of memory)

Recap A computer is something that can carry out well-defined steps All computers are equally powerful If a machine can simulate any step of another machine, it can simulate the other machine (except for physical limits) What matters is the program that defines the steps

Are there problems computers can’t solve?

The “Busy Beaver” Game Design a Turing Machine that: Uses two symbols (e.g., “0” and “1”) Starts with a tape of all “0”s Eventually halts (can’t run forever) Has N states Goal is to run for as many steps as possible (before halting) Tibor Radó, 1962

Busy Beaver: N = 1 A H ... ... BB(1) = 1 Most steps a 1-state Input: 0 Write: 1 Move: Halt Start A H BB(1) = 1 Most steps a 1-state machine that halts can make

A B H ... ... BB(2) = 6 Input: 0 Write: 1 Move:  Start Input: 0 Input: 0 Write: 1 Move:  Start A Input: 0 Write: 1 Move:  B Input: 1 Write: 1 Move: Halt H Input: 1 Write: 1 Move:  BB(2) = 6

C B A F E D H 0/0/R 0/1/R 0/1/L 1/1/R 1/0/R 1/0/L 1/1/H 0/1/L 1/0/L Start 1/0/R A 1/0/L F 1/1/H 0/1/L E 1/0/L D 1/1/R 0/0/L 0/0/R H 6-state machine found by Buntrock and Marxen, 2001

(1730 digits) Best found before 2001, only 925 digits! A Start B C D E F 0/1/R 1/0/L 0/0/R 1/0/R 0/1/L 1/1/R 0/0/L H 1/1/H 300232771652356282895510301834134018514775433724675250037338180173521424076038326588191208297820287669898401786071345848280422383492822716051848585583668153797251438618561730209415487685570078538658757304857487222040030769844045098871367087615079138311034353164641077919209890837164477363289374225531955126023251172259034570155087303683654630874155990822516129938425830691378607273670708190160525534077040039226593073997923170154775358629850421712513378527086223112680677973751790032937578520017666792246839908855920362933767744760870128446883455477806316491601855784426860769027944542798006152693167452821336689917460886106486574189015401194034857577718253065541632656334314242325592486700118506716581303423271748965426160409797173073716688827281435904639445605928175254048321109306002474658968108793381912381812336227992839930833085933478853176574702776062858289156568392295963586263654139383856764728051394965554409688456578122743296319960808368094536421039149584946758006509160985701328997026301708760235500239598119410592142621669614552827244429217416465494363891697113965316892660611709290048580677566178715752354594049016719278069832866522332923541370293059667996001319376698551683848851474625152094567110615451986839894490885687082244978774551453204358588661593979763935102896523295803940023673203101744986550732496850436999753711343067328676158146269292723375662015612826924105454849658410961574031211440611088975349899156714888681952366018086246687712098553077054825367434062671756760070388922117434932633444773138783714023735898712790278288377198260380065105075792925239453450622999208297579584893448886278127629044163292251815410053522246084552761513383934623129083266949377380950466643121689746511996847681275076313206 (1730 digits) Best found before 2001, only 925 digits!

Busy Beaver Numbers BB(1) = 1 BB(2) = 6 BB(3) = 21 BB(4) = 107 BB(5) = Unknown! The best found so far is 47,176,870 BB(6) > 101730

Finding BB(5) A Why not just try all 5-state Turing Machines? Transitions from A on 0: 5 possible states + Halt * 2 possible write symbols * 2 possible directions (L, R) = 24 possibilities * 24 transitions from A on 1 A 5 states: (242)5 ~ 6.3 * 1013

The Halting Problem Input: a description of a Turing Machine Output: “1” if it eventually halts, “0” if it never halts. Is it possible to design a Turing Machine that solves the Halting Problem? Note: the solver must always finish!

Example A B H Halting Problem Solver 0 (it never halts) 0/0/R Start

Example Halting Problem Solver Halting Problem Solver

Impossibility Proof! H X Y Halting Halting Problem Problem Solver

Impossible to make Halting Problem Solver If it outputs “0” on the input, the input machine would halt (so “0” cannot be correct) If it outputs “1” on the input, the input machine never halts (so “1” cannot be correct) If it halts, it doesn’t halt! If it doesn’t halt, it halts!

Busy Beaver Numbers Input: N (number of states) Output: BB(N) The maximum number of steps a Turing Machine with N states can take before halting Is it possible to design a Turing Machine that solves the Busy Beaver Problem?

Summary Computer Science is the study of information processes: all about problem solving Almost all science today depends on computing All computers are deeply equivalent Some things cannot be computed by any machine

Challenges Specify a number bigger than BB(11111111111111111) on an index card Find a TM with 6 states that halts after more than 101730 steps

Computer Science at UVa New Interdisciplinary Major in Computer Science for A&S students Take CS150 this Spring Every scientist needs to understand computing, not just as a tool but as a way of thinking Lots of opportunities to get involved in research groups

Questions http://www.cs.virginia.edu/evans evans@cs.virginia.edu