You are on page 1of 17

TEORA DE AUTMATAS I

Informtica de Sistemas

Soluciones a las cuestiones de examen del curso 1994/95


Febrero 95, 1 semana
Queremos construir un autmata finito que reconozca expresiones aritmticas de suma,
resta, multiplicacin y divisin de dos nmeros enteros; por ejemplo, 1725=. Es
correcta la siguiente solucin?
Correcta.

b) Incorrecta.
dgito

dgito

Solucin: B. Porque admite cadenas como 3=, que no es una expresin aritmtica.
Comparar el autmata M y la gramtica G.
L(M) = L(G)
L(M) L(G)
L(M) L(G)
Son falsas las tres anteriores.
x
x

y
z

S
S
S
A
A
A
B
B

xA
yB
zA
xA
y
zB
x
yB

y
Solucin: A. Se ve claramente al rotular el estado de la izquierda con S, el superior con
A y el inferior con B.
Decidir si es verdadera o falsa la siguiente afirmacin: En un autmata no determinista
cada arco lleva asociado un factor perteneciente al intervalo [0,1 que indica la
probabilidad de transicin de un estado a otro.

Verdadera.

b) Falsa.

Solucin: B. El no-determinismo de un autmata no tiene nada que ver con la


probabilidad.
Decidir si la expresin regular (xy*x yy*x) representa el mismo lenguaje que
reconoce el siguiente autmata.
Verdadero.

b) Falso.
y
x

x
y

Solucin: B. El autmata reconoce la cadena x, que no est representada en la expresin


regular.
Decidir si la cadena aabbbbbba pertenece a la estrella de Kleene de {a, bb}.
Verdadero.

b) Falso.

Solucin: A.
Decidir si es verdadera o falsa la siguiente afirmacin: Una gramtica regular puede
considerarse como una gramtica independiente de contexto expresada en la forma
normal de Chomsky.
Verdadera.

b) Falsa.

Solucin: B. La forma normal de Chomsky no puede contener ninguna regla del tipo
SaX.
Indicar si el autmata de la siguiente figura es determinista o no determinista.
Determinista.

b) No determinista.
x;
x,; x
y,; y

x, x;
y, y;
y;

Solucin: B. Para la cadena xx, despus de la transicin x,;x existen dos posibilidades:
,x; y x,x;.
Indicar si la cadena x3y2x4 pertenece al lenguaje que acepta el autmata del ejercicio
anterior.
Pertenece.

b) No pertenece.

Solucin: B. Evidente que no. Cualquier carcter que aparezca despus de las dos
primeras xx lleva a un estado de no aceptacin.
Decidir si es verdadera o falsa la siguiente afirmacin: Para todo autmata de pila
determinista que vaca su pila antes de aceptar una cadena existe una gramtica
independiente de contexto que genera el mismo lenguaje.
Verdadera.

b) Falsa.

Solucin: A. Todo autmata determinista es un caso particular de autmata no


determinista. (No confundir no determinista con no determinista en sentido
estricto).
Decidir si es verdadera o falsa la siguiente afirmacin: Para todo lenguaje independiente
del contexto asociado a un alfabeto es posible construir un analizador sintctico del
tipo LR(k) con la condicin de que k sea suficientemente grande.
Verdadera.
Falsa.
Depende de .
Solucin: B. Ver la pg. 133 del libro de texto.
Dado un alfabeto , llamamos L1 al conjunto de lenguajes de aceptados por mquinas
de Turing de varias cintas, y L2 al conjunto de lenguajes de estructurados por frases.
Cul de las siguientes afirmaciones es verdadera?
L1 = L2
L1 L2
L2 L1
Depende de .
Solucin: A. Toda mquina de Turing de varias cintas es equivalente (en cuanto al
lenguaje que reconoce) a una mquina de Turing determinista de una cinta.
Decidir si es verdadera o falsa la siguiente afirmacin: Se dice que hay terminacin
anormal cuando una mquina de Turing llega al estado de aceptacin mientras la cinta
an contiene caracteres distintos del espacio en blanco.
Verdadera.

b) Falsa.

Solucin: B. Ver la pg. 144 del libro de texto.


Si iniciamos la mquina de Turing siguiente con la cadena y yxyxx,
la mquina acepta la cadena.

la mquina entra en un bucle y no termina nunca.


hay una terminacin anormal.
x/R

x/R
y/L

x/R

y/R

/
y/x

Solucin: B. Basta anotar el estado y dibujar la cinta para cada transicin.


Dado el alfabeto {x, y, z}, queremos construir una mquina de Turing que busque en su
cinta la secuencia xy, la sustituya por zz y se detenga en cuanto haya realizado esta
operacin. Es correcta la siguiente solucin?
Correcta.

b) Incorrecta.
y

Rx R

zLz

x
Solucin: B. Dada la cadena xzxy, la mquina se detiene tras leer los dos primeros
smbolos.
Dado el alfabeto {x, y}, queremos construir una mquina de Turing que se detenga
cuando y slo cuando encuentra en la cinta la secuencia xxy. Es correcta la siguiente
solucin?
Correcta.

b) Incorrecta.
x/R
x/R

x/R

y/y

x/R
y/R
Solucin: B. La mquina no se detiene al leer la cadena xxxy.
Indicar cul es el tipo de autmata ms sencillo (menos potente) capaz de reconocer el
lenguaje xnymzn, donde m y n son nmeros naturales.
Un autmata finito.
Un autmata de pila.

Una mquina de Turing.


Solucin: B. Es fcil construir el autmata o bien una gramtica independiente de
contexto que genere este lenguaje.
Febrero 95, 2 semana
Decidir si la expresin regular ((( x z ) ( x * y zy * x )) yy * x ) representa el mismo
lenguaje que reconoce el siguiente autmata.
Verdadero.

b) Falso.
x
x

y
z

x
y

Solucin: B. La expresin regular no representa la cadena xxzx.


Dados los autmatas M1 y M2, indicar cul de las siguientes afirmaciones es verdadera:
M1 y M2 son equivalentes. M2 es determinista.
M1 y M2 son equivalentes. M2 es no determinista.
M1 y M2 no son equivalentes. M2 es determinista.
M1 y M2 no son equivalentes. M2 es no determinista.

M1

M2
x
y

y
y
x
x

y
Solucin: D. No son equivalentes porque M1 no acepta la cadena xyxy. M2 es no
determinista porque para la cadena xy existen dos posibilidades.
Comparar el autmata M y la gramtica G.
L(M) = L(G)
L(M) L(G)
L(M) L(G)
Son falsas las tres anteriores.
y
x

xA

yB

xC

A
B

yA
xC

yB

y
Solucin: C. Seran equivalentes si la gramtica incluyera las reglas A y B
Decidir si es verdadera o falsa la siguiente afirmacin: Para cada autmata finito no
determinista existe una gramtica regular que genera el mismo lenguaje.
Verdadera.

b) Falsa.

Solucin: A. Porque todo autmata finito no determinista es equivalente a un autmata


finito determinista.

Decidir si la cadena aabbbbba pertenece a la estrella de Kleene de {a, bb}.


Verdadero.

b) Falso.

Solucin: B. Porque la cadena contiene un nmero impar de bes.


Supongamos que el autmata de la siguiente figura ha llegado al estado de aceptacin
despus de procesar la cadena xy. Cul es el contenido de la pila?
La pila est vaca.
La pila contiene una x.
No existe una respuesta nica.
x;x
x, ;

xy;

, ;

y, ;
yx;

Solucin: C. Hay dos caminos posibles para llegar al estado de aceptacin: {x,;}{y,;} y {,;}-{x,;x}-{y,;}.
Y si en el ejercicio anterior hubiramos tenido la cadena xyxy en vez de xy, cul
hubiera sido la respuesta correcta?
La pila est vaca.
La pila contiene una x.
No existe una respuesta nica.
Solucin: B. En este caso, el nico camino que lleva al estado de aceptacin es {,;}{x,;x}-{y,x;}-{x,;x}-{y,;}.
Decidir si es verdadera o falsa la siguiente afirmacin: Para toda gramtica
independiente de contexto existe un autmata de pila determinista que reconoce el
mismo lenguaje.
Verdadera.

b) Falsa.

Solucin: B. Ver la pg. 108 del libro de texto.


Decidir si es verdadera o falsa la siguiente afirmacin: El principio de preanlisis,
utilizado en la construccin de analizadores sintcticos, consiste en observar los smbolos
siguientes de la cadena sin llegar a leerlos.
Verdadera.

b) Falsa.

Solucin: A. Ver la pg. 112 del libro de texto.


Dado un alfabeto , definimos como Lk el conjunto de lenguajes que pueden ser tratados
mediante analizadores sintcticos del tipo LL(k). Es cierto que Lk Lk+1 para todo k1?

Verdadero.
Falso.
Depende de .
Solucin: A. Evidente. Al aumentar k, aumenta la potencia del analizador.
Dado un alfabeto , llamamos L1 al conjunto de lenguajes de aceptados por mquinas
de Turing no deterministas con una sola cinta, y L2 al conjunto de lenguajes de
aceptados por mquinas de Turing deterministas con varias cintas. Cul de las siguientes
afirmaciones es verdadera?
L1 = L2
L1 L2
L2 L1
Depende de .
Solucin: A. Toda mquina de Turing de una cinta no determinista es equivalente (en
cuanto al lenguaje que reconoce) a una mquina de Turing determinista de una cinta, y
sta es equivalente a su vez a una mquina de varias cintas.
Decidir si es verdadera o falsa la siguiente afirmacin: La tesis de Turing implica que
para todo lenguaje existe una mquina de Turing que lo acepta.
Verdadera.

b) Falsa.

Solucin: B. Ver la pg. 178 del libro de texto.


Si iniciamos la mquina de Turing siguiente con la cadena y yxyxx,
la mquina acepta la cadena.
la mquina entra en un bucle y no termina nunca.
hay una terminacin anormal.
x/R

x/R
y/x

x/R

y/R

/
y/x

Solucin: A. Basta anotar el estado y dibujar la cinta para cada transicin.


Dado el alfabeto {x, y, z}, queremos construir una mquina de Turing que busque en su
cinta la secuencia xy, la sustituya por zz y se detenga en cuanto haya realizado esta
operacin. Es correcta la siguiente solucin?

Correcta.

b) Incorrecta.

x/R

x/R
x/R

y/z

/R

z/L

x/z

z/R

x/R

z/R

Solucin: A. La mquina se encuentra en el segundo estado si y slo si el ltimo smbolo


ledo es x. En el primer estado se encuentra cuando todava no ha aparecido una x, o
cuando despus de una x apareci otro carcter distinto de y.
Dado el alfabeto {x, y}, queremos construir una mquina de Turing que se detenga
cuando y slo cuando encuentra en la cinta la secuencia xxy (como cadena o como parte
de una cadena). Es correcta la siguiente solucin?
Correcta.

b) Incorrecta.
x
Rx R

Solucin: B. Para la cadena xxxy no se detiene nunca.


Indicar cul es el tipo de gramtica ms sencillo (menos general) capaz de generar el
lenguaje xmynxmyn, donde m y n son nmeros naturales.
Gramtica regular.
Gramtica independiente del contexto.
Gramtica estructurada por frases.
Solucin: C. Un autmata de (una sola) pila no puede reconocer este lenguaje. Sin
embargo, para una mquina de Turing s es posible.
Septiembre 95
Es cierto que el siguiente diagrama representa un autmata determinista de cuatro
estados?
Verdadero.

b) Falso

10

x
x

y
z

z
y
y

Solucin: B. Es un diagrama incompleto. Del estado inferior debe salir un arco rotulado
con z hacia otro estado de no aceptacin.
Dado un alfabeto definimos L como el lenguaje formado por todas las cadenas que
contienen al menos tres smbolos. Existe una gramtica independiente de contexto en
forma normal de Chomsky que genera L?
Siempre.
Nunca.
Depende de .
Solucin: A. L es un lenguaje regular que no contiene la cadena vaca.
Sea L un lenguaje regular del alfabeto y L el lenguaje formado por todas las cadenas
wv tales que wL y vL . Es L un lenguaje regular?
S, siempre.
Depende de .
Depende de y de L.
Solucin: A. El complementario y la concatenacin de lenguajes regulares son regulares.
Tenemos un alfabeto {x,y} tal que x vale 5 ptas. e y vale 10. Sea L el lenguaje de las
cadenas que valen 20 ptas. Es correcta la siguiente gramtica para generar L?
S
S
X
X
Y
Y
Z

Correcta.

xX
yY
xY
yZ
xZ
y
x

b) Incorrecta.

Solucin: A. X, Y y Z significan respectivamente que los signos siguientes de la cadena


han de sumar 15 ptas, 10 ptas. o 5 ptas.
Decidir si las dos expresiones regulares siguientes son equivalentes:
(x*y)*
x * (yx * ) * y.

11

Equivalentes.

b) No equivalentes.

Solucin: B. Contraejemplo: .
Sea L el lenguaje xmyn tal que n m 2n. Es correcta la siguiente gramtica para
generar L?

Correcta.

xXy

Y
X

xxYy

b) Incorrecta.

Solucin: B. No puede generar x3y2.


Sea un autmata (finito o de pila) M y una cadena x L(M). Si el autmata lee la cadena
x, llegar necesariamente a un estado de aceptacin?
S, siempre.
S, si M es un autmata finito.
No necesariamente.
Solucin: C. Puede tratarse de un autmata no determinista.
Indicar si la cadena xyyx pertenece al lenguaje que acepta el siguiente autmata.
Pertenece.

b) No pertenece.

x,;x
y,;x

x
x
x,;x

x,;

y,x;
Solucin: A. Transiciones: ,;x - x,;x - ,; - y,x; - y,x; - x,;.
Cules son las cadena que acepta el siguiente autmata vaciando su pila?

12

x ;x

y, x;
Las cadenas con tantas xs como ys
Las cadenas con ms xs que ys
Ninguna de las respuestas anteriores.
Solucin: C. Cadenas en las que, al ser ledas de izquierda a derecha, el nmero de ys
nunca supera al de xs ledas y, en total, el nmero de xs es igual al de ys.
Cul de las expresiones siguientes es cierta?
Para todo autmata de pila determinista existe un autmata de pila no
determinista equivalente.
Para todo autmata de pila no determinista existe un autmata de pila
determinista equivalente.
Las dos anteriores son ciertas.
Solucin: A.
Decidir si es verdadera o falsa la siguiente afirmacin: La unin de dos lenguajes
independientes del contexto es independiente del contexto.
Verdadera.

b) Falsa.

Solucin: A. Problema 28, pg 138. Basta reescribir las gramticas poniendo subndices
a los no terminales: S1, S2, X1, etc. y aadir las reglas SS1, SS2.
Decidir si es verdadera o falsa la siguiente afirmacin: La tesis de Turing implica que los
lenguajes ms generales que existen son los lenguajes estructurados por frases.
Verdadera.

b) Falsa.

Solucin: B.
Decidir si es verdadera o falsa la siguiente afirmacin: Para toda mquina de Turing no
determinista existe una gramtica estructurada por frases que genera el mismo lenguaje
que acepta el autmata.
Verdadera.

b) Falsa.

Solucin: A. Para toda mquina de Turing no determinista existe una mquina


determinista equivalente.
Dado el alfabeto {x,y}, indicar si estas dos mquinas de Turing aceptan el mismo
lenguaje.
Verdadero.

b) Falso.

13

x
Rx R

x/R
x

x/R

y/y

x/R

x/R
y/R

Solucin: A. Examinar los casos posibles.


El lenguaje formado por las expresiones aritmticas, tales como (3)((74)+(2 / 5)), es
un...
lenguaje regular.
lenguaje independiente del contexto, no regular.
lenguaje estructurado por frases, no independiente del contexto.
Solucin: B. (1) Ver que no puede ser regular y (2) construir la gramtica.
Indicar cul es el tipo de autmata ms sencillo (menos general) capaz de reconocer el
lenguaje xny2n, donde n es un nmero natural.
Un autmata de pila determinista.
Un autmata de pila no determinista.
Una mquina de Turing.
Solucin: A. Construir el autmata, cuidando que sea determinista. Es decir, utilizar una
transicin y,x; en vez de ,;.
Septiembre 95 (Reserva)
El siguiente diagrama representa un autmata determinista. Cuntos estados tiene este
autmata?
Cuatro.
Depende del alfabeto.
x
x
y

z
y
y

x
y
z

Solucin: B. Si hay otros smbolos en el alfabeto, es un diagrama incompleto.

14

Decidir si la expresin regular x ( x * y*) y representa el mismo lenguaje que


reconoce el siguiente autmata.
x
y

y
y

Verdadero.

b) Falso.

Solucin: B. El autmata acepta x.


Decidir si las dos expresiones regulares siguientes son equivalentes:
(x*y)*
x * (yx * ) * y.
Equivalentes.

b) No equivalentes.

Solucin: A.
Decidir si es verdadera o falsa la siguiente afirmacin: Dado un lenguaje regular L existe
una gramtica independiente de contexto en forma normal de Chomsky que genera el
mismo lenguaje.
Siempre.
Nunca.
Depende de L.
Solucin: C. Es cierto siempre que L no contenga la cadena vaca.
Sea L el lenguaje xmyn tal que n m 2n. Es correcta la siguiente gramtica para
generar L?

Correcta.

S
X

X
Y

xXy

Y
X

xxYy

b) Incorrecta.

Solucin: A. Aplicar la primera regla, luego la tercera 2nm veces, la segunda y


despus la cuarta mn veces.
Cul es el lenguaje que acepta el siguiente autmata?

15

x ;x

y, x;
L = {Cadenas con tantas xs como ys}
L = {Cadenas con ms xs que ys}
Ninguna de las anteriores.
Solucin: C. Cadenas en las que, al ser ledas de izquierda a derecha, el nmero de ys
nunca supera al de xs ledas.
Cul de las expresiones siguientes es cierta?
Para toda mquina de Turing no determinista existe una mquina de Turing con
varias cintas equivalente.
Para toda mquina de Turing con varias cintas existe una mquina de Turing no
determinista equivalente.
Las dos anteriores son ciertas.
Solucin: C.
Los lenguajes reconocidos por analizadores sintcticos de tipo LR(k) son los...
lenguajes regulares.
lenguajes independientes del contexto deterministas.
lenguajes independientes del contexto.
Solucin: B. Ver la pg. 133 del libro de texto.
Decidir si es verdadera o falsa la siguiente afirmacin: El complementario de un
lenguaje independiente del contexto determinista es independiente del contexto
determinista.
Verdadero.

b) Falso.

Solucin: A. Dado un autmata de pila determinista, basta sustituir los estados de


aceptacin por estados de no aceptacin, y viceversa.
Sea una mquina de Turing M con alfabeto . Cuando M examina una cadena x
L(M) ...
se para en un estado de no aceptacin.
puede haber una terminacin anormal.
lee la cinta indefinidamente, sin detenerse nunca.

16

Solucin: B. Puede que la mquina no se detenga o que haya terminacin anormal. La


respuesta C sera valida si dijera es posible que lea la cinta indefinidamente, sin
detenerse nunca.
Decidir si es verdadera o falsa la siguiente afirmacin: La tesis de Turing implica que
ningn ordenador podr reconocer un lenguaje no estructurado por frases debido a que
los ordenadores reales tienen capacidad de memoria limitada.
Verdadera.

b) Falsa.

Solucin: B.
Pertenece la cadena xy al lenguaje aceptado por el siguiente autmata?
Pertenece.

b) No pertenece.
/R
/R
x/x

x/y
y/x

y/R

y/R

x/L

x/R

/R
Solucin: A. Transiciones: /R, x/y, y/R, x/L, y/x, x/x.
Decidir si es verdadera o falsa la siguiente afirmacin: Para toda mquina de Turing no
determinista existe una gramtica estructurada por frases que genera el mismo lenguaje
que acepta el autmata.
Verdadera.

b) Falsa.

Solucin: A. Para toda mquina de Turing no determinista, existe una mquina de Turing
determinista que acepta el mismo lenguaje, y para sta existe una gramtica
estructurada por frases equivalente.
Dado el alfabeto {x,y}, indicar si estas dos mquinas de Turing aceptan el mismo
lenguaje.
Equivalentes.
x
Rx R
x

b) No equivalentes.
x/R

x/R

x/R

x/R
y/R

y/y

17

Solucin: B. El primero acepta la cadena xxxxy y el segundo no.


Sea el alfabeto {0,1,2,3,4}. El lenguaje formado por todas las cadenas tales que la suma
de sus smbolos vale 100 es un...
lenguaje regular.
lenguaje independiente del contexto, no regular.
lenguaje estructurado por frases, no independiente del contexto.
Solucin: A. Dentro de este lenguaje, las cadenas que no contienen el 0 forman un
subconjunto finito. Para cada una de esas cadenas podemos construir una expresin
regular para considerar la posibilidad de que haya 0s; por ejemplo, de 4323...
pasaramos a 0*40*30*20*30*... Uniendo todas estas expresiones regulares
obtenemos la expresin regular que representa el lenguaje. Otra forma de demostrarlo
consiste en construir un autmata finito para el sublenguaje finito y despus aadir un
bucle rotulado con 0 para cada estado. Tambin se puede hacer un razonamiento
similar basado en una gramtica regular.
Indicar cul es el tipo de autmata ms sencillo (menos general) capaz de reconocer el
lenguaje xny3n, donde n es un nmero natural.
Un autmata de pila determinista.
Un autmata de pila no determinista.
Una mquina de Turing.
Solucin: A. Construir el autmata, cuidando que sea no determinista. Es decir, utilizar
una transicin y,x; en vez de ,;.
-o-o-o-