Lecture Outline

Finite Automata Formal Definition DFA Computation Regular Operations

Finite Automata
The finite state machine or finite automaton is the simplest computational model of limited memory computers. Example: an automatic door opener at a supermarket decides when to open or close the door, depending on the input provided by its sensors.

is the number of 0’s (in a given string) multiple of 4. does a given string end in 00.Finite Automata The finite state machine or finite automaton is the simplest computational model of limited memory computers. to decide whether a given input satisfies certain conditions. depending on the input provided by its sensors. .e. Example: an automatic door opener at a supermarket decides when to open or close the door.. i. Examples of decision problems: does a given string have an even number of 1’s. Finite automata are designed to solve decision problems.

Example: Door Opener states: closed. rear. both. neither nonloop transitions: closed → open on front open → closed on neither . open input conditions: front.

open input conditions: front. both. neither nonloop transitions: closed → open on front open → closed on neither REAR BOTH NEITHER FRONT REAR BOTH FRONT CLOSED OPEN NEITHER . rear.Example: Door Opener states: closed.

δ. . The automaton “accepts” the input if its resulting state (after reading of the input string is complete) belongs to F . F ). q0 ∈ Q is the start state. DFA computation can be described informally using a tape. and a finite-state control with a read head advancing over the input. cells with symbols.Formal Definition Definition A deterministic finite automaton (DFA) is a 5-tuple (Q. q0 . Σ is a finite alphabet whose members are called symbols. an automaton reads its symbols one-by-one and changes its state (starting from q0 ) according to δ. Given an input string over Σ (written on the input tape). otherwise “rejects”. Σ. where Q is a finite set whose members are called states. δ : Q × Σ → Q is the transition function. and F ⊆ Q is the set of accept states (or final states).

What is what in Door Opener REAR BOTH NEITHER FRONT FRONT REAR BOTH CLOSED OPEN NEITHER Q: Is it a DFA? .

What is what in Door Opener REAR BOTH NEITHER FRONT REAR BOTH FRONT CLOSED OPEN NEITHER This automaton is not a DFA since it supposedly operates infinitely long and thus there are no starting state q0 and final states F defined. Σ. Recall that Q is a finite set whose members are called states. δ. it does correspond to some Q. What are the states of the Door Opener? . However.

Q = {CLOSED. However. OPEN} . Σ.What is what in Door Opener REAR BOTH NEITHER FRONT REAR BOTH FRONT CLOSED OPEN NEITHER This automaton is not a DFA since it supposedly operates infinitely long and thus there are no starting state q0 and final states F defined. δ. it does correspond to some Q.

Σ. What are they in the Door Opener? .What is what in Door Opener REAR BOTH NEITHER FRONT REAR BOTH FRONT CLOSED OPEN NEITHER This automaton is not a DFA since it supposedly operates infinitely long and thus there are no starting state q0 and final states F defined. δ. However. Recall that Σ is a finite alphabet containing possible input symbols. it does correspond to some Q.

However. BOTH. REAR. δ. Σ. it does correspond to some Q. NEITHER} . Σ = {FRONT.What is what in Door Opener REAR BOTH NEITHER FRONT REAR BOTH FRONT CLOSED OPEN NEITHER This automaton is not a DFA since it supposedly operates infinitely long and thus there are no starting state q0 and final states F defined.

it does correspond to some Q. However. δ. Σ. Recall that transition function is a function δ : Q × Σ → Q defining how the automaton behaves.What is what in Door Opener REAR BOTH NEITHER FRONT REAR BOTH FRONT CLOSED OPEN NEITHER This automaton is not a DFA since it supposedly operates infinitely long and thus there are no starting state q0 and final states F defined. .

it does correspond to some Q. However. Σ. δ.What is what in Door Opener REAR BOTH NEITHER FRONT REAR BOTH FRONT CLOSED OPEN NEITHER This automaton is not a DFA since it supposedly operates infinitely long and thus there are no starting state q0 and final states F defined. FRONT OPEN OPEN REAR CLOSED OPEN BOTH CLOSED OPEN NEITHER CLOSED CLOSED CLOSED OPEN .

labelled with symbols (elements of Σ). An incoming edge from nowhere encodes the starting state. Thus. Directed edges. Nodes with double border encode accept states (elements of F ). encode δ.State Diagram of a DFA Nodes encode the states (elements of Q). each node has |Σ| outgoing edges. Parallel edges can be combined into a single edge with multiple labels. .

1}. marking the starting and accepting states: start q1 q2 q3 . and transition function δ given by the following table: q1 q2 q3 0 1 q1 q2 q3 q2 q2 q1 We start with drawing nodes (labeled with elements of Q). final state set F = {q2 }. alphabet Σ = {0. start state q1 . q2 .Drawing a State Diagram Q: Draw a state diagram of a DFA M1 with state set Q = {q1 . q3 }.

final state set F = {q2 }. start state q1 . q2 . 1}. alphabet Σ = {0. q3 }. and transition function δ given by the following table: 0 1 q1 q1 q2 q2 q3 q2 q3 q2 q1 Then we draw outgoing edges (defined by δ) for the first node (q1 is this example): 0 start q1 1 q2 q3 .Drawing a State Diagram Q: Draw a state diagram of a DFA M1 with state set Q = {q1 .

1}. q2 . and transition function δ given by the following table: 0 1 q1 q1 q2 q2 q3 q2 q3 q2 q1 Similarly we draw outgoing edges for the other nodes and we are done: 0 start q1 1 q3 1 0 0 1 q2 . start state q1 . q3 }. final state set F = {q2 }.Drawing a State Diagram Q: Draw a state diagram of a DFA M1 with state set Q = {q1 . alphabet Σ = {0.

Languages Definition Let Σ be an alphabet. i. any set of strings over Σ. The language corresponding to a decision problem is the set of strings encoding yes-instances.e. We let Σ∗ denote the set of all (finite) strings over Σ.. Given an input (string) is the answer “yes” or “no”? Strings for which the answer is “yes” are called yes-instances and the others are no-instances. . A language over Σ is any subset of Σ∗ . We use languages to encode decision problems.

. Thus recognizing a language means being able to distinguish membership from nonmembership in the language. thus solving the corresponding decision problem. We let L(M) denote the language recognized by M. We say that M recognizes A iff M accepts every string in A and rejects every string in Σ∗ − A. Every DFA recognizes a unique language.Recognizng DFA Definition Let M be a DFA with alphabet Σ and let A ⊆ Σ∗ be a language over Σ.

Designing a DFA Q: Design a DFA recognizing the language B = {x ∈ {0. to distinguish whether the current symbol (that will be the last one at some point) matches the recorded first symbol. . reject otherwise. In order to design such a DFA we need: to “record” the first symbol of the input (using states as the only available sort of memory). 1} | |x| ≥ 2 and the 1st symbol of x equals the last symbol of x}. (at the end) accept if it does.

The computation (s0 . and si = δ(si−1 . s1 . the start state. and if the latter holds. . . . . we say that M rejects w . Thus s0 . Suppose w = w1 w2 · · · wn where wi ∈ Σ for all 1 ≤ i ≤ n. . Σ. wi ) for all 1 ≤ i ≤ n. . sn ) is accepting if sn ∈ F . δ. . q0 . s0 = q0 . . and is rejecting otherwise. If the former holds. starting with the start state. . sn ) where each si ∈ Q. . is the sequence of states that M goes through while reading w from left to right. we say that M accepts w . . s1 . Definition Let M = (Q. F ) be a DFA and let w ∈ Σ∗ be a string over Σ.DFA Computation We now define a DFA computation formally. The computation of M on input w is the unique sequence of states (s0 . .

.e.Examples Example: DFA that recognizes multiples of 3 in unary. Definition A language A ⊆ Σ∗ is regular iff some DFA recognizes it. 1} with an even number of 1s. c} containing abacab as a substring. b.. (Idea is useful for text search. binary. i. Strings over {0. 1} with an even number of 1s or an odd number of 0s. A = L(M) for some DFA M.) Example: Strings over {0. Example: DFA that accepts strings over {a.

xk | k ∈ Z ∧ k ≥ 0 ∧ ∀i = 1. . . In other words. 2. the class of regular languages is closed under the union and concatenation operations. . . Read proofs in Sipser pp.Regular Operations Let A and B be two languages. . .44-47. . xi ∈ A} Theorem If A and B are regular languages then so are A ∪ B and A B. k. We define the following regular operations: Union: A ∪ B = {x | x ∈ A ∨ x ∈ B} Concatenation: A B = {xy | x ∈ A ∧ y ∈ B} Star: A = {x1 x2 .

Sign up to vote on this title
UsefulNot useful