Course Overview Changing Perspectives across the course Ganesh

  • Slides: 29
Download presentation
Course Overview Changing Perspectives across the course Ganesh Gopalakrishnan CS 3100, Fall 2010 School

Course Overview Changing Perspectives across the course Ganesh Gopalakrishnan CS 3100, Fall 2010 School of Computing University of Utah School of Computing 1

CS 3100 Learning Objectives Reinforce discrete math Understand state machines You will use these

CS 3100 Learning Objectives Reinforce discrete math Understand state machines You will use these ideas in writing formal documentation for your software / hardware designs in the field Example : UML state diagrams for vending machines Example : The structure of inputs taken by a tool you design School of Computing 2

CS 3100 Learning Objectives Understand more complex computational structures Example : what happens if

CS 3100 Learning Objectives Understand more complex computational structures Example : what happens if we have one stack Understand how Machines and Textual representations can denote Languages Example : RE and NFA / DFA Understand when non-determinism becomes ESSENTIAL Example : THERE IS NO DPDA FOR { W W^R | W in sigma* } There is no deterministic parsing scheme for this language School of Computing 3

Largely, things were about patterns || ||| || || …. We studied that sometimes

Largely, things were about patterns || ||| || || …. We studied that sometimes delicately specified patterns disappear when blended with “white noise” Example : { (^j )^j | j >= 0 } has CONTEXT-FREE patterns This pattern is destroyed if you UNION this language with (* )* OR Worse still, {(, ) }^* Much like Mozart can be drowned by Cacophony ! School of Computing 4

How far can we carry these “tricks” forward ? Can we define the notion

How far can we carry these “tricks” forward ? Can we define the notion of THE MOST POWERFUL COMPUTER ON EARTH? (According to who? To Baby Huey? To Clifford? … Fred Flintston? ) Can we define the ULTIMATE COMPUTER? No other computational approach can be more powerful? That space / time / memory are arbitrary quantities? What is “screaming fast” may not be so in 10 years? Recall : in 1993, Pentium-2 clocked at a “screaming” 68 MHz School of Computing 5

On Computation Ganesh Gopalakrishnan CS 3100, Fall 2010 School of Computing University of Utah

On Computation Ganesh Gopalakrishnan CS 3100, Fall 2010 School of Computing University of Utah School of Computing 6

Why Compute? l Tool usage is a measure of intelligence and power l Information

Why Compute? l Tool usage is a measure of intelligence and power l Information processing tools have, historically, been widely sought School of Computing 7

Info. processing helped calculate artillery ranges! School of Computing 8

Info. processing helped calculate artillery ranges! School of Computing 8

Early Info. Processing Tools were Clunky and Big! (e. g. Babbage’s Difference Engine, now

Early Info. Processing Tools were Clunky and Big! (e. g. Babbage’s Difference Engine, now rebuilt at the London Museum) School of Computing 9

With Advances in Electronics have come Faster Computing Devices! School of Computing 10

With Advances in Electronics have come Faster Computing Devices! School of Computing 10

These Computers are now Everywhere! School of Computing 11

These Computers are now Everywhere! School of Computing 11

They will soon replace bar-codes on milk-cans! (RFID tags being experimented by Wal-mart). (Photo

They will soon replace bar-codes on milk-cans! (RFID tags being experimented by Wal-mart). (Photo courtesy of wikipedia. ) School of Computing 12

Supercomputers have eliminated the need to do experiments by building scale models of airplanes,

Supercomputers have eliminated the need to do experiments by building scale models of airplanes, or mixing (dangerous) chemicals ! IBM Blue. Gene Does 400 Trillion multiplications per second ! (Photo courtesy of IBM. ) School of Computing 13

Virtual Roll-out of Boeing 787 “Dreamliner” Entire Airplane being Designed and Flown inside a

Virtual Roll-out of Boeing 787 “Dreamliner” Entire Airplane being Designed and Flown inside a Computer (Simulation Program). The first plane to fly is the real one (not a mockup model). (Photo courtesy of Boeing. ) School of Computing 14

Such supercomputers can now safely simulate explosions ! This simulation employed 600 processors for

Such supercomputers can now safely simulate explosions ! This simulation employed 600 processors for approximately 1 week in a sophisticated parallel application to simulate all of the fluid dynamics, thermodynamics, chemical reactions and structural mechanics of this system from fundamental laws of physics. School of Computing 15

* How do we understand various manifestations of computation in a unified manner? *

* How do we understand various manifestations of computation in a unified manner? * How do we study the essential properties of computing devices? We want approaches that allow us to separate the Essential from the Accidental > Computers are changing in design details > They were growing predictably fast for several decades > Their I/O modalities keep changing (punched card, command line, point and click, gesture) > Forgetting all these Accidental aspects, what Essential properties are true for ALL computing devices? School of Computing 16

* How do we understand various manifestations of computation in a unified manner? *

* How do we understand various manifestations of computation in a unified manner? * How do we study the essential properties of computing devices? Answer : * build abstract machines devoid of “sundry details” Conundrum: * Several such formal models (abstract machines) have been proposed Fundamental Result (“Church’s Thesis”): All these models are equivalent! School of Computing 17

Alonzo Church : 1903 - 1995 http: //en. wikipedia. org/wiki/Alonzo_Church School of Computing 18

Alonzo Church : 1903 - 1995 http: //en. wikipedia. org/wiki/Alonzo_Church School of Computing 18

Alan Turing’s model (“Turing Machine”) was formulated in the 1930 s [Turing, 1912 –

Alan Turing’s model (“Turing Machine”) was formulated in the 1930 s [Turing, 1912 – tragically 1954] School of Computing 19

Gordon Brown’s Apology: PM's apology to codebreaker Alan Turing: we were inhumane • Enigma

Gordon Brown’s Apology: PM's apology to codebreaker Alan Turing: we were inhumane • Enigma genius chemically castrated for being gay • Admission comes 55 years after Turing took his life http: //www. guardian. co. uk/world/2009/sep/11/pm-apology-to-alan-turing School of Computing 20

Interesting factoid: Church was Turing’s Ph. D advisor (well, Turing had done most of

Interesting factoid: Church was Turing’s Ph. D advisor (well, Turing had done most of his work, then went to Princeton to “officially earn a Ph. D”) School of Computing 21

First, let us see the full taxonomy of computational devices School of Computing 22

First, let us see the full taxonomy of computational devices School of Computing 22

Models of computation proposed by Church and Turing: Lambda… Naw Naw Jolly good advisor,

Models of computation proposed by Church and Turing: Lambda… Naw Naw Jolly good advisor, It is TAPE, HEAD, Halt, Loop School of Computing 23

Universality of Lambda Calculus S and K are universal !! S = L x

Universality of Lambda Calculus S and K are universal !! S = L x y z. x z (y z) K=Lxy. x School of Computing 24

Two-counter machines are universal Two infinite-precision integer counters are enough to express ALL computations

Two-counter machines are universal Two infinite-precision integer counters are enough to express ALL computations School of Computing 25

Two Stacks (plus finite control) are enough School of Computing 26

Two Stacks (plus finite control) are enough School of Computing 26

Two infinite stacks are like one infinite tape … School of Computing 27

Two infinite stacks are like one infinite tape … School of Computing 27

A Single-Instruction RISC Computer http: //en. wikipedia. org/wiki/One_instruction_set_computer subleq a, b, c ; Mem[b]

A Single-Instruction RISC Computer http: //en. wikipedia. org/wiki/One_instruction_set_computer subleq a, b, c ; Mem[b] = Mem[b] - Mem[a] ; if (Mem[b] ≤ 0) goto c School of Computing 28

All these are Turing Complete! Church Complete, Darn It !! Har Har ! Go

All these are Turing Complete! Church Complete, Darn It !! Har Har ! Go Touring !! Take a walk !! School of Computing 29