Linguagens
1
?2
Seja
o alfabeto
(a)
AB
(b)
AB
(c)
BA
(d)
A3
(e)
A?
Sejam
{0, 1}.
Sendo
A = {10, 11}
linguagens de alfabeto
em
ou seja a linguagem
L3 .
e verica se:
L o conjunto
mente L .
(c) Seja
LM
0's
i) Existe
ii)
ML
determina:
dadas por
e o nmero de
{xyz | x L, y L, z L},
B = {00, 1},
= {0, 1, 2}
L = {01, 10, 1}
M = {x | x , |x| 4
(a) Determina
Considera a palavra
aaaba
de alfabeto
= {a, b}.
)
(a)
{a, b}
(b)
(c)
(d)
(e)
?5
AL
ii)
ay L, y L
iii)
ya L, y L
iv)
AyA L, y L
Sejam
L1 , L2
L3
as linguagens de alfabeto
{a, b, c}
assim denidas:
L1
= {waw | w {b, c} }
L2
= {cccc} {aaa}
L3
= {wcn | w {a, b} , n N}
Li ,
determina em extenso
L0i = {x | 7 |x| 8, x Li
c's}.
Li .
(c) Determina, L1 L3 , L1 L2 , L1 L3 e L2 .
(d) Mostra que L2 L3 = {cccc} {a, b} {c} e descreve informalmente esta linguagem.
Para cada uma das seguintes armaes sobre linguagens diz se verdadeira ou falsa, demonstrando
se for verdadeira ou encontrando um contra-exemplo se for falsa.
(a)
AB = BA
(b)
L = L =
(c)
(L? )? =L?
(d)
L? L? =L?
(e)
(A B)? = A? B ?
(f )
(A B)? = A? B ?
(g)
(AB)? = A? B ?
(h) se
L1 L2
ento
L?1 L?2
Para cada uma das seguintes armaes, diz se verdadeira ou falsa, justicando:
i) uma linguagem vazia se s contm a palavra vazia;
ii) uma linguagem innita contm alguma palavra innita;
iii) Se
Seja o alfabeto
= {0, 1}
? \ L
innito
A1
= {(01)n (10)n | n 0}
A2
= {01} {10}
A3
= {w | em w
no ocorrem dois
1s
ou dois
A1 A2 , A2 A3 , A2 \ A3
0s
e
seguidos}
A1
A4 = {w | | w | 8}
igual a A1 .
Seja o alfabeto
= {a, b}
B1
= {(aa)n (bb)n | n 0}
B2
= {aa} {bb}
B3
= {w | em w
nmero de
as
igual ao nmero de
B1 B2 , B2 B3 , B2 \ B3
bs}
B1
B4 = {w | | w | 8}
igual a B1 .
A, B
10
11
(a)
(AB) = A B
(b)
A(B C) = AB AC
(a)
(A B) = (A B )
(b)
(A B) = A B
Autmatos Finitos
12
89:;
/ ?>=<
s0 k
89:;
/ ?>=<
s1
0
1
89:;
0123
7654
/ ?>=<
s2
0,1
0
(a) Constri uma descrio formal para este autmato como um tuplo
A = (Q, , , q0 , F );
(b) Indica quais das seguintes palavras so aceites por este autmato:
111111
101001, 11001010111,
0000011000;
{0, 1}
13
= {0, 1},
A = ({s0 , s1 }, , A , s0 , {s1 })
B = ({s0 , s1 , s2 }, , B , s0 , {s1 , s2 })
com as funes de transio dadas por:
A (s0 , 0) = s0
A (s1 , 0) = s0
A (s0 , 1) = s1
A (s1 , 1) = s1
B (s0 , 0) = s1
B (s1 , 1) = s2
B (s0 , 1) = s2
B (s2 , 0) = s1
11001
101
01010
111
00011
14
{0, 1}
que. . .
15
Seja
16
? 17
? 18
L,
seja
LR = {xR | x L}.
Mostra que se
tal que
(s, a) = s,
tambm o .
Seja
{0, 1}
de 5.
(a) Descreve um autmato nito determinstico que reconhea esta linguagem.
(b) Para o autmato encontrado, prova que o mesmo reconhece a linguagem
B.
Autmatos no-determinsticos
19
no-determinsticos
/()*+
?_ a ()*+
//.-, b ()*+
//.-,
/ .-,
O ?
?? b
??
a
?? b
/.-,
()*+o
()*+
/.-,
A:
()*+
//.-,
B:
()*+
/.-,
1
20
(b)
aba
(c)
abba
(d)
bba
(e)
abab
21
/.-,
/()*+
aa
/.-,
/()*+
(a)
b
/.-,
/()*+
no-determinstico
ou
B:
= {0, 1}
?()*+
/.-,
>=<
/ 89:;
1 j
A:
a,b
?>=<
/ 89:;
2
b
Converte, pela construo dos subconjuntos, o autmato num autmato nito
22
Seja
GF
ED
BC
/ ?>=<
89:;
1
a,b,c
a
{a, b, c}
determinstico.
89:;
/ ?>=<
2
89:;
()*+
/.-,
/ ?>=<
3
A?
Porqu?
89:;
()*+
/.-,
/ ?>=<
4
A.
(S, , , s0 , F ) em que uma funo total
(S, , , s0 , S \ F ) reconhece ? \ L (isto , a
L,
linguagem complementar de
ento o autmato
L).
A?
GF
ED
BC
/ ?>=<
89:;
/.-,
()*+
1
23
Seja
89:;
()*+
/.-,
/ ?>=<
2
a,b,c
a
89:;
/ ?>=<
3
89:;
/ ?>=<
4
e que no terminam em
mas
ababa
A.
(b) Para cada um dos estados do autmato descreve informalmente a linguagem correspondente.
24
Seja
uma subpalavra
10000100
000.
Por exemplo
no pertencem.
B.
(b) Para cada um dos estados do autmato descreve informalmente a linguagem correspondente.
25
89:;
/ ?>=<
s0
|
89:;
0123
7654
/ ?>=<
s1
{a, b}.
89:;
0123
7654
/ ?>=<
s2
S
denido no alfabeto
a
(a) Descreve
L(C)
L(C)
C.
corresponde cada
26
89:;
/ ?>=<
s0 o
(a) Descreve
L(D)
d
d
&
?>=<
89:;
0123
7654
s1
x
c
c
denido no alfabeto
89:;
0123
7654
/ ?>=<
s2
L(D)
{c, d}.
D.
corresponde cada
?/.-,
()*+
>=<
/ 89:;
1 f
s
89:;
3 ?>=<
2
a
& 89:;
3 ?>=<
3
a,b
? 28
o:
s0
s1
s2
s3
?s4
{s1 }
a
{s0 , s1 }
{s1 , s4 }
{s1 }
b
{s2 }
{s3 }
{s4 }
(a) Para cada uma das seguintes palavras indica se so aceites ou no pelo autmato:
i)
ii)
iii)
bbab
aaaaba
ababab
? 29
sio:
?s0
s1
s2
?s3
a
{s1 , s2 } {s0 }
{s0 }
{s1 , s2 }
{s3 }
(a) Para cada uma das seguintes palavras indica se so aceites ou no pelo autmato:
i)
ii)
iii)
abaa
baaa
ababba
Expresses regulares
30
as
as
31
32
= {a, b}:
aaa.
baa L(a? b? a? b? )
(b)
(c)
L(a? b? ) L(c? d? ) =
(d)
(a) A linguagem
{x {0, 1}? | x
i)
ii)
iii)
(1 + 0)? 0?
(0 + 10)?
0? + (0 + 1)? 0
(b) A linguagem
i)
ii)
iii)
33
34
{x {0, 1}? | x
( + 1)1(1 + 0)?
(11 + 10)(1 + 0)?
1? (1 + 0)?
+ a? + b? + (a + b)?
(b)
((a? b? )? (b? a? )? )?
(c)
(d)
Descreve cada uma das linguagens seguintes por uma expresso regular.
(a)
(b)
(c)
L1 = {x {a, b, c, d}? | x
L2 = {xaay | x, y {0, 1}
L3
no tm
b's
direita de
c's
nem
a's
0's
esquerda de
em
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
e em
d's}
mpar}
que so representao em
35
L4 = {x {0, 1}? | x
tm
110
101}
Para cada uma das igualdades seguintes sobre expresses regulares diz se verdadeira ou falsa,
demonstrando se for verdadeira ou arranjando um contra-exemplo se for falsa.
36
(a)
( + r)? = r?
(b)
(r + s)? = r? + s?
(c)
(d)
(r + s)? s = (r? s? )?
s0
s1
?s2
s3
?s4
s5
{s2 , s4 }
{s4 }
{s5 }
{s1 }
{s2 }
{s3 }
(a) Apresenta o diagrama que descreve o autmato e diz quais das seguintes palavras so aceites
por
A: 0001, 010101
00000
A,
de cada estado de
A.
A.
37
s0
s1
s2
s3
?s4
?s5
c
d
{s3 }
{s1 }
{s2 } {s2 , s5 }
{s1 }
{s4 }
{s2 , s4 }
{s4 }
(a) Apresenta o diagrama que descreve o autmato e diz quais das seguintes palavras so aceites
por
B : cccd, dccc
ccdcc
B,
de cada estado de
B.
38
B.
(a) Escreve uma expresso regular que descreve cada uma das seguintes linguagens:
As palavras de
(b) Sendo
antes de qualquer
lentes, demonstrando se o forem ou exibindo uma palavra que pertena a uma e no outra,
caso contrrio:
39
r? (sr? )?
(s + r)?
(a) Escreve uma expresso regular que descreve cada uma das seguintes linguagens:
As palavras de
As palavras de
(b) Sendo
lentes, demonstrando se o forem ou exibindo uma palavra que pertena a uma e no outra,
caso contrrio:
(rs + r)? r
r(sr + r)?
A:
?>=<
/ 89:;
1 s
89:;
()*+
/.-,
2 s
4 ?>=<
a,b
B:
?>=<
/ 89:;
1 k
X
+ ?>=<
89:;
()*+
/.-, s
@2
a
b
b
89:;
?>=<
()*+
/.-,
3
Determina as expresses regulares das linguagens reconhecidas por cada autmato, pelo mtodo
de eliminao de estados.
41
42
Constri um autmato nito no-determinstico que reconhea cada uma das linguagens denidas
pelas seguintes expresses regulares:
(a)
(ab + a)?
(b)
(a + b)? aba
9
2.3
da Folha 2.
43
(c)
(aaa + aaaaa)?
(d)
(aa)? bbb(bbb)?
A
Seja
{0, 1}
1's.
0's
44
Seja
{0, 1}
de 5.
(a) Descreve um autmato nito determinstico que reconhea esta linguagem.
(b) Encontra uma expresso regular para a linguagem dada.
45
Seja
A = {x {a, b}? | em
ab
46
Seja
de
mas no mltiplos de
{0, 1}
3.
47
A:
Partindo de
B,
(a)
L(A) L(B)
(b)
L(A) L(B)
(c)
L(B)
Para
48
x ?
B:
/.-,
/()*+
1
()*+
// .-,
0
()*+
// .-,
B:
/.-,
/()*+
denota-se por
a(x)
o nmero de
as
em
x.
A
Por exemplo,
011001 A, 1100111
/A
(mod 4)}
000111011111 A.
A.
(b) Encontra, pelo mtodo de eliminao de estados, uma expresso regular para a linguagem
indicando todas as fases da aplicao do mtodo.
49
B
Por exemplo,
1010210011 B, 1100201111
/B
1(x) + 0(y)
par}
0001112111000 B.
10
I.
A,
ba}
(b) Encontra, pelo mtodo de eliminao de estados, uma expresso regular para a linguagem
B,
50
{a, b}
51
{a, b}
52
invertida
de
x,
Se
|x| = 0
Se
|x| 1,
denota-se por
ento
ento
x
e
{a, b},
x {a, b}?
a palavra
complementar
por:
x
e=x=
x = ya
implica que
x
e = be
y,
x = yb
aaba
implica que
babb.
x
e = ae
y
Seja
L = {xe
x | x {a, b}? }
Mostra, usando o lema da repetio para linguagens regulares, que
53
no regular.
54
|w| = n , n 0}
algum
n 0}
55
Para cada uma das seguintes linguagens, indica, justicando, se ela ou no regular. Usa (e enuncia)
o lema da repetio, para provar que uma linguagem
, , \,
56
57
58
59
(a)
(b)
(a)
{02n | n 0}
(b)
{0n | n 0}
(a)
2n
|w| = n , n 0}
(b)
{0 w | w {0, 1} , |w|
(a)
{an ck bm | k 0 , n m
m 5}
(b)
{an ck bm | k 0 , n m
0 m 5}
par e
n 0}
11
no
1
2
3
4
5
6
7
b
3
3
7
1
7
7
3
a
2
1
7
5
4
3
3
b
5
4
2
7
3
6
1
0
1
2
3
4
5
6
b
5
3
4
6
5
4
6
a
2
1
5
2
3
7
6
b
6
7
2
3
1
3
5
Para cada uma das seguintes linguagens, indica, justicando, se ela ou no regular. Usa (e enuncia)
o lema da repetio, para provar que uma linguagem
, , \,
64
(a)
{13n | n 0}
(b)
{13 | n 0}
65
12
no
(a)
(b)
{an bm | n, m 0
n m
{a b
| n, m 0
n + m 3}
n + m 3}
1
2
3
4
5
6
7
d
1
7
5
7
1
5
2
1
2
3
4
5
6
7
1
6
7
2
1
3
3
4
Lema da Repetio
68
Para cada uma das seguintes linguagens, diz se ela ou no regular. Usa o lema da repetio (para
no
(concatenao) e
{1n : n
um primo}
(b)
{1 : n
quadrado perfeito}
(c)
{0 1 0 : i 0, j
(d)
{0 1 : i 0, j i}
(e)
{0i 1j : i 6= j}
(f )
{ww : w {0, 1} }
(g)
i j k
, , \
(complemen-
(fecho de Kleene).
(a)
(h)
69
par e
mpar}
i j
{y {a, b} | 2
a palavra
invertida)
(i) {w
{(, ), +, 0, 1, 2, . . . , 9}
(j) {w
{+, 0, 1, 2, . . . , 9}
a's
e o nmero de
b's
em
y}
{an bm ck | n 0, m 0, k 0, }
(b)
{an bn cn | n 100}
(c)
{an bn cn | n 0}
13
70
(d)
(e)
{an bm ck | n 0, m 0, k = m + n}
(f )
{an b2m | n 0, m 0}
(g)
{an bm | m 0, n = 2m}
(h)
(i)
71
(a)
(b)
L(aa(a + b)? )
(c)
{cm an bn | m 1, n 0} {am bn | m, n 0}
Seja
v
? 72
u,
da forma
L = {x {(, )}? | x
n3
para algum
n N}
74
L
2. Se
xL
ento
(x) L
3. Se
xL
ento
xx L
xo).
\L
nita.
(e) Se
L=AB
\L
regular.
tambm so regulares.
(h) Se
regular ento
(i) Se
regular e
AB
{xy : x L
{x L : |x| 1000}
regular ento
y 6 L}
tambm regular.
tambm regular.
tambm regular.
Usa o algoritmo de minimizao para obter autmatos mnimos equivalentes aos seguintes autmatos nitos determinsticos:
(a)
?>=<
/ 89:;
1
14
t
?()*+
/.-,
>=<
/ 89:;
2
a
b
89:;
()*+
/.-,
/ ?>=<
3
v
v
a / ?>=<
a / ?>=<
89:;
89:;
()*+
/.-,
?>=<
/ 89:;
2>
3
1>
@
>>
>
>>b
b >>>
>>
>>
>> a
>>
v
b
89:;
()*+
/.-,
89:;
?>=<
/ ?>=<
5
4
(b)
76
a,b
a,b
77
Considera a linguagem de
{a, b}?
(1)
? 78
1
2
3
4
5
6
7
8
2.
a
1
3
4
3
4
6
2
3
b
4
1
2
5
6
3
4
1
a
3
8
7
6
1
2
1
5
b
5
7
2
2
8
3
4
1
1
2
3
4
5
6
7
8
15
80
Mostra que os seguintes problemas so decidveis, descrevendo um algoritmo para cada caso:
A,
ser
L(A) = ?
A,
ser
L(A) = ?
A,
ser
L(A)
e uma palavra
x L(A)?
nita?
(e) Dadas
L1 , L2
L1 L2 ?
(f ) Dadas
L1 , L2
L1 = L2 ?
Para cada uma das seguintes armaes, diz se verdadeira ou falsa, justicando:
(a) Uma linguagem innita contm alguma palavra innita;
(b) Uma linguagem vazia se s contm a palavra vazia;
(c) se um autmato tem mais estados que outro, ento reconhece mais palavras que esse outro;
(d) qualquer linguagem nita pode ser reconhecida por autmato nito;
(e) qualquer linguagem innita pode ser reconhecida por um autmato nito;
(f ) se dois autmatos nitos tm conjuntos de estados diferentes, reconhecem linguagens diferentes;
(g) num automato nito, se todos estados so nais, ento a linguagem reconhecida
(h) Se o estado inicial de um autmato for nal, a linguagem reconhecida pelo autmato
(i) qualquer que seja
E , L(E ) 6=
(j) se
{}.
regular
(i.e.,
Para cada uma das seguintes linguagens, indica, justicando, se ela ou no regular. Usa (e enuncia)
o lema da repetio, para provar que uma linguagem
, , \,
81
82
(a)
{13n | n 0}
(b)
{13 | n 0}
(a)
{an bm | n, m 0
(b)
no
.
n
n m
{a b
| n, m 0
n + m 3}
n + m 3}
c
3
3
6
1
6
3
6
d
1
7
5
7
1
5
2
16
1
2
3
4
5
6
7
1
6
7
2
1
3
3
4
R XRX | S
S aT b | bT a
T XT X | X |
Xa|b
(a) Quais so as variveis e os smbolos terminais de
(b) D trs exemplos de palavras de
G?
L(G).
L(G).
T aba.
T aba.
T T.
T T .
XXX aba.
X aba.
T XX .
T XXX .
S .
R ab
R aba
86
L(G).
Seja G a gramtica independente de contexto, descrita por G = (V, , P, S), onde o alfabeto
= {0, 1}, os smbolos no terminais so V = {S}, o smbolo inicial S e as produes so dadas
por P = {S , S 0S, S 1S}.
(a) Obtm uma derivao para as seguintes sequncias:
(b) Mostra que a linguagem gerada por
i.e.,
87
88
001, 101000
111000
{0, 1}? .
Justica a armao:
dente de contexto
= {0, 1, +, , (, )}.
G = (V, , R, E),
onde
E E + E | E E | (E) | N
N 0|1
Determina as derivaes e rvores associadas a cada uma das seguintes palavras:
17
V = {E, N }
89
(a)
(b)
1+0
(c)
1+0+1
(d)
(1 1) + 0
(e)
11+1
(f )
1 (1 + 1)
= {0, 1}.
{w : w
(c)
{w : w
(d)
{w : o
comprimento de
mpar}
(e)
{w : o
comprimento de
(f )
{w : w
(g)
{w : w = wR }
(h)
{w : w
90
{w {0, 1}? |
i j i
{0n 1n : n 0}
w}
{a b c {a, b, c} | i 0, j 0}
{ai bi+j cj {a, b, c}? | i 0, j 0}
com as regras:
S aSa | bSb | a | b |
gera a linguagem dos palndromos em
91
{a, b} .
smbolos proposicionais: p, q, r, s
conectivas lgicas: , , ,
parntesis: ( e )
(b) nmeros decimais em notao cientca: por exemplo
(c) as expresses regulares em
{a, b}
smbolos bsicos: a, b, e
operadores +, (concatenao) e ?
parntesis: ( e )
92
Seja
G = ({S}, {a, b, c}, {S aaS, S ccS, S bSaa, S b}, S) uma gramtica indepenV e os conjuntos de variveis e terminais de G, respectivamente.
Dn = {w (V )? | S nG w}
para
aaccbaa
n = 1, 2, 3, 4.
e
aabccbaabaaaa.
abaac
/ L(G).
18
(e) Mostra por induo sobre o nmero de passos da derivao que quaisquer que sejam
n>0
x (V )? ,
se
em que
S nG x
ento
k 0 w ({b}A)k y A
x = ywba2k x = ywSa2k
2(k1)
{xa
(f ) Mostra que
mostrando que
|w|/2
S G
wS ,
em que
w A;
|w|)
1+|w|/2
wb, qualquer que seja w A;
concluindo que S G
1+|w|/2
e concluindo que S G
wbSaa, qualquer que seja w
para mostrar que para todo
A = {aa, cc}? ,
A;
k > 0,
e concluir
? 93
L(G)
1's
no excede o nmero de
0's.
= {0, 1}
Demonstra que a
? 94
an bm cl
em que
l 6= n.
= {a, b, c}
a linguagem.
Gramticas ambguas
95
L(G)
o conjunto de palavras de
{a, b}?
a's
b's.
ambgua.
96
Considera a gramtica
97
+ xyxy.
98
? 99
Mostra que a seguinte gramtica ambgua e encontra uma equivalente que o no seja.
S S S | S S | (S) | p | q
19
? 100
Mostra que a seguinte gramtica ambgua e encontra uma equivalente que o no seja.
S AB1
A A11A |
B B0B | B1B |
Uma forma de provar que uma gramtica gera uma linguagem
primeiro:
Seja
L.
palavra de
101
mostrar por induo sobre o nmero de passos de derivao que se uma palavra derivada
segundo:
A.
B = {0i 1j 2j 3i | i, j 0}
B.
a linguagem de
{e, d, c}
c.
Por exemplo,
ds
ecdeed L, deecec L
cce
/ L.
L.
(b) Apresenta uma derivao pela esquerda e uma rvore de derivao para
Verica que
104
B.
no regular.
A.
no regular.
103
que toda a
102
Para
cce
x ?
a(x)
o nmero de
as
em
x.
Seja
aacbcbbb L, bbcbcaba L
cacb
/ L.
L.
rvore de derivao e uma derivao pela esquerda para cada uma das
aacbcbbb
bbcbcaba.
palavra cacb
Gramticas Regulares
105
Constri gramticas independentes de contexto que gerem as linguagens descritas pelas seguintes
expresses regulares:
(a)
0? 1(0 + 1)?
(b)
0? 1? 2?
(c)
(d)
20
106
Constri uma gramtica independente de contexto que gere a linguagem de cada um dos seguintes
autmatos nitos:
.-,
//()*+
(a)
b
.-,
//()*+
/.-,
()*+
1
/.-,
()*+
/
()*+
//.-,
a
.-,k
//()*+
W
(b)
b
b
.-,
k
//()*+
W
(c)
+
/.-,
()*+
G
b
a
a
b
107
+
/.-,
()*+
q
?
a
/.-,
()*+
/.-,
()*+
b
a
A ,
com
A, B V
108
Seja
constitudo
A aaA | bbA | B
B cbB | bbbB | C
C Ca |
(a) Justica que
linear esquerda
linear direita.
no
equivalente que
nem
linear direita,
L(G)
L(G)
(d) Mostra que a gramtica linear direita que gera a linguagem reconhecida por um autmato
nito determinstico
todo o
x L(G)
A,
x.
Usa a propriedade de fecho para mostrar que as seguintes linguagens so independentes de contexto:
(a)
{am bn | m 6= n}
(b)
(c)
{am bn cp dq | n = q
(d)
110
n n m m
ou
mp
ou
m + n = p + q}
n m m n
{a b c d |n 1, m 1} {a b c d |n 1, m 1}
Mostra que se
21
LR
Formas normais
111
Escreve gramticas sem smbolos inteis, sem produes- e sem produes unitrias equivalentes
):
(b)
(c)
Para cada uma delas obtm gramticas equivalentes em forma normal de Chomsky.
112
113
):
(a)
(b)
Escreve gramticas independentes de contexto nas formas normais de Chomsky e de Greibach que
gerem as seguintes linguagens:
? 114
(a)
{an b2n ck | n, k 1}
(b)
{an bk cn | n, k 1}
(c)
{an bm ck | n, k, m 1, 2n k}
(d)
{an bm ck | n, k, m 1, n k
ou
m k}
S S S | S S | (S) | p | q
Escreve uma gramtica equivalente em forma normal de Chomsky.
? 115
S AB1
A A11A |
B B0B | B1B |
Escreve uma gramtica equivalente em forma normal de Chomsky.
116
L(G1 ).
L(G1 ) \ {}
sem produes
,
smbolos inteis.
(c) Obtm uma gramtica equivalente obtida em forma normal de Chomsky.
117
Dada uma gramtica em forma normal de Chomsky, mostra por induo sobre
rvores de derivao de palavras de tamanho
118
tm
x L(G), | x |= n e x
n + m ns.
2n 1
G
no tem produes
n,
que todas as
ns interiores.
passos ento
.
Mostra que:
derivao com
119
A 1 B2 P
e sejam
L(G) = L(G1 ).
22
Autmatos de Pilha
120
so:
(q0 , a, A)
(q0 , b, A)
(q1 , a, B)
(q1 , b, B)
(q1 , , A)
(a) Representa o autmato
onde as transies
=
=
=
=
=
aba,
comeando na
121
L(M )
em linguagem corrente.
(q0 , a, Z)
(q0 , b, Z)
(q0 , a, B)
(q1 , b, B)
(q2 , , Z)
(a) Representa o autmato
=
=
=
=
=
P
{(q1 , Z)}
{(q0 , BZ)}
{(q1 , B)}
{(q2 , )}
{(q2 , )}
onde as transies
so:
aaaa,
comeando na
aa?
bbaa?
L(P ) (a linguagem
L(P ) pode ser aceite por um autmato nito determinstico mas N (P ) no.
(g) Indica uma gramtica independente de contexto que gere
122
N (P ).
Descreve autmatos de pilha que reconheam (por pilha vazia ou por estados nais) cada uma das
linguagens seguintes.
(a)
(b)
{x {a, b}? | x
a inversa de
x,
x {a, b}? }
capcua}
(c) Seja
(d)
{w : w
aquela representao em
{w {0, 1}? |
{0n 1n : n 0}
23
w}
(g)
(h)
{ai bj ck | i = j
i j k
{a b c | i 6= j
ou
j = k}
ou
j 6= k}
i i+j j
c {a, b, c}? | i 0, j 0}
(i)
{a b
(j)
123
{0, 1}
que no so da forma
ww.
Mostra que qualquer linguagem que reconhecida por um autmato de pilha por estados nais
pode ser reconhecida por algum autmato de pilha por pilha vazia e vice-versa.
124
Considera a linguagem
casados. Denimos
1.
PAREN2
2. se
x PAREN2
3. se
x, y PAREN2
Por exemplo
ento
( x ) PAREN2
ento
[ x ] PAREN2
xy PAREN2
[ ( [ ] ) [ ] ( ) ] PAREN2
[(])
/ PAREN2 .
? 125
de parntesis bem
de alfabeto
PAREN2
= {a, b, c},
M = {an bm cl bm | l, m, n N, m 6= 0}.
(a) Descreve um autmato de pilha que aceite
? 126
aabbbb
abccbb
de alfabeto
= {0, 1, 2},
127
Seja
101121101
101121010
a linguagem de
{0, 1}?
A.
linear.
(b) Converte a gramtica obtida para a forma normal de Chomsky. Para esta gramtica apresenta
uma rvore de derivao para a palavra
128
Seja
as
B {a, b}?
1100100.
bs
Por exemplo
aaababaaa, baaabaaa
so palavras de
aaabab
no pertence a
B.
B.
(b) Converte a gramtica obtida para a forma normal de Chomsky e apresenta para esta gramtica
uma
24
129
Considera o alfabeto
Dado
{a, b, c},
a b c.
Para a palavra
crescente. Seja
tal que
x = x1 x2 . . . xn ,
(b) Converte a gramtica obtida para a forma normal de Chomsky. Para esta gramtica apresenta
uma rvore de derivao para a palavra para
130
Seja
a linguagem de alfabeto
de 0s e de 1s, i,e,
um
uplo
{0, 1, ,, ), (, ], [},
abcab.
(1, 0, 0, 1).
Uplos com um
0s
1s,
ou um
e entre
uma
lista de uplos uma sequncia, eventualmente vazia, de uplos separados por vrgulas
[(1, 0, 0, 1), (), (0)]. Se s tiver um uplo no pode ter vrgulas e
uma
lista de listas , uma sequncia, eventualmente vazia, de listas separadas por vrgulas
[[(1, 0, 0, 1), (), (0)], [(0)]]. Se s tiver uma lista no pode ter
D.
(b) Converte a gramtica obtida para a forma normal de Chomsky. Para esta gramtica apresenta
uma rvore de derivao para a palavra
131
Seja
E = {0i 1j 2k 3l | n, m, i, l 0, l = 2i
k = j}
vazia.
(b) Indica o papel desempenhado por cada um dos estados.
(c) Determina as mudanas de congurao do autmato no processamento das seguintes palavras:
(a)
(b)
132
Seja
00123333
0001122333
F = {an bm ck | n, k, m 1, 2n k}
F,
vazia.
(b) Indica o papel desempenhado por cada um dos estados.
(c) Determina as mudanas de congurao do autmato no processamento das seguintes palavras:
(a)
(b)
133
Seja
aabbccc
aaccccc
G,
vazia.
(b) Indica o papel desempenhado por cada um dos estados.
25
134
aababaaa
baabaa
H = {x {0, 1, 2}? | x
Seja
H,
1s
2s}
vazia.
(b) Indica o papel desempenhado por cada um dos estados.
(c) Determina as mudanas de congurao do autmato no processamento das seguintes palavras,
indicando se as palavras so ou no aceites:
(a)
(b)
135
102000
000012001
Considera a seguinte gramtica para um fragmento das expresses regulares sobre o alfabeto
onde
{a, b},
, e
+:
E = ({S}, {S S + S | S S | S | a | b}, {a, b, +, , }, S})
(a) Mostra que
ambgua.
136
Considera a gramtica
ambgua.
137
Considera a gramtica
ambgua.
L(H)
138
139
({B, E, D}, {B B + B | B B | E, E Dx | D, D 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9}
, {+, , 0, . . . , 9, x}, B)
(a) Mostra que a gramtica ambgua.
26
140
de expresses da forma
(superior a
141
por cada no-terminal. Supe que a adio tem precedncia inferior multiplicao (e superior
a
<)
4x + 1 + 6x
e uma
rvore de derivao
para
51x + 3 =
Mquinas de Turing
142
s0
s1
a
b
143
e a funo de tran-
dada por
s0 aabab
M.
Constri mquinas de Turing que aceitem cada uma das seguintes linguagens. Indica as que so
independentes de contexto.
(a)
{0n 1m | n m}
(b)
{an bn cn | n 0}
(c)
(d) as palavras de
{a, b}?
(e)
? {an | n 1}
(f )
? {a2 | n 1}
(g)
? {ap | p
(h)
b's
primo}
(j)
(m)
que
(l)
a's
(i)
(k)
com mais
m = l}
k = i}
27
144
a? b? cc?
q0 ,
q1 .
{an bn cn | n N}
Descreve uma mquina de Turing que calcule cada uma das seguintes funes de
(a)
(b)
f (1n ) = 12n
(c)
f (w) = wr
(d)
m=2
em
{0, 1}?
Inicial :
1 1
F inal :
1 1
m=2
{0, 1}?
Inicial :
1 1
F inal :
1 1
x e y dados em unrio.
146
Inicial :
1 1
F inal :
1 0
Descreve mquinas de Turing que calculem cada uma das seguintes operaes entre nmeros representados em base
2.
Inicial :
0 1
F inal :
0 1
no vazia de
{0, 1}?
Inicial :
0 1
F inal :
0 1
28
@.
Suponha
5, 3
@.
Inicial :
@ 1
@ 0
F inal :
(g)
147
1 + 2 + . . . n.
Escrever
em duas colunas
Repetir
dividir por
coluna
multiplicar por
mpar.
Escreve uma mquina de Turing que calcule o produto em binrio de dois nmeros em binrio
dados,
somar dois nmeros em binrio, poders usar a soluo do problema 1.146.6, que foi disponibilizada.
148
Escreve uma mquina de Turing que ordene por ordem crescente trs nmeros em binrio
dados e separados por
@.
x, y
bits.
149
Escreve uma mquina de Turing que dado um nmero em unrio, o escreve em binrio, descrevendo
o propsito de cada estado e os smbolos usados.
150
151
152
{0i 1j 2i 3j | i, j 0}
{u2n v | u {0, 1}? , v {2, 3}? , 1(u) = 3(v) = 2n}
Escreve uma mquina de Turing, codicando para o simulador dado, que calcule a seguinte funo:
29
153
154
Dado um nmero
2n
em unrio, calcule
Inicial :
F inal :
1 1
Inicial :
@ 1
1 @ 1
F inal :
@.
##
inicializa um comentrio
a primeira linha que no contenha um comentrio deve conter a seguinte informao (separada
por
wildcard
transies para indicar um conjunto de smbolos para os quais dado um estado e um smbolo ainda
no havia transio)
cada linha seguinte deve representar uma transio e os seus elementos tambm devem ser separados
por
movimento (R,
direita, ou
L,
esquerda).
Os smbolos da ta s podem ser representados por um caracter. Cada transio pode ser seguida
de um comentrio (no sendo necessrio
##).
Seja
M = (S, , , , s0 , , F )
Sugesto :
156
L(M )
regular.
L(M ).
Mostra que as seguintes variantes de Mquinas de Turing so equivalentes ao modelo bsico. Para
cada uma:
(a)
dos movimentos normais de esquerda () e direita (), car no mesmo stio (h). A funo
de transio passa a ser da forma
(b)
: S S {, h, }.
Inicialmente a palavra de entrada est na ta 1 e as restantes tas esto em branco. A funo
de transio passa a ser da forma
157
: S k S k {, }k .
tas.
(b) Descreve uma mquina de Turing com 2 tas que reconhea a seguinte linguagem
30
{0, 1}?
0's
e de
158
no determinstica
: S P(S {, })
Uma mquina de Turing no determinstica aceita a sequncia de entrada se existe uma sequncia
de escolhas de movimentos que conduza a um estado de nal.
Descreve mquinas de Turing no determinsticas que aceitem cada uma das seguintes linguagens:
(a) As palavras de
forma
(b)
j , wj
159
Seja um
o inteiro
k -APD
w1 #w2 #...#wn
para qualquer
n,
wi {a, b}
e para algum
em binrio.
k -APD
? 160
Formaliza de um modo preciso a simulao da execuo de autmato de pilha por uma mquina
de Turing. Conclui que as linguagens independentes de contexto so recursivas.
{0, 1}?
obtm a
dada por
s0
s1
162
0
1
Para cada uma das operaes sobre linguagens: reunio (), concatenao, interseco () e fecho
de Kleene (?), averigua, justicando, se as seguintes linguagens so fechadas para essa operao:
31
(a) recursivas
(b) recursivamente enumerveis (r.e.)
163
Mostra que os seguintes problemas sobre mquinas de Turing so indecidveis (por reduo a um
problema indecidvel j conhecido):
M e palavra x, se M aceita x.
Determinar, dado uma mquina M , um estado s e uma palavra x,
quando inicializada com a palavra x na ta.
164
se
entra no estado
se para algum
x, M
com dados
passos.
(b) Determinar, dado uma mquina
M , se M
M e uma palavra x,
x na ta.
se
165
Verdade ou Falsidade? Para cada uma das seguintes questes justica a sua resposta encontrando
uma prova ou um contra-exemplo.
(a) se
(b) se
(c) se
(d) se
(e) se
(f ) se
(g) se
? 166
recursiva
L(M )
? 167
L(M )
168
Dene linguagem recursivamente enumervel e averigua, justicando, se as linguagens recursivamente enumerveis so fechadas para a interseco nita.
169
Dene linguagem recursivamente enumervel e averigua, justicando, se as linguagens recursivamente enumerveis so fechadas para o fecho de Kleene.
170
e uma palavra
x,
se
na ta.
171
M,
se
L(M )
aceita a palavra
aaaa.
e uma palavra
x,
se
com dados
executa
M,
um estado
32
e uma palavra
na ta.
x,
se
entra no
(a)
L3 = {010101, 01011, 010110, 011001, 01101, 011010, 0111, 01110, 100101, 10011, 100110, 101001,
10101, 101010, 1011, 10110, 11001, 1101, 11010, 111, 1110}
(b)
M L = {x | x , |x| 6
termina em
LM
i) Como
M
temos
L (LM M L).
L LM pois M ;
M
6 LM pois 2222 M 2222 6 LM , porque nenhuma palavra de L comea com
ii)
o caracter
6 L;
L M L pois M ;
M
6 M L pois 2222 M 2222 6 M L, porque nenhuma palavra de L termina com
o caracter
iii)
6 L.
na vizinhana imediata de um
1.
(a)
L01
L02
L03
= {no
tenho pacincia!!! }
L1
L2
{a, b, c}...
a,
de
e cujas subpalavras
L3
a,
so iguais;
a's;
c's
a's
b's
c's.
(c)
L1 L3
= {waw | w {b} }
L1 L2
L2 L3
= {aaa} {cccc}
L2
= {aaa, cccc}
(d)
L2 L3
= {wv | w L2 v L3 }
= {cccc} {aaa} {a, b} {c}
a linguagem de alfabeto
(mas como
{a, b, c}
c's
com tamanho
mltiplo de 4, seguida por uma qualquer bloco (eventualmente vazio) formado somente por
a's
17
b's,
c's.
33
1's.
Um
?>=<
/ 89:;
a
89:;
/?>=<
b
89:;
/?>=<
c
C
?>=<
/ 89:;
d
0,1
89:;
?>=<
/.-,
/ ()*+
i
89:;
()*+
/.-,
?>=<
/ 89:;
/ ?>=<
g
e
U
T
0 1
0
1
89:;
?>=<
89:;
?>=<
f
h
0,1
{a, b, c}
{b, d}
{b, c}
{b, e}
{b, f }
?{b, c, g}
?{b, d, i}
{b, c, h}
?{b, e, i}
?{b, c, i}
?{b, f, i}
?{b, c, g, i}
?{b, c, h, i}
0
{b, d}
{b, e}
{b, d}
{b, f }
{b, e}
{b, d, i}
{b, e, i}
{b, d}
{b, f, i}
{b, d, i}
{b, e, i}
{b, d, i}
{b, d, i}
(A)
(B)
(C)
(D)
(E)
(F )
(G)
(H)
(I)
(J)
(K)
(L)
(M )
1
(B)
{b, c}
(D)
{b, c}
(B)
{b, c}
(E) {b, c, g}
(D)
{b, c}
(G) {b, c, h}
(I)
{b, c, i}
(B) {b, c, g}
(K) {b, c, g, i}
(G)
{b, c, i}
(I)
{b, c, i}
(G) {b, c, h, i}
(G) {b, c, g, i}
(C)
(C)
(C)
(F )
(C)
(H)
(J)
(F )
(L)
(J)
(J)
(M )
(M )
89:;
7654
0123
/ ?>=<
A@
@@
@@0
@
1
1 @@
@
y
89:;
?>=<
0123
7654
89:;
?>=<
7654
0123
B o
C
0 9
JO
?>=<
89:;
7654
0123
E
1
89:;
?>=<
0123
7654
D
0
?>=<
89:;
0123
7654
H
89:;
/ ?>=<
F
y
1
?>=<
89:;
89:;
?>=<
L Ao
I
Y AA
O
AA0
AA
0
1
AA
y
89:;
@ABC
GFED
/ ?>=<
G
M
0
<
8
0
0
GFED
@ABC
K
?>=<
89:;
J
9 T
1
y
89:;
/.-,
()*+
/ ?>=<
9
0
?>=<
89:;
0123
7654
9
0
?>=<
89:;
()*+
/.-,
89:;
?>=<
:
?>=<
/89:;
s
0,1
...o que mostra que talvez pensar um pouco antes de atacar um problema, compense...
18
1 Que
34
@ABC
/ GFED
s
0
0
|
?>=<
0123
7654
/ 89:;
s0
89:;
/ ?>=<
s1
<
|
89:;
/ ?>=<
s2 o
<
?>=<
89:;
s3 o
<
89:;
?>=<
s4 u
(b) Para provar que este autmato reconhece a linguagem dada vamos provar que para uma
palavra
b , w) = si .
k5 + i (i {0, 1, 2, 3, 4}) se tem (s
comprimento de w . Se |w| = 1 ento ou w = 0 e
b , 0) = s0 ,
(s
ou
w=1
b , 1) = s1 .
(s
ne
|w0 | = n + 1, podemos escrever w0 = wx em que |w| = n e x {0, 1} e portanto
w0
tal que
b , w0 ) = ((s
b , w), x).
(s
Por hiptese de induo
b , w) = si .
w i (mod 5) (s
casos:
i=0
i=1
i=2
i=3
i=4
b , w) = s0
(s
(s0 , 0) = s0 . Como w0 = 2w, (w 0 (mod 5)) (2w 0 (mod 5)).
(s0 , 1) = s1 . Como w1 = 2w + 1, (w 0 (mod 5)) ((2w + 1) 1 (mod 5)).
b , w) = s1
, ento (s
(s1 , 0) = s2 e (w 1 (mod 5)) (2w 2 (mod 5)).
(s1 , 1) = s3 e (w 1 (mod 5)) ((2w + 1) 3 (mod 5)).
b , w) = s2
, ento (s
(s2 , 0) = s4 e (w 2 (mod 5)) (2w 4 (mod 5)).
(s2 , 1) = s0 e (w 2 (mod 5)) ((2w + 1) 0 (mod 5)).
b , w) = s3
, ento (s
(s3 , 0) = s1 e (w 3 (mod 5)) (2w 1 (mod 5)).
(s3 , 1) = s2 e (w 3 (mod 5)) ((2w + 1) 2 (mod 5)).
b , w) = s4
, ento (s
(s4 , 0) = s3 e (w 4 (mod 5)) (2w 3 (mod 5)).
(s4 , 1) = s4 e (w 4 (mod 5)) ((2w + 1) 4 (mod 5)).
, ento
n+1
b , w) = s0 ,
(s
so exactamente as que
(mod 5).
28
(a)
(b)
i)
bbab, no.
ii) aaaaba, sim.
iii) ababab, no.
{a} {a, b}{ba} {b}{a, b}{(}{ab}{ab} {a, b})
(c)
0
{s0 }
{s0 , s1 }
{s1 , s2 }
{s1 , s2 , s3 }
{s3 }
?{s1 , s4 }
?{s3 , s4 }
?{s4 }
{s1 }
35
a
b
{s0 , s1 }
{s1 , s2 }
{s0 , s1 } {s1 , s2 , s3 }
{s3 }
{s1 , s4 }
{s3 , s4 }
{s1 , s4 }
{s4 }
{s1 }
{s3 }
{s1 , s4 }
{s4 }
{s1 }
{s3 }
w que
w 0
s00 = {s0 }, s01 = {s0 , s1 }, s02 = {s1 , s2 }, s03 = {s1 , s2 , s3 }, s04 = {s3 },
= {s3 , s4 }, s07 = {s4 }, s08 = {s1 }, o autmato nito determinstico equivalente
Ou seja, tomando
s05
{s1 , s4 }, s06
({s00 , s01 , s02 , s03 , s04 , s05 , s06 , s07 , s08 }, {a, b}, 0 , s00 , {s05 , s06 , s07 }).
Tornando este autmato completo (para poder encontrar o autmato que reconhece a linguagem complementar), e transformando os estados nais em no-nais e
GFED
@ABC
89:;
?>=<
s0
? 1
b / GFED
G?>=<
89:;
FED
@ABC
/ @ABC
s06
s03 G
GG a
//
a
GG
GG a //
G#
/
G?>=<
89:;
FED
@ABC
GFED
/ @ABC
s00
s05 //b/
>>
b
//
B
>>b
a
>>
/
b
b
+
@ABC
GFED
89:;
?>=<
@ABC
89:;
?>=<
@ABC
GFED
/ GFED
a
s02
s04 Gc
s0
GaG a hhhhhhhh 7
G
h
h
hhhh GGGG
a
hhhhb
b
h
h
h
sh
@ABC
GFED
89:;
?>=<
@ABC
GFED
89:;
?>=<
s08
s09 o
H
a
a,b
29
(a)
i)
abaa, sim.
baaa, sim.
iii) ababba, no.
({a} {b}{ab} {aa, })
ii)
(b)
(c)
0
?{s0 , s1 , s2 }
?{s3 }
{s1 , s2 }
Ou seja, tomando
a
{s0 , s1 , s2 }
{s1 , s2 }
{s0 , s1 , s2 }
b
{s3 }
{s3 }
o autmato determinstico
equivalente
GFED
@ABC
s0
? 1S >>
>>b
>>
@ABC
89:;
?>=<
a b GFED
s03 u
GFED
/) @ABC
s00
>_ >
>>
a >>
@ABC
GFED
89:;
?>=<
s02
b
43
a,b
(a) A correo desta alnea foi feita na folha 2 (2.6). Um autmato pode ser:
y
89:;
/.-,
()*+
/ ?>=<
9
0
?>=<
89:;
0123
7654
9
0
?>=<
89:;
()*+
/.-,
89:;
?>=<
:
?>=<
/89:;
s
0,1
(b) Uma expresso regular, que se obtm facilmente a partir do autmato de 5 estados,
44
(a) Como se viu em na folha 2, ex. 2.7, um autmato nito determinstico que reconhece esta
linguagem :
@ABC
/ GFED
s
|
?>=<
0123
7654
/ 89:;
s0
0
0
89:;
/ ?>=<
s1
<
89:;
/ ?>=<
s2 o
?>=<
89:;
s3 o
<
?>=<
89:;
s4 u
<
(b) A expresso regular pode-se obter a partir do autmato, pelo mtodo da eliminao de estados
(por exemplo).
Ao estado inicial no chegam nenhumas transies, pelo que j est nas condies requeridas
pelo algoritmo. Em contrapartida do estado nal
acrescentar um novo estado:
@ABC
/ GFED
s
0
0
GFED
@ABC
89:;
?>=<
s
A
1
|
|
1 / ?>=<
89:;
89:;
/ ?>=<
s0
s1
<
s0
89:;
/ ?>=<
s2 o
<
?>=<
89:;
s3 o
s3
s4 .
<
?>=<
89:;
s4 u
s4
@ABC
/ GFED
s
GFED
@ABC
89:;
?>=<
s
A
1
|
|
1 / ?>=<
89:;
89:;
/ ?>=<
s0
s1
<
0
0
89:;
/ ?>=<
s2 o
s3 ,
Seguidamente, se eliminarmos
@ABC
/ GFED
s
1
01 0
8<
?>=<
89:;
s3
temos:
0
0
GFED
@ABC
89:;
?>=<
s
A
1
|
1 / ?>=<
89:;
89:;
/ ?>=<
s0
s1
< S
01 00
89:;
?>=<
s2
E
01 01
10
1
Eliminamos agora o estado
@ABC
/ GFED
s
s2 :
0
0
11+0
GFED
@ABC
89:;
?>=<
s
A
1 / ?>=<
89:;
89:;
/ ?>=<
s1
s0
Y
< S
(10)+((11+0)(01 01) 01 00)
(11+0)(01 01) 1
37
s2
01 0.
o que vai de
pelo que passa a existir uma transio entre estes dois estados com a etiqueta
para
Seguidamente eliminamos
s0 :
@ABC
GFED
89:;
?>=<
s
A ]:::
::
00
::(11+0)(01 01) 10
::
::
89:;
?>=<
@ABC
/ GFED
s1
s
< S
(10)+((11+0)(01 01) 01 00)+((11+0)(01 01) 10 1)
1+(00 1)
s1
GFED
/ @ABC
s
%
GFED
@ABC
89:;
?>=<
s
O resultado :
(00 ) + (1 + (00 1))((10) + ((11 + 0)(01 01) 01 00) + ((11 + 0)(01 01) 10 1)) (11 + 0)(01 01) 10 .
72
|v| =
6 0
(n + 1)3
temos
|uv 2 w| =
6 i3 i N
uv 2 w 6 L o que absurdo.
provado que L no regular.
e portanto
ca
73
necessria
).
Suponhamos que
pertena
regular e
78 1.
(a) Para determinar os estado acessveis do estado inicial, temos que determinar os estados para
os quais h transies do inicial para eles e depois sucessivamente os estados onde se chega
desses. Assim obtm-se que os estados acessveis do estado 1 so: 1,4,3,5,2,6. O estados 7 e 8
no so acessveis do estado inicial, portanto podem ser eliminados.
38
(b) Comeamos por determinar os estados que so equivalentes, construindo a tabela de compatibilidades, onde se marcam os pares de estados distinguveis. Recorda que a tabela simtrica
e os elementos da diagonal que correspondem a pares
(s, s),
portanto nunca podero ser marcados). Assim camos s com a parte triangular inferior da
tabela.
Comeamos com todos os pares no marcados.
(s, s0 )
tal que
(s, s0 )
3
4
nal e
3
4
s0
5
6
(1, 2):
(1, 5):
(1, 6):
5
6
(s, s )
para algum
x ,
):
no
no
no
3
4
5
6
Repetindo o processo, vemos que no podemos marcar mais pares de estados, concluindo que
os pares de estados equivalentes so:
(3, 4)
Am1 = ({[1, 6], [2, 5], [3, 4]}, {a, b}, m1 , [1, 6], {[3, 4]})
a
b
[1, 6] [1, 6] [3, 4]
[2, 5] [3, 4] [1, 6]
[3, 4] [3, 4] [2, 5]
Sendo
C = [3, 4]
temos:
39
89:;
/* ?>=<
A
X
89:;
0123
7654
/* ?>=<
C
F
b
b
?>=<
89:;
B
2.
(a) Para determinar os estado acessveis do estado inicial, temos que determinar os estados para
os quais h transies do inicial para eles e depois sucessivamente os estados onde se chega
desses. Neste caso, todos os estados so acessveis do estado 1: 1,3,5,7,2,8,4,6.
(b) Comeamos por determinar os estados que so equivalentes, construindo a tabela de compatibilidades, onde se marcam os pares de estados distinguveis. Recorda que a tabela simtrica
e os elementos da diagonal, que correspondem a pares
(s, s),
portanto nunca podero ser marcados). Assim camos s com a parte triangular inferior da
tabela. Comeamos com todos os pares no marcados.
(s, s0 )
tal que
nal e
s0
7
8
7
8
(s, s0 ) temos que ver se ((s, x), (s0 , x)), para algum x
0
est marcado (caso em que marcamos tambm (s, s ) ):
(1, 2): por a obtemos o par (3, 8) e por b obtemos o par (5, 7), como ambos no esto marcados,
tambm no marcamos (1, 2)
(3, 4): por a obtemos o par (7, 6) e por b obtemos o par (2, 2), como ambos no esto marcados,
tambm no marcamos (3, 4)
(3, 5): por a obtemos o par (7, 1) que est marcado, portanto marca-se (3, 5)
Analogamente marcamos (3, 6) e (3, 7)
(3, 8): por a obtemos o par (7, 5) e por b obtemos o par (2, 1), como ambos no esto marcados,
tambm no marcamos (3, 8)
(4, 5): por a obtemos o par (6, 1) que est marcado, portanto marca-se (4, 5)
Analogamente marcamos (4, 6) e (4, 7)
(4, 8): por a obtemos o par (6, 5) e por b obtemos o par (2, 1), como ambos no esto marcados,
tambm no marcamos (4, 8)
Agora para um par no marcado
40
(5, 6):
a obtemos o par (1, 2) e por b obtemos o par (8, 3), como ambos no esto marcados,
(5, 6)
(5, 7): por a obtemos o par (1, 1) e por b obtemos o par (8, 4), como ambos no esto marcados,
tambm no marcamos (5, 7)
(5, 8): por a obtemos o par (1, 5) que est marcado, portanto marca-se (5, 8)
(6, 7): por a obtemos o par (2, 1) e por b obtemos o par (3, 4), como ambos no esto marcados,
tambm no marcamos (6, 7)
(6, 8): por a obtemos o par (2, 5) que est marcado, portanto marca-se (6, 8)
(7, 8): por a obtemos o par (1, 5) que est marcado, portanto marca-se (7, 8)
por
tambm no marcamos
7
8
Repetindo o processo, vemos que no podemos marcar mais pares de estados, concluindo que
(6, 7).
Donde resultam
Am2 = ({[1, 2], [3, 4, 8], [5, 6, 7]}, {a, b}, m2 , [1, 2], {[1, 2]})
a
b
[3, 4, 8] [5, 6, 7]
[5, 6, 7] [1, 2]
[1, 2] [3, 4, 8]
[1, 2]
[3, 4, 8]
[5, 6, 7]
Sendo
C = [5, 6, 7]
temos:
s
89:;
0123
7654
/ ?>=<
A g
b
a
a
' ?>=<
89:;
C
89:;
3 ?>=<
B
F
b
93
Seja
S 0S1S | 1S0S | 0S |
Temos que mostrar que, sendo
excede o nmero de
(L(G) L):
Seja ento
6= 1).
se tem:
L(G) L
A nica palavra de
trivialmente a
(n
0's,
L(G)
1's
no
L L(G).
que pertence
L.
uma palavra de
L(G),
41
r0
em
com
passos
se tem
r0 L.
em
que um passo), esta tem que ter uma das seguintes formas:
S 0S1S . . . r
S 1S0S . . . r
S 0S . . . r
n o tamanho das derivaes das palavras que corresponr tm que ter derivaes
menores que n. Portanto, pela hiptese de induo, so palavras cujo nmero de 1's no
excede o nmero de 0's. Ento em qualquer dos trs casos trivial concluir que a palavra r
goza dessa mesma propriedade e portanto r L.
(L L(G)): Provemos que qualquer palavra r que contenha um nmero de 1's que no exceda o
nmero de 0's pode ser derivada em G, ou seja r L(G), por induo no comprimento de r .
Se |r| = 0, ento r = e portanto pode ser trivialmente derivada em G.
0
Seja ento r L com |r| = n e suponhamos que qualquer palavra r com comprimento menor
0
0
que n se tem r L r L(G). Suponhamos que o primeiro caracter de r um 0, se r
composta somente por 0's ento r temos que
Como o tamanho da derivao de
dem a cada um dos
S 0S
e como
0n1 L
0n1
e portanto existe
uma derivao
S 0S . . . r
logo
r L(G).
em
ento
r = 0r0 1r00
para algum
r0 , r00 L
porque:
se o ltimo caracter de
um
se o ltimo caracter um
r = 0r0 1 e r0 L;
tomemos o 1 mais esquerda
ento
ento
em
r:
r = 0r00 1r000 0
r00 , r000 0 L est o problema resolvido... se no porque r00 L e r000 0 6 L (pois r00 s
0
00
contm 0's) e r0 contm pelo menos mais um 0 do que 1's (porque, por hiptese r0 0 6 L
e r L). Ento tomamos o 1 seguinte:
se
r = 0r10 1r100 0
r10 , r100 L o problema est resolvido seno porque se tem r10 L e r100 6 L (porque
0
r0 tinha pelo menos um 0 mais que que 1's e r10 s contm mais um 1 que r0 ), notando
0
que r1 continua a ter de conter pelo menos mais um 0 do que 1's prosseguimos o processo
se
para o
com um
termina
r = orn0 1rn00 0
rn0 L e rn00 6 L.
0
00
0 00
0
00
0 00
Portanto r = 0r 1r como r , r L. Como |r |, |r | < n pela hiptese de induo r , r
L(G) logo r L(G). O caso de r ter como primeiro caracter um 1 inteiramente anlogo ao
com
anterior.
94
S aSc | A | C
A aA | aB
C Cc | Bc
B | bB
Seja
42
L = L(G)
ou seja que
L L(G) L(G) L.
(L(G) L) :
B w
Se
ento
bm
da forma
com
m N.
w = .
trivialmente da forma
C w
ento
da forma
Se na derivao de
bm c. Se
A w
tiver
passos
bm cl
com
m, l N, l > 0.
C ento w tem que ser da forma
C ento w trivialmente da forma bm cl .
n, m N, n > 0.
na derivao intervierem
ento
Se a derivao de
bm1 .
da forma
an bm
regras
com
S w
ento
da forma
Se na derivao de
an bm cl
(L L(G)) :
que
n, m, l N, n 6= l.
0
0
S ento w da forma an bm ou bm cl .
com
Suponhamos
S l al Acl k al ak Bck m an bm cl
logo
99
w L(G).
Se
n<l
Para mostrar que a gramtica ambgua basta encontrar uma palavra com duas rvores de derivao distintas, p.e para
q q q:
S?
??
??
??
S?
???
??
?
S
S
S
???
??
??
S
S
???
?
??
?
q
S
S
S P S |P S |P
P (S) | p | q
100
Para mostrar que esta gramtica ambgua basta exibir duas rvores de derivao diferentes para
43
11111:
~
~~
~
~
~~
S?
??
??
??
?
1
B
jjojo A
jjojojoo
j
j
j
jjj ooo
jjjj oooo
j
j
j
o
j
1
1
A
oA@
ooo @@@
o
o
@@
oo
@
ooo
o
o
o
1
1
A
A
S ?OOO
?? OOO
?? OOO
?? OOO
OO
1
B?
??
~~
~
?
~
??
~~
?
~~
B
1
B>
>>>
>>
>
1
B>
B
>>
>>
>>
B
1
B>
>>
>>
>>
B
1
B
Uma gramtica equivalente anterior, mas no ambgua :
S 1S | 0S | 1
114
S SA | SB | CD | p | q
A ES
B FS
C(
D SG
E
F
G)
115
Para obter a gramtica original na forma normal de Chomsky comecemos por eliminar as regras-:
S AB1 | B1 | A1 | 1
A A11 | 11A | A11A | 11
B B0B | B1B | 0B | B0 | B1 | 1B | 0 | 1
44
S AC | BG | AG | 1
A AD | GH | AJ | GG
B BE | BF | IB | BI | BG | GB | 0 | 1
C BG
D GH
E IB
F GB
G1
H GA
I0
J GG
160
P = (S, , , , sp , Z, F ).
R, L, H
Z,
na ta
1.
(si , a, , sp , a, Z, H, R), a
A segunda ta pode desempenhar o papel da pilha do autmato, e podemos traduzir para transies
da MT, directamente, as diversas entradas da funo de transies
(s0 , a, A) = (s1 , B)
(s0 , , A) = (s1 , B)
(s0 , a, A) = (s1 , )
(s0 , , A) = (s1 , )
(s0 , a, A) = (s1 , BA)
(s0 , , A) = (s1 , BA)
Em que cada
k1
s00
(s0 , x, A),
do autmato:
(s0 , a, A, s1 , a, B, R, H)
(s0 , a, A, s1 , a, B, H, H), a
(s0 , a, A, s1 , a, , R, L)
(s0 , a, A, s1 , a, , H, L), a
(s0 , a, A, s00 , a, A, H, R)
(s00 , a, , s1 , a, B, R, H)
(s0 , a, A, s00 , a, A, H, R), a
(s00 , a, , s1 , a, B, H, H), a
alternativas
(s00 , j)
com
j = 1 . . . k.
Se o autmato depois de ler os dados, entrar num estado nal, a mquina tambm deve entrar no
estado nal
sf :
(s, , X, sf , , X, H, H), s F, X {}
Caso o autmato no entre num estado nal, quando terminar os dados ele pra, e mquina tambm
pra, mas no entra num estado nal.
Como este modelo de MT equivalente ao das MT com uma s ta e dois movimentos (visto nas
aulas) conclumos que seja qual for a linguagem independente de contexto, esta por denio tem
um autmato de pilha que a aceita (por estado nal), e foi possvel encontrar uma MT que tambm
reconhece esta linguagem por estado nal. Portanto todas as linguagens independentes de contexto
so recursivas.
Utilizando uma MT (no determinstica) com uma s pilha e duas instrues no muito difcil
fazer o mesmo tipo de traduo que foi feita acima... mas esta traduo bastante mais trabalhosa...
45
166
L0
M 00
(a) Sejam
L00
que para qualquer input na ta, param num estado nal (denidor de sucesso) caso
a palavra pertena a
Para cada palavra
L0
L00 ,
com tamanho
existem
n+1
w = w0 w00 .
maneiras de se ter
Basta
w = w0 w00 ;
00
executam-se M com w e M com w ;
0
00
se ambas as mquinas M e M terminarem aceitando as respectivas palavras, a mquina
M deve terminar aceitando a palavra w;
se alguma das mquinas rejeitar o seu input, toma-se a diviso de w = w0 w00 seguinte e
toma-se a primeira diviso de
00
repete-se o processo;
w = w0 w00
Esta m.T.
se
linguagem recursiva.
(b) Consideremos a seguinte reduo: uma m.T.
se uma determinada m.T.
com
input x
M0
L(M 0 )
com
termina aceitando
L(M 0 )
A linguagem
input y
que dado um
parar.
ou
ou
Se
M0
com
luo semi-decidvel para o problema de responder se a linguagem aceite por uma mquina de
Turing innita, ento tal resposta para a mquina
M0
167
(a) Sejam
L0
L00
M0
quinas de Turing
M 00
input
L0
L00 )
(denidor de sucesso) no se garantindo que parem caso contrrio. Queremos mostrar que
M.
0),
input ).
46
geramos ordena-
xi
xi , i N.
executamos um