Está en la página 1de 8

Guía para el Examen a Título de Suficiencia

Unidad de aprendizaje Teoría Computacional

1. Expresiones regulares (ER)

a) Construcción de expresiones regulares con base en símbolos de alfabetos y


metacaracteres (cerradura positiva, cerradura estrella o de Klene, concatenación,
unión o disyuntiva, uso de paréntesis, cadena vacía o λ ).

b) Problemas de muestra para ER:

Con base en Σ = { a, b, c } hallar la ER para cada enunciado:

- Todas las cadenas que contienen una sola ‘a’

- Todas las cadenas que no contienen más de tres ‘a’.

- Todas las cadenas que contienen al menos una vez cada símbolo del alfabeto Σ.

Con base en Σ = { 0, 1 } hallar la ER para cada enunciado:

- Todas las cadenas que contienen un número par de ceros.

- Todas las cadenas que no contienen a la subcadena ‘101’.

- Todas las cadenas cuyo décimo símbolo por la derecha sea ‘1’

2. Lenguajes regulares.

a) Estudiar el lema del bombeo

b) Determinar si un lenguaje es regular o no es regular mediante el lema de bombeo.

Ejemplo de problemas a resolver: Determina si los siguientes lenguajes son


regulares o no lo son, mediante la aplicación del teorema del bombeo.

- L1 = { w ∈ {0,1}* | w = w-1 }

- L2 = { 1n | n es un número primo }

3. Autómata Finito Determinista (AFD)

a) Estudiar la definición formal de AFD:

Por ejemplo:

A = (Q, Σ, δ, q0, F)

Donde: Q = {q0,q1,q2,q3,q4}, Σ = {0,1,2}, δ es la función de transición , q0, es el


estado inicial, F = {q1,q2,q4})

b) Dada una ER, hacer el equivalente en diagrama de estados del AFD


correspondiente.

Ejemplo de problema a resolver:

Con base en Σ = { 0, 1, 2 } y la ER: 2(0|1+)|1*0, dibujar el diagrama de estado del AFD


correspondiente.

c) AFD mínimo. Obtener el AFD mínimo mediante algún procedimientos tal como:
Conjunto Cociente, Myhill-Nerode, etc.

Ejemplo de problema a resolver:

Con base en la siguiente tabla de transición del AFD A1 obtener el AFD mínimo. Usar
alguno de los procedimiento para obtener el AFD mínimo. Se requiere dibujar el
diagrama de estados del AFD mínimo.

δ a b

Q P
→P
*Q R S

*R Q T

S T U

T S U

U Q U

d) A partir de un diagrama de estados de un AFD obtener la ER.

Ejemplo de problema a resolver. Obtener la ER del siguiente AFD:


4. Autómata Finito No Determinista (AFND)

a) Estudiar la definición formal del AFND:

A = (Q, Σ, δ, q0, F)

Donde: Q = {q0,q1,q2,q3,q4}, Σ = {0,1,2}, δ es la función de transición , q0, es el


estado inicial, F = {q1,q2,q4})

b) Dado el diagrama de estados de una AFND, obtener la ER

Ejemplo de problema a resolver. Obtener la ER del siguiente AFND.

0 1
1
0
A B C

0
1
1 1

E D 0
F
0

0
c) Convertir un AFND a un AFD

Ejemplo de problema a resolver. Construir el AFD equivalente para el siguiente AFND:

d) Convertir un AFND-λ a un AFD.

Ejemplo de problema a resolver: Convertir el siguiente AFND-λ a un AFD

Nota: Los símbolos λ y ε son equivalentes.

e) Cadenas que sean aceptadas y no aceptadas por un AFND-λ

Ejemplo de problema a resolver: Con base en el AFND-λ del inciso anterior, escribe 5
cadenas que sean aceptadas y 5 que no lo sean.

f) Determinar las cadenas aceptadas y no aceptadas en un AFND-λ

Ejemplo de problema a resolver: Para el siguiente AFND-λ escribir 5 cadenas que sean
aceptadas y 5 que no lo sean.

Nota: Los símbolos λ y ε son equivalentes.

5. Autómata de Pila Determinista (APD) y Autómata de Pila No Determinista


(APND)

• Estudiar la definición formal para el APD y el APND.

Ejemplo de problema a resolver:

• Diseña el APD (o el APND) que acepte cadenas del lenguaje:

L = { 0i 1i+k 2k 3n+1 | i, k, n ≥ 0 }

• Muestra el funcionamiento de la pila para palabras que sean aceptadas por el APD o
APND. Por ejemplo, la palabra 00111122333 para el anterior lenguaje.

Nota 1: Se debe realizar el diagrama de estados del APD. El diagrama debe mostrar
los estados que componen el APD, así como las transiciones. En las transiciones se
debe usar una notación que indique el símbolo de entrada (alfabeto de entrada), la
cadena de símbolos (alfabeto de la pila) que hay en ese momento en la pila, y la
cadena que tendrá la pila después de la transición. La figura siguiente muestra un
ejemplo de diagrama de estados para el APD que acepta cadenas del lenguaje L para
palíndromos. Palabras válidas: aabbcbba, ababa, etc.

L = { wcw-1 | w ∈ { a, b }* }, para el alfabeto Σ = { a, b, c }

Nota 2: Para la notación anterior, se puede usar el símbolo λ o el ε; se toman como


símbolos equivalentes.

6. Gramáticas.

a) Clasificación de gramáticas de Chomsky

Dada una gramática , identificar a cuál categoría de la clasificación de Chomsky


pertenece: 0 (para lenguajes sin restricciones), 1 (para lenguajes dependientes del
contexto), 2 (para lenguajes independiente del contexto), 3 (para lenguajes regulares).

Ejemplo de problema a resolver: Dada la siguiente gramática, indicar a qué categoría


pertenece:

G1 = ( {a,b,c}, {S,A}, S, {S := aAb, A: = A | aAb | c} )


b) Producciones a partir del axioma

Dada una gramática, generar producciones a partir del axioma.

Ejemplo de problema a resolver: Con base en la gramática anterior, hacer derivaciones


para generar cadenas válidas.

c) Gramática limpia

Una gramática limpia está libre de:

Reglas innecesarias

Símbolos inaccesibles

Símbolos superfluos.

Dada una gramática formal, se requiere generar una gramática equivalente que sea
una gramática limpia.

Ejemplo de problema a resolver: Con base en la siguiente gramática, generar una


gramática limpia equivalente:

GA = ( {a, b, c, d}, {A, B, C, D, E}, A, P)

P= { A:= Da | Eba | λ

B:= bCd | d

C:= C

D:= bA

E:= aE | cE

Nota 1: El axioma para la gramática anterior es A.

Nota 2. En el procedimiento para obtener una gramática limpia, se debe indicar si hay
o no hay reglas innecesarias, símbolos inaccesibles, y símbolos superfluos; así mismo,
se debe indicar la forma en que se solucionan (eliminan).

d) Gramática bien formada

Una gramática bien formada tiene las siguientes características:

• Es una gramática limpia.

• Está libre de reglas no generativas.

• Está libre de reglas de denominación.

Con base en una gramática formal, se requiere generar una gramática limpia y a
continuación generar la gramática bien formada.

Ejemplo de problema a resolver: con base en la siguiente gramática, obtener la


gramática equivalente bien formada:

G = ( {x, y, z }, {S, A, B}, S, P )

P = { S:= xAx | λ

A := xAx | yB

B := yB | y | AB | λ | B

Nota: En la solución de este problema se debe primero, realizar todo el procedimiento


para generar una gramática limpia, a continuación se debe aplicar el procedimiento
para generar una gramática bien formada en el cual se debe incluir el tratamiento para
reglas no generativas y para reglas de denominación.

e) Eliminación de recursividad por izquierda

Ejemplo de problema a resolver: para la siguiente gramática, generar una gramática


equivalente con reglas de producción que no presenten recursividad por izquierda:

G = ( { a, b }, { S, A, B }, S, P )

P = { S:= Aa | bB

A:= aA | Ab | b

B:= Ba | b

f) Formas normales

• Forma Normal de Chomsky (FNC)

Ejemplo de problema a resolver: Pasar la siguiente gramática a la FNC y


derivar dos palabras con la gramática antes y después de haber hecho la
conversión a FNC.

G = ( { 0, 1, 2 }, {A, B}, A, P )

P = { A:= 0B | 2

B:= 0A | 1

• Forma Normal de Greibach (FNG)

Ejemplo de problema a resolver: Pasar la siguiente gramática a la FNG y


derivar dos palabras con la gramática antes y después de haber hecho la
conversión a FNG.

G = ( { b, c }, {A, B, C}, A, P )

P = { A:= CBc | bB | λ

B:= BC | b

C := c

7. Máquina de Turing

Ejemplo de problema a resolver: diseñar una máquina de Turing ejecutora de


procedimientos que duplique las cadenas binarias que estén definidas sobre su cinta.

El resultado puede representarse en forma de tabla de transiciones o en forma de


diagrama de estados.

También podría gustarte