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

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

Embed Size (px)

Citation preview

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

School of Computing 1

Course OverviewChanging Perspectives across the

course

Ganesh Gopalakrishnan

CS 3100, Fall 2010

School of Computing

University of Utah

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

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

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

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

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

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 !

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

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

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

School of Computing 6

On Computation

Ganesh Gopalakrishnan

CS 3100, Fall 2010

School of Computing

University of Utah

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

School of Computing 7

Why Compute?

Tool usage is a measure of intelligence and power

Information processing tools have, historically, been widely sought

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

School of Computing 8

Info. processing helped calculate artillery ranges!

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

School of Computing 9

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

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

School of Computing 10

With Advances in Electronics have come Faster Computing Devices!

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

School of Computing 11

These Computers are now Everywhere!

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

School of Computing 12

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

(Photo courtesy of wikipedia.)

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

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.)

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

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.)

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

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.

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

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?

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

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!

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

School of Computing 18

Alonzo Church : 1903 - 1995

http://en.wikipedia.org/wiki/Alonzo_Church

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

School of Computing 19

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

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

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

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

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”)

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

School of Computing 22

First, let us see the full taxonomy of computational devices

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

School of Computing 23

Models of computation proposed by Church and Turing:

LambdaLambdaLambda…

Naw Naw NawJolly good advisor,It is TAPE, HEAD, Halt, Loop

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

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

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

School of Computing 25

Two-counter machines are universal

Two infinite-precision integer countersare enough to express ALL computations

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

School of Computing 26

Two Stacks (plus finite control) are enough

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

School of Computing 27

Two infinite stacks are like one infinite tape …

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

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

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

School of Computing 29

All these are Turing Complete!

Church Complete,Darn It !!

Har Har Har !

Go Touring !! Take a walk !!