Vous êtes sur la page 1sur 16

TRABAJO COLABORATIVO 2

AUTOMATAS Y LENGUAJES

PRESENTADO POR:
ELIA JANETH BETANCOURTH HERNANDEZ
CODIGO: 69.055.398
SANDRA PATRICIA MEJIA DEVIA
CODIGO 65.716.572
MIGUEL ANGEL OCHOA OSORIO
CODIGO 71719278
JOSE ANTONIO ARCILA VELEZ
CODIGO: 71668503

TUTOR:
CARLOS ALBERTO AMAYA TARAZO
GRUPO: 15

PROGRAMA: INGENIERIA
ELECTRONICA

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA


UNAD OCTUBRE DE 2011

INTRODUCCIN

La informtica terica (que tambin recibe el nombre de teora de la


computacin) es una disciplina que crea y explora fundamentos tericos en
busca de las ideas que permitan el posterior desarrollo de los sistemas
informticos. Se puede considerar una rama de las matemticas, por el hecho
de que utiliza sus mtodos, pero con un objetivo muy concreto: conseguir
mejores sistemas de computacin y clasificar los problemas de acuerdo con
su dificultad al ser computados por diferentes modelos. Se puede considerar
que la informtica terica nace a partir de cuestiones que se planteaban en la
lgica matemtica hacia principios de siglo. Es preciso des-tacar que una buena
parte de la teora que engloba la informtica terica
todo

establecida cuando

ya

estaba del

aparecieron los

primeros

ordenadores. Tradicionalmente, se distinguen dos grandes campos en la


informtica terica: la teora de lenguajes formales, por un lado, y las teoras de
la calculable y de la complejidad, por otro. En esta asignatura presentamos
una introduccin a la teora de lenguajes formales tal como qued establecida
en los aos cincuenta por un grupo de matemticos, lgicos y lingistas.
Entre stos debe

destacarse

Noam

Chomsky,

que

propuso

una

clasificacin de los lenguajes formales que todava se mantiene vigente.

Sea esta la antesala para justificar la solucin del taller de autmatas regulares
y autmatas de pila que nos permitirn profundizar acerca de

las los

lenguajes independientes del contexto que tambin se conocen con el nombre de


gramticas de contexto libre.

Objetivos General

Reconocer los lenguajes regulares, autmatas de pila y su aplicacin.

1. Describa y explique cada uno de los elementos que permiten definir


formalmente un Autmata a Pila (AFPD) como una 7- upla.

(Q, ,B, , q0,Z0, F) en el cual:

Q.- Denota al conjunto de estados


.-Denota al alfabeto de la cinta de entrada
.-Denota al alfabeto de la pila

: (Q ) Q .- Control finito

es la funcin de transicin

q0 .- Estado inicial

Z 0 .- Smbolo inicial del stack

F.- Conjunto de estados finales

2. Construya el Autmata a pila para el lenguaje L={anbn | n > 0}


APV=({a,b},{S,A},{p,q},S,p,f, )
f(p,a,S)={(p,A)}
f(p,a,A)={(p,AA)}
f(p,b,A)={(q, )}
f(q,b,A)={(q, )}
Grafquelo en JFLAP y realice el Traceback par las transiciones.
Plasme las imgenes y capturas en el documento.
Trabjelo en el simulador JFLAP

APF=({a,b},{S,A},{p,q,r},S,p,f,{r})
f(p,a,S)={(p,AS)}
f(p,a,A)={(p,AA)
}
f(p,b,A)={(q,)}
f(q,b,A)={(q,)}
f(q,,S)={(r,S)}

Movimientos para (p,aabb,S) (p,abb,S) (p,aab,S)


3. Disear un autmata de pila M tal que L(M)
Trabjelo en el simulador JFLAP

= {xn ymxn; m,n N}.

4. Cul es el lenguaje aceptado por el siguiente autmata de pila?


Trabjelo en el simulador JFLAP.
Automatas Finitos Determinsticos (AFDs)

5. Construir un AFPD que reconozca:

6. Construir un autmata con pila que reconozca por vaciado de pila el lenguaje que
contiene las palabras formadas por los smbolos 0, 1 y 2 que tienen tantas
apariciones de las secuencia 01 como del smbolo 2.
Dado el siguiente autmata con pila indicar:

(a) Qu lenguaje reconoce por vaciado de pila.


R/=

L = (ba) n a / n > 0)

(b) Cules
de{Z},
las siguientes
palabras
son
por el AP: abba, abaaba.
AP
= ({a, b},
{q0, q1, q2,
q3}, q0,
Z,aceptadas
f, )
f(q0, a, Z) = {(q1, aZ)}
)} f(q0, b, Z) = {(q1, bZ)}
)} f(q1, a, a) = {(q1, aa), (q2, )}
)} f(q1, a, b) = {(q1, ab)}
f(q1, b, a) = {(q1,
ba)}
f(q1, b, b) = {(q1, bb), (q2,
)}

f(q2, b, b) = {(q2,
f(q2, a, a) = {(q2,
f(q2, , Z) = {(q2,

R/=
a, a, aa
a, b, ab
b, a, ba
b, b, bb

b, b,
a, a,

, Z,
a, a,
b, b,

a, Z, aZ
b, Z, bZ

q1

q0

q2

Las palabras aceptadas por el autmata son: abba, abaaba.

Abba

ESTADO DE LA PILA

abaaba

(q0, abba, Z )

(q1, bba,aZ)

(q1, ba, BaZ)

(q2, a, AZ)

(q2, , Z)

(q2, , )

ESTADO DE LA PILA
(q0, abaaba, Z )

(q1,baaba, aZ)

(q1,aaba, baZ)

(q1,aba, abaZ)

(q2,ba, baZ)

(q2, a, aZ)

(q2, , Z)

(q2, , )

7. Disear un AFPN (Autmata con Pila No Determinstico) que acepte el lenguaje:

Tenga en cuenta: sobre = {a, b}

Realice el Diagrama de Moore y las transiciones.

Sobre:
= {a, b}

(q0, a, Z) = (q0, AZ)

(q0, , Z) = (q2, Z) (acepta )

(q0, a, A) = (q0, AA)

(q0, b, A) = (q1, )

(q1, b, A) = (q1, )

(q1, , Z) = (q2, Z)

(q0, a, Z) y (q0, , Z)

8. Construir un Autmata que reconozca el lenguaje Libre de Contexto :

Solucin
Se disea un
uno de sus componentes:

, que funcione por vaciado de pila. Se define cada

1. Alfabeto de entrada = {0,1}


2. Alfabeto de la pila . Se necesita registrar:
Llegada de un cero Apilar una C en la pila
Llegada de un uno des apilar una C de la pila
El estado inicial de la pila es Z

1. Alfabeto de entrada = {0,1}


2. Alfabeto de la pila . Se necesita registrar:
Llegada de un cero Apilar una C en la pila
Llegada de un uno des apilar una C de la pila
El estado inicial de la pila es Z
Por tanto los smbolos que aparecern en la pila formarn el alfabeto
3. Conjunto de estados

El estado cambia cuando llegamos a la mitad de la palabra, es decir,


cuando llega el primer uno
Se necesitan dos estados, uno para informar de que estamos en la
primera mitad y otro para informar de que estamos en la segunda
Por tanto
4. Se empieza a funcionar en el estado
5. Si el AP funciona por vaciado de pila no es necesario definir
6. Tomamos
7. Por ltimo, la funcin de transicin se definir:

9. Justifique los lenguajes que son aceptados por un Autmata a Pila. Cite un
ejemplo.
Explquelo.

Un Autmata a Pila define los Lenguajes Independientes del Contexto y es


una extensin de los Autmatas Finitos Deterministas con transiciones .
Sustente suficientemente porqu se afirma lo anterior.

Los Lenguajes de Contexto

forman una clase de lenguajes ms amplia que

los Lenguajes Regulares, de acuerdo con la Jerarqua de Chomsky Estos


lenguajes son importantes tanto desde el punto de vista terico, por relacionar
las llamadas Gramticas Libres de Contexto con los Autmatas de Pila, como
desde el punto de vista prctico, ya que casi todos los lenguajes de
programacin estn basados en los En efecto, a partir de los aos 70s, con
lenguajes como Pascal, se hizo comn la prctica de formalizar la sintaxis de
los lenguajes de programacin usando herramientas basadas en las Gramticas
Libres de Contexto,

Lenguaje aceptado por un autmata a pila


Se describe el proceso de aceptacin o rechazo de una palabra
de * mediante una sucesin de movimientos.
Un AP= (, , Q, A0, q0, f, F) puede reconocer palabras
del
alfabeto de entrada de dos formas distintas:

- por estado final:


LF(AP) = {x | (q0, x, A0) * (p, , X), con pF, X*}
- por vaciado de pila :
LV(AP) = { x | (q0, x, A0) * (p, , ) con pQ}
LF(AP) y LV(AP) representan a los lenguajes reconocidos por el
autmata AP por estado final y por vaciado de pila
respectivamente.

Teorema:
Cuando la aceptacin se realiza por vaciado de pila, el
conjunto de estados finales F es irrelevante
El conjunto de lenguajes aceptados por estado final por los
autmatas a pila LAPF es igual que el conjunto de lenguajes
aceptados por vaciado por pila de los autmatas a pila LAPV.
Mtodo de demostracin:
1. LAPF LAPV
Sea AP= (, , Q, A0, q0, f, F) un autmata a pila y LF(AP) el
lenguaje aceptado (por estado final) de este autmata.
Construimos AP= (, {B}, Q{s,r}, B, s, f, ), con B
y s,rQ, donde f esta definido por:
f(s,,B)={(q0,A0B)}
f(q,a,A)=f(q,a,A)
para todo
qQ,
qF,
a{}
A
f(q,a,A)=f(q,a,A)
todo
qF,
a
A y
f(q,,A)=f(q,,A)
)} para
qF
y yA
f(q,,B)=
{(r, )}{(r,
para para
todo
qFtodo

f(r,,A)= {(r, )} para todo A{B}


Se puede mostrar que LF(AP)=LV(AP). Por tanto se verifica que
LAPF LAPV.12
2. LAPV LAPF
Sea AP= (, , Q, A0, q0, f, F) un autmata a pila y LV(AP) el
lenguaje aceptado (por vaciado de pila) de este autmata.
Construimos AP= (, {B}, Q{s,r}, B, s, f, {r}), con B
y s,rQ, donde f esta definido por:
f(s,,B)={(q0,A0B)}
f(q,a,A)=f(q,a,A) para todo qQ, a{} y A
f(q,,B)= {(r, )} para todo qQ
Se puede mostrar que LV(AP)=LF(AP). Por tanto se verifica que
LAPV LAPF.
De LAPF LAPV y LAPV LAPF se sigue que LAPV = LAPF, lo que
demuestra el teorema.

10. Identifique los dos tipos Operacionales de un Autmata de Pila. Para cada tipo
de operacin, formule un Ejemplo y comprelo.

Un AP puede realizar dos tipos de operaciones elementales:


1.Dependientes de la entrada.
Se lee la cinta y se avanza la cabeza lectora,
En funcin:
del estado actual (qi)

del smbolo ledo en la cinta (a)


del smbolo en la cima de la pila (Z)
Se pasa a un nuevo estado, se elimina el elemento Z de
la cima de la pila y se introduce en su lugar una cadena
de smbolos.
2.Independientes de la entrada.
Las mismas operaciones que en el caso anterior, slo
que no se lee la cinta, ni se avanza la cabeza lectora. Se
maneja la pila sin la informacin de entrada.4
Definicin formal de un A

CONCLUSIONES

Con la solucin de los ejercicios propuestos del taller se logro identificar


los lenguajes independientes de contexto en los autmatas.
De igual manera se obtuvo un alcance con los autmatas de pila.
Los simuladores de autmatas, en este caso el JFLAP permiti familiarizarnos
con su aplicabilidad.

BIBLIOGRAFIA

J. E. Hopcroft, R. Motwani and J. D. Ullman, Introduction to Automata theory,


Language, and Computation, Second Edition, Addison-Wesley, New York, 2001.

http://fcbi.unillanos.edu.co/proyectos/Facultad/php/tutoriales/upload_tutos/Automa
t as%20Y%20Lenguajes.pdf

http://es.wikipedia.org/wiki/Automata_de_pila