School of Computing 1 Course Overview Changing Perspectives across the course Ganesh Gopalakrishnan...
-
Upload
esmond-nelson -
Category
Documents
-
view
216 -
download
0
Transcript of School of Computing 1 Course Overview Changing Perspectives across the course Ganesh Gopalakrishnan...
School of Computing 1
Course OverviewChanging Perspectives across the
course
Ganesh Gopalakrishnan
CS 3100, Fall 2010
School of Computing
University of Utah
School of Computing 2
CS 3100 Learning Objectives
Reinforce discrete math
Understand state machines
You will use these ideas in writing formal documentation for yoursoftware / 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 3
CS 3100 Learning Objectives
Understand more complex computational structures
Example : what happens if we have one stack
Understand how Machines and Textual representations can denoteLanguages
Example : RE and NFA / DFA
Understand when non-determinism becomes ESSENTIALExample :
THERE IS NO DPDA FOR { W W^R | W in sigma* }There is no deterministic parsing scheme for
this language
School of Computing 4
Largely, things were about patterns
|| ||| || ||| || ||| || ….
We studied that sometimes delicately specified patterns disappearwhen 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 5
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 6
On Computation
Ganesh Gopalakrishnan
CS 3100, Fall 2010
School of Computing
University of Utah
School of Computing 7
Why Compute?
Tool usage is a measure of intelligence and power
Information processing tools have, historically, been widely sought
School of Computing 8
Info. processing helped calculate artillery ranges!
School of Computing 9
Early Info. Processing Tools were Clunky and Big! (e.g. Babbage’s Difference Engine, now rebuilt at the London Museum)
School of Computing 10
With Advances in Electronics have come Faster Computing Devices!
School of Computing 11
These Computers are now Everywhere!
School of Computing 12
They will soon replace bar-codes on milk-cans!(RFID tags being experimented by Wal-mart).
(Photo courtesy of wikipedia.)
School of Computing 13
Supercomputers have eliminated the need to do experiments by building scale models of airplanes, or mixing (dangerous) chemicals !
IBM BlueGene
Does 400 Trillion
multiplications per second !
(Photo courtesy of IBM.)
School of Computing 14
Virtual Roll-out of Boeing 787 “Dreamliner”
Entire Airplane beingDesigned and Flown inside a Computer (Simulation Program).
The first plane to fly isthe real one (not a mockup model).
(Photo courtesy of Boeing.)
School of Computing 15
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 16
* 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 17
* 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 18
Alonzo Church : 1903 - 1995
http://en.wikipedia.org/wiki/Alonzo_Church
School of Computing 19
Alan Turing’s model (“Turing Machine”) was formulated in the 1930s [Turing, 1912 – tragically 1954]
School of Computing 20
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 21
Interesting factoid: Church was Turing’s PhD advisor (well, Turing had done most of his work, then went to Princeton to “officially earn a PhD”)
School of Computing 22
First, let us see the full taxonomy of computational devices
School of Computing 23
Models of computation proposed by Church and Turing:
LambdaLambdaLambda…
Naw Naw NawJolly good advisor,It is TAPE, HEAD, Halt, Loop
School of Computing 24
Universality of Lambda Calculus
S and K are universal !!
S = L x y z . x z (y z)
K = L x y . x
School of Computing 25
Two-counter machines are universal
Two infinite-precision integer countersare enough to express ALL computations
School of Computing 26
Two Stacks (plus finite control) are enough
School of Computing 27
Two infinite stacks are like one infinite tape …
School of Computing 28
A Single-Instruction RISC Computer
subleq a, b, c ; Mem[b] = Mem[b] - Mem[a] ; if (Mem[b] ≤ 0) goto c
http://en.wikipedia.org/wiki/One_instruction_set_computer
School of Computing 29
All these are Turing Complete!
Church Complete,Darn It !!
Har Har Har !
Go Touring !! Take a walk !!