Sunteți pe pagina 1din 11

UFLA Universidade Federal de Lavras

Departamento de Cincia da Computao


COM162 Linguagens Formais e Autmatos
Prof. Rudini Sampaio
Monitor: Rodrigo Pereira dos Santos
Primeira Lista de Exerccios 2004/2
...............................................................................................................................................................
Exerccio 1 Temos um Homem (H), um Lobo (L), uma Cabra (C) e um Repolho (R). Todos esto
de um mesmo lado do rio. H um barco capaz de atravessar o rio com o Homem e mais apenas L,
ou C ou R de cada vez. preciso atravessar todos para a outra margem de forma que L e C, ou C e
R no fiquem sozinhos sem o Homem na mesma margem. Desenvolva um diagrama de transies
para a soluo do problema.
RESPOSTA = Subjetivo. um exerccio interessante para ser feito, uma vez que est associado teoria de
autmatos e diagrama de estados vistos na disciplina at o momento. Uma das formas de fazer seria colocar
sobre as transies os elementos que esto de um lado do rio, e sob as mesmas, aqueles que estivessem do
outro lado. A figura exibe isso:

Situao de um lado do rio

Situao do outro lado do rio

Um exemplo pode ser visto a seguir, onde: h = homem; c = cabra; r = repolho; l = lobo.

.............................................................................................................................................................................

Exerccio 2 Construa um DFA M que aceita L(N), a partir do NFA N = ( {q 0,q1}, {0,1}, , q0,{q1}
) onde (q0,0) = {q0, q1}, (q0,1) = {q1}, (q1,0) = , (q1,1) = {q0,q1}.
RESPOSTA = Dado o NFA N = ({q0, q1

 
 

0,

{q1}), onde:


, 0) = {q0, q1}
 0
0, 1) = {q1}

, 0) =
 1
1,

1) = {q0, q1}

0, 1
0

1
q0

q1

1
Podemos construir um DFA M equivalente, que reconhece a mesma linguagem de N, ou seja,
L(M) = L(N). Vamos representar p1 = , p2 = {q0}, p3 = {q1} e p4 = {q0, q1}, onde o estado inicial p2 e os
estados finais so p3 e p4.

p1

0, 1

p2
1

p3

p4

0, 1

.............................................................................................................................................................................

Exerccio 3 Prove que se uma linguagem L aceita por um NFA com transies vazias, ento L
tambm aceita por um NFA sem transies vazias. Transies vazias so as transies (epsilon).
   
   

RESPOSTA = 
  
:
1 

q3
c

q4
c

q2
q5
b

Considere que  elepossui


    uma
  transio 

  
1, F):


 

1,

) = {q2} e L(N) = L.

q3
c

q4

q1

q2
q5

b
b
    


Considere que ele no possui transio 

 
Queremos provar que se L(N) = L e L(N) = L, ento L= L.

Construo de N:
Q = Q
 
  

q1 , ou
      
 

, a) {q2}, se q = q1 e a = 



=
  i, a), se q = q1 e a
de q usando zero ou mais transies
q1 = q1
F
= F, se q2 no pertence a F

= F {q1}, se q2 F

, onde qi

E(q) e E(q) = {p

Q | p pode ser atingido

  
  
   
    
Tomando q4
2, c) e q5
2, b), respectivamente, pela construo, q4
1, c) e q5
1, b). Logo,
L = L.
.............................................................................................................................................................................

Exerccio 4 Descreva com suas palavras os conjuntos que denotam as seguintes expresses
regulares:
a. (11 0)*(00 1)*
RESPOSTA = So seqncias de zero ou mais 11s ou 0s, seguidas de seqncias de zero ou mais 00s ou
1s.

b. (1 01 001)*( 0 00)
RESPOSTA = So seqncias de zero ou mais 1s ou 01s ou 001s, seguidas de menos de trs 0s.

c. (00 11 (01 10)(00 11)*(01 10))*


RESPOSTA = So seqncias de zero ou mais 00s ou 11s ou seqncias iniciando e terminando em 01 ou
10, contendo zero ou mais 00s ou 11s no meio.
.............................................................................................................................................................................

Exerccio 5 Construa um autmato finito equivalente para as seguintes expresses regulares:


a. 10 (0 11)0*1
RESPOSTA = NFA otimizado. Recomenda-se seguir os passos para a construo do autmato conforme
teorema visto em aula.
0

1
0

b. 01(((10)* 111)* 0)*1


RESPOSTA = NFA otimizado. Recomenda-se seguir os passos para a construo do autmato conforme
teorema visto em aula.

1
1
1
0

1
0

c. ((0 1)(0 1))* ((0 1)(0 1)(0 1))*


RESPOSTA = NFA otimizado. Recomenda-se seguir os passos para a construo do autmato conforme
teorema visto em aula.

0, 1

0, 1

0, 1

0, 1

0, 1
.............................................................................................................................................................................

Exerccio 6 Prove ou disprove para as seguintes expresses regulares R, S e T:


a. (RS R)*R = R(SR R)*
RESPOSTA = Provaremos por induo que (RS R)nR = R(SR R)n
Base da induo: n = 0 => R = R (verdadeiro)
Hiptese de induo:  







  



 





R)kR = R(SR R)k

Passo da induo: vamos provar que (RS R)k+1R = R(SR R)k+1


(RS R)k+1R = (RS R)(RS R)kR = (RS R)R(SR R)k = R(S )R(SR R)k =

= R(SR R)(SR R)k = R(SR R)k+1




Logo,    

 

R)nR = R(SR R)n, por induo.

b. R(RS S)*S = RR*S(RR*S)*


RESPOSTA = Provaremos que essa igualdade no vlida usando prova direta com um contra-exemplo.
Sejam R e S expresses regulares. Sejam R = 0 e S = 1, vamos verificar os resultados:
1) R(RS S)*S = 0(01 1)*1
2) RR*S(RR*S)* = 00*1(00*1)*
Seja o contra-exemplo w = 00101.
1) 0(01 1)*1 no gera 00101
2) 00*1(00*1)* gera 00101
Logo, por prova direta, usando o contra-exemplo w = 00101, R(RS S)*S

 

*S(RR*S)*

c. (R S)* = R* S*
RESPOSTA = Provaremos que essa igualdade no vlida usando prova direta com um contra-exemplo.
Sejam R e S expresses regulares. Sejam R = 0 e S = 1, vamos verificar os resultados:
1) (R S)* = (0 1)*
2) R* S* = 0* 1*
Seja o contra-exemplo w = 01.
1) (0 1)* gera 01
2) 0* 1* no gera 01

Logo, por prova direta, usando o contra-exemplo w = 01, (R S)* R* S*.
.............................................................................................................................................................................

Exerccio 7 Desenhe o diagrama de estados de um autmato finito determinstico para cada uma
das linguagens abaixo. Obtenha ainda a expresso regular correspondente.
a. {w | w qualquer palavra, exceto 01, 101, 0100}
RESPOSTA = Para construir o diagrama de estados de um DFA para reconhecer esta linguagem,
construiremos um autmato que aceita 01, 101 e 0100, e depois ajustaremos os estados finais de modo a
rejeitar aquelas palavras (complemento):

0, 1

0, 1
0

1
1

1
0

1
1
0

Assim, o DFA pedido o complemento deste acima:

0, 1

0, 1
0

1
1

1
0

1
0

Expresso Regular:


 

  
 

   
1 00 0 11 100 1
00 011 0101

b. {w | w tem comprimento par ou termina em 01}

RESPOSTA = Para construir o diagrama de estados de um DFA para reconhecer esta linguagem,
construiremos um autmato para reconhecer palavras sob cada condio e faremos a unio dos dois (j que
a classe de linguagens regulares fechada sob unio, por teorema).
DFA que reconhece palavras de comprimento par:

0, 1
0, 1
DFA que reconhece palavras terminadas em 01:
0

0
1

Utilizando a idia da prova do teorema que afirma que a classe de linguagens regulares fechada sob unio
(ver caderno), obtemos:

0
1
1

0
0

1
0

0
0

1
1
Expresso Regular: (

 

)*

 

c. {w | w contm pelo menos trs 0s}


RESPOSTA = DFA que reconhece esta linguagem:
1

0, 1

Vamos encontrar a expresso regular removendo os estados um a um, a partir de um GNFA:

1
0

removendo o 2 estado:

01

1
0

01

removendo o 3 estado:
01

1
1*01*0

removendo o 4 estado:
01
1*01*01*0

removendo o 5 estado:

1*01*01*0(0 1)*
Expresso Regular: 1*01*01*0(0 1)*
.............................................................................................................................................................................

Exerccio 8 Para qualquer palavra w = w1 w2...wn, o reverso de w, denotado por wR, a palavra wR
= wn...w2 w1. Para qualquer linguagem A, seja AR = {wR | w A}. Mostre que se A regular, ento
AR tambm regular.
RESPOSTA = Dados do Problema:
para qualquer palavra w = w1w2...wn , wR = wn...w2w1
 

para qualquer linguagem A, AR = {wR
Temos que mostrar que se A regular, AR tambm regular. ({c,d}


 

  
   








0,

F) com linguagem L(N) = A.

r
d

q0






 

   

0,

F) com linguagem L(N) = AR.


 


r
d

q0

q0

Construo de N:
Q
= Q  {q
}     

  
 
0 

  
   
q0, ou
= F, se q = q0 e a = 

= , se q = q0 e a
q0 = q0 (novo estado)
F = { q0}
Logo, pela construo, L(N) = AR, e como N uma NFA, por definio, AR regular.
.............................................................................................................................................................................

S-ar putea să vă placă și