Você está na página 1de 50

EEE908 - Modelagem e

Controle de Sistemas Dinamicos


a Eventos Discretos
Linguagens e Automatos
Hopcroft, J.E., Motwani, R. e Ullman, J.D.,
Introduction to Automata Theory, Languages
and Computation, Addison-Wesley, 2
a
edicao,
2001
Prof. Patrcia N. Pena
Fevereiro, 2014
Principais Conceitos
Denicao 1 (Alfabeto). Alfabeto e um conjunto nito e
nao vazio de smbolos.
O smbolo para o alfabeto e convencionado como .
Exemplo 1. Exemplos de alfabetos:
= {0, 1}, o alfabeto binario;
= {a, b, . . . }, o conjunto de todas as letras minusculas;
= {, , . . . }, o conjunto de letras gregas minusculas.
Denicao 2 (Cadeia). Cadeia e uma sequencia nita de
smbolos de um alfabeto.
- A cadeia e a cadeia vazia, ou a cadeia com zero
ocorrencias de smbolos. Esta cadeia pode ser esco-
lhida a partir de qualquer alfabeto.
- |s| ou comprimento da cadeia: numero de posicoes
para smbolos na cadeia
Exemplo 2. Exemplos de cadeias:
010010, do alfabeto = {0, 1}, |010010| = 6;
aabd, do alfabeto = {a, b, . . . }, |aabd| = 4;
2
Principais Conceitos
Denicao 3 (Potencias de um Alfabeto).
k
denota o
conjunto de cadeias de comprimento k, com smbolos de
.
Exemplo 3. Seja o alfabeto = {0, 1}:

0
= {};

1
= {0, 1};

2
= {00, 01, 10, 11};

3
= {000, 001, 010, 011, 100, 101, 110, 111}.
Convencao usam-se letras do incio do alfabeto (a, b, c)
para denotar smbolos e letras do nal do alfabeto
para denotar cadeias (w, x, y e z).
O conjunto de todas as cadeias possveis de serem forma-
das com smbolos de um alfabeto e denotado, convenci-
onalmente, por:

=
0

1

2

3
. . .
Exemplo 4. Seja o alfabeto = {0, 1},

= {, 0, 1, 00, 01, 10, 11, 000, . . . }


3
Principais Conceitos

+
`as vezes se deseja retirar o elemento do conjunto
de cadeias.

+
=
1

2

3
. . . e

=
+
{}
Denicao 4 (Concatenacao de Cadeias). Sejam x e y
cadeias. A cadeia xy denota a concatenacao de x e y.
Exemplo 5. Sejam as cadeias:
x = a
1
a
2
. . . a
i
e y = b
1
b
2
. . . b
j
,
a concatena cao de x e y gera a cadeia
xy = a
1
a
2
. . . a
i
b
1
b
2
. . . b
j
.
O comprimento da cadeia xy e |xy| = j +i.
Exemplo 6. Sejam as cadeias:
- x = 0011 e w = 1001, xw = 00111001 e wx =
10010011;
- w = w = w: e a identidade na concatenacao;
4
Principais Conceitos
Denicao 5 (Linguagens). Uma linguagem L sobre um
conjunto e um subconjunto de

, L

.
A linguagem sobre um alfabeto nao precisa necessaria-
mente incluir cadeias com todos os smbolos de .
Uma linguagem L sobre = {, } e tambem uma lin-
guagem sobre = {, , }
Exemplo 7. Sao exemplos de linguagens:
- Linguagens denidas sobre qualquer alfabeto:
a)

: linguagem composta de todas as cadeias possveis;


b) : linguagem vazia;
c) {}: linguagem composta de 1 elemento, a cadeia
vazia;
- Conjunto de palavras do portugues e uma linguagem
sobre o conjunto de letras;
- Para o conjunto = {, , }, sao linguagens:
a) L
1
= {, , , , , , , }
b) L
2
= {conjunto de cadeias iniciadas com o smbolo
} = {, , , , , , . . . }
c) L
3
= {, , }

Os alfabetos sao nitos. As linguagens podem ser inni-


tas, ou seja, ter um numero innito de cadeias.
5
Principais Conceitos

E comum denir a linguagem usando a seguinte notacao:


L = {w| algo sobre w}.
Leia-se a linguagem L e composta do conjunto de cadeias
w tal que o que esta `a direita do smbolo | se verica.
L
1
= {w|igual numero de 0s e 1s } = {, 01, 10, 0110,
1100. . . }
Pode-se tambem substituir w por alguma expressao com
paramatros para descrever a linguagem em termos deste
parametro.
L
2
= {0
n
1
n
|n 1} = {01, 0011, 000111, . . . }: a lin-
guagem L
2
e formada do conjunto de cadeias com-
postas de n zeros seguidos de n uns.
L
3
= {0
i
1
j
|0 i < j} = {1, 011, 0111, 00111, 001111,
00000111111. . . }: a linguagem L
3
e formada de ze-
ros (possivelmente nenhum) seguidos de no mnimo
um smbolo 1 a mais que o numero de smbolos 0s.
Exerccio 1. Verique se:
- L
1
= L
2
- L
1
L
2
- L
2
L
1
6
Principais Conceitos
Denicao 6 (Opera coes sobre Linguagens). Sejam A, B

- Uniao: L
1
L
2
= L
1
+L
2
= {s|s L
1
ou s L
2
}
- Concatena cao: L
1
L
2
= {st|s L
1
, t L
2
}
- Fechamento Kleene: L

n=0
L
n
, onde L
0
= {} e
L
n
= L
n1
L;
- Prexo-fechamento: L = {s|t

, st L}
Exemplo 8. Uniao, com A = {0, 01} e B = {2, 23} e
= {0, 1, 2, 3}:
- A B = {0, 01, 2, 23}.
Exemplo 9. Concatenacao, com A = {0, 01} e B = {2, 23}
e = {0, 1, 2, 3}:
- AB = {02, 023, 012, 0123}.
Exemplo 10. Fechamento Kleene:
- A = {0, 11}: A
2
= {00, 011, 110, 1111}, A
n
= A
n1
A
Exemplo 11. Prexo-fechamento:
- A = {0, 11}: A = {, 0, 1, 11}.
7
Principais Conceitos
Exerccio 2. Dados A = {a, b} e B = {aa, ba}, obter:
- AB:
- AB:
- A
3
:
8
Expressoes Regulares
Expressoes regulares consistem em uma outra forma
de denir linguagens;
Pode ser tambem tratada como uma linguagem de
programa cao - tipicamente utilizada para implemen-
tar mecanismos de busca de texto e compiladores;


E uma forma de declarar as cadeias que queremos
aceitar.
Exemplo 12. Sistemas para busca: usam nota cao
de expressoes regulares para descrever padroes que o
usuario quer encontrar no arquivo.
9
Expressoes Regulares
Se u, v sao cadeias de eventos:
- u = {u}
- (u +v) = {u} {v} = {u, v}
- u

= {, u, uu, uuu, . . . }
- uv = {uv}
Denicao 7 (Expressao Regular). Denicao recursiva:
1. Sao expressoes regulares:
- : conjunto vazio;
- : linguagem {}
- : linguagem {},
2. Se s e t sao expressoes regulares, entao st, s

, t

,
(s +t)

sao expressoes regulares;


3. Toda expressao regular e obtida pela aplicacao das
regras 1 e 2 um numero nito de vezes.
10
Expressoes Regulares
Exemplo 13. Seja = {, , }:
- L = ( +), calcule L

.
L

n=1
L
n
= L
0
L
1
L
2
. . . (1)
L
0
=
L
1
= L
0
L = ( +) = ( +)
L
2
= L
1
L = ( +)( +) = (, , , )
L
3
= L
2
L = (, , , )( +)
= (, , , , , , , )
.
.
. =
.
.
.
( +)

= {, , , , , , , , , ,
, , , , , . . . }
- (+)

= {, , , , , , , , ,
, , , , , , . . . }
- ()

+ = {, , , , , . . . }
11
Expressoes Regulares
Exerccio 3. Seja = {, , }. Encontre uma expressao
regular que represente o conjunto de cadeias que possuem
exatamente um .
Exerccio 4. Seja = {, , }. Encontre uma expressao
regular que represente o conjunto de cadeias que possuem
pelo menos um e um .
Exerccio 5. Vericar se baa a

.
Exerccio 6. Vericar se abcd (a(cd)

b)

.
12
Expressoes Regulares
Denicao 8 (Ordem de precedencia). Para expressoes re-
gulares, a ordem de precedencia e:
1. Fechamento Kleene
2. Concatena cao
3. Uniao
Exemplo 14.
+

= ( +(()

))
()

= ()

+(()

)
13
Linguagem Regular
Denicao 9 (Linguagem Regular). Qualquer linguagem
que possa ser descrita como uma expressao regular e uma
linguagem regular
Proposicao 1. Se L = {u
1
, u
2
, . . . , u
n
} e uma linguagem
nita, entao L e uma linguagem regular.
Exerccio 7. Questoes:
1. Para qualquer alfabeto ,

e uma linguagem regu-


lar?
2. Qualquer linguagem e uma linguagem regular?
14
Exerccios
Exerccio 8. Seja L
1
a linguagem sobre = {0, 1} de-
nida tal que:
L
1
= {w

|w termina com 01, 10, 00 ou 11}.


Pergunta-se: a linguagem L
1
e regular?
Exerccio 9. Escreva a expressao regular que gera a lin-
guagem L
2
denida sobre = {a, b}, tal que toda cadeia
de L
2
contem pelo menos um par de as consecutivos.
Exerccio 10. Construa a expressao regular que descreve
a linguagem composta de cadeias de as e bs cujo numero
de bs consecutivos e divisvel por 5.
15
Exerccios
Exerccio 11. Descreva em palavras a linguagem descrita
pela expressao regular:
(a +b)

ab(a +b)

Exerccio 12. Determinar a expressao regular que des-


creve a linguagem em = {, } composta do conjunto
de sequencias de comprimento mpar que terminam com
.
16
Automatos de Estados Finitos De-
terminstico
A linguagem regular pode ser descrita por um automato
de estados nitos.
O automato pode ser determinstico ou nao-determinstico.
Se determinstico, o automato nao pode estar em
mais de um estado ao mesmo tempo;
Se nao-determinstico, o automato pode estar em
varios estados ao mesmo tempo.


E mais facil expressar uma expressao regular em ter-
mos de um AFN.
Qualquer AFN pode ser determinizado em um AFD.
17
Automatos de Estados Finitos
Determinstico
Denicao 10 (AFD). O automato de estados nitos de-
terminstico e uma quntupla A = (Q, , , q
0
, F) onde:
- Q e o conjunto nito e nao-vazio de estados
- e o conjunto de eventos
- : Q Q e a funcao de transicao de estados
- q
0
Q e o estado inicial
- F Q e o conjunto de estados nais
Exemplo 15. Seja o automato A = (Q, , , q
0
, F) com as
seguintes caractersticas:
- Q = {x, y, z}
- = {, , }
- (x, ) = x, (x, ) = (x, ) = z,
(y, ) = x, (y, ) = (y, ) = y
(z, ) = z, (z, ) = (z, ) = y
- q
0
= x
- F = {x, z}
O automato A possui tres estados, seu conjunto de even-
tos possui tres elementos, o estado inicial e x e os estados
nais sao {x, z}.
18
Automatos de Estados Finitos
Determinstico
O automato pode ser representado por meio da tabela de
transicao ou pelo diagrama de transicao.
Tabela de Transicao:

y
y
y y x
z
z z x
z
x
y

A tabela de transicao apre-
senta a funcao . A par-
tir de dois argumentos (es-
tado de origem e evento)
retorna o estado destino.
Diagrama de Transicao:
O diagrama de
transicao e um grafo
direcionado onde
os nos representam
os estados e os
ramos representam
os eventos.
,

,
,
z

y x

19
Automatos de Estados Finitos
Determinstico
Denicao 11. Extensao da funcao de transicao : Q
Q para : Q

Q.
- (q, ) = q
- (q, s) = ((q, s), )
Exemplo 16. Seja q = x e s = :
(x, ) = ((x, ), ) (2)
= (((x, ), ), )
= ((x, ), )
= (z, )
= z
,

,
,
z

y x

(x, ) = ((x, ), ) (3)


= (((x, ), ), )
= ((z, ), )
= (y, )
= y
20
Linguagem de um AFD
(z, ) = ((z, ), )
= (((z, ), ), )
= ((((z, ), ), ), )
= (((((z, ), ), ), ), )
= ((((((z, ), ), ), ), ), )
= (((((((z, ), ), ), ), ), ), )
= ((((((z, ), ), ), ), ), )
= (((((z, ), ), ), ), )
= ((((z, ), ), ), )
= (((y, ), ), )
= ((y, ), )
= (y, )
= y
Denicao 12. Uma cadeia s

e reconhecida por um
AFD A = (Q, , , q
o
, F) se (q
0
, s) F.
Denicao 13. A linguagem reconhecida por um AFD A =
(Q, , , q
o
, F) e dada por L
m
(A) = {s

|(q
0
, s) F}.
Ou seja, a linguagem de A e o conjunto de cadeias s que
levam do estado inicial q
0
para um dos estados nais.
21
Linguagem de um AFD
Exemplo 17. Seja = {, } um alfabeto e ( + )

uma linguagem regular.


( +)

= {, , , , , . . . }
Esta linguageme gerada pelo automato A = (Q, , , q
0
, F)
onde = {, }, Q = {0, 1}, q
0
= 0 e F = {1}. A funcao
de transicao e dada por:
(0, ) = 1 (0, ) = 0
(1, ) = 1 (1, ) = 0

0 1

Exemplo 18. Seja = {, , }. Uma tarefa e denida


como qualquer cadeia que inicie uma sequencia de 3 even-
tos, iniciada por , seguida de ou e entao .
Expressao regular: ( +)( + +)

.
O automato que gera esta linguagem e apresentado
abaixo.

5
0 4
3
2
1
, ,
,
,
, ,

22
Linguagem de um AFD
Exerccio 13. Seja = {, }. Qual a linguagem reco-
nhecida pelo seguinte AFD?

2
,
0

Exemplo 19. Obtenha um AFD que para a seguinte lin-


guagem: L = {s

|s tenha um numero par de 0s con-


secutivos e/ou de 1s consecutivos}.
23
Automatos de Estados Finitos
Nao-Determinstico
No automato nao-determinstico e possvel estar em varios
estados ao mesmo tempo.
Denicao 14 (AFN). O automato de estados nitos nao-
determinstico e uma quntupla A = (Q, , , q
0
, F) onde:
- Q e o conjunto nito e nao-vazio de estados
- e o conjunto de eventos
- : Q B, onde B Q, e a funcao de transicao
de estados
- q
0
Q e o estado inicial
- F Q e o conjunto de estados nais
A diferen ca na deni cao do AFN esta na funcao de transicao
que retorna, no caso de AFN, um conjunto de estados.
2 1
,

0
24
Automatos de Estados Finitos
Nao-Determinstico
Exerccio 14. Dena formalmente o automato apresen-
tado abaixo.
2 1
,

0
Qual a linguagem reconhecida? Em palavras...
Este automato e AFD ou AFN?
25
Automatos de Estados Finitos
Nao-Determinstico
Denicao 15 (Extensao de para cadeias). : Q

2
Q
:
- (q, ) = {q}
- (q, s) = {p|p (n, ), n (q, s)} =
n(q,s)
(n, )
Exemplo 20. Seja a transicao a seguir.
(0, ) = {p|p (n, ), n (0, )}
= {p|p (n, ), n (m, ), m (0, )}
= {p|p (n, ), n {0, 1}}
= {p|p {0}}
= {0}

1 0
26
Linguagem de um AFN
Denicao 16. Uma cadeia s e reconhecida por um AFN
A = (Q, , , q
0
, F) se
(q
0
, s) F = .
Denicao 17 (Linguagem de um AFN). A linguagem re-
conhecida por um AFN A = (Q, , , q
0
, F) e dada por
L
m
(A) = {s

|(q
0
, s) F = }
Em palavras, L
m
(A) e o conjunto de cadeias de

tal
que (q
0
, s) contem pelo menos um estado pertencente a
F.
Exerccio 15. Seja o AFN A = (Q, , , q
0
, F) a seguir

1 0
L
m
(A) =
Exerccio 16. Seja o AFN A = (Q, , , q
0
, F) a seguir

1 0
L
m
(A) =
27
Equivalencia entre AFD e AFN
Teorema 1. Uma linguagem e reconhecida por um auto-
mato de estados nitos nao-determinstico se e somente
se for reconhecida por um automato de estados nitos
determinstico.

E muitas vezes mais facil construir um automato de esta-


dos nitos nao-determinstico que reconhece uma lingua-
gem que seu correspondente determinstico.
Em geral, o AFD tem aproximadamente o mesmo numero
de estados que o AFN, mas mais transicoes. No pior
caso, o menor AFD que reconhece uma linguagem tem 2
n
estados enquanto o menor AFN que reconhece a mesma
linguagem tem apenas n estados.
Exemplo 21. Seja A = (Q, , , q
0
, F) o AFN abaixo.

1 0
A seguir um automato determinstico A
D
= (Q
D
,
D
,
D
,
q
D
0
, F
D
) que gera a mesma linguagem, L = ( +)

01

1

01

,

28
Equivalencia entre AFD e AFN
Como construir um AFD a partir de um AFN?
Metodologia 1. Come ca-se com um AFN N = (Q
N
, ,

N
, q
0
, F
N
). O objetivo e descrever um AFD D = (Q
D
, ,

D
, q
0
, F
D
) tal que L
m
(N) = L
m
(D).
- Q
D
e o conjunto de subconjuntos de Q
N
;
- F
D
e o conjunto S de subconjuntos de Q
N
tal que
S F
N
= ;
- Para cada conjunto S Q
N
e para cada elemento
a ,

D
(S, a) =
pS

N
(p, a)
Observa cao 1 Em um conjunto Q
N
de n elementos vai
gerar um conjunto Q
D
de 2
n
elementos. Nem to-
dos estes estados sao acessveis a partir do estado q
0
entao varios dos estados de Q
D
poderao ser elimina-
dos.
Observacao 2 F
D
e composto dos elementos de Q
D
que
possuem estados de F
N
.
Observacao 3 Para computar
D
(S, a) olham-se os esta-
dos p componentes de S, e faz-se a uniao de todos
os estados para os quais os estados p movem com a
ocorrencia do smbolo a.
29
Equivalencia entre AFD e AFN
Exemplo 22. Seja o AFN abaixo. Este AFN e descrito a
seguir.

1 0
- Q
N
= {0, 1};
- = {, };
-
N
tal que

N
(0, ) = {0, 1}

N
(0, ) =

N
(1, ) =

N
(1, ) = {0}
- q
0
= 0
- F
N
= {0}
O primeiro passo e determinar Q
D
:
Q
D
=

, {0}, {1}, {0, 1}

.
O conjunto de estados nais F
D
e formado dos estados
de Q
D
que tenham intersecao nao vazia com F
N
, ou seja,
F
D
=

{0}, {0, 1}

.
O estado inicial e {q
0
} = {0} e a tabela de transicao e
construda a seguir.
{0}

D

{0}
{1}
{0, 1}

{0, 1}

{0}
{0, 1}

01

1

30
Equivalencia entre AFD e AFN
A transicao
D
({0, 1}, ) foi obtida da seguinte forma:

D
({0, 1}, ) =
N
({0}, )
N
({1}, )
= {0, 1}
= {0, 1}
Exerccio 17. Obtenha um AFD que reconhece a mesma
linguagem que o AFN abaixo.
2 1
,

0
31
Equivalencia entre AFD e AFN
Exerccio 18. Obtenha um AFD que reconhece a mesma
linguagem que o AFN abaixo.
1

,
2 0

,
32
Equivalencia entre AFD e AFN
Exerccio 19. Obtenha um AFD que reconhece a mesma
linguagem que o AFN abaixo.
1


2 0

33
Equivalencia entre Automatos de
Estados Finitos e Expressoes
Regulares
Teorema 2 (Kleene, 1950). Se uma linguagem e regular,
entao ela e reconhecida por algum automato de estados
nitos; se uma linguagem e reconhecida por um automato
de estados nitos, entao a linguagem e regular.
Questao: Como vericar se uma dada linguagem pode
ser representada por uma expressao regular?
Resposta: Existem algumas tecnicas; o Pumping Lemma
e uma tecnica poderosa.
Teorema 3 (Pumping Lemma). Seja L uma linguagem
regular. Entao existe uma constante n tal que, para toda
cadeia w L tal que |w| n, pode-se quebrar w em tres
cadeias w = xyz, tais que:
1. y = ;
2. |xy| n;
3. k 0, xy
k
z L.

E sempre possvel encontrar uma cadeia y nao-vazia, nao


muito longe do incio de w, que pode ser pumped (bom-
beada); ou seja, repetindo y um numero de vezes ou de-
letando y (k = 0), de tal forma que a cadeia resultante
continua sendo cadeia de L.
34
Pumping Lemma como um Jogo de
Adversarios
Para toda linguagem L existe n tal que para todo w em
L com |w| n existe xyz = w tal que...
1. Jogador 1 escolhe a linguagem L para provar que e
nao-regular;
2. Jogador 2 escolhe n, mas nao revela ao Jogador 1
qual e o valor de n
3. Jogador 1 escolhe w em funcao de n, com |w| n;
4. Jogador 2 divide w em x, y e z, com y = e |xy| n,
mas nao revela ao Jogador 1
5. Jogador 1 vence o jogo escolhendo k (funcao de
x, y, z e n) tal que xy
k
z / L
35
Pumping Lemma como um Jogo de
Adversarios
Exemplo 23. Seja = {, }. Mostrar que o a linguagem
L = {s

| o numero de s e igual ao numero de s} e


nao-regular.
Suponha que L e uma linguagem regular.
1. Jogador 1 (pat) escolhe a linguagem L para provar
que e nao-regular. Ela tem que lidar com qq escolha
que o jogador 2 venha a fazer.
2. Jogador 2 escolhe n (ele nao revela o valor de n).
3. Jogador 1 (pat) escolhe w =
n

n
, que atende a res-
tricao |w| n pois |
n

n
| = 2n n;
4. Jogador 2 divide
n

n
em x, y e z, mas nao revela ao
Jogador 1.
5. Sabendo que y = e |xy| n, Jogador 1 (pat)
vence o jogo escolhendo k = 0. Como xy vem
no incio da cadeia w e seu comprimento e menor ou
igual a n, entao sabe-se que ha apenas s nas cadeias
x e y. O Pumping Lemma diz que xy
0
z = xz L e
condicao para que se tenha linguagem regular. Dados
para concluir:
ao escolher k = 0, y
0
= e xz / L pois um con-
junto de s da cadeia desaparece, fazendo com
que o numero de s e s quem diferentes.
Jogador 1 tambem venceria o jogo se escolhesse outro
k tal que k = 1. Se escolhesse k = 2, a cadeia y seria
transformada em yy. Ao concatenar xy
2
z, considerando
que todos os s estao na cadeia z, o numero de s caria
maior que o numero de s, fazendo com que xy
2
z / L.
36
Pumping Lemma como um Jogo de
Adversarios
Exemplo 24. Seja = {, }. Mostrar que o a linguagem
L = {s

| tal que |s| e primo} e nao-regular.


Suponha que L e regular.
1. Jogador 1 (pat) escolhe a linguagem L para provar
que e nao-regular.
2. Jogador 2 escolhe n.
3. Jogador 1 (pat) escolhe w = s

, tal que |s

| n + 2
que atende a restricao |w| n. Seja s

=
p
, sendo p
um numero primo tal que p n +2.
4. Jogador 2 divide
p
em x, y e z.
5. Considere que |y| = m (atende restricao y = ), entao
|xz| = p m. Agora o Jogador 1 escolhe k = p m
entao xy
pm
z L se L for regular. No entanto,
|xy
pm
z| = |xz| +|y
pm
|
= |xz| +(p m)|y|
= (p m) +(p m)m
= (m+1)(p m)
Este numero nao sera primo se os dois fatores (pm)
e (m+1) forem diferentes de 1.
Como y = , entao m+1 > 1;
Como p n + 2 e m = |y| |xy| n levando `a
conclusao de que m n, entao
p m n +2 m 2.
Esta linguagem e nao-regular pois |xy
pm
z| nao e
primo.
37
Pumping Lemma como um Jogo de
Adversarios
Exerccio 20. Seja = {, }. Mostrar que a linguagem
L = {s

| o numero de s e o dobro do numero de s}


e nao-regular.
38
Pumping Lemma como um Jogo de
Adversarios
Exerccio 21. Seja = {, }. Mostrar que a linguagem
L = {s

| o numero de s e o dobro do numero de s}


e nao-regular.
Suponha que L e uma linguagem regular.
1. Jogador 1 (pat) escolhe a linguagem L para provar
que e nao-regular.
2. Jogador 2 escolhe n.
3. Jogador 1 (pat) escolhe w =
2n

n
L, que atende
a restri cao |w| n pois |
2n

n
| = 3n n;
4. Jogador 2 divide
2n

n
em x, y e z.
5. Sabendo que y = e |xy| n, Jogador 1 (pat)
vence o jogo escolhendo k = 2. A cadeia xy e
composta somente de s, ja que seu comprimento e
menor que n. O Pumping Lemma diz que xy
2
z =
xyyz L e condi cao para que se tenha linguagem
regular. Dados para concluir:
como y = e y e uma cadeia de s, ao escolher
k = 2, y
2
= yy e xyyz / L pois um conjunto de s
e inserido na cadeia, quebrando a relacao entre o
numero de s e s.
39
Equivalencia de AFD
Denicao 18. Dois AFD A e B sao equivalentes se e
somente se L
m
(A) = L
m
(B).
Exemplo 25. Os dois AFD A e B abaixo sao equivalentes.
1
1
,
,
0
B A
,

,

3 2
0

L
m
(A) = L
m
(B) = ( +)( +)

Em muitos casos, nao existe um unico modelo para um


sistema.

E desejavel obter aquele com menor numero de
estados.
Denicao 19 (AFD Mnimo). Um AFD A = (Q
A
, ,
A
,
q
0A
, F
A
) e mnimo se e somente se para todo AFD B =
(Q
B
, ,
B
, q
0B
, F
B
), com L
m
(A) = L
m
(B), |Q
A
| |Q
B
|.
Em palavras, um AFD A e mnimo se e somente se para
todo AFD B tal que as linguagens reconhecidas por cada
um deles e igual, o numero de estados de A deve ser
menor que o numero de estados de B.
Observa cao Se A possui estados nao-acessveis entao A
nao e mnimo.
40
Agregacao de Estados em um
Automato
Para sistemas pequenos e possvel reduzir o numero de es-
tados de um modelo utilizando logica e bom senso. Para
sistemas de maior porte, pode haver explosao combina-
torial.
Denicao 20 (Estados Equivalentes). Seja A = (Q, ,
, q
0
, F) um AFD e seja R um subconjunto de estados,
R Q. Diz-se que o conjunto R e constitudo de estados
equivalentes em relacao a F se, para quaisquer x, y R,
com x = y e qualquer cadeia s:
(x, s) F se e somente se (y, s) F
Observa cao 1 se x F e y / F, entao x e y nao podem
ser equivalentes.
Observa cao 2 se (x, ) = (y, ), para qualquer
entao x e y sao equivalentes.
Observacao 3 a propriedade acima se mantem se, para
alguns eventos, (x, ) = y e (y, ) = x.
Observa cao 4 em geral, se R e tal que R F ou RF =
, entao R e constitudo de estados equivalentes se
(x, ) = z / R implica (y, ) = z para quaisquer
x, y R.
Observacao 5 se F = Q, entao todos os estados sao
equivalentes em relacao a F.
41
Agregacao de Estados em um
Automato
Estados nao equivalentes sao chamados de distinguveis
(distinguishable);
Se dois estados nao sao distinguveis, eles sao equi-
valentes;
A base para o algoritmo que obtem estados equiva-
lentes consiste de buscar os estados distinguveis.
Para A = (Q, , , q
o
, F),
Base Se p F e q / F, {p, q} sao distinguveis.
Inducao Sejam p, q estados tais que para algum smbolo
a, r = (p, a) e s = (q, a). Se o par de estados {r, s}
e distinguvel, entao {p, q} e distinguvel.
42
Equivalencia de AFD
Exemplo 26. Seja A o AFD que deve detectar a sequencia
.
1
,

4
2

3
A
0

Pode-se perceber que o estado 4 e equivalente ao estado


0 pois:
- (0, ) = (4, ) = 1;
- (0, ) = (4, ) = 4;
- (0, ) = (4, ) = 4.
0, 4
B
1

,
43
Algoritmo para Identicacao de
Estados Equivalentes
Metodologia 2 (Identicacao de Estados Equivalentes).
1. Montar uma tabela com todos os pares de estados;
2. Marcar (p, q) para todo p F e q / F;
3. Para todo par (p, q) nao marcado no passo 2:
(a) se ((p, ), (q, )) esta marcado para algum
, entao:
i. Marcar (p, q)
ii. Marcar todos os pares (m, n) nao marcados na
lista de (p, q). Repetir para cada (m, n) ate que
nenhuma marcacao seja possvel
(b) se ((p, ), (q, )) nao esta marcado para nenhum
entao:
i. se (p, ) = (q, ) entao acrescentar ((p, ),
(q, )) `a lista de (p, q).
44
Algoritmo para Identicacao de
Estados Equivalentes
Exemplo 27. Seja A o AFD abaixo.
1
,

4
2

3
A
0

X
3
4
1
2
0 1 2 3
X X X
0, 1

3, 4
4, 4
1, 1
4, 4
4, 2
1, 1
X
X
X
3
4
1
2
0 1 2 3
X X X
4, 4

4, 3
1, 1 0, 2
45
Algoritmo para Identicacao de
Estados Equivalentes
1
,

4
2

3
A
0

3
X X
X X X
X
X
3 2 1 0
2
1
4
1, 2

2, 4
4, 3
1, 1
X
X
3
4
1
2
0 1 2 3
X
X
X X X
X
4, 4

4, 4
0, 4 1, 1
46
Algoritmo para Identicacao de
Estados Equivalentes
1
,

4
2

3
A
0

X EQ
X
X
X X X
X
X
3 2 1 0
2
1
4
3
4, 4

1, 4 1, 1
2, 4
X EQ
X
X
X X X
X
X
3 2 1 0
2
1
4
3
X
47
Algoritmo para Identicacao de
Estados Equivalentes
Metodologia 3 (Minimizacao de AFD).
1. Eliminar qualquer estado que nao possa ser alcancado
a partir do estado inicial.
2. Particionar os estados restantes em blocos de modo
que:
(a) todos os estados no mesmo bloco sejam equiva-
lentes;
(b) nenhum par de estados de blocos distintos seja
equivalente.
1
,

4
2

3
A
0

0, 4 1

A
3

,
48
Algoritmo para Identicacao de
Estados Equivalentes
Exerccio 22. Minimizar o AFD abaixo.
,
1

0
2 3

,

49
EEE908 - Modelagem e
Controle de Sistemas Dinamicos
a Eventos Discretos
Redes de Petri
Cassandras, C. e Lafortune, S., Introduction to
Discrete Event Systems, 2nd edition Springer
Prof. Patrcia N. Pena
Abril, 2013

Você também pode gostar