You are on page 1of 23

Lecture 07: Theory of Automata:2011

Transition Graphs

University Institute of Information Technology, PMAS-AAUR


Lecture 07: Theory of Automata:2011

Transition Graphs
• Relaxing the Restriction on Inputs

• Looking at TGs

• Generalized Transition Graphs

• Nondeterminism

2
University Institute of Information Technology, PMAS-AAUR
Lecture 07: Theory of Automata:2011

Relaxing the Restriction on Inputs

University Institute of Information Technology, PMAS-AAUR


Lecture 07: Theory of Automata:2011

Relaxing the restrictions on inputs


• Let’s consider a very specialized FA that accepts only
the word baa:

• Beginning at the start state, anything but the string baa


will drop down into the garbage collecting state and
never be seen again. Even the string baabb will fail.
• Hence the language accepted by this FA is L = {baa}

4
University Institute of Information Technology, PMAS-AAUR
Lecture 07: Theory of Automata:2011

Relaxing restrictions on input


• Let us relax the restriction that an FA can only read one letter from
the input string at a time

• Suppose we now allow a machine to read either one or two letters


of the input string at a time. Then we may design a machine that
accepts only the word baa with fewer states as the one below:

5
University Institute of Information Technology, PMAS-AAUR
Lecture 07: Theory of Automata:2011

Relax restrictions on input


• If we go further to allow a machine to read up to
three letters of the input string at a time, then we
may design the machine accepting only the word
baa with even fewer states as follows:

6
University Institute of Information Technology, PMAS-AAUR
Lecture 07: Theory of Automata:2011

Relaxing restrictions on input


• The picture on the left tells us that when the input fails to be of the desired
form, we must go to the garbage collection state and read through the rest
of the input, knowing that we can never leave there.

• The picture on the right introduces some problems:


– If we begin in the start (-) state and the first letter of the input is an a, we have no
direction as to what to do.

– We also have problem even with the input baaa. The first three letters take us to
the accept state, but then the picture does not tell us where to go when the last a
is read. (Remember that according to the rules of FAs, one cannot stop reading
input letters until the input string completely runs out.)

• We may assume, as a convention, that there is some garbage collection


state associated with the picture on the right, but we do not draw it; and that
we must go and stay there when the input string fails to be of the desired
form.

• With this assumption, we can consider the two pictures above to be


equivalent, in the sense that they accept the exact same language.

7
University Institute of Information Technology, PMAS-AAUR
Lecture 07: Theory of Automata:2011

Relaxing restrictions on input


• Rather than trying to imagine a garbage collection state as described above,
it is more standard to introduce a new term to describe what happens when
an input is running on a machine and gets into a state from which it cannot
escape, even though it has not yet been fully read.

• Definition: When an input string that has NOT been completely read
reaches a state (final or otherwise) that it cannot leave because there
is no outgoing edge that it may follow, we say that the input (or the
machine) crashes at that state. Execution then terminates and the
input must be rejected.

• Note that on an FA it is not possible for any input to crash because there are
always an outgoing a-edge and an outgoing b-edge from each state. As
long as there remains input letters unread, progress is possible.

• There are now two different ways that an input can be rejected: (i) It could
peacefully trace a path ending in a non-final state, or (ii) it
could crash while being processed.

8
University Institute of Information Technology, PMAS-AAUR
Lecture 07: Theory of Automata:2011

• If we hypothesize that a machine can read one or two letters at a


time, then one may build a machine using only two states that can
recognize all words containing a double letter (aa or bb) as follows:

• We must now realize that we have changed something more


fundamental than just the way the edges are labeled or the number
of letters read at a time: This machine makes us exercise some
choice, i.e., we must decide how many letters to read from the
input string each time.

9
University Institute of Information Technology, PMAS-AAUR
Lecture 07: Theory of Automata:2011

• As an example for the problems of making choices, let us say that


the input is baa.

• If we first read b and then read aa we will go to the final state.


Hence, the string is accepted.

• If we first read b, then read a, and then read a, we will loop back
and be stuck at the start state. Hence, the string is rejected in this
case.

• If we first read two letters ba at once, then there is no edge to tell us


where to go. So, the machine crashes and the input string is
rejected.

• What shall we say? Is this input string a word in the language of this
machine or not?
10
University Institute of Information Technology, PMAS-AAUR
Lecture 07: Theory of Automata:2011

• The above problems tell us that if we change the definition of our


machine to allow for more than one letter to be read at a time, we
must also change the definition of acceptance.

• We shall say that a string is accepted if there is some way it


could be processed so as to arrive at a final state.

• Due to many difficulties inherent in expanding our definition of


machine to reading more than one letter of input at a time, we shall
leave the definition of finite automaton alone and call these new
machines transition graphs.

• Transition graphs were invented by John Myhill in 1957 for reasons.

11
University Institute of Information Technology, PMAS-AAUR
Lecture 07: Theory of Automata:2011

Definition of A Transition Graph


• A transition graph, abbreviated TG, is a collection of
three things:
1. A finite set of states, at least one of which is designated
as the start state (-), and some (maybe none) of which
are designated as final states (+).

2. An alphabet ∑ of possible input letters from which input


strings are formed.

3. A finite set of transitions (edge labels) that show how to


go from some states to some others, based on reading
specified substrings of input letters (possibly even the
null string Λ).
12
University Institute of Information Technology, PMAS-AAUR
Lecture 07: Theory of Automata:2011

• We should note the following from the definition of a TG:

1. Clause 3 in the definition means that every edge is labeled by some


string or strings of letters, not necessarily only one letter.

2. We are NOT requiring that there be any specific number of edges


emanating from any state: Some states may have no edge coming
out at all, and some may have thousands (e.g., edges labeled a, aa,
aaa, aaaa, ...).

3. A successful path through a TG is a series of edges forming a path


beginning at some start state (there may be several) and ending at
a final state.

4. If we concatenate in order the strings of letters that label each edge


in a successful path, we produce a word that is accepted by this TG.

13
University Institute of Information Technology, PMAS-AAUR
Lecture 07: Theory of Automata:2011

Example
Consider the Language L , defined over Σ = {a, b} of all
strings including Λ. The language L may be accepted by the
following TG

14
University Institute of Information Technology, PMAS-AAUR
Lecture 07: Theory of Automata:2011

Example

• Consider the Language L of strings, defined over Σ = {a, b},


containing double a.

• The language L may be expressed by the following regular


expression (a+b)* (aa) (a+b)*.

• This language may be accepted by the following TG

15
University Institute of Information Technology, PMAS-AAUR
Lecture 07: Theory of Automata:2011

Example
• Consider the language L of strings, defined over Σ={a, b},
having double a or double b.
• The language L can be expressed by RE (a+b)* (aa + bb)
(a+b)*.
• The above language may also be expressed by the following
TGs.

16
University Institute of Information Technology, PMAS-AAUR
Lecture 07: Theory of Automata:2011

Looking at TGs

In this section, we will consider some more examples of TGs.

University Institute of Information Technology, PMAS-AAUR


Lecture 07: Theory of Automata:2011

Example

• This TG accepts nothing, not even the null string.

• To be able to accept anything, it must have a final state.


18
University Institute of Information Technology, PMAS-AAUR
Lecture 07: Theory of Automata:2011

Example

• This TG accepts only the null string Λ.


• Any other string cannot have a successful path to the
final state through labels of edges because there are no
edges (and hence no labels).
• Any TG in which some start state is also a final state will
always accept the null string Λ. This is also true of FAs.

19
University Institute of Information Technology, PMAS-AAUR
Lecture 07: Theory of Automata:2011

Example

• This machine accepts only the words Λ, baa,


and abba.
• Anything read while in the final state will cause a
crash, because the final state has no outgoing
edges.
20
University Institute of Information Technology, PMAS-AAUR
Lecture 07: Theory of Automata:2011

Example

• We can read all the input letters, one at a time, and stay in the left-
side state. When we read a b, if it is the very last letter of the input
string, we can use it to go to the final state. Note that this b must be
the very last letter, because once we are in the right-side state, if we
try to read another letter, we will crash.

• It is possible for an input string ending with a b to follow an


unsuccessful path that does not lead to acceptance (e.g., following
the b-edge too soon and crash, or looping back to the - state when
reading the last b).

• However, all words ending with a b can be accepted by some path.


Hence, the language accepted by this TG is (a + b)*b.
21
University Institute of Information Technology, PMAS-AAUR
Lecture 07: Theory of Automata:2011

Example

• In this TG, every edge is labeled with a pair of letters. Thus, for a
string to be accepted, it must have an even number of letters.

• Let’s call the left state the balanced state, and the right state the
unbalanced state.

• If the first pair of letters that we read is a double (aa or bb), then we
stay in the balanced state. While in the balanced state, we have
read an even number of a’s and an even number of b’s.
22
University Institute of Information Technology, PMAS-AAUR
Lecture 07: Theory of Automata:2011

EVEN-EVEN
• When a pair of unmatched letters is read (ab or ba), the machine
flips over to the unbalanced state, meaning that it has read an odd
number of a’s and an odd number of b’s.

• We do not return to the balanced state until another unmatched pair


is read. The discovery of two unmatched pairs makes the total
number of a’s and the total number of b’s read from the input string
even again.

• This TG accepts exactly the language EVEN - EVEN.

• Recall that EVEN - EVEN is the language of all words containing an


even number of a’s and an even number of b’s, including the null
string Λ.

23
University Institute of Information Technology, PMAS-AAUR

You might also like