Académique Documents
Professionnel Documents
Culture Documents
N;
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,
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
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).
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).
(N );
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
.
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
.D
.DD
)E+, , DD
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
.
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)
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:
ou (a [ b [ c [ d)
a(a [ b [ c [ d)
A(A)
A(A)
ou (b [ c [ d)
a(b [ c [ d)
a(b [ c [ d)
A(A)
A(A)
ou ((b [ c [ d)
a(b [ c [ d)
a(b [ c [ d)
B ou a(a [ b [ c [ d)
(b [ c)
ABB((A) B)
ou d
(1)
), ou, simplesmente,
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)
Associatividade:
da unio: ( [ ) [ = [ ( [ )
da concatenao: () =()
Comutatividade:
da unio: [ = [
da concatenao: No se aplica.
Elemento neutro:
da unio: [ / 0 = / 0 [ =
da concatenao: = =
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)
q
0
o estado inicial, q
0
Q;
(q, ) = q;
, .
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
, (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
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:
= 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
[ 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
1
: Q
1
2
Q
1
;
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
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
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
q
1
q
2
q
0
, q
2
q
0
, q
1
= a, b
= (q
0
, a) q
0
, (q
0
, ) q
1
, (q
1
, b) q
1
F = 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
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
(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:
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.
A eliminao de no-determinismos:
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:
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
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
.
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
,
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
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
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
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
(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
(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
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
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
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
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
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.
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, 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.
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.
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.
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
= 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
= 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
[ 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
[ 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
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
, 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
Importncia prtica;
[ (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.
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
(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
:
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
(cab
= 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
(xx
As subcadeias de entrada xx
As subcadeias de entrada xx
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
(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;
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:
m ,= 1, pois n 1 e m > n;
no regular.
Marcus Ramos (UNIVASF) LFA 2010-1 10 de abril de 2012 339 / 392
Propriedades de Fechamento
Conceito
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
A linguagem
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
()
regular.
Finalmente, (
) (
) 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 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.
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
bc
bc
)
R
= c
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
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
.
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
L
2
=w a, b, c, d
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.
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.
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 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
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 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)
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.
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
Sada: Se L(M) =
Mtodo:
1
Basta construir M
/
tal que L(M
/
) =
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.
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