resolução - Marcus Ramos

Propaganda
Linguagens Formais e Autômatos
Prova 2 30/06/2008
Prof. Marcus Vinícius Midena Ramos
Engenharia de Computação UNIVASF
1. (0.8 ponto) Conceitue:
(a) (0.4 ponto) Gramática ambígua;
É aquela que gera pelo menos uma sentença que possui duas ou
mais seqüências de derivações mais à esquerda ou mais à direita,
ou ainda mais de uma árvore de derivação distinta.
(b) (0.4 ponto) Linguagem inerentemente ambígua.
Linguagem que pode ser representada apenas por gramáticas ambíguas.
(a | bb ) (c | dd ) , i ≥ 1
i
2. (1.5 pontos) Considere a linguagem
i
.
(a) (1.0 ponto) Prove que ela não é regular;
Seja w = a c , com | w |= 2n. Como | xy |≤ n, então y é
composta apenas por símbolos a (pelo menos um). Portanto, a
cadeia xz não pode pertencer a linguagem, pois ela possui uma
quantidade de símbolos a que é inferior à quantidade de símbolos
c.
n
n
(b) (0.5 ponto) Prove que ela é livre de contexto.
A seguinte gramática livre de contexto gera essa linguagem:
S → XSY | ac | add | bbc | bddd , X → a | bb , Y → c | dd
M = ({q , q , q }, {a , b }, δ, q , F )
M
L(M ) 6= ∅
Deve-se testar com no máximo: P 2 = 7 cadeias distintas. Elas
são , a , b , aa , ab , ba , bb
a (b c | b c | d ), i ≥ 1)
3. (0.5 ponto) Seja
0
1
2
cadeias devem ser testadas em
. Quantas e quais
0
para determinar se
?
Justique a sua resposta.
2
i =0
i
.
4. (1.5 pontos) Considere a linguagem
nha:
1
i
i
∗
∗
i
∗
e obte-
(a) (0.5 ponto) Uma gramática livre de contexto que gere essa linguagem;
S → aXbC | aYc | aAD , X → aXb | , C → cC | , Y → aYc |
B , B → bB | , A → aA | , D → dD | (b) (1.0 ponto) Um autômato de pilha que reconheça essa linguagem.
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
S)
S)
S)
X)
X)
C)
C)
Y)
Y)
B)
B)
A)
A)
D)
D)
a a)
b b)
c c)
δ( 0 , ,
δ( 0 , ,
δ( 0 , ,
δ( 0 , ,
δ( 0 , ,
δ( 0 , ,
δ( 0 , ,
δ( 0 , ,
δ( 0 , ,
δ( 0 , ,
δ( 0 , ,
δ( 0 , ,
δ( 0 , ,
δ( 0 , ,
δ( 0 , ,
δ( 0 , ,
δ( 0 , ,
δ( 0 , ,
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
q , aXbC )
q , aYc)
q , aAD )
q , aXb )
q , )
q , cC )
q , )
q , aYc)
q , B)
q , bB )
q , )
q , aA)
q , )
q , dD )
q , )
q , )
q , )
q , )
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5. (1.0 ponto) Conceitue e dê exemplos (em gramáticas livres de contexto):
(a) (0.5 ponto) Símbolo inútil;
Símbolo que não gera nenhuma cadeia de Σ . Por exemplo, o
símbolo S na gramática S → aS.
∗
(b) (0.5 ponto) Símbolo inacessível.
Símbolo que não aparece em nenhuma forma sentencial gerada
desde a raiz da gramática. Por exemplo, o símbolo X na gramática
S → a , X → b.
2
6. (2.0 pontos) Responda, justicando as suas respostas:
ab
Sim, pois é gerada pela gramática livre de contexto S → aS | b.
a b ,i ≥ 1
Sim, pois é gerada pela gramática sensível ao contexto S → aSb , S →
abbbb.
a b c d ,i ≥ 1
Não. Basta tomar a cadeia w = a b c d , que possui
comprimento maior ou igual a n, e vericar que xy é composta
apenas por símbolos a (pelo menos um). Logo, a cadeia xz não
pode pertencer à linguagem e L não é regular.
ab
i
j
Sim. Basta considerar que essa linguagem pode ser obtida pela
concatenação do complemento de duas outras linguagens regulares (aaa ) , múltiplo de 3 e (bbbbb ) , múltiplo de 5. Como as
linguagens regulares são fechadas em relação às operações de complemento e concatenação, também essa é regular.
G = ({S , X , Y , Z , a , b }, {a , b }, {S → XY |
b , X → ZS , Z → a , Y → a }, S )
w = a ba ∈ L(G )
w
w = uvwxy
(a) (0.5 ponto) A linguagem
∗
é livre de contexto?
(b) (0.5 ponto) A linguagem
i
i +3
(c) (0.5 ponto) A linguagem
i
i +1
, é sensível ao contexto?
i +2
i +3
n
(d) (0.5 ponto) A linguagem
i
j
tal que
, é regular?
n +1
n +2
n +3
não é múltiplo de 3 e
não
é múltiplo de 5 é regular?
∗
∗
7. (1.2 ponto) Considere
4
e a cadeia
4
.
(a) (0.4 ponto) Construa uma árvore de derivação para a cadeia
(b) (0.4 ponto) Mostre uma subdivisão da cadeia
;
que
satisfaça aos critérios do Pumping Lemma para as linguagens
livres de contexto;
uv wx y uv wx y
(c) (0.4 ponto) Mostre como a árvore de derivação do item (7a) pode
0
0
2
2
ser modicada para provar que as sentenças
e
também pertencem a
L(G )
.
8. (1.5 ponto) Considere os casos abaixo e responda às perguntas, justicando as suas respostas:
L
w ∈L
M
w
Sim, pela denição de linguagem recursiva.
L
w 6∈ L
M
w
Sim, pela denição de linguagem recursiva.
(a) (0.3 ponto) Se
Turing
(b) (0.3 ponto) Se
Turing
é recursiva e
, existe alguma Máquina de
que sempre pára com a entrada
é recursiva e
, existe alguma Máquina de
que sempre pára com a entrada
3
?
?
L
w∈L
M
w
Sim, pela denição de linguagem recursivamente enumerável.
L
w 6∈ L
M
w
Depende. Se L é recursiva, então existe. Senão, não existe.
L
M
w
w
L
Não, em decorrência das denições de linguagem recursiva e recursivamente enumerável.
(c) (0.3 ponto) Se
é recursivamente enumerável e
alguma Máquina de Turing
(d) (0.3 ponto) Se
é recursivamente enumerável e
alguma Máquina de Turing
(e) (0.3 ponto) Se
?
, existe
que sempre pára com a entrada
?
é recursivamente enumerável e não-recursiva,
existe alguma Máquina de Turing
trada
, existe
que sempre pára com a entrada
, independentemente de
4
que sempre pára com a en-
pertencer ou não a
?
Download