School of Computing 1 Course Overview Changing Perspectives across the course Ganesh Gopalakrishnan...

Preview:

Citation preview

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 !!

Recommended