• No se han encontrado resultados

Lema de Bombeo Para Lenguajes Libres de Contexto

N/A
N/A
Protected

Academic year: 2021

Share "Lema de Bombeo Para Lenguajes Libres de Contexto"

Copied!
7
0
0

Texto completo

(1)

Universidad Nacional

De Trujillo

Facultad de Ciencias Físicas y Matemáticas

Escuela Profesional de Informática

CURSO:

TEORÍA DE LA COMPUTACIÓN

- Lema de bombeo para lenguajes

libres de contexto

- Casamiento de sub-árbol por un

autómata de pila determinista

Alumnos:

- Poémape Vargas Oscar Roberto

- Silva Coronado Oskar Hernando

- Vásquez Alvarado Mario Fernando

Ciclo:

III

Profesor: Rodríguez Melquiades José

(2)

Lema de bombeo para

Lenguajes libres de contexto

I. 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. II. Introducción

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.

(3)

III. Contenido:

Sea

L

un lenguaje libre de contexto (infinito). Entonces existe

n N

ϵ

un de tal manera que cada palabra

z L

ϵ

con

|z| ≥ n

se puede dividir en cinco partes,

z = uvwx

cumpliéndose las tres propiedades:

1.|vx| ≥1

2.|vwx|≤n

3.

Para todos los

k ≥ 0 : u w

, y L

ϵ

e k≥0

Figura 1

El contra-recíproco de este teorema se puede aplicar para demostrar que un lenguaje no es libre de contexto:

I. Suponemos

n

la constante de bombeo.

II. Escogemos cuidadosamente una determinada palabra del lenguaje tal que

|z| ≥ n

III. Si encontramos una descomposición

|vwx|≤n ,|vx| ≥1

tal que alguna de las palabras

u w

, k≥0

no pertenece al lenguaje, entonces dicho lenguaje no es libre de contexto.

Ejemplos

El lema de bombeo resulta de utilidad para demostrar que un lenguaje no es de contexto libre si no lo cumple.

(4)
(5)
(6)
(7)

IV. Interpretación personal

En la teoría de lenguajes formales, el lema del bombeo para lenguajes libres de contexto describe una propiedad esencial de todo lenguaje perteneciente a este tipo. Informalmente, dice que cualquier palabra suficientemente larga en un L.L.C. (Lenguaje Libre de Contexto) puede ser bombeada, es decir, repetir en una sección de la palabra un número arbitrario de veces y volver a hacerlo el mismo número de veces en otra sección de este para producir una nueva palabra que también pertenece al mismo lenguaje. Esto se debe a que si bien una sección va a empilar (push) dentro de nuestra pila, la otra se encargará de desapilar (pop) nuestra pila, hasta dejarla vacía o con el símbolo inicial de pila, según se defina nuestro AP.

Comparando este lema con el que se usa para lenguajes regulares en AF (Autómatas Finitos), encontramos que en los AF solo hay una sección que la que se generará la repetición, esto se debe a que en este tipo de autómatas, se genera una sola repetición como mínimo, mientras que en los AP, tienen que ser dos secciones pues mientras en una de ellas se apilará una letra del alfabeto de pila, en la otra se desapilará dicha letra dejando a la pila con su símbolo inicial (como mínimo).

Referencias

Documento similar