+ All Categories
Home > Documents > Big Words, Busy Beavers, and The Cake of Computing David Evans flickr: mwichary TAPESTRY Workshop...

Big Words, Busy Beavers, and The Cake of Computing David Evans flickr: mwichary TAPESTRY Workshop...

Date post: 17-Dec-2015
Category:
Upload: jacob-riley
View: 213 times
Download: 0 times
Share this document with a friend
Popular Tags:
58
Big Words, Busy Beavers, and The Cake of Computing David Evans www.cs.virginia.edu/ evans flickr: mwichary TAPESTRY Workshop University of Virginia 15 July 2009
Transcript
Page 1: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Big Words, Busy Beavers, andThe Cake of Computing

David Evanswww.cs.virginia.edu/evans

flickr: mwichary

TAPESTRY WorkshopUniversity of Virginia15 July 2009

Page 2: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

flickr: chotda

graphicsgames

web appsGUIsJava

Page 3: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Frosting: Doing Cool Stuff with Computers

flickr: taryn

flickr: sukey2

Page 4: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

flickr: jcsupersmith

Page 5: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

NCAA DefinitionThe current core-curriculum areas were legislated in the early 1980's. At that time, computer-science courses were programming based and academic in nature. In today's secondary education environment, the vast majority of computer courses no longer contain programming elements but teach life skills, such as the use of a desktop computer and software applications. Although these software and keyboarding skills may be beneficial to college-bound students, they are not academic in nature. … It should be noted that computer courses that include a significant element of programming might be encompassed in the mathematics-curriculum requirement.

Revision of NCAA Eligibility Requirements, August 2005

Page 6: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

flickr: chotda

graphicsgames

web appsGUIsJava

Recursion

Universality

Abstraction

Page 7: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Recursive Definitions

Page 8: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

What’s the l o n g e s t

word in the English

language?

Page 9: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Longest Words?honorificabilitudinitatibus (27 letters, longest by Shakespeare)

With honor.antidisestablishmentarianism (28 letters)

Movement against division of church and state.hippopotomonstrosesquipedaliophobia (35 letters)

Fear of long words.pneumonoultramicroscopicsilicovolcanoconiosis (45 letters)

(longest word in most dictionaries)Lung disease contracted from volcanic particles.

Like all words, these words are “made up”.

Page 10: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Making Longer Wordsantihippopotomonstrosesquipedaliophobia

Against the fear of long words.

antiantihippopotomonstrosesquipedaliophobiaAgainst a thing against the fear of long

words.

Page 11: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Language is Recursive No matter what word you think is the longest word, I can always make up a longer one!

word ::= anti-word

By itself, this definition of word is circular.

Page 12: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Zero, One, Infinity

word ::= anti-word

word ::= hippopotomonstrosesquipedaliophobia

This rule can make 0 words.

This rule can make 1 word.

word ::= anti-wordword ::= hippopotomonstrosesquipedaliophobia

These two rules can make infinitely many words, enough to express all ideas in the universe!

Page 13: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Recursive Definitions Everywhere

• Language– Words, Sentences, Structures

• Nature– Plant Growth, Quantum Physics, DNA

• Mathematics– Numbers, Arithmetic Algorithms

• Music– Harmony, structure

• Computing– Data, procedures

Red Hot and Blue by Paul DiOrio, Rachel PhillipsWes Weimer may talk more about this tomorrow!

Page 14: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

flickr: chotda

graphicsgames

web appsGUIsJava

Recursion

Universality

Abstraction

Page 15: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Biggest Number Game

• When I say “GO”, write down the biggest number you can in 30 seconds.

• Requirement: – Must be an exact number– Must be defined mathematically

• Biggest number wins!

Page 16: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Countdown Clock

3029282726252423222120191817161514131211109876543210STOP

Page 17: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

What’s so special about computers?

Apollo Guidance Computer (1969)

Colossus (1944)

Cray-1 (1976)

Palm Pre (2009)Flickr: louisvolantApple II (1977)

Honeywell Kitchen Computer (1969)

Page 18: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Toaster Science?

Page 19: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

“Computers” before WWII

Page 20: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Mechanical Computing

Page 21: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Modeling Computers• Input– Without it, we can’t describe a problem

• Output– Without it, we can’t get an answer

• Processing– Need some way of getting from the input to the

output• Memory– Need to keep track of what we are doing

Page 22: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Modeling Input

Engelbart’s mouse and keypad

Punch Cards

Altair BASIC Paper Tape, 1976

Page 23: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Turing’s Model

“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

Page 24: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Modeling Pencil and Paper

# C S S A 7 2 3

How long should the tape be?

... ...

Page 25: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Modeling Output

• Blinking lights are cool, but hard to model

• Use the tape: output is what is written on the tape at the end

Connection Machine CM-5, 1993

Page 26: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Modeling Processing (Brains)

Look at the current state of the computation

Follow simple rules about what to do next

Page 27: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Modeling Processing• Evaluation Rules– Given an input on our tape, how do we evaluate

to produce the output• What do we need:– Read what is on the tape at the current square– Move the tape one square in either direction– Write into the current square

0 0 1 1 0 0 1 0 0 0

Is that enough to model a computer?

Page 28: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Modeling Processing (Brains)

• Follow simple rules• Remember what you

are doing

“For the present I shall only say that the justification lies in the fact that the human memory is necessarily limited.”

Alan Turing

Page 29: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Turing’s Model: Turing Machine

1

Start

2

Input: #Write: #Move:

# 1 0 1 1 0 1 1... ...1 0 1 1 0 1 1 1 #

Input: 1Write: 0Move:

Input: 1Write: 1Move:

Input: 0Write: 0Move: 3

Input: 0Write: #Move: Halt

Infinite Tape: Finite set of symbols, one in each square Can read/write one square each step

Controller:Limited (finite) number of states

Follow rules based on current state and read symbol

Write one square each step, move left or right or halt, change state

Page 30: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

What makes a good model?

Copernicus

F = GM1M2 / R2

Newton Ptolomy

Page 31: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

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?

Page 32: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Church-Turing Thesis• All mechanical computers are equally powerful*

• There exists some 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, display, energy, etc.

Page 33: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Power of Turing Machine

• Can it add?

• Can it carry out any computation?

• Can it solve any problem?

Page 34: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Performing Addition

• Input: a two sequences of digits, separated by + with # at end.

e.g., # 1 2 9 3 5 2 + 6 3 5 9 4 #• Output: sum of the two numbers

e.g., # 1 9 2 9 4 6 #

Page 35: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Addition ProgramFind the rightmost digit of the first number:

A: look for +Start

+, +, L

B: read last digit

0, 0, R

1, 1, R

9, 9, R...

Read Write Move

C00, X, R

C99, X, R

C11, X, R

...

Page 36: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Addition, ContinuedFind the rightmost digit of the second number:

C4

4, X, R

Must duplicate this for each first digit – states keep track of first digit!

look for #

1, 1, RX, X, R ...

#, #, RD4: read last digit

E40, X, R

E7

3, X, R

6, X, R E10

......

Page 37: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Power of Turing Machine

Can it add?

• Can it carry out any computation?

• Can it solve any problem?

Page 38: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Universal Machine

Description of a Turing Machine M Input

UniversalMachine

Result tape of running M on Input

A Universal Turing Machine can simulateany Turing Machine running on any Input!

Page 39: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

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

Page 40: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Universal Computing Machine

2-state, 3-symbol Turing machine proved universal by Alex Smith in 2007

Page 41: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

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)

Page 42: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Are there problems computers can’t solve?

Page 43: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

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: machine runs for as many steps as possible before eventually halting

Tibor Radó, 1962

Page 44: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Busy Beaver: N = 1

AStart

Input: 0Write: 1Move: Halt

0 0 0 0 0 0 0 0... ...

0 0 0 0 0 0 0 0 0

H

BB(1) = 1 Most steps a 1-state machine that halts can make

Page 45: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

AStart

B

Input: 0Write: 1Move:

0 0 0 0 0 0 0 0... ...

0 0 0 0 0 0 0 0 0

Input: 0Write: 1Move:

H

Input: 1Write: 1Move: Halt

Input: 1Write: 1Move:

BB(2) = 6

Page 46: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

AStart

BC

D E

F

0/1/R

1/0/L

0/0/R

1/0/R

0/1/L 1/1/R

0/0/L

1/0/L

0/0/R

1/1/R

0/1/L

H

1/1/H

6-state machine found by Buntrock and Marxen, 2001

Page 47: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

AStart

BC

DE

F

0/1/R

1/0/L

0/0/R

1/0/R

0/1/L 1/1/R

0/0/L

1/0/L

0/0/R

1/1/R

0/1/L

H

1/1/H

300232771652356282895510301834134018514775433724675250037338180173521424076038326588191208297820287669898401786071345848280422383492822716051848585583668153797251438618561730209415487685570078538658757304857487222040030769844045098871367087615079138311034353164641077919209890837164477363289374225531955126023251172259034570155087303683654630874155990822516129938425830691378607273670708190160525534077040039226593073997923170154775358629850421712513378527086223112680677973751790032937578520017666792246839908855920362933767744760870128446883455477806316491601855784426860769027944542798006152693167452821336689917460886106486574189015401194034857577718253065541632656334314242325592486700118506716581303423271748965426160409797173073716688827281435904639445605928175254048321109306002474658968108793381912381812336227992839930833085933478853176574702776062858289156568392295963586263654139383856764728051394965554409688456578122743296319960808368094536421039149584946758006509160985701328997026301708760235500239598119410592142621669614552827244429217416465494363891697113965316892660611709290048580677566178715752354594049016719278069832866522332923541370293059667996001319376698551683848851474625152094567110615451986839894490885687082244978774551453204358588661593979763935102896523295803940023673203101744986550732496850436999753711343067328676158146269292723375662015612826924105454849658410961574031211440611088975349899156714888681952366018086246687712098553077054825367434062671756760070388922117434932633444773138783714023735898712790278288377198260380065105075792925239453450622999208297579584893448886278127629044163292251815410053522246084552761513383934623129083266949377380950466643121689746511996847681275076313206

(1730 digits)

Best found before 2001, only 925 digits!

In Dec 2007, Terry and Shawn Ligocki beat this: 2879 digits!

Page 48: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Busy Beaver NumbersBB(1) = 1BB(2) = 6BB(3) = 21BB(4) = 107BB(5) = Unknown!

Best so far is 47,176,870

BB(6) > 102879 Discovered 2007

Winning the “Biggest number” game: BB(BB(BB(BB(111111111))))

flickr: climbnh2003

Page 49: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Computing 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?

Page 50: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

The Halting Problem

• Input: a description of a Turing Machine• Output: “1” if it eventually halts, “0” if it never

halts, starting on a tape full of “0”s.

Is it possible to design a Turing Machine that solves the Halting Problem?

“Solves” means for all inputs, the machine finishes and produces the right answer.

Page 51: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Example

AStart

B

0/0/R

H

1/1/H

0/0/L

0 (it never halts)

HaltingProblem

Solver

Page 52: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

HaltingProblem

Solver

HaltingProblem

Solver

Example

Page 53: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Impossibility Proof!

HaltingProblem

Solver

HXY

HaltingProblem

SolverF

0, 0, H1, 0, R

*, *, L

*, *, R

Page 54: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

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!

Page 55: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Busy Beaver is Impossible Too!

• If you could solve it, could solve Halting Problem:– Input machine has N states– Compute BB(N)– Simulate input machine for BB(N) steps– If it ever halts, it must halt by now

• ... but we know that is impossible, so it must be impossible to computer BB(N)

The BB numbers are so big you can’t even compute them!

Page 56: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Recap• A computer is something that can carry out

well-defined steps:– Read and write on scratch paper, follow rules, keep

track of state• 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

Page 57: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

You can have your frosting and eat cake too!

Page 58: Big Words, Busy Beavers, and The Cake of Computing David Evans  flickr: mwichary TAPESTRY Workshop University of Virginia 15.

Questions

David [email protected]

http://www.computingbook.org/

Some Sources:Matthias Felleisen, Shriram Krishnamurthi , Why Computer Science Doesn't Matter, Communications of the ACM July 2009.

Scott Aaronson, Who Can Name the Bigger Number?, http://www.scottaaronson.com/writings/bignumbers.html


Recommended