SlideShare a Scribd company logo
1 of 32
1
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
Welcome to CSE 599
 Instructor: Rajesh Rao (rao@cs.washington.edu)
 TA: Aaron Shon (aaron@cs.washington.edu)
 Class web page
 http://www.cs.washington.edu/education/courses/599/CurrentQtr/
 Add yourself to the mailing list see the web page
 Today’s lecture:
 Course Introduction
 What is Computation?
 History of Computing
 Theoretical Foundations: Part I
2
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
Course goals
 To examine the future of computing
 Moore's law will certainly end. What are the alternatives?
 Biologically-inspired and quantum computing
 To broaden your perspectives on the fundamental aspects of
computation
 To give you sufficient exposure to
 understand the premises of alternative computing paradigms
 allow you to pursue these topics further
 What we will not accomplish
 Mastery of any specific field
3
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
What we will cover
 Background topics
 Theoretical foundations of computer science
 Silicon technology and digital computer organization
 Information theory and thermodynamics
 DNA computing
 Using DNA-binding properties to solve computationally hard
problems
 Neural computing
 Computation in animal brains and in artificial neural networks
 Quantum computing
 Using quantum superposition for massively parallel computation
4
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
Sequence of Lecture Topics
1. Theoretical Foundations of Computer Science (Jan 4 & 11)
2. Silicon Technology and Digital Computing (Jan 18,
including a guest lecture by Chris Diorio, UW)
3. DNA Computing (Jan 25, including a guest lecture by Anne
Condon, UBC)
4. Neural Computing (Feb 1 & 8)
5. Information Theory and Thermodynamics (Feb 15)
6. Quantum Computing (Feb 22, including a guest lecture by
Dan Simon, Microsoft Research)
5
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
Grading, homework, and other logistics
 Grading: Homeworks 50%, Mini-Project 50%
 Homework assignments will be handed out on the day of the
lecture related to the homework (see Course web page)
 Homeworks are due at the beginning of class on the
specified due date (see Course web page)
 Pick a mini-project related to a course topic (project ideas
will appear on Course web…or come up with your own!)
 Project presentations: beginning of March
 Project reports due: finals week (Mar 12-15)
6
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
OK, enough about the course.
Let’s get started…
What is computation?
What does it mean to “compute” something?
What is a computer?
7
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
What is a computer?
 Consider the following:
 A coffee filter
 A wheat threshing machine
 A handful of spaghetti
 Can these be viewed as computers??
8
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
Yes, if you can find a useful mapping…
 For example, consider the handful of spaghetti
 Suppose you want to sort 100 numbers
 Take 100 sticks of spaghetti and cut them to the length of
your numbers
 Hold the spaghetti sticks and align their bottom ends on a
table
 Pick out the tallest stick, then the next tallest, and so on…
 You have just sorted your 100 numbers using a spaghetti
“computer”!
9
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
So, what is a computer?
 A working definition:
 A computer is a physical system whose:
 physical states can be seen as representing elements of another
system of interest
 transitions between states can be seen as operations on these
elements
 Three basic steps:
1. Input data is coded into a form appropriate for physical system
2. Physical system shifts into a new state
3. Output state of system is decoded to extract results of computation
 Consider these 3 steps for our spaghetti computer example.
Also holds for silicon, DNA, neural, and quantum computers.
10
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
If computers can have such varied substrates, how
did we end up with silicon-based digital computers
on our desks (rather than, say, organic, spaghetti-
manipulating analog computers)?
Answer: Because of a convergence of theoretical
and practical ideas in the history of computing…
11
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
A Brief History of Computing
 The early years:
 Mapping numbers to objects (e.g. stones)
 Adding and subtracting by manipulation
 Stonehenge (~ 2800 BC) – a prehistoric computer of solar eclipses?
 The first personal “calculator” –
the abacus (a mnemonic aid
based on place-value notation)
12
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
Early pioneers in software and hardware…
 Muhammad ibn Musa Al’Khorizmi
 Proposed the concept of an “algorithm”
as a written process that achieves a
certain goal when executed
 Published first book on “software”
(12th century)
 Blaise Pascal
 Built a mechanical adding machine
in 1642
 Numbers mapped to dials and gears
 Based on differential transmission via
gears of different sizes
13
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
The middle ages (1800-1900)…
 First software-based controller (1801):
 J.-M. Jacquard’s Automatic Loom
 Control program written on punched
cards
 Babbage’s ideas for steam-powered computers
 Difference Engine (1822) for computing mathematical tables
 Analytical Engine (1833) for general computation (introduced conditionals)
 Both were never constructed
14
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
Punched cards and digital computing…
 Used by Hollerith to input data to his “Tabulating machine”
for tabulating and counting census information (1890)
 Perforated strips of discarded movie film used by Zuse to
control the first programmable digital computers (Z1-Z3)
15
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
The digital computer revolution
 ~1850: George Boole invents Boolean algebra
 Maps logical propositions to symbols
 Allows us to manipulate logic statements using mathematics
 1936: Alan Turing develops the formalism of Turing Machines
 1945: John von Neumann proposes the stored computer program concept
 1946: ENIAC: 18,000 tubes, several hundred multiplications per minute
 1947: Shockley, Brattain, and Bardeen invent the transistor
 1956: Harris introduces the first logic gate
 1972: Intel introduces the 4004 microprocessor
 Present: <0.2 m feature sizes; processors with >20-million transistors
16
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
What is computable?
 We have examined how developments in theory and technology paved
the way for the digital computers we use today
 A key concept that allowed general purpose computing: the stored
program idea
 Theoretical roots: Turing machines, Machines simulating other machines,
Universal Turing Machines
 Church-Turing Thesis: The Turing machine is equivalent in
computational ability to any general mathematical device for
computation, including digital computers.
 Important Result: There exist functions that are not computable by any
computational device
17
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
5 minute break….
(Next: Theoretical foundations of computing)
18
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
Introduction
 We asked what computation was - now we’ll try to answer
the question “what is computable?”
 These results about computability are fundamental.
 They apply regardless of the machine
 But they don’t answer all of our questions
 One of the major contributions of theoretical CS: negative
results
19
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
Abstract Models of Computation
 We want to answer fundamental questions:
 What can we do in a reasonable amount of time?
 What can we do in a reasonable amount of space?
 What can we do at all?
 AMAZING result-- some things are not computable!
20
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
A First Model for Computation: Automata
 Chalkboard Example…(automata for Parity, from Feynman
text, chapter 3)
21
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
Languages
 A language is some set of strings
 The language of a FA is the set of strings the FA recognizes
 In the parity example, we can write
 L = 0* (1 0* 1)* 0*
22
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
In-Class Exercise
 Design a Finite Automata that accepts strings where the
number of 1’s AND the number of 0’s is even…
23
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
Limitations of DFA’s
 Cannot recognize some languages e.g. balanced parens, 0n1n
 Only a finite number of states, so it can’t count.
 We can actually characterize what languages DFA’s
recognize exactly
 Called regular languages
24
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
The Chomsky Hierarchy of Languages
Finite Automata
Regular Languages e.g.
parity
Pushdown Automata
Context-Free Languages
e.g. 0n1n
Linear Bounded
Automata
Context Sensitive
Languages e.g. anbncn
Turing Machines
Recursively Enumerable
Languages
25
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
DFA’s vs. Computers
 Technically, computers are DFA’s
 BUT- we think they can answer questions like 0n1n
 They actually can’t-- what if n was 10100?
 We think of computers as storing numbers, instead of
moving to a state which represents storing that number, but
the general notion is the same
26
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
Turing Machine
 Equivalent to a finite automaton that has an unbounded tape
 Has a head which can move left or right, as well as write
symbols on the tape
 The TM is aware of what the head is looking at
 Can defined as a “program” or list of quintuples:
 (current state, current symbol on tape) to
(next state, new symbol to write, direction of head movement), or
 (q, s, q’, s’, d)
 There exists an initial state q0 and a set of halting states
27
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
An Example of a Turing Machine
 A Turing Machine for checking if parentheses are balanced
(from Feynman text, chapter 3)
 E.g. Tape contains …E()E…, or …E(()(E…, or
…E((()()))E…
28
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
Exercise on Turing Machines…
 Design a Turing machine that multiplies two unary numbers
 Example: Tape contains …111X11…
Answer should be: …111111…
 For a complete solution, see the handout (chapter 28 of The
Turing Omnibus by Dewdney)
29
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
Solution Sketch
 A TM that multiplies unary numbers
 Example: Tape contains …111X11…
Answer is: …111111…
 Pseudocode: On input string w:
1. Write a * to the left of the input to separate the output from input
2. For each 1 occurring after the X:
1. For each 1 occurring before the X:
Write a 1 in the leftmost blank cell of the tape beyond the *
End for
End for
3. Erase the * and all symbols to the right of it
4. Halt
30
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
Alternate Models of TMs
 Multitape TMs
 equivalent to ordinary TMs
 TMs with Rectangular Grids
 TM that can jump to arbitrary locations on the tape
 Nondeterministic TMs
 equivalent to TM in terms of computability
 Will play an important role in the next class
31
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
The stage is set to tackle the big questions…
 What functions are computable?
 We can now ask: Are there functions that a Turing machine cannot
compute?
 What functions are tractable?
 For what type of problems do fast and efficient algorithms exist?
 By efficient, we mean time- and space-efficient
 This will then allow us to look at:
Problems that are hard to solve on conventional computers but can be
solved more efficiently using alternative computing methods such as
DNA, neural, or Quantum Computing
32
R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I)
Next week: Theoretical Foundations (Part II)
 Turing machines that simulate other Turing machines
 Universal Turing machines
 Halting problem and Undecidability
 Computational Complexity: Time and Space Efficiency
 P, NP, and NP-complete problems
Read the handout given today and Feynman chapters 1-3…
Have a great weekend!

More Related Content

Similar to Lecture1.ppt

Introduction and deep understanding of AIML
Introduction and deep understanding of AIMLIntroduction and deep understanding of AIML
Introduction and deep understanding of AIML
bansalpra7
 
B.Tech 2nd Year CSE & CSIT AICTE Model Curriculum 2019-20.pdf
B.Tech 2nd Year CSE & CSIT AICTE Model Curriculum 2019-20.pdfB.Tech 2nd Year CSE & CSIT AICTE Model Curriculum 2019-20.pdf
B.Tech 2nd Year CSE & CSIT AICTE Model Curriculum 2019-20.pdf
Anita Pal
 
Artificial intelligence intro
Artificial intelligence introArtificial intelligence intro
Artificial intelligence intro
Ehsan Nowrouzi
 
WordProcess.txtTips, hints and guidance on Word ProcessingA.docx
WordProcess.txtTips, hints and guidance on Word ProcessingA.docxWordProcess.txtTips, hints and guidance on Word ProcessingA.docx
WordProcess.txtTips, hints and guidance on Word ProcessingA.docx
ericbrooks84875
 

Similar to Lecture1.ppt (20)

intro-class.ppt
intro-class.pptintro-class.ppt
intro-class.ppt
 
All about AI
All about AIAll about AI
All about AI
 
intro-class.ppt
intro-class.pptintro-class.ppt
intro-class.ppt
 
intro-class.ppt
intro-class.pptintro-class.ppt
intro-class.ppt
 
Introduction and deep understanding of AIML
Introduction and deep understanding of AIMLIntroduction and deep understanding of AIML
Introduction and deep understanding of AIML
 
intro-class.ppt
intro-class.pptintro-class.ppt
intro-class.ppt
 
intro-class.ppt
intro-class.pptintro-class.ppt
intro-class.ppt
 
Compoutational Physics
Compoutational PhysicsCompoutational Physics
Compoutational Physics
 
B.Tech 2nd Year CSE & CSIT AICTE Model Curriculum 2019-20.pdf
B.Tech 2nd Year CSE & CSIT AICTE Model Curriculum 2019-20.pdfB.Tech 2nd Year CSE & CSIT AICTE Model Curriculum 2019-20.pdf
B.Tech 2nd Year CSE & CSIT AICTE Model Curriculum 2019-20.pdf
 
Artificial Intelligence
Artificial IntelligenceArtificial Intelligence
Artificial Intelligence
 
Artificial intelligence intro
Artificial intelligence introArtificial intelligence intro
Artificial intelligence intro
 
M1 intro
M1 introM1 intro
M1 intro
 
2nd sem
2nd sem2nd sem
2nd sem
 
2nd sem
2nd sem2nd sem
2nd sem
 
Bca syllabus
Bca syllabusBca syllabus
Bca syllabus
 
files_1570175665_204715750.pdf
files_1570175665_204715750.pdffiles_1570175665_204715750.pdf
files_1570175665_204715750.pdf
 
WordProcess.txtTips, hints and guidance on Word ProcessingA.docx
WordProcess.txtTips, hints and guidance on Word ProcessingA.docxWordProcess.txtTips, hints and guidance on Word ProcessingA.docx
WordProcess.txtTips, hints and guidance on Word ProcessingA.docx
 
4.80 sy it
4.80 sy it4.80 sy it
4.80 sy it
 
Btech IT Sem VII and VIII-1 (1).pdf
Btech IT Sem VII and VIII-1 (1).pdfBtech IT Sem VII and VIII-1 (1).pdf
Btech IT Sem VII and VIII-1 (1).pdf
 
Ec 2009 scheme syllabus
Ec 2009 scheme syllabusEc 2009 scheme syllabus
Ec 2009 scheme syllabus
 

More from ketan349068

Fundamental_Rights.ppt and its importance
Fundamental_Rights.ppt and its importanceFundamental_Rights.ppt and its importance
Fundamental_Rights.ppt and its importance
ketan349068
 
2012-05-02 ICLRS Discussion Series - Kirkham.ppt
2012-05-02 ICLRS Discussion Series - Kirkham.ppt2012-05-02 ICLRS Discussion Series - Kirkham.ppt
2012-05-02 ICLRS Discussion Series - Kirkham.ppt
ketan349068
 
introduction to organiazational behaviour for manament students (1).ppt
introduction to organiazational behaviour for manament students (1).pptintroduction to organiazational behaviour for manament students (1).ppt
introduction to organiazational behaviour for manament students (1).ppt
ketan349068
 
Day 3 Session 3.ppt
Day 3 Session 3.pptDay 3 Session 3.ppt
Day 3 Session 3.ppt
ketan349068
 
burnettpptpublicintlaw.ppt
burnettpptpublicintlaw.pptburnettpptpublicintlaw.ppt
burnettpptpublicintlaw.ppt
ketan349068
 
Const_ppt_1_unit.pptx
Const_ppt_1_unit.pptxConst_ppt_1_unit.pptx
Const_ppt_1_unit.pptx
ketan349068
 
torts_negligence_pres.ppt
torts_negligence_pres.ppttorts_negligence_pres.ppt
torts_negligence_pres.ppt
ketan349068
 
28-05-2017_Nagpur_GST_Conclave3.pptx
28-05-2017_Nagpur_GST_Conclave3.pptx28-05-2017_Nagpur_GST_Conclave3.pptx
28-05-2017_Nagpur_GST_Conclave3.pptx
ketan349068
 
Unit 2 Medical Negligence-1.pptx
Unit 2 Medical Negligence-1.pptxUnit 2 Medical Negligence-1.pptx
Unit 2 Medical Negligence-1.pptx
ketan349068
 
INCOME TAX ACT, 1961.ppt
INCOME TAX ACT, 1961.pptINCOME TAX ACT, 1961.ppt
INCOME TAX ACT, 1961.ppt
ketan349068
 
DrChandiramani-Contract.ppt
DrChandiramani-Contract.pptDrChandiramani-Contract.ppt
DrChandiramani-Contract.ppt
ketan349068
 
BCom-Sem1-Indian-Contract-Act-Presentation.ppt
BCom-Sem1-Indian-Contract-Act-Presentation.pptBCom-Sem1-Indian-Contract-Act-Presentation.ppt
BCom-Sem1-Indian-Contract-Act-Presentation.ppt
ketan349068
 
FINAL__CAREER_AS_A_COMPANY_SECRETARY.ppt
FINAL__CAREER_AS_A_COMPANY_SECRETARY.pptFINAL__CAREER_AS_A_COMPANY_SECRETARY.ppt
FINAL__CAREER_AS_A_COMPANY_SECRETARY.ppt
ketan349068
 
incometax-introduction-210420124110.pptx
incometax-introduction-210420124110.pptxincometax-introduction-210420124110.pptx
incometax-introduction-210420124110.pptx
ketan349068
 
2d3980d0956047522c9a64351105a525.pptx
2d3980d0956047522c9a64351105a525.pptx2d3980d0956047522c9a64351105a525.pptx
2d3980d0956047522c9a64351105a525.pptx
ketan349068
 
INCOME TAX ACT, 1961.ppt
INCOME TAX ACT, 1961.pptINCOME TAX ACT, 1961.ppt
INCOME TAX ACT, 1961.ppt
ketan349068
 

More from ketan349068 (20)

Fundamental_Rights.ppt and its importance
Fundamental_Rights.ppt and its importanceFundamental_Rights.ppt and its importance
Fundamental_Rights.ppt and its importance
 
2012-05-02 ICLRS Discussion Series - Kirkham.ppt
2012-05-02 ICLRS Discussion Series - Kirkham.ppt2012-05-02 ICLRS Discussion Series - Kirkham.ppt
2012-05-02 ICLRS Discussion Series - Kirkham.ppt
 
Environmental pollution-IPC and CrPC UNIT 1.pptx
Environmental pollution-IPC and CrPC UNIT 1.pptxEnvironmental pollution-IPC and CrPC UNIT 1.pptx
Environmental pollution-IPC and CrPC UNIT 1.pptx
 
AIR (pollution prevention & control)ACT, 1981
AIR (pollution prevention & control)ACT, 1981AIR (pollution prevention & control)ACT, 1981
AIR (pollution prevention & control)ACT, 1981
 
introduction to organiazational behaviour for manament students (1).ppt
introduction to organiazational behaviour for manament students (1).pptintroduction to organiazational behaviour for manament students (1).ppt
introduction to organiazational behaviour for manament students (1).ppt
 
Day 3 Session 3.ppt
Day 3 Session 3.pptDay 3 Session 3.ppt
Day 3 Session 3.ppt
 
burnettpptpublicintlaw.ppt
burnettpptpublicintlaw.pptburnettpptpublicintlaw.ppt
burnettpptpublicintlaw.ppt
 
Const_ppt_1_unit.pptx
Const_ppt_1_unit.pptxConst_ppt_1_unit.pptx
Const_ppt_1_unit.pptx
 
Chapter 4.ppt
Chapter 4.pptChapter 4.ppt
Chapter 4.ppt
 
torts_negligence_pres.ppt
torts_negligence_pres.ppttorts_negligence_pres.ppt
torts_negligence_pres.ppt
 
28-05-2017_Nagpur_GST_Conclave3.pptx
28-05-2017_Nagpur_GST_Conclave3.pptx28-05-2017_Nagpur_GST_Conclave3.pptx
28-05-2017_Nagpur_GST_Conclave3.pptx
 
Unit 2 Medical Negligence-1.pptx
Unit 2 Medical Negligence-1.pptxUnit 2 Medical Negligence-1.pptx
Unit 2 Medical Negligence-1.pptx
 
INCOME TAX ACT, 1961.ppt
INCOME TAX ACT, 1961.pptINCOME TAX ACT, 1961.ppt
INCOME TAX ACT, 1961.ppt
 
DrChandiramani-Contract.ppt
DrChandiramani-Contract.pptDrChandiramani-Contract.ppt
DrChandiramani-Contract.ppt
 
BCom-Sem1-Indian-Contract-Act-Presentation.ppt
BCom-Sem1-Indian-Contract-Act-Presentation.pptBCom-Sem1-Indian-Contract-Act-Presentation.ppt
BCom-Sem1-Indian-Contract-Act-Presentation.ppt
 
DIVYA.pptx
DIVYA.pptxDIVYA.pptx
DIVYA.pptx
 
FINAL__CAREER_AS_A_COMPANY_SECRETARY.ppt
FINAL__CAREER_AS_A_COMPANY_SECRETARY.pptFINAL__CAREER_AS_A_COMPANY_SECRETARY.ppt
FINAL__CAREER_AS_A_COMPANY_SECRETARY.ppt
 
incometax-introduction-210420124110.pptx
incometax-introduction-210420124110.pptxincometax-introduction-210420124110.pptx
incometax-introduction-210420124110.pptx
 
2d3980d0956047522c9a64351105a525.pptx
2d3980d0956047522c9a64351105a525.pptx2d3980d0956047522c9a64351105a525.pptx
2d3980d0956047522c9a64351105a525.pptx
 
INCOME TAX ACT, 1961.ppt
INCOME TAX ACT, 1961.pptINCOME TAX ACT, 1961.ppt
INCOME TAX ACT, 1961.ppt
 

Recently uploaded

一比一原版(KPU毕业证书)加拿大昆特兰理工大学毕业证如何办理
一比一原版(KPU毕业证书)加拿大昆特兰理工大学毕业证如何办理一比一原版(KPU毕业证书)加拿大昆特兰理工大学毕业证如何办理
一比一原版(KPU毕业证书)加拿大昆特兰理工大学毕业证如何办理
e9733fc35af6
 
一比一原版(IC毕业证书)帝国理工学院毕业证如何办理
一比一原版(IC毕业证书)帝国理工学院毕业证如何办理一比一原版(IC毕业证书)帝国理工学院毕业证如何办理
一比一原版(IC毕业证书)帝国理工学院毕业证如何办理
Fir La
 
一比一原版(Monash毕业证书)澳洲莫纳什大学毕业证如何办理
一比一原版(Monash毕业证书)澳洲莫纳什大学毕业证如何办理一比一原版(Monash毕业证书)澳洲莫纳什大学毕业证如何办理
一比一原版(Monash毕业证书)澳洲莫纳什大学毕业证如何办理
F La
 
一比一原版(JCU毕业证书)詹姆斯库克大学毕业证如何办理
一比一原版(JCU毕业证书)詹姆斯库克大学毕业证如何办理一比一原版(JCU毕业证书)詹姆斯库克大学毕业证如何办理
一比一原版(JCU毕业证书)詹姆斯库克大学毕业证如何办理
Airst S
 
一比一原版(RMIT毕业证书)皇家墨尔本理工大学毕业证如何办理
一比一原版(RMIT毕业证书)皇家墨尔本理工大学毕业证如何办理一比一原版(RMIT毕业证书)皇家墨尔本理工大学毕业证如何办理
一比一原版(RMIT毕业证书)皇家墨尔本理工大学毕业证如何办理
ss
 
一比一原版(Essex毕业证书)埃塞克斯大学毕业证学位证书
一比一原版(Essex毕业证书)埃塞克斯大学毕业证学位证书一比一原版(Essex毕业证书)埃塞克斯大学毕业证学位证书
一比一原版(Essex毕业证书)埃塞克斯大学毕业证学位证书
F La
 
一比一原版(Waterloo毕业证书)加拿大滑铁卢大学毕业证如何办理
一比一原版(Waterloo毕业证书)加拿大滑铁卢大学毕业证如何办理一比一原版(Waterloo毕业证书)加拿大滑铁卢大学毕业证如何办理
一比一原版(Waterloo毕业证书)加拿大滑铁卢大学毕业证如何办理
e9733fc35af6
 
一比一原版(Monash毕业证书)澳洲莫纳什大学毕业证如何办理
一比一原版(Monash毕业证书)澳洲莫纳什大学毕业证如何办理一比一原版(Monash毕业证书)澳洲莫纳什大学毕业证如何办理
一比一原版(Monash毕业证书)澳洲莫纳什大学毕业证如何办理
bd2c5966a56d
 
一比一原版(Warwick毕业证书)华威大学毕业证如何办理
一比一原版(Warwick毕业证书)华威大学毕业证如何办理一比一原版(Warwick毕业证书)华威大学毕业证如何办理
一比一原版(Warwick毕业证书)华威大学毕业证如何办理
Fir La
 
ASMA JILANI EXPLAINED CASE PLD 1972 FOR CSS
ASMA JILANI EXPLAINED CASE PLD 1972 FOR CSSASMA JILANI EXPLAINED CASE PLD 1972 FOR CSS
ASMA JILANI EXPLAINED CASE PLD 1972 FOR CSS
CssSpamx
 
一比一原版(QUT毕业证书)昆士兰科技大学毕业证如何办理
一比一原版(QUT毕业证书)昆士兰科技大学毕业证如何办理一比一原版(QUT毕业证书)昆士兰科技大学毕业证如何办理
一比一原版(QUT毕业证书)昆士兰科技大学毕业证如何办理
Airst S
 

Recently uploaded (20)

Human Rights_FilippoLuciani diritti umani.pptx
Human Rights_FilippoLuciani diritti umani.pptxHuman Rights_FilippoLuciani diritti umani.pptx
Human Rights_FilippoLuciani diritti umani.pptx
 
Elective Course on Forensic Science in Law
Elective Course on Forensic Science  in LawElective Course on Forensic Science  in Law
Elective Course on Forensic Science in Law
 
The doctrine of harmonious construction under Interpretation of statute
The doctrine of harmonious construction under Interpretation of statuteThe doctrine of harmonious construction under Interpretation of statute
The doctrine of harmonious construction under Interpretation of statute
 
How do cyber crime lawyers in Mumbai collaborate with law enforcement agencie...
How do cyber crime lawyers in Mumbai collaborate with law enforcement agencie...How do cyber crime lawyers in Mumbai collaborate with law enforcement agencie...
How do cyber crime lawyers in Mumbai collaborate with law enforcement agencie...
 
一比一原版(KPU毕业证书)加拿大昆特兰理工大学毕业证如何办理
一比一原版(KPU毕业证书)加拿大昆特兰理工大学毕业证如何办理一比一原版(KPU毕业证书)加拿大昆特兰理工大学毕业证如何办理
一比一原版(KPU毕业证书)加拿大昆特兰理工大学毕业证如何办理
 
一比一原版(IC毕业证书)帝国理工学院毕业证如何办理
一比一原版(IC毕业证书)帝国理工学院毕业证如何办理一比一原版(IC毕业证书)帝国理工学院毕业证如何办理
一比一原版(IC毕业证书)帝国理工学院毕业证如何办理
 
一比一原版(Monash毕业证书)澳洲莫纳什大学毕业证如何办理
一比一原版(Monash毕业证书)澳洲莫纳什大学毕业证如何办理一比一原版(Monash毕业证书)澳洲莫纳什大学毕业证如何办理
一比一原版(Monash毕业证书)澳洲莫纳什大学毕业证如何办理
 
一比一原版(JCU毕业证书)詹姆斯库克大学毕业证如何办理
一比一原版(JCU毕业证书)詹姆斯库克大学毕业证如何办理一比一原版(JCU毕业证书)詹姆斯库克大学毕业证如何办理
一比一原版(JCU毕业证书)詹姆斯库克大学毕业证如何办理
 
一比一原版(RMIT毕业证书)皇家墨尔本理工大学毕业证如何办理
一比一原版(RMIT毕业证书)皇家墨尔本理工大学毕业证如何办理一比一原版(RMIT毕业证书)皇家墨尔本理工大学毕业证如何办理
一比一原版(RMIT毕业证书)皇家墨尔本理工大学毕业证如何办理
 
3 Formation of Company.www.seribangash.com.ppt
3 Formation of Company.www.seribangash.com.ppt3 Formation of Company.www.seribangash.com.ppt
3 Formation of Company.www.seribangash.com.ppt
 
Chambers Global Practice Guide - Canada M&A
Chambers Global Practice Guide - Canada M&AChambers Global Practice Guide - Canada M&A
Chambers Global Practice Guide - Canada M&A
 
Who is Spencer McDaniel? And Does He Actually Exist?
Who is Spencer McDaniel? And Does He Actually Exist?Who is Spencer McDaniel? And Does He Actually Exist?
Who is Spencer McDaniel? And Does He Actually Exist?
 
Understanding the Role of Labor Unions and Collective Bargaining
Understanding the Role of Labor Unions and Collective BargainingUnderstanding the Role of Labor Unions and Collective Bargaining
Understanding the Role of Labor Unions and Collective Bargaining
 
一比一原版(Essex毕业证书)埃塞克斯大学毕业证学位证书
一比一原版(Essex毕业证书)埃塞克斯大学毕业证学位证书一比一原版(Essex毕业证书)埃塞克斯大学毕业证学位证书
一比一原版(Essex毕业证书)埃塞克斯大学毕业证学位证书
 
一比一原版(Waterloo毕业证书)加拿大滑铁卢大学毕业证如何办理
一比一原版(Waterloo毕业证书)加拿大滑铁卢大学毕业证如何办理一比一原版(Waterloo毕业证书)加拿大滑铁卢大学毕业证如何办理
一比一原版(Waterloo毕业证书)加拿大滑铁卢大学毕业证如何办理
 
一比一原版(Monash毕业证书)澳洲莫纳什大学毕业证如何办理
一比一原版(Monash毕业证书)澳洲莫纳什大学毕业证如何办理一比一原版(Monash毕业证书)澳洲莫纳什大学毕业证如何办理
一比一原版(Monash毕业证书)澳洲莫纳什大学毕业证如何办理
 
一比一原版(Warwick毕业证书)华威大学毕业证如何办理
一比一原版(Warwick毕业证书)华威大学毕业证如何办理一比一原版(Warwick毕业证书)华威大学毕业证如何办理
一比一原版(Warwick毕业证书)华威大学毕业证如何办理
 
ASMA JILANI EXPLAINED CASE PLD 1972 FOR CSS
ASMA JILANI EXPLAINED CASE PLD 1972 FOR CSSASMA JILANI EXPLAINED CASE PLD 1972 FOR CSS
ASMA JILANI EXPLAINED CASE PLD 1972 FOR CSS
 
一比一原版(QUT毕业证书)昆士兰科技大学毕业证如何办理
一比一原版(QUT毕业证书)昆士兰科技大学毕业证如何办理一比一原版(QUT毕业证书)昆士兰科技大学毕业证如何办理
一比一原版(QUT毕业证书)昆士兰科技大学毕业证如何办理
 
Performance of contract-1 law presentation
Performance of contract-1 law presentationPerformance of contract-1 law presentation
Performance of contract-1 law presentation
 

Lecture1.ppt

  • 1. 1 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) Welcome to CSE 599  Instructor: Rajesh Rao (rao@cs.washington.edu)  TA: Aaron Shon (aaron@cs.washington.edu)  Class web page  http://www.cs.washington.edu/education/courses/599/CurrentQtr/  Add yourself to the mailing list see the web page  Today’s lecture:  Course Introduction  What is Computation?  History of Computing  Theoretical Foundations: Part I
  • 2. 2 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) Course goals  To examine the future of computing  Moore's law will certainly end. What are the alternatives?  Biologically-inspired and quantum computing  To broaden your perspectives on the fundamental aspects of computation  To give you sufficient exposure to  understand the premises of alternative computing paradigms  allow you to pursue these topics further  What we will not accomplish  Mastery of any specific field
  • 3. 3 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) What we will cover  Background topics  Theoretical foundations of computer science  Silicon technology and digital computer organization  Information theory and thermodynamics  DNA computing  Using DNA-binding properties to solve computationally hard problems  Neural computing  Computation in animal brains and in artificial neural networks  Quantum computing  Using quantum superposition for massively parallel computation
  • 4. 4 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) Sequence of Lecture Topics 1. Theoretical Foundations of Computer Science (Jan 4 & 11) 2. Silicon Technology and Digital Computing (Jan 18, including a guest lecture by Chris Diorio, UW) 3. DNA Computing (Jan 25, including a guest lecture by Anne Condon, UBC) 4. Neural Computing (Feb 1 & 8) 5. Information Theory and Thermodynamics (Feb 15) 6. Quantum Computing (Feb 22, including a guest lecture by Dan Simon, Microsoft Research)
  • 5. 5 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) Grading, homework, and other logistics  Grading: Homeworks 50%, Mini-Project 50%  Homework assignments will be handed out on the day of the lecture related to the homework (see Course web page)  Homeworks are due at the beginning of class on the specified due date (see Course web page)  Pick a mini-project related to a course topic (project ideas will appear on Course web…or come up with your own!)  Project presentations: beginning of March  Project reports due: finals week (Mar 12-15)
  • 6. 6 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) OK, enough about the course. Let’s get started… What is computation? What does it mean to “compute” something? What is a computer?
  • 7. 7 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) What is a computer?  Consider the following:  A coffee filter  A wheat threshing machine  A handful of spaghetti  Can these be viewed as computers??
  • 8. 8 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) Yes, if you can find a useful mapping…  For example, consider the handful of spaghetti  Suppose you want to sort 100 numbers  Take 100 sticks of spaghetti and cut them to the length of your numbers  Hold the spaghetti sticks and align their bottom ends on a table  Pick out the tallest stick, then the next tallest, and so on…  You have just sorted your 100 numbers using a spaghetti “computer”!
  • 9. 9 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) So, what is a computer?  A working definition:  A computer is a physical system whose:  physical states can be seen as representing elements of another system of interest  transitions between states can be seen as operations on these elements  Three basic steps: 1. Input data is coded into a form appropriate for physical system 2. Physical system shifts into a new state 3. Output state of system is decoded to extract results of computation  Consider these 3 steps for our spaghetti computer example. Also holds for silicon, DNA, neural, and quantum computers.
  • 10. 10 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) If computers can have such varied substrates, how did we end up with silicon-based digital computers on our desks (rather than, say, organic, spaghetti- manipulating analog computers)? Answer: Because of a convergence of theoretical and practical ideas in the history of computing…
  • 11. 11 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) A Brief History of Computing  The early years:  Mapping numbers to objects (e.g. stones)  Adding and subtracting by manipulation  Stonehenge (~ 2800 BC) – a prehistoric computer of solar eclipses?  The first personal “calculator” – the abacus (a mnemonic aid based on place-value notation)
  • 12. 12 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) Early pioneers in software and hardware…  Muhammad ibn Musa Al’Khorizmi  Proposed the concept of an “algorithm” as a written process that achieves a certain goal when executed  Published first book on “software” (12th century)  Blaise Pascal  Built a mechanical adding machine in 1642  Numbers mapped to dials and gears  Based on differential transmission via gears of different sizes
  • 13. 13 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) The middle ages (1800-1900)…  First software-based controller (1801):  J.-M. Jacquard’s Automatic Loom  Control program written on punched cards  Babbage’s ideas for steam-powered computers  Difference Engine (1822) for computing mathematical tables  Analytical Engine (1833) for general computation (introduced conditionals)  Both were never constructed
  • 14. 14 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) Punched cards and digital computing…  Used by Hollerith to input data to his “Tabulating machine” for tabulating and counting census information (1890)  Perforated strips of discarded movie film used by Zuse to control the first programmable digital computers (Z1-Z3)
  • 15. 15 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) The digital computer revolution  ~1850: George Boole invents Boolean algebra  Maps logical propositions to symbols  Allows us to manipulate logic statements using mathematics  1936: Alan Turing develops the formalism of Turing Machines  1945: John von Neumann proposes the stored computer program concept  1946: ENIAC: 18,000 tubes, several hundred multiplications per minute  1947: Shockley, Brattain, and Bardeen invent the transistor  1956: Harris introduces the first logic gate  1972: Intel introduces the 4004 microprocessor  Present: <0.2 m feature sizes; processors with >20-million transistors
  • 16. 16 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) What is computable?  We have examined how developments in theory and technology paved the way for the digital computers we use today  A key concept that allowed general purpose computing: the stored program idea  Theoretical roots: Turing machines, Machines simulating other machines, Universal Turing Machines  Church-Turing Thesis: The Turing machine is equivalent in computational ability to any general mathematical device for computation, including digital computers.  Important Result: There exist functions that are not computable by any computational device
  • 17. 17 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) 5 minute break…. (Next: Theoretical foundations of computing)
  • 18. 18 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) Introduction  We asked what computation was - now we’ll try to answer the question “what is computable?”  These results about computability are fundamental.  They apply regardless of the machine  But they don’t answer all of our questions  One of the major contributions of theoretical CS: negative results
  • 19. 19 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) Abstract Models of Computation  We want to answer fundamental questions:  What can we do in a reasonable amount of time?  What can we do in a reasonable amount of space?  What can we do at all?  AMAZING result-- some things are not computable!
  • 20. 20 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) A First Model for Computation: Automata  Chalkboard Example…(automata for Parity, from Feynman text, chapter 3)
  • 21. 21 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) Languages  A language is some set of strings  The language of a FA is the set of strings the FA recognizes  In the parity example, we can write  L = 0* (1 0* 1)* 0*
  • 22. 22 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) In-Class Exercise  Design a Finite Automata that accepts strings where the number of 1’s AND the number of 0’s is even…
  • 23. 23 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) Limitations of DFA’s  Cannot recognize some languages e.g. balanced parens, 0n1n  Only a finite number of states, so it can’t count.  We can actually characterize what languages DFA’s recognize exactly  Called regular languages
  • 24. 24 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) The Chomsky Hierarchy of Languages Finite Automata Regular Languages e.g. parity Pushdown Automata Context-Free Languages e.g. 0n1n Linear Bounded Automata Context Sensitive Languages e.g. anbncn Turing Machines Recursively Enumerable Languages
  • 25. 25 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) DFA’s vs. Computers  Technically, computers are DFA’s  BUT- we think they can answer questions like 0n1n  They actually can’t-- what if n was 10100?  We think of computers as storing numbers, instead of moving to a state which represents storing that number, but the general notion is the same
  • 26. 26 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) Turing Machine  Equivalent to a finite automaton that has an unbounded tape  Has a head which can move left or right, as well as write symbols on the tape  The TM is aware of what the head is looking at  Can defined as a “program” or list of quintuples:  (current state, current symbol on tape) to (next state, new symbol to write, direction of head movement), or  (q, s, q’, s’, d)  There exists an initial state q0 and a set of halting states
  • 27. 27 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) An Example of a Turing Machine  A Turing Machine for checking if parentheses are balanced (from Feynman text, chapter 3)  E.g. Tape contains …E()E…, or …E(()(E…, or …E((()()))E…
  • 28. 28 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) Exercise on Turing Machines…  Design a Turing machine that multiplies two unary numbers  Example: Tape contains …111X11… Answer should be: …111111…  For a complete solution, see the handout (chapter 28 of The Turing Omnibus by Dewdney)
  • 29. 29 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) Solution Sketch  A TM that multiplies unary numbers  Example: Tape contains …111X11… Answer is: …111111…  Pseudocode: On input string w: 1. Write a * to the left of the input to separate the output from input 2. For each 1 occurring after the X: 1. For each 1 occurring before the X: Write a 1 in the leftmost blank cell of the tape beyond the * End for End for 3. Erase the * and all symbols to the right of it 4. Halt
  • 30. 30 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) Alternate Models of TMs  Multitape TMs  equivalent to ordinary TMs  TMs with Rectangular Grids  TM that can jump to arbitrary locations on the tape  Nondeterministic TMs  equivalent to TM in terms of computability  Will play an important role in the next class
  • 31. 31 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) The stage is set to tackle the big questions…  What functions are computable?  We can now ask: Are there functions that a Turing machine cannot compute?  What functions are tractable?  For what type of problems do fast and efficient algorithms exist?  By efficient, we mean time- and space-efficient  This will then allow us to look at: Problems that are hard to solve on conventional computers but can be solved more efficiently using alternative computing methods such as DNA, neural, or Quantum Computing
  • 32. 32 R. Rao, CSE 599 Week 1: Introduction and Overview, Theoretical Foundations (Part I) Next week: Theoretical Foundations (Part II)  Turing machines that simulate other Turing machines  Universal Turing machines  Halting problem and Undecidability  Computational Complexity: Time and Space Efficiency  P, NP, and NP-complete problems Read the handout given today and Feynman chapters 1-3… Have a great weekend!

Editor's Notes

  1. Class rule: Interrupt when you don’t understand why we are doing something