Introduction to Finite Automata - PowerPoint PPT Presentation

1 / 41
About This Presentation
Title:

Introduction to Finite Automata

Description:

Introduction to Finite Automata Adapted from the s of Stanford CS154 – PowerPoint PPT presentation

Number of Views:264
Avg rating:3.0/5.0
Slides: 42
Provided by: Feng88
Category:

less

Transcript and Presenter's Notes

Title: Introduction to Finite Automata


1
Introduction to Finite Automata
  • Adapted from the slides of Stanford CS154

2
Informal Explanation
  • Finite automata
  • finite collections of states with transition
    rules that take you from one state to another.
  • Original application
  • sequential switching circuits, where the state
    was the settings of internal bits.
  • Today, several kinds of software can be modeled
    by FA.

3
Representing FA
  • Simplest representation is often a graph.
  • Nodes states.
  • Arcs indicate state transitions.
  • Labels on arcs tell what causes the transition.

4
Example Recognizing Strings Ending in ing
nothing
Start
5
Automata to Code
  • In C/C, make a piece of code for each state.
    This code
  • Reads the next input.
  • Decides on the next state.
  • Jumps to the beginning of the code for that state.

6
Example Automata to Code
  • 2 / i seen /
  • c getNextInput()
  • if (c n) goto 3
  • else if (c i) goto 2
  • else goto 1
  • 3 / in seen /
  • . . .

7
Deterministic Finite Automata
  • A formalism for defining languages, consisting
    of
  • A finite set of states (Q, typically).
  • An input alphabet (S, typically).
  • A transition function (d, typically).
  • A start state (q0, in Q, typically).
  • A set of final states (F ? Q, typically).
  • Final and accepting are synonyms.

8
The Transition Function
  • Takes two arguments
  • a state and an input symbol.
  • d(q, a) the state that the DFA goes to when it
    is in state q and input a is received.

9
Graph Representation of DFAs
  • Nodes states.
  • Arcs represent transition function.
  • Arc from state p to state q labeled by all those
    input symbols that have transitions from p to q.
  • Arrow labeled Start to the start state.
  • Final states indicated by double circles.

10
Example Graph of a DFA
Accepts all strings without two consecutive 1s.
11
Alternative Representation Transition Table
0
1
A A B B A C C C C
12
Extended Transition Function
  • We describe the effect of a string of inputs on a
    DFA
  • by extending d to a state and a string.
  • Induction on length of string.
  • Basis d(q, e) q
  • Induction d(q,wa) d(d(q,w),a)
  • w is a string a is an input symbol.

13
Extended d Intuition
  • Convention
  • w, x, y, x are strings.
  • a, b, c, are single symbols.
  • Extended d is computed for state q and inputs
    a1a2an by following a path in the transition
    graph, starting at q and selecting the arcs with
    labels a1, a2,,an in turn.

14
Example Extended Delta
d(B,011) d(d(B,01),1) d(d(d(B,0),1),1)
d(d(A,1),1) d(B,1) C
15
Language of a DFA
  • Automata of all kinds define languages.
  • If A is an automaton, L(A) is its language.
  • For a DFA A, L(A) is the set of strings labeling
    paths from the start state to a final state.
  • Formally L(A) the set of strings w such that
    d(q0, w) is in F.

16
Example String in a Language
String 101 is in the language of the DFA
below. Start at A.
17
Example String in a Language
String 101 is in the language of the DFA below.
Follow arc labeled 1.
0
0,1
1
1
A
C
B
Start
0
18
Example String in a Language
String 101 is in the language of the DFA below.
Then arc labeled 0 from current state B.
0
0,1
1
1
A
C
B
Start
0
19
Example String in a Language
String 101 is in the language of the DFA below.
Finally arc labeled 1 from current state A.
Result is an accepting state, so 101 is in the
language.
0
0,1
1
1
A
C
B
Start
0
20
Example Concluded
  • The language of our example DFA is
  • w w is in 0,1 and w does not have
  • two consecutive 1s

21
Regular Languages
  • A language L is regular if it is the language
    accepted by some DFA.
  • Note the DFA must accept only the strings in L,
    no others.
  • Some languages are not regular.
  • Intuitively, regular languages cannot count to
    arbitrarily high integers.

22
Example A Nonregular Language
  • L1 0n1n n 1
  • Note ai is conventional for i as.
  • Thus, 04 0000, e.g.
  • Read The set of strings consisting of n 0s
    followed by n 1s, such that n is at least 1.
  • Thus, L1 01, 0011, 000111,

23
Another Example
  • L2 w w in (, ) and w is balanced
  • Note alphabet consists of the parenthesis
    symbols ( and ).
  • Balanced parens are those that can appear in an
    arithmetic expression.
  • E.g. (), ()(), (()), (()()),

24
But Many Languages are Regular
  • Regular Languages can be described in many ways,
    e.g., regular expressions.
  • They appear in many contexts and have many useful
    properties.
  • Example the strings that represent floating
    point numbers in your favorite language is a
    regular language.

25
Nondeterminism
  • A nondeterministic finite automaton has the
    ability to be in several states at once.
  • Transitions from a state on an input symbol can
    be to any set of states.

26
Nondeterminism (2)
  • Start in one start state.
  • Accept if any sequence of choices leads to a
    final state.
  • Intuitively the NFA always guesses right.

27
Formal NFA
  • A finite set of states, typically Q.
  • An input alphabet, typically S.
  • A transition function, typically d.
  • A start state in Q, typically q0.
  • A set of final states F ? Q.

28
Transition Function of an NFA
  • d(q, a) is a set of states.
  • Extend to strings as follows
  • Basis d(q, e) q
  • Induction d(q, wa) the union over all states p
    in d(q, w) of d(p, a)

29
Language of an NFA
  • A string w is accepted by an NFA if d(q0, w)
    contains at least one final state.
  • The language of the NFA is the set of strings it
    accepts.

30
Equivalence of DFAs, NFAs
  • A DFA can be turned into an NFA that accepts the
    same language.
  • If dD(q, a) p, let the NFA have dN(q, a)
    p.
  • Then the NFA is always in a set containing
    exactly one state the state the DFA is in after
    reading the same input.

31
Equivalence (2)
  • Surprisingly, for any NFA there is a DFA that
    accepts the same language.
  • Proof is the subset construction.
  • The number of states of the DFA can be
    exponential in the number of states of the NFA.
  • Thus, NFAs accept exactly the regular languages.

32
Subset Construction
  • Given an NFA with states Q, inputs S, transition
    function dN, state state q0, and final states F,
    construct equivalent DFA with
  • States 2Q (Set of subsets of Q).
  • Inputs S.
  • Start state q0.
  • Final states all those with a member of F.

33
Subset Construction (2)
  • The transition function dD is defined by
  • dD(q1,,qk, a) is the union over all i 1,,k
    of dN(qi, a).

34
Proof of Equivalence Subset Construction
  • Show by induction on w that
  • dN(q0, w) dD(q0, w)
  • Basis w e dN(q0, e) dD(q0, e) q0.

35
Induction
  • Assume IH (Induction Hypothesis) holds for
    strings shorter than w.
  • Let w xa IH holds for x.
  • Let dN(q0, x) dD(q0, x) S.
  • Let T the union over all states p in S of dN(p,
    a).
  • Then dN(q0, w) dD(q0, w) T.
  • For NFA the extension of dN.
  • For DFA definition of dD plus extension of dD.
  • That is, dD(S, a) T then extend dD to w xa.

36
NFAs With e-Transitions
  • We can allow state-to-state transitions on e
    input.
  • These transitions are done spontaneously, without
    looking at the input string.
  • A convenience at times, but still only regular
    languages are accepted.

37
Example e-NFA
38
Subset construction in the Textbook
39
Subset construction in the Textbook (cont.)
40
(No Transcript)
41
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com