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

Universidad Nacional

De Trujillo

Facultad de Ciencias Físicas y Matemáticas

CURSO: Teoría de la computación

TEMAS: Lema de bombeo para lenguajes libres de


contexto

ALUMNOS:
 Chavez Guevara Jhon Ronaldo
 Tello Cueva José Manuel

CICLO: III

PROFESOR:

Trujillo 2018
Autómata de pila

Resumen:
Dentro de la Teoría de Autómatas, el lema de bombeo es útil para demostrar que un
lenguaje específico no es regular. Así también define propiedades para un lenguaje libre
de contexto (LLC), de tal manera, que, si demostramos que alguna de ellas no se
cumple, podemos determinar si un lenguaje no es LLC. Por consiguiente, se puede
afirmar, que, si un lenguaje no es LLC, entonces no hay autómata con pila (AP) que lo
reconozca.

En el presente trabajo, se estudia el lema de bombeo para lenguajes libres de contexto,


concentrándose fundamentalmente en los mecanismos de aceptación; enunciando
primero el lema, aplicándolo luego a ejemplos concretos. Y para concluir se presenta
una interpretación personal acerca de lo entendido de la investigación que ayudará al
mejor manejo del tema.

Un autómata con pila, autómata a pila o autómata de pila es un modelo matemático de


un sistema que recibe una cadena constituida por símbolos de un alfabeto y determina
si esa cadena pertenece al lenguaje que el autómata reconoce. El lenguaje que
reconoce un autómata con pila pertenece al grupo de los lenguajes libres de contexto
en la clasificación de la Jerarquía de Chomsky.

Funcionamiento

Los autómatas de pila, en forma similar a como se usan los autómatas finitos, también
se pueden utilizar para aceptar cadenas de un lenguaje definido sobre un alfabeto A.
Los autómatas de pila pueden aceptar lenguajes que no pueden aceptar los autómatas
finitos. Un autómata de pila cuenta con una cinta de entrada y un mecanismo de
control que puede encontrarse en uno de entre un número finito de estados. Uno de
estos estados se designa como estado inicial, y además algunos estados se llaman de
aceptación o finales. A diferencia de los autómatas finitos, los autómatas de pila
cuentan con una memoria auxiliar llamada pila. Los símbolos (llamados símbolos de
pila) pueden ser insertados o extraídos de la pila, de acuerdo con el manejo last-in-
first-out (LIFO). Las transiciones entre los estados que ejecutan los autómatas de pila
dependen de los símbolos de entrada y de los símbolos de la pila. El autómata acepta
una cadena x si la secuencia de transiciones, comenzando en estado inicial y con pila
vacía, conduce a un estado final, después de leer toda la cadena x.
Representación
Una máquina de este tipo se representa de la siguiente forma

Al igual que un autómata finito un autómata de pila cuenta con un flujo de entrada y un
flujo de control que puede encontrarse en uno de entre un número finito de estados. Uno
de estos estados se designa como el inicial y por lo menos un estado es de aceptación.
La principal diferencia es que los autómatas de pila cuentan con una pila en donde pueden
almacenar información para recuperarla más tarde.
Los símbolos que pueden almacenarse en esta pila se conocen como símbolos de pila de
la máquina, constituyen un conjunto finito que puede incluir algunos símbolos definiendo el
alfabeto de la máquina y quizá algunos símbolos adicionales que se utilizan como marcas
internas. Si una máquina inserta un símbolo especial en la pila antes de efectuar algún otro
cálculo, entonces ese símbolo en la cima de la pila puede usarse como indicador de pila
vacía para cálculos posteriores, dicho símbolo es #.

Aplicaciones

 Se pueden utilizar para analizar cadenas


 Se puede construir analizadores LR para reconocer prácticamente todos los
lenguajes de programación para los que se pueden construir GIC.
 Es el método de análisis por desplazamiento y reducción sin retroceso más
general.
 Las clases de gramáticas que pueden analizarse es un supraconjunto de la
clase de gramáticas que se pueden analizar con analizadores sintácticos
predictivos.
 Puede detectar un error sintáctico tan pronto como sea posible hacerlo en un
examen de izquierda a derecha de la entrada.

Lema del bombeo para lenguajes libres del


contexto
Los lenguajes libres de contexto, como los conjuntos regulares, tienen gran
importancia práctica, especialmente para definir lenguajes de programación. Tal como
las expresiones regulares tienen un autómata equivalente, el autómata finito, las
gramáticas libres de contexto, también tienen una máquina como contraparte: el
autómata apilador o autómata con pila (pushdown). La equivalencia es, en este caso,
un poco menos satisfactoria, ya que el autómata con pila es un dispositivo no
determinístico en que la versión determinística solo acepta un subconjunto de los
lenguajes libres de contexto. Por fortuna, este subconjunto incluye la sintaxis de la
mayoría de los lenguajes de programación.

En lingüística e informática, una gramática libre de contexto (o de contexto libre) es


una gramática formal en la que cada regla de producción es de la forma:

V→w

Donde V es un símbolo no terminal y w es una cadena de terminales y/o no


terminales. El término libre de contexto se refiere al hecho de que el no terminal V
puede siempre ser sustituido por w sin tener en cuenta el contexto en el que ocurra.
Un lenguaje formal es libre de contexto si hay una gramática libre de contexto que lo
genera.

Las gramáticas libres de contexto permiten describir la mayoría de los lenguajes de


programación, de hecho, la sintaxis de la mayoría de lenguajes de programación está
definida mediante gramáticas libres de contexto. Por otro lado, estas gramáticas son
suficientemente simples como para permitir el diseño de eficientes algoritmos de
análisis sintáctico que, para una cadena de caracteres dada determinen cómo puede
ser generada desde la gramática.

En ciencia de la computación, en particular en la teoría de lenguajes formales, el lema


del bombeo para lenguajes libres del contexto, también conocido como lema de Bar-
Hille, es un lema que brinda una propiedad compartida por todos los lenguajes libres
del contexto y generaliza el lema del bombeo para lenguajes regulares. Como el lema
del bombeo no garantiza que el lenguaje sea libre del contexto, existen condiciones
necesarias más fuertes, como el lema de Ogden.
Explicación y declaración informal

El lema del bombeo para lenguajes libres del contexto (llamado solo “el lema del
bombeo” en el resto de este informe) describe una propiedad que todos los lenguajes
libres del contexto garantizan cumplir.

La propiedad es una propiedad de todas las cadenas en el lenguaje que son de


longitud al menos p, donde p es una constante-llamada longitud del bombeo- que varía
entre lenguajes libres del contexto.

Digamos que s es una cadena de longitud al menos p que está en el lenguaje.

El lema del bombeo establece que s puede ser dividida en 5 subcadenas, s=uvwxy,
donde vx es no vacío y la longitud de vwx es como máximo p, tal que repitiendo v y x
cualquier (y el mismo) número de veces en s produce una cadena que está todavía en
el lenguaje (esto es posible y a menudo útil repetir cero veces, lo cual elimina v y x de
la cadena). Este proceso de “bombear” copias adicionales de v y x es lo que le da al
lema del bombeo su nombre.

Los lenguajes finitos (los cuales son regulares y por lo tanto libres del contexto)
cumplen el lema del bombeo trivialmente haciendo p igual a la longitud de la cadena
de mayor longitud en L más uno. Como no hay cadenas de esta longitud el lema del
bombeo no es violad
Uso del lema

El lema del bombeo es frecuentemente usado para probar que un lenguaje dado L no
es libre del contexto, mostrando que arbitrariamente largas cadenas s están en L que
no pueden ser “bombeadas” sin producir cadenas fuera de L.

Por ejemplo, el lenguaje L = { anbncn | n > 0 } se puede mostrar que no es libre del
contexto usando el lema del bombeo en una reducción al absurdo. Primero, se asume
que L es libre del contexto. Por el lema del bombeo, existe un entero p que es la
longitud de bombeo del lenguaje L. Sea la cadena s = apbpcp in L. El lema del
bombeo plantea que s puede ser escrito en la forma s=uvwxy, donde u,v,w,x,y son
subcadenas, tal que |vwx| ≤ p, |vx| ≥ 1, uviwxiy ∈ L para todo entero i ≥ 0. Mediante la
selección de s y el hecho de que |vwx| ≤ p, es fácil ver que la subcadena vwx no puede
contener más de 2 simbolos distintos. Luego, tenemos una de 5 posibilidades para
vwx:

vwx = aj Para algún j ≤ p.


vwx = ajbk Para algún j y k con j+k ≤ p.
vwx = bj Para algún j ≤ p.
vwx = bjck Para algún j y k con j+k ≤ p.
vwx = cj Para algún j ≤ p.

Para cada caso, es fácilmente verificable que uviwxiy no contiene iguales numeros de
cada letra para cualquier i ≠ 1. Por lo tanto, uv2wx2y no tiene la forma aibici. Esto
contradice la definición de L. Luego, la asunción inicial de que L es libre del contexto
es falsa.

Mientras que el lema del bombeo es a menudo una útil herramienta para probar que
un lenguaje dado no es libre del contexto, este no ofrece una caracterización completa
de los lenguajes libres del contexto. Si un lenguaje no satisface la condición dada por
dicho lema, se establece que no es libre del contexto.

Por otra parte, existen lenguajes que no son libres del contexto, y, sin embargo,
satisfacen la condición dada por el lema del bombeo, por ejemplo L = { bjckdl | j, k, l ∈
ℕ } ∪ { aibjcjdj | i, j ∈ ℕ, i≥1 }: para s=bjckdl con por ejemplo j≥1 se selecciona vwx que
consiste solo de b’s, for s=aibjcjdj se selecciona vwx que consiste solo de a’s; en
ambos casos todas las cadenas bombeadas están todavía en L.

Ejemplo:
Ejemplo 2:
Bibliografía

https://es.slideshare.net/p98030/gonzalez-guerra-automataspila

https://prezi.com/a61b1ls25bzd/automata-pila/

https://es.wikipedia.org/wiki/Lema_del_bombeo_para_lenguaje
s_libres_del_contexto

Вам также может понравиться