Вы находитесь на странице: 1из 17

UNIVERSIDAD NACIONAL DE SANTIAGO DEL ESTERO

Facultad de Ciencias Exactas y Tecnologas

Teora de la Computacin

CUADERNILLO DE
ACTIVIDADES PRCTICAS

PROF. ING. MARGARITA LVAREZ DE BENTEZ


LIC. PAOLA BUDN DE ROSENZVAIG
ROBERTO VILLALBA

2012

Teora de la Computabilidad 2012


1. Determine si las formalizaciones1 son adecuadas para los enunciados de problemas:
Formalizacin

Enunciado del problema

D=Z
1.1. Determinar si un nmero es I = N
perfecto. (Un nmero es perfecto R = y / y = s y = no
si es igual a la suma de todos sus
divisores excluido el mismo
q = ( x , y ) I x R / [y = si x: x =
nmero: 6 = 1 + 2 + 3).

x
i 1

; donde xi = j

x mod j = 0 con j = 1.. x-1, con i = 1 i+1 k] [y = no


todo lo contrario].

1.2. Determinar
capica.

si

un

nmero

D=N
I = x / x N x = x1 x2 ...xn n 2
es
R = y / y = s y = no
q = ( x , y ) I x R / y = si x : xi = xj con i = 1, 2, ... ,
Int (n/2) j = n, n-1 , ... , Int (n/2) y = no x : xi
xj con i = 1, 2, ... , Int (n/2) j = n, n-1 , ... , Int (n/2)

1.3. Determinar si un nmero entero


positivo de m dgitos (con 2 <= m
<= 9) es narcisista. Un nmero es
narcisista cuando es igual a la
suma de alguna potencia de sus
dgitos.
Por ejemplo: 371 es narcisista de
orden tres.
371 = 33 + 73 + 13
1.4. Determinar si un vector de N
elementos (N 100) con K
elementos pares y M elementos
impares, con K y M > 0, esta
ordenado de la siguiente manera:

D=N
I = x / x N x = x1 x2 ...xn 2 n 9
R = y / y = s y = no
q = ( x , y ) I x R / y = si x : k /

x
i 1

2 3 ... 9 y = no k :
9

x
i 1

k
i

k
i

x con k =

x con k = 2 3 ...

D = ( A,n) : A Rn n N
I = A(n) / A(i) R con i N , n 100, 0 K n , 0 M n
K+M=n

R = y / y = s y = no
- Primero los elementos pares en q = ( A , y ) I x R / y = si K 0 : Mod ( A(i/2) = 0
orden creciente y
Mod ( A(i + 1)/2) = 0 A(i ) A(i + 1) con i = 1,2,...., k-1
- luego los elementos impares en M 0 / Mod ( A(i/2) 0 Mod ( A(i + 1)/2) 0 A(i )
A(i + 1) con i = K +1, ...., ( K +M ) - 1 y = no caso contrario
forma decreciente.

Formalmente un problema se define mediante una cudrupla: <D,R,Q,I>, donde D representa el dominio de datos, R al
dominio de resultados, Q es la especificacin o condicin del problema, I es el conjunto de instancias de inters, y es un
subconjunto de D.

Teora de la Computabilidad 2012


2. Determine si las condiciones de viabilidad son adecuadas para los enunciados de problemas
Enunciado del problema

Condicin de viabilidad

2.1.

Determinar si un nmero es x: x I y / y R x : xi = xj con i = 1, 2, ... , Int (n/2)


capica
j = n, n-1 , ... , Int (n/2)

2.2.

Determinar si un vector de N
A(i) : A(i) I y / y R A(i) : Ai A j con i =
elementos, no tiene elementos
1 n-1 j = i+1 n para cada i ]
repetidos.

2.3.

Determinar si una matriz de NxN


A(i,j) : A(i,j) I y / y R A(i) : (A(i,j) < A(i, j+1),
elementos (N < 30) esta ordenada
i = 1..n j = 1..n-1) (A(i,n) < A(i+1,1 ), i = 1..n-1]
en forma ascendente.

3. Dadas las siguientes formalizaciones de problemas, enunciar el problema al cual corresponden:


D= - {0} x n
I= - {0} x
R=
Q= {((a,b),x) IxR: ax+b=0}
Enunciado:
D= - {0} x n
I= - {0} x 2
R= 2
Q= {((a,b,c), (x1,x2)) Ix 2: ax i2 +bx i=0, con i= 1,2}
Enunciado:

D= F nxm
I= {A,B,C nxm }
R= {x var lgica, (x=s x=no)}
Q= {(A,B,C,x) IxR/ x=s [(Cij=Aik+Bkj) k=1n, para cada j= 1,n, para cada i= 1n; x=no en
caso contrario]}
Enunciado:

4. Formalice los problemas correspondientes a los siguientes enunciados

Dado un nmero, obtener la suma de sus dgitos.


Encontrar un nmero de cuatro cifras distintas que al multiplicarse por cuatro da por resultado otro nmero
de cuatro cifras y que es el inverso del primero.
Dado un vector con 10 elementos numricos enteros, indique cuntos de ellos son mltiplos de 3.
Dado un nmero X determinar si ese nmero corresponde a un trmino de la frecuencia de Fibonacci.
Verifique si una matriz de nxn, en la columna final contiene la suma de los elementos de las filas.

Teora de la Computabilidad 2012

Dada una matriz A de m x n, imprimir la fila que contiene el menor elemento y la columna que tenga el
mayor elemento de la matriz.
Se tienen 3 arreglos A,B,C de m elementos. Generar otro arreglo de tres elementos, donde cada elemento sea
la suma de los elementos de cada arreglo.

5. Para los algoritmos dados realice las siguientes actividades:


a) Enuncie el problema correspondiente.
b) Formalice el problema.
c) Analice la eficiencia y obtenga el tiempo de ejecucin del peor caso.
d) Exprese el orden correspondiente

a)
variables: suma(s), media
Inicio
s= 0
x= 1
Mientras x<= 100 hacer
Leer n
s=s+n
x=x+1
Finmientras
media = s /100
Escribir media
Fin

c)
begin
s := 0
k := 1
for i = 1 to n-1 do
for j = i + 1 to n do
begin
b[ k ] : = a[ i , j ]
k := k + 1
end
for i = 1 to k-1 do
s : = s + b[ i ]
end

b)
Inicio
i=1
may=0
rest=0
suma=0
Mientras i<=10 hacer
suma=suma+v[i]
i=i+1
Fin Mientras
promedio=suma/10
i=1
Mientras (i<10) hacer
Si (v[i] > promedio)
may=may+1
Sino
rest=rest+1
Fin Si
i=i+1
Fin Mientras
Fin

Teora de la Computabilidad 2012

d)

e)
begin

for i = 1 to n do
s=0
t=0
for j = 1 to n do
if a(i,j) > s then
s = a(i,j)
endif
enddo
for j = 1 to n do
if a(i,j) = s then
t= t+1
endif
enddo
b(i,1) = s
b(i,2) = t
enddo

for i = 1 to n-1 do
for j = n to 1 do
if a(j - 1) > a (j) then
begin
t = a (j 1)
a (j - 1) = a (j)
a (j) = t
end
endif
enddo
enddo
end

6. Dado el siguiente algoritmo


m=0

begin
for i:= 1 to n do
for j:= 1 to i do
for k := j to n do
m=m+1
end

a)
b)
c)
d)

Analice la eficiencia y obtenga el tiempo de


ejecucin del peor caso
Exprese el orden correspondiente
Determine el valor de la variable m
Compare los resultados obtenidos en a) y c)

7. Para los problemas impares del ejercicio 3, realice las siguientes actividades:
a) Disee los algoritmos correspondientes.
b) Analice la eficiencia y obtenga el tiempo de ejecucin.

Teora de Lenguajes Formales y Gramticas 2012


1.

Dadas las siguientes hileras, determinar qu lenguaje2 las genera:


Hileras
Lenguaje
a)aaa, bbb, cccccc, abababab, a)L1= {x/ x {a,b,c}* y la cantidad de b es el triple de la
acacababa, bacbacbbbcc,
cantidad de c, y la cantidad de a es el doble de la cantidad
de c}
b)1011111011, 101110, 11111
b)L2={anb2nc3n/n 0}
c)acabbb, bbacbbaacabb,
c)L3: Lenguaje formado por hileras de 0 y 1 tales que antes
ccaabbcaabbbbbbba,
de cada 0 existe un 1, y despus de cada 0 hay dos 1
consecutivos
d), abbccc, aabbbbcccccc,
d) L4= {x/ x {a,b,c}*}
aaabbbbbbccccccccc
e)011, 011011, 0101, 11111, e) L5: Lenguaje formado por hileras de 0 y 1 tales que la
000000
cantidad de 0 es la mitad de la cantidad de 1.

2.

Dado los siguientes lenguajes:


L1 = {xy / x {a,b}* y = aa }
L2 = {a2n-1 b2m/ n, m 1}
L3 = {(ab)na / n 0}
1.1 Dar ejemplos de hileras x Li (con i = 1,2,3)
1.2 Para las hileras x y y L2 (del ejercicio anterior), calcular:
x0y0
(xy)-1
xy
1.3 Calcular por extensin para los lenguajes L1 y L2:

3.

L13

L1* L2*

x2y2

L2+

Definir lenguajes para:


a) Nmeros naturales
b) Lenguaje de mquina
c) Lenguaje formado por hileras con un nmero par de letras a.
d) Los nmeros binarios en los que el primer dgito es igual al ltimo dgito.
e) Los nmeros binarios que terminan en 01.

4.

Relacione las gramticas y lenguajes de la siguiente tabla:


Gramtica Regular
G1 = ({S,A}, {a,b}, P,S) donde P es:
S yS / xA /
A xS / yA
G2 = ({S,M,N}, {x,y,z}, P,S) donde P es:
S xM /
M yN
N zS
G3 = ({S,A,B}, {x,y}, P,S) donde P es:
S xA
A yA / zB
B xA /
G4 = ({S,A,B}, {x,y}, P,S) donde P es:
S xA / yB
A xA /
B xB / yA

Lenguaje Regular
L1 = { xynz(xymz)p / n,m, p 0 }
L2 = { wz / w = x w= yxny z=xm / n,m 0}

L3 ={(xyz)n| n 0}

L4 = {w / w {x,y}* y x contiene un nmero par de x}

Un lenguaje formal es un conjunto de hileras formadas por la agrupacin de un nmero finito de smbolos del vocabulario de
acuerdo a las reglas especificadas para dicho lenguaje. Los smbolos son los elementos atmicos e indivisibles. Se concatenan
para formar las hileras. La hilera nula se representa con .

Teora de Lenguajes Formales y Gramticas 2012


5.

Para cada uno de los siguientes lenguajes, definir la gramtica3 regular y la expresin regular4
correspondiente:
a)
b)
c)
d)
e)
f)
g)
h)
i)
j)
k)
l)
m)
n)
o)
p)

6.

L = {w = anbak / n, k 0}
L = {w {0,1}* / antes y despus de cada 0 existe una subcadena 11}
L = { w {a,b}* / w = (aaa)n(bbb)m , m.n 0 }
L = {anbm / n+m es par}
L = {abnw/ n 3, w {a,b}*}
L = {vwv/ v, w {a,b}*, v=2}
L = {x / x {0, 1}* x termina en 00}
L = {x /x {a,b}* x no contienen dos b consecutivas}. Ejemplos: ababab, aaaa
L = {x /x {a,b}* x contienen un nmero impar de b}
L = { w {0,1}* / |w | = 5 y el nmero de ceros en w es mayor o igual a 2 }
Los nmeros binarios en los que el primer dgito es diferente del ltimo dgito.
L = { w {a,b,c}* / w no contiene la subcadena bab }
L = {x = aibj x = (cd)2n+1, i 0, n, j 1}
L = {x/x = awcn, n 1,w {a, b}*}
L = {x /x {a,b,c}* y contiene exactamente una a}
L = {x /x {a,b,c}* y contiene al menos una a}

Determinar si cada uno de los siguientes lenguajes es regular o no. Justifique su respuesta:
a)
b)
c)
d)
e)
f)

7.

L = {anbmck / k = n+m}
L = {anbmak / n=m m =k}
L = {x / x {a,b}*, xa = xb +1}
L = { 0n1m2n-m / n m 0}
L = { aibj / i j}
L = { aibj ck/ i=k>j}

Definir las gramticas y expresiones regulares que generen:


a) Constantes enteras con signo, sin ceros no significativos
b) Constantes reales con notacin exponencial
c) Identificadores de cualquier longitud que comiencen con una letra y contengan letras, dgitos o

guiones. No puede terminar con guin.


d) Comentarios acotados por /* y */ sin que intervenga */ a menos que aparezca entre comillas.
e) Nmeros de telfono. Considere solamente nmeros locales con todas las caractersticas de
Santiago del Estero.
f) Direccin de correo electrnico.
g) Direcciones domiciliarias. Tenga en cuenta las siguientes situaciones:
i. Avenidas
ii. Calles que contenga nmeros, como por ejemplo, Calle 12 de Octubre.

Una gramtica es un sistema de reglas o producciones que controla el orden en el que los elementos pueden aparecer en el
lenguaje. Si un lenguaje genera un nmero finito de hileras, puede ser definido por comprensin o por extensin. Si el lenguaje
es infinito se define mediante un mecanismo matemtico finito denominado gramtica de estructura de frase. La gramtica
provee un mecanismo de aceptacin el cual permite determinar si la hilera pertenece o no al lenguaje.
4

Un lenguaje se dice regular si puede ser expresado por una expresin regular. Una expresin regular, a menudo llamada
tambin patrn, es una expresin que describe un conjunto de cadenas sin enumerar sus elementos. Una expresin regular es
una forma de representar a los lenguajes regulares (finitos o infinitos) y se construye utilizando caracteres del alfabeto sobre el
cual se define el lenguaje. Especficamente, las expresiones regulares se construyen utilizando los operadores unin,
concatenacin y clausura de Kleene

Teora de Lenguajes Formales y Gramticas 2012


8.

Dadas las siguientes ER, definir las gramticas correspondientes, y expresar el lenguaje:

E1: (a,z)*@ gmail.com


E2: (0,1)*101

9.

E3: 0*42
E4: (0*(100*)*) [ (0*(100*)*1)

E5: este|oeste|norte|sur
E6: (a,b,c) (1,0)+

Dados los siguientes patrones, determinar la gramtica regular, y el lenguaje correspondiente.


^am // patrn
am // coincide
cama // no coincide
ambidiestro // coincide
Pam // no coincide
caramba // no coincide

am$
am // coincide
salam // coincide
ambar // no coincide
Pam // coincide

^am$
am // coincide
salam // no coincide
ambar // no coincide

10. Relacione las gramticas y lenguajes de la siguiente tabla:


Gramtica Libre de Contexto5
G1 = ({S,M}, {x,y}, P,S) donde P es:
S xSz / M
M yMz /
G2 = ({S,X,Y}, {x,y}, P,S) donde P es:
S X
X Y / xXy /
Y xxYy /
G3 = ({S,X,Y}, {x,y}, P,S) donde P es:
S X / Y
X xXy /
Y xxYy /
G4 = ({S, {x,y}, P,S) donde P es:
S xSy / xxSy / xxxSy /

Lenguaje Libre de Contexto


L1 = {xnyn}{x2nyn}
L2 = {xmyn | 0 n m 3n}

L3 = {xmynzp/ m, n, p 0 m+n=p}

L4 = {xnym | mn2m}

11. Para cada uno de los siguientes lenguajes, definir la gramtica libre de contexto:
a) L = {anbm / n,m 0 n m+3}
b) Un lenguaje de parntesis, llaves y corchetes bien balanceados. Por ejemplo, las palabras ()[], ([]) y
()[[]] son correctas, mientras que [[] y ([)] no lo son. Ntese que en esta ltima palabra los
parntesis solos estn balanceados, as como los corchetes solos, pero su combinacin no lo est.
c) L = {anbmck/ n,m,k 0 ( n = m m k}
d) L = {anbmck/ n,m,k 0 k = n + m}
e) L = {anbmck/ n,m,k 0 k = n + 2m }
f) L = {wcw-1/ w {a,b}*}
g) L = {anbmck/ n 0, k 1 m = n + k}
h) L = {a3bncn/ n 0}
i) L = {anbm/ n, m 0 n m -1}
j) L = {anbm/ n, m 0 2n m 3n}
k) L = {anbmck/ n,m,k 0 (n =m m k)}
l) L = {anbmck/ n,m,k 0 k = n-m}
m) L = {anbmck/ n,m,k 0 k n+m}
n) L = {ab(ab)nb(ba)n/ n 0 }
5

Estas gramticas, conocidas tambin como gramticas de tipo 2 o gramticas independientes del contexto, son las que
generan los lenguajes libres o independientes del contexto. Los lenguajes libres del contexto son aquellos que pueden ser
reconocidos por un autmata de pila determinstico o no determinstico. En el lado izquierdo de las reglas de producciones
aparece o el smbolo distinguido o un no terminal, mientras que en el lado derecho de una produccin cualquier cadena de
smbolos terminales y/o no terminales de longitud mayor o igual que 1.

Teora de Lenguajes Formales y Gramticas 2012


L = {w / w {a,b,c}* #a(w) + #b(w) =#c(w)}
L = {anbm/ n, m 0 n 2m }
L = {w / w {a,b}* #a(w) #b(w)}
L = {w / w {a,b}* #a(v) #b(v), siendo v cualquier prefijo de w}
L = {w / w {a,b,c}* #a(w) + #b(w) #c(w)}
L = {w / w {a,b,c}* #a(w) = #b(w) +1}
L = {w / w {a,b,c}* #a(w) = 2#b(w)}
L = {w / w {a,b,c}* 2#a(w) #b(w) 3#a(w)}
L = {w1cw2 / w1 , w2 {a,b}* w1 w2R}
Procedimientos de la forma:
i. PROC ident (lista de parmetros), donde lista de parmetros es de la forma (var,...,var) o
(const,...,const) o una combinacin de ambas.
y) Sentencias de PASCAL: if...then...else, begin...end, repeat ...until
z) Expresiones regulares sobre el vocabulario {a,b}.
aa) Expresiones booleanas formadas con las constantes true y false, y los conectivos: , , , , y .
bb) Nmeros romanos.
o)
p)
q)
r)
s)
t)
u)
v)
w)
x)

12. La sintaxis del lenguaje mono es bastante simple, aunque slo los monos lo pueden hablar sin cometer
errores. El alfabeto del lenguaje es {a,b,d,#} donde # representa un espacio. El smbolo inicial es
<oracin>. La gramtica es:
<oracin> ::= <palabra>|<oracin>#<palabra>
<palabra> ::= <slaba>|<slaba><palabra><slaba>
<slaba> ::= <oclusiva>|<oclusiva> <alto>|a<oclusiva>|a<alto>
<oclusiva> ::= <alto>a
<alto> ::= b|d
De los oradores siguientes, cul es el agente secreto que se hace pasar por un mono?
Simio: ba # ababadada # bad # dabbada
Chimpanc: abdabaadab # ada
Babuino: dad # ad # abaadad # badadbaad
13. Determinar si cada uno de los siguientes lenguajes es libre de contexto o no. Justifique su respuesta:
a)
b)
c)
d)
e)

L = {anwwRan / n 0, w {a,b}*}
L = {xyz / x=y=z xa = ya = za }
L = { anbnci/ n i 2n }
L = { anbm/ m,n 0, (m=n) (m=2n) }
L {w1 w2 w3 w4 / w1 w3 = aibj, w2w4 = cjdj ; i,j 0}

14. Dada la siguiente gramtica:


G = ({S,A,B}, {a,b,c}, P,S) donde P es:
S aBA / c
A bS
B Sb
Para la cadena aacbbcbbc encontrar:
i. Una derivacin ms a la izquierda
ii. Una derivacin ms a la derecha
iii. El rbol de derivacin
15. Describir los lenguajes generados por las siguientes expresiones regulares y definir las correspondientes
gramticas regulares:
a)

01 (((10)*/111)*/0)*1

b) ((ba)* / (ab)*)*

c)

(11/0)*(00/1)*

d) b/(a+b/a+)

e)

(aaa / aaaaa)*

f)

g) 10/(0/11)*0*1

(aa)* (bb)*

h) (0/1)(0/1)*00

Teora de Lenguajes Formales y Gramticas 2012


i)

(0/1)(0/1)* ((0/1)(0/1)(0/1))*

j)

(10)[((10)*/111)*0]*1

16. Dadas las expresiones regulares


E1 = a* / b* y E2 = ab* / ba* / b*a / (a*b)*, encuentre:
Una hilera que pertenezca a E2 pero no a E1
Una hilera que pertenezca a E1 pero no a E2
Una hilera que pertenezca a E1 y a E2
Una hilera que no pertenezca ni a E1 ni a E2
17. Escriba expresiones regulares equivalentes a las siguientes lo ms simplificadas que sea posible:
a)

((a*b*)*(b*a*)*)*

b) (a / b)*a(a / b)*

c)

(a*b)* / (b*a)*

d) a* / b* / (a + b)*

18. Dadas las siguientes gramticas, muestre que son ambiguas6:


a)

S SS+ / SS* / a

b) S S (S) S /

S a / S+S / SS / S* / (S)

19. Dadas las siguientes gramticas factorice:


a)

S abA / abB
A aAb / ab
B bBa / ba

S aBcC / aBb / aB / a
B d

20. Dadas las siguientes gramticas, eliminar la recursividad a izquierda directa e indirecta:
a)

S (L) / a
L L,S / S

e)
S SS /CA / A
A bAA / aC / a
B aSS /BC / B
C CC /C

b) S SS / (S) /

c)

S Sa / Bb / Cc /
B Bb / Cc /
C Cc /

d) S Aa / b
A Ac / Sb / c

f)
<ENTERO> <SIGNO><SECUENCIA>
<SIGNO> + | - |
<SECUENCIA> <DIGITO> | <DIGITO><SECUENCIA>
<DIGITO> | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

Una gramtica es ambigua si el lenguaje tiene alguna hilera que tenga ms de un rbol sintctico. Es posible frecuentemente,
modificar la gramtica para que deje de ser ambigua.

Teora de Autmatas 2012


A.

AUTOMTAS FINITOS7

1. Para los siguientes diagramas de transicin


0

0, 1

q0

q1

q2

a)

Defina el autmata finito.

b)

Obtenga la gramtica.

c)

Dar ejemplos de hileras reconocidas por el autmata.

2. Para el siguiente, indique si su definicin formal es correcta. En caso que no lo sea, exprese
correctamente la definicin formal.
A=({qo,q1,q2,q3},{0,1,2},q0,
(qo, 0)= q1
(qo, 1)=

q
1

q
0
1

q
2

(qo, 2)=
1

q
3

(q1, 0)=
(q1, 1)= q1,q2,q3
(q1, 2)=
(q2, 0)=
(q2, 1)=

Gramtica que reconoce:

(q2, 2)=

q0 0q1
q1 1q1/1q2/1q3
q2
q3 /2q3

(q3, 0)=
(q3, 1)=
(q3, 2)= q3

Para reflexionar:
a) Por qu q2 y q3 derivan en ?
b) Un autmata finito puede tener ms de un estado inicial? Puede tener ms de un estado final?
c) El autmata que se muestra en el diagrama de transicin, es determinstico? Fundamente su
respuesta.
3. Para los siguientes diagramas de transicin
a) Defina el autmata finito.
b) Obtenga la gramtica, la expresin regular y el lenguaje
7

Recordar que un Autmata Finito (AF) se define formalmente como una quntupla: A= (conjunto finito no vaco de
estados, alfabeto finito de entrada, funcin de transicin directa, estado inicial, conjunto de estados finales). Puede
representarse mediante una tabla de flujos o una diagrama de transicin. Adems, se dice que el Autmata Finito es No
Determinstico cuando existe ms de una funcin de transicin para un mismo smbolo de entrada. Los conceptos generales
estn extrados de Barchini, Graciela y Alvarez Margarita - Fundamentos Tericos de la Ciencia de la Computacin, Departamento de Informtica.
FCEyT 1994 y 1998.

Teora de Autmatas 2012


M1

M2

M3

q0

M4

a
a

q1

b
a

q2

a ,b
a

q0

q1

q2

M5

a ,b

M6

q2

q0
0

0
0

q1

q3
1

4. Realice los diagramas de transicin correspondientes al ejercicio 5 del apartado Lenguajes formales y
gramticas. No utilice un mtodo pre-establecido.
5. Para los AFND del ejercicio 4 obtenga el equivalente determinstico.
6. Realice el autmata finito a partir de las expresiones regulares del ejercicio 16 del apartado Lenguajes
formales y gramticas.
7. Definir y graficar los autmatas finitos de estados mnimos equivalentes a los dados.

Teora de Autmatas 2012


8. Calcular el autmata mnimo para el lenguaje complementario reconocido por el siguiente autmata.

9. Los AF en la vida real


Los siguientes escritos breves dan cuenta de la funcionalidad de los AF en la vida reali:
Situacin 1: En biologa son muy usados para modelar ciertas cosas. Se pueden crear AF como modelos de

cmo responde una clula ante un estmulo. Se tiene un input que puede ser un qumico o algo similar, una
serie de estados que pueden ser los estados de expresin de ciertos genes, o la produccin de alguna protena y
adems ciertas probabilidades de transicin. En s, se piensa que una clula en su totalidad se puede modelar
como un autmata finito no determinista.

Situacin 2: Para ciertos procesos celulares que requieren mucho control, como el crecimiento embrionario,

se pueden usar autmatas finitos deterministas (como una simplificacin) para modelar los cambios de
expresin de los genes que hacen que el proceso de gestacin se lleve a cabo.

Situacin 3: Se pueden usar expresiones regulares cuando de un texto extenso interesa saber cundo se

mencionan ciertas palabras. Por ejemplo, en la Biblia, para extraer slo la informacin de dnde estuvo
Jess, se puede generar una expresin regular en la que se busquen ciertas estructuras gramaticales de
oraciones que relacionen a Jess con algn lugar.

Seleccione una situacin y formalice la solucin.


10. Explicite el lenguaje reconocido por los siguientes AF.

Teora de Autmatas 2012

Teora de Autmatas 2012


B.

AUTOMTAS DE PILA 8 PUSH-DOWN AUTMATAS

1. Dados los siguientes lenguajes, realice los autmatas de pilas correspondientes.

a) L(G) = {anbnc / n 1}

b) L(G) = { anb2nc/ n 0}

c) L(G) = {ambmcn / n,m 1}

d) L(G) = {ambncn / n,m 1}

e) L(G) = {anbmcmdn / n,m 0}

f) L(G) = {anbm / n m}

g) L(G) = {aibjck / i = j o j = k}

h) L(G) = {anbncn+md / n,m 1}

i) L(G)={ xwx-1 / x {a,b}*, w {c,d}+}

j) L(G) = {(ab)n cn (dd)j /n 1, j 0}

k) L(G) = {0m1n0m+n / m,n 0}

l) L(G) = {anbncn+md / n,m 1}

m) L(G) = { anbmc3m+1d2n / n,m 1}

n) L(G) = { aibjck / i=2j o j=3k-1}

o) L(G) = {anbicd2(n+m) / n,m 1; i 0}

p) Lenguaje que genere hileras de ceros y unos con igual cantidad de ceros y unos.
q) Lenguaje que genere hileras de a y b con distinta cantidad de a que de b.
r) Lenguaje formado por parntesis balanceados.
2. Realice los autmatas que reconozcan hileras pertenecientes a los lenguajes descriptos en el ejercicio 11
del apartado Teora de Lenguajes y Gramticas.
3. Dados los siguientes autmatas de pila, identifique el lenguaje que reconocen los mismos. Formalice la
definicin de los mismos.
a,( /a(
a,a/aa

1,z0/z0

q
0

q
1

(,z0/( z0

b,a/

b,a/

q
2

),( /

q
4

q
3

Lenguaje reconocido por el autmata:

*, z0/*z0

q
1

1, */1*
1/1/11
2,1/1
3,1/

q
2

3,1/
4,1/1
4,z0/z0

q
3

*, z0/*z0
q
0
+, z0/+z0
q
4

+, z0/+z0
1, +/+
2,1/21
2,2/22
3,2/2

3,2/
4,2/
3,z0/z0
q
5

q
6

Un autmata de pila es un dispositivo abstracto que formalmente se define mediante una 7-upla:A =(conjunto finito no vaco
de la unidad de control, alfabeto de entrada, alfabeto de la pila, funcin de transicin directa, estado inicial, smbolo inicial de
la pila, conjunto de estados finales). La notacin cambia notablemente sobre las transiciones, pues involucran: smbolo que se
lee, smbolo del tope de pila, accin a seguir. Si la accin a seguir es borrar un elemento de la pila, se escribe
. Si la accin
es apilar, se escribe el smbolo que se guardar en la pila y el smbolo actual del tope de pila. Si no se har nada, slo se
consigna el tope de pila.

Teora de Autmatas 2012


C.

MQUINAS DE TURING

1. Defina una mquina de Turing que reconozca los siguientes lenguajes:

a) L(G) = {0n1n2n / n 1}

b) L(G) = {x#x / x {a,b,c}*}

c) L(G) = {anbmcnm /m, n 1}

d) L(G) = {a2n/ n 1}

e) L(G) = {an bm an+m / n, m 0}

f) L(G) = {an bn-1 cn+3 / n 1}


h) L(G) = {x/ x {0,1}* y la cantidad de ceros es igual a la cantidad

g) L(G) = {12k+1 / k 0}
i) L(G) = {ww-1 / w {0,1}*}
2.

de unos}

j) L(G)={ xwx-1 / x {a,b}*, w {c,d}+}

Disee una mquina de Turing unicinta y/o multicinta que:


a. Determine si un nmero es par o impar.
b. Multiplique dos nmeros en notacin unaria.
c. Duplique un nmero en notacin binaria
d. Transforme n en n+1, donde n es un nmero decimal.
e. Indique con un S o con un NO si un nmero dado en notacin unaria es mltiplo de alguno de los
divisores (distinto de 1) de un conjunto dado.
f. Calcule n2, donde n est expresado en notacin unaria.
g. Calcule el factorial de un nmero n en notacin unaria.
h. Calcule el cociente y el resto de dos nmeros naturales.
i. Genere la serie Fibonacci en notacin unaria, teniendo en la cinta inicialmente 1#1. Puesto que la serie es
infinita la mquina nunca se detiene.

3. Definir una MT transductora que:


a. Reciba un nmero en cdigo unario y lo devuelva traducido al cdigo binario.
b. Reciba un nmero en cdigo binario y lo devuelva traducido al cdigo unario.
c. Reciba dos nmeros en cdigo unario, separados por un espacio en blanco, y devuelva su suma.
d. Reciba dos nmeros en cdigo binario, separados por un espacio en blanco, y devuelva su suma.
e. Calcule el cuadrado de un nmero unario.
f. Reciba dos nmeros en cdigo unario, separados por un espacio en blanco, y devuelva su producto.