Finite Automata COT 4810 Topics in Computer Science

  • Slides: 23
Download presentation
Finite Automata COT 4810 Topics in Computer Science ©Daniel Dassing January 24, 2008

Finite Automata COT 4810 Topics in Computer Science ©Daniel Dassing January 24, 2008

What are Finite Automata? Finite meaning bounded/ not infinite Automata meaning machine, self acting

What are Finite Automata? Finite meaning bounded/ not infinite Automata meaning machine, self acting construct

What are the Really? Machines Finite number of states Transitions between states

What are the Really? Machines Finite number of states Transitions between states

What can they look like? 0 S 0 0 1 S 1 0 1

What can they look like? 0 S 0 0 1 S 1 0 1 S 2 0, 1 1 S 3

Finite Acceptor Quintuple (Σ, Q, S 0, δ, F) Input Alphabet: Σ = {0,

Finite Acceptor Quintuple (Σ, Q, S 0, δ, F) Input Alphabet: Σ = {0, 1}{a, b, . . . , z}{it, was, is} Set of States Q = {S 0, S 1, S 2, . . . SK} Initial State S 0 Transition Functiuon: δ (S X Σ -> S) Final/Accept State(s): F = a subset of S

But why are they useful? Basis of a language definition language being a set

But why are they useful? Basis of a language definition language being a set of strings over an alphabet Regular Languages Example 1: Dictionary(very large FSA) Example 2: All binary strings with less than three 1's

DFA for less than three 1's Alphabet: Σ = {0, 1} States:

DFA for less than three 1's Alphabet: Σ = {0, 1} States:

DFA for less than three 1's S 0 S 1 S 2 S 3

DFA for less than three 1's S 0 S 1 S 2 S 3

DFA for less than three 1's Alphabet: Σ = {0, 1} States: Q =

DFA for less than three 1's Alphabet: Σ = {0, 1} States: Q = {S 0, S 1, S 2, S 3} Initial State: S 0 Transition Function:

DFA for less than three 1's 0 S 0 0 1 S 1 0

DFA for less than three 1's 0 S 0 0 1 S 1 0 1 S 2 0, 1 1 S 3

DFA for less than three 1's State  Input S 0 S 1 S

DFA for less than three 1's State Input S 0 S 1 S 2 S 3 1 S 2 S 3 S 0/0 -> S 0/1 -> S 1/0 -> S 1/1 -> S 2/0 -> S 1 S 2/1 -> S 3/0 -> S 3/1 -> S 3

DFA for less than three 1's Alphabet: Σ = {0, 1} States: Q =

DFA for less than three 1's Alphabet: Σ = {0, 1} States: Q = {S 0, S 1, S 2, S 3} Initial State: S 0 Transition Function: δ Final States:

DFA for less than three 1's 0 S 0 0 1 S 1 0

DFA for less than three 1's 0 S 0 0 1 S 1 0 1 S 2 0, 1 1 S 3

DFA for less than three 1's Alphabet: Σ = {0, 1} States: Q =

DFA for less than three 1's Alphabet: Σ = {0, 1} States: Q = {S 0, S 1, S 2, S 3} Initial State: S 0 Transition Function: δ Final States: { S 0, S 1, S 2}

Non-Determinism Incomplete Transition Function Multiple Transitions from one state/input pair λ Transitions

Non-Determinism Incomplete Transition Function Multiple Transitions from one state/input pair λ Transitions

Transducer Allows for output. Generally does not have a final state. Used to implement

Transducer Allows for output. Generally does not have a final state. Used to implement control function.

Transducer Sextuple (Σ, Γ, Q, S 0, δ, ω) Input Alphabet: Σ = {0,

Transducer Sextuple (Σ, Γ, Q, S 0, δ, ω) Input Alphabet: Σ = {0, 1}{a, b, . . . , z}{get, stop} Output Alphabet: Γ = {a, b, c}{good, bad, done} Set of States Q = {S 0, S 1, S 2, . . . SK} Initial State S 0 Transition Functiuon: δ : S X Σ -> S Output Function: ω : S X Σ -> Γ or ω : S -> Γ

Pushdown Automata A Finite Acceptor with a stack Transition Function: δ : Q X

Pushdown Automata A Finite Acceptor with a stack Transition Function: δ : Q X Σ X Γ-> Q Can be used to check syntax in a compiler

Pushdown Automata Septuple (Σ, Γ, Q, S 0, Z 0, δ, F) Input Alphabet:

Pushdown Automata Septuple (Σ, Γ, Q, S 0, Z 0, δ, F) Input Alphabet: Σ = {0, 1}{a, b, . . . , z}{it, was, is} Set of States Q = {S 0, S 1, S 2, . . . SK} Initial State S 0 Initial Stack Symbol Transition Function: δ : Q X Σ X Γ-> Q Final/Accept State(s): F = a subset of S

Turing Machines Finite Automata with external storage Model modern computing including recursion Turing machine

Turing Machines Finite Automata with external storage Model modern computing including recursion Turing machine can model other Turing machines

In Summary Machines Finite Number of States Transitions Between States Many Different Types Very

In Summary Machines Finite Number of States Transitions Between States Many Different Types Very Useful.

References 1. “Finite State Machine” Wikipedia. Jan 2008 http: //en. wikipedia. org/wiki/Finite_state_machine

References 1. “Finite State Machine” Wikipedia. Jan 2008 http: //en. wikipedia. org/wiki/Finite_state_machine

QUESTIONS FOR YOU What are the 5 parts of a DFA? Name at least

QUESTIONS FOR YOU What are the 5 parts of a DFA? Name at least 3 types of finite state machines.