You are on page 1of 6

MESTRADO INTEGRADO EM ENGENHARIA INFORMTICA E COMPUTAO | 2 ANO

EIC0022 | TEORIA DA COMPUTAO | 2012/2013 1 SEMESTRE

Prova sem consulta. Durao: 1h30m. Mini-Teste

Nome: __________________________________________________ Nmero: _______________


Nota: As respostas erradas tm cotao negativa. Numa pergunta com 4 alternativas, uma resposta errada tem uma
cotao negativa igual a 1/3 da cotao da pergunta. Numa pergunta com 2 alternativas, a resposta errada tem uma
cotao negativa igual cotao da pergunta. As perguntas no respondidas tm cotao 0.

1. Prova por Induo


Pretende-se provar que o autmato abaixo aceita cadeias no alfabeto ={0,1} com um nmero mpar
de 1s. Assuma como provado que ^(A, w)=A sempre que w tenha um nmero par de 1s:

1.1 [0,8val] Uma forma de efectuar essa prova :


usar induo em |w| para provar que ^(A, w) = A se e s se w tem um nmero mpar de 1's
usar induo em |w| para provar que ^(A, w) = B se e s se w tem um nmero par de 1's
usar induo em |w| para provar que ^(A, w) = B se e s se w tem um nmero mpar de 1's
provar que a expresso regular equivalente no contm (11)*
1.2 [0,8] Para o passo base, temos de mostrar que:
para |w| = 0, w uma cadeia vazia com nmero par de 1's (zero 1's) e ^(A, w) = A
para |w| = 0, w uma cadeia vazia com nmero mpar de 1's (zero 1's) e ^(A, w) = B.
para |w| = 1, w uma cadeia com nmero par de 1's e ^(A, w) = B
para |w| = 1, w uma cadeia com nmero mpar de 1's e ^(A, w) = B
1.3 [0,8] No passo indutivo podemos efectuar uma decomposio de w em za (w = za com |z|<|w| e |a|
= 1), e verificar que para qualquer w de comprimento k:
(a) para a = 0, se w tem um nmero par de 1s, z tem um nmero par de 1s e como ^(A, z) =
A, logo ^(A, z0) = A
(b) para a = 0, se w tem um nmero mpar de 1s, z tem um nmero mpar de 1s e pela hiptese
de induo ^(A, z) = B, logo ^(A, z0) = B
(c) para a = 1, se w tiver um nmero mpar de 1s, z tem um nmero par de 1s e pela hiptese
de induo ^(A, z) = A, logo ^(A, z1) = B
(b) e (c) tm de ser verificadas
2. Autmatos Finitos Deterministas (DFAs)
Considere o seguinte DFA:

2.1 [0,8] Qual o estado onde o DFA se encontra aps processar a subcadeia 010011001: a partir do
estado A, do estado B, e do estado C?
C se considerarmos que inicia em C; A ou B quando inicia em B e A, respectivamente;
A ou B ou C dependendo do estado em que inicia;
C independentemente do estado em que inicia;
No possvel saber qual o estado em que o autmato de encontra;

Joo M. P. Cardoso / Mrio Cordeiro / Joo Jacob / Lus Tefilo 21/11/2012 | PG 1 / 6


2.2 [0,8] Qual a linguagem aceite pelo DFA?
Todas as cadeias de 0s e 1s que no contm nem 1s nem 0s consecutivos;
Todas as cadeias de 0s e 1s que no contm 1s consecutivos e so terminadas em 10;
Todas as cadeias de 0s e 1s que no contm 1s consecutivos;
Todas as cadeias de 0s e 1s;
2.3 [0,8] Considerando ={0,1}, indique qual dos seguintes DFAs representa o complemento da
linguagem definida pelo DFA anterior:

2.4 [0,8] Qual dos seguintes autmatos aceita todas as representaes binrias de nmeros inteiros
divisveis por 3, podendo ignorar os 0s esquerda do primeiro 1. Nota: zero divisvel por qualquer
nmero diferente de zero.

3. Minimizao de Autmatos
Considere a seguinte tabela de transio de estados de um DFA com 10 estados e a respectiva tabela
de estados distinguveis (X indica que os dois estados no so equivalentes).
a b
0 1 9 1
1 8 2 2
2 3 2 3
* 3 2 4 4
* 4 5 8 5
5 4 5 6
6 7 5 7
7 6 5 8
* 8 1 3 9
* 9 7 8 0 1 2 3 4 5 6 7 8
3.1 [0,8] As equivalncias que devem existir para que os dois estados 0 e 7 sejam equivalentes so:
1 equivalente a 6, e 9 equivalente a 5
1 equivalente a 9, e 6 equivalente a 5
0 equivalente a 7, 1 equivalente a 6, e 9 equivalente a 5
Os estados 0 e 7 no podem ser equivalentes (um estado inicial e o outro no)

Joo M. P. Cardoso / Mrio Cordeiro / Joo Jacob / Lus Tefilo 21/11/2012 | PG 2 / 6


Nome: __________________________________________________ Nmero: _______________
3.2 [0,8] As igualdades que devem existir para que os dois estados 7 e 8 sejam equivalentes so:
6 equivalente a 5, e 1 equivalente a 3
6 equivalente a 1, e 5 equivalente a 3
7 equivalente a 8, 6 equivalente a 1, e 5 = 3
Os estados 7 e 8 no podem ser equivalentes (um estado de aceitao e o outro no)
3.3 [0,8] O DFA mnimo equivalente ao dado tem:
3 estados (1 de aceitao e 2 de no aceitao)
5 estados (2 de aceitao e 3 de no aceitao)
3 estados (2 de aceitao e 1 de no aceitao)
5 estados (3 de aceitao e 2 de no aceitao)
3.4 [0,8] Um dos estados do DFA mnimo equivalente o estado {3,4,8}, sendo assim:
({3,4,8}, a) = {1}, e ({3,4,8}, b) = {3}
({3,4,8}, a) = {1,2}, e ({3,4,8}, b) = {3,4,8}
({3,4,8}, a) = {1,2,5}, e ({3,4,8}, b) = {3,4,8}
({3}, a) = {1,2,3}, e ({3}, b) = {3,4,8}
4. Autmatos Finitos No-Deterministas (NFAs)
Considere a seguinte tabela de transio de estados de um NFA:
0 1
p {p,q} {p}
q {r,s} {t}
r {p,r} {t}
* s
* t
4.1 [0,8] O DFA equivalente :


Nenhum dos apresentados.

5. Expresses regulares
5.1 [0,8] Indique qual das seguintes expresses regulares representa todas as cadeias sobre o alfabeto
{a,b} com um nmero mpar de as:
b*ab*(ab*a)*b*
b*a(b*ab*ab*)*
b*a(b*ab*a)*b*
as 3 expresses regulares apresentadas definem a linguagem constituda por essas cadeias

Joo M. P. Cardoso / Mrio Cordeiro / Joo Jacob / Lus Tefilo 21/11/2012 | PG 3 / 6


5.2 [0,8] Indique qual das seguintes expresses regulares define a mesma linguagem que L((b +
ab*a)*ab*):
b*ab*(ab*a)*b*
b*a(b*ab*ab*)*
b*a(b*ab*a)*b*
as 3 expresses regulares apresentadas definem essa linguagem
5.3 [0,8] Indique qual das seguintes expresses regulares representa cadeias sobre o alfabeto {a,b}
terminadas em b e no contendo a cadeia aa:
a(b + ab)*b
(b + ab)*(b + ab)
(a + ab)*b
(a + ab)*(a + ab)
6. Converso de Autmatos em Expresses Regulares
Considere o seguinte DFA:

6.1 [0,8] Se considerarmos o mtodo de construo de caminhos (Rij(k) = Rij(k-1) + Rik(k-1) (Rkk(k-1))* Rkj(k-
1)
, em que 0 k N e 1 i, j N) para determinar uma expresso regular correspondente ao DFA
obtemos, para k=0:
R(0)11=a+, R(0)22=, R(0)33=, R(0)12=b, R(0)13=, R(0)21=a, R(0)23=b, R(0)31=a, R(0)32=b;
R(0)11=a, R(0)22=, R(0)33=, R(0)12=b, R(0)13=, R(0)21=a, R(0)23=b, R(0)31=a, R(0)32=b;
R(0)11=bba, R(0)22=bab, R(0)33=abb, R(0)12=b, R(0)13=bb, R(0)21=ba, R(0)23=b, R(0)31=a, R(0)32=ab;
Nenhuma das alneas apresentadas a correta.
6.2 [0,8] Supondo R(1)11= a*, R(1)21 = R(1)31= aa*, R(1)12 = R(1)32 = a*b, R(1)22 = + aa*b, R(1)13 = ,
R(1)23 = b e R(1)33= , a expresso regular para R(2)31 pode ser dada por:
aa* + (a*b)( + aa*b)*(aa*)
aa* + a*b(aa*b)*aa*
aa* + a*baa*(baa*)*
todas as expresses apresentadas esto corretas
6.3 [0,8] A expresso regular obtida pela construo de caminhos dada por:
R(3)11 + R(3)22;
R(3)11 + R(3)12;
R(3)11
R(3)12;
6.4 [0,8] Aplicando agora o mtodo de eliminao de estados, se for eliminado o estado 3 qual o
autmato resultante?


Joo M. P. Cardoso / Mrio Cordeiro / Joo Jacob / Lus Tefilo 21/11/2012 | PG 4 / 6
Nome: __________________________________________________ Nmero: _______________


6.5 [0,8] A expresso regular que define a linguagem do autmato dada por:
(a + b(ba))*b*
(a + b*(a + ba))*
(a + b(bb)*(a + ba))*b(bb)*
(a + b(bb)*(a + ba))*( + b(bb)*)
7. Converso de Expresses Regulares em -NFAs
7.1 [0,8] Considere a expresso regular ((aa + b)*(aba)*bab)*. Indique qual dos autmatos seguintes
pode ser obtido a partir desta expresso regular:

8. Linguagens Regulares
8.1 [4val] Indique se cada uma das seguintes afirmaes verdadeira ou falsa:
V F
Uma linguagem constituda por um subconjunto de palavras de uma linguagem regular sempre
uma linguagem regular.
Dadas duas expresses regulares quaisquer, conseguimos provar sempre se definem a mesma
linguagem regular ou no.

Joo M. P. Cardoso / Mrio Cordeiro / Joo Jacob / Lus Tefilo 21/11/2012 | PG 5 / 6


A linguagem L={0n0n | n 0} uma linguagem regular.
A linguagem resultante da aplicao do operador a duas linguagens regulares sempre uma
linguagem regular. O operador definido do seguinte modo: dadas duas linguagens L1 ={abc,
ca} e L2={ab, de}, L1 L2 = {abcab, abcde, caab, cade, ababc, abca, deabc, deca}.
A interseo de uma linguagem no regular com uma linguagem regular nunca pode ser uma
linguagem regular.
O fecho L* de uma linguagem regular L forma sempre uma nova linguagem.
A linguagem constituda pelas palavras formadas com o alfabeto = {a, b, c} que contm um
nmero de par de as, bs e cs, ou um nmero mpar de as, bs e cs uma linguagem regular.
L(a*b*) L((a+b)*) = L(a*b*), e L(a*b*) L((a+b)*) = L((a+b)*)
L((a+b)*) L1 = L(a*bb*a(a+b)*), em que L1 = {anbm | n,m 0}

Qualquer que seja a linguagem regular existe sempre uma expresso regular que a representa.

Joo M. P. Cardoso / Mrio Cordeiro / Joo Jacob / Lus Tefilo 21/11/2012 | PG 6 / 6

You might also like