
En la teoría de lenguajes formales , el lema de bombeo para lenguajes regulares describe una propiedad esencial de todos ellos . En términos informales, afirma que cualquier cadena suficientemente larga en un lenguaje regular puede ser bombeada —es decir, se puede repetir una sección central un número arbitrario de veces— para generar una nueva cadena que también pertenece al lenguaje. El lema de bombeo resulta útil para demostrar que un lenguaje específico no es regular, al mostrar que carece de dicha propiedad.
Específicamente, el lema de bombeo dice que para cualquier lenguaje regular, existe una constantede tal manera que cualquier cadenaencon una longitud al menosse puede dividir en tres subcadenas,y(, consiendo no vacías), de tal manera que las cadenastambién están en. El proceso de repeticióncero o más veces se conoce como "bombeo". Además, el lema de bombeo garantiza que la longitud deserá como máximo, dando así una subcadena "pequeña"que tenga la propiedad deseada.
Los lenguajes con un número finito de cadenas satisfacen trivialmente el lema de bombeo al tenerigual a la longitud máxima de la cadena enmás uno. Al hacerlo, no hay ninguna cuerda en absoluto entener longitud al menos.
El lema de bombeo fue demostrado por primera vez por Michael Rabin y Dana Scott en 1959, [ 1 ] y redescubierto poco después por Yehoshua Bar-Hillel , Micha A. Perles y Eli Shamir en 1961, como una simplificación de su lema de bombeo para lenguajes libres de contexto . [ 2 ] [ 3 ]
Declaración formal
Dejarsea un lenguaje regular. Entonces existe un número enterodependiendo únicamente dede tal manera que cada cuerdaende longitud al menos(se denomina "longitud de bombeo" [ 4 ] y se puede escribir como(es decir,puede dividirse en tres subcadenas), que satisfacen las siguientes condiciones:
es la subcadena que se puede bombear (eliminar o repetir cualquier número de veces, y la cadena resultante siempre está en). (1) significa el buclepara ser bombeado debe tener una longitud de al menos uno, es decir, no una cadena vacía; (2) significa que el bucle debe ocurrir dentro del primeropersonajes.debe ser más pequeño que(conclusión de (1) y (2)), pero aparte de eso, no hay ninguna restricción eny.
En pocas palabras, para cualquier lenguaje regularcualquier cadena suficientemente larga(en) se puede dividir en 3 partes, es decir, de tal manera que todas las cadenasparatambién están en.
A continuación se presenta una expresión formal del lema de bombeo.
Uso del lema para demostrar la no regularidad.
El lema de bombeo se usa a menudo para demostrar que un lenguaje en particular no es regular: una prueba por contradicción puede consistir en mostrar una cadena (de la longitud requerida) en el lenguaje que carece de la propiedad descrita en el lema de bombeo.
Ejemplo: El idiomasobre el alfabetoSe puede demostrar que no es regular de la siguiente manera:
- Supongamos que alguna constanteexiste según lo exige el lema.
- Dejarenser dado por, que es una cadena más larga que.
- Según el lema de bombeo, debe existir una descomposición.conyde tal manera queenpor cada.
- Desde, la cadenasolo consta de instancias de.
- Porque, contiene al menos una instancia de la letra.
- Bombeodarda una palabra con más instancias de la letraque la carta, ya que algunos casos depero ninguno dese añadieron.
- Por lo tanto,no está enlo cual contradice el lema de bombeo.
- Por lo tanto,no puede ser regular.
La prueba de que el lenguaje de paréntesis balanceados (es decir, anidados correctamente) no es regular sigue la misma idea. Dado, hay una serie de paréntesis equilibrados que comienza con más deparéntesis izquierdos, de modo queconsistirá enteramente en paréntesis izquierdos. Al repetirSe puede producir una cadena que no contenga el mismo número de paréntesis izquierdos y derechos, por lo que no se pueden equilibrar.
Demostración del lema de bombeo

Para cada lenguaje regular existe un autómata de estados finitos (AEF) que acepta dicho lenguaje. Se cuenta el número de estados en dicho AEF y ese conteo se utiliza como la longitud de bombeo.. Para una cadena de longitud al menos, dejarsea el estado inicial y deje queser la secuencia del siguienteestados visitados a medida que se emite la cadena. Porque el FSA solo tieneestados, dentro de esta secuencia deDe los estados visitados, debe haber al menos un estado que se repita. Escribepara tal estado. Las transiciones que llevan a la máquina desde el primer encuentro del estadoal segundo encuentro de estadocoincide con alguna cadena. Esta cadena se llamaen el lema, y dado que la máquina coincidirá con una cadena sin laporción, o con la cuerdaSi se repite cualquier número de veces, se cumplen las condiciones del lema.
Por ejemplo, la siguiente imagen muestra un FSA.
![]()
El FSA acepta la cadena: abcd . Dado que esta cadena tiene una longitud al menos igual al número de estados, que es cuatro (por lo que el número total de estados por los que pasa la máquina para escanear abcd sería 5), el principio del palomar indica que debe haber al menos un estado repetido entre el estado inicial y los siguientes cuatro estados visitados. En este ejemplo, soloes un estado repetido. Dado que la subcadena bc lleva a la máquina a través de transiciones que comienzan en el estadoy terminar en el estado, esa porción podría repetirse y el FSA aún aceptaría, dando la cadena abcbcd . Alternativamente, la porción bc podría eliminarse y el FSA aún aceptaría, dando la cadena ad . En términos del lema de bombeo, la cadena abcd se divide en unaporción a , unaporción bc y aporción d .
Como comentario adicional, el problema de comprobar si una cadena dada puede ser aceptada por un autómata finito no determinista dado sin visitar ningún estado repetidamente, es NP-difícil .
Versión general del lema de bombeo para lenguajes regulares
Si un idiomaes regular, entonces existe un número(la longitud de bombeo) de tal manera que cada cuerdaenconpuede escribirse en la forma
con cuerdas,yde tal manera que,y
- está enpara cada entero. [ 5 ]
A partir de esto, la versión estándar anterior sigue un caso especial, con ambosysiendo la cadena vacía.
Dado que la versión general impone requisitos más estrictos al lenguaje, puede utilizarse para demostrar la no regularidad de muchos más lenguajes.
Invalidez del lema recíproco
Si bien el lema del bombeo afirma que todos los lenguajes regulares satisfacen las condiciones descritas anteriormente, lo contrario no es cierto: un lenguaje que satisface estas condiciones aún puede ser no regular. En otras palabras, tanto la versión original como la general del lema del bombeo proporcionan una condición necesaria , pero no suficiente, para que un lenguaje sea regular.
Por ejemplo, considere el siguiente lenguaje:
- .
En otras palabras,contiene todas las cadenas sobre el alfabetocon una subcadena de longitud 3 que incluye un carácter duplicado, así como todas las cadenas sobre este alfabeto donde precisamente 1/7 de los caracteres de la cadena son 3. Este lenguaje no es regular pero aún puede ser "bombeado" conSupongamos que una cadena s tiene una longitud de al menos 5. Entonces, dado que el alfabeto solo tiene cuatro caracteres, al menos dos de los primeros cinco caracteres de la cadena deben ser duplicados. Están separados por como máximo tres caracteres.
- Si los caracteres duplicados están separados por 0 o 1 caracteres, inserte uno de los otros dos caracteres de la cadena, lo que no afectará a la subcadena que contiene los duplicados.
- Si los caracteres duplicados están separados por 2 o 3 caracteres, se eliminan 2 de los caracteres que los separan. Al eliminar o aumentar los caracteres, se crea una subcadena de tamaño 3 que contiene 2 caracteres duplicados.
- La segunda condición degarantiza queno es regular: Considere la cadenaEsta cadena está enexactamente cuandoy por lo tantono es regular según el teorema de Myhill-Nerode .
El teorema de Myhill-Nerode proporciona una prueba que caracteriza con precisión los lenguajes regulares. El método típico para demostrar que un lenguaje es regular consiste en construir una máquina de estados finitos o una expresión regular para dicho lenguaje.
Véase también
Notas
- ↑ Rabin, Michael ; Scott, Dana (abril de 1959). «Autómatas finitos y sus problemas de decisión» (PDF) . IBM Journal of Research and Development . 3 (2): 114–125 . doi : 10.1147/rd.32.0114 . Archivado del original el 14 de diciembre de 2010.Aquí: Lema 8, pág. 119
- ^ Bar-Hillel, Y .; Perles, M.; Shamir, E. (1961), "Sobre las propiedades formales de las gramáticas de estructura de frases simples", Zeitschrift für Phonetik, Sprachwissenschaft und Kommunikationsforschung , 14 (2): 143– 172
- ↑ John E. Hopcroft; Rajeev Motwani; Jeffrey D. Ullman (2003). Introducción a la teoría de autómatas, lenguajes y computación . Addison Wesley.Aquí: Sección 4.6, pág. 166
- ↑ Berstel, Jean; Lauve, Aaron; Reutenauer, Christophe; Saliola, Franco V. (2009). Combinatoria de palabras. Palabras de Christoffel y repeticiones en palabras . Serie de monografías CRM. Vol. 27. Providence, RI: American Mathematical Society . pág. 86. ISBN 978-0-8218-4480-9. Zbl 1161.68043 .
- ↑ Savitch, Walter (1982). Máquinas abstractas y gramáticas . Little, Brown. pág . 49. ISBN 978-0-316-77161-0.
Referencias
- Lawson, Mark V. (2004). Autómatas finitos . Chapman and Hall/CRC. ISBN 978-1-58488-255-8. Zbl 1086.68074 .
- Sipser, Michael (1997). «1.4: Lenguajes no regulares». Introducción a la teoría de la computación . PWS Publishing. págs. 77–83 . ISBN 978-0-534-94728-6. Zbl 1169.68300 .
- Hopcroft, John E.; Ullman , Jeffrey D. (1979). Introducción a la teoría de autómatas, lenguajes y computación . Reading, Massachusetts: Addison-Wesley Publishing. ISBN 978-0-201-02988-8. Zbl 0426.68001 . (Véase el capítulo 3.)
- Bakhadyr Khoussainov; Anil Nerode (6 de diciembre de 2012). Teoría de autómatas y sus aplicaciones . Springer Science & Business Media. ISBN 978-1-4612-0171-7.
- Lenguajes formales
- Lemas
- Máquinas de estados finitos