Você está na página 1de 392

Linguagens Regulares

Prof. Marcus Vincius Midena Ramos


Universidade Federal do Vale do So Francisco
10 de abril de 2012
marcus.ramos@univasf.edu.br
www.univasf.edu.br/~marcus.ramos
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 1 / 392
Bibliograa
1
Linguagens Formais: Teoria, Modelagem e Implementao
M.V.M. Ramos, J.J. Neto e I.S. Vega
Bookman, 2009
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 2 / 392
Roteiro
1
Gramticas Regulares
2
Conjuntos e Expresses Regulares
3
Autmatos Finitos
4
Gramticas Regulares e Conjuntos Regulares
5
Gramticas Regulares e Autmatos Finitos
6
Conjuntos Regulares e Autmatos Finitos
7
Minimizao de Autmatos Finitos
8
Transdutores Finitos
9
Linguagens que no so Regulares
10
Propriedades de Fechamento
11
Questes Decidveis
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 3 / 392
Gramticas Regulares
Gramticas lineares direita ou esquerda
Gramticas lineares direita ou esquerda so aquelas cujas regras
atendem s seguintes condies:

N;

()(N) se linear direita, ou


(N )() se linear esquerda.
Demonstra-se que as gramticas lineares esquerda ou direita
geram exatamente a mesma classe de linguagens. Portanto,
indiferente o emprego de uma ou outra dessas duas variantes de
gramtica, j que ambas possuem a mesma capacidade de
representao de linguagens.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 4 / 392
Gramticas Regulares
Gramticas regulares
Por esse motivo, as gramticas lineares direita ou esquerda so
tambm denominadas gramticas regulares. Este termo serve para
designar ambos os tipos de gramtica linear. As linguagens geradas
por gramticas regulares recebem o nome de linguagens regulares.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 5 / 392
Gramticas Regulares
Equivalncia direita/esquerda
Teorema
Teorema 1.1 Se G
1
uma gramtica linear direita, ento existe
uma gramtica linear esquerda G
2
tal que L(G
1
) = L(G
2
), e
vice-versa.
Considere-se L
R
= L
R
(G
1
), o reverso da linguagem denida por G
1
.
1
Considere-se a gramtica linear direita G
/
tal que L
R
= L(G
/
).
Considere-se tambm G
//
, obtida a partir de G
/
, de tal forma que as
cadeias de comprimento no-unitrio de G
/
sejam invertidas em G
//
,
conforme o Algoritmo 1.1.
1
Se L regular, ento, conforme demonstrado no Teorema 10.4, L
R
tambm
regular. E, de acordo com o Teorema 4.1, existe uma gramtica linear direita G
/
que
gera L
R
.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 6 / 392
Gramticas Regulares
Equivalncia direita/esquerda
Algoritmo
Algoritmo 1.1 Obteno de uma gramtica linear esquerda que gera L
R
a
partir de uma gramtica linear direita que gera L.

Entrada: uma gramtica linear direita G


/
= (V, , P
/
, S);

Sada: uma gramtica linear esquerda G


//
= (V, , P
//
, S), tal que
L(G
//
) = L(G
/
)
R
;

Mtodo:
1
P
//
/ 0;
2
Se P
/
, (N), ento P
//
;
3
Se P
/
, (N), ento
R
P
//
;
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 7 / 392
Gramticas Regulares
Equivalncia direita/esquerda
Com G
//
construda dessa forma, possvel demonstrar que
L(G
//
) = L
R
(G
/
) = L(G
1
). Como G
//
, por construo, linear
esquerda, segue que G
//
= G
2
e L(G
1
) = L(G
2
). A demonstrao no
sentido oposto obtida de forma anloga.
As gramticas lineares direita geram formas sentenciais em que o
smbolo no-terminal sempre o ltimo smbolo das mesmas
(X,

, X N). Portanto, as sentenas da linguagem vo sendo


construdas atravs da insero de novos smbolos terminais sempre
direita das formas sentenciais, imediatamente antes do smbolo
no-terminal (da o nome linear direita).
Dada uma gramtica linear direita G
1
, o procedimento completo
consiste, portanto, nos passos descritos no Algoritmo 1.2.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 8 / 392
Gramticas Regulares
Equivalncia direita/esquerda
Algoritmo
Algoritmo 1.2 Obteno de gramtica linear esquerda G
2
equivalente a
uma gramtica linear direita G
1
.

Entrada: uma gramtica linear direita G


1
;

Sada: uma gramtica linear esquerda G


2
, tal que L(G
2
) = L(G
1
);

Mtodo:
1
Determinar L(G
1
);
2
Determinar L(G
1
)
R
;
3
Obter uma gramtica linear direita G
/
tal que L(G
/
) = L(G
1
)
R
;
4
Transformar G
/
em G
2
atravs da inverso das regras, conforme o
Algoritmo 1.1.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 9 / 392
Gramticas Regulares
Equivalncia direita/esquerda
Exemplo
Exemplo 1.1
Considere a gramtica linear direita G
1
denida a seguir:
S aS
S bS
S P
P cQ
Q cR
R dR
R d
L(G
1
) corresponde ao conjunto das cadeias w sobre a, b, c, d tais que:
1
w comea com zero ou mais smbolos a ou b;
2
w continua com exatamente dois smbolos c;
3
w termina com um ou mais smbolos d.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 10 / 392
Gramticas Regulares
Equivalncia direita/esquerda
Exemplo
Logo, L
R
(G
1
) tal que:
1
w comea com um ou mais smbolos d.
2
w continua com exatamente dois smbolos c;
3
w termina com zero ou mais smbolos a ou b;
Uma gramtica linear direita G
/
tal que L(G
/
) = L
R
(G
1
) :
S
/
dS
/
S
/
dP
/
P
/
cQ
/
Q
/
cR
/
R
/
aR
/
R
/
bR
/
R
/

Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 11 / 392
Gramticas Regulares
Equivalncia direita/esquerda
Exemplo
A gramtica G
2
, obtida a partir de G
/
pela aplicao do Algoritmo 1.1, :
S
//
S
//
d
S
//
P
//
d
P
//
Q
//
c
Q
//
R
//
c
R
//
R
//
a
R
//
R
//
b
R
//

Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 12 / 392
Gramticas Regulares
Equivalncia direita/esquerda
Exemplo
Como fcil observar, G
2
linear esquerda e L(G
2
) = L(G
1
). Por exemplo,
considerem-se as derivaes da sentena abaccdd, respectivamente em G
1
e G
2
:

S
G
1
aS
G
1
abS
G
1
abaS
G
1
abaP
G
1
abacQ
G
1
abaccR
G
1
abaccdR
G
1
abaccdd

S
//
G
2
S
//
d
G
2
P
//
dd
G
2
Q
//
cdd
G
2
R
//
ccdd
G
2
R
//
accdd
G
2
R
//
baccdd
G
2

R
//
abaccd
G
2
abaccdd
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 13 / 392
Gramticas Regulares
Exerccio
1
Obter gramticas lineares direita que geram as linguagens
cujas sentenas esto descritas a seguir;
2
Repita, obtendo gramticas lineares esquerda.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 14 / 392
Gramticas Regulares
Exerccio

Comeam com aa;

No comeam com aa;

Terminam com bbb;

No terminam com bbb;

Contm a subcadeia aabbb;

Possuem comprimento maior ou igual a 3;

Possuem comprimento menor ou igual a 3;

Possuem comprimento diferente de 3;

Possuem comprimento par;

Possuem comprimento mpar;

Possuem comprimento mltiplo de 4;

Possuem quantidade par de smbolos a;

Possuem quantidade mpar de smbolos b.


Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 15 / 392
Gramticas Regulares
Gramticas lineares no-unitrias
Alguns autores consideram as seguintes extenses na denio das
regras de gramticas lineares direita e esquerda:

N;

(N ) se linear direita, ou
(N )

se linear esquerda.
Nessas extenses, admite-se uma quantidade qualquer de smbolos
terminais no lado direito das produes gramaticais, e no no mximo
um, como foi estabelecido na denio original. Tais extenses em
nada alteram a classe de linguagens representveis por esses tipos
de gramticas, constituindo o seu uso mera convenincia. O Teorema
1.2 traz a demonstrao dessa equivalncia.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 16 / 392
Gramticas Regulares
Equivalncia unitrias/no-unitrias
Teorema
Teorema 1.2 Se G
1
uma gramtica composta apenas de
produes do tipo , N,

(N ), ento existe uma


gramtica equivalente G
2
composta apenas de produes do tipo
, N, ()(N).
G
2
pode ser obtida a partir de G
1
pelo Algoritmo 1.3, o qual substitui
as regras ,

N, por um conjunto equivalente de novas


regras
/

/
,
/
()(N).
2
2
Tal tipo de gramtica recebe, em alguns textos, a denominao de gramtica
linear unitria direita.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 17 / 392
Gramticas Regulares
Equivalncia unitrias/no-unitrias
Algoritmo
Algoritmo 1.3 Mapeamento das produes de uma gramtica linear
direita, na forma ,

(N ), em conjuntos de produes
equivalentes, na forma , ()(N).

Entrada: uma gramtica linear direita G


1
= (V
1
, , P
1
, S
1
), cujas
produes so da forma ,

(N );

Sada: uma gramtica linear direita G


2
= (V
2
, , P
2
, S
2
), tal que
L(G
2
) = L(G
1
) e cujas produes so todas da forma
, ()(N );
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 18 / 392
Gramticas Regulares
Equivalncia unitrias/no-unitrias
Algoritmo
Mtodo:
1
N
2
N
1
;
2
P
2
/ 0;
3
Para cada P
1
, =
1
...
n
K, com K N e n 0, faa:

Se =, , N, ou N, ento P
2
P
2

Se [[ 2 e

, ou seja, se

, ento:

N
2
N
2
Y
1
, Y
2
, ..., Y
n1

P
2
P
2

1
Y
1
, Y
1

2
Y
2
, ..., Y
n2

n1
Y
n1
,
Y
n1

n

Se [[ 3 e

N, ou seja, se

N, ento:

N
2
N
2
X
1
, X
2
, ..., X
n1

P
2
P
2

1
X
1
, X
1

2
X
2
, ..., X
n2

n1
X
n1
, X
n1

n
K
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 19 / 392
Gramticas Regulares
Equivalncia unitrias/no-unitrias
Algoritmo semelhante pode ser facilmente desenvolvido para o caso
das gramticas lineares esquerda, de forma a obter uma gramtica
equivalente cujas regras sejam do tipo:
, N, (N )()
tambm conhecida como gramtica linear unitria esquerda.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 20 / 392
Gramticas Regulares
Equivalncia unitrias/no-unitrias
Exemplo
Exemplo 1.2
Considere-se a gramtica G
1
:
S
1
abcdP
P efP
P Q
Q g
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 21 / 392
Gramticas Regulares
Equivalncia unitrias/no-unitrias
Exemplo
A aplicao do Algoritmo 1.3 resulta na gramtica G
2
:
S
2
aP
1
P
1
bP
2
P
2
cP
3
P
3
dP
P eP
4
P
4
fP
P Q
Q g
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 22 / 392
Gramticas Regulares
Equivalncia unitrias/no-unitrias
Exemplo
A ttulo de ilustrao, considerem-se as derivaes da sentena abcdefg,
respectivamente em G
1
e G
2
:

S
1
G
1
abcdP
G
1
abcdefP
G
1
abcdefQ
G
1
abcdefg

S
2
G
2
aP
1
G
2
abP
2
G
2
abcP
3
G
2
abcdP
G
2
abcdeP
4
G
2
abcdefP
G
2
abcdefQ
G
2

abcdefg
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 23 / 392
Gramticas Regulares
Exerccio
1
Obter gramticas lineares ( direita ou esquerda) unitrias que
geram as linguagens cujas sentenas esto descritas a seguir.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 24 / 392
Gramticas Regulares
Exerccio

Comeam com aa;

No comeam com aa;

Terminam com bbb;

No terminam com bbb;

Contm a subcadeia aabbb;

Possuem comprimento maior ou igual a 3;

Possuem comprimento menor ou igual a 3;

Possuem comprimento diferente de 3;

Possuem comprimento par;

Possuem comprimento mpar;

Possuem comprimento mltiplo de 4;

Possuem quantidade par de smbolos a;

Possuem quantidade mpar de smbolos b.


Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 25 / 392
Conjuntos e Expresses Regulares
Linguagens regulares
Conjuntos e expresses regulares so notaes alternativas utilizadas
para representar a classe de linguagens mais simples que se
conhece: a classe das linguagens regulares, a mais restrita dentro da
Hierarquia de Chomsky.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 26 / 392
Conjuntos e Expresses Regulares
Conjuntos regulares
Denio
Conjuntos regulares sobre um alfabeto nito so linguagens
denidas recursivamente da seguinte forma:
1. / 0 um conjunto regular sobre ;
2. um conjunto regular sobre ;
3. , , um conjunto regular sobre .
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 27 / 392
Conjuntos e Expresses Regulares
Conjuntos regulares
Denio
Se X e Y so conjuntos regulares sobre , ento tambm so
conjuntos regulares sobre :
4. (X);
5. XY;
6. X Y, tambm denotado XY;
7. X

.
Diz-se que um determinado subconjunto de

um conjunto regular
se ele puder ser formulado atravs do uso combinado dessas regras
apenas.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 28 / 392
Conjuntos e Expresses Regulares
Conjuntos regulares
Exemplo
Exemplo 2.1
Seja L =0
m
1
n
[ m 0, n 0 sobre =0, 1. A linguagem L formada por
sentenas em que a concatenao de um nmero arbitrrio de smbolos 0
(incluindo nenhum) se concatena com a concatenao de um nmero tambm
arbitrrio de smbolos 1 (incluindo nenhum):
L =, 0, 1, 00, 01, 11, ...
Considerem-se as linguagens sobre , abaixo discriminadas:
L
1
= 0
L
2
= 1
L
3
= 0
i
[ i 0
L
4
= 1
i
[ i 0
L
5
= 0
p
1
q
[ p 0, q 0
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 29 / 392
Conjuntos e Expresses Regulares
Conjuntos regulares
Exemplo
Os conjuntos L
1
e L
2
so conjuntos regulares sobre , por denio. L
3
e L
4
so
obtidos a partir de L
1
e L
2
, respectivamente, pela aplicao da operao fechamento
reexivo e transitivo, ou seja, L
3
= L

1
e L
4
= L

2
. Por sua vez, o conjunto L
5
= L pode
ser expresso pela concatenao dos conjuntos L
3
e L
4
, isto , L
5
= L
3
L
4
. Dessa
maneira, demonstra-se que L =0
m
1
n
[ m 0, n 0 um conjunto regular sobre
0, 1. Na notao dos conjuntos regulares, L pode ser denotado por 0

.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 30 / 392
Conjuntos e Expresses Regulares
Conjuntos regulares
Exemplo
Exemplo 2.2
A linguagemN formada pelos nmeros naturais decimais um conjunto regular
sobre o alfabeto dos algarismos arbicos e pode ser representada atravs do seguinte
conjunto regular:
0, 1, 2, 3, 4, 5, 6, 7, 8, 90, 1, 2, 3, 4, 5, 6, 7, 8, 9

Se D =0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ento N = DD

.
O conjunto R dos nmeros reais decimais sem sinal um conjunto regular sobre
D., e pode ser representado por:
DD

.D

.DD

Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 31 / 392


Conjuntos e Expresses Regulares
Conjuntos regulares
Exemplo
Observe-se que a denio acima inclui nmeros iniciando ou terminando com o
caractere . (como, por exemplo, .315 ou 47.), porm exclui da linguagem a cadeia
.. O conjunto P dos nmeros em ponto utuante com expoente (denotado por E)
e sinal opcional (+ ou ) pode ser representado por:
+, , (DD

.D

.DD

)E+, , DD

Assim, por exemplo, 27 N, 915.4 R e 211.56E+3 P. Deve-se notar que


N R P, P ,= R e R ,=N.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 32 / 392
Conjuntos e Expresses Regulares
Exerccio
1
Obter conjuntos regulares que representam as linguagens cujas
sentenas esto descritas a seguir.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 33 / 392
Conjuntos e Expresses Regulares
Exerccio

Comeam com aa;

No comeam com aa;

Terminam com bbb;

No terminam com bbb;

Contm a subcadeia aabbb;

Possuem comprimento maior ou igual a 3;

Possuem comprimento menor ou igual a 3;

Possuem comprimento diferente de 3;

Possuem comprimento par;

Possuem comprimento mpar;

Possuem comprimento mltiplo de 4;

Possuem quantidade par de smbolos a;

Possuem quantidade mpar de smbolos b.


Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 34 / 392
Conjuntos e Expresses Regulares
Fechamentos
A denio de conjuntos regulares envolve a aplicao de trs
operaes j estudadas para os conjuntos: unio, concatenao e
fechamento reexivo e transitivo. No caso do fechamento, no entanto,
cabem algumas observaes adicionais vlidas para o caso em que o
seu operando seja no apenas um alfabeto, conforme anteriormente
mencionado, mas eventualmente uma linguagem, como ocorre na
denio acima.
Seja L uma linguagem qualquer, e considerem-se as novas linguagens
L

e L
+
obtidas pela aplicao, respectivamente, das operaes de
fechamento reexivo e transitivo e do fechamento transitivo sobre L.
Neste caso, deve-se observar que, diferentemente do que ocorre com
os alfabetos, as seguintes identidades so verdadeiras:

L
+
= L

se L

L
+
= L

se / L
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 35 / 392
Conjuntos e Expresses Regulares
Expresses regulares
Denio
Como alternativa para a representao dos conjuntos regulares,
visando obter maior conciso e facilidade de manipulao, Kleene
desenvolveu, na dcada 1950, a notao das expresses regulares.
Da mesma forma como ocorre para os conjuntos regulares, as
expresses regulares sobre um alfabeto podem tambm ser
denidas recursivamente como segue:
1. / 0 uma expresso regular e denota o conjunto regular / 0;
2. uma expresso regular e denota o conjunto regular ;
3. Cada , , uma expresso regular e denota o conjunto
regular , ;
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 36 / 392
Conjuntos e Expresses Regulares
Expresses regulares
Denio
Se x e y so expresses regulares sobre que denotam,
respectivamente, os conjuntos regulares X e Y, ento:
4. (x)
5. x [ y ou x +y
6. x y ou xy
7. x

tambm so expresses regulares e denotam, respectivamente, os


conjuntos regulares X, XY, XY e X

.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 37 / 392
Conjuntos e Expresses Regulares
Conjuntos regulares e expresses regulares
Note-se a eliminao, nas expresses regulares, do uso dos smbolos
{ e }, bem como a substituio do smbolo de unio () por um
smbolo + ou [ (a critrio de cada autor). Visando tornar ainda mais
cmoda a utilizao das expresses regulares, admite-se a eliminao
dos pares de parnteses envolvendo sub-expresses que contenham
seqncias exclusivas de operadores, de unio ou de concatenao,
uma vez que se trata de operaes associativas. So designadas
precedncias distintas para as trs operaes, reduzindo ainda mais a
necessidade de emprego de parnteses nas expresses regulares.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 38 / 392
Conjuntos e Expresses Regulares
Precedncias
Tabela 1: Precedncia dos operadores nas expresses regulares
Precedncia Operador Representao
Mais alta Fechamento x

Intermediria Concatenao x y ou xy
Mais baixa Unio x [ y ou x +y
Os parnteses so empregados para modicar localmente a
precedncia ou a associatividade predenida dos operadores, assim
como ocorre nas expresses aritmticas tradicionais da matemtica.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 39 / 392
Conjuntos e Expresses Regulares
Exemplo
Exemplo 2.3
A expresso regular (ab [ c

) = ((ab) [ c

) = ((ab) [ (c

)) representa o conjunto
ab, , c, cc, ccc.... A expresso regular a(b [ c)

representa o conjunto a, ab, ac,


abc, abb, acc, .... Finalmente, (ab [ c)

representa o conjunto , ab, c, abc, cab,


abab, cc, ....
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 40 / 392
Conjuntos e Expresses Regulares
Abreviao
Uma abreviao muito comum consiste na substituio da expresso
regular xx

por x
+
, denotando com isso o conjunto regular
correspondente ao fechamento transitivo de X (que composto por
todas as cadeias de comprimento maior ou igual a 1 que podem ser
construdas sobre o conjunto X).
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 41 / 392
Conjuntos e Expresses Regulares
Exemplo
Exemplo 2.4
Considerem-se o alfabeto =a, b, c, d e os dois subconjuntos A =a, B =b, c.
A seguir so apresentadas diferentes linguagens sobre , denidas atravs da notao
dos conjuntos e das expreses regulares:

Sentenas que possuem no mnimo um smbolo a:

ou (a [ b [ c [ d)

a(a [ b [ c [ d)

Sentenas que possuem exatamente dois smbolos a:


(A)

A(A)

A(A)

ou (b [ c [ d)

a(b [ c [ d)

a(b [ c [ d)

Sentenas que possuem um nmero par de smbolos a:


((A)

A(A)

A(A)

ou ((b [ c [ d)

a(b [ c [ d)

a(b [ c [ d)

Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 42 / 392


Conjuntos e Expresses Regulares
Exemplo

Sentenas que so iniciadas com o smbolo a e terminam com o smbolo b ou c:


A

B ou a(a [ b [ c [ d)

(b [ c)

Sentenas contendo apenas os smbolos a, b, c, com no mnimo um smbolo:


(AB)
+
ou (a [ b [ c)
+

Sentenas formadas por smbolos do alfabeto a, b, c, d contendo uma (e


somente uma) subcadeia constituda por um smbolo do conjunto A e dois (e
somente dois) do conjunto B, nesta ordem:
((A) B)

ABB((A) B)

ou d

a(b [ c)(b [ c)d

Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 43 / 392


Conjuntos e Expresses Regulares
Exemplo
Exemplo 2.5
Utilizando-se a notao das expresses regulares, a linguagem
L =0
m
1
n
[ m 0, n 0 pode ser reescrita como ((0)

(1)

), ou, simplesmente,
0

. Para m 0 e n 1, a expresso correspondente seria 0

11

. Note-se que
0

11

= 0

1 = 0

1
+
.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 44 / 392
Conjuntos e Expresses Regulares
Exemplo
Exemplo 2.6
As expresses regulares a [ aaaa

e (aa)

a(aaa)

, apesar de diferentes, representam a


mesma linguagem: o conjunto das cadeias formadas pelo smbolo a cujo
comprimento seja diferente de 0 e diferente de 2.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 45 / 392
Conjuntos e Expresses Regulares
Exerccio
1
Obter expresses regulares que representam as linguagens cujas
sentenas esto descritas a seguir.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 46 / 392
Conjuntos e Expresses Regulares
Exerccio

Comeam com aa;

No comeam com aa;

Terminam com bbb;

No terminam com bbb;

Contm a subcadeia aabbb;

Possuem comprimento maior ou igual a 3;

Possuem comprimento menor ou igual a 3;

Possuem comprimento diferente de 3;

Possuem comprimento par;

Possuem comprimento mpar;

Possuem comprimento mltiplo de 4;

Possuem quantidade par de smbolos a;

Possuem quantidade mpar de smbolos b.


Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 47 / 392
Conjuntos e Expresses Regulares
Leis algbricas
As principais leis algbricas das expresses regulares so
apresentadas a seguir. Sejam , e trs expresses regulares
quaisquer. Ento:

Associatividade:

da unio: ( [ ) [ = [ ( [ )

da concatenao: () =()

Comutatividade:

da unio: [ = [

da concatenao: No se aplica.

Elemento neutro:

da unio: [ / 0 = / 0 [ =

da concatenao: = =

Distributividade da concatenao sobre a unio:

esquerda: ( [ ) = [

direita: ( [ ) = [
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 48 / 392
Conjuntos e Expresses Regulares
Relaes de identidade
Algumas relaes de identidade vlidas para as expresses regulares,
as quais podem ser demonstradas sem diculdade, so relacionadas
a seguir. Sejam x, y, z trs expresses regulares quaisquer. Ento...
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 49 / 392
Conjuntos e Expresses Regulares
Relaes de identidade

x [ y = y [ x

/ 0

x [ (y [ z) = (x [ y) [ z

x(yz) = (xy)z

x(y [ z) = xy [ xz

(x [ y)z = xz [ yz

x =x = x

x/ 0 = / 0x = / 0

/ 0 = / 0 = / 0

= x [ x

(x

= x

x [ x = x

x [ / 0 = x

(xy)

x = x(yx)

Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 50 / 392


Conjuntos e Expresses Regulares
Conciso e uso
Por se tratar de uma notao concisa, que dispensa o uso da notao
dos conjuntos e o emprego de smbolos no-terminais para a
denio de linguagens, mas que, ao mesmo tempo, permite a plena
representao dos conjuntos regulares, as expresses regulares so
bastante utilizadas em reas que abrangem desde a especicao de
linguagens de programao e de comandos, entre outras, at a
entrada de dados em editores de texto, programas de busca, anlise
de padres etc.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 51 / 392
Autmatos Finitos
Autmatos nitos e linguagens regulares
Da mesma forma como ocorre com as expresses regulares e com as
gramticas lineares direita, os autmatos nitos tambm
possibilitam a formalizao das linguagens regulares, ou seja, das
linguagens do tipo 3. No entanto, diferentemente daquelas notaes,
que constituem dispositivos de gerao de sentenas, os autmatos
nitos so dispositivos de aceitao de sentenas e constituem um
caso particular do modelo geral de reconhecedores apresentado no
Captulo 2.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 52 / 392
Autmatos Finitos
Particularidades
Os autmatos nitos correspondem instncia mais simples do
modelo geral de reconhecedores apresentado anteriormente. As suas
principais particularidades em relao ao modelo geral so:
1
Inexistncia de memria auxiliar;
2
Utilizao do cursor da ta de entrada apenas para leitura de
smbolos, no havendo operaes de escrita sobre a ta;
3
Movimentao do cursor de leitura em apenas um sentido, da
esquerda para a direita;
4
A ta de entrada possui comprimento limitado, suciente apenas
para acomodar a cadeia a ser analisada.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 53 / 392
Autmatos Finitos
Denio
Algebricamente, um autmato nito determinstico M pode ser
denido como uma quntupla:
M = (Q, , , q
0
, F)

Q um conjunto nito de estados;

um alfabeto (nito e no-vazio) de entrada;

uma funo de transio, : Q Q;

q
0
o estado inicial, q
0
Q;

F um conjunto de estados nais, F Q.


Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 54 / 392
Autmatos Finitos
Controle nito
A mquina de estados de um autmato nito, tambm denominada
controle nito, denida pelo conjunto de estados Q e pela funo
de transio , que associa pares ordenados do tipo (estado corrente,
entrada corrente) com um novo estado a ser assumido pelo autmato
quando da aplicao da transio.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 55 / 392
Autmatos Finitos
Funo de transio
A funo de transio pode ser, no caso dos autmatos nitos
determinsticos, uma funo total, ou seja, uma funo que denida
para todos os elementos de Q, ou ainda uma funo parcial. Se
total, isso implica a especicao de transies com cada um dos
possveis smbolos de entrada para cada um dos possveis
estados q Q do autmato nito. Assim, se [[ = m e [Q[ = n, ento o
autmato nito determinstico possuir, exatamente, mn transies
distintas.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 56 / 392
Autmatos Finitos
Notao
As transies de um autmato nito podem ser denotadas atravs de
expresses do tipo (p, ) q, com p, q Q, . Alternativamente,
pode-se explicitar a funo , representando uma transio na forma
(p, ) = q.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 57 / 392
Autmatos Finitos
Autmato determinstico
A utilizao do termo determinstico para designar esse tipo de
autmato nito decorre do fato de que, enquanto houver smbolos na
ta de entrada, ser sempre possvel determinar o estado seguinte a
ser assumido pelo autmato, o qual ser nico em todas as situaes.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 58 / 392
Autmatos Finitos
Extenso da funo de transio
Em certos casos, especialmente na demonstrao de alguns
teoremas, torna-se conveniente estender o domnio da funo para

, em vez de apenas , conforme indicado abaixo:

(q, ) = q;

(q, x) =((q, ), x), x

, .
Ao longo deste texto, a denio considerada para a funo dever
variar conforme o contexto em que estiver sendo empregada.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 59 / 392
Autmatos Finitos
Congurao
Conceito
A congurao de um autmato nito denida pelo seu estado
corrente e pela parte da cadeia de entrada ainda no analisada
(incluindo o smbolo apontado pelo cursor). A congurao inicial de
um autmato nito aquela em que o estado corrente q
0
(estado
inicial) e o cursor de leitura se encontra posicionado sobre o smbolo
mais esquerda da cadeia de entrada. Uma congurao nal
aquela em que o cursor aponta para a posio imediatamente alm do
ltimo smbolo da cadeia (indicando com isso j ter ocorrido a leitura
do ltimo smbolo da cadeia de entrada), e o estado corrente pertence
ao conjunto F de estados nais, especicado para o autmato. Note
que ambas as condies devem ser simultaneamente vericadas para
permitir a caracterizao de uma congurao como sendo,
respectivamente, inicial ou nal.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 60 / 392
Autmatos Finitos
Aceitao e rejeio
Quando ocorre o esgotamento da cadeia de entrada, deve-se analisar
o tipo do estado corrente do autmato. Se for um estado nal, diz-se
que o autmato reconheceu, ou aceitou, a cadeia de entrada; se for
um estado no-nal, diz-se que a cadeia de entrada foi rejeitada pelo
autmato logo, a cadeia analisada no pertence linguagem por
ele denida.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 61 / 392
Autmatos Finitos
Funo de transio total
Quando denidos atravs de funes de transio totais, os
correspondentes autmatos nitos determinsticos sempre percorrem
integralmente toda e qualquer cadeia de entrada (sobre ) que lhes
forem apresentadas para anlise. Nesses casos, portanto, a
congurao nal denida para um autmato nito sempre satisfeita
no que se refere ao esgotamento da cadeia de entrada, restando
apenas a anlise do tipo do estado atingido em tal congurao (nal
ou no-nal) para se determinar, respectivamente, a aceitao ou a
rejeio da cadeia de entrada.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 62 / 392
Autmatos Finitos
Congurao
Denio
Tais conceitos podem ser formalizados denotando-se a congurao
de um autmato nito como um par (q, y) Q

, em que q
representa o estado corrente e y a parte da cadeia de entrada ainda
no analisada. A congurao inicial, com vistas ao reconhecimento
de uma cadeia x, representada como (q
0
, x), e a congurao nal
como (q
i
, ), q
i
F.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 63 / 392
Autmatos Finitos
Movimentao
A movimentao de um autmato de uma congurao para a
congurao seguinte denotada atravs do smbolo , que
representa uma relao entre conguraes sucessivas do autmato:
: Q

Portanto, a movimentao do autmato de uma congurao para a


seguinte denotada por:
(q
i
, ) (q
j
, ), com q
i
, q
j
Q, ,

, (q
i
, ) = q
j
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 64 / 392
Autmatos Finitos
Linguagem reconhecida
A linguagem L denida por um autmato nito M o conjunto de todas
as cadeias w sobre o alfabeto que levam M da sua congurao
inicial para alguma congurao nal atravs da aplicao sucessiva
de transies denidas pela funo . Denota-se como:
L(M) =w

[ (q
0
, w)

(q
F
, ), q
F
F
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 65 / 392
Autmatos Finitos
Diagramas de transio de estados
Diagramas de transio de estados so grafos orientados
no-ordenados, rotulados nos vrtices com os nomes dos estados e
nos arcos com os smbolos do alfabeto de entrada do autmato nito.
Trata-se de uma representao grca equivalente notao
algbrica, oferecendo porm uma melhor visualizao do autmato.
Nessa representao, crculos representam os estados, e arcos as
transies. O estado inicial identicado por um arco cuja
extremidade inicial no ligada a nenhum outro estado. Os estados
nais so representados por crculos duplos concntricos.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 66 / 392
Autmatos Finitos
Exemplo
Exemplo 3.1
Seja M um autmato nito determinstico, com funo de transio total, denido
abaixo. Sua representao algbrica M = (Q, , , q
0
, F), onde:
Q = q
0
, q
1
, q
2
, q
3

= 0, 1, 2
= (q
0
, 0) q
0
, (q
0
, 1) q
1
, (q
0
, 2) q
3
,
(q
1
, 0) q
3
, (q
1
, 1) q
1
, (q
1
, 2) q
2
,
(q
2
, 0) q
3
, (q
2
, 1) q
3
, (q
2
, 2) q
2
,
(q
3
, 0) q
3
, (q
3
, 1) q
3
, (q
3
, 2) q
3

F = q
1
, q
2

Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 67 / 392


Autmatos Finitos
Exemplo
A Figura 1 mostra o diagrama de transio de estados para esse autmato.
q
0
q
1
q
2
q
3
2
0
0, 1
0, 1, 2
1 2 0
1
2
Figura 1: Autmato nito determinstico com funo de transio total
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 68 / 392
Autmatos Finitos
Exemplo
Continuao
A linguagem aceita por esse autmato nito formada pelo conjunto de sentenas x
que o levam da congurao inicial (q
0
, x) at a congurao nal (q
1
, ) ou (q
2
, ).
A inspeo cuidadosa desse autmato nito revela que as sentenas por ele aceitas
contm, nesta ordem, uma seqncia de smbolos 0 (incluindo nenhum), seguida de
uma seqncia de smbolos 1 (no mnimo um) e, nalmente, de uma seqncia de
smbolos 2 (incluindo nenhum). Na notao das expresses regulares,
L(M) = 0

1
+
2

.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 69 / 392
Autmatos Finitos
Exemplo
Continuao
As seguintes identidades, por exemplo, so verdadeiras:

(q
0
, 00001) = q
1

(q
0
, 0122) = q
2

(q
1
, 12) = q
2

(q
2
, 222) = q
2
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 70 / 392
Autmatos Finitos
Exemplo
Continuao
Esquematicamente, a congurao inicial para o reconhecimento de uma cadeia de
entrada, por exemplo, a cadeia 0011222, pode ser representada conforme a gura
abaixo:
Figura 2: Congurao inicial
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 71 / 392
Autmatos Finitos
Exemplo
Continuao
A sucesso de movimentos efetuados pelo autmato nito com essa cadeia
apresentada a seguir:

(q
0
, 0011222) (q
0
, 011222) (q
0
, 11222) (q
1
, 1222) (q
1
, 222) (q
2
, 22)
(q
2
, 2) (q
2
, )
Portanto, (q
0
, 0011222)

(q
2
, ), e 0011222 L(M). Esquematicamente, a
congurao nal do autmato aps o reconhecimento da cadeia de entrada 0011222
pode ser representada conforme a gura a seguir:
Figura 3: Congurao nal
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 72 / 392
Autmatos Finitos
Exemplo
Continuao
Analisa-se a seguir o comportamento desse autmato em relao cadeia de entrada
0022:

(q
0
, 0022) (q
0
, 022) (q
0
, 22) (q
3
, 2) (q
3
, )
Aps a seqncia de movimentos acima, chega-se congurao (q
3
, ), em que
ocorre o esgotamento da cadeia de entrada. Como no se trata de uma congurao
nal, pois q
3
/ F, conclui-se que a cadeia 0022 no pertence linguagem aceita por
M.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 73 / 392
Autmatos Finitos
Exemplo
O autmato nito determinstico da Figura 4 possui funo de transio parcial, uma
vez que ela no denida para os seguintes elementos de Q: (q
0
, 2), (q
1
, 0),
(q
2
, 1) e (q
2
, 0).
q
0
q
1
q
2
2
1 2 0
1
Figura 4: Autmato nito determinstico com funo de transio parcial
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 74 / 392
Autmatos Finitos
Exemplo
Note-se que os autmatos das Figuras 1 e 4 denem a mesma linguagem. Os
movimentos executados pelo autmato da Figura 4 com as cadeias 0011222 e 0022
so apresentados abaixo:

(q
0
, 0011222) (q
0
, 011222) (q
0
, 11222) (q
1
, 1222) (q
1
, 222) (q
2
, 22)
(q
2
, 2) (q
2
, )

(q
0
, 0022) (q
0
, 022) (q
0
, 22)
No primeiro caso, a cadeia 0011222 completamente esgotada e o autmato pra em
um estado nal. Logo, 0011222 aceita pelo autmato. No segundo caso, a cadeia de
entrada apenas parcialmente consumida, e o autmato pra no estado q
o
, no-nal.
Logo, a cadeia 0022 rejeitada.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 75 / 392
Autmatos Finitos
Conceito de estado
Os estados de um autmato nito podem ser entendidos como
memrias de informaes passadas, referentes ao trecho da cadeia
de entrada j analisada, as quais so relevantes, de alguma forma,
para o reconhecimento nal das cadeias que lhe so submetidas. O
Exemplo 3.2 ilustra esse aspecto.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 76 / 392
Autmatos Finitos
Exemplo
Exemplo 3.2
O autmato da Figura 5 aceita a linguagem formada por cadeias sobre o alfabeto
a, b, c em que as quantidades de smbolos a, b e c, consideradas isoladamente, so
mpares. So exemplos de sentenas dessa linguagem: abc, cba, aaabc, ccabaac,
abbbc, bcccbbabb etc.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 77 / 392
Autmatos Finitos
Exemplo
PPP IPP IIP III
PIP PII PPI IPI
b
a b c
b
c b a
a
c
a
c
c c
a a
b
a b c
b
a b c
Figura 5: Autmato nito que aceita a linguagem {w a, b, c

[ as
quantidades de a, b e c so mpares}
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 78 / 392
Autmatos Finitos
Exemplo
Continuao
De fato, uma anlise cuidadosa dos estados PPP, IPP, IIP, III, PIP, PII, PPI e IPI
revela que cada um deles mantm uma memria distinta sobre a quantidade de
smbolos a, b e c consumidos at cada congurao. Por exemplo:

O estado PPP memoriza o consumo prvio de uma quantidade par de smbolos


a, par de smbolos b e par de smbolos c;

O estado IPP memoriza o consumo prvio de uma quantidade mpar de


smbolos a, par de smbolos b e par de smbolos c;

O estado IIP memoriza o consumo prvio de uma quantidade par de smbolos a,


mpar de smbolos b e par de smbolos c;

O estado III memoriza o consumo prvio de uma quantidade mpar de smbolos


a, mpar de smbolos b e mpar de smbolos c.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 79 / 392
Autmatos Finitos
Exerccio
1
Obter autmatos nitos que reconhecem as linguagens cujas
sentenas esto descritas a seguir.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 80 / 392
Autmatos Finitos
Exerccio

Comeam com aa;

No comeam com aa;

Terminam com bbb;

No terminam com bbb;

Contm a subcadeia aabbb;

Possuem comprimento maior ou igual a 3;

Possuem comprimento menor ou igual a 3;

Possuem comprimento diferente de 3;

Possuem comprimento par;

Possuem comprimento mpar;

Possuem comprimento mltiplo de 4;

Possuem quantidade par de smbolos a;

Possuem quantidade mpar de smbolos b.


Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 81 / 392
Autmatos Finitos
No-determinismo
Um autmato nito no-determinstico, sem transies em vazio,
difere dos autmatos nitos determinsticos pelo fato de o co-domnio
da funo de transio ser 2
Q
e no simplesmente Q:
: Q 2
Q
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 82 / 392
Autmatos Finitos
No-determinismo
Como conseqncia, os autmatos nitos no-determinsticos
generalizam o modelo dos autmatos nitos determinsticos atravs
das seguintes extenses:

Introduz-se o impasse em conguraes no-nais;


Como / 0 2
Q
, possvel no especicar transies para certas
combinaes de estado corrente e prximo smbolo de entrada.

Introduz-se o no-determinismo, no sentido literal da palavra.


Nos casos em que [((q, ))[ 2, haver mais de uma
possibilidade de movimentao para o autmato nito
no-determinstico na congurao corrente.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 83 / 392
Autmatos Finitos
Aceitao e rejeio
Diz-se que um autmato nito no-determinstico aceita uma cadeia
de entrada quando houver alguma seqncia de movimentos que o
leve da congurao inicial para uma congurao nal.
Diferentemente do autmato nito determinstico, em que essa
seqncia, se existir, nica para cada cadeia de entrada, no caso do
autmato nito no-determinstico possvel que exista mais de uma
seqncia que satisfaa a essa condio para uma dada cadeia de
entrada. Sempre que o autmato nito no-determinstico se deparar
com mais de uma possibilidade de movimentao, feita a escolha
(arbitrria) de uma das alternativas; em caso de insucesso no
reconhecimento, deve-se considerar sucessivamente cada uma das
demais alternativas ainda no consideradas, at o seu esgotamento;
persistindo o insucesso, e esgotadas as alternativas, diz-se que o
autmato rejeita a cadeia. A Tabela 2 resume esses critrios.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 84 / 392
Autmatos Finitos
Aceitao e rejeio
Tabela 2: Aceitao e rejeio de cadeias em autmatos nitos
Dada uma cadeia
de entrada, ele:
Aceita a cadeia
de entrada se:
Rejeita a cadeia
de entrada se:
Autmato nito
determinstico
Executa uma
nica seqncia
de movimentos.
Pra em uma
congurao
nal.
Pra em uma
congurao
no-nal.
Autmato nito
no-
determinstico
Pode executar
vrias
seqncias
distintas de
movimentos.
Pra em uma
congurao
nal.
Pra sem
conseguir atingir
nenhuma
congurao
nal.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 85 / 392
Autmatos Finitos
Exemplo
Exemplo 3.3
Seja M = (Q, , , q
0
, F) um autmato nito no-determinstico:
Q = q
0
, q
1
, q
2

= a, b, c
= (q
0
, a) q
1
, q
2
, (q
1
, b) q
1
, q
2
, (q
2
, c) q
2

F = q
1
, q
2

Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 86 / 392


Autmatos Finitos
Exemplo
Continuao
O diagrama de transio de estados para esse autmato, que reconhece a linguagem
ab

[ ab

bc

[ ac

, ou simplesmente ab

, apresentado na Figura 6.
q
0
q
1
q
2
b
b c
a
a
Figura 6: Autmato no-determinstico
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 87 / 392
Autmatos Finitos
Exemplo
Continuao
Considere-se a cadeia abbccc e faa-se uma simulao da operao do autmato a
partir de sua congurao inicial:
(q
0
, abbccc) (q
2
, bbccc)
Nesta seqncia, a escolha do ramo inferior, em resposta ao smbolo de entrada a,
conduz o autmato a um impasse, pois no h possibilidade de movimentao em q
2
com o smbolo b. Deve-se, ento, tentar a segunda alternativa de movimentao em
q
0
:
(q
0
, abbccc) (q
1
, bbccc) (q
2
, bccc)
Apesar do avano no reconhecimento, novo impasse atingido no estado q
2
como
conseqncia da escolha efetuada em q
1
para a transio usando o smbolo b. Como
no restam outras alternativas em q
0
, deve-se considerar a segunda alternativa de
movimentao em q
1
:
(q
0
, abbccc) (q
1
, bbccc) (q
1
, bccc)
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 88 / 392
Autmatos Finitos
Exemplo
Continuao
Admitindo-se que a opo inicial de movimentao em q
1
em resposta ao smbolo b
seja novamente q
2
, a seguinte seqncia de movimentos conduz nalmente o
autmato sua congurao nal (que, neste caso, nica):
(q
1
, bccc) (q
2
, ccc) (q
2
, cc) (q
2
, c) (q
2
, )
Seja agora a cadeia aab. Como se pode perceber, no h nenhuma seqncia de
movimentos, mesmo considerando-se as duas alternativas para a transio usando a
em q
0
, que conduza o autmato sua congurao nal. Em um caso, o impasse
atingido no estado q
1
em decorrncia do smbolo a; no outro ele ocorre em q
2
,
tambm provocado por a. Como no h mais opes decorrentes de
no-determinismos a serem consideradas, conclui-se que essa cadeia no pertence
linguagem denida pelo autmato.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 89 / 392
Autmatos Finitos
Determinismo no-determinismo
Apesar de no constituir regra geral, os autmatos nitos
no-determinsticos, em certos casos, podem mostrar-se mais simples
de serem analisados do que as correspondentes verses
determinsticas. O Exemplo 3.4 ilustra uma situao desse tipo.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 90 / 392
Autmatos Finitos
Exemplo
Exemplo 3.4
Os autmatos das Figuras 7 e 8 reconhecem a linguagem
(a [ b [ c [ d)

abcd(a [ b [ c [ d)

.
q
0
q
1
q
2
q
3
q
4
a
b
c
d
b, c, d
c, d
b, d
b, c
a, b, c, d
a
a
a
Figura 7: Autmato nito determinstico que reconhece a linguagem formada
pelas cadeias que contm a subcadeia abcd
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 91 / 392
Autmatos Finitos
Exemplo
Continuao
q
0
q
1
q
2
q
3
q
4
a b c d
a, b, c, d a, b, c, d
Figura 8: Autmato nito no-determinstico que reconhece a linguagem
formada pelas cadeias que contm a subcadeia abcd
Nesse caso evidente a maior facilidade de interpretao da topologia exibida pela
verso no-determinstica (Figura 8), quando comparada com a da verso
determinstica equivalente (Figura 7).
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 92 / 392
Autmatos Finitos
Equivalncia
A seguir mostrada a equivalncia entre os autmatos nitos
no-determinsticos e os determinsticos, no que diz respeito classe
de linguagens que eles so capazes de reconhecer. A equivalncia,
ou equipotncia, de tais classes de autmato, constitui um dos mais
importantes resultados da teoria dos autmatos nitos, sem paralelo
para a maioria dos demais modelos de reconhecedores anteriormente
mencionados, uma vez que garante ser sempre possvel a aceitao
de toda e qualquer linguagem regular atravs de um autmato
determinstico.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 93 / 392
Autmatos Finitos
Notao tabular
Antes, porm, preciso introduzir a notao tabular para a
representao de autmatos nitos. De acordo com essa notao,
cada linha da tabela representa um estado distinto q do autmato, e
cada coluna associada a um elemento distinto de seu alfabeto de
entrada. As clulas correspondentes interseco de cada linha com
cada coluna so preenchidas com o elemento (conjunto) de 2
Q
determinado por (q, ).
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 94 / 392
Autmatos Finitos
Exemplo
Exemplo 3.5
Considere-se novamente o autmato nito no-determinstico M do Exemplo 3.3
cujo diagrama de estados apresentado na Figura 6. A representao tabular de M
apresentada na Tabela 3.
Tabela 3: Notao tabular para o autmato nito no-determinstico M da
Figura 6
a b c
q
0
q
1
, q
2

q
1
q
1
, q
2

q
2
q
2

Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 95 / 392


Autmatos Finitos
Simbologia
Na notao tabular, como se pode perceber, o estado inicial
indicado atravs do smbolo , ao passo que os estados nais so
indicados por . O smbolo indica um estado que seja
simultaneamente inicial e nal.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 96 / 392
Autmatos Finitos
Equivalncia
Teorema 3.1 Seja L a linguagem aceita por um autmato nito
no-determinstico sem transies em vazio. Ento possvel denir
um autmato nito determinstico equivalente que aceita L.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 97 / 392
Autmatos Finitos
Equivalncia
q
j
q
i
q
k
q
l
q
m
b
c
a
a
Figura 9: Situao no-determinstica original
q
j
q
i
q
k
q
l
q
m
b
c
q
j
q
k
b
c
a
Figura 10: Situao determinstica equivalente da Figura 9
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 98 / 392
Autmatos Finitos
Equivalncia
Fica claro, tambm, que se pelo menos um dos estados, q
j
ou q
k
, for
um estado nal, o mesmo dever acontecer com o estado q
j
q
k
, j que
em ambas as verses a cadeia a deve ser aceita pelo autmato. Por
outro lado, caso haja coincidncia entre os smbolos b e c, um novo
no-determinismo ser introduzido no estado q
j
q
k
. Da a necessidade
de se repetir o procedimento, removendo a cada iterao todos os
novos no-determinismos que venham a ser introduzidos.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 99 / 392
Autmatos Finitos
Equivalncia
Seja M
1
= (Q
1
, ,
1
, q
01
, F
1
) o autmato nito no-determinstico
originalmente considerado e M
2
= (Q
2
, ,
2
, q
02
, F
2
) o autmato nito
determinstico correspondente que se deseja obter. A obteno de M
2
a partir de M
1
pode ser efetuada atravs do Algoritmo 3.1.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 100 / 392
Autmatos Finitos
Algoritmo
Algoritmo 3.1 Obteno de um autmato nito determinstico M
2
a partir
de um autmato nito no-determinstico M
1
.

Entrada: um autmato no-determinstico M


1
= (Q
1
, ,
1
, q
01
, F
1
), com

1
: Q
1
2
Q
1
;

Sada: um autmato determinstico M


2
= (Q
2
, ,
2
, q
02
, F
2
), com

2
: Q
2
Q
2
, tal que L(M
2
) = L(M
1
);
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 101 / 392
Autmatos Finitos
Algoritmo
Mtodo:
1
Q
2
/ 0;
2
i 0, se q
1i
Q
1
ento Q
2
Q
2
q
2i
;
3
F
2
/ 0;
4
i 0, se q
1i
F
1
ento F
2
F
2
q
2i
;
5

2
/ 0;
6
q
1i
Q
1
, , se
1
(q
1i
, ) =q
11
, ..., q
1n
, n 1 ento

2
(q
2i
, ) =q
21
, ..., q
2n
;
7
Substituir todos os elementos q
2i
de
2
por q
2i
;
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 102 / 392
Autmatos Finitos
Algoritmo
Enquanto houver transies no-determinsticas em
2
, faa:
1
Selecione uma transio no-determinstica qualquer
2
(q, ), e
considere
2
(q, ) = q
21
, ..., q
2i
, ..., q
2n
, n 2;
2
Acrescente um novo estado q
21
...q
2i
...q
2n
tabela de transio de
estados (nesta notao, os estados do conjunto so concatenados
formando uma cadeia, em que os ndices dos estados esto organizados
em ordem crescente, ou em qualquer outra ordem conveniente); se
q
2i
= q
2i1
...q
2im
, considerar a ordenao de todos os estados obtidos
pela substituio de q
2i
por q
2i1
...q
2im
em q
21
...q
2i
...q
2n
;
3
Substitua, na tabela, todas as referncias a q
21
, ..., q
2n
por q
21
...q
2n
;
4
Para cada , faa:
1

2
(q
21
...q
2n
, ) / 0;
2
Para cada estado q
2j
q
21
, ..., q
2n
, faa:
1
2
(q
21
...q
2n
, )
2
(q
21
...q
2n
, )
2
(q
2j
, );
2 Se q
2j
F
2
, ento F
2
F
2
q
21
...q
2n
.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 103 / 392
Autmatos Finitos
Exemplo
Exemplo 3.6
Considere-se uma vez mais o autmato no-determinstico M do Exemplo 3.3,
representado na Figura 6 e na Tabela 3. A aplicao do Algoritmo 3.1 a M conduz
obteno do autmato da Tabela 4.
Tabela 4: Autmato determinstico equivalente ao autmato M da Tabela 3

/
a b c
q
0
q
1
q
2
q
1
q
1
q
2
q
2
q
2
q
1
q
2
q
1
q
2
q
2
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 104 / 392
Autmatos Finitos
Exemplo
Continuao
A Figura 11 mostra o diagrama de estados do autmato determinstico obtido neste
exemplo. Deve-se observar que o estado q
1
tornou-se inacessvel como resultado da
aplicao do mtodo de eliminao de no-determinismos.
q
0
q
1
q
2
q
2
c
b c
a
q
1
b
Figura 11: Autmato determinstico equivalente ao autmato M da Figura 6
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 105 / 392
Autmatos Finitos
Exemplo
Exemplo 3.7
Considere-se o autmato nito no-determinstico representado na Figura 12.
q
0
q
2
q
3
q
1
a
c
a
a, b
c
b
a
b
Figura 12: Autmato no-determinstico do Exemplo 3.7
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 106 / 392
Autmatos Finitos
Exemplo
Continuao
A Tabela 5 representa o autmato da Figura 12.
Tabela 5: Eliminao de no-determinismos, autmato inicial
a b c
q
0
q
1
, q
2
q
3

q
1
q
0
q
0
, q
1

q
2
q
2

q
3
q
2
q
1

Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 107 / 392


Autmatos Finitos
Exemplo
Continuao
Os seguintes passos correspondem aplicao do Algoritmo 3.1.

Substituir q
0
por q
0
, q
1
por q
1
, q
2
por q
2
e q
3
por q
3
:
Tabela 6: Eliminao de no-determinismos, passo 1
a b c
q
0
q
1
, q
2
q
3
q
1
q
0
q
0
, q
1

q
2
q
2
q
3
q
2
q
1
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 108 / 392
Autmatos Finitos
Exemplo
Continuao

Criar um novo estado q


1
q
2
, substituindo q
1
, q
2
na tabela por q
1
q
2
.
Tabela 7: Eliminao de no-determinismos, passo 2
a b c
q
0
q
1
q
2
q
3
q
1
q
0
q
0
, q
1

q
2
q
2
q
3
q
2
q
1
q
1
q
2
q
0
q
0
, q
1
q
2
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 109 / 392
Autmatos Finitos
Exemplo
Continuao

Criar um novo estado q


0
q
1
, substituindo q
0
, q
1
na tabela por q
0
q
1
.
Tabela 8: Eliminao de no-determinismos, passo 3
a b c
q
0
q
1
q
2
q
3
q
1
q
0
q
0
q
1
q
2
q
2
q
3
q
2
q
1
q
1
q
2
q
0
q
0
q
1
q
2
q
0
q
1
q
1
q
2
, q
0
q
0
q
1
q
3
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 110 / 392
Autmatos Finitos
Exemplo
Continuao

Criar um novo estado q


0
q
1
q
2
, substituindo q
1
q
2
, q
0
na tabela por q
0
q
1
q
2
.
Tabela 9: Eliminao de no-determinismos, passo 4
a b c
q
0
q
1
q
2
q
3
q
1
q
0
q
0
q
1
q
2
q
2
q
3
q
2
q
1
q
1
q
2
q
0
q
0
q
1
q
2
q
0
q
1
q
0
q
1
q
2
q
0
q
1
q
3
q
0
q
1
q
2
q
0
q
1
q
2
q
0
q
1
q
2
, q
3

Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 111 / 392


Autmatos Finitos
Exemplo

Criar um novo estado q


2
q
3
, substituindo q
2
, q
3
na tabela por q
2
q
3
.
Tabela 10: Eliminao de no-determinismos, autmato nal
a b c
q
0
q
1
q
2
q
3
q
1
q
0
q
0
q
1
q
2
q
2
q
3
q
2
q
1
q
1
q
2
q
0
q
0
q
1
q
2
q
0
q
1
q
0
q
1
q
2
q
0
q
1
q
3
q
0
q
1
q
2
q
0
q
1
q
2
q
0
q
1
q
2
q
3
q
2
q
3
q
2
q
1
q
2
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 112 / 392
Autmatos Finitos
Exemplo
Continuao
A Figura 13 apresenta o diagrama de estados do autmato determinstico obtido.
q
0
q
1
q
2
q
0
q
1
q
0
q
1
q
2
q
1
q
2
q
2
q
3
a
b
a
a
b
c
c
a, c
c
b a
a b
b
q
3
c c
b
a
Figura 13: Autmato determinstico equivalente ao da Figura 12
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 113 / 392
Autmatos Finitos
Novos estados
Se, por exemplo, (q
i
, ) =q
j
, q
k
, q
m
, o estado q
j
q
k
q
m
do autmato
determinstico atender ao propsito de permitir que o novo autmato
se movimente, a partir deste estado, com transies similares s
originalmente presentes em cada um dos estados q
j
, q
k
e q
m
do
autmato no-determinstico.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 114 / 392
Autmatos Finitos
Novos estados
O surgimento de novos estados no autmato determinstico limitado
pela quantidade de combinaes distintas que podem ser feitas entre
os estados do autmato no-determinstico original. Se
M
1
= (Q
1
, ,
1
, q
0
, F
1
) o autmato original no-determinstico, e
M
2
= (Q
2
, ,
2
, q
0
, F
2
) o autmato determinstico equivalente, ento
[Q
2
[ 2
[Q
1
[
1, uma vez que toda combinao de estados dever
conter pelo menos um estado do autmato original.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 115 / 392
Autmatos Finitos
Exemplo
Exemplo 3.8
A eliminao dos no-determinismos do autmato nito representado na Tabela 11
resulta no autmato determinstico da Tabela 12.
Como se pode perceber, Q
1
=q
0
, q
1
, q
2
e
Q
2
=q
0
, q
1
, q
2
, q
0
q
1
, q
0
q
2
, q
1
q
2
, q
0
q
1
q
2
. Alm disso, [Q
1
[ = 3 e [Q
2
[ = 2
3
1 = 7.
Trata-se, portanto, de um autmato determinstico no qual todas as combinaes
possveis dos estados do autmato original no-determinstico esto consideradas.
Tabela 11: Autmato nito no-determinstico do Exemplo 3.8
a b
q
0
q
1
, q
2

q
1
q
2
q
0
, q
2
q
0
, q
1

Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 116 / 392


Autmatos Finitos
Exemplo
Continuao
Tabela 12: Autmato nito determinstico equivalente ao da Tabela 11
a b
q
0
q
1
q
2
q
1
q
2
q
0
q
2
q
0
q
1
q
1
q
2
q
0
q
2
q
0
q
1
q
0
q
1
q
1
q
2
q
0
q
2
q
1
q
2
, q
0
q
2
q
0
q
1
q
0
q
1
q
2
q
0
q
1
q
2
q
0
q
1
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 117 / 392
Autmatos Finitos
Exerccio
Obter um autmato nito determinstico que seja equivalente ao
autmato:
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 118 / 392
Autmatos Finitos
Equivalncia
Como concluso da apresentao do Teorema 3.1, e com base no
Algoritmo 3.1, deve-se acrescentar que possvel garantir, no caso
geral, a existncia de um autmato nito determinstico equivalente a
qualquer autmato nito no-determinstico fornecido.
Dessa maneira, o fato de um autmato nito ser no-determinstico
no o torna mais poderoso quanto classe de linguagens que
capaz de reconhecer, quando comparado com os autmatos nitos
determinsticos. Por se tratar, este ltimo, de um modelo de
reconhecimento que permite gerar implementaes extremamente
ecientes, conclui-se ser sempre possvel a obteno de modelos com
tais caractersticas, independentemente da forma como o autmato se
manifesta originalmente quanto ao seu determinismo.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 119 / 392
Autmatos Finitos
Equivalncia
Por outro lado, a existncia de autmatos no-determinsticos que
sejam equivalentes a autmatos determinsticos imediata, pois a
incorporao de no-determinismos pode ser feita trivialmente, sem
alterar a linguagem aceita pelo autmato: basta, por exemplo,
incorporar um caminho adicional alternativo que aceite qualquer
seqncia de smbolos, a partir de qualquer estado, iniciada por um
smbolo que j seja consumido a partir daquele estado, sem, no
entanto, permitir que alguma congurao nal seja atingida.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 120 / 392
Autmatos Finitos
Exemplo
Exemplo 3.9
Considere-se M, o autmato determinstico da Figura 14.
q
0
q
1
q
2
a
b
c
Figura 14: Autmato M determinstico que aceita a(bca)

Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 121 / 392


Autmatos Finitos
Exemplo
O acrscimo de um nico novo estado q
3
e da transio (q
2
, c) = q
3
j seria
suciente para tornar M no-determinstico, sem no entanto alterar a linguagem por
ele aceita (a(bca)

). Naturalmente, inmeros autmatos podem ser construdos dessa


maneira. A Figura 15 apresenta um exemplo.
q
0
q
1
q
2
a
b
c
q
3
q
4
c
a
a
Figura 15: Autmato no-determinstico equivalente ao autmato da Figura
14
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 122 / 392
Autmatos Finitos
Autmatos Finitos No-Determinsticos com
Transies em Vazio
Autmatos nitos no-determinsticos que apresentam transies em
vazio so aqueles que admitem transies de um estado para outro
com , alm das transies normais, que utilizam os smbolos do
alfabeto de entrada. Transies em vazio podem ser executadas sem
que seja necessrio consultar o smbolo corrente da ta de entrada, e
sua execuo nem sequer causa o deslocamento do cursor de leitura.
Com a introduo de transies em vazio, a funo de transio para
autmatos nitos no-determinsticos passa a ter seu domnio
alterado para:
: Q() 2
Q
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 123 / 392
Autmatos Finitos
Autmatos Finitos No-Determinsticos com
Transies em Vazio
Quando um autmato transita em vazio, isso signica que ele muda de
estado sem consultar a cadeia de entrada. Sempre que ocorrer a
coexistncia entre alguma transio em vazio e outras transies
(vazias ou no) com origem em um mesmo estado, isso acarreta a
necessidade de uma escolha arbitrria da transio a ser aplicada na
respectiva congurao, e isso, por sua vez, caracteriza a
manifestao de um no-determinismo.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 124 / 392
Autmatos Finitos
Exemplo
Exemplo 3.10
Seja M = (Q, , , q
0
, F) um autmato nito com transies em vazio.
Q = q
0
, q
1

= a, b
= (q
0
, a) q
0
, (q
0
, ) q
1
, (q
1
, b) q
1

F = q
1

A linguagem aceita por esse autmato a

, conforme pode ser deduzido a partir do


diagrama de estados da Figura 16.
q
0
q
1

a b
Figura 16: Autmato com transio em vazio
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 125 / 392
Autmatos Finitos
Exemplo
Tomando-se a cadeia de entrada ab como exemplo, as duas seqncias de
movimentao possveis a partir da congurao inicial seriam:
1
(q
0
, ab) (q
0
, b) (q
1
, b) (q
1
, ) (sucesso)
2
(q
0
, ab) (q
1
, ab) (impasse)
No segundo caso, o impasse ocorre devido aplicao da transio (q
0
, ) q
1
logo
ao incio do reconhecimento, antes de ser efetuada a leitura do smbolo a. No
primeiro caso, ocorre a aceitao da sentena, pois a utilizao da transio em vazio
foi efetuada em um ponto favorvel pelo autmato, ou seja, entre a utilizao dos
smbolos a e b da cadeia de entrada.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 126 / 392
Autmatos Finitos
Uso de transies em vazio
Assim como ocorre no no caso dos autmatos determinsticos e
no-determinsticos, alguns autmatos nitos com transies em vazio
se mostram mais simples de serem analisados do que as
correspondentes verses isentas de transies em vazio. O Exemplo
3.11 ilustra uma situao desse tipo.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 127 / 392
Autmatos Finitos
Exemplo
Exemplo 3.11
Os autmatos das Figuras 17 e 18 reconhecem a linguagem a

.
q
0
q
1
q
2
a b c
q
3
b c a
a
c
a
Figura 17: Autmato nito isento de transies em vazio que reconhece a
linguagem a

Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 128 / 392


Autmatos Finitos
Exemplo
q
0
q
1
q
2
a b c
q
3

a
Figura 18: Autmato nito com transies em vazio que reconhece a
linguagem a

Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 129 / 392


Autmatos Finitos
Eliminao de transies em vazio
Teorema 3.2 Todo autmato com transies em vazio gera uma
linguagem que aceita por algum autmato nito que no contm
transies em vazio.
Sejam M = (Q, , , q
0
, F) um autmato nito contendo transies em
vazio, representado em notao tabular, e N = (Q, ,
/
, q
0
, F
/
) o
autmato nito sem transies em vazio correspondente que a partir
dele se deseja obter. A obteno de N a partir de M pode ser efetuada
atravs do Algoritmo 3.2.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 130 / 392
Autmatos Finitos
Algoritmo para eliminao de transies em vazio
Algoritmo 3.2 Obteno de um autmato nito N, sem transies em vazio,
a partir de um autmato nito M, com transies em vazio.

Entrada: um autmato nito com transies em vazio M;

Sada: um autmato nito sem transies em vazio N, tal que


L(N) = L(M);

Mtodo:
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 131 / 392
Autmatos Finitos
Algoritmo para eliminao de transies em vazio
1. Eliminao das transies em vazio
Considere-se um estado qualquer q
i
Q. Se houver uma transio em
vazio de q
i
para q
j
, deve-se elimin-la, copiando-se para a linha que
representa o estado q
i
todas as transies que partem dos estados q
j
para os quais feita a transio em vazio.
Esse procedimento corresponde, em notao tabular, realizao de
uma fuso (merge) entre a linha do estado q
i
que contm a transio
em vazio para o estado-destino q
j
e a prpria linha do estado q
j
,
armazenando-se o resultado novamente na linha correspondente ao
estado q
i
.
Havendo mais de uma transio em vazio indicadas, deve-se repetir
cumulativamente o procedimento para todas elas.
Se (q
i
, ) F, ento F
/
F
/
q
i
, sendo que inicialmente F
/
F.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 132 / 392
Autmatos Finitos
Algoritmo para eliminao de transies em vazio
2. Iterao
Repetir o passo anterior para os demais estados do autmato, at que
todos eles tenham sido considerados (ou seja, at que a ltima linha
tenha sido atingida).
Nos casos em que houver transies em vazio para estados que por sua
vez tambm transitam em vazio para outros estados, ser necessrio
iterar o procedimento vrias vezes sobre a tabela, at que todas as
transies em vazio tenham sido eliminadas.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 133 / 392
Autmatos Finitos
Exemplo
Exemplo 3.12
Considere-se o autmato nito M do Exemplo 3.10, representado na Tabela 13.
Tabela 13: Autmato original apresentando transies em vazio
a b
q
0
q
0
q
1
q
1
q
1
Como h uma transio em vazio de q
0
para q
1
, deve-se copiar as transies de q
1
para q
0
((q
1
, b) apenas, neste caso) e, alm disso, considerar q
0
como estado nal,
uma vez que q
1
estado nal. A Tabela 14 representa a funo de transio
/
.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 134 / 392
Autmatos Finitos
Exemplo
Tabela 14: Autmato equivalente ao da Tabela 13, porm isento de
transies em vazio

/
a b
q
0
q
0
q
1
q
1
q
1
O diagrama de estados do autmato nito correspondente, sem transies em vazio,
apresentado na Figura 19.
q
0
q
1
b
a b
Figura 19: Autmato equivalente ao da Tabela 14, eliminadas as transies
em vazio
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 135 / 392
Autmatos Finitos
Exerccio
Obter um autmato nito sem transies em vazio que seja
equivalente ao autmato:
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 136 / 392
Autmatos Finitos
Modelos de autmato nito
Os modelos de autmato nito considerados at o presente momento
foram:
1. Determinstico sem transies em vazio, com : Q Q;
2. No-determinstico sem transies em vazio, com : Q 2
Q
;
3. No-determinstico com transies em vazio, com
: Q() 2
Q
;
Para completar o quadro de possibilidades, dene-se o modelo de
autmato nito determinstico com transies em vazio:
4. Determinstico com transies em vazio, com
: Q() Q.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 137 / 392
Autmatos Finitos
No-determinismo e transies em vazio
Considerados todos os casos, cumpre retomar a discusso sobre o
conceito de no-determinismo e a relao do mesmo com a forma
atravs da qual so denidas as funes de transio dos autmatos
nitos.
Se, por um lado, os autmatos dos modelos (2) e (3) so ditos
no-determinsticos, isso no signica que, em casos particulares, sua
operao no possa ocorrer de forma determinstica (ver Exemplo
3.13). Por outro lado, os autmatos do modelo (4), apesar de
denominados determinsticos, podem perfeitamente exibir um
comportamente no-determinstico durante sua operao (ver
Exemplo 3.14). Os autmatos do modelo (1), por sua vez, exibem
sempre um comportamento determinstico.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 138 / 392
Autmatos Finitos
Exemplo
Exemplo 3.13
Seja M
1
= (q
0
, q
1
, q
2
, a, b, , q
0
, q
2
) um autmato nito no-determinstico
cuja funo de transio denida como:
(q
0
, a) = q
0

(q
0
, b) = q
1

(q
1
, ) = q
2

Qualquer que seja a congurao corrente (q


i
, ) considerada, existe sempre, no
mximo, uma nica transio de M
1
que pode ser aplicada e, portanto, no mximo,
uma nica prxima congurao possvel. Logo, a operao de M
1
sempre
determinstica.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 139 / 392
Autmatos Finitos
Exemplo
Exemplo 3.14
Seja M
2
= (q
0
, q
1
, a, b, , q
0
, q
1
) um autmato nito no-determinstico cuja
funo de transio denida como:
(q
0
, a) = q
0
(q
0
, b) = q
0
(q
0
, ) = q
1
Considere-se a cadeia de entrada a. As seguintes seqncias de movimentaes so
vlidas em M
2
:

(q
0
, a) (q
0
, )

(q
0
, a) (q
1
, a)
Logo, a operao de M
2
, nesse caso, no-determinstica.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 140 / 392
Autmatos Finitos
No-determinismo e transies em vazio
Como mostram os Exemplos 3.13 e 3.14, o que efetivamente
determina o comportamento que um autmato exibe durante a sua
operao (se determinstico ou no) no o formato genrico da
funo de transio adotoda, mas as especicidades de sua prpria
denio.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 141 / 392
Autmatos Finitos
No-determinismo e transies em vazio
Um autmato no-determinstico do modelo (2) pode operar de forma
determinstica se:

q Q, , tal que [(q, )[ 2;


Um autmato no-determinstico do modelo (3) pode operar de forma
determinstica se:

q Q, , tal que [(q, )[ 2, e

q Q, tal que [(q, )[ 2, e

q Q, , tal que [(q, )[ 1 e [(q, )[ 1.


Um autmato determinstico do modelo (4), por sua vez, pode operar
de forma no-determinstica, se:

q Q, tal que (q, ) e (q, ) so denidas.


Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 142 / 392
Autmatos Finitos
Estados inacessveis e inteis
Nem todos os estados de um autmato necessariamente contribuem
para a denio da linguagem por ele aceita. Estados inacessveis e
estados inteis so os mais importantes representantes desta
categoria de estados, os primeiros porque no podem ser alcanados
a partir do estado inicial do autmato, e os demais porque no levam a
nenhum dos estados nais. Na Figura 20, q
1
um estado inacessvel
e q
2
um estado intil.
q
0
q
1
q
3
q
2
a
b
c
Figura 20: Ilustrao dos conceitos de estado inacessvel (q
1
) e de estado
intil (q
2
)
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 143 / 392
Autmatos Finitos
Estados inacessveis
Seja M = (Q
1
, ,
1
, q
10
, F
1
) um autmato nito qualquer. Formalmente,
um estado q
1i
Q
1
dito inacessvel quando no existir caminho,
formado por transies vlidas, que conduza o autmato do seu
estado inicial q
10
at o estado q
1i
. Em outras palavras, no existe

tal que (q
10
, ) = q
1i
. Caso contrrio, o estado q
1i
dito
acessvel.
Estados inacessveis no contribuem para a denio da linguagem
aceita por M, podendo ser sistematicamente identicados e
eliminados do conjunto de estados, sem prejuzo para a linguagem
aceita pelo autmato.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 144 / 392
Autmatos Finitos
Eliminao de estados inacessveis
Considere-se a funo de transio representada na forma tabular.
Acrescentem-se duas novas colunas tabela: a primeira, denominada
acessvel, com a funo de marcar os estados acessveis, e a
segunda, denominada considerado, cuja funo indicar que o
correspondente estado j foi levado em conta pelo mtodo. O
Algoritmo 3.3 apresenta um mtodo prtico que sistematiza a
identicao de estados inacessveis.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 145 / 392
Autmatos Finitos
Algoritmo
Algoritmo 3.3 Obteno de um autmato sem estados inacessveis
equivalente a outro com estados inacessveis.

Entrada: um autmato nito M = (Q


1
, ,
1
, q
10
, F
1
), representado na
notao tabular;

Sada: um autmato nito N = (Q


2
, ,
2
, q
20
, F
2
), isento de estados
inacessveis, e tal que L(N) = L(M);
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 146 / 392
Autmatos Finitos
Algoritmo
Mtodo:
1
Considere-se a linha correspondente ao estado inicial de M. Marque-se
este estado como acessvel na coluna apropriada.
2
Para cada clula, desta linha da tabela, que contiver o nome de algum
estado, marcar tal estado, na linha correspondente, como acessvel.
Por ltimo, marque-se o estado corrente como considerado.
3
Escolha-se arbitrariamente qualquer outro estado que tenha sido
previamente marcado como acessvel, mas que ainda no esteja
marcado como considerado. Repitam-se os passos (2) e (3) at que
no mais existam na tabela estados acessveis, porm no considerados.
4
N denido a partir de M eliminando-se todos os estados inacessveis
(ou seja, aqueles que no foram marcados como acessveis pelo
algoritmo), bem como todas as transies que deles partem ou a eles
chegam.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 147 / 392
Autmatos Finitos
Exemplo
Exemplo 3.15
Seja M = (Q, , , q
0
, F), representado atravs da Tabela 15.
Tabela 15: Autmato original com estados inacessveis
a b c d e f g
q
0
q
0
q
4
q
3
q
1
q
4
q
1
q
2
q
4
q
1
q
3
q
4
q
4
q
3
q
5
q
5
q
0
q
5
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 148 / 392
Autmatos Finitos
Exemplo
Tabela 16: Autmato original com estados inacessveis, q
0
acessvel
a b c d e f g Acessvel Considerado
q
0
q
0
q
4
q
3

q
1
q
4
q
1
q
2
q
4
q
1
q
3
q
4
q
4
q
3
q
5
q
5
q
0
q
5
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 149 / 392
Autmatos Finitos
Exemplo
Tabela 17: Autmato original com estados inacessveis, q
0
considerado
a b c d e f g Acessvel Considerado
q
0
q
0
q
4
q
3

q
1
q
4
q
1
q
2
q
4
q
1
q
3
q
4

q
4
q
3
q
5

q
5
q
0
q
5
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 150 / 392
Autmatos Finitos
Exemplo
Tabela 18: Autmato original com estados inacessveis, q
3
considerado
a b c d e f g Acessvel Considerado
q
0
q
0
q
4
q
3

q
1
q
4
q
1
q
2
q
4
q
1
q
3
q
4

q
4
q
3
q
5

q
5
q
0
q
5
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 151 / 392
Autmatos Finitos
Exemplo
Tabela 19: Autmato original com estados inacessveis, q
4
considerado
a b c d e f g Acessvel Considerado
q
0
q
0
q
4
q
3

q
1
q
4
q
1
q
2
q
4
q
1
q
3
q
4

q
4
q
3
q
5

q
5
q
0
q
5

Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 152 / 392
Autmatos Finitos
Exemplo
Tabela 20: Autmato original com estados inacessveis, q
5
considerado
a b c d e f g Acessvel Considerado
q
0
q
0
q
4
q
3

q
1
q
4
q
1
q
2
q
4
q
1
q
3
q
4

q
4
q
3
q
5

q
5
q
0
q
5

Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 153 / 392
Autmatos Finitos
Exemplo
Tabela 21: Autmato equivalente ao da Tabela 15, eliminados os estados
inacessveis
a b c d e f g
q
0
q
0
q
4
q
3
q
3
q
4
q
4
q
3
q
5
q
5
q
0
q
5
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 154 / 392
Autmatos Finitos
Estados inteis
Estados inteis so estados que, apesar de poderem ser alcanados
a partir do estado inicial do autmato, no conduzem a nenhum de
seus estados nais. Logo, eles em nada contribuem para a aceitao
de sentenas da linguagem denida pelo autmato, podendo portanto
ser removidos sem qualquer prejuzo para a linguagem reconhecida.
A base de induo usada no algoritmo de eliminao de estados
inteis ser o conjunto dos estados nais do autmato, que, por
denio, so sempre teis (todo estado nal reconhece pelo menos
uma cadeia, a cadeia vazia). Naturalmente, se no houver estados
nais no autmato, todos os seus estados podem ser declarados
inteis, e a linguagem por ele denida ser vazia.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 155 / 392
Autmatos Finitos
Eliminao de estados inteis
A aplicao deste algoritmo pode ser sistematizada de forma
semelhante que foi elaborada para o algoritmo de eliminao de
estados inacessveis. Basta representar a funo de transio na
forma tabular e acrescentar duas novas colunas tabela: a primeira,
denominada til, e a segunda, denominada considerado, e
executar os passos do Algoritmo 3.4.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 156 / 392
Autmatos Finitos
Algoritmo
Algoritmo 3.4 Mtodo prtico para obteno de um autmato sem estados
inteis equivalente a outro com estados inteis, porm sem estados
inacessveis.

Entrada: um autmato nito M = (Q


1
, ,
1
, q
10
, F
1
), representado na
notao tabular;

Sada: um autmato nito N = (Q


2
, ,
2
, q
20
, F
2
), isento de estados
inteis, e tal que L(N) = L(M);
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 157 / 392
Autmatos Finitos
Algoritmo
Mtodo:
1
Considerem-se as linhas correspondentes aos estados nais de M.
Marquem-se as mesmas como teis, na coluna apropriada.
2
Selecione-se um estado qualquer marcado como til, porm ainda
no marcado como considerado. Inspecionem-se todos os demais
estados do autmato, identicando quais deles permitem transitar para
o estado selecionado. Marquem-se todos como teis. Marque-se
nalmente o estado selecionado como considerado.
3
Repita-se o passo (2) at que no reste mais nenhum estado marcado
como til, mas ainda no como considerado.
4
O autmato N denido a partir de M eliminando-se-lhe todos os
estados inteis, bem como todas as transies que deles partem ou a eles
chegam.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 158 / 392
Autmatos Finitos
Exemplo
Exemplo 3.16
Considere-se o autmato da Figura 21, em que todos os estados so acessveis mas
nem todos so teis.
q
0
q
1
q
4
q
3
q
2
a
c
b
c c
c
c
Figura 21: Autmato contendo estados inteis
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 159 / 392
Autmatos Finitos
Exemplo
Tabela 22: Autmato da Figura 21, estado q
4
til
a b c til Considerado
q
0
q
3
q
2
q
1
q
1
q
2
q
2
q
1
q
3
q
4
q
4
q
4

Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 160 / 392
Autmatos Finitos
Exemplo
Tabela 23: Autmato da Figura 21, estado q
4
considerado
a b c til Considerado
q
0
q
3
q
2
q
1
q
1
q
2
q
2
q
1
q
3
q
4

q
4
q
4

Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 161 / 392
Autmatos Finitos
Exemplo
Tabela 24: Autmato da Figura 21, estado q
0
til
a b c til Considerado
q
0
q
3
q
2
q
1

q
1
q
2
q
2
q
1
q
3
q
4

q
4
q
4

Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 162 / 392
Autmatos Finitos
Exemplo
Tabela 25: Autmato da Figura 21, estado q
0
considerado
a b c til Considerado
q
0
q
3
q
2
q
1

q
1
q
2
q
2
q
1
q
3
q
4

q
4
q
4

Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 163 / 392
Autmatos Finitos
Exemplo
Tabela 26: Autmato equivalente ao da Figura 21, estados inteis eliminados
a b c
q
0
q
3
q
3
q
4
q
4
q
4
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 164 / 392
Autmatos Finitos
Perguntas
1
Dado um autmato nito qualquer, ser possvel obter uma
verso determinstica, isenta de transies em vazio e estados
inacessveis ou inteis, aplicando-se uma s vez cada um dos
algoritmos descritos?
2
Em caso armativo, em qual seqncia devem eles ser
aplicados?
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 165 / 392
Autmatos Finitos
Fatos
Para responder a essas questes, suciente observar que:

A eliminao de transies em vazio:

Pode introduzir no-determinismos;

Pode fazer surgir estados inacessveis ou inteis.

A eliminao de no-determinismos:

Pode fazer surgir estados inacessveis ou inteis;

No introduz transies em vazio.

A eliminao de estados inacessveis ou inteis:

No faz surgir no-determinismos;

No introduz transies em vazio.


Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 166 / 392
Autmatos Finitos
Respostas
Logo, fcil provar que a resposta para as questes inicialmente
propostas sim, bastando para isso aplicar os algoritmos na
seguinte seqncia:
1
Eliminao de transies em vazio, se houver;
2
Eliminao dos no-determinismos restantes, caso haja algum;
3
Eliminao de estados inacessveis e inteis, caso existam.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 167 / 392
Autmatos Finitos
Exemplo
Exemplo 3.17
Considere-se um autmato nito M, conforme a Tabela 27, que apresenta transies
em vazio e no-determinismo (conseqncia, no caso, das transies em vazio
existentes).
Tabela 27: Autmato original com transies em vazio
a b c d e
q
0
q
1
q
1
q
2
q
1
q
3
q
1
q
4
q
2
q
2
q
3
q
3
q
4
q
3
q
4
q
2
q
4
q
0
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 168 / 392
Autmatos Finitos
Exemplo
Eliminao de transies em vazio
Tabela 28: Eliminao de (q
0
, ) q
2
a b c d e
q
0
q
1
, q
2
q
1
, q
3

q
1
q
3
q
1
q
4
q
2
q
2
q
3
q
3
q
4
q
3
q
4
q
2
q
4
q
0
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 169 / 392
Autmatos Finitos
Exemplo
Eliminao de transies em vazio
Tabela 29: Eliminao de (q
1
, ) q
4
a b c d e
q
0
q
1
, q
2
q
1
, q
3

q
1
q
3
q
2
q
1
q
4
q
0
q
2
q
2
q
3
q
3
q
4
q
3
q
4
q
2
q
4
q
0
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 170 / 392
Autmatos Finitos
Exemplo
Eliminao de transies em vazio
Tabela 30: Eliminao de (q
1
, ) q
0
a b c d e
q
0
q
1
, q
2
q
1
, q
3

q
1
q
3
q
1
, q
2
q
1
, q
3
q
4
q
2
q
2
q
3
q
3
q
4
q
3
q
4
q
2
q
4
q
0
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 171 / 392
Autmatos Finitos
Exemplo
Eliminao de transies em vazio
Tabela 31: Eliminao de (q
4
, ) q
0
a b c d e
q
0
q
1
, q
2
q
1
, q
3

q
1
q
3
q
1
, q
2
q
1
, q
3
q
4
q
2
q
2
q
3
q
3
q
4
q
3
q
4
q
1
, q
2
q
1
, q
3
q
4
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 172 / 392
Autmatos Finitos
Exemplo
Eliminao de transies em vazio
Tabela 32: Autmato equivalente ao da Tabela 27, eliminadas as transies
em vazio
a b c d e
q
0
q
1
, q
2
q
1
, q
3

q
1
q
3
q
1
, q
2
q
1
, q
3
q
4
q
2
q
2
q
3
q
3
q
4
q
3
q
4
q
1
, q
2
q
1
, q
3
q
4
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 173 / 392
Autmatos Finitos
Exemplo
Eliminao de no-determinismos
Tabela 33: Autmato isento de no-determinismos, verso inicial
a b c d e
q
0
q
1
, q
2
q
1
, q
3

q
1
q
3
q
1
, q
2
q
1
, q
3
q
4
q
2
q
2
q
3
q
3
q
4
q
3
q
4
q
1
, q
2
q
1
, q
3
q
4
q
1
, q
2
q
3
q
1
, q
2
q
1
, q
3
q
4
q
1
, q
3
q
3
, q
4
q
1
, q
2
q
3
q
1
, q
3
q
4
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 174 / 392
Autmatos Finitos
Exemplo
Eliminao de no-determinismos
Tabela 34: Autmato isento de no-determinismos, verso nal
a b c d e
q
0
q
1
q
2
q
1
q
3
q
1
q
3
q
1
q
2
q
1
q
3
q
4
q
2
q
2
q
3
q
3
q
4
q
3
q
4
q
1
q
2
q
1
q
3
q
4
q
1
q
2
q
3
q
1
q
2
q
1
q
3
q
4
q
1
q
3
q
3
q
4
q
1
q
2
q
3
q
1
q
3
q
4
q
3
q
4
q
4
q
1
q
2
q
3
q
1
q
3
q
4
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 175 / 392
Autmatos Finitos
Exemplo
Renomeando os estados
Tabela 35: Autmato da Tabela 34, com estados renomeados
a b c d e
q
0
q
5
q
6
q
1
q
3
q
5
q
6
q
4
q
2
q
2
q
3
q
3
q
4
q
3
q
4
q
5
q
6
q
4
q
5
q
3
q
5
q
6
q
4
q
6
q
7
q
5
q
3
q
6
q
4
q
7
q
4
q
5
q
3
q
6
q
4
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 176 / 392
Autmatos Finitos
Exemplo
Eliminao de estados inacessveis
Tabela 36: Eliminao de estados inacessveis
a b c d e Acessvel Considerado
q
0
q
5
q
6

q
1
q
3
q
5
q
6
q
4
q
2
q
2
q
3
q
3
q
4
q
3

q
4
q
5
q
6
q
4

q
5
q
3
q
5
q
6
q
4

q
6
q
7
q
5
q
3
q
6
q
4

q
7
q
4
q
5
q
3
q
6
q
4

Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 177 / 392
Autmatos Finitos
Exemplo
Resultado nal
Tabela 37: Autmato nal obtido pela eliminao de transies em vazio,
no-determinismos e estados inacessveis
a b c d e
q
0
q
5
q
6
q
3
q
4
q
3
q
4
q
5
q
6
q
4
q
5
q
3
q
5
q
6
q
4
q
6
q
7
q
5
q
3
q
6
q
4
q
7
q
4
q
5
q
3
q
6
q
4
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 178 / 392
Gramticas Regulares e Conjuntos Regulares
Equivalncia
Na presente seo mostrada a equivalncia entre as linguagens
caracterizadas pelos conjuntos regulares e as geradas pelas
gramticas lineares direita, ou seja, prova-se que toda e qualquer
linguagem gerada por alguma gramtica linear um conjunto regular,
e tambm, inversamente, que todo e qualquer conjunto regular pode
ser expresso atravs de uma gramtica linear.
Figura 22: Equivalncia dos formalismos parte 1
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 179 / 392
Gramticas Regulares e Conjuntos Regulares
Conjuntos regulares gramticas lineares direita
Teorema 4.1 Todo conjunto regular gerado por uma gramtica
linear direita.
Deseja-se demonstrar que todo e qualquer conjunto regular dene
uma linguagem que tambm pode ser gerada por uma gramtica
linear direita.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 180 / 392
Gramticas Regulares e Conjuntos Regulares
Conjuntos regulares gramticas lineares direita
Por denio, / 0, , , , onde um alfabeto (conjunto nito e
no-vazio), so conjuntos regulares. Da mesma forma, XY, XY e X

,
com X e Y conjuntos regulares, tambm so conjuntos regulares. A
equivalncia de tais conjuntos regulares com as correspondentes
gramticas lineares direita que os geram mostrada a seguir:

/ 0 uma linguagem linear direita, pois:


G = (S, , / 0, S) tal que L(G) = / 0

uma linguagem linear direita, pois:


G = (S, , S , S) tal que L(G) =

uma linguagem linear direita, pois:


G = (, S, , S , S) tal que L(G) =
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 181 / 392
Gramticas Regulares e Conjuntos Regulares
Conjuntos regulares gramticas lineares direita
Suponha-se agora que X e Y sejam dois conjuntos regulares, gerados
por gramticas lineares direita. vlido, nesse caso, admitir que X e
Y sejam gerados pelas gramticas G
x
e G
y
:
X = L(G
x
), G
x
= (
x
N
x
,
x
, P
x
, S
x
)
Y = L(G
y
), G
y
= (
y
N
y
,
y
, P
y
, S
y
)
Admita-se ainda, sem perda de generalidade, que N
x
N
y
= / 0. Caso
isso no seja verdadeiro, podem-se renomear os no-terminais, de
modo que essa condio seja satisfeita. Nessa situao, a aplicao
das operaes de unio, concatenao e fechamento reexivo sobre
X e Y geram novas linguagens lineares direita.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 182 / 392
Gramticas Regulares e Conjuntos Regulares
Conjuntos regulares gramticas lineares direita

Z = XY uma linguagem linear direita, pois:


G
z
= (
x

y
N
x
N
y
S
z
,
x

y
, P
x
P
y
S
z
S
x
, S
z
S
y
, S
z
)
tal que L(G
z
) = XY.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 183 / 392
Gramticas Regulares e Conjuntos Regulares
Conjuntos regulares gramticas lineares direita

Z = XY uma linguagem linear direita, pois:


G
z
= (
x

y
N
x
N
y
,
x

y
, P
y
P
z
, S
x
), sendo P
z
obtido pela
aplicao das regras:
a) Se A B P
x
, ento A B P
z
b) Se A P
x
, ento A S
y
P
z
c) Se A P
x
, ento A S
y
P
z
tal que L(G
z
) = XY.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 184 / 392
Gramticas Regulares e Conjuntos Regulares
Conjuntos regulares gramticas lineares direita

Z = X

uma linguagem linear direita, pois:


G
z
= (
x
N
x
S
z
,
x
, S
z
S
x
, S
z
P
z
, S
z
), sendo P
z
obtido
pela aplicao das regras:
a) Se A B P
x
, ento A B P
z
b) Se A P
x
, ento A S
z
P
z
c) Se A P
x
, ento A S
z
P
z
tal que L(G
z
) = X

.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 185 / 392
Gramticas Regulares e Conjuntos Regulares
Exemplo
Exemplo 4.1
Considere-se o alfabeto =0, 1, 2. Os conjuntos regulares
L
0
=0, L
1
=1, L
2
=2 so denidos, respectivamente, pelas gramticas:

G
0
= (0, S
0
, 0, S
0
0, S
0
)

G
1
= (1, S
1
, 1, S
1
1, S
1
)

G
2
= (2, S
2
, 2, S
2
2, S
2
)
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 186 / 392
Gramticas Regulares e Conjuntos Regulares
Continuao
Atravs da aplicao das regras correspondentes ao fechamento reexivo e transitivo,
obtm-se, a partir de G
0
e G
1
, novas gramticas G
3
e G
4
representando,
respectivamente, os conjuntos 0

e 1

G
3
= (0, S
0
, S
3
, 0, S
3
S
0
, S
3
, S
0
0S
3
, S
3
)

G
4
= (1, S
1
, S
4
, 1, S
4
S
1
, S
4
, S
1
1S
4
, S
4
)
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 187 / 392
Gramticas Regulares e Conjuntos Regulares
Continuao
Da concatenao dos conjuntos 0

e 1

resulta o conjunto regular 0

,
representado atravs da gramtica linear direita G
5
:

G
5
= (0, 1, S
0
, S
1
, S
3
, S
4
, 0, 1, P
5
, S
3
)
P
5
=S
3
S
0
, S
3
S
4
, S
0
0S
3

G
3
, S
4
S
1
, S
4
, S
1
1S
4

G
4

Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 188 / 392


Gramticas Regulares e Conjuntos Regulares
Continuao
Finalmente, a linguagem obtida pela unio de L(G
5
) com L(G
2
) pode ser
representada pela gramtica linear G
6
:

G
6
= (0, 1, 2, S
0
, S
1
, S
2
, S
3
, S
4
, S
6
, 0, 1, 2, P
6
, S
6
)
P
6
=S
6
S
2
, S
6
S
3
, S
2
2

G
2
,
S
3
S
0
, S
3
S
4
, S
0
0S
3
, S
4
S
1
, S
4
, S
1
1S
4

G
5

Portanto, L(G
6
) =0

2.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 189 / 392
Gramticas Regulares e Conjuntos Regulares
Exemplo
Exemplo 4.2
A gramtica G
6
do Exemplo 4.1 poderia ser simplicada, mantendo-se a linguagem
original e reduzindo-se a quantidade de smbolos no-terminais e o nmero de
produes. Uma possibilidade seria:

G
6
= (0, 1, 2, S, A, B, 0, 1, 2, P
6
, S)
P
6
=S 2

2
, S A, A 0A

0

, A B

0

, B 1B, B

1

Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 190 / 392


Gramticas Regulares e Conjuntos Regulares
Conjuntos regulares gramticas lineares direita
Teorema 4.2 Toda gramtica linear direita gera um conjunto
regular.
Mostra-se agora a proposio inversa, ou seja, que toda e qualquer
linguagem gerada por uma gramtica linear direita constitui um
conjunto regular. Para tanto, deve-se lembrar que gramticas lineares
direita se caracterizam por apresentarem apenas produes com os
formatos seguintes:

X
i
X
j

X
i
X
j

X
i

X
i

com e X
i
, X
j
N.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 191 / 392
Gramticas Regulares e Conjuntos Regulares
Conjuntos regulares gramticas lineares direita
O Algoritmo 4.1, a seguir apresentado, permite a obteno, de forma
sistemtica, de uma expresso que representa o conjunto regular
denido por uma gramtica linear direita fornecida como entrada.
Inicialmente, a representao algbrica da gramtica deve ser
modicada, para permitir a representao explcita dos conjuntos
denotados pelos seus smbolos no-terminais:

X
i
X
j
torna-se X
i
=X
j

X
i
X
j
torna-se X
i
=X
j

X
i
torna-se X
i
=

X
i
torna-se X
i
=
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 192 / 392
Gramticas Regulares e Conjuntos Regulares
Conjuntos regulares gramticas lineares direita
Como resultado, obtm-se um sistema de equaes regulares, em
que cada equao corresponde a uma diferente varivel
(no-terminal) da gramtica original. A soluo desse sistema de m
variveis e m equaes fornece as expresses que denem os
conjuntos regulares representados pelos diversos smbolos
no-terminais. Em particular, o conjunto regular associado ao
no-terminal raiz da gramtica dene a linguagem por ela descrita.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 193 / 392
Gramticas Regulares e Conjuntos Regulares
Conjuntos regulares gramticas lineares direita
Nesse sistema, cada equao possui o seguinte formato geral:
X
i
= A
i1
X
1
A
i2
X
2
... A
im
X
m
B
i1
B
i2
...B
ik
onde:

A
ij
=
ij
se X
i

ij
X
j
P,
ij
(), ou A
ij
= / 0 em caso
contrrio;

B
ij
=
ij
se X
i

ij
P,
ij
().
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 194 / 392
Gramticas Regulares e Conjuntos Regulares
Conjuntos regulares gramticas lineares direita
O sistema de equaes propriamente dito assume ento a forma
genrica:
X
1
= A
11
X
1
A
12
X
2
... A
1m
X
m
B
11
B
12
...B
1p
X
2
= A
21
X
1
A
22
X
2
... A
2m
X
m
B
21
B
22
...B
2q
... ...
X
m
= A
m1
X
1
A
m2
X
2
... A
mm
X
m
B
m1
B
m2
...B
mr
Observe-se que cada equao assim obtida pode conter referncias a
todos os smbolos no-terminais da gramtica (X
1
a X
m
) bem como a
termos constantes (B
ij
), em quantidade varivel conforme a equao.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 195 / 392
Gramticas Regulares e Conjuntos Regulares
Conjuntos regulares gramticas lineares direita
A seguir, coloca-se em evidncia o smbolo no-terminal X
i
denido
em cada equao. Isso, e o agrupamento de todos os termos que no
dependem de X
i
, pela aplicao da propriedade associativa da unio
dos conjuntos, altera a representao da equao para:
X
i
= A
ii
X
i
(A
i
B
i
)
onde:

A
i
=A
ij
X
j
, 1 j m, j ,= i

B
i
= B
i1
B
i2
...B
ik
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 196 / 392
Gramticas Regulares e Conjuntos Regulares
Conjuntos regulares gramticas lineares direita
Fazendo-se C
i
= A
i
B
i
, so obtidas expresses do tipo:
X
i
= A
ii
X
i
C
i
onde C
i
representa todos os termos da i-sima equao que no
contm referncias diretas ao smbolo no-terminal X
i
, e A
ii
representa o conjunto de todas as cadeias sobre que prexam X
i
na
equao em que este no-terminal denido.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 197 / 392
Gramticas Regulares e Conjuntos Regulares
Conjuntos regulares gramticas lineares direita
possvel demonstrar, por induo, que equaes com o formato
genrico X
i
= A
ii
X
i
C
i
possuem, como soluo geral, o conjunto:
X
i
= A

ii
C
i
Nesta expresso, no existem ocorrncias do smbolo X
i
. De fato,
substituindo-se X
i
por A

ii
C
i
na segunda ocorrncia deste smbolo em
X
i
= A
ii
X
i
C
i
, obtm-se a identidade:
X
i
= A
ii
X
i
C
i
= A
ii
(A

ii
C
i
) C
i
= A
+
ii
C
i
C
i
= A

ii
C
i
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 198 / 392
Gramticas Regulares e Conjuntos Regulares
Soluo de X = AXC
Teorema 4.3 A equao regular X = AXC tem como soluo geral
o conjunto regular X = A

C.
Partindo-se de X = AXC, pode-se levantar o conjunto de valores da
varivel X que satisfazem a essa igualdade. H dois caminhos
possveis:
1. X = C, que uma soluo trivial, obtida pela simples inspeo
de X = AXC;
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 199 / 392
Gramticas Regulares e Conjuntos Regulares
Soluo de X = AXC
2. X = AX, que deve ser assim interpretada: para obter um novo
valor de X, utiliza-se algum valor j conhecido, e concatene-se-lhe
um A esquerda. Aplicando-se essa interpretao soluo
obtida em (1), tem-se: X = AC, que passa a ser uma nova soluo
conhecida. Aplicando-se outra vez essa interpretao soluo
X = AC, obtm-se X = AAC, e assim por diante. Note-se que
dessa forma foi obtida uma seqncia de solues
progressivamente mais longas, partindo-se da soluo trivial,
atravs da concatenao de elementos A esquerda.
Generalizando-se, tem-se a forma X = A

C como soluo geral da


equao X = AXC.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 200 / 392
Gramticas Regulares e Conjuntos Regulares
Resoluo de um sistema de equaes regulares
Algoritmo 4.1 Resoluo de um sistema de equaes regulares.

Entrada: Uma srie de equaes regulares sobre variveis X


i
, 1 i m,
cujos coecientes A
ij
so conjuntos regulares sobre um alfabeto .

Sada: Uma srie de conjuntos regulares


i
sobre , de tal forma que
X
i
=
i
.

Mtodo:
1
i 1;
2
Se i = m, ento desviar para (4). Caso contrrio, considerar a i-sima
equao na forma X
i
= A
ii
X
i
C
i
e substituir todas as ocorrncias de X
i
por A

ii
C
i
nas equaes referentes s variveis X
j
, (i +1) j m;
3
i i +1 e desviar para (2);
4
Se i = 0, ento FIM. Caso contrrio, X
i

i
= A

ii
C
i
e substituir todas as
ocorrncias de X
i
pelo conjunto
i
nas equaes referentes s variveis
X
j
, 1 j (i 1).
5
i i 1 e desviar para (4).
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 201 / 392
Gramticas Regulares e Conjuntos Regulares
Exemplo
Exemplo 4.3
Considere-se a gramtica linear direita G
0
:
G
0
= (a, b, c, X
0
, X
1
, X
2
, a, b, c, d, P
0
, X
0
)
P
0
= X
0
aX
0
, X
0
aX
1
, X
0
b,
X
1
bX
1
, X
1
cX
1
, X
1
cX
2
, X
1
d,
X
2
aX
0
, X
2
bX
1
, X
2
cX
2
, X
2
c, X
2
d
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 202 / 392
Gramticas Regulares e Conjuntos Regulares
Exemplo
Continuao
Convertendo-se as produes algbricas para a notao de conjuntos, obtm-se:

X
0
=aX
0
, X
0
=aX
1
, X
0
=b,

X
1
=bX
1
, X
1
=cX
1
, X
1
=cX
2
, X
1
=d,

X
2
=aX
0
, X
2
=bX
1
, X
2
=cX
2
, X
2
=c, X
2
=d
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 203 / 392
Gramticas Regulares e Conjuntos Regulares
Exemplo
Continuao
Do agrupamento das alternativas de substituio de cada smbolo no-terminal
resulta o sistema de equaes seguinte:

X
0
=aX
0
aX
1
b

X
1
=bX
1
cX
1
cX
2
d

X
2
=aX
0
bX
1
cX
2
c d
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 204 / 392
Gramticas Regulares e Conjuntos Regulares
Exemplo
Continuao
Colocando-se em evidncia os smbolos no-terminais denidos em cada equao, o
novo sistema toma o seguinte aspecto:

X
0
=aX
0
(aX
1
b) = A
00
X
0
C
0

X
1
=b, cX
1
(cX
2
d) = A
11
X
1
C
1

X
2
=cX
2
(aX
0
bX
1
c, d) = A
22
X
2
C
2
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 205 / 392
Gramticas Regulares e Conjuntos Regulares
Exemplo
Continuao
com:

A
00
=a, A
0
=aX
1
, B
0
=b

A
11
=b, c, A
1
=cX
2
, B
1
=d

A
22
=c, A
2
=aX
0
bX
1
, B
2
=c, d
e:

C
0
= A
0
B
0
=aX
1
b

C
1
= A
1
B
1
=cX
2
d

C
2
= A
2
B
2
= (aX
0
bX
1
) c, d
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 206 / 392
Gramticas Regulares e Conjuntos Regulares
Exemplo
Continuao
Eliminando-se as referncias aos smbolos no-terminais X
i
, 0 i 2, nas equaes
em que os mesmos so denidos, resulta:

X
0
=a

(aX
1
b)

X
1
=b, c

(cX
2
d)

X
2
=c

(aX
0
bX
1
c, d)
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 207 / 392
Gramticas Regulares e Conjuntos Regulares
Exemplo
Continuao

Passos 1 e 2 do algoritmo, primeira passagem:


X
0
= a

(aX
1
b) e substituio nas equaes de X
1
e X
2
:
X
0
= a

(aX
1
b)
X
1
= b, cX
1
(cX
2
d)
X
2
= cX
2
(a(a

(aX
1
b)) bX
1
c, d)
= cX
2
(a(a

aX
1
a

b) bX
1
c, d)
= cX
2
(aa

aX
1
aa bbX
1
c, d)
= cX
2
aa

aX
1
aa

b bX
1
c, d
= cX
2
aa
+
X
1
a
+
b bX
1
c, d
= cX
2
(aa
+
b)X
1
(a
+
b c, d)
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 208 / 392
Gramticas Regulares e Conjuntos Regulares
Exemplo
Continuao

Passos 1 e 2 do algoritmo, segunda passagem:


X
1
= b, c

(cX
2
d) e substituio na equao de X
2
:
X
0
= a

(aX
1
b)
X
1
= b, c

(cX
2
d)
X
2
= cX
2
(aa
+
b)(b, c

(cX
2
d)) a
+
b c, d)
= cX
2
(aa
+
b)(b, c

cX
2
b, c

d) a
+
b c, d
= cX
2
(aa
+
b)b, c

cX
2
(aa
+
b)b, c

d
a
+
b c, d
= cX
2
(aa
+
b)b, c

cX
2
aa
+
b, c

d
bb, c

d a
+
b c, d
= (c (aa
+
b)b, c

c)X
2
aa
+
b, c

d
bb, c

d a
+
b c, d
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 209 / 392
Gramticas Regulares e Conjuntos Regulares
Exemplo
Continuao

Passos 1 e 2 do algoritmo, terceira passagem:


X
2
= A

22
C
2
, com :
A
22
= (c (aa
+
b)b, c

c)
C
2
= aa
+
b, c

d bb, c

d a
+
b c, d
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 210 / 392
Gramticas Regulares e Conjuntos Regulares
Exemplo
Continuao

Passos 4 e 5 do algoritmo, primeira passagem:


Substituio de X
2
por A

22
C
2
nas equaes de X
0
e X
1
:
X
0
= a

(aX
1
b)
X
1
= b, c

(c(A

22
C
2
) d) =b, c

cA

22
C
2
b, c

d
X
2
= A

22
C
2
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 211 / 392
Gramticas Regulares e Conjuntos Regulares
Exemplo
Continuao

Passos 4 e 5 do algoritmo, segunda passagem:


Substituio de X
1
por b, c

cA

22
C
2
b, c

d na equao de X
0
:
X
0
= a

(a(b, c

cA

22
C
2
b, c

d) b)
= a

(ab, c

cA

22
C
2
ab, c

d b)
= a

ab, c

cA

22
C
2
a

ab, c

d a

b
X
1
= b, c

cA

22
C
2
b, c

d
X
2
= A

22
C
2
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 212 / 392
Gramticas Regulares e Conjuntos Regulares
Exemplo
Continuao
Portanto, o conjunto regular denido por G
0

0

4
, com:

0
= a

ab, c

c(c (aa
+
b)b, c

c)

1
= aa
+
b, c

d bb, c

d a
+
b c, d

3
= a

ab, c

4
= a

b
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 213 / 392
Gramticas Regulares e Conjuntos Regulares
Exemplo
Exemplo 4.4
Seja G
1
uma gramtica linear direita:
G
1
= (0, 1, 2, X
1
, X
2
, X
3
, 0, 1, 2, P
1
, X
1
)
P
1
= X
1
0X
1
, X
1
X
2
,
X
2
1X
2
, X
2
1X
3
,
X
3
2X
3
, X
3
22
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 214 / 392
Gramticas Regulares e Conjuntos Regulares
Exemplo
Continuao
Efetuando-se a mudana de notao e agrupando-se as alternativas, obtemos o
sistema de equaes:
X
1
= 0X
1
X
2
X
2
= 1X
2
1X
3
X
3
= 2X
3
22
Pelo fato de esta gramtica no conter referncias varivel (no-terminal) X
1
nas
equaes de X
2
e X
3
, nem tampouco referncias varivel X
2
na equao da varivel
X
3
, torna-se prtico em primeiro lugar resolver diretamente a equao referente
varivel X
3
:
X
3
=2

22
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 215 / 392
Gramticas Regulares e Conjuntos Regulares
Exemplo
Continuao
A seguir, substituem-se pela expresso acima todas as ocorrncias da varivel X
3
nas
equaes anteriores. O sistema de equaes torna-se ento:
X
1
= 0X
1
X
2
X
2
= 1X
2
12

22
X
3
= 2

22
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 216 / 392
Gramticas Regulares e Conjuntos Regulares
Exemplo
Continuao
De forma anloga, obtm-se X
2
=1

12

22 e efetua-se a substituio desta


expresso em todas as ocorrncias da varivel X
2
nas equaes anteriores, que ento
se tornam:
X
1
= 0X
1
1

12

22
X
2
= 1

12

22
X
3
= 2

22
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 217 / 392
Gramticas Regulares e Conjuntos Regulares
Exemplo
Continuao
Finalmente, obtm-se X
1
=0

12

22, que representa tambm o


conjunto regular denido pela gramtica linear direita G
1
. Resulta:
X
1
= 0

12

22
X
2
= 1

12

22
X
3
= 2

22
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 218 / 392
Gramticas Regulares e Autmatos Finitos
Equivalncia
mostrada a seguir a equivalncia entre as gramticas lineares
direita e os autmatos nitos, no que diz respeito classe de
linguagens que tais dispositivos so capazes de denir.
As equivalncias discutidas nesta seo esto representadas com
destaque na Figura 23.
Figura 23: Equivalncia dos formalismos parte 2
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 219 / 392
Gramticas Regulares e Autmatos Finitos
Gramticas lineares direita autmatos nitos
Teorema 5.1 Seja G uma gramtica linear direita. Ento possvel
denir um autmato nito M de tal modo que L(G) = L(M).
Considere-se G = (V, , P, S). As produes de P so do tipo:
1
X aY
2
X Y
3
X a
4
X
com X, Y N, a .
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 220 / 392
Gramticas Regulares e Autmatos Finitos
Gramticas lineares direita autmatos nitos
Algoritmo 5.1 Construo de um autmato nito a partir de uma gramtica
linear direita.

Entrada: uma gramtica linear direita G;

Sada: um autmato nito M tal que L(M) = L(G);

Mtodo:
1. Conjunto de estados:
Cada estado de M corresponde a um dos smbolos no-terminais de G. A
esse conjunto acrescenta-se um novo smbolo (estado) Z / N, ou seja,
Q = N Z. O estado inicial de M S, a raiz da gramtica. O estado
nal de M Z, o novo estado acrescentado.
2. Alfabeto de entrada:
O alfabeto de entrada de M o mesmo alfabeto de G.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 221 / 392
Gramticas Regulares e Autmatos Finitos
Gramticas lineares direita autmatos nitos
3. Funo de transio:
/ 0;
Para cada regra de produo em P da gramtica G, e conforme seu tipo:
1
Se X aY ento (X, a) Y;
2
Se X Y ento (X, ) Y;
3
Se X a ento (X, a) Z;
4
Se X ento (X, ) Z.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 222 / 392
Gramticas Regulares e Autmatos Finitos
Exemplo
Exemplo 5.1
Seja G uma gramtica linear direita:
G = (V, , P, S)
V = a, b, c, S, K, L
= a, b, c
P = S a, S aK, K bK, K L, L cL, L
Aplicando-se o algoritmo de converso a G, obtm-se o autmato da Tabela 38.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 223 / 392
Gramticas Regulares e Autmatos Finitos
Exemplo
Continuao
Tabela 38: Mapeamento das produes da gramtica G para as regras de
transio do autmato M
P
S a (S, a) = Z
S aK (S, a) = K
K bK (K, b) = K
K L (K, ) = L
L cL (L, c) = L
L (L, ) = Z
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 224 / 392
Gramticas Regulares e Autmatos Finitos
Exemplo
Continuao
O autmato nito completo M assim especicado apresentado na Figura 24.
Note-se que L(G) = L(M) = ab

.
M = (Q, , , S, F)
Q = S, K, L, Z
= a, b, c
= (S, a) Z, (S, a) K, (K, b) K, (K, ) L, (L, c) L, (L, ) Z
F = Z
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 225 / 392
Gramticas Regulares e Autmatos Finitos
Exemplo
Continuao
S K L Z
a
b c
a
Figura 24: Autmato resultante do mapeamento mostrado na Tabela 38
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 226 / 392
Gramticas Regulares e Autmatos Finitos
Exemplo
Continuao
Considere-se a sentena abbcc, e as correspondentes seqncias de derivaes em G
e de movimentaes em M:

S aK abK abbK abbL abbcL abbccL abbcc

(S, abbcc) (K, bbcc) (K, bcc) (K, cc) (L, cc) (L, c) (L, ) (Z, )
Comparando-se as formas sentenciais geradas por G com as conguraes assumidas
por M, fcil perceber que h uma relao direta entre elas, expressa na idia
anteriormente exposta de que a linguagem gerada por um certo smbolo no-terminal
de G corresponde linguagem reconhecida pelo respectivo estado de M. Note-se, em
particular, que o nmero de formas sentenciais geradas por G igual ao nmero de
conguraes assumidas por M no reconhecimento da mesma cadeia de entrada (no
caso, oito formas sentenciais e oito conguraes).
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 227 / 392
Gramticas Regulares e Autmatos Finitos
Gramticas lineares direita autmatos nitos
Teorema 5.2 Seja M um autmato nito qualquer. Ento possvel
denir uma gramtica linear direita G, de tal modo que L(M) = L(G).
Considere-se M = (Q, , , q
0
, F) um autmato nito genrico,
no-determinstico e com transies em vazio. O Algoritmo 5.2 mostra
como construir uma gramtica linear direita G = (V, , P, S) a partir
de M.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 228 / 392
Gramticas Regulares e Autmatos Finitos
Gramticas lineares direita autmatos nitos
Algoritmo 5.2 Construo de uma gramtica linear direita a partir de um
autmato nito.

Entrada: um autmato nito M;

Sada: uma gramtica linear direita G tal que L(G) = L(M);

Mtodo:
1. Denio do conjunto de smbolos no-terminais:
Os smbolos no-terminais de G correspondem aos estados de M. A raiz
da gramtica q
0
.
2. Alfabeto de entrada:
O alfabeto de G o prprio alfabeto de entrada de M.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 229 / 392
Gramticas Regulares e Autmatos Finitos
Gramticas lineares direita autmatos nitos
3. Produes:
P / 0;
Para cada elemento de da mquina M, e conforme o tipo das
transies de M:
1
Se (X, a) = Y, ento P X aY;
2
Se (X, ) = Y, ento P X Y.
Para cada elemento de Q da mquina M:
1
Se X F, ento P X .
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 230 / 392
Gramticas Regulares e Autmatos Finitos
Exemplo
Exemplo 5.2
Seja M representado na Figura 25.
M = (Q, , , q
0
, F)
Q = q
0
, q
1
, q
2

= a, b, c
= (q
0
, a) q
1
, (q
1
, b) q
1
, (q
1
, c) q
2
, (q
1
, ) q
2
, (q
2
, c) q
2

F = q
2

q
0
q
1
q
2
a
b c

c
Figura 25: Autmato original M do Exemplo 5.2
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 231 / 392
Gramticas Regulares e Autmatos Finitos
Exemplo
Continuao
Aplicando-se o algoritmo de converso mquina M, obtm-se a gramtica linear
direita G apresentada na Tabela 39, cujo conjunto de produes P corresponde
segunda coluna da mesma. Note que L(M) = L(G) = ab

.
G = (V, , P, q
0
)
V = a, b, c, q
0
, q
1
, q
2

= a, b, c
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 232 / 392
Gramticas Regulares e Autmatos Finitos
Exemplo
Continuao
Tabela 39: Gramtica G equivalente ao autmato M da Figura 25
P
(q
0
, a) = q
1
q
0
aq
1
(q
1
, b) = q
1
q
1
bq
1
(q
1
, c) = q
2
q
1
cq
2
(q
1
, ) = q
2
q
1
q
2
(q
2
, c) = q
2
q
2
cq
2
Q P
q
2
F q
2

Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 233 / 392
Gramticas Regulares e Autmatos Finitos
Exemplo
Continuao
Considere-se a cadeia abbbc, e as correspondentes seqncias de movimentaes em
M e de derivaes em G:

(q
0
, abbbc) (q
1
, bbbc) (q
1
, bbc) (q
1
, bc) (q
1
, c) (q
2
, )

q
0
aq
1
abq
1
abbq
1
abbbq
1
abbbcq
2
abbbc
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 234 / 392
Gramticas Regulares e Autmatos Finitos
Exemplo
Continuao
Em particular, a cadeia abbbc possui mais de uma seqncia de movimentaes que
conduzem sua aceitao em M. Tal fato implica a existncia de uma outra
seqncia de derivaes que capaz de gerar essa cadeia em G, como pode ser
percebido abaixo:

(q
0
, abbbc) (q
1
, bbbc) (q
1
, bbc) (q
1
, bc) (q
1
, c) (q
2
, c) (q
2
, )

q
0
aq
1
abq
1
abbq
1
abbbq
1
abbbq
2
abbbcq
2
abbbc
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 235 / 392
Conjuntos Regulares e Autmatos Finitos
Equivalncia
Figura 26: Equivalncia dos formalismos parte 3
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 236 / 392
Conjuntos Regulares e Autmatos Finitos
Expresso regular autmato nito
Teorema 6.1 Seja r uma expresso regular sobre o alfabeto . Ento
existe um autmato nito M que aceita a linguagem denida por r.
O autmato nito no-determinstico que aceita a linguagem denida
por r pode ser obtido atravs da aplicao do Algoritmo 6.1, que
especica as regras de mapeamento parciais que abrangem casos
triviais de sentenas (itens 1, 2 e 3) e cada um dos operadores de
unio (4), concatenao (5) e fechamento (6), conforme a prpria
denio das expresses regulares.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 237 / 392
Conjuntos Regulares e Autmatos Finitos
Expresso regular autmato nito
Algoritmo 6.1 Obteno de um autmato nito a partir de uma expresso
regular.

Entrada: uma expresso regular r sobre um alfabeto ;

Sada: um autmato nito M tal que L(M) = r;

Mtodo:
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 238 / 392
Conjuntos Regulares e Autmatos Finitos
Expresso regular autmato nito
r =
r aceita por M representado na Figura 27.

Figura 27: Autmato M que aceita


Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 239 / 392
Conjuntos Regulares e Autmatos Finitos
Expresso regular autmato nito
r = / 0
r aceita por M representado na Figura 28.
Figura 28: Autmato M que aceita / 0
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 240 / 392
Conjuntos Regulares e Autmatos Finitos
Expresso regular autmato nito
r =,
r aceita por M representado na Figura 29.

Figura 29: Autmato M que aceita


Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 241 / 392
Conjuntos Regulares e Autmatos Finitos
Expresso regular autmato nito
r = r
1
[ r
2
r aceita por M representado na Figura 30.
q
01

q
F1
q
02
q
F2

M
1
M
2
Figura 30: Autmato M que aceita r
1
[ r
2
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 242 / 392
Conjuntos Regulares e Autmatos Finitos
Expresso regular autmato nito
r = r
1
r
2
r aceita por M representado na Figura 31.
q
01
q
F1
q
02
q
F2

M
1
M
2
Figura 31: Autmato M que aceita r
1
r
2
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 243 / 392
Conjuntos Regulares e Autmatos Finitos
Expresso regular autmato nito
r = r

1
r aceita por M representado na Figura 32.
q
01
q
F1

M
1
Figura 32: Autmato M que aceita r

1
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 244 / 392
Conjuntos Regulares e Autmatos Finitos
Exemplo
Exemplo 6.1
Considere-se a expresso regular ab

[ c. possvel identicar, nessa expresso, as


seguintes linguagens triviais: L
1
= a, L
2
= b, L
3
= c. Portanto, L
1
= L
1
(M
1
), com M
1
representado na Figura 33.
q
11
q
10
a
Figura 33: Autmato que aceita a
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 245 / 392
Conjuntos Regulares e Autmatos Finitos
Exemplo
L
2
= L
2
(M
2
), com M
2
representado na Figura 34.
q
21
q
20
b
Figura 34: Autmato que aceita b
L
3
= L
3
(M
3
), com M
3
representado na Figura 35.
q
31
q
30
c
Figura 35: Autmato que aceita c
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 246 / 392
Conjuntos Regulares e Autmatos Finitos
Exemplo
Seja L
4
= b

= L

2
. Ento, L
4
= L
4
(M
4
), com M
4
representado na Figura 36.
q
42
q
40
q
41
q
20
q
21

q
43

b
Figura 36: Autmato que aceita b

Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 247 / 392


Conjuntos Regulares e Autmatos Finitos
Exemplo
L
5
= ab

= L
1
L
4
. Ento, L
5
= L
5
(M
5
), com M
5
representado na Figura 37.
q
42
q
40
q
41
q
20
q
21

q
43

b
q
51 q
11
q
10
a


Figura 37: Autmato que aceita ab

Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 248 / 392


Conjuntos Regulares e Autmatos Finitos
Exemplo
Finalmente, L
6
= ab

[ c = L
5
L
3
= L
6
(M
6
), com M
6
representado na Figura 38.
q
42
q
40
q
41
q
20
q
21

q
43

b
q
51
q
11
q
10
a

q
60

q
30
q
31
c

q
61

Figura 38: Autmato que aceita ab

[ c
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 249 / 392
Conjuntos Regulares e Autmatos Finitos
Exemplo
q
1
q
0
q
2
a
c
b
Figura 39: Outro autmato que aceita ab

[ c
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 250 / 392
Conjuntos Regulares e Autmatos Finitos
Grafo de expresses
Um grafo de expresses uma mquina de estados na qual as
transies entre os estados so rotuladas por expresses regulares
construdas sobre um mesmo alfabeto . Formalmente:
N = (Q, ,
/
, q
0
, F)
em que:

Q, , q
0
e F so denidos como no caso dos autmatos nitos;


/
: QER

2
Q
, onde ER

representa o conjunto de todas as


expresses regulares que podem ser denidas sobre o alfabeto .
Note-se que todo autmato nito , por denio, um caso particular
de um grafo de expresses em que as expresses regulares entre os
estados so reduzidas aos casos elementares , e / 0.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 251 / 392
Conjuntos Regulares e Autmatos Finitos
Grafo de expresses
De forma similar ao caso do autmato nito, dene-se a linguagem
aceita por um grafo de expresses como sendo aquela que gerada
pela unio de todas as expresses regulares que podem ser obtidas
pela concatenao das expresses regulares que rotulam algum
caminho entre o estado inicial e algum estado nal do grafo.
A obteno sistemtica de uma expresso regular que gera linguagem
aceita por um autmato nito pode ser feita atravs de um mtodo que
elimina, um a um, todos os estados do autmato que no sejam o
inicial ou o nal. Como decorrncia da eliminao desses estados, as
transies originais so substitudas por expresses regulares que
preservam a linguagem aceita pelo dispositivo, e o correspondente
autmato torna-se, nalmente, um grafo de expresses com apenas
dois estados.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 252 / 392
Conjuntos Regulares e Autmatos Finitos
Autmato nito expresso regular
Teorema 6.2 Seja M um autmato nito. Ento existe uma
expresso regular r que gera a linguagem aceita por M.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 253 / 392
Conjuntos Regulares e Autmatos Finitos
Autmato nito expresso regular
p
1
p
m
x
q
1
q
n
r
1
r
k
epx
1
epx
m
exq
1
exq
n
erx
1
exr
1
erx
k
exr
k
exx
Figura 40: Contextualizao de um x estado a ser eliminado
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 254 / 392
Conjuntos Regulares e Autmatos Finitos
Autmato nito expresso regular
Considera-se, genericamente, que o estado x possui m estados que
so apenas predecessores (identicados por p
1
at p
m
), n estados que
so apenas sucessores (q
1
at q
n
) e k estados que so
simultaneamente predecessores e sucessores. O estado x possui,
portanto:

m+k estados predecessores;

n+k estados sucessores.


Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 255 / 392
Conjuntos Regulares e Autmatos Finitos
Autmato nito expresso regular
Algoritmo 6.2 Obteno de uma expresso regular a partir de um autmato
nito.

Entrada: um autmato nito M = (Q, , , q


0
, F);

Sada: uma expresso regular r tal que r = L(M);

Mtodo:
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 256 / 392
Conjuntos Regulares e Autmatos Finitos
Autmato nito expresso regular
1
Se [F[ > 1, obter M
/
= (Q
/
, ,
/
, q
0
, F
/
) tal que L(M
/
) = L(M) e
[F
/
[ = 1:
1
Q
/
Qq
F
;
2

/
(q
i
, ) q
F
) [ q
i
F;
3
F
/
q
F
;
Caso contrrio, renomear o estado nal como q
F
e considerar M
/
= M.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 257 / 392
Conjuntos Regulares e Autmatos Finitos
Autmato nito expresso regular
Para cada um dos estados x (Q
/
q
0
, q
F
), fazer:
1
Identicar os estados predecessores e sucessores associados ao estado x,
bem como as respectivas transies associadas, da forma como foi
apresentado anteriormente, na Figura 40.
2
Para 1 i m, fazer:
1
Para 1 j n, fazer
/

/
(p
i
, epx
i
exx

exq
j
) q
j
;
2
Para 1 j k, fazer
/

/
(p
i
, epx
i
exx

exr
j
) r
j
;
3
Para 1 i k, fazer:
1
Para 1 j n, fazer
/

/
(r
i
, erx
i
exx

exq
j
) q
j
;
2
Para 1 j k, fazer
/

/
(r
i
, erx
i
exx

exr
j
) r
j
;
4
q Q
/
e r conjunto das expresses regulares sobre :
1

/

/
(q, r) x;
2

/

/
(x, r) q;
3
Q
/
Q
/
x.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 258 / 392
Conjuntos Regulares e Autmatos Finitos
Autmato nito expresso regular
O processo de eliminao de estados prossegue at que todos os
estados, exceto o inicial (q
0
) e o nal (q
F
), tenham sido eliminados.
Nessas condies, o autmato resultante ter apenas dois estados e
no mximo quatro transies, conforme a gura 41.
q
0
q
F
y
w
x z
Figura 41: Autmato com dois estados que aceita a linguagem x

yz

(wx

yz

Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 259 / 392


Conjuntos Regulares e Autmatos Finitos
Exemplo
Exemplo 6.2
O autmato da Figura 42 reconhece a linguagem:
L =w a, b, c

[ w no contm a subcadeia abc


q
0
q
2
q
1
a
b
c
a
b
b, c
a
Figura 42: Autmato com mltiplos estados nais
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 260 / 392
Conjuntos Regulares e Autmatos Finitos
Exemplo
A construo de uma expresso regular que gera a linguagem aceita por M inicia-se
com a obteno de um autmato equivalente, com um nico estado nal, conforme o
Algoritmo 6.2. O resultado apresentado na Figura 43.
q
0
q
2
q
1
a
b
c
a
b
b, c
a
q
3

Figura 43: Autmato equivalente com um nico estado nal


Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 261 / 392
Conjuntos Regulares e Autmatos Finitos
Exemplo
A eliminao do estado q
2
resulta no grafo de expresses da Figura 44.
q
0
q
1
a
c, bb
b, c
a, ba
q
3

, b
Figura 44: Grafo de expresses equivalente, aps a eliminao do estado q
2
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 262 / 392
Conjuntos Regulares e Autmatos Finitos
Exemplo
A eliminao do estado q
1
resulta no grafo de expresses da Figura 45.
q
0
x = b, c, a(a [ ba)

(c [ bb)
q
3
y =, a(a [ ba)

( [ b)
Figura 45: Grafo de expresses equivalente, aps a eliminao dos estados
q
2
e q
1
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 263 / 392
Conjuntos Regulares e Autmatos Finitos
Exemplo
A anlise da Figura 45 permite, nalmente, inferir a expresso regular que representa
a linguagem aceita pelo autmato da Figura 42:
( b [ c [ a(a [ ba)

(c [ bb)

Referente transio (q
0
,x)=q
0
)

( [ a(a [ ba)

( [ b)

Referente transio (q
0
,y)=q
3
)
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 264 / 392
Conjuntos Regulares e Autmatos Finitos
Exemplo
As Figuras 46 e 47 representam, respectivamente, os grafos de expresso
intermedirios correspondentes caso a ordem de eliminao dos estados seja invertida
(isto , primeiro o estado q
1
e depois o estado q
2
).
q
0
q
2
b [ aa

c
b [ c [ aa

c
q
3
[ aa

[ aa

aa

b
aa

b
Figura 46: Grafo de expresses equivalente, aps a eliminao do estado q
1
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 265 / 392
Conjuntos Regulares e Autmatos Finitos
Exemplo
q
0
x = b [ c [ aa

c [ aa

b(aa

b)

(b [ aa

c)
q
3
y = [ aa

[ aa

b(aa

b)

( [ aa

)
Figura 47: Grafo de expresses equivalente, aps a eliminao dos estados
q
1
e q
2
O resultado obtido uma expresso regular equivalente porm diferente da anterior:
(b [ c [ aa

c [ aa

b(aa

b)

(b [ aa

c)

Referente transio (q
0
,x)=q
0
)

( [ aa

[ aa

b(aa

b)

( [ aa

)

Referente transio (q
0
,y)=q
3
)
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 266 / 392
Conjuntos Regulares e Autmatos Finitos
Exemplo
Expresso
regular
(6.1)

(6.2)
Autmato nito
determinstico

(3.1)
Autmato
nito

(3.2)
Autmato sem
transies em
vazio
(5.2)

(5.1)
Gramtica
linear direita

(1.1)
Gramtica
linear esquerda
(4.2)

(4.1)
Conjunto
regular
Figura 48: Viso geral da equivalncia dos formalismos e respectivos
teoremas
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 267 / 392
Minimizao de Autmatos Finitos
Fatos

Cada conjunto regular reconhecido por um autmato nito


mnimo e nico;

O termo mnimo empregado para designar um autmato nito


que tenha o nmero mnimo possvel de estados;

Esse resultado vlido apenas para a classe das linguagens


denidas por autmatos nitos;

Importncia prtica;

Existe um algoritmo que capaz de transformar qualquer


autmato nito em uma verso equivalente mnima;

O autmato nito mnimo nico para cada linguagem regular.


Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 268 / 392
Minimizao de Autmatos Finitos
Estados equivalentes
Dois estados A e B de um autmato nito so ditos equivalentes se o
conjunto de cadeias aceitas em cada um deles for o mesmo.
Considere-se a linguagem aceita a partir de um estado X como
sendo denida da seguinte forma:
L(X) =w

[ (X, w)

(, q
F
), q
F
F
Logo, fcil perceber que A B se e somente se L(A) = L(B). Esse
resultado pode simplicar a vericao da equivalncia de estados
para os quais a determinao da linguagem aceita em cada um deles
seja uma tarefa simples de ser feita (por inspeo visual ou pela
aplicao de um mtodo qualquer).
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 269 / 392
Minimizao de Autmatos Finitos
...
Exemplo 7.1
Considere-se o autmato da Figura 49.
q
1
q
3
q
2
q
4
b
b
q
0
a
b
c
c
a
a
Figura 49: Autmato original do Exemplo 7.1
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 270 / 392
Minimizao de Autmatos Finitos
Exemplo
Uma rpida inspeo visual permite concluir que:

L(q
0
) = (a [ b)c

(a [ b)

L(q
1
) = c

(a [ b)

L(q
2
) = c

(a [ b)

L(q
3
) =

L(q
4
) =
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 271 / 392
Minimizao de Autmatos Finitos
Exemplo
Portanto, como L(q
1
) = L(q
2
) e L(q
3
) = L(q
4
), ento q
1
q
2
e q
3
q
4
, e a verso
mnima corresponde apresentada na Figura 50.
q
1
q
3
a, b
q
0
a, b
c
Figura 50: Autmato mnimo equivalente ao da Figura 49
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 272 / 392
Minimizao de Autmatos Finitos
Mtodo
O mtodo apresentado a seguir parte da hiptese de que o autmato
a ser minimizado determinstico e portanto, obviamente, isento de
transies em vazio. Dado um autmato nito qualquer, a aplicao
dos algoritmos apresentados anteriormente permite a sua
transformao em autmatos equivalentes sem transies em vazio
ou qualquer outro tipo de no-determinismo. A minimizao do
nmero de estados de um autmato nito feita em duas etapas:
1
Eliminao de estados inacessveis e inteis;
2
Agrupamento e fuso de estados equivalentes.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 273 / 392
Minimizao de Autmatos Finitos
Mtodo
O presente mtodo opera em dois passos. No primeiro, eliminam-se
do autmato as transies em vazio, os no-determinismos e os
estados inacessveis. No segundo, criam-se classes de equivalncia
com base no critrio da coincidncia do conjunto de entradas aceitas
pelos possveis pares de estados considerados.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 274 / 392
Minimizao de Autmatos Finitos
Mtodo
O mtodo descrito pode ser enunciado na forma do Algoritmo 7.1,
uma alternativa simples e prtica para a minimizao de autmatos
nitos. Como o algoritmo baseado na anlise exaustiva de todos os
possveis pares de estados de um autmato M, torna-se conveniente
representar tais pares na forma de uma matriz, considerada apenas
da diagonal principal (inclusive) para cima, uma vez que, para efeito
de anlise da equivalncia de estados, o par (q
i
, q
j
) e o par (q
j
, q
i
),
com i ,= j, so idnticos.
Seja, portanto, M um autmato nito com n+1 estados. A Tabela 40
mostra uma forma de representar todos os possveis pares de estados
de M, sem repetio de pares e sem repetio de estados dentro de
um mesmo par.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 275 / 392
Minimizao de Autmatos Finitos
Representao
Tabela 40: Representao dos pares de estados de um autmato M com
n +1 estados
q
1
q
2
... q
n1
q
n
q
0
(q
0
, q
1
) (q
0
, q
2
) ... (q
0
, q
n1
) (q
0
, q
n
)
q
1
(q
1
, q
2
) ... (q
1
, q
n1
) (q
1
, q
n
)
... ... ...
q
n2
(q
n2
, q
n1
) (q
n2
, q
n
)
q
n1
(q
n1
, q
n
)
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 276 / 392
Minimizao de Autmatos Finitos
Notao
A notao (q
i
, q
j
)

(q
m
, q
n
) usada para indicar que as duas
seguintes condies so simultaneamente vericadas por M:
1
(q
i
, ) = q
m
, e
2
(q
j
, ) = q
n
.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 277 / 392
Minimizao de Autmatos Finitos
Algoritmo
Algoritmo 7.1 Mtodo prtico para a minimizao do nmero de estados de
um autmato nito.

Entrada: Um autmato nito determinstico M, com funo de transio


total, isento de estados inacessveis e cujos pares de estados esto
representados conforme a Tabela 40.

Sada: Uma partio do conjunto de estados Q de M, correspondente s


maiores classes de equivalncia encontradas em M;
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 278 / 392
Minimizao de Autmatos Finitos
Algoritmo

Marcar, na tabela, todos os pares do tipo (q


a
, q
b
), q
a
F, q
b
(QF)
como no-equivalentes (,);

Para cada um dos pares de estados restantes (q


a
, q
b
) (escolhidos
arbitrariamente), fazer:

Se para toda entrada aceita por q


a
e q
b
:

Se (q
a
, ) =(q
b
, ), ou

Se (q
a
, ) ,=(q
b
, ), mas (q
a
, ) e (q
b
, ) forem equivalentes.
Ento marcar o par (q
a
, q
b
), na tabela, como equivalente (); caso
contrrio, marcar o par como no-equivalente (,); em seguida,
deve-se vericar se existem pares cuja relao de equivalncia esteja na
dependncia do resultado obtido e, em caso armativo, marcar os
respectivos pares na tabela de forma correspondente;
Caso no seja possvel concluir pela equivalncia (ou no) de um par de
estados, prosseguir com a anlise de outros pares, deixando o par corrente
na dependncia dos resultados que forem obtidos para os demais pares;
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 279 / 392
Minimizao de Autmatos Finitos
Algoritmo

Marcar os pares restantes, se houver, como equivalentes ();

A inspeo dos pares marcados indica as classes de equivalncia


obtidas.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 280 / 392
Minimizao de Autmatos Finitos
Exemplo
Exemplo 7.2
Considere-se o autmato nito determinstico com a funo de transio total da
Tabela 41.
Tabela 41: Autmato original do Exemplo 7.2
a b
q
0
q
1
q
6
q
1
q
2
q
3
q
2
q
2
q
3
q
3
q
4
q
2
q
4
q
2
q
3
q
5
q
4
q
5
q
6
q
4
q
4
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 281 / 392
Minimizao de Autmatos Finitos
Exemplo
A Tabela 42 representa todos os possveis pares de estados desse autmato, e tambm
indica a partio inicial de seu conjunto de estados (nais x no-nais).
Tabela 42: Partio inicial dos estados do autmato da Tabela 41
q
1
q
2
q
3
q
4
q
5
q
6
q
0
, , ,
q
1
- , , ,
q
2
- - , ,
q
3
- - - , ,
q
4
- - - - ,
q
5
- - - - - ,
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 282 / 392
Minimizao de Autmatos Finitos
Exemplo
Passa-se, ento, a considerar cada um dos pares no marcados dessa tabela
(escolhidos arbitrariamente).

(q
0
, q
1
)
a
(q
1
, q
2
) ,
Como q
1
e q
2
no so equivalentes (ver Tabela 42), marca-se o par (q
0
, q
1
)
como , e torna-se desnecessria a anlise das transies desses estados com
a entrada b.

(q
0
, q
3
)
a
(q
1
, q
4
) ,
Similar ao item acima. O par (q
0
, q
3
) marcado como ,.

(q
1
, q
3
)
a
(q
2
, q
4
) ?
(q
1
, q
3
)
b
(q
3
, q
2
) ,
Apesar de ainda no se dispor de nenhuma informao sobre o par (q
2
, q
4
), o
par (q
3
, q
2
) j foi determinado como sendo no-equivalente (ver tabela 42).
Logo, marca-se o par (q
1
, q
3
) como ,.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 283 / 392
Minimizao de Autmatos Finitos
Exemplo

(q
0
, q
6
)
a
(q
1
, q
4
) ,
Como q
1
e q
4
no so equivalentes (ver tabela 42), marca-se o par (q
0
, q
6
) como
, e torna-se desnecessria a anlise das transies desses estados com a
entrada b.

(q
1
, q
6
)
a
(q
2
, q
4
) ?
(q
1
, q
6
)
b
(q
3
, q
4
) ,
Apesar de ainda no se dispor de nenhuma informao sobre o par (q
2
, q
4
), o
par (q
3
, q
4
) j foi determinado como sendo no-equivalente (ver tabela 42).
Logo, marca-se o par (q
1
, q
6
) como ,.

(q
3
, q
6
)
a
(q
4
, q
4
)
(q
3
, q
6
)
b
(q
2
, q
4
) ?
Neste caso, q
3
e q
6
transitam para o mesmo estado q
4
com a entrada a. Por outro
lado, ainda no se dispe de nenhuma informao sobre o par (q
2
, q
4
). Assim, a
equivalncia do par (q
3
, q
6
) ca condicionada vericao da equivalncia do
par (q
2
, q
4
). O par (q
3
, q
6
) no recebe nenhuma marcao neste momento.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 284 / 392
Minimizao de Autmatos Finitos
Exemplo

(q
2
, q
4
)
a
(q
2
, q
2
)
(q
2
, q
4
)
b
(q
3
, q
3
)
Os estados q
2
e q
4
transitam com as mesmas entradas para estados idnticos
(com a entrada a para q
2
e com a entrada b para q
3
). Logo, esses estados so
equivalentes e o par recebe a marcao na tabela. Alm disso, conclui-se
que o par (q
3
, q
6
) (ver item acima) equivalente, e o mesmo deve ser marcado
como .

(q
2
, q
5
)
a
(q
2
, q
4
)
(q
2
, q
5
)
b
(q
3
, q
5
) ,
Apesar de o par (q
2
, q
4
) ser equivalente (ver os dois itens anteriores), o par
(q
3
, q
5
) j foi determinado como sendo no-equivalente (ver Tabela 42). Logo,
marca-se o par (q
2
, q
5
) como ,.

(q
4
, q
5
)
a
(q
2
, q
4
)
(q
4
, q
5
)
b
(q
3
, q
5
) ,
Similar ao item acima. O par (q
4
, q
5
) marcado como ,.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 285 / 392
Minimizao de Autmatos Finitos
Exemplo
Ao trmino do algoritmo, a Tabela 43 resume o resultado da anlise.
Tabela 43: Resultado nal da anlise da equivalncia de estados para o
autmato da Tabela 41
q
1
q
2
q
3
q
4
q
5
q
6
q
0
, , , , , ,
q
1
- , , , , ,
q
2
- - , , ,
q
3
- - - , ,
q
4
- - - - , ,
q
5
- - - - - ,
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 286 / 392
Minimizao de Autmatos Finitos
Exemplo
As classes de equivalncia desse autmato so, portanto,
q
0
, q
1
, q
2
, q
4
, q
3
, q
6
e q
5
. O autmato resultante (ver Tabela 44) possui
cinco estados, denominados respectivamente [q
0
], [q
1
], [q
2
, q
4
], [q
3
, q
6
] e [q
5
], e
corresponde verso mnima do autmato da Tabela 41.
Tabela 44: Autmato mnimo equivalente ao da Tabela 41

/
a b
[q
0
] [q
1
] [q
3
, q
6
]
[q
1
] [q
2
, q
4
] [q
3
, q
6
]
[q
2
, q
4
] [q
2
, q
4
] [q
3
, q
6
]
[q
3
, q
6
] [q
2
, q
4
] [q
2
, q
4
]
[q
5
] [q
2
, q
4
] [q
5
]
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 287 / 392
Minimizao de Autmatos Finitos
Funo total
Note-se, no Algoritmo 7.1, a exigncia de que o autmato a ser
minimizado possua funo de transio total. Tal exigncia visa
unicamente a garantir que todos os pares de estados, quaisquer que
sejam os estados considerados, possam sempre ser comparados em
relao a todas as entradas.
No entanto, ao tornar total a funo de transio de algum autmato
cuja funo de transio seja parcial, isso normalmente implica a
incorporao de um estado intil ao autmato, o qual acaba sendo
agrupado com outros estados inteis eventualmente existentes no
autmato original e preservado na verso mnima correspondente.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 288 / 392
Minimizao de Autmatos Finitos
Funo total
Assim, o autmato mnimo obtido tal que a funo de transio
total e, alm disso, isento de estados equivalentes. Eventualmente,
a eliminao de estados inteis, em um autmato minimizado de
acordo com o Algoritmo 7.1, poder resultar em um autmato com um
nmero ainda menor de estados, porm cuja funo de transio seja
parcial. Isso no signica que o autmato inicialmente obtido no seja
o mnimo, mas apenas que ele o autmato mnimo com funo de
transio total e sem estados equivalentes.
A diferena, portanto, entre um autmato mnimo obtido pela
aplicao do Algoritmo 7.1 e um autmato mnimo equivalente, isento
de estados inteis, de no mximo um estado.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 289 / 392
Minimizao de Autmatos Finitos
Exerccio 1
Obter um autmato nito mnimo que seja equivalente ao autmato:
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 290 / 392
Minimizao de Autmatos Finitos
Exerccio 2
Obter um autmato nito mnimo que seja equivalente ao autmato:
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 291 / 392
Minimizao de Autmatos Finitos
Concluses
Dada uma linguagem regular L qualquer, ento:
1
Existe um autmato nito mnimo que aceita L. Em outras
palavras, no existe nenhum outro autmato, com um nmero
inferior de estados, que aceite L;
2
O autmato nito mnimo que aceita L nico. Isso signica que
no existem dois autmatos nitos com o mesmo nmero de
estados, porm com funes de transio distintas, que aceitam a
linguagem L.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 292 / 392
Minimizao de Autmatos Finitos
Concluses
A existncia e unicidade de um autmato nito mnimo para toda e
qualquer linguagem regular L permite, entre outros resultados,
estabelecer critrios para determinar se um conjunto de linguagens
regulares representa a mesma linguagem: basta obter as verses
mnimas dos autmatos nitos que reconhecem cada uma dessas
linguagens, e vericar se so todos iguais. Em caso armativo, as
linguagens so todas idnticas. Caso contrrio, no so todas
idnticas.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 293 / 392
Transdutores Finitos
Conceito

Extenses que associam, a cada sentena de entrada, uma


correspondente cadeia de sada sobre um segundo alfabeto,
eventualmente distinto do alfabeto de entrada;

A associao de smbolos de um alfabeto de sada com a


movimentao do autmato nito no reconhecimento de uma
sentena pode ser feita de duas formas distintas: a partir da
seqncia de estados percorridos ou das transies de que se
compe o autmato nito no qual se baseia o transdutor em
questo;

O primeiro caso caracteriza as denominadas Mquinas de Moore,


e o segundo as chamadas Mquinas de Mealy.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 294 / 392
Transdutores Finitos
Mquina de Moore
Formalizao
Um transdutor nito do tipo Mquina de Moore denido como
sendo uma stupla T
Moore
= (Q, , , , , q
0
, F) sobre um autmato
nito M = (Q, , , q
0
, F), em que o alfabeto de sada do
transdutor e : Q a funo de transduo de T.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 295 / 392
Transdutores Finitos
Mquina de Moore
Exemplo
Exemplo 8.1
Seja T um transdutor nito do tipo Mquina de Moore, com : Q

:
T = (Q, , , , , q
0
, F)
Q = q
0
, q
1

= a, b, c
= 1
= (q
0
, a) q
1
, (q
1
, b) q
1
, (q
1
, c) q
0

= q
0
1, q
1

F = q
1

Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 296 / 392


Transdutores Finitos
Mquina de Moore
Exemplo
O grafo correspondente a esse transdutor apresentado na Figura 51.
q
0
/1 q
1
/
a
b
c
Figura 51: Transdutor do tipo Mquina de Moore
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 297 / 392
Transdutores Finitos
Mquina de Moore
Exemplo
A linguagem aceita por esse transdutor ab

(cab

, ou seja, uma seqncia de uma


ou mais cadeias ab

separadas pelo smbolo c. A funo de transio , neste caso,


faz com que o transdutor emita o smbolo 1 toda vez que estiver iniciando o
reconhecimento de uma nova cadeia com o formato ab

. Assim, T funciona como um


contador do nmero de subcadeias ab

presentes na cadeia de entrada. Como


exemplo, a Tabela 45 apresenta um conjunto de cadeias que so respectivamente
aceitas e geradas por T.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 298 / 392
Transdutores Finitos
Mquina de Moore
Exemplo
Tabela 45: Sentenas aceitas e cadeias geradas pelo transdutor do tipo
Mquina de Moore T
Sentena aceita Cadeia Gerada
abbcabbbcab 111
abbbcab 11
acacaca 1111
a 1
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 299 / 392
Transdutores Finitos
Mquina de Mealy
Formalizao
Um transdutor nito do tipo Mquina de Mealy, por sua vez,
denido como sendo uma stupla T
Mealy
= (Q, , , , , q
0
, F) sobre um
autmato nito M = (Q, , , q
0
, F), em que o alfabeto de sada do
transdutor e : Q a funo de transduo de T.
No caso das Mquinas de Mealy, associam-se os smbolos do
alfabeto de sada s transies, e no aos estados, como ocorre com
as Mquinas de Moore (o domnio da funo se altera para Q).
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 300 / 392
Transdutores Finitos
Mquina de Mealy
Exemplo
Exemplo 8.2
Seja T um transdutor nito do tipo Mquina de Mealy:
T = (Q, , , , , q
0
, F)
Q = q
0
, q
1

= a, b, c
= a, b, c
= (q
0
, a) q
1
, (q
1
, b) q
1
, (q
1
, c) q
0

= (q
0
, a) ab, (q
1
, b) , (q
1
, c) c
F = q
1

Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 301 / 392


Transdutores Finitos
Mquina de Mealy
Exemplo
O grafo correspondente apresentado na Figura 52.
q
0
q
1
a/ab
b/
c/c
Figura 52: Transdutor do tipo Mquina de Mealy
Como se pode notar, o autmato nito que serve de base para esse transdutor o
mesmo do exemplo anterior. Assim, a linguagem aceita por ambos os transdutores a
mesma. A Tabela 46 apresenta alguns exemplos de cadeias respectivamente aceitas e
geradas por T.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 302 / 392
Transdutores Finitos
Mquina de Mealy
Exemplo
Tabela 46: Sentenas aceitas e cadeias geradas pelo transdutor do tipo
Mquina de Mealy T
Sentena aceita Cadeia Gerada
abbcabbbcab abcabcab
abbbcab abcab
acacaca abcabcabcab
a ab
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 303 / 392
Transdutores Finitos
Equivalncia
Apesar de se tratar de dois modelos distintos de transdutores nitos,
pode-se demonstrar a plena equivalncia de ambos: toda e qualquer
Mquina de Moore pode ser simulada por uma Mquina de Mealy e
vice-versa. Dessa maneira, portanto, a opo por um ou outro tipo de
mquina pode ser feita levando-se em conta exclusivamente a
convenincia de manipulao e a facilidade de representao obtidas
conforme o caso em questo.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 304 / 392
Transdutores Finitos
Equivalncia
Exemplo
Exemplo 8.3
Considere-se a linguagem L
1
= xx

(xx

, denida sobre o alfabeto x, .


Considere-se tambm a linguagem L
2
, denida sobre o alfabeto de sada x, y, #, de
tal forma que as cadeias de L
2
reproduzem na sada as cadeias de L
1
, com as
seguintes modicaes:

As subcadeias de entrada xx

que contiverem trs ou menos smbolos x devem


ser reproduzidas de forma idntica na sada (com um, dois ou trs smbolos x);

As subcadeias de entrada xx

que contiverem quatro ou mais smbolos x devem


ser reproduzidas na sada como xxxy;

Todos os smbolos - da cadeia entrada devem ser substitudos pelo smbolo


# na cadeia de sada.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 305 / 392
Transdutores Finitos
Equivalncia
Exemplo
A Tabela 47 apresenta exemplos de cadeias de entrada e correspondentes cadeias de
sada.
Tabela 47: Sentenas aceitas e cadeias geradas pelos transdutores do
Exemplo 8.3
Sentena aceita Cadeia Gerada
x x x#x
xxx xxxx xxx#xxxy
xxxxxx xxx xx xxxy#xxx#xx
x xx xxx xxxx xxxxx x#xx#xxx#xxxy#xxxy
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 306 / 392
Transdutores Finitos
Equivalncia
Exemplo
Os transdutores nitos das Figuras 53 e 54 respectivamente Mquina de Mealy e
Mquina de Moore so equivalentes, pois possuem autmatos subjacentes que
reconhecem a mesma linguagem L
1
(apesar de serem diferentes) e geram a mesma
linguagem L
2
, conforme as especicaes acima.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 307 / 392
Transdutores Finitos
Equivalncia
Exemplo
q
0
q
1
q
2
q
3
q
4
x/x x/x x/x x/y
x/
/#
/#
/#
/#
Figura 53: Transdutor do tipo Mquina de Mealy do Exemplo 8.3
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 308 / 392
Transdutores Finitos
Equivalncia
Exemplo
q
6
/#
q
2
/x q
3
/x q
4
/y q
5
/
x x x
x

q
1
/x
q
0
/
x
x
x
Figura 54: Transdutor do tipo Mquina de Moore equivalente ao transdutor
do tipo Mquina de Mealy da Figura 53
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 309 / 392
Transdutores Finitos
Linguagem de sada
Alm de denirem a linguagem de entrada associada ao autmato
nito subjacente, os transdutores, sejam eles de um tipo ou de outro,
denem uma segunda linguagem, denominada linguagem de sada,
denotada por L(T), correspondente ao conjunto das sentenas sobre
que so geradas quando do reconhecimento de sentenas
pertencentes a L(M), onde M o autmato nito em que o transdutor
baseado. Demonstra-se que a classe de linguagens que pode ser
gerada por um transdutor nito corresponde exatamente classe de
linguagens que pode ser reconhecida pelo autmato nito em que ele
se baseia: a classe das linguagens regulares.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 310 / 392
Transdutores Finitos
Exerccio
Considere a linguagem (x [ X [ .)
+
, denida sobre o alfabeto
x, X, ., . Alguns exemplos de sentenas pertencentes a essa
linguagem so:

X...

..x ..

..xXX.XxxXx

xXxx .xx ..x .xXX...


Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 311 / 392
Transdutores Finitos
Exerccio
Essa linguagem representa frases em que as palavras so elementos
de (x [ X)
+
, letras minsculas e maisculas so representadas,
respectivamente, pelos smbolos x e X, cada espao em branco,
usado para separar as palavras, representado pelo smbolo ., e o
ponto, ao nal da frase, representado pelo smbolo . Pede-se para
construir uma seqncia de transdutores (Mealy ou Moore) que, alm
de aceitarem essa linguagem de entrada, incorporem, cada qual, uma
das transdues a seguir especicadas, de forma cumulativa.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 312 / 392
Transdutores Finitos
Exerccio
1. Remoo do excesso de brancos entre palavras consecutivas,
preservando um nico espao entre elas (exemplo:
x ...xxx x .xxx);
2. Remoo de todos os brancos no incio da frase, antes da
primeira palavra (exemplo: ...xxx xxx);
3. Remoo de todos os brancos no nal da frase, depois da ltima
palavra e antes do ponto nal (exemplo: x .xxxx .. x .xxx);
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 313 / 392
Transdutores Finitos
Exerccio
4. Substituio da primeira letra da primeira palavra da frase por
uma letra maiscula, convertendo todas as demais para
minscula (exemplo: xXX.XxXx Xxx .xxxx);
5. Reconhecimento e transduo de uma seqncia de frases, ou
seja, da linguagem ((x [ X [ .)
+
)
+
, garantindo a existncia de
exatamente um espao em branco entre duas frases
consecutivas, logo depois do ponto ao nal da primeira e
imediatamente antes da primeira palavra da frase seguinte
(exemplo: Xx .xx Xxx .x Xx .xx .Xxx .x);
6. Remoo de frases vazias, ou seja, constitudas apenas por um
espao em branco e um ponto nal (exemplo:
X . .Xx .x X .Xx .x).
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 314 / 392
Linguagens que no so Regulares
Pumping Lemma
O Pumping Lemma estabelece uma propriedade que sempre
verdadeira para toda e qualquer linguagem regular innita. Caso a
linguagem considerada no exiba tal propriedade, pode-se concluir
imediatamente que a mesma no regular.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 315 / 392
Linguagens que no so Regulares
Pumping Lemma
Teorema 9.1 Seja L um conjunto regular innito. Ento existe uma
constante n, dependente apenas de L, tal que, para quaisquer
sentenas w L, com [w[ n, w pode ser subdividida em trs
subcadeias x, y e z, de tal forma que w = xyz, 1 [y[, [xy[ n, ou seja,
1 [y[ n, e, alm disso, xy
i
z L, i 0.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 316 / 392
Linguagens que no so Regulares
Pumping Lemma
O reconhecimento de qualquer cadeia x L, com [x[ n, sendo L
aceita por um autmato nito M com n estados, ocorre percorrendo-se
pelo menos dois estados idnticos entre as n+1 conguraes
assumidas por M durante o reconhecimento dos primeiros n smbolos
de x.
Seja w = a
1
a
2
...a
m
, [w[ = m, m n. A seqncia abaixo ilustra a
evoluo da congurao do autmato M no reconhecimento de w:
q
0
a
1
q
1
a
2
q
2
a
3
q
3
...
a
n1
q
n1
a
n
q
n
a
n+1
q
n+1
...
a
m1
q
m1
a
m
q
m
onde q
0
...q
m
so os estados sucessivamente percorridos por M (no
necessariamente distintos entre si).
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 317 / 392
Linguagens que no so Regulares
Pumping Lemma
Considerando-se os n+1 estados inicialmente percorridos por
M (q
0
, q
1
...q
n
), fato que pelo menos dois desses estados devem ser
idnticos. Existem ento duas possibilidades extremas a serem
consideradas, no que diz respeito localizao desses estados
idnticos na seqncia:
1
A distncia entre eles a menor possvel:
(q
i
, a
k
...a
m
) (q
j
, a
k+1
...a
m
), q
i
= q
j
, j n;
2
A distncia entre eles a maior possvel:
(q
0
, a
1
...a
m
)

(q
n
, a
n+1
...a
m
), q
0
= q
n
.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 318 / 392
Linguagens que no so Regulares
Pumping Lemma
Reescrevendo-se w como xyz, em que x corresponde parte da
cadeia de entrada que leva M primeira ocorrncia de um estado
repetido na seqncia, e y corresponde parte da cadeia que leva M
sua segunda ocorrncia, tem-se que:

[y[ 1;

[xy[ n;

Portanto, 1 [y[ n, pois [y[ [xy[.


Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 319 / 392
Linguagens que no so Regulares
Pumping Lemma
Como se pode perceber, o fato de a subcadeia y levar o autmato de
um estado q
i
, anterior ao seu reconhecimento, para o mesmo estado
q
j
= q
i
, posterior ao seu reconhecimento, caracteriza como um ciclo o
caminho percorrido pelos estados de M, com os smbolos de y. Pelo
fato de se tratar de um ciclo, repeties arbitrrias do mesmo
conduzem ao reconhecimento de sentenas tambm pertencentes
linguagem denida pelo autmato. Dessa forma, todas as sentenas
do tipo xy
i
z, com i 0, pertencem necessariamente a L(M).
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 320 / 392
Linguagens que no so Regulares
A constante n
O Pumping Lemma das linguagens regulares estabelece a
propriedade de que, dada uma sentena de comprimento mnimo n
pertencente a esta linguagem, sempre possvel identicar, na
subcadeia formada pelos seus n primeiros smbolos, uma nova
subcadeia cujo comprimento est entre 1 e n, de tal modo que
repeties arbitrrias da mesma geram sentenas que tambm
pertencem linguagem denida.
Assim, a constante n corresponde ao nmero de estados do autmato
nito utilizado para denir a linguagem regular. No entanto, como
sabido, uma mesma linguagem regular pode ser denida por
autmatos nitos distintos, os quais podem possuir, eventualmente,
um nmero de estados tambm distintos.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 321 / 392
Linguagens que no so Regulares
A constante n
Por outro lado, natural que se questione a existncia de um valor
para a constante n que independa do autmato analisado, e que
possa, portanto, ser considerado como inerente linguagem.
Considerando-se a existncia de um autmato nito mnimo que
reconhece uma dada linguagem regular L, natural que se considere
o nmero de estados do correspondente autmato nito como o valor
n inerente linguagem L.
Observe-se que, embora o teorema prove a existncia da constante n,
a sua aplicao em casos prticos no exige que se determine o valor
dessa constante.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 322 / 392
Linguagens que no so Regulares
Exemplo
Exemplo 9.1
Considere-se um autmato nito M com cinco estados distintos, e suponha-se que M
efetue a anlise de uma cadeia p L(M), [p[ = 5. Claramente, M dever percorrer
seis estados durante o reconhecimento da cadeia. No obstante, como M apresenta
apenas cinco estados distintos, evidente que pelo menos dois (eventualmente mais)
dos estados assumidos por M durante o reconhecimento de p so idnticos.
Considere-se agora uma cadeia q L(M), [q[ = 20. Da mesma forma, analisando-se
os seis primeiros estados percorridos por M, constata-se que obrigatoriamente haver
pelo menos dois estados repetidos entre eles, correspondentes ao reconhecimento dos
cinco primeiros smbolos de q.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 323 / 392
Linguagens que no so Regulares
Exemplo
Exemplo 9.2
Seja M = (q
0
, q
1
, a, b, , q
0
, F) um autmato nito sem transies em vazio. Se
ab L(M), ento a seqncia de conguraes assumidas por M durante a anlise
dessa cadeia deve, necessariamente, corresponder a alguma das seguintes
possibilidades:
1
(q
0
, ab) (q
0
, b) (q
0
, )
2
(q
0
, ab) (q
0
, b) (q
1
, )
3
(q
0
, ab) (q
1
, b) (q
0
, )
4
(q
0
, ab) (q
1
, b) (q
1
, )
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 324 / 392
Linguagens que no so Regulares
Exemplo
Considerando-se os demais elementos de M desconhecidos, pode-se apenas especular
sobre a real seqncia que corresponde aceitao da cadeia ab por M. De qualquer
forma, as seguintes concluses so vlidas:
1
Se (q
0
, ab) (q
0
, b) (q
0
, ), ento as trs possibilidades seguintes so
verdadeiras:
1
x =, y = ab, z =;
2
x = a, y = b, z =;
3
x =, y = a, z = b.
2
Se (q
0
, ab) (q
0
, b) (q
1
, ), ento:
1
x =, y = a, z = b.
3
(q
0
, ab) (q
1
, b) (q
0
, )
1
x =, y = ab, z =.
4
(q
0
, ab) (q
1
, b) (q
1
, )
1
x = a, y = b, z =.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 325 / 392
Linguagens que no so Regulares
Exemplo
Portanto, qualquer que seja o caso, sempre possvel identicar, na cadeia ab, cujo
comprimento coincide com o nmero de estados do autmato que a aceita, uma
subcadeia y, de comprimento maior ou igual a 1 e menor ou igual a 2, que provoca
um ciclo na seqncia de movimentaes executada pelo autmato.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 326 / 392
Linguagens que no so Regulares
Exemplo
Exemplo 9.3
Considere-se o autmato da Figura 55.
q
0
q
1
q
2
a c
b
Figura 55: Aplicao do Pumping Lemma ao autmato nito que aceita
ab

c
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 327 / 392
Linguagens que no so Regulares
Exemplo
A aplicao das propriedades enunciadas atravs do Pumping Lemma a este
autmato podem ser vericadas atravs do uso de cadeias de comprimento maior ou
igual a 3, uma vez que ele possui trs estados:

Considere-se a cadeia w = abc, [w[ = 3. Ento, w pode ser reescrito como


xyz, [xy[ 3, 1 [y[ 3 e, nalmente, xy
i
z L, i 0. Nesse caso, deve-se
escolher x = a, y = b, z = c. Assim, xz = ac, xyyz = abbc, xyyyz = abbbc etc. so
todas cadeias que pertencem a L.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 328 / 392
Linguagens que no so Regulares
Exemplo

Considere-se a cadeia w = abbbc, [w[ = 5. Ento, w pode ser reescrito como


xyz, [xy[ 3, 1 [y[ 3 e, nalmente, xy
i
z L, i 0. Nesse caso podem-se
fazer trs escolhas distintas de subdiviso da cadeia w, todas em conformidade
com os critrios do Pumping Lemma:

x = a, y = b, z = bbc. As cadeias (a)(b)

(bbc) esto contidas em L.

x = a, y = bb, z = bc. As cadeias (a)(bb)

(bc) esto contidas em L.

x = ab, y = b, z = bc. As cadeias (ab)(b)

(bc) esto contidas em L.


Nem todas as subdivises de uma cadeia w geram cadeias que produzem
cadeias que pertencem linguagem. Note-se, em particular, no exemplo acima,
que seria possvel relacionar, entre as subdivises possveis da cadeia de
comprimento 5, as seguintes alternativas:
i) x =, y = a, z = bbbc;
ii) x =, y = ab, z = bbc;
iii) x =, y = abb, z = bc.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 329 / 392
Linguagens que no so Regulares
Exemplo
Em todos esses casos, xy
i
z gera cadeias que no pertencem a L. Qualquer que seja a
cadeia escolhida, o Pumping Lemma garante apenas que, se ela possuir
comprimento mnimo, ento ao menos uma subdiviso xyz da mesma ser possvel de
ser feita, de modo que todas as cadeias xy
i
z tambm pertenam linguagem.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 330 / 392
Linguagens que no so Regulares
Aplicaes do Pumping Lemma
A principal aplicao do Pumping Lemma consiste na demonstrao
da existncia de linguagens no-regulares. Outras aplicaes
importantes podem ser encontradas na demonstrao de certas
questes decidveis da classe das linguagens regulares.
A demonstrao de que uma dada linguagem no regular pode ser
feita por contradio, da seguinte forma:
1
Admite-se inicialmente, por hiptese, que a linguagem sob
anlise seja regular;
2
Atravs de manipulaes, demonstra-se que a linguagem no
exibe as propriedades descritas pelo Pumping Lemma;
3
Conclui-se, por contradio, que a hiptese no verdadeira, e
portanto que a linguagem no regular.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 331 / 392
Linguagens que no so Regulares
Exemplo
Exemplo 9.4
Seja L =a
k
b
k
[ k 0. Supondo que L seja uma linguagem regular, tome-se a
sentena a
n
b
n
, onde n a constante denida pelo Pumping Lemma. Essa sentena
pertence a L e possui comprimento 2n, portanto maior ou igual a n. De acordo com o
Lemma, essa sentena pode ser decomposta em trs subcadeias x, y e z, tais que
xyz = a
n
b
n
, [xy[ n, [y[ 1.
Logo, y = a
i
, 1 i n, e xyz pode ser reescrito como a
ni
a
i
b
n
. No entanto, nenhuma
das seguintes cadeias pertence a L:
1
xy
0
z = a
ni
b
n
2
xyyz = a
ni
a
i
a
i
b
n
= a
n+i
b
n
uma vez que as ocorrncias do smbolo a esto desbalanceadas em relao s
ocorrncias dos smbolos b. Logo, L no regular.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 332 / 392
Linguagens que no so Regulares
Exemplo
Exemplo 9.5
Seja L =0
k
10
k
[ k 1 e considere-se uma sentena w de comprimento
sucientemente longo pertencente a esta linguagem, w = 0...010...0. Admitindo-se
que seja possvel escrever w como xyz, tem-se que 1 y n, onde n a constante de
L, e y pode assumir uma das cinco formas seguintes:
1
y = 1
2
y 0
+
3
y 0
+
1
4
y 10
+
5
y 0
+
10
+
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 333 / 392
Linguagens que no so Regulares
Exemplo
Como fcil perceber, se y = 1, ento xy
0
z / L, pois faltar o smbolo 1,
obrigatrio em todas as sentenas de L.
Se y 0
+
, ento xyyz / L, pois haver quantidades diferentes do smbolo 0 antes e
aps o smbolo 1 na sentena.
Se y 0
+
1, y 10
+
ou, ainda, y 0
+
10
+
, ento xyyz / L, uma vez que xyyz ter
mais que um nico smbolo 1. Fica assim demonstrado, por contradio, que L no
uma linguagem regular, visto que no atende ao Pumping Lemma.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 334 / 392
Linguagens que no so Regulares
Exemplo
Exemplo 9.6
Considere-se a linguagem L =a
kk
[ k Z
+
. De acordo com essa denio, as
sentenas de L so seqncias formadas por smbolos a de comprimento 1, 4, 9, 16
etc. Seja n a constante de L e considere-se a sentena a
nn
.
Essa cadeia pode ser reescrita como xyz, em que 1 [y[ n. Pelo Pumping
Lemma, se xyz L, ento xyyz L. Considerando a sentena xyyz, tem-se que
n
2
<[xyyz[ n
2
+n. Por outro lado, n
2
+n < (n +1)
2
, portanto,
n
2
<[xyyz[ < (n +1)
2
. Ora, isso contraria a hiptese de que o comprimento de todas
as sentenas dessa linguagem correspondem ao quadrado de algum nmero inteiro
positivo, uma vez que no existe i Z
+
tal que n
2
< i
2
< (n +1)
2
, n Z
+
. Fica
assim demonstrado, por contradio, que L no uma linguagem regular.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 335 / 392
Linguagens que no so Regulares
Exemplo
Exemplo 9.7
Seja L =a
k
b
k
c
k
[ k 1. Supondo que L seja uma linguagem regular, tome-se a
sentena a
n
b
n
c
n
, onde n a constante denida pelo Pumping Lemma. Claramente
essa sentena pertence a L. Mas, de acordo com o Lemma, essa sentena pode ser
decomposta em trs subcadeias x, y e z, tais que xyz = a
n
b
n
c
n
, [xy[ n, [y[ 1.
Logo, y = a
i
, 1 i n, e xyz pode ser reescrito como a
ni
a
i
b
n
c
n
. No entanto,
nenhuma das seguintes cadeias pertence a L:
1
xy
0
z = a
ni
b
n
c
n
2
xyyz = a
ni
a
i
a
i
b
n
c
n
= a
n+i
b
n
c
n
uma vez que as ocorrncias do smbolo a esto desbalanceadas em relao s dos
smbolos b e c. Logo, L no regular. Observe-se a semelhana da presente
demonstrao com a que foi efetuada para a linguagem a
k
b
k
no Exemplo 9.4.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 336 / 392
Linguagens que no so Regulares
Exemplo
Exemplo 9.8
Considere-se L =a
k
[ k 1 um nmero primo}. Admitindo-se que L seja uma
linguagem regular, tome-se a sentena a
m
, onde m o primeiro nmero primo
superior constante n denida pelo Pumping Lemma. Logo, m > n. De acordo
com o Lemma, como [a
m
[ = m n, essa sentena pode ser decomposta em trs
subcadeias x, y e z, com xyz = a
m
, [xy[ n, [y[ 1.
Alm disso, xy
i
z L, i 0. Em particular, pode-se fazer i = m+1. Logo, de acordo
com o Lemma, a cadeia xy
m+1
z deveria pertencer a L. No entanto,
[xy
m+1
z[ =[xyzy
m
[ =[xyz[ +[y
m
[. Como [xyz[ = m e [y
m
[ = m [y[, ento
[xy
m+1
z[ = m+m [y[ = m (1 +[y[).
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 337 / 392
Linguagens que no so Regulares
Exemplo
Esse resultado mostra que o comprimento de xy
m+1
z, ou seja, m (1 +[y[), no um
nmero primo, uma vez que:

Ele divisvel por m, pois


m (1 +[y[)
m
= (1 +[y[);

m ,= 1, pois n 1 e m > n;

m ,= m (1 +[y[), pois, de acordo com o Pumping Lemma, [y[ 1.


Logo, L no regular.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 338 / 392
Linguagens que no so Regulares
Exerccio
Prove que a linguagem:
ww[w a, b
+

no regular.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 339 / 392
Propriedades de Fechamento
Conceito

Uma determinada classe de linguagens fechada em relao a


uma operao se da aplicao da operao a quaisquer
linguagens dessa classe resultar sempre uma linguagem que
tambm pertena classe em questo.

O estudo de uma classe de linguagens do ponto de vista das


operaes em relao s quais ela fechada muito importante,
uma vez que auxilia, na prtica, na determinao da classe de
linguagens a que uma certa linguagem possa ou no pertencer.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 340 / 392
Propriedades de Fechamento
Unio, concatenao e fechameno
Teorema 10.1 A classe das linguagens regulares fechada em
relao s operaes de unio, concatenao e fechamento reexivo
e transitivo.
Imediata, a partir da denio dos conjuntos regulares.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 341 / 392
Propriedades de Fechamento
Complementao
Teorema 10.2 A classe das linguagens regulares fechada em
relao operao de complementao.
Seja L(M) a linguagem aceita por um autmato nito determinstico
M=(Q, , , q
0
, F), sendo uma funo total, e considere-se .
Como se pode perceber pela Figura 56,

L = (

) (

L(M)).
Figura 56: Representao de

e L(M)
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 342 / 392
Propriedades de Fechamento
Complementao

contm as sentenas que possuem pelo menos um


elemento de , e

L(M) as sentenas sobre rejeitadas


por M.

A linguagem

L(M) aceita pelo autmato


M
/
= (Q, , , q
0
, QF), em que os estados nais de M tornam-se
no-nais em M
/
e vice-versa. Assim, se x L(M), ou seja, se
(q
0
, x) F, ento x / L(M
/
), uma vez que (q
0
, x) / (QF).

Logo, conclui-se que, se L for uma linguagem regular, ento

L(M) ser tambm uma linguagem regular, uma vez que ela
aceita pelo autmato nito M
/
.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 343 / 392
Propriedades de Fechamento
Complementao
Por outro lado, a linguagem

, de acordo com a sua


interpretao (conjunto de sentenas que possuem pelo menos um
elemento de ), pode ser reescrita como:

()

Portanto, como decorrncia do fechamento das linguagens regulares


sobre as operaes de fechamento reexivo e transitivo e de
concatenao, possvel armar que

regular.
Finalmente, (

) (

L(M)) tambm uma linguagem regular,


uma vez que (

) e (

L(M)) so fechadas em relao


operao de unio.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 344 / 392
Propriedades de Fechamento
Exemplo
Exemplo 10.1
Considere-se M o autmato nito determinstico da Figura 57, L(M) = (ab [ c)d

.
q
0
q
1
q
2
q
3
q
4
a b e
c
d e
b, d, e
a, c, d, e
a, b, c
a, b, c, d
a, b, c, d, e
Figura 57: Autmato nito que aceita L
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 345 / 392
Propriedades de Fechamento
Exemplo
Atravs do mtodo apresentado na demonstrao do Teorema 10.2 obtm-se M
/
,
representado na Figura 58, de modo que L(M
/
) = L(M), com = =a, b, c, d, e.
q
0
q
1
q
2
q
3
q
4
a b e
c
d e
b, d, e
a, c, d, e
a, b, c
a, b, c, d
a, b, c, d, e
Figura 58: Autmato nito que aceita L (ver Figura 57)
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 346 / 392
Propriedades de Fechamento
Interseco
Teorema 10.3 A classe das linguagens regulares fechada em
relao operao de interseco.
Considere-se a linguagem L
1
sobre
1
, e L
2
sobre
2
, sendo

1
,
2
. Ento, considerando-se as complementaes em relao a
, a seguinte relao verdadeira (Lei de De Morgan):
L
1
L
2
= L
1
L
2
Portanto, a regularidade da linguagem resultante da interseco de
duas outras linguagens regulares depende da preservao da
regularidade pelas operaes de unio e complemento. Como esse
fato j foi constatado nos Teoremas 10.1 e 10.2, possvel armar,
com base no presente teorema, que L
1
L
2
ser necessariamente
uma linguagem regular.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 347 / 392
Propriedades de Fechamento
Reverso
Teorema 10.4 A classe das linguagens regulares fechada em
relao operao de reverso de suas sentenas (linguagem
reversa).
Seja M = (Q, , , q
0
, F) um autmato nito que aceita L. O Algoritmo
10.1 mostra como construir M
/
= (Qq
/
0
, ,
/
, q
/
0
, F
/
), eventualmente
no-determinstico, de tal modo que L(M
/
) = L
R
.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 348 / 392
Propriedades de Fechamento
Algoritmo
Algoritmo 10.1 Construo do autmato nito que aceita L
R
a partir do
autmato nito que aceita L.

Entrada: um autmato nito M = (Q, , , q


0
, F);

Sada: um autmato nito M


/
= (Qq
/
0
, ,
/
, q
/
0
, F
/
), tal que
L(M
/
) = L(M)
R
;

Mtodo:
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 349 / 392
Propriedades de Fechamento
Algoritmo
1
Construo de F
/
:
a) Se / L, ento F
/
=q
0
;
b) Se L, ento F
/
=q
0
, q
/
0
.
2
Construo de
/
:
c) Se (q, ) F, ento
/
(q
/
0
, ) = q;
d) Se (q
a
, ) = q
b
, ento
/
(q
b
, ) = q
a
.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 350 / 392
Propriedades de Fechamento
Exemplo
Exemplo 10.2
Considere a linguagem a

bc

aceita por M, conforme a Figura 59.


q
0
q
1
b
c a
Figura 59: Autmato nito que aceita L = a

bc

Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 351 / 392


Propriedades de Fechamento
Exemplo
A aplicao do algoritmo descrito conduz obteno do autmato M
/
da Figura 60.
q
0
q
1
b
c a
q
/
0
b
c
Figura 60: Autmato nito que aceita L
R
= (a

bc

)
R
= c

ba

Como se pode observar, L(M


/
) = ba

[ cc

ba

= c

ba

= L(M)
R
.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 352 / 392
Propriedades de Fechamento
Aplicaes
Uma das principais aplicaes do estudo do fechamento de uma
classe de linguagens em relao a um determinado conjunto de
operaes consiste na possibilidade de se determinar a classe de uma
linguagem a partir da decomposio da mesma em linguagens mais
simples, de classe conhecida, e que, combinadas por intermdio de
operadores que preservam a classe dessas linguagens mais simples,
nos permitem inferir diretamente a classe das linguagens resultantes.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 353 / 392
Propriedades de Fechamento
Exemplo
Exemplo 10.3
Considere-se a linguagem L =a

bc

[ o comprimento das sentenas maior ou


igual a 3. L regular?
L pode ser representada como L
1
L
2
, onde L
1
=a

bc

e
L
2
= (a [ b [ c)(a [ b [ c)(a [ b [ c)(a [ b [ c)

. Como L
1
e L
2
so regulares (pois esto
expressas atravs de expresses regulares), e a classe das linguagens regulares
fechada em relao operao de interseco, ento L tambm regular. De fato, no
difcil perceber que L = a

(aab [ abc [ bcc)c

.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 354 / 392
Propriedades de Fechamento
Exemplo
Exemplo 10.4
Seja a linguagem L =w a, b, c, d

[ w contm a subcadeia bb e w no contm


a subcadeia dd. L regular?
L = L
1
L
2
, onde L
1
=w a, b, c, d

[ w contm a subcadeia bb e
L
2
=w a, b, c, d

[ w contm a subcadeia dd:

L
1
= (a [ b [ c [ d)

bb(a [ b [ c [ d)

L
2
= (a [ b [ c [ d)

dd(a [ b [ c [ d)

Como L
1
e L
2
so regulares, e a classe das linguagens regulares fechada em relao
s operaes de complemento e interseco, segue que L tambm regular.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 355 / 392
Propriedades de Fechamento
Exemplo
Exemplo 10.5
Considere-se a linguagem L
1
denida sobre o alfabeto a, b, de tal forma que
pertencem a L
1
todas as cadeias que podem ser formadas com os smbolos de seu
alfabeto, excetuando-se aquelas que contm exatamente trs smbolos a. L
1
regular?
No difcil perceber que L
1
= L
2
, onde L
2
= b

ab

ab

ab

, ou seja, L
1
corresponde
complementao da linguagem que contm todas as cadeias com exatamente trs
smbolos a (L
2
). Portanto, L
1
regular. Uma expresso regular que representa L
1

b

[ b

ab

[ b

ab

ab

[ b

ab

ab

ab

a(a [ b)

.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 356 / 392
Propriedades de Fechamento
Exemplo
Exemplo 10.6
Considere-se o alfabeto a, b, c e a linguagem L denida de tal forma que suas
cadeias satisfazem todas s seguintes regras:
1
Possuem a subcadeia aaa como prexo;
2
Possuem comprimento total mltiplo de 4;
3
Possuem quantidade par de smbolos c;
4
No contm a subcadeia bb.
So exemplos de cadeias pertencentes a L:
aaabcccc, aaabcbca, aaaa, aaaaaaba, aaaacccbaaac etc.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 357 / 392
Propriedades de Fechamento
Exemplo
L regular? Para responder, basta notar que L = ((L
1
L
2
) L
3
) L
4
, onde:

L
1
gerada por aaa(a [ b [ c)

:
Cadeias que possuem aaa como prexo.

L
2
gerada por ((a [ b [ c)(a [ b [ c)(a [ b [ c)(a [ b [ c))

:
Cadeias que possuem comprimento total mltiplo de 4.

L
3
gerada por ((a [ b)

c(a [ b)

c(a [ b)

:
Cadeias que possuem quantidade par de smbolos c.

L
4
gerada por (a [ b [ c)

bb(a [ b [ c)

:
Cadeias que contm a subcadeia bb.
Como L
1
, L
2
, L
3
e L
4
so regulares, e a classe das linguagens regulares fechada em
relao s operaes de interseco e complementao, conclui-se que L regular.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 358 / 392
Questes Decidveis
Conceito
Quando se diz que um problema (ou questo) desse tipo decidvel,
isso signica que ele sempre tem soluo, qualquer que seja a sua
instncia considerada (ou argumentos aplicados). Mais do que isso,
cada questo decidvel caracterizada pela existncia de um
algoritmo que permite resolver o problema geral com garantias de
obteno do resultado armativo ou negativo, dependendo do caso.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 359 / 392
Questes Decidveis
Linguagem no-vazia
Teorema 11.1 A linguagem L aceita por um autmato nito com n
estados no-vazia se e somente se o autmato aceita pelo menos
uma cadeia w, [w[ < n.

A condio necessria (aceita uma sentena de comprimento


inferior a n linguagem no-vazia) bvia e no necessita ser
demonstrada.

A condio suciente (linguagem no-vazia aceita uma


sentena de comprimento inferior a n) no to bvia, mas pode
ser vericada com auxlio do Pumping Lemma. Considere-se
w L(M), [w[ = m.

Se m < n, ento nada h para demonstrar, e a hiptese


trivialmente verdadeira.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 360 / 392
Questes Decidveis
Linguagem no-vazia

Se, no entanto, mn, ento w pode ser reescrita como xyz com
xz L(M), y ,=, [xz[ < m. Seguem, ento, duas possibilidades:
[xz[ n ou [xz[ < n. Se [xz[ < n, a hiptese est demonstrada. Se,
por outro lado, [xz[ n, pode-se agora considerar w = xz e aplicar
o Pumping Lemma novamente, desta vez sobre tal cadeia.

Atravs da iterao deste passo, possvel obter cadeias de


comprimentos sucessivamente menores, enquanto o
comprimento da cadeia anterior for maior ou igual a n. Assim,
possvel demonstrar a existncia de uma sentena de
comprimento inferior a n, pertencente a L.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 361 / 392
Questes Decidveis
Linguagem no-vazia
A condio suciente do Teorema 11.1 pode tambm ser
compreendida atravs do seguinte raciocnio: partindo-se do estado
inicial, se o autmato aceitar pelo menos uma cadeia, ento a
linguagem no-vazia. Como o autmato possui n estados, ento
necessrio que pelo menos um desses estados seja nal, e tambm
acessvel desde o estado inicial.
Se o estado inicial for simultaneamente nal, ento a cadeia vazia
aceita e a linguagem aceita pelo autmato no-vazia. Observe-se
ainda que [[ < n, qualquer que seja o valor de n, uma vez que n 1.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 362 / 392
Questes Decidveis
Linguagem no-vazia
Se o estado inicial no for simultaneamente nal, ento ser
necessrio atingir pelo menos um dos outros n1 estados do
autmato, o qual deve tambm ser nal. Para isso, bastam cadeias de
comprimento mximo n1, inclusive, j que cadeias de comprimento
maior ou igual a n possuem ciclos (conforme o Pumping Lemma), e
no modicam o conjunto de estados que so acessveis a partir do
estado considerado.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 363 / 392
Questes Decidveis
Linguagem no-vazia
Logo, se nenhuma cadeia de comprimento menor que n for aceita pelo
autmato, isso signica que:

No existem estados nais no autmato, ou

Os estados nais do autmato no so acessveis desde o


estado inicial
e, portanto, a linguagem por ele aceita vazia.
Em outras palavras, qualquer estado acessvel de um autmato nito
com n estados alcanvel por meio de cadeias de comprimento
mximo n1. Se algum desses estados for nal, ento a linguagem
aceita no-vazia. Caso contrrio, vazia.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 364 / 392
Questes Decidveis
Linguagem no-vazia
Para determinar se uma linguagem, aceita por um autmato nito com
n estados, no-vazia, basta vericar se o autmato aceita alguma
sentena de comprimento entre 0 (inclusive) e n1 (inclusive). Se
nenhuma dessas cadeias for aceita, pode-se concluir que a linguagem
vazia, sem testar quaisquer outras cadeias.
Para um autmato nito com n estados, cujo alfabeto de entrada tenha
m smbolos, a quantidade de cadeias que devem ser testadas dada
pela frmula:
n1

i=0
m
i
pois, conforme pode ser vericado na Tabela 48, essa frmula
representa a quantidade total de cadeias distintas cujos comprimentos
esto entre 0 (inclusive) e n1 (inclusive), e que podem ser
construdas a partir de um alfabeto com m smbolos.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 365 / 392
Questes Decidveis
Linguagem no-vazia
Tabela 48: Quantidade de cadeias que podem ser obtidas a partir de um
alfabeto com m smbolos, com comprimento entre 0 e n 1
Comprimento Cadeias distintas Cadeias distintas
0 1 m
0
1 m m
1
2 mm m
2
3 mmm m
3
... ... ...
n1 mmm... m m
n1
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 366 / 392
Questes Decidveis
Exemplo
Exemplo 11.1
Seja L uma linguagem regular sobre o alfabeto a, b, c e aceita por um autmato
nito M com trs estados. Ento, para determinar se L no-vazia, basta vericar se
alguma das seguintes cadeias aceita por M:

Comprimento 0 (uma cadeia):

Comprimento 1 (trs cadeias): a, b, c

Comprimento 2 (nove cadeias): aa, ab, ac, ba, bb, bc, ca, cb, cc
Se alguma dessas 13 (= 1 + 3 + 9) cadeias for aceita por M, ento L ser no-vazia.
Caso contrrio, ser vazia.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 367 / 392
Questes Decidveis
Linguagem innita
Teorema 11.2 A linguagem L aceita por um autmato nito com n
estados innita se e somente se o autmato aceitar pelo menos uma
cadeia w

, n [w[ < 2n.


A condio se (aceita pelo menos uma cadeia w, n [w[ < 2n
linguagem innita) pode ser facilmente deduzida atravs do Pumping
Lemma: como [w[ n, ento w pode ser reescrita como xyz, e
xy
i
z L, i 0. Logo, L innita.
A condio somente se (linguagem innita aceita pelo menos uma
cadeia w, n [w[ < 2n) demonstrada, por contradio, a seguir.
Se L innita, ento com certeza existem cadeias de comprimento
maior ou igual a n (pois a quantidade de cadeias com comprimento
menor ou igual a n nita). Considere-se w L(M), [w[ n.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 368 / 392
Questes Decidveis
Linguagem innita
Se [w[ < 2n, ento no h nada a demonstrar e a hiptese
trivialmente verdadeira.
Se [w[ 2n, ento, de acordo com o Pumping Lemma,
w = xyz, [xy[ n, 1 [y[ n. Logo, a cadeia xz tambm pertence a
L, [xz[ <[w[, [xz[ n (pois, como [w[ 2n e, na pior das hipteses,
[y[ = n, ento [xz[ =[w[ [y[ n).
Duas possibilidades podem ento ocorrer com a cadeia xz: ou
[xz[ 2n ou [xz[ < 2n.
Se [xz[ < 2n, ento a hiptese verdadeira e o teorema est
demonstrado.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 369 / 392
Questes Decidveis
Linguagem innita
Se [xz[ 2n, pode-se considerar agora w = xz e aplicar o Pumping
Lemma novamente sobre essa cadeia. Atravs da iterao deste
passo, enquanto o comprimento de w for maior ou igual a 2n,
possvel obter cadeias de comprimentos sucessivamente menores,
porm sempre de comprimento maior ou igual a n. Logo,
necessariamente existe uma cadeia pertencente linguagem, de
comprimento maior ou igual a n e menor que 2n, e o teorema est
demonstrado.
Assim, se a linguagem for innita, ela dever obrigatoriamente conter
pelo menos uma cadeia de comprimento entre n (inclusive) e 2n
(exclusive).
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 370 / 392
Questes Decidveis
Linguagem innita
A condio somente se do Teorema 11.2 pode tambm ser
compreendida da seguinte forma: por se tratar de uma linguagem
innita, e portanto no-vazia, o autmato correspondente aceita pelo
menos uma cadeia w
0
, 0 [w
0
[ < n (ver Teorema 11.1).
Por outro lado, como se trata de uma linguagem innita, ento fato
que este autmato possui pelo menos um ciclo, correspondente
cadeia y, 1 [y[ n (conforme o Pumping Lemma).
Logo, a combinao desses resultados (ou seja, o bombeamento da
cadeia y na cadeia w
0
, resultando em uma nova cadeia cujo
comprimento corresponde soma dos comprimentos mnimos e
mximos das outras duas) garante a existncia de pelo menos uma
cadeia w
1
, 1 <[w
1
[ < 2n1, que aceita pelo autmato.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 371 / 392
Questes Decidveis
Linguagem innita
Se [w
1
[ n, ento a condio est provada. Se [w
1
[ < n, pode-se
bombear y novamente, desta vez em w
1
, resultando na cadeia w
2
,
2 <[w
2
[ < 2n1.
A iterao desse passo, enquanto w
i
< n, garante a existncia de uma
cadeia w
j
, aceita pelo autmato, tal que n [w
j
[ < 2n1, como se quer
demonstrar.
Em outras palavras, a existncia de ciclos acessveis desde o estado
inicial garante que o autmato aceita pelo menos uma cadeia w tal
que n [w[ < 2n1.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 372 / 392
Questes Decidveis
Linguagem innita
A principal aplicao deste teorema se encerra no algoritmo por ele
sugerido, o qual permite determinar se a linguagem aceita por um
autmato nito com n estados innita ou no: basta vericar se o
autmato aceita alguma cadeia de comprimento entre n (inclusive) e
2n1 (inclusive). Como a quantidade de cadeias com essa
caracterstica nita, conclui-se ser sempre possvel determinar se
uma linguagem regular innita ou no, bastando para isso analisar,
exaustivamente, se alguma dessas cadeias pertence linguagem
denida.
A quantidade de cadeias que devem ser testadas em um autmato
com n estados e cujo alfabeto de entrada possui m smbolos dada
pela frmula:
2n1

i=n
m
i
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 373 / 392
Questes Decidveis
Exemplo
Exemplo 11.2
Seja L uma linguagem regular sobre o alfabeto a, b e aceita por um autmato nito
M com 2 estados. Ento, para saber se L no-vazia, basta vericar se alguma das
seguintes cadeias aceita por M:

Comprimento 2 (quatro cadeias): aa, ab, ba, bb

Comprimento 3 (oito cadeias): aaa, aab, aba, abb, baa, bab, bba, bbb
Se alguma dessas 12 (= 4 + 8) cadeias for aceita por M, ento L innita. Caso
contrrio, conclui-se que a linguagem nita.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 374 / 392
Questes Decidveis
Linguagem nita
Teorema 11.3 A linguagem L aceita por um autmato nito com n
estados nita se e somente se o autmato no aceita nenhuma
sentena w tal que n [w[ < 2n.
Decorre diretamente do teorema anterior. L innita se e somente se
o autmato nito correspondente aceita pelo menos uma cadeia
w, n [w[ < 2n. Logo, se no existir nenhuma cadeia que satisfaa a
essa condio, a linguagem L ser nita. Para determinar se, alm de
nita, L no-vazia, basta vericar se o autmato nito
correspondente aceita pelo menos uma cadeia de comprimento
menor do que n (Teorema 11.1).
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 375 / 392
Questes Decidveis
Resumo
A Tabela 49 resume os resultados at aqui obtidos.
Tabela 49: Cardinalidade de uma linguagem regular
L: uma linguagem aceita por um autmato nito com n estados
w L, [w[ < n? w L, n [w[ < 2n? L ...
Sim Sim Innita
Sim No Finita, no-vazia
No No Finita, vazia
No Sim N.A. (contradio)
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 376 / 392
Questes Decidveis
Exemplo
Exemplo 11.3
Seja uma linguagem L
1
sobre o alfabeto a, aceita por um autmato M
1
com trs
estados. Para determinar se L
1
vazia, basta vericar se alguma das cadeias
pertencentes ao seguinte conjunto aceita por M
1
: X =, a, aa. Para determinar se
L
1
innita, deve-se vericar as cadeias do conjunto Y =aaa, aaaa, aaaaa.
Seja o autmato M
1
, representado na Figura 61.
q
0
q
1
a
q
2
a
a
Figura 61: Autmato M
1
que aceita L
1
=a, aa, nita e no-vazia
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 377 / 392
Questes Decidveis
Exemplo
fcil perceber, neste caso, que L
1
(M
1
) =a, aa nita e no-vazia. De fato, as
cadeias a, aa de X so aceitas por M
1
. No entanto, nenhuma das cadeias
aaa, aaaa, aaaaa de Y so aceitas por M
1
.
Suponha-se agora M
2
, correspondente ao autmato da Figura 62.
q
0
q
1
a
q
2
a
a
Figura 62: Autmato M
2
que aceita L
2
= aa(aaa)

, innita
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 378 / 392
Questes Decidveis
Exemplo
A linguagem L
2
(M
2
) , neste caso, aa(aaa)

, e portanto innita. A innitude de L


2

comprovada pelo fato de M
2
aceitar a cadeia aaaaa de Y. O fato de M
2
aceitar aa de
X indica que L
2
no-vazia.
Por ltimo, considere-se M
3
como sendo o autmato da Figura 63.
q
0
q
1
a
q
2
a
Figura 63: Autmato M
3
que aceita L = / 0, nita e vazia
Nenhuma das cadeias , a, aa de X aceita por M
3
. Logo, como se pode comprovar
observando-se a Figura 63, L
3
vazia (e portanto nita).
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 379 / 392
Questes Decidveis
Pertencimento
Teorema 11.4 Seja L uma linguagem regular sobre , , e

uma cadeia. Ento, a questo L decidvel.


Seja M = (Q, , , q
0
, F) tal que L = L(M). O Algoritmo 11.1 mostra
como decidir se a cadeia pertence ou no linguagem L.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 380 / 392
Questes Decidveis
Pertencimento
Algoritmo 11.1 Determina se uma cadeia sentena da linguagem denida
por um autmato nito.

Entrada: um autmato nito


M = (Q, , , q
0
, F), , e uma cadeia

Sada: Se L(M), SIM; caso contrrio, NO;

Mtodo:
1
Obter M
/
= (Q, ,
/
, q
0
, F
/
), isento de transies em vazio, tal que
L(M
/
) = L(M);
2
Determinar
/
(q
0
, ). Se
/
(q
0
, ) F
/
, ento SIM; caso contrrio, NO.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 381 / 392
Questes Decidveis
Pertencimento
O Algoritmo 11.1 garante que qualquer cadeia pode ser analisada em
um nmero nito de passos (ou tempo nito de processamento) em
um autmato nito. Para isso, suciente garantir que o mesmo seja
isento de transies em vazio, o que implica a inexistncia de ciclos
formados exclusivamente por transies desse tipo, as quais
poderiam, eventualmente, provocar um processamento interminvel
da cadeia de entrada.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 382 / 392
Questes Decidveis
Exemplo
Exemplo 11.4
Considere-se o autmato da Figura 64, que possui um ciclo formado por transies
em vazio.
q
0
q
1
q
3
q
2

a
b
Figura 64: Autmato com ciclo de transies em vazio
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 383 / 392
Questes Decidveis
Exemplo
Os movimentos executados por esse autmato na anlise da cadeia ba no permitem
que o mesmo pare em qualquer congurao, nal ou no-nal, como mostra a
seguinte seqncia:
(q
0
, ba) (q
1
, ba) (q
0
, ba) (q
1
, ba) (q
0
, ba) (q
1
, ba) ...
O autmato equivalente, da Figura 65, isento de transies em vazio, e, portanto, de
ciclos formados por transies em vazio.
q
0
q
3
q
2
a
b
Figura 65: Autmato equivalente ao da Figura 64, porm isento de ciclos
formados por transies em vazio
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 384 / 392
Questes Decidveis
Exemplo
Esse autmato atinge a seguinte congurao de parada, para a mesma cadeia ba de
entrada, aps executar zero movimentaes:
(q
0
, ba)
Portanto, por no se tratar de uma congurao nal, a cadeia ba rejeitada e no
pertence linguagem denida pelos autmatos das Figuras 64 e 65.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 385 / 392
Questes Decidveis
Igualdade
Teorema 11.5 Sejam L
1
e L
2
duas linguagens regulares quaisquer.
Ento, a questo L
1
= L
2
decidvel.
Considerem-se as linguagens L
1
= L
1
(M
1
)

1
e L
2
= L
2
(M
2
)

2
. A
condio L
1
= L
2
pode tambm ser formulada como:
(L
1
L
2
) (L
1
L
2
) = / 0
onde as operaes de complementao se referem a qualquer
alfabeto tal que (
1

2
) . Para decidir se L
1
= L
2
, deve-se
executar o Algoritmo 11.2.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 386 / 392
Questes Decidveis
Igualdade
Algoritmo 11.2 Determina se duas linguagens regulares so idnticas.

Entrada: dois autmatos nitos M


1
= (Q
1
,
1
,
1
, q
01
, F
1
) e M
2
= (Q
2
,

2
,
2
, q
02
, F
2
);

Sada: Se L
1
(M
1
) = L
2
(M
2
), SIM; caso contrrio, NO;

Mtodo:
1
Basta construir M
3
tal que L
3
(M
3
) = (L
1
L
2
) (L
1
L
2
). Se L
3
= / 0,
ento SIM; caso contrrio, NO
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 387 / 392
Questes Decidveis
Igualdade
A construo de M
3
pode ser efetuada diretamente a partir dos
algoritmos utilizados na apresentao de resultados anteriores
(fechamento dos conjuntos regulares em relao s operaes de
unio, complementao e interseco, respectivamente Teoremas
10.1, 10.2 e 10.3). Alm disso, a questo L
3
(M
3
) = / 0 pode ser
decidida em funo do Teorema 11.1.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 388 / 392
Questes Decidveis
Totalidade
Teorema 11.6 Seja M um autmato que aceita L sobre . Ento, a
questo L =

decidvel.
Esta questo pode ser decidida pelo Algoritmo 11.3.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 389 / 392
Questes Decidveis
Totalidade
Algoritmo 11.3 Determina se a linguagem aceita por um autmato nito

Entrada: um autmato nito M = (Q, , , q


0
, F);

Sada: Se L(M) =

, SIM; caso contrrio, NO;

Mtodo:
1
Basta construir M
/
tal que L(M
/
) =

L(M) = L(M). Se L(M


/
) = / 0,
ento SIM; caso contrrio, NO.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 390 / 392
Questes Decidveis
Subconjunto
Teorema 11.7 Sejam L
1

1
e L
2

2
duas linguagens regulares.
Ento, a questo L
1
L
2
decidvel.
A condio L
1
L
2
tambm pode ser formulada como:
(

L
2
) L
1
= L
2
L
1
= / 0
onde a operao de complementao se refere a um alfabeto tal
que
2
. Para decidir se L
1
L
2
, basta executar o Algoritmo 11.4.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 391 / 392
Questes Decidveis
Subconjunto
Algoritmo 11.4 Determina se uma linguagem regular subconjunto de uma
outra linguagem regular.

Entrada: dois autmatos nitos M


1
= (Q
1
,
1
,
1
, q
01
, F
1
) e M
2
= (Q
2
,

2
,
2
, q
02
, F
2
);

Sada: Se L
1
(M
1
) L
2
(M
2
), SIM; caso contrrio, NO;

Mtodo:
1
Basta construir M
3
tal que L
3
(M
3
) = L
2
(M
2
) L
1
(M
1
). Se L
3
= / 0, ento
SIM; caso contrrio, NO.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 392 / 392