Loading in 5 sec....

David Evans http://www.cs.virginia.edu/evansPowerPoint Presentation

David Evans http://www.cs.virginia.edu/evans

- By
**rae** - Follow User

- 69 Views
- Uploaded on

Download Presentation
## PowerPoint Slideshow about 'David Evans cs.virginia' - rae

**An Image/Link below is provided (as is) to download presentation**

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

David Evans

http://www.cs.virginia.edu/evans

cs302: Theory of Computation

University of Virginia

Computer Science

Menu

- Modeling Computers
- Course Organization
- Finite Automata

How should we model a Computer?

Colossus (1944)

Cray-1 (1976)

Apollo Guidance Computer (1969)

Turing invented his model in 1936. What “computer” was he modeling?

IBM 5100 (1975)

Modeling Pencil and Paper

...

...

#

C

S

S

A

7

2

3

How long should the tape be?

“Computing is normally done by writing certain symbols on paper. We may suppose this paper is divided into squares like a child’s arithmetic book.”

Alan Turing, On computable numbers, with an

application to the Entscheidungsproblem, 1936

Modeling Brains

- Rules for steps
- Remember a little

“For the present I shall only say that the justification lies in the fact that the human memory is necessarily limited.”

Alan Turing

Turing’s Model

...

...

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

Input: 0

Write: 1

Move:

Start

A

B

Input: 0

Write: 1

Move:

Input: 1

Write: 1

Move: Halt

H

Input: 1

Write: 1

Move:

Questions about Computing Model

- How well does it match “real” computers?
- Can it do everything they can do?
- Can they do everything it can do?

- Does it help us understand and reason about computing?
- What problems can computers solve?
- How long will it take?

Universal Turing Machine

Input: 2

Write: 1

Move:

Input: 0

Write: 1

Move:

Input: 1

Write: 2

Move:

Start

A

Input: 2

Write: 1

Move:

B

Input: 1

Write: 2

Move:

Input: 0

Write: 2

Move:

Assignments

- Reading: mostly from Sipser, some additional readings later
- Problem Sets (6 – first is due in 1 week)
- Exams (2 + final)
- Extra credit:
- Challenge Problems
- Communication Efforts

Help Available

- David Evans
- Office hours (Olsson 236A):
Mondays, 2-3pm

- Coffee Hours (Wilsdorf):
Wednesdays, 9:30-10:30am

- Other times: open office door, or send email to arrange

- Office hours (Olsson 236A):
- Assistants: Suzanne Collier, Qi Mi, Joe Talbott, Wuttisak Trongsiriwat
- Problem-Solving Sessions (Olsson 226D)
- Mondays 5:30-6:30pm, Wednesdays 6-7pm

First coffee hours and problem-solving session tomorrow

Honor Code

- Please don’t cheat!
- If you’re not sure if what you are about to do is cheating, ask first

- On most problem sets: “Gilligan’s Island” collaboration policy
- Encourages discussion in groups, but ensures you understand everything yourself
- Don’t use found solutions

- On most exams: work alone, one page of notes allowed

Main Question

What problems can particular machines solve?

What is a problem?

What is a machine?

What does it mean for a machine to solve a problem?

Uninteresting: can be solved by a lookup machine

Finite

Problems

Problems with a finite number of possible inputs

Except for trick questions, all problems we

are interested in in this class have infinitely many possible inputs.

Outputs

- How many possible outputs do you need for an interesting problem?

2 – “Yes” or “No”

Most problems can be framed as decision problems:

What is 1+1?

vs.

Is 1+1 = 3?

Decidable problems

(problems that can be

solved by some TM)

Tractable problems

(problems that can be solved by some TM in reasonable time)

Regular Languages

(can be recognized by a DFA)

Context-Free Languages

(can be recognized by a PDA)

Finite Automata(Finite State Machines)

Informal Example

- Recognize binary strings with an even number of “1”s

What is a language?

What does it mean to recognize a language?

Designing DFAs

- Example: design a DFA that recognizes the language of binary strings that are divisible by 3
- Design tips:
- Think about what the states represent (e.g., what is the current remainder)
- Walk through what the machine should do on example inputs

Formal Definition

A finite automaton is a 5-tuple:

Qfinite set (“states”)

- finite set (“alphabet”)
- Q x Q (“transition function”)
q0 Q start state

F Q set of accepting states

Computation Model

- Define * as the “extended transition function”
*: Q x * Q

Basis: *(q, ε) = q

Induction:

w = ax a , x *

*(q, w) = *((q, a), x)

- w L(A) iff *(q0, w) F

Inductive Definitions

code example:

State nextState(State q, String w) {

if (w.length() == 0) return q;

else return (nextState (transition (q, w.charAt(0)),

w.substring(1));

}

Regular Languages

- Definition: A language is a regular language if there is some Finite Automaton that recognizes it.

Complement Proof

- Prove: the set of regular languages is closed under complement.

Charge

- Remember to submit registration survey
- PS1 is posted on course website: due 1 week (- 73 minutes) from now
- Coffee hours tomorrow (9:30am)
- Problem-solving session tomorrow (6pm)

Download Presentation

Connecting to Server..