Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Teor Ia de La Computaci Oni: PR Actico 2. Expresiones Regulares Y Aut Omatas Finitos. A No 2023

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 3

Teorı́a de la Computación I

Práctico 2. Expresiones Regulares y Autómatas Finitos.


Año 2023

1. Utilizando la definición de la función L que relaciona expresiones regulares con lenguajes:

a) Indique qué lenguaje es representado por la expresión regular (((a∗ a)b) ∪ b).
b) Exprese en lenguaje natural (es decir, con sus propias palabras) el lenguaje encontrado en el
inciso anterior.

2. Determine en cada caso si las cadenas pertenecen al lenguaje descripto por la expresión regular.

a) 10100010; L((0∗ 10)∗ ).


b) 011100; L((0 ∪ (11)∗ )∗ ).
c) 000111100; L(((011 ∪ 11)∗ (00)∗ )∗ ).
d) 011100101; L(01∗ 10∗ (11∗ 0)∗ ).

3. Dé las expresiones regulares de los siguientes lenguajes.

a) Conjuntos de cadenas de 0 y 1 que comienzan con 0 y terminan con 1.


b) { 101,1001,10001,100001, . . .}.

4. Reescriba cada una de las siguientes expresiones regulares como una expresión más simple que repre-
sente el mismo lenguaje.

a) ∅∗ ∪ a∗ ∪ b∗ ∪ (a ∪ b)∗ .
b) ((a∗ b∗ )∗ (b∗ a∗ )∗ )∗ .

5. Sea Σ = {a, b}. Escriba expresiones regulares para los siguientes lenguajes.

a) Todas las cadenas en Σ∗ con no más que tres aes.


b) Todas las cadenas en Σ∗ con un número de aes divisible por tres.

6. Escriba la expresión regular para el conjunto de cadenas que representan un identificador del lenguaje
Java y otra para los identificadores de Fortran (en Fortran Standard sólo se permiten identificadores
de longitud menor igual que seis). Sugerencia: Utilizar los siguientes conjuntos en su respuesta:
Σ1 = {a . . . z, A . . . Z}; Σ2 = {a . . . z, A . . . Z, 0 . . . 9, }.

7. Una máquina expendedora de caramelos y chicles tiene dos botones para seleccionar la golosina y
una rendija para introducir monedas de diez y cinco centavos. Los caramelos valen quince centavos
y los chicles veinte. Diseñe un autómata finito que describa el funcionamiento de dicha máquina.
Considerar que los únicos estados finales representan la entrega de un chicle o de un caramelo.

1
8. Construir, en cada caso, un autómata finito determinı́stico que actúe como reconocedor de los si-
guientes conjuntos de cadenas sobre el alfabeto { 0,1 }. Para cada caso, indique (si es posible) al
menos 4 cadenas que deban ser aceptadas por el autómata y 4 cadenas que deban ser rechazadas.

a) Conjunto de las cadenas que empiezan con 000.


b) Conjunto de las cadenas cuya segunda entrada es 0 y la cuarta es 1.
c) Conjunto de las cadenas cuyo número de 0s es múltiplo de 3.

9. Describa informalmente (en lenguaje natural) el conjunto de cadenas aceptadas por cada uno de los
siguientes autómatas finitos determinı́sticos.

a) M = ({q0 , q1 , q2 , q3 }, {a, b}, δ, q0 , {q1 })


δ a b
q0 q1 q3
q1 q2 q0
q2 q3 q3
q3 q3 q3
b) M = ({q0 , q1 , q2 , q3 , q4 }, {a, b}, δ, q0 , {q2 , q4 })
δ a b
q0 q1 q4
q1 q1 q2
q2 q3 q3
q3 q3 q3
q4 q3 q3
c) M = ({q0 , q1 , q2 , q3 }, {a, b}, δ, q0 , {q0 })
δ a b
q0 q1 q3
q1 q2 q0
q2 q3 q1
q3 q3 q3
10. Construir, en cada caso, un autómata finito determinı́stico que acepte:

a) {w ∈ {a, b}⋆ : si a es una subcadena de w, entonces a está inmediatamente precedida e


inmediatamente seguida por b}
b) {w ∈ {a, b}⋆ : w tiene a abab como subcadena }
c) L = {awa : w ∈ {a, b}∗ }

11. Defina formalmente el autómata no determinı́stico graficado a continuación.

12. Proponga, en cada caso, un autómata finito no determinı́stico que acepte:

a) los identificadores válidos de Java.


Sugerencia: Utilizar los siguientes conjuntos en su respuesta: Σ1 = {a . . . z, A . . . Z}; Σ2 =
{a . . . z, A . . . Z, 0 . . . 9, }.
b) los comentarios (de Java) encerrados entre /* y */ .

13. Sea L = {w ∈ (a ∪ b)∗ : w tiene exactamente una ocurrencia de la subcadena aaa }.

a) Encuentre un autómata finito determinı́stico que reconozca L.


b) Indique la expresión regular que representa a L.

2

λ, ..b ...............................
.
s4 ................... a 
......
.................
. ...
.... > ....................
>
........
 .........
.... ........ s6
>
...
...
......b
.....
....
......  . ....
s3 .......... .......... .
... ... b
 .... .....
... ...... ..

>
.
.....

>
.. a .... 
.... ...
a .... .
.. .... s5
..... .....
..
..... .......... .
. ............  ..
.
b, λ...

>
... .. .
....... ..
...  ........ .
... ..
....  >
.. ....
......... .
. ...... a
..
... s2 . ................a, b .
.. .........

>
 ... 
.>  .........................  ..
b .
........................................
...
. >
>
> s1 s7
 

14. Sea L el lenguaje formado por las cadenas de {a, b}∗ que comienzan con ba y no terminan con aa.
Diseñar un autómata finito que lo acepte.

15. Construya, en cada caso, el autómata finito determinı́stico equivalente al no determinista dado

a) M = ({s0 , s1 , s2 }, {a, b}, s0 , ∆, {s2 }) y ∆ consta de


∆ = {(s0 , a, s0 ), (s0 , a, s1 ), (s0 , b, s2 ), (s1 , a, s0 ), (s1 , b, s1 ), (s2 , a, s1 ), (s2 , b, s0 ), (s2 , b, s1 )}

b) M = ({s0 }, {a, b}, s0 , ∆, {s0 }) y ∆ = {(s0 , aba, s0 ), (s0 , bba, s0 )}

c) M = ({s0 , s1 , s2 , s3 , s4 }, {a, b}, s0 , ∆, {s2 , s3 }) y ∆ consta de


∆ = {(s0 , a, s0 ), (s0 , b, s0 ), (s0 , e, s1 ), (s1 , b, s4 ), (s1 , ab, s2 ), (s2 , e, s3 ), (s3 , a, s2 ), (s3 , a, s4 )}

d) M = ({q0 , q1 , q2 , q3 , q4 }, {a, b}, q0 , ∆, {q4 }) y ∆ consta de


∆ = {(q0 , λ, q1 ), (q0 , a, q2 ), (q1 , a, q1 ), (q1 , b, q3 ), (q2 , λ, q3 ), (q2 , b, q2 ), (q3 , b, q4 ), (q4 , λ, q0 ) }.

16. Construir autómatas finitos determinı́sticos que acepten cada uno de los siguientes lenguajes

a) {w ∈ {a, b}⋆ : w no tiene a aa ni a bb como subcadenas }


b) {w ∈ {a, b}⋆ : w no tiene ’un número impar de aes y un número par de bes’ }

También podría gustarte