Вы находитесь на странице: 1из 23

# CSI 3104 /Winter 2006: Introduction to Formal Languages Chapter 6: Transition Graphs

## Chapter 6: Transition Graphs

We introduce the first non-deterministic but simple theoretical machine: Transition Graph.

CSI3104-W06

## Chapter 6: Transition Graphs

b a

a b
a,b

An FA: {baa} a,b The word a? The word baabb? The input fails, or the machine fails on the input. The input is rejected.
Dr. Nejib Zaguia CSI3104-W06 2

## Chapter 6: Transition Graphs

ba

a
b a,b a,b
+

aa, ab, bb

A transition graph that accepts the language {baa} What it seems to be a More Powerful Machine

CSI3104-W06

## Chapter 6: Transition Graphs

Two other equivalent Transition Graphs with fewer states baa baa
+ +

all else

a,b

a,b

The word a? The word baabb? The input crashes. The machine crashes. The input is rejected. (2 ways for an input to be rejected)
CSI3104-W06 4

a,b

a,b aa,bb
+

## baa? a choice, a decision 2 possible paths

b|aa - accepted b|a|a - rejected 1 way to crash ba|a rejected The machine represents a language L. baa L? For all w, w L if there exists a path that arrives at a final state.
Dr. Nejib Zaguia CSI3104-W06 5

ba

ab
+

baa

## baab? 2 possible paths, both end in a final state.

Dr. Nejib Zaguia CSI3104-W06 6

## Chapter 6: Transition Graphs

A transition graph (TG) is the following 3 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 the final states (or accepting states) 2. an alphabet of input letters 3. a finite set of transitions that show how to go to a new state, for some pairs of state and substrings of letters (or ). (One pair can have 0, 1, or more next-states.)
Dr. Nejib Zaguia CSI3104-W06 7

## Chapter 6: Transition Graphs

A successful path is a series of edges beginning at some start state and ending at a final state. The concatenation of all the substrings that label the edges in the path is a word accepted by this machine. The set of words accepted is the language of the transition graph.

CSI3104-W06

## Chapter 6: Transition Graphs

Example:
1

abb

L aa

4 +

b
2 3 1 4

abbaab

abb

aa

abbab crashes.
Dr. Nejib Zaguia CSI3104-W06 9

## Many start states

1 2 3

a b aba
+

1 2

a b aba
+

L L

These two machines are clearly equivalent. Remark: Every finite automaton is a transition graph.
Dr. Nejib Zaguia CSI3104-W06 10

L=

L = {L} L baa
+

abba

## L = {L, abba, baa}

Dr. Nejib Zaguia CSI3104-W06 11

L = {}
+ +

L
+

CSI3104-W06

12

## All words ending in b: (a+b)*b

a,b
b +

FA b a

b
+

transition graph: Some words can fail, crash, and succeed: abab.

CSI3104-W06

13

## Chapter 6: Transition Graphs

a,b b a b aa b aa
Dr. Nejib Zaguia CSI3104-W06 14

a,b a b b b
+

## Chapter 6: Transition Graphs

Language EVEN-EVEN

FA:
even a even b

b 2 b a b a 4 b
even a odd b

Transition Graph:
aa,bb
+ ab,ba aa,bb

1 +

a
odd a even b

a
balanced odd a odd b
CSI3104-W06

ab,ba
unbalanced

15

## Chapter 6: Transition Graphs

b a bbb a a a,b + b

a
b

ab bbb bb

abbbabbbabba

bb a
Dr. Nejib Zaguia

CSI3104-W06

16

L
a a
+

## Is there an algorithm to determine if a word is accepted?

Dr. Nejib Zaguia CSI3104-W06 17

## L We can delete the L transition

a, L

a b, L
But not here
Dr. Nejib Zaguia CSI3104-W06

18

## Chapter 6: Transition Graphs

A generalized transition graph (GTG) is the following 3 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 the final states (or accepting states) 2. an alphabet of input letters 3. a finite set of edges connecting some pairs of states, each labeled with a regular expression
Dr. Nejib Zaguia CSI3104-W06 19

a*
+

(ba+a)*

b+L

CSI3104-W06

20

a,b
+

a,b

(a+b)*

(a+b)

b*

CSI3104-W06

21

## Chapter 6: Transition Graphs

Choosing Transitions

ab

abb

abb
5

abb
5

22

CSI3104-W06

## Choices even with restriction of 1 letter per edge

8

Machine is nondeterministic

b b

9 1 0

7
8

b
1 0

a b L
9

23

CSI3104-W06