Professional Documents
Culture Documents
Introduc
ao aos Fundamentos da Computac
ao:
Linguagens e M
aquinas
(Ed. Thomson, 2006)
Newton Jose Vieira
Departamento de Ciencia da Computacao
Instituto de Ciencias Exatas
Universidade Federal de Minas Gerais
Belo Horizonte, 30/06/2007
Peco a quem encontrar erros nas solucoes a seguir entrar em contato com o autor no
endereco nvieira@dcc.ufmg.br. Antecipadamente, agradeco
Captulo 1
Conceitos Preliminares
1.1
Representa
c
ao
Nesta secao n
ao h
a exerccios.
1.2
1.
Prova de Teoremas
a) A afirmativa ( ) s
o e falsa se e verdadeira e e falsa. Mas a
n
ao pode ser verdadeira se e falsa. Assim, ( ) n
ao pode ser falsa; logo, e
valida.
b) A afirmativa ( ) s
o e falsa se e verdadeira e e falsa. Mas, sendo
verdadeira, n
ao pode ser falsa. Assim, ( ) n
ao pode ser falsa; logo, e
valida.
c) A afirmativa ( ) s
o pode ser falsa se e verdadeira e e falsa.
Mas a afirmativa n
ao pode ser verdadeira, pois e uma contradicao. Assim,
( ) n
ao pode ser falsa; logo, e valida.
d) A afirmativa ( ) s
o e falsa se e verdadeira e e falsa. Mas,
n
ao pode ser falsa, pois e n
ao podem ser ambas falsas. Assim, ( )
n
ao pode ser falsa; logo, e valida.
e) A afirmativa ( ) s
o pode ser falsa se ambas, e s
ao falsas. Mas,
sendo falsa, e verdadeira. Assim, ( ) n
ao pode ser falsa; logo, e
valida.
f) A afirmativa ( ) ( ) s
o pode ser falsa se e s
ao falsas. Para
ser falsa, deve ser verdadeira (e falsa), e para ser falsa, deve ser
falsa (e verdadeira); contradicao! Assim, a afirmativa original n
ao pode ser falsa;
logo, e valida.
2.
verdadeira, e s
ao tambem verdadeiras. Assim, se ( ) e
verdadeira, ( )( ) e verdadeira. Logo, () [( )( )].
Resta mostrar que [( ) ( )] ( ) . Para isto, suponha que
( ) ( ) e verdadeira; segue-se que e s
ao verdadeiras. Destas
duas segue-se que e verdadeira ou e s
ao falsas, e, neste u
ltimo caso, e
falsa. Mas, sendo verdadeira ou falsa, ( ) e verdadeira. Portanto,
[( ) ( )] ( ) .
b) Se e verdadeira, ent
ao e falsa ou e verdadeira. No primeiro caso, e
falsa e, portanto, ( ) e verdadeira. No segundo caso, sendo e verdadeira,
( ) e tambem verdadeira. Conclui-se, entao que { } ( ) .
c) Suponha que e sejam verdadeiras. Neste caso, e falsa e, portanto,
e falsa. Sendo falsa, e verdadeira. Logo, se e s
ao verdadeiras, e
verdadeira, ou seja, { , } .
4. Sejam x e y n
umeros reais tais que x > 0 e x < y. Destas duas u
ltimas segue-se que
2
x < xy. Das mesmas, segue-se tambem que y > 0. Desta e do fato de que x < y,
deduz-se que xy < y 2 . De x2 < xy e xy < y 2 , conclui-se que x2 < y 2 .
5. Sejam x e y n
umeros reais arbitrarios. Suponha que x2 + y = 13 e y 6= 4. Deve-se mostrar
que, neste caso, x 6= 3. Suponha o contr
ario: x = 3. Entao, substituindo-se x por 3 em
x2 + y = 13, obtem-se: 32 + y = 13 e, assim, y = 13 9 = 4. Contradicao. Logo, se
x2 + y = 13 e y 6= 4, ent
ao x 6= 3.
6. Seja x um n
umero real tal que x > 2. Seja k = (x + x2 4)/2; observe que k e um
n
umero real, pois x > 2. Alem disso,
1
x + x2 4
1
x + x2 4
2
k+ =
+
=
+
.
k
2
2
(x + x2 4)/2
x + x2 4
Fazendo-se as operac
oes e simplificando-se obtem-se:
x2 + 2x x2 4 + x2 4 + 4
1
= x.
k + ==
k
2x + 2 x2 4
Conclui-se, ent
ao, que para todo n
umero real x, se x > 2, existe um n
umero y tal que
y + (1/y) = x.
7. Seja x um n
umero natural. A prova ser
a feita pela contrapositiva. Suponha, assim, que
x e um n
umero racional. Neste caso, x = p/q, onde p e q s
ao n
umeros naturais primos
entre si. Segue-se que x = p2 /q 2 . Como p e q s
ao primos entre si, p2 e q 2 s
ao primos entre
si, e como x e um n
umero natural q 2 s
o pode ser 1 e x = p2 . Portanto, para todo n
umero
ao e um n
umero racional.
natural x, se x n
ao e e um quadrado perfeito, x n
4
8. Seja n um n
umero inteiro n
ao divisvel por 3. Entao n = 3q + r, onde q e um inteiro e
r {1, 2}. Caso 1: r = 1. Tem-se que n2 = (3q + 1)2 = 9q 2 + 6q + 1 = 3(3q 2 + 2q) + 1.
Fazendo-se k = 3q 2 + 2q tem-se que k e um inteiro tal que n2 = 3k + 1, como requerido.
Caso 2: r = 2. Tem-se que n2 = (3q + 2)2 = 9q 2 + 12q + 4 = 3(3q 2 + 4q + 1)+ 1. Fazendo-se
k = 3q 2 + 4q + 1 tem-se que k e um inteiro tal que n2 = 3k + 1.
1.3
1.
Conjuntos
a)
b)
c)
d)
A B = {0, 1, 2, 3, 4, 5}.
C = {4, 2, 0, 2, 4, 6, 8}.
D = {5, 4, 3, 2, 1, 6, 7, 8}.
{(0, 7), (2, 7), (4, 7)}.
pela definicao de
pela definicao de
por DeMorgan
pela definicao de
pela definicao de
complemento
uni
ao
complemento
intersecao.
pela
pela
pela
pela
pela
def. de diferenca
def. de diferenca
lei de De Morgan
def. de uni
ao
def. de diferenca.
produto
intersecao
produto
intersecao
1.4
1.
Relac
oes
a) A relac
ao e transitiva, n
ao e reflexiva nem simetrica.
b) A relac
ao n
ao e reflexiva, nem simetrica nem transitiva.
c) A relac
ao e reflexiva e transitiva, e n
ao e simetrica.
d) A relac
ao e reflexiva e transitiva, e n
ao e simetrica.
e) A relac
ao e reflexiva, simetrica e transitiva.
2. Sejam R1 A2 e R2 B 2
a) Se R1 e R2 s
ao reflexivas, R1 R2 e reflexiva sobre A B: Seja x A B. Se x A,
(x, x) R1 , pois R1 e reflexiva, e se x B, (x, x) R2 , pois R2 e reflexiva. Assim,
(x, x) R1 R2 .
7
Se R1 e R2 s
ao reflexivas, R1 R2 e reflexiva sobre A B: Seja x A B. Como
x A e x B, (x, x) R1 e (x, x) R2 pois R1 e R2 s
ao reflexivas. Assim,
(x, x) R1 R2 .
c) Se R1 e R2 s
ao transitivas, R1 R2 pode n
ao ser transitiva. Por exemplo, R1 = {(a, b)}
sobre {a, b} e R2 = {(b, c)} sobre {b, c}; tem-se que R1 R2 = {(a, b), (b, c)} sobre
{a, b, c}, que n
ao e transitiva, pois (a, c) 6 R1 R2 .
A relac
ao R1 R2 e transitiva sobre AB: Dado que (x, y) R1 R2 e (y, z) R1 R2 ,
segue-se que (x, y) R1 e (y, z) R1 , e tambem que (x, y) R2 e (y, z) R2 . Como
R1 e R2 s
ao transitivas, deduz-se que (x, z) R1 e (x, z) R2 . Logo, (x, z) R1 R2 .
6. Nesta quest
ao, considere que se o denominador nas operacoes de divisao for 0, o resultado
e sempre o mesmo (indefinido) e diferente de qualquer outro resultado.
Como x1 /x2 = x1 /x2 para quaisquer x1 , x2 N, R e reflexiva. Suponha que x1 /x2 =
y1 /y2 , para x1 , x2 , y1 , y2 N. Segue-se que y1 /y2 = x1 /x2 . Logo, R e simetrica. Supondose que x1 /x2 = y1 /y2 e y1 /y2 = z1 /z2 , conclui-se que x1 /x2 = z1 /z2 . Portanto, R e
transitiva. Como R e reflexiva, simetrica e transitiva, R e uma relacao de equivalencia.
8
a) Fecho reflexivo: {(a, a), (c, c), (d, d), (e, e)} R.
c) Fecho transitivo: {(c, a), (c, b), (c, c), (d, b), (d, d)} R.
d) Fecho reflexivo e simetrico: {(a, a), (c, c), (d, d), (e, e), (a, d), (b, a)} R.
e) Fecho reflexivo e transitivo: {(a, a), (c, c), (d, d), (e, e), (c, a), (c, b), (d, b)} R.
f) Fecho simetrico e transitivo: {(a, d), (b, a), (c, a), (c, b), (c, c), (d, b), (d, d)} R.
1.5
Fun
c
oes
1. O n
umero m
aximo para R A B ser uma funcao e |R| = |A|, ja que n
ao se pode ter
(x, y) f e (x, z) f se y 6= z.
2. Sejam f : A B, g : C D e h = f g. Entao:
h : A C B D se, e somente se, x A Cf (x) = g(x).
Prova:
() Suponha que h : A C B D. Seja um elemento arbitrario x de A C. Como
h = f g e h : A C B D, segue-se que h(x) = f (x) = g(x).
a) Para cada a A, f (a) pode ser qualquer elemento de B. Assim, existem kn funcoes
totais possveis.
b) Para cada a A, f (a) pode ser indefinido ou qualquer elemento de B. Assim,
existem (k + 1)n func
oes parciais possveis.
c) Se n > k, n
ao h
a func
ao injetora. Suponha que n k. Escolhido um elemento de
B para ser f (a), ele n
ao pode mais ser f (b) para b 6= a. Assim, existem P (k, n) =
k.(k 1) . . . (k n + 1) = k!/(k n)! funcoes injetoras possveis, se n k.
d) Se n < k, n
ao h
a func
ao sobretora. Suponha que n k. Deve ser escolhido um
elemento de eA tal que f (a) seja um elemento de B, para cada elemento de B. Para
isto existem P (n, k) = n.(n 1) . . . (n k + 1) = n!/(n k)! possibilidades. Para cada
uma delas, os n k elementos restantes de A podem, cada um deles, ser mapeado
para qualquer um dos elementos de B: s
ao knk possibilidades. Assim, existem
(n!.knk )/(n k)! func
oes sobrejetoras possveis, se n k.
e) Quando n = k, existe uma u
nica funcao bijetora. Se n 6= k, n
ao existe func
ao
bijetora.
5.
1.6
1.
Conjuntos Enumer
aveis
a) O conjunto X = {n N | n mod 10 = 0} e enumeravel, pois e um subconjunto de N.
Uma func
ao bijetora seria g : N X, tal que g(n) = 10n.
2. Suponha que tal conjunto seja enumeravel. Entao existe uma enumeracao f0 , f1 , f2 , . . . de
todas as func
oes de N para {0, 1}. Seja a funcao g : N {0, 1} tal que g(n) = 1 fn (n).
Ora, g(n) 6= fn (n) para todo n N, e, portanto, g 6= fn para todo n N. Logo, a
suposic
ao da enumerabilidade das funcoes n
ao se sustenta.
3. Suponha que tal conjunto seja enumeravel. Entao existe uma enumeracao f0 , f1 , f2 , . . . de
todas as func
oes de N para N monot
onicas crescentes. Seja a funcao h : N N tal que
Pn
ao monot
onicas crescentes, ent
ao
h(n) = 1 + k=0 fk (k). Veja que, como as funcoes fk s
fk (k) > 0 para k > 0. Assim, h, alem de diferente de fn para todo n N. e monot
onica
crescente. Logo, a suposic
ao da enumerabilidade das funcoes monot
onicas crescentes e
incorreta.
4. Seja um conjunto enumeravel arbitrario A e suponha que B A. Se B e finito, e contavel,
por definic
ao. Suponha que B e infinito. Ser
a mostrado que B e enumeravel construindose uma func
ao bijetora g : N B. Como A e enumeravel, existe uma funcao bijetora
f : N A; assim sendo, pode-se dizer que A = {f (k) | k N}. A funcao g pode ser
construda da seguinte forma:
g(0) = f (m), onde m e o menor n
umero natural tal que f (k) B;
5. Como todo subconjunto de conjunto enumeravel e contavel (questao 4), sabe-se que A B
e contavel. Como (A B) B = A B, basta mostrar que (A B) B e contavel, sendo
que (A B) B = . No caso em ambos A B e B s
ao finitos, (A B) B e finito e,
portanto, cont
avel. No caso em que um deles e finito e o outro n
ao, seja {a0 , a1 , . . . , am } o
conjunto finito e suponha que existe uma funcao bijetora f de N para o conjunto infinito.
Entao, pode-se construir uma funcao bijetora h : N A B, onde h(k) = ak para
0 k m e h(k) = f (k m 1) para k m + 1. Agora, se ambos A B e B s
ao
infinitos, sejam f : N A B e g : N B bijetoras. Entao pode-se construir uma
funcao bijetora h : N A B, onde h(2k) = f (k) e h(2k 1) = g(k) para k N.
A intersec
ao e subconjunto dos dois conjuntos. Logo e contavel (questao 4).
1.7
Defini
c
oes Recursivas
1. Definic
ao recursiva de f : N N, tal que f (n) =
a) f (1) = 1;
11
Pn
k=1 k:
b) m s(n) = m + (m n) para m, n N.
6. Definic
ao recursiva de LP , semelhante a LP, porem com omissao e/ou excesso de parenteses:
a) cada vari
avel proposicional pertence a LP ;
b) se , LP , ent
ao pertencem a LP : , , , , e ().
1.8
Indu
c
ao Matem
atica
1. S
o existe um conjunto de 0 elementos: ; e 20 = 1 = |{}| = |P()|. Seja n 0.
Suponha, como hip
otese de inducao, que |P(A)| = 2n para conjuntos A de n elementos.
Seja um conjunto B de n + 1 elementos e a um de seus elementos. Tem-se: P(B) =
P(B {a}) {X {a} | X P(B {a})}. Pela hip
otese de inducao, |P(B {a})| = 2n ,
e como P(B {a}) e {X {a} | X P(B {a})} tem o mesmo n
umero de elementos,
|P(B)| = 2n + 2n = 2n+1 .
2.
a)
P0
Pn+1
k=0
b)
P0
k2 = [ nk=0 k2 ] + (n + 1)2
= [n(n + 1)(2n + 1)/6] + (n + 1)2 pela hip
otese de inducao
= [n(n + 1)(2n + 1) + 6(n + 1)2 ]/6
= (n + 1)[n(2n + 1) + 6(n + 1)]/6
= (n + 1)(2n2 + 7n + 6)/6
= (n + 1)(n + 2)(2n + 3)/6.
P
12
Pn+1
k=0
k3 = [ nk=0 k3 ] + (n + 1)3
= [n(n + 1)/2]2 + (n + 1)3
pela hip
otese de inducao
2
2
3
= [n (n + 1) + 4(n + 1) ]/4
= [(n + 1)2 (n2 + 4n + 4)]/4
= [(n + 1)2 (n + 2)2 ]/4
= [(n + 1)(n + 2)/2]2 .
P
a) Tem-se: 1k=1 [k(k + 1)] = 1(1 + 1) = 2 = 1(2)(3)/3 = 1(1 + 1)(1 + 2)/3. Seja n 1.
P
Suponha, como hip
otese de inducao, que nk=1 [k(k + 1)] = n(n + 1)(n + 2)/3. Basta,
Pn+1
ent
ao, provar que k=1 [k(k + 1)] = (n + 1)(n + 2)(n + 3)/3. De fato:
P
Pn+1
k=1 [k(k
b)
P1
Pn+1
k=1 [1/k(k
Pn
k=1 [1/k(k
!k
1 1+ 5
F (k) =
2
5
!k
1 5
2
5)[((1
+
5)/2)0 ((1
Caso
1:
n
=
0.
Neste
caso,
F
(0)
=
0
por
defini
c
a
o,
e
(1/
0
5)/2) ] = 1 1 = 0.
5)[((1
+
5)/2)1 ((1
Caso
2:
n
=
1.
Neste
caso,
F
(1)
=
1
por
defini
c
a
o,
e
(1/
1
5)/2) ] = (1 + 5 1 + 5)/(2 5) = 1.
Caso 3: n 2. Neste caso, F (n) = F (n 1) + F (n 2) por definicao. Aplicando-se a
hip
otese de induc
ao, obtem-se:
!n1
1 1+ 5
F (n) =
2
5
Assim,
!n1
!n2
1 5
1
5
1
+
+
2
2
5
!n2
1 1+ 5
F (n) =
2
5
1+ 5
+1
2
!n2
1 5
2
1+ 5
+1 =
2
!2
1+ 5
1 5
+1=
e
2
2
Portanto,
1
F (n) =
5
"
!n
1+ 5
!n2
1 5
.
2
1 5
+1 .
2
!2
1 5
.
2
!n #
1 5
.
2
5. Ser
a usada induc
ao forte sobre o n
umero de conectivos. Assim, seja n 0, e suponha que
o resultado valha para sentencas com menos de n conectivos. Deve-se provar, entao, que
o resultado vale para sentencas com n conectivos. Considera-se dois casos:
(a) n = 0. Uma sentenca sem conectivos e uma vari
avel proposicional, e esta tem apenas
dois prefixos: e ela mesma. Em ambos o n
umero de abre e fecha parenteses e zero.
(b) n > 0. Uma sentenca com conectivos e da forma ou ( ), onde {, ,
, }:
i) . Como tem n 1 conectivos, o resultado vale para , pela hip
otese de
induc
ao. Segue-se que vale tambem para , que n
ao tem outros parenteses que os
de .
ii) ( ). Como e tem menos de n conectivos, o resultado vale para ambos,
pela hip
otese de induc
ao. Segue-se que o resultado vale tambem para . E o
resultado continua valendo ao se colocar os parenteses externos.
14
1.9
Grafos
1. Isto segue do fato de que a soma dos graus dos vertices e par: em um grafo sem arestas
tal soma e zero, e cada aresta acrescenta 2 unidades `a soma.
2. Ser
a feita uma prova por induc
ao sobre o n
umero de vertices. A menor arvore, que e da
forma ({v}, , v), tem um vertice e nenhuma aresta. Seja um n
umero n 1 e suponha,
como hip
otese de induc
ao, que a proposicao e verdadeira para arvores com n vertices.
Uma arvore com n + 1 vertices e da forma (V {v}, A {{v, v }}, r), onde v V , v 6 V
e (V, A, r) e uma
arvore de n vertices. Pela hip
otese de inducao, |A| = n 1, ou ainda,
|A| + 1 = (n + 1) 1, o que mostra que a proposicao vale para arvores de n + 1 vertices,
ja que estas tem |A| + 1 arestas.
3. Isto segue do fato de que a cada aresta introduzida no grafo, a soma dos graus dos vertices
aumenta de 2 unidades.
4. O n
umero de arestas de Kn e C(n, 2) = n(n + 1)/2.
5.
a) Uma
arvore bin
aria de altura 0 tem apenas 1 vertice e ele e folha; e 20 = 1. Seja
n 0. Suponha, como hip
otese de inducao, que arvores bin
arias de altura n possuem,
n
no m
aximo, 2 folhas. Uma arvore bin
aria B de altura n + 1 possue um m
aximo
de folhas quando as duas subarvores da raiz possuem um m
aximo de folhas. Isto
acontece quando ambas tem altura n. Assim, pela hip
otese de inducao, elas possuem
n
n
n
n+1
2 folhas. Logo a
arvore B tem 2 + 2 = 2
folhas.
b) Uma
arvore bin
aria de altura 0 tem apenas 1 vertice; e 20+1 1 = 1. Seja n 0.
Suponha, como hip
otese de inducao, que arvores bin
arias de altura n possuem, no
m
aximo, 2n+1 1 vertices. Uma arvore bin
aria B de altura n + 1 possue um m
aximo
de vertices quando as duas subarvores da raiz possuem um m
aximo de vertices. Isto
acontece quando ambas tem altura n. Assim, pela hip
otese de inducao, elas possuem
2n+1 1 vertices. Logo a
arvore B tem os 2n+1 1 vertices de cada uma mais a raiz:
2n+1 1 + 2n+1 1 + 1 = 2 2n+1 + 1 = 2n+2 + 1.
6. Ser
a usada a definic
ao de
arvore do livro.
(a)(b) Por induc
ao sobre o n
umero de vertices. Se a arvore tem 1 vertice n
ao tem
arestas. Logo, satisfaz (b). Seja n 1, e suponha que (b) vale para arvores de n vertices.
Seja uma
arvore A de n + 1 vertices. Pela definicao, tal arvore e formada de uma arvore
de n vertices pela inclusao de um vertice novo e uma nova aresta. Como, pela hip
otese
de induc
ao, (b) vale para
arvore de n vertices, entao continua valendo para A.
(b)(c) Sendo o grafo acclico, se existir um caminho simples de um vertice a outro,
ele e u
nico. Assim, basta mostrar a existencia de caminho simples. Isto ser
a feito por
inducao sobre o n
umero de vertices. Se o grafo tem 1 vertice, existe caminho simples dele
ate ele mesmo. Seja n 1, e suponha que (c) vale para grafos (que satisfazem (b)) de
n vertices ou menos. Seja Seja um grafo G de n + 1 vertices que satisfaca (b). Seja v
um vertice arbitrario de G. Suponha que existam k vertices adjacentes a v, v1 , v2 ,. . . ,vk .
Retirando-se as arestas {v, v1 }, . . . , {v, vk }, como o grafo e acclico, obtem-se k + 1 grafos
(componentes) sem vertices em comum, k grafos em que est
ao os vertices v1 , v2 ,. . . ,vk ,
e um contendo apenas v. Pela hip
otese de inducao, (c) vale para cada um deles. Com a
reinclusao de v e arestas incidentes, haver
a tambem um caminho simples de cada vertice
de cada um dos k + 1 componentes a qualquer outro de outro componente, passando por
v.
15
1.10
Linguagens Formais
1. O n
umero de prefixos e o de sufixos e n + 1. O n
umero m
aximo de subpalavras e 1 +
C(n 1 + 2, 2) = 1 + C(n + 1, 2) = 1 + (n + 1)n/2; assim, o n
umero de subpalavras vai
de n + 1 a 1 + (n + 1)n/2.
2.
a) {1} {0}{0, 1} .
d) {} {0}{10} {1}{01} .
e) {xx | x {0, 1} }.
3.
a) {0, 1}10 .
d) {1, 011} .
4.
7. Uma condic
ao necessaria e suficiente para L = LR e: w L se, e somente se, wR L,
para toda palavra w.
Prova:
() Suponha que L = LR . Seja w uma palavra arbitraria. Se w L, entao, pela definic
ao
de reverso, wR LR ; e como LR = L, wR L. Por outro lado, se wR L, entao, pela
definic
ao de reverso, (wR )R = w LR ; e como LR = L, w L. Assim, para toda palavra
w, w L se, e somente se, wR L.
8. A prova ser
a por induc
ao sobre n. Para n = 0, tem-se: (wR )0 = = R = (w0 )R .
Seja n 0 e suponha que (wR )n = (wn )R . Segue-se que: (wR )n+1 = (wR )n wR =
(wn )R wR , pela hip
otese de inducao. E como (wn )R wR = (wwn )R = (wn+1 )R , segue-se
que (wR )n+1 = (wn+1 )R .
9. L
nN L
n.
Por induc
ao forte sobre |w|. Suponha, como hip
otese de inducao, que se w L ent
ao
S
n
w nN L para palavras de tamanho menor que um certo k arbitrario. Para mostrar
que isto vale tambem para palavras de tamanho k, considera-se dois casos:
k = 0. A u
nica palavra de tamanho 0 e , e
nN L
n,
pois L0 = {}.
k > 0. Seja w de tamanho k tal que w L . Pela definicao de fecho de Kleene, pode-se
S
dizer que w = xy, onde x L , y L e y 6= . Pela hip
otese de inducao, x nN Ln .
Segue-se que x Li para algum i N. Como y L, tem-se que xy Li+1 . Portanto,
S
w nN Ln .
nN L
L .
Este resultado segue do fato de que para todo n 0, Ln L , fato este que ser
a provado
0
por induc
ao sobre n. Inicialmente, note que L = {}, e L por definicao. Seja
n arbitrario e suponha que Ln L . Como Ln+1 = Ln L, e, pela hip
otese de inducao,
Ln L , segue-se, pela definic
ao de fecho de Kleene, que Ln+1 L .
10.
se xy L L ent
ao xy L para palavras y de n ou menos smbolos. Seja y uma
palavra arbitraria de L de n + 1 smbolos e x L . Entao, y = y1 y2 , onde y1 L
e y2 L, y2 6= . Assim, dado que xy1 L L , pela hip
otes de inducao xy1 L .
Como y2 L, segue-se que (xy1 )y2 = xy L .
d) (L1 L2 ) (L1 L2 ) .
Ser
a provado, por induc
ao no tamanho de w que para quaisquer palavras w (L1
otese
L2 ) , w (L1 L2 ) . Tem-se: (L1 L2 ) . Seja n 0 e suponha, como hip
de induc
ao, que z (L1 L2 ) para palavras z (L1 L2 ) de n ou menos smbolos.
Seja w (L1 L2 ) de n + 1 smbolos. Entao, w = xy, y 6= , x (L1 L2 ) e
y (L1 L2 ). Pela hip
otese de inducao, x (L1 L2 ) . Se y L1 , entao y L1 e,
a) Definic
ao recursiva de X = {0} {1} :
X;
se x X ent
ao 0x X e x1 X.
b) Definic
ao recursiva de Y = {0n 1n | n N}:
Y;
se x Y ent
ao 0x1 Y .
c) Definic
ao recursiva de Z = {w {0, 1} | w contem 00}:
00 Z;
se x Z ent
ao 0x, 1x, x0, x1 Z.
d) Definic
ao recursiva de W = {00 101 102 1 . . . 0n 1 | n N}:
1, 101 W ;
se x10n 1 W ent
ao x10n 10n+1 1 W .
1.11
Gram
aticas
1. Nas derivac
oes abaixo est
ao grifadas as vari
aveis expandidas.
a) A BB B .
A BB B .
18
b) A
A
A
A
c) A
A
A
A
A
A
d) A
A
A
A
A
A
A
A
BB
BB
BB
BB
BB
BB
BB
BB
BB
BB
BB
BB
BB
BB
BB
BB
BB
BB
0B1B
0B1B
B0B1
B0B1
0B1B
0B1B
0B1B
B0B1
B0B1
B0B1
01B
0B1
0B1
B01
01.
01.
01.
01.
aak A(bC)k bc
aak (bC)k bc
ak+1 (bC)k1 b2 Cc
2
ak+1 (bC)k2 b3 C2 c
..
.
k
ak+1 bk+1 Ck c
k
(regra 1)
(regra
(regra
(regra
(regra
2, k vezes; k 0)
3)
4, 1 vez)
4, 2 vezes)
(regra 4, k vezes)
(regra 5, k vezes)
Cada uma destas palavras pode ser gerada, por meio de G , como mostrado abaixo. O
que est
a diferente est
a grifado.
P aAbD
k
aak A(bC)k bD
aak (bC)k bD
ak+1 (bC)k1 b2 CD
2
ak+1 (bC)k2 b3 C2 D
..
.
k
ak+1 bk+1 Ck D
k
(regra 1)
(regra
(regra
(regra
(regra
2, k vezes; k 0)
3)
4, 1 vez)
4, 2 vezes)
(regra 4, k vezes)
(regra 5, k vezes)
(regra 6, 1 vez)
19
P aI | bP |
I aP | bI
a)
X aXb |
b)
X aXa | bXb | | a | b
c)
P A|B |
A aBa | a
B bAb | b
d)
P aBP Cd |
BC bc
Ba aB
Bb bb
dC Cd
cC cc
e)
4. Para a gram
atica do item (b), observando-se o esquema:
k
X ak Xbk ak bk .
ve-se que s
ao gastos k + 1 = (n/2) + 1 passos.
Para a gram
atica do item (c), se n = 0, e gasto 1 passo:
X
e se n > 0 s
ao gastos k = n/2 + 1 passos, pois
k
Uma derivac
ao comeca assim: X xXxR (regras 1 e 2, k vezes, k 0, |x| = |xR | =
k).
Em seguida, e aplicada uma das 3 u
ltimas regras. Se for a regra , o n
umero de
passos e k = (n/2) + 1, onde n = 2k. Se for uma das outras duas regras, o n
umero
de passos e k = [(n 1)/2] + 1, onde n = 2k + 1.
5. L(G) = {a} {b} .
Prova:
{a} {b} L(G). O seguinte esquema de derivacao mostra que toda palavra da forma
ai bj , para i, j 0, e gerada por G:
i
A ai A
ai B
j
ai bj B
ai bj
Como qualquer palavra gerada por G segue necessariamente este mesmo esquema de
derivac
ao, segue-se que L(G) {a} {b} .
20
1.12
1.
Problemas de Decis
ao
a) Nada se pode dizer. X pode ser decidvel ou n
ao.
b) X e decidvel: para qualquer entrada x (para X), o algoritmo R produz uma sada
y, a partir da qual um algoritmo para D obtem a resposta para x.
c) X e indecidvel: pelo item anteriror, se X fosse decidvel, I seria decidvel.
d) Nada se pode dizer. X pode ser decidvel ou n
ao.
1.13
Exerccios
por ;
por ( ) ( );
x por x.
3. Por induc
ao sobre n. Inicialmente, veja que (0 + 1)2 02 = 1 > 0. Seja n um n
umero
natural arbitrario. Suponha, como hip
otese de inducao, que existe k N tal que (k+1)2
2
otese
k > n. Seja k0 tal n
umero. Como (k0 +1)2 k02 = k02 +2k0 +1k02 = 2k0 +1, pela hip
de induc
ao, tem-se que 2k0 + 1 > n. Logo, 2k0 + 2 > n + 1. E como (k0 + 2)2 (k0 + 1)2 =
k02 + 4k0 + 4 k02 2k0 1 = 3k0 + 3, segue-se que (k0 + 2)2 (k0 + 1)2 > n + 1. Portanto,
existe um n
umero natural k tal que (k + 1)2 k2 > n + 1: k0 + 1 seria um tal n
umero.
4. Deve-se provar que existem k, n0 N tais que para todo n n0 , 10n2 +100n+1000 kn2 .
Sejam k = 1110 e n0 = 1. Ser
a provado, por inducao, que para todo n n0 , 10n2 +100n+
2
2
1000 kn = 1110n . Inicialmente, veja que 10 12 + 100 1 + 1000 = 1110 = 1110 12 .
Seja n um n
umero natural arbitrario maior ou igual a 1, e suponha, como hip
otese de
2
2
2
inducao, que 10n + 100n + 1000 1110n . Segue-se que 10(n + 1) + 100(n + 1) + 1000 =
10n2 + 20n + 10 + 100n + 100 + 1000 = (10n2 + 100n + 1000) + 20n + 110. Pela hip
otese
2
2
de induc
ao, (10n + 100n + 1000) + 20n + 110 1110n + 20n + 110. Como esta u
ltima e
menor do que (1110n2 + 20n + 110) + 2200n + 1000 e esta, por sua vez e igual a 1110n2 +
2220n + 1110 = 1110(n + 1)2 , conclui-se que 10(n + 1)2 + 100(n + 1) + 1000 < 1110(n + 1)2 .
Portanto, pelo princpio de inducao, para todo n 1, 10n2 + 100n + 1000 1110n2 . J
a
que existem k, n0 N tais que para todo n n0 , 10n2 + 100n + 1000 kn2 , conclui-se
que 10n2 + 100n + 1000 e O(n2 ).
Tecnicas de provas utilizadas: construtiva para a existencial 2 vezes (quando se exibiu
k = 1110 e n0 = 1) e induc
ao (para provar que para todo n n0 . . .).
21
j1 6=j2 6=6=jk
Para provar este resultado por inducao, note inicialmente que | 1i=1 Ai | = |A1 | = S1 . Seja
n 1 arbitrario. Hipotese de inducao: | ni=1 Ai | = S1 + S2 + + Sn , sendo Sk definido
Pela hip
otese de induc
ao, segue-se que:
n
| n+1
i=1 Ai | = S1 + S2 + + Sn + |An+1 | |(i=1 Ai ) An+1 |.
ao:
Como S1 = S1 + |An+1 | e a intersecao distribui sobre uni
n
| n+1
i=1 Ai | = S1 + S2 + + Sn | i=1 (Ai An+1 )|.
Pela hip
otese de induc
ao, tem-se que:
| n+1
i=1 (Ai An+1 )| = S1 + S2 + + Sn , onde:
Sk = (1)k+1
j1 6=j2 6=6=jk
para 1 k n. Ou ainda:
Sk = (1)k+1
j1 6=j2 6=6=jk
Assim, como
| n+1
i=1 Ai | = S1 + S2 + + Sn (S1 + S2 + + Sn ).
, conclui-se que
= Sn , e Sn = Sn+1
e como S2 S1 = S2 , S3 S2 = S3 , . . . , Sn Sn1
n+1
| i=1 Ai | = S1 + S2 + + Sn + Sn+1 .
6.
7.
a) A B (A B) (A B).
Seja x A B. Ent
ao, por definicao, x A B ou x B A. No primeiro
caso, x A e x 6 B; como x A, x A B, e como x 6 B, x 6 A B. Assim,
x (A B) (A B). No segundo caso, procede-se de forma an
aloga para mostrar
que tambem x (A B) (A B).
(A B) (A B) A B.
Seja x (A B) (A B). Segue-se que x A B e x 6 A B. Caso 1:
x A. Como x 6 A B, x 6 B. Assim, x A B. Caso 2: x B. Como
x 6 A B, x 6 A. Assim, x B A. Portanto, x A B ou x B A, ou ainda,
x (A B) (B A) = A B.
b) A (B C) (A B) C.
Seja x A (B C). Ent
ao, pela definicao, x A (B C) ou x (B C) A.
Caso 1: x A (B C).
Ent
ao x A e x 6 B C. Desta u
ltima, segue-se que x 6 B C e x 6 C B, ou
seja, (I) x 6 B ou x C e (II) x 6 C ou x B. Por um lado, se x C, de (II)
segue-se que x B; com isto, x 6 A B e x 6 B A; logo, x 6 A B e, assim,
x C A B. Por outro lado, se x 6 C, de (I) segue-se x 6 B; com isto, e como
x A, x A B e, portanto, x A B; segue-se que x (A B) C. Como
x C A B se x C, e x (A B) C se x 6 C, conclui-se que x (A B) C.
Caso 2: x (B C) A
Ent
ao x B C e x 6 A. Da primeira, Segue-se que x B e x 6 C ou x C e
x 6 B. No caso em que x B e x 6 C, x B A e, portanto, x A B; segue-se
que x (A B) C e que x (A B) C. E no caso em que x C e x 6 B,
x 6 A B e x 6 B A; portanto, x 6 A B; e assim, x C (A B), ou ainda,
x (A B) C.
(A B) C A (B C).
Procede-se forma similar `
a acima.
c) (A B) (B A) A B.
Seja x (A B) (B A). Entao x (A B) (B A) ou x (B A) (A B).
No caso em que x (A B) (B A), x A B e, portanto, x A B. E no
caso em que x (B A) (A B), x A B e, portanto, x A B.
A B (A B) (B A).
Seja x A B. Ent
ao x A B ou x B A. No primeiro caso, segue-se que
x (A B) (B A), e no segundo segue-se que x (B A) (A B). Assim,
em qualquer caso, x (A B) (B A).
d) ()
Suponha que A B = A e suponha que B 6= . Seja, entao b B. Se b A, entao,
como A B = A, b A B; mas isto e impossvel, pois se b A, b 6 B A e se
b B, b 6 A B. Assim, b 6 A. Neste caso, b B A e, logo, b A B. Mas
isto tambem n
o pode ser, ja que A B = A. Conclui-se, portanto, que b n
ao pode
existir, e, assim, B = .
()
Suponha que B = . Prova-se, primeiro, que A B A. Seja x A B. Com
isto, x A B ou x B A. Como B = , este u
ltimo caso e impossvel. Assim,
x A B. E como B = , x A. Portanto, A B A. Agora, prova-se que
A A B. Seja x A. Como B = , x A B e, portanto, x A B. Logo,
A A B.
23
a) f (A B) f (A) f (B).
Seja x f (A B). Ent
ao, x = f (y) onde y A B. Se y A, segue-se que
f (y) f (A) e se y B, f (y) f (B). Assim, x = f (y) f (A) f (B).
f (A) f (B) f (A B).
Seja x f (A) f (B). Ent
ao x f (A) ou x f (B). Se x f (A), entao x = f (y),
onde y A; se y A, y A B, e portanto x = f (y) f (A B). Da mesma forma,
mostra-se que se x f (B), x f (A B).
24
b) f (A B) f (A) f (B).
Seja x f (A B). Ent
ao, x = f (y) onde y A B. Assim, y A e y B, de onde
se segue que f (y) f (A) e f (y) f (B). Logo, x = f (y) f (A) f (B).
12.
a) Tem-se:
fA (x) = 1 x A
por definicao
x 6 A
por definicao
fA (x) 6= 1
fA (x) = 0
1 fA (x) = 1.
Portanto, fA (x) = 1 fA (x).
b) Tem-se:
fAB (x) = 1 x A B
por definicao
x A ou x B
fA (x) = 1 ou fB (x) = 1 por definicao
fA (x) + fB (x) fA (x)fB (x) = 1.
Portanto, fAB (x) = fA (x) + fB (x) fA (x)fB (x).
c) Tem-se:
fAB (x) = 1 x A B
por definicao
xAexB
fA (x) = 1 e fB (x) = 1 por definicao
fA (x)fB (x) = 1.
Portanto, fAB (x) = fA (x)fB (x).
d) Tem-se:
fAB (x) = 1 x A B
por definicao
x A e x 6 B
fA (x) = 1 e fB (x) 6= 1
por definicao
fA (x) = 1 e fB (x) = 0
fA (x) = 1 e 1 fB (x) = 1
fA (x)(1 fB (x)) = 1.
Portanto, fAB (x) = fA (x)fB (x).
13. ()
Seja uma func
ao injetora f : A B. Seja C a imagem de A. Entao g : C A tal que
g(c) e o elemento a tal que f (a) = c e uma funcao sobretora. O elemento a existe e e
u
nico visto que f e uma func
ao injetora.
()
Seja uma func
ao sobrejetora f : B A. Entao g : A B tal que g(a) e algum elemento
de {b | f (b) = a} e uma func
ao injetora. Como f e uma funcao sobrejetora, para todo a
tal conjunto n
ao e vazio; e os conjuntos s
ao disjuntos, pois f e funcao.
14. Seja = {a1 , a2 , . . . , an }. Ent
ao:
e enumer
avel. Uma enumeracao para e dada pela funcao : N tal que
P
k
() = 0 e (apm apm1 . . . ap0 ) = m
k=0 (pk n ).
25
P( ) n
ao
e enumer
avel. Suponha que P( ) e enumeravel. Entao existe uma func
ao
bijetora de P( ) para N, de forma que os elementos de P( ) podem ser enumerados: A0 , A1 , A2 , . . .. Seja o conjunto B = {w | w 6 A(w) }, onde e a func
ao
de enumerac
ao vista acima (ou qualquer outra). Mas, como {(w) | w } = N,
segue-se que B 6= Ai para todo i N. Logo, a suposicao de que existe a enumerac
ao
A0 , A1 , A2 , . . . n
ao e correta, ou seja, P( ) n
ao e enumeravel.
15. Seja uma func
ao bijetora f : A P(A). Agora, considere o conjunto D A assim
definido:
para cada a A, a D se, e somente se, a 6 f (a).
Como f e uma func
ao bijetora, para cada X A deve existir x A tal que f (x) = X.
Em particular, para D deve ent
ao existir d A tal que f (d) = D. Mas, pela definicao de
D, segue-se que d D = f (d) se, e somente se, d 6 f (d). Tal contradicao leva `a conclusao
que n
ao existe uma func
ao bijetora de um conjunto A para um conjunto P(A).
Este resultado implica que para qualquer conjunto existe conjunto com cardinalidade
maior. Em particular, considerando-se conjuntos infinitos, existe uma infinidade de ordens de infinidade: N, P(N), P(P(N)), etc.
16. A representac
ao de um n
umero n na base b gasta logb n + 1 smbolos, se b > 1. Como
logb n = logb c logc n, onde b > 1 e c > 1, ve-se que a transicao de uma base para
outra, ambas maiores ou iguais a 2, e influenciada apenas por um fator constante, logb c.
E dado o exposto no Exemplo 47, as representacoes em bases maiores ou iguais a 2 s
ao
exponencialmente mais concisas do que na base 1.
17. Definic
ao recursiva de v : {0, 1} N, de forma que v(w) e o n
umero representado por
w na base 2:
a) v(0) = 0 e v(1) = 1;
b) v(x0) = 2v(x) e v(x1) = 2v(x) + 1.
18. Subtrac
ao:
a) m 0 = m, para todo m N;
b) para todo m N e todo n > s(0), m/n = 0, se m < n, e m/n = s((m n)/n), se
m n.
onde a relac
ao < e assim definida:
a) n < s(n), para todo n N;
b) se m < n, ent
ao m < s(n), para todo m, n N.
Resto da divis
ao:
a) n mod n = 0, para todo n N;
b) m mod n = m, se m < n;
a)
P0
1/k)
=
[
de induc
ao, que nk=2 (1 1/k) = 1/n. Segue-se que: n+1
k=2 (1
k=2
1/k)] [1 1/(n + 1)] = (1/n) [1 1/(n + 1)], pela hip
otese de inducao. Esta
u
ltima e igual a (1/n) (n + 1 1)/(n + 1)] = 1/(n + 1), o que completa a prova.
P
= 2( 2 + 1)/2 > 2, pois 2 +
1 > 2.
d) 2k=1 (1/ k) = 1 + 1/ 2 = ( 2 + 1)/ 2
Pn+1
Pn
Seja n 2.
k=1 (1/ k) =
Hipotese
de inducao: k=1 (1/ k) > n. Segue-se que: Pn+1
P
[ nk=1 (1/
k)]
+
1/
n
+
1.
Segue-se,
pela
hip
o
tese
de
indu
c
a
o,
que
k=1 (1/ k) >
n + 1/
n + 1. Masesta u
ltima e igual a [ n n + 1 + 1]/ n + 1, que,
por sua vez
22. Representando cada pessoa por um vertice e cada relacionamento de amizade por uma
aresta, de tal forma que v, v e uma aresta se, e somente se, as pessoas representadas por
v e v s
ao amigas, deve-se mostrar que o grafo tem 2 vertices com o mesmo grau. Para
27
isto, pode-se usar o princpio do pombal, segundo o qual para se acomodar n pombos em
menos de n casinhas, alguma casinha dever
a receber mais de 1 pombo. Seja um grafo de
n vertices, representando um grupo de n pessoas. Observando-se que um vertice pode ter
de 0 a n 1 vertices adjacentes (o grafo n
ao pode conter loops nem arestas m
ultiplas),
considera-se 2 casos. Supondo que um certo vertice tem grau 0, entao cada vertice s
o
pode ter graus de 0 a n 2 (um vertice n
ao pode ser adjacente a si mesmo nem `aquele de
grau 0). Por outro lado, se nenhum vertice tem grau 0, cada vertice s
o pode ter graus de
1 a n 1. Nos dois casos, pelo princpio do pombal, existem dois vertices com o mesmo
grau.
23. Se cada vertice pode ter qualquer n
umero de filhos, a altura e 0, se a arvore contem
apenas 1 vertice, e e 2, se ela contem mais de 1 vertice; neste u
ltimo caso, todos os
vertices, com excess
ao da raiz, s
ao filhos da raiz. Se cada vertice pode ter no m
aximo
k
r filhos, a altura mnima e a de uma arvore que em cada nvel k tem r vertices, com
excess
ao, possivelmente, do u
ltimo. Assim, a altura mnima, neste caso, e logr n, onde
n e o n
umero de vertices.
24.
a) Uma
arvore estritamente n-
aria com i vertices internos tem n i + 1 vertices, ja que
cada um dos i vertice internos tem n filhos; e o termo 1 refere-se `a raiz.
b) Dado o resultado anterior, tem-se que uma arvore estritamente n-aria de k vertices
tem (k 1)/n vertices internos. J
a o n
umero de folhas e k i = k (k 1)/n.
c) Uma
arvore estritamente n-aria com k vertices tem altura mnima igual a logn k,
e altura m
axima igual a (k 1)/n.
Ser
a provado por induc
ao sobre o tamanho das palavras w que se w L emtao w X.
0
0
= = 0 1 X. Seja n 0, e suponha, como hip
otese de inducao, que x X se
x L, para x tal que |x| = n. Para w L tal que |w| = n + 1 tem-se, pela definicao de L,
que w = 0y ou w = x1, onde x e y s
ao palavras de L. Pela hip
otese de inducao, segue-se
m
n
que x X e y X, ou seja, ambos, x e y s
ao da forma 0 1 . Entao w = 00m 1n X ou
m
n
w = 0 1 1 X.
X L.
Ser
a provado por induc
ao sobre o tamanho das palavras w que se w X emtao w L.
00 10 = = L. Seja n 0, e suponha, como hip
otese de inducao, que x L
se x X, para x tal que |x| = n. Para w X tal que |w| = n + 1 tem-se, que w e
da forma 00m 1n ou da forma 11n , onde m, n 0. No primeiro caso, pela hip
otese de
m
n
inducao, segue-se que 0 1 L; entao, pela definicao de L, w L. No segundo caso,
como 11n = 1n 1, e, pela hip
otese de inducao, 1n L, tem-se tambem que, pela definic
ao
de L, w L.
26.
a) Definic
ao recursiva de L1 = {w {0, 1} | |w| e par}:
L1 ;
se y L1 , ent
ao 00y, 01y, 10y, 11y L1 .
b) Definic
ao recursiva de L2 = {w {0, 1} | w e palndromo}:
, 0, 1 L2 ;
se w L2 , ent
ao 0w0, 1w1 L2 .
c) Definic
ao recursiva de L3 = {w {0, 1} | w contem 00}:
28
00 L3 ;
se w L3 , ent
ao 0w, 1w, w0, w1 L3 .
d) Definic
ao recursiva de L4 = {w {0, 1} | w n
ao contem 00}:
, 0 L4 ;
se y L4 , ent
ao y1, y10 L4 .
2
e) Definic
ao recursiva de L5 = {0n | n N}:
L5 ;
se y L5 , ent
ao y02 |y|+1 L5 .
f) Definic
ao recursiva de L6 = {w | w e uma permutacao dos dgitos 1, 2 e 3}:
123 L6 ;
se abc L6 , ent
ao acb L6 e bca L6 , onde a, b, c {1, 2, 3}.
g) Definic
ao recursiva de L7 = {w | w e uma permutacao dos 10 dgitos decimais}:
0123456789 L7 ;
se xab L7 ou axb L7 , entao xba L7 , onde a, b {1, 2} e x {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} .
27. Definic
ao recursiva de concatenaca
o:
x = x para x ;
se xR = y e a ent
ao (xa)R = axR .
Ser
a provado que (xy)R = y R xR por inducao sobre |y|. Para y = , tem-se: (xy)R =
(x)R = xR = xR = R xR = y R xR . Seja n 0, e suponha que (xy)R = y R xR para
palavras y tal que |y| = n. Seja w uma palavra de n+1 smbolos, ou seja w = za para uma
palavra z de n smbolos e a . Entao (xw)R = (x(za))R = ((xz)a)R , pela definicao de
concatenac
ao. E ((xz)a)R = a(xz)R , pelas definicao de reverso. Pela hip
otese de inducao,
segue-se que a(xz)R = a(z R xR ). Pelo resultado acima (associatividade da concatenacao),
a(z R xR ) = (az R )xR , e pela definicao de reverso, (az R )xR = (za)R xR = wR xR .
A seguir, mostra que se w e palndromo, w = vv R ou w = vav R para algum v
e a . Seja w um palndromo. Se |w| e par, entao w = xy, onde |x| = |y| 0.
Como w e palndromo, w = xy = (xy)R = y R xR . De xy = y R xR e do fato de que
|x| = |y| = |y R |, segue-se que y R = x (e xR = y). Assim, w = xy = xxR . Agora, suponha
que |w| e mpar. Ent
ao w = xay, onde |x| = |y| 0, a . Como w e palndromo,
w = xay = (xay)R = y R (xa)R = y R axR . Como w = xay = y R axR e |x| = |y| = |y R |,
segue-se que y R = x (e xR = y) e, portanto, w = xay = xaxR .
29
31
32
Captulo 2
M
aquinas de Estado-Finito
2.1
Alguns Exemplos
11
22d
10
33e
01
32e
02
31d
02
30d
01
31e
20
11d
11
01
22e
32d
11
01e
01
00d
11e
02
10
01
20
01d
02
03e
01
02d
02e
0
1
2
3
0
0
3
2
1
1
1
0
3
2
2
2
1
0
3
de A para C (nome: A2 );
de B para C (nome: B);
de C para B (nome: C).
Procurando maximizar o n
umero de sem
aforos abertos (isto e com o farol verde aceso),
chega-se a um conjunto de tres situacoes possveis:
A1 e A2 abertos, B e C fechados;
A2 e C abertos, A1 e B fechados;
B e C abertos, A1 e A2 fechados.
A m
aquina ter
a tres estados, um para cada uma destas tres situacoes. Para dar nome a
um estado ser
ao usados os nomes dos sem
aforos abertos na situacao correspondente. Os
estados ser
ao: {A1 , A2 }, {A2 , C} e {B, C}.
A transic
ao de um estado para outro dependera das leituras dos sensores. Para cada
sem
aforo h
a um sensor que verifica se h
a veculo no sentido controlado por ele. Para os
sem
aforos A1 , A2 , B e C, sejam a1 , a2 , b e c as situacoes em que o sensores respectivos
est
ao detectando a presenca de veculo nos sentidos respectivos. Assim, um subconjunto
de S = {a1 , a2 , b, c} pode ser usado para indicar os sentidos em que os carros est
ao se
movimentando. Por exemplo, indica que nenhum veculo est
a sendo detectado; {a1 , c}
indica que s
o est
ao sendo detectados veculos nos sentidos de A para B e de C para B.
Existir
a uma transic
ao de cada estado sob cada subconjunto de S.
Para cada transic
ao, ser
a especificada como sada uma seq
uencia de acoes do tipo liga/desliga
sem
aforos. A ac
ao ligar sem
aforo x, x {A1 , A2 , B, C}, ser
a representada por l(x), e a
acao desligar sem
aforo x por d(x). A acao deixa como est
a ser
a representada por .
A figura a seguir mostra um diagrama de estados para o problema. Para simplificar o
diagrama, cada aresta representa um conjunto de transicoes; no diagrama, a sada e a
mesma para cada uma de tais transicoes. Para este fim, os r
otulos s
ao da forma X/y,
onde X e um conjunto de subconjuntos de S, e y, a sada comum, e uma seq
uencia de
acoes liga/desliga.
Alguns valores para X est
ao indicados atraves da notacao:
[s]+ = {X S | s X}; e
[s1 \s2 ] = [s1 ]+ [s2 ]+ .
Aqueles da forma [s]+ rotulam transicoes com maior prioridade. Por exemplo, no estado
{A2 , C}, dois conjuntos, um com a1 e outro com b indicam que h
a veculos nos sentidos
dos sem
aforos A1 e B. Com isto, deve-se escolher entre a transicao para o estado {A1 , A2 }
e a transic
ao para o estado {B, C}. L
a est
a indicado que a transicao escolhida e aquela
+
para {B, C}, pois [b] = {X S | b X} e [a1 \b] = [a1 ]+ [b]+ (veja a figura).
34
P({A1 , A2 })/
P({A2 , C})/
{A1 , A2 }
{A2 , C}
[a1 \b]/d(C)l(A1 )
[b\c]/d(A1 )d(A2 )l(B)l(C)
[a2 \a1 ]/d(B)l(A2 )
{B, C}
P({B, C})/
Pode-se mostrar que, nesta solucao, n
ao h
a possibilidade de um veculo ser impedido de
se dirigir de algum ponto a outro indefinidamente. Por outro lado, a solucao apresentada
n
ao e u
nica.
2.2
1.
Aut
omatos Finitos Determinsticos
a)
b)
c)
d)
0,1
0,1
0,1
0,1
0,1
0,1
0,1
0,1
0,1
0,1
0,1
0,1
0,1
0,1
e)
0
1
0
1
0
1
0
1
f) Um AFD seria aquele com estados E = ({0, 1, 2} {0, 1, 2}) {e}, sendo e um estado
de erro, e cada estado restante, da forma (i, j), atingido quando a palavra de entrada
w for tal que |w| mod 3 = i e w tiver j ocorrencias de 1. O estado inicial e (0, 0), os
estados finais s
ao (0, 1) e (0, 2), e a funcao de transicao e dada por:
35
a)
1
b)
1
c)
1
0
00
01
001
1
11
0,1
1
d)
0
0
0
1
0
1
0
e)
0
1
1
000
1
0
0
00
3.
a)
36
xyz
xyz
xyz
se a = 0
se a = 1
se a = 2
0
0
0,1
0,1
0,1
1
b)
c)
1
0
0
0
1
0
0
1
Logo, s
ao necessarios 8 estados. Representado-se cada estado como uma tripla
[k1 , k2 , k3 ], de forma que cada ki pode ser p (par) ou i (mpar), e
k1 = p |x| e par,
k2 = p x tem n
umero par de 0s nas posicoes pares, e
k3 = p x tem n
umero par de 0s nas posicoes mpares,
({p, i}3 , {0, 1}, , [p, p, p], {[p, p, i], [i, p, i]}})
sendo dada por ([k1 , k2 , k3 ], 0) = [k1 , k2 , k3 ] e ([k1 , k2 , k3 ], 1) = [k1 , k2 , k3 ], onde:
e)
k1 = p k1 = i
k2 = p (k1 = p e k2 = p) ou (k1 = i e k2 = i)
k3 = p (k1 = i e k3 = p) ou (k1 = p e k3 = i)
1
1
p
u
0,1
y) = (
(e,
), y), pela definicao de .
Suponha,
5. Por induc
ao sobre |x|. Para x = , (e,
como hip
otese de induc
ao, que (e, xy) = ((e, x), y) para palavras x de tamanho n,
n 0. Para palavras de tamanho n + 1, az, onde a e um smbolo do alfabeto e z uma
palavra de tamanho n, tem-se:
azy)= ((e,
(e,
a), zy)
pela definicao de
= ((az), y)
pela definicao de .
6. Em Prolog, um AFD poderia ser representado por meio de 3 predicados:
inicial(E): E e um estado inicial;
final(E): E e um estado final;
delta(E1,A,E2): (E1, A) = E2.
Representando uma palavra por meio de lista, sendo representanda pela lista vazia, um
programa que retorna yes se uma palavra W e aceita, e retorna no em caso contr
ario, seria:
aceita(W) :inicial(I),
deltachapeu(I,W,E),
final(E).
onde deltachapeu e assim definida:
deltachapeu(E,[],E).
deltachapeu(E,[X|R],ER) :delta(E,X,EX),
deltachapeu(EX,R,ER).
7. Basta substituir o comando
e D[e, s]
por um comando da forma:
caso e seja
pp: se s = 0
ip: se s = 0
pi : se s = 0
ii : se s = 0
fimcaso
ent
ao
ent
ao
ent
ao
ent
ao
e ip sen
ao e pi
e pp sen
ao e ii
e ii sen
ao e pp
e pi sen
ao e ip
38
fimse
fimse
fimse
fimse
8. A definic
ao 6 diz que e e se, e somente se:
y) F se, e somente se, (e
, y) F .
(e,
para toda palavra y. Ent
ao, que e uma relacao de equivalencia, segue diretamente do
fato de que (se e somente se) e tambem uma relacao de equivalencia.
9. Deve-se provar que [e]n = {e | e n e }. Ser
a feita uma prova por inducao sobre n. Para
o caso em que e F , [e]0 = F , por definicao. E, ainda para o caso em que e F , pela
Definic
ao 8 tem-se que para todo e e 0 e se, e somente se, e F ; logo, {e | e n e } = F .
Portanto, [e]0 = F = {e | e 0 e } se e F . Para o caso em que e 6 F , analogamente se
mostra que [e]0 = E F = {e | e 0 e }. Seja n 0 e suponha, como hip
otese de inducao,
11. Cada estado do AFD original e representado pela palavra que leva do estado inicial ate
ele. O estado de erro e representado por *. As particoes do conjunto de estados evoluem
assim (tal sequencia foi obtida por meio de um programa feito pelo autor em Prolog):
S0 : {{,al,alm,as,b,ba,bar,barc,br,bra,bras,bro,c,cal,calm,cas,d,di,dis,disc,*},
{a,alma,asa,barco,brasa,broa,ca,calma,casa,disco}}.
S4 : {{}, {alm,as,bras,bro,calm,cas}, {c}, {al,cal}, {b}, {ba}, {d}, {*}, {di}, {bar,dis},
{br}, {bra}, {barc,disc}, {a,ca}, {alma,asa,barco,brasa,broa,calma,casa,disco}}.
S5 : {{}, {alm,as,bras,bro,calm,cas}, {c}, {al,cal}, {b}, {ba}, {d}, {*}, {di}, {bar,dis},
{br}, {bra}, {barc,disc}, {a,ca}, {alma,asa,barco,brasa,broa,calma,casa,disco}}.
12. Os AFDs tem 12 estados: aqueles de {1, 2, 3}{1, 2, 3, e}. O estado e e um estado de erro,
necessario para completar o diagrama de estados simplificado mostrado no Exerccio 2(b).
O estado inicial e [1, 1]. A func
ao de transicao e dada por:
39
[1, 1]
[1, 2]
[1, 3]
[1, e]
0
[2, 2]
[2, e]
[2, e]
[2, e]
1
[2, 1]
[2, 3]
[2, 1]
[2, e]
[2, 1]
[2, 2]
[2, 3]
[2, e]
0
[3, 2]
[3, e]
[3, e]
[3, e]
1
[3, 1]
[3, 3]
[3, 1]
[3, e]
[3, 1]
[3, 2]
[3, 3]
[3, e]
0
[1, 2]
[1, e]
[1, e]
[1, e]
1
[1, 1]
[1, 3]
[1, 1]
[1, e]
Os estados finais s
ao:
a) Para a uni
ao: {[1, 1], [1, 2], [1, 3], [1, e], [2, 1], [3, 1]}.
b) Para a intersec
ao: {[1, 1]}.
a-lo
13. Basta aplicar o produto aos AFDs M1 e M2 obtidos como abaixo, ao inves de aplic
diretamente sobre M1 e M2 . Fora isto, o lema e o teorema ficam inalterados. Dados os
AFDs M1 = (E1 , 1 , 1 , i1 , F1 ) e M2 = (E2 , 2 , 2 , i2 , F2 ), obtem-se M1 assim:
se 2 1 = , ent
ao M1 = M1 ;
se 2 1 6= , ent
ao M1 = (E1 {d}, 1 2 , 1 , i1 , F1 ), onde:
d 6 E1 ; e
1 (e, a) = (e, a), se a 1 ;
1 (e, a) = d, se a 2 1 ;
1 (d, a) = d, para todo a 1 2 .
Contradic
ao. Logo, n
ao existe AFD que reconhece L.
16.
a) Suponha que existe um AFD que reconheca a linguagem {0n 1n 0n | n N}, e seja k
seu n
umero de estados. Seja a palavra z = 0k 1k 0k L . De acordo com o Teorema
no final da sec
ao, existem u, v e w tais que z = uvw, v 6= e uv i w L para todo
i 0. Mas, como mostrado abaixo, uv 2 w 6 L:
1
Revuz, D. Minimization of acyclic deterministic automa in linear time, Theoretical Computer Science 92 ,
1992, pp. 181189.
2
Sgarbas, K.N, Fakotakis, N.D., Kokkinakis, G.K. Optimal insertion in deterministic DAWGs, Theoretical
Computer Science 301 , 2003, pp. 103117.
40
Contradic
ao. Logo, n
ao existe AFD que reconhece L.
b) Um AFD que reconhece {0n 0n 0n | n N}: ({1, 2, 3}, {0}, , 1, {1}), onde e dada
por: (1, 0) = 2, (2, 0) = 3, (3, 0) = 1.
17.
a) Um PD seria aquele que verifica se alguma das ||n palavras de tamanho n e reconhecida por M ou n
ao.
b) Seja k o n
umero de estados de M . Um PD seria aquele que verifica se alguma das
k1
18.
a) Sim. O AFD ({i}, {0}, , i, {i}) tal que (i, 0) = i reconhece {0} .
b) Sim. O n
umero de estados de um AFD que reconhece uma linguagem finita deve ter
no mnimo o tamanho da maior palavra reconhecida mais 1. Por exemplo, se uma
palavra tiver 999.999.999.999 smbolos, o AFD ter
a no mnimo 1 trilh
ao de estados.
c) Nao. {0} {1} pode ser reconhecida, e {0n 1n | n 0} n
ao pode.
2.3
1.
Aut
omatos Finitos N
ao Determinsticos
a) Segue o diagrama de estados para um AFNE (para economizar estados):
a,b,c
1
a,b,c
abc
a,b,c
abc
a,b,c
abc
b,c
?
2a
b,c
?
- 3a
@
a
a,c
@
@
? @
R
b - 3b
a,b,c
4
a,c
?
?
b b
- 1
2b
@
@
c @
c
R
@
2c
3c
c
6
6
a
a,b,c
a,b
a,b
a,b,c
?
abc,bca -
- 1
2
a,b,c
a,b,c
a,b,c
?
?
abc - 2
abc - 4
- 1
3
a,b,c
Figura 2.3: AFNE para tem (d).
42
a,b,c
?
2a
@
a
a,b,c
@
@
?
R
b@
- 2b
- 3
b
- 1
@
@
c @ c
R
@
2c
6
a,b,c
?
2a
@
b,c
a,b,c
@
@
?
a,c@
R
- 2b
- 3
b
- 1
@
@
c @
a,b
R
@
2c
6
a,b,c
b,c
?
2a
a
a,b,c
@
a
a,c
@
@
? @
bR
- 2b
- 3
?
b
- 1
@
@
c @ c
R
@
2c
6
a,b
b,c
b,c
?
?
a - 1a
2a
@
a,c @a
a,c
?
? @@
b bR
- 1b
3
2b
a,b
a,b
c
?
?
c - 1c
2c
b,c
?
- 1a
@
a
a,c
@
@
? @
bR
- 1b
- 2
a,b
c
?
- 1c
44
S
S
i , ), segue-se que (
Sn Xi , ) =
Como, por esta mesma definic
ao, ni=1 Xi = ni=1 (X
i=1
Sn
(X
,
).
Seja
n
um
n
u
mero
natural
arbitr
a
rio
e
suponha,
como
hip
o
tese
de inducao,
i=1 S i
Sn
n
S Sn
n
(e,
a),
y).
Pela
hip
o
tese
de
indu
c
a
o,
esta
e
igual
a
(
e i=1 Xi ((e, a), y).
e i=1 Xi
Sn S
eXi
eI
5. Um AFN com um u
nico estado final equivalente a M seria M = ({1, 2, 3, f }, {a, b}, , {1}, {1, f }),
onde e dada por:
1
2
3
a
{2, f }
{3, f }
{}
b
{}
{}
{3, f }
b) AFN M = ({0, 1, 2}, {a, b, c}, , {0, 1, 2}, {2}), sendo dada por:
0
1
2
a
{0, 1, 2}
{1, 2}
{2}
c) AFD M = ({{0, 1, 2}, {1, 2}, {2}, }, {a, b, c}, , {0, 1, 2}, {{0, 1, 2}, {1, 2}, {2}}), sendo
dada por:
{0, 1, 2}
{1, 2}
{2}
a
{0, 1, 2}
b
{1, 2}
{1, 2}
c
{2}
{2}
{2}
8. AFD ({{1, 2}, {2}, {2 }, {3}, {3 }}, {0, 1}, , {1, 2}, {{1, 2}, {2}, {3}}), em que e dada por:
45
{1, 2}
{2 }
{2}
{3}
{3 }
0
{2 }
{2}
{2 }
1
{3}
{3 }
{3}
9. AFD ({{p0 , p1 }, {i0 , p1 }, {i0 , i1 }, {p0 , i1 }, {p0 , p1 , i1 }, {i0 , p1 , i1 }}, {0, 1}, , {p0 , p1 }, F ), em
que F = {{i0 , i1 }, {p0 , i1 }, {p0 , p1 , i1 }, {i0 , p1 , i1 }}) e e dada por:
{p0 , p1 }
{i0 , p1 }
{i0 , i1 }
{p0 , i1 }
{p0 , p1 , i1 }
{i0 , p1 , i1 }
0
{i0 , p1 }
{p0 , p1 }
{p0 , i1 }
{i0 , i1 }
{i0 , p1 , i1 }
{p0 , p1 , i1 }
1
{p0 , p1 , i1 }
{i0 , i1 }
{i0 , p1 }
{p0 , p1 }
{p0 , p1 , i1 }
{i0 , p1 , i1 }
10. Na quest
ao 1 ja foram apresentados os AFNEs.
11. Seja um AFNE M = (E, , , I, F ). A funcao de transicao estendida para M , : P(E)
P(E), pode ser definida recursivamente assim:
w) = , para todo w ;
a) (,
b) (A,
) = A, para todo A E;
S
S
S
xy=w
Pela definic
ao de f , como e (e , ) e e f (A B), conclui-se que e f (A B).
Portanto, f (A) f (A B). De forma an
aloga, mostra-se que f (B) f (A B).
Conclusao: f (A) f (B) f (A B).
46
f (A B) f (A) f (B).
Seja e f (A B). Ser
a mostrado, por inducao sobre o n
umero mnimo de transicoes
necessarios para inclusao de um estado em f (A B), que e f (A) f (B). Se este
n
umero e zero, e A B pela definicao de f ; segue-se que e f (A), se e A, e
e f (B), se e B; logo, e f (A) f (B). Seja n 0, e suponha, como hip
otese de
inducao, que se o n
umero mnimo de transicoes necessarios para inclusao de um estado
em f (A B) for n, e f (A) f (B). Seja n + 1 o n
umero mnimo de transicoes
necessarios para inclusao de um certo estado e em f (A B); neste caso, pela definic
ao
de f , existe um estado e tal que e (e , ) e e f (A B). Pela hip
otese de inducao,
tem-se que e f (A) f (B). Pela definicao de f , como e (e , ), se e f (A),
e f (A), e se e f (B), e f (B). Conclui-se que e f (A) f (B). Portanto,
f (A B)E f (A) f (B).
14. Seja um AFN M = (E, , , I, F ). Um AFN equivalente, como pedido, seria M =
(E {i, f }, , , {i}, {f }), em que i, f 6 E, i 6= f e:
(e, a) = (e, a) para todo (e, a) E {};
(i, ) = I;
(i, a) = para a ;
2.4
1. A diferenca b
asica e que, no primeiro exemplo, s
ao considerados tres casos para v: v contendo apenas as, v contendo as e bs, e v contendo apenas bs; e, no segundo, e considerado
apenas um caso: visto que |uv| k, v contem apenas as.
2. Passo a passo:
k Nz L[|z| k u, v, w(z = uvw |uv| k |v| 1 i Nuv i w L)]
k Nz L[|z| k u, v, w(z = uvw |uv| k |v| 1 i Nuv i w L)]
k Nz L[|z| k u, v, w(z = uvw |uv| k |v| 1 i Nuv i w L)]
k Nz L[|z| k u, v, w(z = uvw |uv| k |v| 1 i Nuv i w L)]
k Nz L[|z| k u, v, w(z = uvw |uv| k |v| 1 i Nuv i w L)]
k Nz L[|z| k u, v, w((z = uvw |uv| k |v| 1) i Nuv i w L)]
k Nz L[|z| k u, v, w((z = uvw |uv| k |v| 1) i Nuv i w L)]
k Nz L[|z| k u, v, w((z = uvw |uv| k |v| 1) i Nuv i w 6 L)].
Assim, a contrapositiva e: k Nz L[|z| k u, v, w((z = uvw |uv| k |v|
1) i Nuv i w 6 L)] L n
ao e regular.
3.
a) Seja L = {0m 1n | m < n}. Suponha que L seja regular. Sejam k a constante do LB e
z = 0k 1k+1 . Sejam, de acordo com o LB, u, v e w tais que z = uvw, v 6= , |uv| k
e uv i w L para todo i 0. Mas, sendo z = uvw e |uv| k, v s
o contem 0s e,
2
k+|v|
k+1
2
portanto, uv w = 0
1 . E sendo v 6= , uv w 6 L. Isto contradiz o LB. Logo,
L n
ao e regular.
b) Seja L = {0n 12n | n 0}. Suponha que L seja regular. Sejam k a constante do LB e
z = 0k 12k . Sejam, de acordo com o LB, u, v e w tais que z = uvw, v 6= , |uv| k
47
Contradic
ao. Portanto, L n
ao e regular.
2
a) Seja L = {0, 1} {0n 1n | n 0}. Supondo que L seja regular, L tambem e, visto que
as linguagens regulares s
ao fechadas sob complementacao. Mas L = {0n 1n | n 0},
e esta n
ao e regular. Contradicao! Logo, L n
ao e regular.
b) Seja L = {0m 1n | m < n} {0m 1n | m > n}. Suponha que L e regular. Ent
ao
5.
0
? 1
- 0/0
1
- 0
1/1
0
1
?
2/2
sendo que 1 e 2 s
ao as funcoes de transicao dos AFDs dados;
i = [{0}, 000];
8. O conjunto das palavras sobre 2 que tem como sufixo alguma palavra de L e 2 (L 2 ).
Esta e regular, visto que as linguagens regulares s
ao fechadas sob intersecao e concatenac
ao.
2.5
M
aquinas de Mealy e de Moore
0
1
?
?
111- 000/0
001/1
011/2
111/3
6
6@ 0
1
@
0
1
0
0
@
?
@
?
R
0
0
1
100/1
010/1
101/2
110/2
1
6
0
1/1
? 1/0 - 0/0 -
?
- 0
1
2
1/1
0/1
[0, 0]
v0 /0
v0 /1
[0, 1]
v0 /1
v1 /0
[1, 0]
v0 /1
v1 /0
[1, 1]
v1 /0
v1 /1
2.6
1.
Express
oes Regulares
a) 0 + (0 + 1)0 + 11.
0/0
1/2
? 1/1 - 0/2 -
?
- 0
1
2
1/0
0/1
0 - [2, 0]/0
*
H
H 1
1
HH
6
6
0
1
HH
?
?
j
H
- [0, 0]/0
[2, 1]/1
1
0
1
0
Y
H
HH
HH
0 H
0
?
H ?
[0, 1]/1
[1, 1]/1
1
[1, 0]/0
3.
a) (a + b)3 (a + b) .
b) a(a + b)((a + b)(a + b)) .
c) b (ab ab ) .
d) (a + b) bb(a + b) .
e) (a + ba) bb(ab + a) .
f) a ( + b)a ( + b)a .
g) (c (a + b)c (a + b)) c .
h) (a + b + c) (a + b)( + c).
4.
a) + = +
=+
= .
(13)
(14)
(3)
(18)
(18)
(20)
(11)
Esta u
ltima se deve ao fato de que rs = s se L(r) e L(r) L(s); no caso,
r = (0 + 01) e s = (0 + 1) .
51
b
c
a
?
b
-
a
5.
6. As 16 possibilidades:
a
b
a
?b
a
-
b
b
a
?
?
b a a b
6
6
?
Y
*H
H
H aH a
a
HH HH
c - HH H
c
j
H
*
H
c
H
b b
bHH
H
j
H
q r(s + tq r)
r(s + tr)
q r(tq r)
q rs
r(tr)
rs
r = s = :
r = t = :
s = t = :
q = r = s = :
q = r = t = :
q = s = t = :
r = s = t = :
q = r = s = t = :
qr
a) A Figura 2.20(a) mostra um AFD para a linguagem. Eliminando-se 2 e 5, obtemse o diagrama ER da Figura 2.20(b). Em seguida, eliminando-se 4, obtem-se um
diagrama ER a partir do qual se obtem a ER 000 . Eliminando-se 3 em vez de 4,
obtem-se um diagrama ER a partir do qual obtem a ER (01 + 11 + 000 1)1 . Assim,
a ER e: 000 + (01 + 11 + 000 1)1 .
b) A Figura 2.21(a) mostra um AFD para a linguagem. Eliminando-se 3, obtem-se o
diagrama ER da Figura 2.21(b), a partir do qual se obtem a ER 1(1 + 00 1) .
aa
bb
a
b
ba
?
?
- 0
2
0
2
- 1
-
-
a
b
ab
(a) Eliminando-se o estado 3.
0 0 - 1
0
2
3
Z
Z
1
1
Z1
ZZ
?
?
~
1
- 4
1
5
00 3
0
Z
Z
01 + 11 Z
1
ZZ
?
~
1
4
1
0
1
?
?
1 - 1
2
- 3
0
1 +00 1
?
1 - 1
2
1 +00 1
?
1
- 1 11 00 4
b
?
c
a
- A
B
C
-
-
a
b
6
b,c
2.7
1.
Gram
aticas Regulares
a) ({P }, {0, 1}, {}, P ).
d)
e)
f)
P 0A | 1A |
A 0B | 1B
B 0P | 1P
pp 0 ip | 1 pi |
ip 0 pp | 1 ii
pi 0 ii | 1 pp
ii 0 pi | 1 ip
P 0A | 1P |
A 1B
B 1P
P 0P | 1P | 1A
A 0B | 1B
B 0|1
b
a - P
A
- B
b
6
a,b
?
ip 0 pp | 1 ii
pi 0 ii | 1 pp |
ii 0 pi | 1 ip
Para w = tem-se:
i e i = e pelas definic
oes de e R
e ({i},
x) e e ae R pela hip
otese de inducao
e ({i},
x) e e (e , a) pela definicao de R
e ({i},
xa) pela definicao de
6. Suponha que x = a1 a2 . . . an , sendo n 2. Entao a regra X xY pode ser substituda
pelas regras:
X a 1 R1
R1 a 2 R2
..
.
Rn1 an Y
em que R1 , R2 ,. . . , Rn s
ao vari
aveis novas, sem ocorrencias em qualquer outra regra da
gram
atica. De forma similar, a regra X x pode ser substituda pelas mesmas regras,
exceto a u
ltima, que fica sendo Rn1 an . Evidentemente, a linguagem gerada n
ao se
altera.
7. As construc
oes mencionadas a seguir s
ao todas possveis, como mostrado no livro.
56
b
?
c
a
c
a
b
6
6
6
b,c
a,b,c
2.8
Nao h
a exerccios para esta sec
ao.
2.9
1.
Exerccios
a) O diagrama de estados est
a mostrado na Figura 2.25.
b) O diagrama de estados est
a mostrado na Figura 2.26.
c) O diagrama de estados est
a mostrado na Figura 2.27.
d) O diagrama de estados est
a mostrado na Figura 2.28.
57
b
?
b
a -
a
6
b
Figura
2.27: AFD da questao 1(c).
b
?
a a
6
a
-
a
?
6
a,c
?
b - BC
- AC
b,c
d
?
?
- BD
a,d
AD
-
b
6
b,d
- 1
6
b
?
- 2
6
?
4
6
?
?
?
b 4
59
a 13
AK
6A
@
a
@a
12
A
@
R
@
A b
- 11
A
e
a,b
b a
Aa
@
A
b@
b
A
@
R
@
?
A
- 31
21
b
- 11
b a
@
b@
@
R
@
?
b
?
a - 13
12
24
43
b
a
?
0,1 0,1 -
1 1 - 1
2
3
4
5
3Q
0,1
1
0
Q
3Q
0
1
Q
Q
Q
?
s
Q
s
Q
Q
3
3Q
Q
Q
1Q
1Q
0,1
1
s
Q
s
Q
Q
3
Q
0Q
1
s
Q
0,1 -
0,1 6
0
?
1
@
1@
@
0
R
@
0,1 -
43
0,1 -
6
6
0 0 0
6
1 1
6
6
6
0,1
0,1
0,1
0,1
?
0
1
1
0
?
?
- 0
- 1
- 2
1
0
1
0
?
?
0 0
6
0
61
0,1
?
0,1
?
0,1 0,1 - 0
1
2
1
0
16
? 0 -
?
0 - m
- i
f
1
[0, i]
[0, m]
[1, m]
[2, m]
[0, f ]
[1, f ]
[2, f ]
[0, e]
[1, e]
[2, e]
0
[1, m]
[1, f ]
[2, f ]
[0, f ]
[1, f ]
[2, f ]
[0, f ]
[1, e]
[2, e]
[0, e]
1
[1, e]
[1, m]
[2, m]
[0, m]
[1, m]
[2, m]
[0, m]
[1, e]
[2, e]
[0, e]
[1, m] e [1, f ],
[2, m] e [2, f ].
inicial i e a partir dele e alcancado o estado final f ! Logo, todo estado e visitado no
reconhecimento de w por M encontra-se em E , juntamente com todas as transicoes
entre eles; com isso, w e reconhecida por M .
b) ()
Suponha que o diagrama de estados de M n
ao tenha ciclos. Suponha que L(M )
seja infinita. Seja k o n
umero de estados de M . Sendo L(M ) infinita, tem palavras
de tamanho maior ou igual a k. Mas, para reconhecer tais palavras, seria necessario
passar por mais de k estados! Logo, L(M ) = L(M ) n
ao pode ser infinita. Portanto,
se o diagrama de estados de M n
ao tem ciclos, L(M ) e finita.
()
Suponha que o diagrama de estados de M tenha ciclos. Seja e um estado de M que
faca parte de algum ciclo e suponha, entao, que para um certo v , e (e, v)
(observe que v 6= , visto que AFN n
ao tem transicoes ). Sejam i I e x tais
Ent
ao, xv y L(M ) para todo i 0! Portanto, L(M ) = L(M ) e infinita. Assim,
se L(M ) e finita, o diagrama de estados de M n
ao tem ciclos.
6.
a) L(M1 ) = .
b) L(M2 ) = {}.
7.
8.
n
ao regular L, obtem-se .
e) Sim. A intersec
ao de uma linguagem n
ao regular L com a linguagem n
ao regular L
e . Se uma linguagem n
ao regular L est
a contida em outra, a intersecao e L.
f) Nao. O complemento de uma linguagem n
ao regular L n
ao pode ser regular, pois se
fosse, o seu complemento, que e L, seria regular!
9.
Suponha que L seja regular. Seja k a constante do LB, e seja z = 0k 1k+10 . Como
z L e |z| > k, sejam, de acordo com o LB, u, v e w tais que z = uvw, |uv| k,
|v| > 0 e uv i w L para todo i 0. Mas, se |uv| k segue-se que v s
o pode conter 0s,
e se |v| > 0, v contem pelo menos um 0; segue-se, entao que uv 2 w = 0k+|v| 1k+10 6 L,
contradizendo o LB. Conclui-se que L n
ao e regular.
b) L = {0n y | y {0, 1} e |y| n}.
Suponha que L seja regular. Seja k a constante do LB, e seja z = 0k 1k , uma palavra
de L. Como |z| > k, sejam, de acordo com o LB, u, v e w tais que z = uvw, |uv| k,
|v| > 0 e uv i w L para todo i 0. Mas, se |uv| k e |v| > 0, segue-se que v e
constituda de pelo menos um 0, e uv 0 w = 0k|v| 1k , com |v| > 0. Assim, uv 0 w 6 L,
o que contradiz o LB. Logo, L n
ao e regular.
c) L = {0m 1n | m 6= n}.
Suponha que L seja regular. Entao, pelas propriedades de fechamento, L e regular
e, assim, L {0} {1} tambem e regular. Mas L {0} {1} = {0n 1n | n 0}, que
n
ao e regular. Contradic
ao. Logo, L n
ao e regular.
d) L = {am bn cm+n | m, n > 0}.
Suponha que L seja regular. Seja k a constante do LB, e seja z = ak bck+1 L. J
a
que |z| > k, o LB afirma que existem u, v e w tais que z = uvw, |uv| k, |v| > 0
e uv i w L para todo i 0. Se z = uvw e |uv| k, entao v s
o tem as e, assim,
0
k|v|
k+1
uv w = a
bc . E se |v| > 0, (k |v|) + 1 < k + 1 e, portanto, ak|v| bck+1 6 L,
o que contradiz o LB. Logo, L n
ao e regular.
2
e) L = {an bn | n 0}.
2
a
Suponha que L seja regular. Seja k a constante do LB, e seja z = ak bk L. J
que |z| > k, o LB afirma que existem u, v e w tais que z = uvw, |uv| k, |v| > 0
e uv i w L para todo i 0. Se z = uvw e |uv| k, entao v s
o tem as e, assim,
2
2
2
2
k+|v|
2
k+|v|
k
bk 6 L, o que
uv w = a
b . E se |v| > 0, (k + |v|) > k . Portanto, a
contradiz o LB. Logo, L n
ao e regular.
3
f) L = {an | n 0}.
3
Suponha que L seja regular. Seja k a constante do LB, e seja z = ak L. Como
|z| > k, o LB afirma que existem u, v e w tais que z = uvw, |uv| k, |v| > 0 e
3
uv i w L para todo i 0. Dado que z = uvw, uv 2 w = ak +|v| . Sendo |v| > 0,
k3 + |v| > k 3 . De |uv| k, segue-se que |v| k e, logo, k3 + |v| k3 + k; como
k3 + k < k 3 + 3k2 + 3k + 1 = (k + 1)3 , tem-se que k3 + |v| < (k + 1)3 . Assim,
3
k3 < k3 + |v| < (k + 1)3 e, portanto, k3 + |v| n
ao e um cubo perfeito e ak +|v| 6 L,
contradizendo o LB. Conclusao: L n
ao e regular.
g) L = {am bn | n m 2n}.
Suponha que L seja regular. Seja k a constante do LB, e seja z = ak bk . Como z L
e |z| > k, o LB afirma que existem u, v e w tais que z = uvw, |uv| k, |v| > 0
e uv i w L para todo i 0. Se z = uvw e |uv| k, entao v s
o tem as e, assim,
0
k|v|
k
k|v|
k
uv w = a
b . E se |v| > 0, k |v| < k. Portanto, a
b 6 L, o que contradiz o
LB. Logo, L n
ao e regular.
h) L = {xx | x {a, b} }.
Suponha que L seja regular. Seja k a constante do LB, e seja z = ak bak b. Como
z L e |z| > k, o LB afirma que existem u, v e w tais que z = uvw, |uv| k, |v| > 0
e uv i w L para todo i 0. Se z = uvw e |uv| k, entao v e uma subpalavra do
prefixo de k as e, assim, uv 2 w = ak+|v| bak b. Sendo |v| > 0, se uv 2 w tiver um n
umero
64
i) L = {xx | x {0, 1} }.
L {0} {1} = {0n 1n | n 0}. Como as linguagens regulares s
ao fechadas sob
intersec
ao, se L fosse regular, {0n 1n | n 0} tambem seria.
j) L = {w {0, 1} | w 6= wR }.
Se L fosse regular, pelas propriedades de fechamento, L tambem seria. Mas L e o
conjunto dos palndromos sobre {0, 1}, que n
ao e regular, como provado a seguir
usando-se o LB.
Suponha que L seja regular. Seja k a constante do LB, e seja z = 0k 10k . Como
z L e |z| > k, o LB diz que existem u, v e w tais que z = uvw, |uv| k, |v| > 0
e uv i w L para todo i 0. Se z = uvw e |uv| k, entao v e uma subpalavra
do prefixo de k 0s e, assim, uv 2 w = 0k+|v| 110k b. Sendo |v| > 0, a primeira metade
de uv 2 w (incluindo o smbolo do meio se |uv 2 w| for mpar) conter
a apenas 0s e 1
ao
ficar
a na segunda metade. Portanto, uv 2 w 6 L, o que contradiz o LB. Logo, L n
e regular.
k) L = {w {a, b, c} | o n
umero de as, bs e cs, em w, e o mesmo}.
Suponha que L e regular. Como {a} {b} {c} tambem e regular e as linguagens
regulares s
ao fechadas sob intersecao, L {a} {b} {c} deveria ser regular. Mas
o n
umero de as de uv (k+1)!+2 w e (k + 1)! + 1 + ((k + 1)! + 2 1)|v| = [(k + 1)! +
1](1 + |v|), que e divisvel por 1 + |v|;
o n
umero de bs continua sendo (k + 1)!, que tambem e divisvel por 1 + |v| (pois
2 1 + |v| k + 1, ja que |v| > 0);
e com isso, o m
aximo divisor comum de [(k + 1)! + 1](1 + |v|) e (k + 1)! e no mnimo
1 + |v|.
n) L = {ak bm cn | k 6= m ou m 6= n}.
Suponha que L e regular. Como {a} {b} tambem e regular e as linguagens regulares
s
ao fechadas sob intersec
ao, L {a} {b} deveria ser regular. Mas L {a} {b} =
k
m
{a b | k 6= m}, e esta u
ltima n
ao e regular (como provado em questao anterior.
Logo, L n
ao e regular.
o) {0m 1n 0n | m, n > 0}.
Suponha que L seja regular. Seja k a constante do LB, e seja z = 01k 0k . Como
z L e |z| > k, o LB afirma que existem u, v e w tais que z = uvw, |uv| k, |v| > 0
65
11. Seja L uma linguagem regular infinita. Pelo LB, dada uma palavra x de tamanho maior
que a constante referida no lema, e tal palavra existe, pois L e infinita, ela pode ser
dividida em tres partes u, v e w, de forma que:
uvw = x,
v 6= e
uv k w L para todo k 0.
Assim, seja uma dessas palavras uvw = x. Tome m = |uw| e n = |v| (note que n > 0).
Pelo LB, uv k w L para todo k 0, de onde se tira que |uv k w| = |uw| + k|v| = m + kn
para todo k 0. Isto mostra, como requerido, que existem m, n N, n > 0, tais que para
todo k 0, L contem alguma palavra z (a palavra uv k w) tal que |z| = m + kn
12. Uma generalizaca
o do lema do bombeamento: Seja L uma linguagem regular. Entao existe
uma constante k > 0 tal que para qualquer palavra xz L com |z| k existem u, v e w
que satisfazem as seguintes condicoes:
z = uvw;
|uv| k;
v 6= ; e
Suponha que L seja regular. Seja k a constante do lema, e seja a palavra xz = 01k 0k ,
onde x = 0 e z = 1k 0k . Como xz L e |z| > k, o LB afirma que existem u, v e w tais que
z = uvw, |uv| k, |v| > 0 e xuv i w L para todo i 0. Se z = uvw e |uv| k, ent
ao
v s
o tem 1s e, assim, xuv 2 w = 01k+|v| 0k . E se |v| > 0, 01k+|v| 0k 6 L, o que contradiz o
lema. Logo, L n
ao e regular.
13. Variante do lema do bombeamento: Seja L uma linguagem regular. Entao existe uma
constante k > 0 tal que para qualquer palavra z 6 L com |z| k existem u, v e w que
satisfazem as seguintes condic
oes:
z = uvw;
66
|uv| k;
v 6= ; e
uv i w 6 L para todo i 0.
A demonstrac
ao e similar ao do lema original. Este lema, como o original, serve para
provar, que uma linguagem n
ao e regular. E, assim como quando se usa o lema original,
a prova e feita por contradic
ao. Segue um exemplo.
Seja L = {am bn | m 6= n}. Suponha que L seja uma linguagem regular. Seja k a constante
referida no lema, e seja z = ak bk . Como z 6 L e |z| > k, o lema diz que que existem u, v e
w de forma que as seguintes condicoes se verificam: z = uvw, |uv| k, v 6= e uv i w 6 L
para todo i 0. Neste caso, v s
o tem as, pois z = uvw = ak bk e |uv| k, e v tem pelo
menos um a, pois v 6= . Isto implica que uv 2 w = ak+|v| bk L, o que contraria o lema.
Conclui-se, assim, que L n
ao e linguagem regular.
14.
F = {e E | ({e},
w) F 6= para alguma w }.
Em outras palavras: basta tornar estados finais todos os estados a partir dos quais
se alcance algum estado final.
b) Dado um AFN M = (E, , , I, F ) para L, obtem-se um AFN M para suf (L):
M = (E, , , I , F ), em que
w) para alguma w }.
I = {e E | e (I,
Em outras palavras: basta tornar estados iniciais todos os estados alcanc
aveis a
partir de algum estado inicial.
c) Dado um AFN (E, , , I, F ) que reconheca L, constroi-se um AFN que reconhece
rev (L), (E, , , F, I) (observe a troca dos conjuntos de estados inciais e finais), sendo
tal que todas as transic
oes s
ao invertidas, ou seja, (e, a) = {e | e (e , a)}.
seja, em que para todo estado e existem x e y tais que e (I, x) e ({e}, y) F 6= .
(Qualquer estado que n
ao satisfaca essas condicoes pode ser eliminado sem alterar
a linguagem reconhecida.) Ser
a mostrado como obter, a partir de M , um AFN para dc(L) com 2|E|2 estados M = (E , , , I , F ). Nas explicacoes a seguir,
considere M simulando M , de forma que uma palavra M est
a reconhecendo yx,
como conseq
uencia de M reconhecer xy.
67
e1
2
@
@
@ a
@
@
R
@
a
e1
e2
[e1 , e2 ]
- [e , e ]
1 2
F = {[e, e, p] | e E}.
Quando M terminar no estado [e, e, p], ter
a acabado de simular M lendo o
prefixo x e terminando no estado e.
Para cada estado e E haver
a duas copias do AFN M :
g) Similar ao item (e). Seja um AFN M = (E, , , I, F ) tal que L(M ) = L. A partir
de M constroi-se o seguinte AFN que reconhece pm(L): (E , , , I , F ), onde:
E = E E;
I = I F ;
para cada (e1 , e2 ) E e a :
([e1 , e2 ], a) = {[e1 , e2 ] | e1 (e1 , a) e e2 (e2 , b) para algum b }; e
F = {[e, e] | e E}.
E3 = E1 E2 ;
I3 = I1 I2 ;
para cada (e1 , e2 ) E3 e a :
3 ([e1 , e2 ], a) = {[e1 , e2 ] | e1 1 (e1 , a)} {[e1 , e2 ] | e2 2 (e2 , a)}; e
F3 = F1 F2 .
15. Seja um AFN M = (E, , , i, F ). Um AFD M equivalente sem transicoes para o estado
inicial: M = (E {i }, , , i , F ), tal que i 6 E, (e, a) = (e, a) para todo e E e
todo a , (i , a) = (i, a) para todo a , e F = F se i 6 F , e F = F {i } se i F .
16.
a) Por induc
ao sobre n. Primeiro, observe que se L1 e L2 s
ao regulares, L1 L2 e regular,
pois as linguagens regulares s
ao fechadas sob uni
ao. Seja n 2 e n linguagens
S
regulares L1 , L2 , . . . , Ln . Suponha, como hip
otese de inducao, que 2in Li seja
regular. Dada essa hip
otese e o fato de que as linguagens regulares s
ao fechadas sob
uni
ao, segue-se que
[
[
Li = (
Li ) Ln+1
2in+1
2in
e regular.
b) Cada linguagem {ai bi }, para i 2, e uma linguagem regular, mas
[
{ai bi } = {ai bi | i 2}
i2
n
ao e.
17. () Suponha que L {} e regular. Como (L {}) {} = L {} e as linguagens
regulares s
ao fechadas sob diferenca, L {} e regular.
h(w)). Como
e E e a . Pode-se provar, por inducao sobre |w|, que (e, w) = (e,
os estados iniciais e finais dos dois AFDs s
ao os mesmos, segue-se que w L(M ) se, e
somente se, h(w) L(M ) e, portanto, L(M ) = h1 (L).
19. Seja L = {an bn | n 0} e h : {an b} {1} tal que h(a) = e h(b) = 1. Segue-que que
h(L) = {1} e, assim, h(L) e regular, embora L n
ao seja.
20. Para cada a , seja er (a) uma express
ao regular que denota s(a) (que existe, pois s(a)
e regular). Seja r uma express
ao regular que denota L. Seja r a express
ao regular obtida
de r substituindo-se cada smbolo do alfabeto, a, de r por er (a). Mostra-se facilmente,
por induc
ao a partir da definic
ao de express
ao regular, que r denota s(L).
21. Seja um AFD M = (E, , , i, F ) que reconheca L1 . Um AFD que reconhece L1 /L2 e o
AFD M = (E, , , i, F ), cuja u
nica diferenca com relacao a M1 e o conjunto de estados
y) F }.
finais, assim definido: F = {e E | y L2 (e,
69
22.
, [2]
{1}
?
?
- 1/1
2/2
-
6 {2}, {3}, {2, 3}
{1}, {1, 3}
{3}, {1, 3}
{3}
2/2
{1}, {2}, {1, 2}
6
?
-
3/3
6
, [2]
, [3]
, [2]/
{1}/
?
?
- 1/1
2/2
-
6 {2}, {3}, {2, 3}/
{1}, {1, 3}/
{3}/
2/2
?
-
6 {1}, {2}, {1, 2}/
, [2]/
3/3
6
, [3]/
29. Acrescentar um smbolo ao alfabeto de sada e, para cada estado final f , fazer (f ) =
(f )a, onde e a func
ao de sada anterior, a nova e a e o smbolo acrescentado. Alem
M , s
o que sua func
ao de sada seria do tipo : E , onde = {a1 , a2 , . . . , an } e
(e, a) = ai sse (e, a) = xi . Desta forma, a sada de M seria obtida da sada s(i , w) de
M simplesmente substituindo-se nesta cada ai por xi .
71
31.
1P | 0A |
1B |
1C |
1P |
0
0
A
1
1
B
1
0
0
1
Eliminando-se D, E, C e B, nessa ordem, obtem-se o diagrama ER:
0(0 + 100) 110
1
0
P
A
1 + 0(0 + 100) 1(01 + 11)
0A | 1P |
0B |
0B | 1C
0D | 1E
0B | 1P
72
E 0A | 1P
0,1
0,1
0A | 1P |
0B | 1P |
0C | 1C |
0|1|
cc + csv sc
csu yv sc
{h, l, c, r}
{}
csv xu sc
Uma ER e: (cc + csu sc) csu yv sc[cc + csv sc + csv xu sc(cc + csu sc) csu yv sc] .
33.
3
b
a,b
3
b
2
b
Do u
ltimo, obtem-se o AFD que reconhece L(r1 ):
73
a,b
a
1
a,b
3
b
2
b
1
a
a,b
a,b
b + ab a
b) .
b
0
b
e
a,b
b
0
a
a
b
e
+ ab a)(a
Do u
ltimo obtem-se o diagrama ER:
A ER e, ent
ao, (b
a,b
a+b
b
a
ab
ab
b + aa
aa
b
e
a+b
ab
ab
aa
b
a+b
b + aa
ab
ab
aa
b + aa
+ b(a + b)
Eliminando-se o estado 2, obtem-se:
aa + abb a
b + aa + abb a
abb
+ b(a + b) + abb
Finalmente, obtem-se a ER: + b(a + b) + abb + (aa + abb a)(b + aa + abb a) abb .
d) Um diagrama ER inicial, ja com estado final e transicoes , como no exerccio anterior:
75
ip
a
b
a
pp
ii
b
pi
bb
ab
pp
+b
ii
b
ba
a
a
pi
aa + bb
pp
aa + bb
ab + ba
ii
+a+b
ab + ba
a+b
A ER: [aa + bb + (ab + ba)(aa + bb) (ab + ba)] [a + b + (ab + ba)(aa + bb) ( + a + b)].
e) Um diagrama ER inicial, obtido a partir do produto dos AFDs para L(r1 ) (ver item
a) e L(r4 ) (ver item d):
76
1pp
a
b
a
1ip
3pi
0pp
b
a
3pp
3ii
a
b
2pi
3ip
b
b
2pp
1ip
a
0pp
3pi
a
b
a
3pp
3ii
a
b
2pi
ba
b
3ip
bb
Eliminando-se os estados 1ip e 2pi:
a(aa) ab
3pi
a
0pp
a(aa) b + b(bb) a
b
a
b
3pp
3ii
a
b
3ip
b(bb) ba
aa + bb
3ii
ab + ba
aa + bb
ab + ba
0pp
3pp
a(aa) abb + b(bb) baa
Apos eliminar o estado 3ii, obtem-se a ER: r + st , onde onde r = a(aa) abb +
b(bb) baa, s = (a(aa) b + b(bb) a + a(aa) aba + b(bb) bab)(aa + bb) (ab + ba) e t =
aa + bb + (ab + ba)(aa + bb) (ab + ba).
f ) O diagrama ER inicial e o mesmo que o do exemplo anterior, s
o que com os estados
finais sendo 3ii, 3ip e 3pi. Fazendo-se como no exemplo anterior, ap
os a eliminac
ao
dos estados 1pp, 2pp, 1ip e 2pi, obtem-se:
a(aa) ab
3pi
a
0pp
a(aa) b + b(bb) a
b
a
3pp
3ii
a
b
3ip
b(bb) ba
Apos eliminar 3pp e acrescentar um novo estado final com transicoes sob :
bb
a(aa) ab
3pi
a
0pp
a(aa) b + b(bb) a
3ii
ab
ba
b
b
3ip
b(bb) ba
aa
Eliminando-se 3pi e criando-se nomes para as ERs de cada transicao, para simplificar
o trabalho posterior, obtem-se:
78
x1 = a(aa) ab(bb)
y1 = a(bb) a
0pp
3ii
y2 = a(bb)
y3 = b + a(bb) ba
z3 = b + ab(bb) a
3ip
x3 = b(bb) ba + a(aa) ab(bb) ba
z2 = + ab(bb)
z1 = aa + ab(bb) ba
0pp
y2 + y3 z1 z2
3ii
x1 + x3 z1 z2
A ER: x1 + x3 z1 z2 + (x2 + x3 z1 z3 )(y1 + y3 z1 z3 ) (y2 + y3 z1 z2 ).
34. Para maior legibilidade ser
ao usados diagramas de estado.
a) AFN para :
AFN para {}:
i1
M1
i2
f1
M2
f2
A seguir, mostra-se como construir AFNs para L(M1 ) L(M2 ), L(M1 )L(M2 ) e
L(M1 ) .
79
i1
f1
i3
f3
M2
i2
f2
M1
i1
f1
M2
i2
f2
i3
i1
M1
f1
f3
As tres condic
oes, sendo asseguradas na parte base (a) e tambem nos processos de
construc
ao da parte indutiva (b), alem de n
ao atrapalhar em nada, simplificam esses
mesmos processos, visto que propiciam a necessidade de considerar apenas os casos
em que M1 e M2 satisfacam essas condicoes. Por exemplo, n
ao e preciso considerar
casos em que M1 ou M2 tenham mais de um estado final.
35. Dada uma ER r sob , seja (r) uma ER modificada em que os smbolos repetidos s
ao
substitudos por novos, de forma que (r) fique sem smbolos repetidos. Seja (r) o
conjunto dos smbolos que ocorrem em r. (Exemplo: se r = (a + bb) ((aa) b), com (r) =
{a, b}, poder-se-ia ter (r) = (a + bb1 ) ((a1 a2 ) b2 ), com ((r)) = {a, a1 , a2 , b, b1 , b2 } .)
Seja ainda (x) o smbolo de (r) correspondente a x ((r)). (Para o exemplo,
(a) = (a1 ) = (a2 ) = a e (b) = (b1 ) = (b2 ) = b.) Para a construcao do AFN ser
ao
usadas tres func
oes, definidas recursivamente a seguir.
Dada uma ER modificada r, prm(r) d
a o conjunto dos smbolos de (r) que podem iniciar
uma palavra de L(r). Recursivamente:
(a) prm() = ,
prm() = ,
80
36. Definic
ao recursiva de f (X), sendo X E:
(a) X f (X);
rRxL(r)
w) = para w ,
(a) (,
(X,
) = f (X) para X E;
S
S
(
(b) (X,
w) =
xy=wx6=
ef (X)
Ce,x , y) para X E e w + .
w) F 6= }.
37. Seja um diagrama ER D = (E, , , I, F ). L(D) = {w | (I,
38. Seja = {a1 , a2 , . . . , an }. Ent
ao pode-se substituir as express
oes b
asicas para expressar
e por a1 + a2 + an e (a1 + a2 + an ) , respectivamente, e substituir as ERs das
formas r s (intersec
ao) e r c (complementacao) por ERs assim obtidas, respectivamente:
81
r s:
rc :
82
Captulo 3
Aut
omatos de Pilha
3.1
Uma Introdu
c
ao Informal
Nesta secao n
ao h
a exerccios.
3.2
Aut
omatos de Pilha Determinsticos
a = a b = b . Ent
ao [e, ay, b] [e1 , y, z1 ] e [e, ay, b] [e2 , y, z2 ].
a = a b = . Ent
ao [e, ay, b ] [e1 , y, z1 b ] e [e, ay, b ] [e2 , y, z2 ].
a = a b = . Ent
ao [e, ay, b] [e1 , y, z1 ] e [e, ay, b] [e2 , y, z2 b].
a = b = b . Ent
ao [e, a y, b] [e1 , a y, z1 ] e [e, a y, b] [e2 , y, z2 ].
a = b = . Ent
ao [e, a y, b ] [e1 , a y, z1 b ] e [e, a y, b ] [e2 , y, z2 ].
a = b = . Ent
ao [e, a y, b] [e1 , a y, z1 ] e [e, a y, b] [e2 , y, z2 b].
a = b = b . Ent
ao [e, ay, b] [e1 , y, z1 ] e [e, ay, b] [e2 , ay, z2 ].
a = b = . Ent
ao [e, ay, b ] [e1 , y, z1 b ] e [e, ay, b ] [e2 , y, z2 ].
a = b = . Ent
ao [e, ay, b] [e1 , y, z1 ] e [e, ay, b] [e2 , ay, z2 b].
Para cada caso, mostrou-se que as duas transicoes podem ocorrer simultaneamente
para a mesma configurac
ao.
() Suponha que duas transic
oes [e1 , z1 ] (e1 , a1 , b1 ) e [e2 , z2 ] (e2 , a2 , b2 ) podem
ocorrer simultaneamente a partir de uma configuracao [e, x, ]. Entao:
i. e1 = e2 = e;
ii. a1 = a2 = primeiro smbolo de x, ou a1 ou a2 , ou ambos, s
ao ;
iii. b1 = b2 = primeiro smbolo de , ou b1 ou b2 , ou ambos, s
ao .
Em outras palavras, as duas transicoes s
ao compatveis.
2. Um APD que satisfaz as exigencias e aquele cujo diagrama de estados e:
1, F/
1, /F
0, /X
0, X/
=
m0
m1
1, X/
1, /X
0, /F
0, F/
83
3.
1, X/
1, X/
0, /
0, /XX
0
1, X/
0, /
1, U/
2, D/
0, /
, /F
1, X/
1, X/
1, F/
1, F/
f
0, /X
1, /
1, X/
1, X/
, /F
i
1, F/
#, X/
#, X/
2
0, /X
, F/
#, /
4
, X/
f ) Um APD para {w# {0, 1} | o n
umero de 0s em w e maior que o de 1s}:
84
a)
b)
c)
d)
m0
0, /F
#, /
f1
4.
1, /F
1, F/
0, /X
1, X/
m1
0, F/
, F/
0, X/
1, /X
f2
, X/
Para reconhecer uma palavra w, n
ao h
a como um APD reconhecer o termino da
primeira metade de w para que possa finalizar o seu armazenamento e comecar a ler
a segunda metade e compara-la com a primeira.
Durante seu processamento, o APD deve necessariamente registrar a diferenca entre
os n
umeros de 0s e de 1s. Para isso, deve ser usada a pilha, pois n
ao existe limite para
a diferenca. Com isto, a pilha poder
a n
ao estar vazia quando a palavra terminar. E
o APD n
ao tem como saber que a palavra termina.
Como no item anterior, se o n
umero de 0s da palavra for maior que o de 1s, o APD
poder
a estar com a pilha n
ao vazia ao termino da palavra (representado a diferenca),
sem possibilidade de reconhecer que a palavra terminou.
Analoga ao item (b).
(, /X
), X/
Generalizando para n parenteses balanceados (ai , fi ):
ai , /Xi para i = 1, 2, . . . , n
fi , Xi / para i = 1, 2, . . . , n
6. Um APD para express
oes prefixadas e aquele cujo diagrama de estados e:
i
, /X
+, X/XX
, X/XX
t, X/
3.3
1.
t, /
+, X/
, X/
t, /X
Aut
omatos de Pilha N
ao Determinsticos
a) Arvore
de computac
oes para aa:
[i, aa, ]
[i, a, B]
[i, , BB]
[f, aa, ]
[f, a, B]
[f, , BB]
85
Arvore
de computac
oes para bb:
[i, bb, ]
[f, bb, ]
Arvore
de computac
oes para aabcc:
[i, aabcc, ]
[i, abcc, B]
[f, aabcc, ]
[f, abcc, B]
[f, c, B]
[f, bc, B]
[f, , ]
[f, c, C]
Arvore
de computac
oes para aabcc:
[i, aabcbc, ]
[i, abcbc, B]
[f, aabcbc, ]
[f, abcbc, B]
a, 0/
b, 1/
, 0/
, 1/
a, /00
b, /01
c, /10
d, /11
3.
c, 0/
d, 1/
1, X/
1, /
0, /X
1, X/
1, /
86
1, X/
1, X/
0, /
1, X/
, /
, /
1, X/
0, /
a, /X
a, /F
b, X/
b, X/
b, F/
b, F/
a, /X
b, X/
b, X/
5.
1, X/
1, X/
, F/
, /F
, F/
1, /
1, X/
0, /X
1, /
1, X/
1, /
1, X/
0, /X
1, /
1, X/
, F/
1, X/
1, X/
1, X/
0, /
1, X/
, /
, F/
0, /X
0, /
1, X/
, /
, /
1, X/
0, /
, F/
1, X/
0, /
6. Uma transic
ao da forma
e
a, b/c1 c2 . . . cn
a, b/c1
e1
, /c2
en1
e2
, /cn
1, /F
1, F/
0, /X
1, X/
m0
0, /F
0, F/
1, F/
1, /F
m1
0, X/
1, /X
m1
0, X/
1, /X
m0
0, /F
0, F/
#, /
#, /
f1
f2
, F/
, X/
9. Seja um AFD M = (E, , , i, F ). Um APD equivalente que reconhece por estado final e
tambem por estado final e pilha vazia e (E, , {X}, , i, F ) em que para todo e E e todo
a , (e, a, ) = [(e, a), ].
Um APD que reconhece L(M ) {} por pilha vazia e (E {i }, , {X}, , i ) em que i 6 E
e e assim definida:
(i , , ) = [i, ], se i F , e (i , , ) = [i, X], se i 6 F ;
se
se
se
se
eF
eF
e 6 F
e 6 F
e
e
e
e
e
e
e
e
F,
6 F ,
F,
6 F ,
(e, a, ) = [e , ];
(e, a, ) = [e , X];
(e, a, X) = [e , ];
(e, a, X) = [e , X].
[e , z] (e, a, X), e
se a 6= , colocar um novo estado d em N e acrescentar as transicoes [d, ]
(e, a, X) e [e , z] (d, , F).
3.4
1.
Gram
aticas Livres do Contexto
a) Para {0n 1n | n 0} {0n 12n | n 0}:
P A|B
A 0A1 |
B 0B11 |
P AB
A 0A1 |
B 0B |
d) Para {0m 1n | m > n}:
P 0P 1 | 0P | 0
2.
3.
a) Para L1 :
X 0X11 | 0X111 |
b) Para L2 :
Y AB
A aAbb |
B bBc |
c) Para (L1 L2 )2 :
P ZZ
Z X |Y
mais as regras de (a) e (b).
4.
b) AD:
91
b) Uma gram
atica n
ao ambgua equivalente a G e
P aP b | X
X aaXb |
6. Sim. Uma gram
atica ambgua que gera {}:
P X |
X
Uma gram
atica ambgua que gera {0}:
P X |0
X 0
hexp-reli
hexp-reli
se
hcmdi
ent
ao
ent
ao
hcmdi
sen
ao
hcmdi
e:
hcmdi
se
hexp-reli
hcmdi
ent
ao
se
hexp-reli
sen
ao
ent
ao
hcmdi
hcmdi
houtrocmdi outros. . .
8. Vari
aveis anul
aveis: A = {A, B, P }. A GLC resultante e:
P BP A | P A | BA | BP | B | A |
A aA | a
B Bba | ba
(P P n
ao foi acrescida por motivos obvios.)
9.
a) Conjuntos enc(X): enc(P ) = {P, A, B, C}, enc(A) = {A, B, C}, enc(B) = {B} e
enc(C) = {C}. A GLC resultante e:
P
A
B
C
BC | bB | b | cC | c
bB | b | cC | c
bB | b
cC | c
b) A vari
avel A e in
util, visto que n
ao existem u e v tais tais que P uAv.
10.
P a1 X2 X3 . . . Xn a1 a2 a3 . . . an
usando-se regras das formas P a1 X2 X3 . . . Xn e regras Xi ai .
11. Eliminando-se a recursao direta a` esquerda, obtem-se:
E aZ | a
Z +EZ | EZ | +E | E
A aAb | ab
B bB | b
C bCc | bc
A aAb | ab
B bB | b
C bCc | bc
94
B bB | b
C bCc | bc
C bCZ | bZ
Y b
Z c
Um APN para a linguagem e ({i, f }, , {P, A, B, C, Y, Z}, , {i}, {f }), em que consta
das transic
oes:
(i, , ) = {[f, P ]};
14. Seja uma GLC qualquer G = (V, , R, P ). Um AP que reconhece L(G) e ({i, f }, , V
, , {i}, {f }), onde e assim determinada:
(i, , ) = [f, P ];
16. A gram
atica, ja sem vari
aveis in
uteis:
P he0 , , e0 i | he0 , , e1 i
he0 , , e0 i
he0 , , e1 i 0he0 , A, e1 i
he1 , A, e1 i 1he1 , , e1 i
he1 , , e1 i
Entrada: um AP M = (E, , , , I, F ), I 6= , F 6= .
Sada: uma GLC (V, , R, P ) que aceita L(M ).
R {P [i, , f ] | i I e f F };
N {[i, , f ] | i I e f F };
V {P };
repita
[e, X, d] uma vari
avel em N ;
N N {[e, X, d]};
V V {[e, X, d]};
se e = d e X = ent
ao
R R {[e, X, d] }
fimse; se [e , z] (e, a, X), a {} e X {} ent
ao
se z = ent
ao
R R {[e, X, d] a[e , , d]};
N N ({[e , , d]} V )
sen
ao
seja z = Y1 Y2 . . . Yn , n 1;
para cada d1 , d2 , . . . , dn1 ) E n1 fa
ca
R R {[e, X, d] a[e , Y1 , d1 ][d1 , Y2 , d2 ] . . . [dn1 , Yn , d]};
N N ({[e , Y1 , d1 ], [d1 , Y2 , d2 ], . . . , [dn1 , Yn , d]} V )
fimpara
fimse
fimse;
se [e , z] (e, a, ), a {} e X 6= ent
ao
se z = ent
ao
R R {[e, X, d] a[e , X, d]};
N N ({[e , X, d]} V )
sen
ao
seja z = Y1 Y2 . . . Yn , n 1;
para cada d1 , d2 , . . . , dn ) E n fa
ca
R R {[e, X, d] a[e , Y1 , d1 ] . . . [dn1 , Yn , dn ][dn , X, d]};
N N ({[e , Y1 , d1 ], . . . , [dn1 , Yn , dn ], [dn , X, d]} V )
fimpara
fimse
fimse;
at
e N = ;
retorne (V, , R, P ).
18. Ser
a usado o algoritmo da questao anterior. Imediatamente antes do comando repita
tem-se:
V = {P }
N = {[0, , 1]}
R = {P [0, , 1]}
Ao atingir o final do repita pela primeira vez:
V = {P, [0, , 1]}
N = {[0, A, 1]}
R={
P
[0, , 1]
[0, , 1],
a[0, A, 1]}
96
P
[0, , 1]
[0, A, 1]
[0, , 1],
a[0, A, 1],
b[1, B, 1] |
a[0, A, 0][0, A, 1] |
a[0, A, 1][1, A, 1]}
A vari
avel [0, A, 0] e in
util, pois e impossvel, no AP, partir do estado 0 com A na pilha,
a eliminada de N
ler uma palavra e voltar ao estado 0, com a pilha o vazia. Assim, ela ser
e de R, embora o algoritmo n
ao faca isso, obtendo-se:
V = {P, [0, , 1], [0, A, 1]}
N = {[1, B, 1], [1, A, 1]}
R={
P
[0, , 1]
[0, A, 1]
[0, , 1],
a[0, A, 1],
b[1, B, 1] |
a[0, A, 1][1, A, 1]}
P
[0, , 1]
[0, A, 1]
[1, B, 1]
[0, , 1],
a[0, A, 1],
b[1, B, 1] |
a[0, A, 1][1, A, 1],
c[1, , 1]}
P
[0, , 1]
[0, A, 1]
[1, B, 1]
[1, A, 1]
[0, , 1],
a[0, A, 1],
b[1, B, 1] |
a[0, A, 1][1, A, 1],
c[1, , 1],
b[1, B, 1]}
R={
P
[0, , 1]
[0, A, 1]
[1, B, 1]
[1, A, 1]
[1, , 1]
[0, , 1],
a[0, A, 1],
b[1, B, 1] |
a[0, A, 1][1, A, 1],
c[1, , 1],
b[1, B, 1],
}
Pela hip
otese de induc
ao, [e, x, X] [c, , ZYi+1 . . . Yn ]. Considera-se cada um dos formatos possveis para a u
ltima regra aplicada:
0
devido `
a transic
ao [e , Y1 . . . Ym ] (e, a, )], [e, a, Z] [e , , Y1 . . . Ym Z].
3.5
1.
2.
1.
2.
3.
4.
vx
vx
vx
vx
contem
contem
contem
contem
as.
bs.
cs.
ds.
Como
Como
Como
Como
|vwx| k,
|vwx| k,
|vwx| k,
|vwx| k,
n
ao
n
ao
n
ao
n
ao
h
a
h
a
h
a
h
a
cs
ds
as
bs
em
em
em
em
vx.
vx.
vx.
vx.
Assim,
Assim,
Assim,
Assim,
uv 2 wx2 y
uv 2 wx2 y
uv 2 wx2 y
uv 2 wx2 y
Contradic
ao. Portanto, L n
ao e LLC.
3.
6 L.
6 L.
6 L.
6 L.
L {c} = {cn | n 0}
Como as LLCs s
ao fechadas sob interseccao com linguagens regulares, tem-se uma
2
ao e LLC. Portanto, L n
ao e LLC.
contradic
ao, visto que {cn | n 0} n
6. Seja L uma LLC qualquer e G = (V, , R, P ) uma GLC que a reconhece. A GLC G =
(V, , R , P ), onde R = {X v R | X v R} reconhece LR . Isto segue do fato
n
que para todo n 0 e toda forma sentencial u (V ) , P G u se, e somente se,
n
n
n
a mostrado por inducao sobre n, que se P G u entao P G uR para
P G uR . Ser
todo u (V ) . A demonstracao da recproca pode ser feita de forma an
aloga. Para
0
0
n = 0, tem-se, por definic
ao, que o u
nico u tal que P G u e u = P ; e P G P = P R .
n
Seja n um n
umero natural arbitrario e suponha, como hip
otese de inducao, que se P G u
n+1
n
entao P G uR para todo u (V ) . Suponha que P G z. Basta, entao, mostrar
n+1
ao, existem x, y (V ) e Y s R tais que:
que P G z R . Por definc
n
P G xY y G xsy.
n
Pela hip
otese de induc
ao, P G (xY y)R = y R Y xR . E como, por definicao de G ,
Y sR R , segue-se que:
n
P G y R Y xR G y R sR xR = (xsy)R = z R .
n+1
7. Suponha que L e uma LLC e R uma linguagem regular. Como as linguagens regulares s
ao
fechadas sob complementac
ao, R e regular; e como as LLCs s
ao fechadas sob intersec
ao
com linguagens regulares, L R e LLC. Mas L R = L R. Logo, se L e uma LLC e R
uma linguagem regular, ent
ao L R e uma LLC.
8. Seja L uma LLC arbitraria de alfabeto . Como as LLCs n
ao s
ao fechadas sob complementac
ao, L = L pode n
ao ser LLC. Mas e LLC! Portanto, as LLCs n
ao s
ao
fechadas sob diferenca.
9.
10. APD para L1 = {w {0, 1} | w tem mais 1s que 0s} com reconhecimento por estado
final:
0, /X
1, X/
1, /F
1, F/
=
m0
0, /F
m1
0, F/
0, X/
1, /X
01
1
00
11
1
0
10
Um APD para L1 L2 que reconhece por estado final usando o metodo requerido seria
({=, m0, m1} {00, 01, 10, 11}, {0, 1}, {F, X}, , {[=, 00]}, {[m1, 10], [m1, 11]})
em que e dada por:
([=, 00], 0, ) = [[m0, 00], F],
([=, 00], 1, ) = [[m1, 01], F],
([=, 01], 0, ) = [[m0, 10], F],
([=, 01], 1, ) = [[m1, 11], F],
([=, 10], 0, ) = [[m0, 00], F],
101
3.6
1.
Exerccios
a) Um APD para {0n 1n | n 0}{0n 1n | n 0}:
0, /X
0, /Y
1, X/
0, /Y
1, X/
1, Y/
1, X/
1, X/
2, /
2, /
2, /
0, /
1, X/
0, /
1, X/
0, /
102
1, Y/
Nao h
a como saber, no estado i, se uma seq
uencia de 0s ser
a seguida de 1s (caso em
que n > 0 e se deve contar os 0s) ou n
ao (caso em que n = 0 e k > 0 e n
ao se deve
contar os 0s). No entanto, existe APD para esta linguagem que reconhece por estado
final.
d) Um APD para {0n 1n 0k | n 1 e k 0}:
0, /X
0, /
1, X/
1, X/
0, /
e) Um APD para {w {0, 1} | w tem algum prefixo com mais 1s que 0s}:
1, F/
0, /X
1, X/
m0
1, /
0, /F
m1
0, /
1, /
f ) Um APN para {w {0, 1} | w tem algum sufixo com mais 1s que 0s}:
0, /
1, /
1, /F
1, /
u
0, F/
1, /X
0, X/
Nao h
a como saber, no estado i, se um 1 lido e o u
ltimo a partir do qual o n
umero
de 0s e 1s e sempre o mesmo (caso em que deve ser tomada a transicao para o estado
u) ou n
ao (caso em que deve ser tomado o loop).
2.
V, /
F, /
), X/
&, A/X
|, A/X
->, A/X
<->, A/X
(, /A
, A/
, /A
), n /n
ao(n)
), n2 &n1 /e(n1 , n2 )
), n2 | n1 /ou(n1 , n2 )
), n2 ->n1 /se(n1 , n2 )
), n2 <->n1 /sse(n1 , n2 )
V, /V
F, /F
#, nA/n
&, nA/&n
|, nA/ | n
->, nA/->n
<->, nA/<->n
I = I {};
F = F {}; e
[e , zy] ([e, Xy], a) para cada y tal que |Xy| n e |zy| n; estas s
ao as
u
nicas transic
oes de M .
5. Seja um AFN M = (E, , , I, F ). Um APN de dois estados que reconhece L(M ) seria
P = ({i, f }, , E, P , {i}, {f }), sendo as transicoes constitudas de:
P (i, , ) = {[e, f ] | e I};
6. S
o h
a fechamento com relac
ao a complementacao. Seguem ontra-exemplos para os outros
casos:
104
(v, , $) = [v, ].
a) {an bn cn | n 0}.
a, /X, #/#
, /#, /#
b, X/, /X
b, X/, /X
c, #/#, X/
, #/#, /
, #/, #/
b) {an bn cn dn | n 0}.
a, /X, #/#
, /#, /#
b, X/, /X
b, X/, /X
c, /X, X/
, #/#, /
d, X/, #/#
, /, #/#
, #/, #/
12. Um aut
omato de pilha com fita bidirecional e uma octupla (E, , , h, i, , I, F ), em que:
105
E, , e F s
ao como em APs;
, a func
ao de transic
ao, e uma funcao parcial de E ( {}) ( {}) para D,
sendo D constitudo dos subconjuntos finitos de E {D, E, I};
As opc
oes D, E e I especificam que o cabecote de leitura e movido para a direita, esquerda
ou fica im
ovel, respectivamente. Elas ser
ao escritas por u
ltimo, separadas do restante do
r
otulo da transic
ao por uma vrgula.
a) {an bn cn | n 0}.
a, /X, D
, /#, I
b, X/, D
b, #/#, E
, #/#, E
b, X/, D
b, /X, D
a, #/#, D
c, X/, D
i, #/, I
c, X/, D
b) {an bn cn dn | n 0}.
a, /X, D
, /#, I
b, X/, D
b, #/#, E
, #/#, E
b, X/, D
b, /X, D
a, #/#, D
c, X/, D
i, #/, I
13.
a)
{am bn c2(m+n) | m, n
P aP cc | B
B bBcc |
b, #/#, D
d, X/, D
c, /X, D
d, X/, D
0}.
, #/#, E
c, #/#, E
c, X/, D
b) {w {a, b} | o n
umero de as em w e o dobro do n
umero de bs}.
P aP aP bP | aP bP aP | bP aP aP |
c) {w {a, b} | o n
umero de as em w e diferente do n
umero de bs}.
P A|B
A aA | IA | aI
B bB | IB | bI
I aIbI | bIaI |
106
X aXb | bX | b
Y bXc | Xc | c
C cC |
A aA |
Q bQc | bB
A aA | bB |
B bB |
f) {am bn cp dq | m + n p + q}.
P aP d | bQd | aRc | bSc | A | B
Q bQd | bSc | B
R aRc | bSc | A | B
S bSc | B
A aA | bB |
B bB |
g) {w {a, b} | w n
ao e da forma xx}.
P AB | BA | A | B
A XAX | a
B XBX | b
X a|b
b) Arvore
de derivac
ao:
107
c) L(G) =
k0 {a
n bn | n
n(v1 )!
.
n(v1 ) n(v2 ) n(vn )
Assim, o n
umero de derivac
oes que levam `a AD da Figura 3.16 e 11!/(11.10.2.1.7.6.3.2.1.2.1) =
360.
Para provar o resultado anterior, veja que (a) se a AD tem apenas um vertice, v1 , d(v1 ) =
n(v1 ) = 1, e (b) se a AD tem mais de um vertice, sendo vf1 , vf2 , . . . , vfk os filhos da raiz
P
v1 , n(v1 ) = 1 + kj=1 n(vfj ), e
d(v1 ) =
Pk
j=1 n(vfj )
n(vf1 ), . . . , n(vfk )
k
Y
d(vfj ) =
j=1
k
Y
n(v1 )!
d(vfj ).
n(v1 ) n(vf1 )! . . . n(vfk )! j=1
O primeiro fator e o n
umero de intercalamentos dos vertices das subarvores, considerando,
temporariamente, os vertices de uma mesma subarvore como identicos. O segundo, d
a os
n
umeros de derivac
oes possveis levando em conta cada subarvore (para cada intercalamento possvel). Agora, o resultado pode ser provado por inducao forte sobre o n
umero
de vertices internos da AD.
17.
Logo, G e ambgua.
c) Uma GLC n
ao ambgua equivalente:
P aP a | bP b | AB
A aA | a
B Bb | b
108
18. Ser
a mostrado que para todo x {a, b} , x L(G) se, e somente se, todo prefixo de x
tem no mnimo tantos as quantos bs. Seja x {a, b} .
n
() Ser
a mostrado, por induc
ao sobre n, que para todo n 1, se P x, entao todo
1
prefixo de x tem no mnimo tantos as quantos bs. Observe, inicialmente, que P x
apenas em um caso: aplicando-se a regra P para gerar x = ; e tem tantos as
quantos bs: zero. Agora, seja n 1 e suponha, como hip
otese de inducao, que para k n,
k
se P x, ent
ao todo prefixo de x tem no mnimo tantos as quantos bs. Uma derivac
ao
de n + 1 passos s
o pode ter duas formas, correspondendo `as aplicacoes das duas regras
recursivas:
n
1. P aP x (regra P aP ) ou
n
2. P aP bP x (regra P aP bP ).
n
entao x L(G), ou seja, P x. Seja, entao, um w arbitrario tal que |w| = n + 1 e todo
prefixo de w tenha no mnimo tantos as quantos bs. Basta mostrar que w L(G). Como
|w| > 0, e todo prefixo de w tem no mnimo tantos as quantos bs, w = ay para algum y
de n smbolos. Dois casos:
1. Todo prefixo de y tem no mnimo tantos as quantos bs.
Pela hip
otese de induc
ao, P y. Como G tem a regra P aP , segue-se que
P aP ay = w. Logo, w L(G).
1. Obter G = (V V , , R , P ), em que:
2. Por construc
ao, toda regra de G e de uma das formas:
P
X
X
X
,
a, com X V ,
aY , com X V e Y V V , ou
Y Z, com X V e Y V e Z V V .
XC | AY
aXb | aA | bB
bY c | bB | cC
aA |
bB |
cC |
b) Suponha que L e uma LLC. Entao L{a} {b} {c} deve ser LLC. Mas L{a} {b} {c} =
ao e uma LLC.
{an bn cn | n 0}, que n
ao e LLC. Logo, L n
25.
a) L = {0m 1n 2k | m < n < k}. Suponha que L e LLC e seja k a constante do LB.
Seja z = 0k 1k+1 2k+2 . Como |z| > k, o LB diz que existem u, v, w, x e y tais que
z = uvwxy, |vwx| k, vx 6= e uv i wxi y L para todo i 0. Tem-se dois casos:
Caso 1: vx contem 0. Sendo |vwx| k, vx n
ao pode conter 2s; e sendo vx 6= , o
n
umero de 0s em uv 3 wx3 y ser
a maior ou igual ao de 2s. Logo, uv 3 wx3 y 6 L.
Caso 2: vx n
ao contem 0. Sendo vx 6= , vx contem 1 ou 2. Se vx contiver 1s, o
n
umero de 0s em uv 0 wx0 y ser
a maior ou igual ao de 1s; e se vx n
ao contiver 1s, o
0
0
0
n
umero de 1s em uv wx y ser
a maior ou igual ao de 2s. Logo, uv wx0 y 6 L.
Em qualquer caso, entra-se em contradicao com o LB. Portanto, L n
ao e LLC.
2
Caso 2: vx n
ao contem 0. Sendo vx 6= , vx contem 1 ou 2. Se vx contiver 1s, o
n
umero de 1s em uv 2 wx2 y ser
a maior que de 0s; e se vx n
ao contiver 1, o n
umero de
2
2
2
2
2s em uv wx y ser
a mais que o dobro do de 0s. Logo, uv wx y 6 L.
Em qualquer caso, entra-se em contradicao com o LB. Portanto, L n
ao e LLC.
d) L = {ww | w {0, 1} }. Suponha que L seja LLC e seja k a constante do LB. Seja
z = 0k 10k 1. Como |z| > k, o LB diz que existem u, v, w, x e y tais que z = uvwxy,
|vwx| k, vx 6= e uv i wxi y L para todo i 0. Tem-se tres casos:
Caso 1: vx contem apenas 0s do prefixo de k 0s. Sendo vx 6= , se uv 2 wx2 y tem
n
umero par de smbolos, a primeira metade tem 0 no final e a segunda metade tem
1. Logo, uv 2 wx2 y n
ao e da forma ww e, assim, uv 2 wx2 y 6 L.
Caso 2: vx contem 1. Como |vwx| k, uv 0 wx0 y conter
a apenas um dos dois 1s
0
0
e, portanto, uv wx y 6 L (uma palavra com apenas um 1 nunca pode ser da forma
ww).
Caso 3: vx contem apenas 0s do sufixo de k 0s. Sendo vx 6= , se uv 2 wx2 y tem
n
umero par de smbolos, a primeira metade tem 0 no final e a segunda metade tem
1. Logo, uv 2 wx2 y n
ao e da forma ww e, assim, uv 2 wx2 y 6 L.
Em qualquer caso, entra-se em contradicao com o LB. Portanto, L n
ao e LLC.
e) L = {wwR w | w {0, 1} }. Suponha que L seja LLC e seja k a constante do LB.
Seja z = 0k 1102k 1. Como |z| > k, o LB diz que existem u, v, w, x e y tais que
z = uvwxy, |vwx| k, vx 6= e uv i wxi y L para todo i 0. Tem-se tres casos:
Caso 1: vx contem apenas 0s do prefixo de k 0s. Sendo vx 6= , se uv 2 wx2 y tem um
n
umero de smbolos m
ultiplo de 3, a primeira terca parte tem 0 no final e a terceira
tem 1 no final. Logo, uv 2 wx2 y 6 L.
Caso 2: vx contem 1. Como |vwx| k, uv 0 wx0 y conter
a apenas 1s dos primeiros dois
0
0
tercos ou ent
ao o 1 do final; logo, uv wx y tem um ou dois 1s e, assim, uv 0 wx0 y 6 L.
Caso 3: vx contem apenas 0s do terco final de z. Sendo vx 6= , se uv 2 wx2 y tem um
n
umero de smbolos m
ultiplo de 3, a segunda terca parte comeca com 0 e a terceira
tem 1 no final. Logo, uv 2 wx2 y 6 L.
Em qualquer caso, entra-se em contradicao com o LB. Portanto, L n
ao e LLC.
26. Igual ao Exerccio 13(g).
27.
d) Seja L n
ao LLC sobre o alfabeto . e regular e L = , uma linguagem
regular. Assim, se L n
ao e uma LLC e R e regular, L R pode ser LLC.
112
e) Suponha que L n
ao e LLC e F e finita. Suponha que L F e LLC. Como F L
e finita, e regular e, assim, F L tambem e regular. Mas, (L F ) (F L) =
ao e LLC. Contradicao! Logo se L n
ao e uma LLC e F
(L F ) F L = L e esta n
e finita, ent
ao L F n
ao e LLC.
f ) Seja L n
ao LLC sobre o alfabeto . e uma linguagem regular e L = .
Portanto, se L n
ao e uma LLC e R e regular, L R pode ser LLC.
113
114
Captulo 4
M
aquinas de Turing
4.1
1.
M
O que E
aquina de Turing
0/0 D
1/1 D
0/0 E
1/1 E
1/0 E
/ E
h/h D
h/h D
0/1 E
/0 E
/0 E
0/1 D
2.
a/a D
X/X D
/X E
a/ D
X/a D
X/a D
/ E
a/a D
X/X E
a/a E
/ D
/ E
/a E
a/a E
3.
0/0 D
h/h D
/a E
/ D
/ D
a/a D
4.
a) MT de 1 estado: ({0}, {a, b}, {h, , a, b}, h, , , 0, {0}), onde consta de: (0, b) =
[0, b, E], (0, ) = [0, , E], (0, h) = [0, h, D].
115
b) MT de 1 transic
ao: ({0, 1}, {a, b}, {h, , a, b}, h, , , 0, {1}), onde consta de: (0, a) =
[1, a, E].
5.
a/a D
b/b D
a/ D
/ E
2a
3a
a/ E
/ D
1
b/ D
2b
/ E
4
3b
a)
a/a D
a/a D
b)
a/a D
b/b D
/ E
a/a E
b/b E
b/ E
/ E
a/a D
b/b D
6.
/ E
a/ D
/ E
/ D
b/ E
a/a E
b/b E
c)
116
b/b D
b/ D
/ E
a/a D
b/b D
/ E
a/ D
/ D
a/a E
/ E
b/ E
a/a E
b/b E
d)
a/a D
X/X D
X/ D
a/ D
b/X E
a/a E
b/b E
X/X E
/ D
/ E
a/X E
b/ D
b/b D
X/X D
e)
X/X E
b/b E
a/a E
c/X E
a/a D
b/b D
X/X D
a/ D
/ D
b/b D
X/X D
d/d D
b/ D
X/X D
/ E
X/X D
/ E
/ E
b/ D
X/X D
/ E
117
/ D
d/ E
d/d E
X/X E
b/b E
f)
a/a D
B/B D
b/b D
C/C D
b/B D
a/ D
c/C E
C/C
/ D
b/b
B/B
/ E
a/a
B/ D
/ E
B/ D
C/ D
g)
E
E
E
E
a/a D
b/b D
/ E
a/X D,b/Y D
A/A E
B/B E
C/C E
a/A E,b/B E
X/X D,Y/Y D
a/a E
b/b E
A/ E
X/C D
/ E
A/A D,B/B D
C/C D Y/C D
A/A D
B/B D
B/ E
A/A E
B/B E
C/C E
7.
e0
a/a D
e1
a/a D
e2
a/a D
a/a D
ej+i1
8.
a/a D
ej
a/a D
ej+2
a)
118
a/a D
ej+1
h/h D
/ E
a/a E
b/b E
a/a D
b/b D
1
/ D
/ D
/# E
h/h D
X/ D
X/ D
a/a D
X/X D
X/X E
a/a E
a/ D
#/ E
b/X E
/ D
a/a D
a/a D
b/b D
/ d
#/ E
a/a E / D
b/b E
a/a E
b/b E
/ E
/# E
a0
a/a D
b/b D
a1
a/a D
b/b D
a2
ak
a/X E
b/Y E
a/a E
b/b E
a/a D,b/b D
a/a D
b/b D
bk
b1
..
.
X/a D
Y/b D
b0
/ E
A/A D
B/B D
h/h D
a/a E,b/b E
A/A E,B/B E
/ D
A/A E
B/B E
A/A E
B/B E
a/A D
b/B D
X/A D
Y/B D
A/ D
B/ D
X/A D
Y/B D
/ E
A/A D,B/B D
X/X D,Y/Y D
/ D
b/Y E
A/A D,B/B D
X/X D,Y/Y D
a/X E
X/X E,Y/Y E
A/A E,B/B E
X/X E
(/X D
X/X E
/ E
h/h D
)/X E
11. Seja M = (E, , , h, , , i, F ) a MT original.
a) Se M reconhece por estado final, uma MT que reconhece L(M ) por parada em estado
final e: (E, , , h, , , i, F ), sendo como , mas com (e, a) indefinido para todo
(e, a) F .
b) Se M reconhece por parada, uma MT que reconhece L(M ) por estado final e: (E
{n}, , , h, , , i, {n}), sendo que n 6 E e e como , mas com o acrescimo das
transic
oes (e, a) = [n, a, D], para cada (e, a) tal que (e, a) e indefinido.
c) Se M reconhece por parada em estado final, uma MT que reconhece L(M ) por parada
e: (E {n}, , , h, , , i), sendo que n 6 E e e como , mas com o acrescimo
das transic
oes (e, a) = [n, a, D], para cada (e, a) (E F ) tal que (e, a) e
indefinido e (n, a) = [n, a, D], para cada a .
4.2
Algumas Varia
c
oes de M
aquinas de Turing
1. O loop com r
otulo / D (estado 4) representa 8 transicoes: 000/000 D, 001/001 D, 010/010
D, 011/011 D, 100/100 D, 101/101 D, 110/110 D e 111/111 D.
00 /00
01 /01
10 /10
11 /11
1
D
D
D
D
00 /000 E
01 /011 E
10 /101 E
/ E
h /h D
16
01 /010 E
10 /100 E
11 /111 E
11 /110 E
h /h D
00 /001 E
/001 E
/ D
/ E
15
h /h D
000/ D
/ E
111/ D
p
/000 E
13
/111 E
14
120
2.
X/X D
/X E
X/X E
/X D
0/0 D
0/0 D
X/X E
0/0 E
X/X D
0/0 E
X/X E
/X E
0/0 D
X/X D
X/X E
/X D
0/0 E
X/X E
X/X D
0/0 D
0/0 D
X/X D
3.
0/0 D,/X D
0/0 D,/X D
1/1 I,X/X E
1/1 I,/ E
0/0 D,/X D
0/0 D,X/X D
1/1 D,h/h D
0/0 D,X/X D
/ I,X/X I
a)
0/ D,/0 D
1/ D,/1 D
0/ D,/0 D
1/ D,/1 D
0/0 D,/ I
1/1 D,/ I
0/0 D,/ I
1/1 D,/ I
b)
121
0/0 E,0/0 E
1/1 E,1/1 E
/ E,/ E
/ E,h/h D
0/0 D,/0 D
1/1 D,/1 D
0/0 D,0/X E
1/1 D,1/X E
0/0 D,X/X D
1/1 D,X/X D
0/0 I,h/h D
1/1 I,h/h D
0/0 I,/ E
1/1 I,/ E
/ E,h/h D
/ E,X/X E
c)
b/ D,/X D
c/ D,/X D
a/ D,X/X E
c/ D,X/X E
a/a I,/ E
c/c I,/ E
a/a I,X/X D
c/c I,X/X D
a/a I,h/h D
c/c I,h/h D
a/a D,/X D
c/c D,/X D
a/a D,/X D
c/c D,/X D
a/a I,/ E
b/b I,/ E
/ I,h/h I
a/a D,h/h I
b/b D,h/h I
a/a D,h/h I
a/a D,X/X E
b/b D,h/h I
b/b D,X/X E
6. Seja uma MT M = (E, , , h, , , i, F ). Uma MT com um u
nico estado final que reconhece L(M ) por estado final e M = (E {f }, , , h, , , i, {f }), em que f 6 E e e tal
que:
(e, a) = (e, a) para todo (e, a) tal que (e, a) e definido;
criar transic
oes (e1 , c) = [e , c, E] para cada c {h}.
9. Basta mostrar como obter uma MT com a restricao em questao que seja equivalente a
uma MT padrao. Para isso, basta criar um novo smbolo de fita, B, e substituir a func
ao
de transic
ao da MT padrao pela funcao de transicao assim obtida:
se (e, a) = [e , b, d] e a 6= e b 6= , entao (e, a) = (e, a);
se (e, a) = [e , , d] e a 6= , entao (e, a) = [e , B, d];
10. A m
aquina de Turing em quest
ao e uma octupla (E, , , h, , , i, F ) em que E, , h, i
e F s
ao como em MTs padrao e : E E {E, D} e a funcao de transicao,
uma func
ao parcial. O reconhecimento por esse tipo de MT e definido da mesma forma
que para MT padrao.
Seja M = (E, , , h, , , i, F ) uma MT como definido acima. Uma MT padrao que
reconhece L(M ) seria (E N, , , h, , , i, F ), onde N e o conjunto de novos estados
obtido como a seguir e e obtida a partir de :
para cada transic
ao da forma (e, a, b) = [e , c, d]:
criar
criar
criar
criar
Por outro lado, dada uma MT padrao M = (E, , , h, , , i, F ) uma MT como definido
acima equivalente seria (E, , , h, , , i, F ) em que e tal que, sendo (e, a) = [e , b, d],
(e, a, c) = [e, b, d] para cada c {i}.
11. Seja M = (E, , , h, , , i, F ) uma MT desse tipo. Ela reconhece, necessariamente, uma
linguagem regular. Lembrando que M e determinstica, obtem-se um AFD equivalente
(E {x, f }, , , i, F {f }), em que x, f 6 E e e obtida de assim:
para cada (e, a) E tal que (e, a) e indefinido:
123
e F , ou (e, a) = x se e 6 F .
12. Seja uma m
aquina de Turing M = (E, , , h, , , i, F ). Um AP de duas pilhas para
L(M ) e (E {i , j1 , j2 , f }, , {F}, , i , {f }), em que e contem apenas as transicoes:
(i , , , ) = [j1 , h, ]
(empilha h na pilha 1 e vai para o estado j1 );
4.3
1.
Gram
aticas e M
aquinas de Turing
a) Gramatica para {0n 1k 0n 1k | n, k 0}:
P AB
A 0AZ |
B 1B1 | X
Z1 1Z
ZX X0
X
P 0P Z | 1P U | AB
0Z Z0
1Z Z1
0U U 0
1U U 1
BZ ZB0
BU U B1
AZ A0
AU A1
A
B
2. Seja uma GI G = (V, , R, P ) que contenha alguma regra cujo lado esquerdo s
o contem
terminais. Uma GI equivalente em que toda regra contem vari
avel do lado esquerdo seria
(V {N }, , R {N }, P ), em que N 6 V e R seria como R, exceto que: para cada
regra de N que contenha apenas terminais do lado esquerdo, escolher um terminal a que
aparece do lado esquerdo (basta um) e substituir toda ocorrencia de a em todas as regras
por aN .
3. Basta substituir cada regra u v em que |u| > |v|, u n
ao e uma vari
avel e v 6= , pela
|u||v|
regra u vX
, onde X e uma vari
avel nova (basta uma vari
avel nova X para a
gram
atica que est
a sendo criada), e acrescentar a regra X .
4.
P Bi
B aBA1 | bBA2
B h0
A1 i ai
A2 i bi
A1 a aA1
A1 b bA1
A2 a aA2
A2 b bA2
0a a1
a1b 0ab
b1b 0bb
h1b 0hb
1b 0 b
0b #
0h h#
0 #
0i #i
1a #
1h h#
125
1 #
1i #i
#a #
#b #
# #
a# #
b# #
# #
h#i
5.
a) Uma gram
atica com 4 regras que gera {an bn+1 cn+2 | n 0}:
P aP Bc | bcc
cB Bc
bB bb
b) Uma gram
atica com 6 regras que gera {am bn ck | m < n < k}:
P aP Bc | P Bc | P c | bcc
cB Bc
bB bb
6. Um ALL pode ser construdo a partir daquele do Exemplo 130, mostrado na Figura 4.16
do livro, aproveitando-se os estados 1 a 6, com as respectivas traniscoes, acrescentando-se
7 estados (numerados de 7 a 13) e as seguintes transicoes:
(5, h) = [7, h, D]
(8, b) = [8, b, D]
(9, c) = [10, , E]
(10, h) = [11, h, D]
(12, c) = [12, , D]
(7, ) = [7, , D]
(8, ) = [9, , D]
(10, ) = [10, , E]
(11, ) = [11, , D]
(12, h) = [13, h, D]
(7, b) = [8, , D]
(9, ) = [9, , D]
(10, b) = [9, , D]
(11, c) = [12, , D]
O ALL tem um u
nico estado final: 13.
7. Sim, a linguagem {ww | w {0, 1}+ } e uma LSC. Uma GSC para ela seria:
P 0P Z | 1P U | F0 0 | F1 1
0Z Z0
0U U 0
1Z Z1
1U U 1
F0 Z F0 0
F0 U F0 1
F1 Z F1 0
F1 U F1 1
F0 0
F1 1
126
8. Seja G = (V, , R, P ) uma GI que gere L. Uma GSC que gera L e (V {P , Z},
{#}, R , P ), em que P , Z 6 V e R contem:
a regra P P #;
para cada regra u v de R tal que |u| > |v|, a regra u vZ |u||v| ;
para cada X V , a regra ZX XZ; e
a regra Z# ##.
4.4
a/a D
b/b E
Uma MT para L:
a/a D
0
1
b/b E
a/a E,a/a E
b/b E,b/b E
c/c E,c/c E
/ E,/ E
h/h D,h/h D
[0, 0]
a/a D,a/a D
[1, 1]
b/b E,b/b E
[0, 2]
sen
aose a u
ltima forma sentencial na fita 2 e identica `a palavra
de entrada na fita 1 ent
ao
aceite
fimse
sen
ao
rejeite
fimse
fimciclo.
Como o conjunto de derivac
oes possveis de formas sentenciais xn tais que |xn | |w| e
xi 6= xj para i 6= j e finito (ja que V e finito), e o algoritmo corta derivacoes que n
ao
satifacam essas condic
oes, conclui-se que a MT sempre p
ara. Logo, L(G) e recursiva. E
como as linguagens recursivas s
ao fechadas sob complementacao, L(G) tambem e recursiva.
3.
ao fechadas
a) Suponha que L seja recursiva. Entao, como as linguagens recursivas s
ao e recursiva! Logo, L n
ao pode
sob complementac
ao, L = L e recursiva. Mas L n
ser recursiva.
ao
b) Se L e L fossem ambas LREs, entao, pelo Teorema 36, L seria recursiva. Mas L n
e recursiva! Logo, se L e LRE, L n
ao e LRE.
4.
b) e recursiva. E se L n
ao e recursiva, L = L n
ao e recursiva.
c) e recursiva. E L pode n
ao ser uma LRE, pois as LREs n
ao s
ao fechadas sob
complementac
ao.
4.5
1.
Exerccios
a) Uma MT-padr
ao para f (w) = w2 :
0/0 E
1/1 E
5
Z/Z D
U/U D
0/0 D, Z/Z D
1/1 D, U/U D
0/Z D
0/0 E
1/1 E
Z/Z E
U/U E
/Z E
/U E
1/U D
7
0/0 D, Z/Z D
1/1 D, U/U D
h/h D
Z/0 D
U/1 D
/ E
h/h D
0/0 E
1/1 E
0/0 D,/0 D
1/1 D,/1 D
1
/ I,0/0 E
/ I,1/1 E
/ I,/ E
/0 D,0/0 D
/1 D,1/1 D
/ I,h/h D
b) Uma MT-padr
ao para f (w) = wR :
129
0/0 E,/ I
1/1 E,/ I
/ E,/ I
h/h D,/ I
X/0 D
0/0 D
1/1 D
2
0/X D
/ E
Z/Z E
U/U E
0/Z E
3
0/0 E
1/1 E
0/0 E
1/1 E
0/0 E
1/1 E
0/0 E
1/1 E
1/Z E
X/0 D
X/1 D
1
1/X D
X/0 D
0/U E
/ I
Z/0 D
U/1 D
Z/0 D
U/1 D
6
0/0 D
1/1 D
10
11
1/U E
X/1 D
/ E
0/0 D
1/1 D
/ E
Z/Z E
U/U E
X/1 D
12
h/h D
2.
/ I,0/0 E
/ I,1/1 E
/ I,/ E
/0 E,0/ D
/1 E,1/ D
/ E,h/h D
h/h D,/ I
a) MT de duas fitas n
ao determinstica para {w {a, b} | w 6= wR }:
a/ D,/a D
b/ D,/b D
a/a D,a/a E
b/b D,b/b E
a/a I,/ E
b/b I,/ E
a/ D,/ E
b/ D,/ E
a/a
a/a
b/b
b/b
a/a D,b/b E
b/b D,a/a E
D,a/a
D,b/b
D,a/a
D,b/b
3
E
E
E
E
/ I,/ I
b) MT de duas fitas n
ao determinstica para {am ban | m n e divisvel por k}, onde k
e uma constante positiva:
130
a/ D,/a D
1
a/ D,/ I
2
a/a I,/ I
b/b I,/ I
k+1
a/ D,a/ E
b/ D,/ E
k+2
/ I,h/h I
a/ D,/ I
- k
k+3
c) MT de duas fitas n
ao determinstica para {a2 | n 0}:
a/a D,/a D
h/h D,h/h D
/ E,h/h I
a/a E,h/h I
a/a D,/a D
a/a I,/ E
/ E,h/h I
a/a D,/a D
a/a I,/ E
a/ D,a/ E
d) Segue uma MT de duas fitas para {an | n 0}, baseada em nk=1 (2k 1) = n2 . Os
n
umeros mpares s
ao gerados sucessivamente na fita 2 (em un
ario) e subtrados da
palavra de entrada.
P
a/ D,a/a D
a/ D,/a D
a/a I,/a D
/ I,/ I
a/a I,/a E
a/a I,a/a E
a/a I,h/h D
h/h I,x/x D
a/a D,x/x I
h/h D,x/x I
h/h I,/ E
/ I,x/ E
a/a D,/x D
/ I,/ E
a/a E,x/x D
h/h I,x/x D
a/a D,/ I
/ I,x/x E
/ I,h/h D
/ I,x/x E
/ I,x/x E
/ E,h/h D
a/a I,h/h D
a/a I,/ E
a/a I,x/x E
/ E,/ E, /a D
a/ E,a/a E,/ I
/ E,h/h I,h/h I
a/ E,h/h I,/ I
a/ E,h/h I,/ I
3.
132
/a D,h/h I,a/ E
/0 D
0/ E
/ D
0/0 E
1/1 E
/ D
1/ E
/ E
/ D
h/h D
/ E
0/ D
1/ D
/0 E
/1 E
/1 D
/h D
/ E
0/0 D
1/1 D
/ D
0/0 D
1/1 D
0/0 D
1/1 D
/ E
/ E
0/ E 0/0 E
1/1 E
0/ D
0/0 E
1/1 E
/ E
1/ D
/ D
1/ E
/ E
0/0 D
1/1 D
0/0 D
1/1 D
/ E
4. Toda linguagem que pode ser reconhecida por MT desse tipo e, obviamente, recursiva.
Por outro lado, se uma linguagem e recursiva, pode ser reconhecida por MT desse tipo:
seja uma MT-padr
ao que sempre pare M = (E, , , h, , , i, F ); uma MT do tipo em
considerac
ao que reconhece L(M ) e (E {esim , en
ao }, , , h, , , i), em que para todo
(e, a) E :
se (e, a) e definido, ent
ao (e, a) = (e, a);
se e F , (e, a) = esim ;
se e 6 F , (e, a) = en
ao .
5. O u
nico smbolo a ser escrito em celulas da segunda trilha ser
a o . O par [a, ] sob
a
o cabecote (a na primeira trilha e na segunda) ser
a referido por a, o par [a, ] ser
referido por a e o par [, ] ser
a referido por simplesmente, por conveniencia. Segue a
MT:
0/0 D
1/1 D
0 /0 E
1 /1 E
/ E
0/ 0 D
0/ 0 E
0/0 E
1/1 E
0 /0 D
1 /1 D
1/ 1 D
1/ 1 E
0 /0 E
0/0 D
1/1 D
1 /1 E
/ E
133
a, /
fazer:
se a = :
se a 6= :
c/c I,d/d I
a/a D,d/d I
a, /z
em que z = z1 . . . zn
fazer:
c/c I,d/d D
c/c I,/zn D
e1
se a = : e
para cada c {} e cada d {h};
a/a I,d/d D
se a 6= : e
para cada d {h}.
e1
a/a I,/zn D
e2
en
e2
en
c/c I,/z1 I
a/a D,/z1 I
a, b/
fazer:
se a = :
se a 6= :
c/c I,b/ E
a/a D,b/ E
e
e
a, b/z
em que z = z1 . . . zn
fazer:
c/c I,b/zn D
se a = : e
para cada c {};
se a 6= :
a/a I,b/zn D
e1
e1
c/c I,/zn1 D
a/a I,/zn1 D
134
e2
en1
e2
en1
c/c I,/z1 I
a/a D,/z1 I
/ I,h/h I
a/a I,/ E
b/b I,/ E
/ I,/ E
/ I,h/h I
a
/ I,h/h I
b/b D,X/ E
b
a/a I,h/h D
a/a I,X/X D
a/a D,/X I
b/b D,X/ E
a1
7.
Z/Z D
U/U D
Z/Z D
U/U D
/ D
Z/Z E
U/1 D
/Z D
0/0 D
1/1 D
/ E
/ D
/U E
/ E
Z/Z E
U/U E
Z/0 D
/Z E
U/U E
/ D
/ D
Z/Z D
U/U D / E
Z/Z D
U/U D
U/Z E
/ D
Z/U E
Z/Z D
U/U D
Z/U D
/Z E
Z/Z D
Z/Z E
U/U E
8. A MT e quase identica `
a da questao anterior; basta eliminar o estado , obtendo-se:
135
Z/Z D
U/U D
Z/Z D
U/U D
/ D
Z/Z E
U/1 D
/Z D
0/0 D
1/1 D
/ E
/ D
/U E
/ E
Z/Z E
U/U E
Z/0 D
/Z E
U/U E
/ D
/ D
Z/Z D
U/U D / E
Z/Z D
U/U D
Z/Z D
U/U D
U/Z E
Z/U E
/ D
Z/Z D
/Z E
Z/Z E
U/U E
/ I,/1 I,/ I
/ I,1/1 D,/ I
0/0 D,/ E,h/h D
/ I,/1 I,/ I
138