Lema del bombeo para lenguajes regulares

De testwiki
Revisión del 22:24 24 abr 2023 de imported>Farisori (Enunciado formal)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Ir a la navegación Ir a la búsqueda

En la teoría de lenguajes formales, el lema del bombeo para lenguajes regulares describe una propiedad esencial de todo lenguaje regular. Informalmente, dice que cualquier palabra suficientemente larga en un lenguaje regular puede ser bombeada - eso es, repetir una sección en la mitad de la palabra un número arbitrario de veces - para producir una nueva palabra que también pertenece al mismo lenguaje.

El lema de bombeo fue enunciado por primera vez por Y. Bar-Hillel, M. Perles, E. Shamir en 1961.[1] Es útil para demostrar que un lenguaje específico no es regular.

Enunciado formal

Sea L un lenguaje regular. Entonces existe un entero p1 (al que llamaremos "longitud de bombeo" y que dependerá exclusivamente de L) tal que cualquier cadena w perteneciente a L, de longitud mayor o igual que p, puede ser escrita como w=xyz (p. ej. dividiendo w en tres subcadenas), de forma que se satisfacen las siguientes condiciones:

  1. |y|1
  2. |xy|p
  3. (n0)(xynzL)

y es la subcadena que puede ser bombeada (borrada o repetida un número n de veces como se indica en (3), y la cadena resultante seguirá perteneciendo a L). (1) significa que la cadena y que se bombea debe tener como mínimo longitud uno. (2) significa que y debe estar dentro de los p primeros caracteres y que x tiene una longitud finita. No hay restricciones acerca de z.

Uso del lema

El lema del bombeo se usa a menudo para probar que un lenguaje particular no es regular: una demostración por reducción al absurdo (de que un lenguaje no es regular) puede consistir en encontrar una palabra (de una longitud requerida) en el lenguaje, que carece de la propiedad descrita en el lema del bombeo.

Por ejemplo, del lenguaje L={anbn :n0} sobre el alfabeto Σ={a,b} puede demostrarse que no es regular como sigue:

Supongamos que L es regular. La palabra

w=apbp

donde p es la constante del lema de bombeo, es una palabra de L.

Sea

w=xyz

una descomposición que cumple las condiciones del lema. Aplicando el lema, sabemos que

xyizL

Sin embargo, como

|xy|p, |y|>0

necesariamente

xy=ak

siendo kp. Entonces,

x=ak1, y=ak2

siendo k1+k2=k y z=apkbp.

El número de a en la palabra xy2zL, que por el lema pertenece al lenguaje L, es

k1+2k2+pk=k+k2+pk=k2+p>p

Por tanto, la palabra tiene más a que b, por lo que no puede ser una palabra de L.

La suposición de que L es regular es incorrecta. Por tanto, L no es regular.


Referencias

Plantilla:Listaref

Enlaces externos

Plantilla:Control de autoridades

bs:Svojstvo napuhavanja de:Pumping-Lemma#Reguläre Sprachen ko:펌핑 렘마 nl:Pumping lemma#Pumping lemma voor contextvrije talen pl:Lemat o pompowaniu dla języków bezkontekstowych

  1. Y. Bar-Hillel, M. Perles, E. Shamir, "On formal properties of simple phrase structure grammars", Zeitschrift für Phonetik, Sprachweissenshaft und Kommunikationsforschung 14 (1961) pp. 143-172.