La PizarraMatemática.

Grado en Matemáticas

Lenguajes regulares y lema de bombeo

Un autómata tiene pocos estados y puede recibir palabras muy largas. Tarde o temprano repite un estado, y ese recorrido cerrado permite repetir un bloque sin cambiar la respuesta. El lema de bombeo convierte esa observación en una herramienta para demostrar límites de la memoria finita.

1. Repetir bloques no impone que dos cantidades sean iguales

Un lenguaje regular se reconoce con un autómata finito. Las expresiones regulares matemáticas se construyen a partir de símbolos, ∅ y ε mediante unión, concatenación y estrella de Kleene.

La estrella repite cero o más veces. En 0*1*, las cantidades de ceros y unos son independientes; en {0ⁿ1ⁿ:n≥0} se exige que sean iguales. Esa relación adicional cambia el problema.

Leer una estrella y una concatenación

La expresión (01)*.

  1. Cero repeticiones

    Produce ε.

  2. Una y dos

    Produce 01 y 0101.

  3. Bloque entero

    No produce 0011: se repite la pareja 01, no cada símbolo por separado.

Resultado

Una expresión precisa determina qué se repite.

Lo comprobamos

La estrella también admite la palabra vacía.

Una condición adicional que no aparece en la expresión

Comparar 0*1* con cantidades iguales.

  1. En la expresión

    00111 está permitida: dos ceros y tres unos.

  2. En el segundo lenguaje

    No está, porque dos no es tres.

  3. Caso común

    0011 pertenece a ambos.

Resultado

Una coincidencia de ejemplos no vuelve iguales los lenguajes.

Lo comprobamos

Hay que probar exactamente la propiedad pedida.

2. El lema tiene un orden de elecciones

Si L es regular, existe p≥1 tal que para toda palabra w∈L con |w|≥p existe un corte w=xyz con |xy|≤p, |y|>0 y xyⁱz∈L para todo entero i≥0.

p sirve para todas las palabras largas, pero el corte puede depender de w. El bloque y es no vacío y queda completo entre los primeros p símbolos. x y z sí pueden ser vacíos.

Qué controla cada condición

p=4, palabra aceptada 0101 y corte x=0,y=10,z=1.

  1. Reconstruir

    0·10·1=0101.
  2. Longitudes

    |xy|=3≤4 y |y|=2>0.
  3. Bombeo

    i=0 da 01 y i=2 da 010101: para el autómata del dibujo las dos aceptan.

Resultado

El corte puede bombear un bloque de más de un símbolo.

Lo comprobamos

Mostrar un corte en un ejemplo ilustra el lema; no prueba que un lenguaje arbitrario sea regular.

Un corte que ni siquiera es válido

p=3, w=000111 y elegir y=ε.

  1. Longitud

    |y|=0 incumple la condición estricta.
  2. Otro corte inválido

    x=000, y=1 tendría |xy|=4>3.
  3. Restricción real

    En esta palabra, todo y válido está hecho solo de ceros.

Resultado

Las condiciones limitan qué cortes hay que considerar.

Lo comprobamos

No se refuta el lema con un corte que él no permite.

3. Un estado repetido crea el bloque bombeable

Un DFA con p estados que lee al menos p símbolos hace p+1 visitas contando la inicial. Por el principio del palomar, dos visitas de esos primeros pasos coinciden.

El bloque diez lleva de B de vuelta a B y deja listo el mismo sufijo
Un ciclo conserva el estado de salidaPalabra: 0101A0B1C0B1CB se repite tras 1 y 3 símbolos.x=0; y=10; z=1i=0: 01i=1: 0101i=2: 010101Se puede omitir o repetir y.
Un DFA con estados de recorrido A, B y C más un sumidero reconoce las palabras cero, seguidas de cero o más repeticiones del bloque diez y un uno final. Para la palabra cero uno cero uno la traza mostrada es A, B, C, B, C, con C aceptante. La repetición de B aparece tras uno y tres símbolos: x es cero, y es diez y z es uno. Saltar y da cero uno y repetirlo dos veces da cero uno cero uno cero uno; las dos palabras también aceptan. El diagrama muestra visitas sucesivas, por eso B aparece dos veces como posición de la traza, aunque sea el mismo estado del autómata. Con cuatro estados totales p cuatro es una longitud de bombeo suficiente.

Llamamos x al prefijo anterior a la primera visita, y al bloque entre ambas y z al resto. Como las posiciones son distintas, y no es vacío; como la segunda visita ocurre antes o al consumir el símbolo p, |xy|≤p.

Contar visitas, no transiciones

Un autómata de tres estados consume tres símbolos.

  1. Visita inicial

    Una antes de leer.

  2. Tres pasos

    Se añaden tres visitas: cuatro en total.

  3. Palomar

    Cuatro visitas en tres estados obligan a repetir alguno.

Resultado

El ciclo aparece porque hay más visitas que estados.

Lo comprobamos

No hace falta visitar todos los estados para que se repita uno.

Localizar el corte en una traza

A→B→C→B→C para 0101.

  1. Repetición

    B aparece tras el primer y tercer símbolos.

  2. Bloque entre visitas

    Los símbolos segundo y tercero son 10: ese es y.

  3. Resto

    x=0 antes del ciclo y z=1 después.
Resultado

Leer y devuelve exactamente al mismo estado B.

Lo comprobamos

La segunda B es otra visita, no un estado nuevo.

4. Repetir el ciclo deja intacto el arranque del sufijo

Si leer y desde un estado devuelve al mismo estado, repetirlo i veces también. Para i=0 se omite y; para i=1 queda la palabra original.

Después se procesa el mismo sufijo z desde el mismo estado, de modo que se llega al mismo aceptante. No se exige que y sea una sola letra ni que sus letras sean iguales.

Saltar o duplicar un bloque de dos símbolos

x=0, y=10, z=1 del recorrido anterior.

  1. i=0

    xz=01.
  2. i=2

    xy²z=010101.
  3. Estado del sufijo

    En ambos casos el último uno se lee desde B y lleva a C aceptante.

Resultado

Se conserva la aceptación de todas las repeticiones.

Lo comprobamos

No se insertó y en una posición cualquiera de la palabra.

Cuánto cambia la longitud

Si |x|=2, |y|=3, |z|=4.

  1. Original

    Longitud 2+3+4=9.
  2. Dos copias

    Longitud 2+6+4=12.
  3. Regla

    Con i copias la longitud es |x|+i|y|+|z|.

Resultado

Cada copia adicional añade exactamente tres símbolos.

Lo comprobamos

i=0 elimina una copia, no elimina toda la palabra.

5. Al refutar no escogemos nosotros un corte cómodo

Suponemos regularidad y recibimos un p desconocido. Elegimos w en función de p. El lema podría ofrecer cualquier corte válido; hay que demostrar que todos fracasan para alguna repetición.

La negación sigue este orden: para todo p, existe w suficientemente larga tal que para todo corte válido existe i≥0 con xyⁱz fuera del lenguaje. i puede depender del corte. Una división mala por sí sola no contradice que exista otra buena.

Un mal corte dentro de un lenguaje regular

En L=(01)*, elegir un y que rompa las parejas.

  1. Una posibilidad mala

    Para 0101, x=ε,y=0,z=101: quitar y produce 101, fuera de L.
  2. La posibilidad buena

    x=ε,y=01,z=01 sí bombea cualquier cantidad de parejas.
  3. Lógica

    El mal corte no impide que exista uno bueno, que es lo prometido.

Resultado

No hemos demostrado no regularidad.

Lo comprobamos

Para una refutación habría que descartar todos los cortes permitidos para la longitud p correspondiente.

Por qué p=5 no prueba todos los casos

Se comprueba un fallo en una palabra concreta de diez símbolos.

  1. Dato limitado

    Solo responde a una longitud de bombeo particular.

  2. Lo que podría ocurrir

    El lenguaje regular podría tener una longitud de bombeo mayor.

  3. Prueba correcta

    La elección y el argumento deben funcionar para un p arbitrario, no fijado a cinco.

Resultado

p se mantiene simbólico en la demostración general.

Lo comprobamos

Los ejemplos numéricos sirven para entender las restricciones.

6. Elegir la palabra fuerza dónde está y

Para L={0ⁿ1ⁿ:n≥0}, escogemos w=0ᵖ1ᵖ.

Sus primeros p símbolos son todos ceros, así que todo corte con |xy|≤p tiene y=0ᵏ para algún 1≤k≤p.

El dibujo ilustra un corte; la prueba cubre todos los cortes permitidos
La restricción coloca y dentro de los cerosDibujo con p=400001111y=00Bombear i=0: quitar y001111En general: y=0ᵏ, 1≤k≤pQuedan p−k ceros y p unos.Las cantidades ya no coinciden.
La palabra con cuatro ceros y cuatro unos se dibuja por celdas. Se señala como ejemplo un bloque de dos ceros en el prefijo; al quitarlo quedan dos ceros y cuatro unos. La prueba general no elige ese corte por comodidad: para cualquier longitud de bombeo p, la condición longitud de xy como máximo p obliga a que y tenga solo ceros. Como y no es vacío, su longitud k está entre uno y p. Eliminarlo deja p menos k ceros y p unos, siempre cantidades distintas, sea cual sea su posición dentro del primer bloque. El ejemplo de cuatro solo hace visible ese argumento universal.
Al tomar i=0, quedan p−k ceros y p unos.

Las cantidades son diferentes para cualquier k permitido, incluida k=p. Así todos los cortes válidos contradicen el lema.

El dibujo de un corte particular

p=4 y y de longitud dos.

  1. Original

    00001111.

  2. Eliminar y

    Quedan 001111.

  3. Contraste

    Dos ceros y cuatro unos: fuera del lenguaje.

Resultado

Es una ilustración de la cuenta p−k frente a p.

Lo comprobamos

El dibujo de un único corte no es toda la prueba.

El caso extremo también falla

y contiene todos los p ceros.

  1. Longitud

    k=p es válida si x=ε.
  2. Bombeo cero

    Queda solo 1ᵖ.

  3. Pertenencia

    Como p≥1, hay cero ceros y p unos: no son iguales.

Resultado

La prueba incluye k=p.

Lo comprobamos

No se excluye un corte que el lema sí permite.

7. Los lenguajes finitos cumplen el lema sin palabras largas

Si L es finito, elegimos p mayor que todas sus longitudes. No hay ninguna w∈L con |w|≥p, así que la condición se cumple vacíamente.

Para L vacío cualquier p≥1 sirve.

Si un regular sí contiene una palabra suficientemente larga, el bloque y no vacío produce palabras de longitudes cada vez mayores. Así los ciclos permiten reconocer infinitas palabras con finitos estados.

Una condición que no tiene casos activados

L={ε,0,11}.

  1. Mayor longitud

    Dos.

  2. Elegir

    p=3.
  3. Comprobar

    Ninguna palabra de L tiene longitud al menos tres; no hace falta inventar un corte para ellas.

Resultado

El lema es compatible con este lenguaje finito.

Lo comprobamos

No exige que todo lenguaje tenga una palabra larga.

Un ciclo produce infinitas longitudes

Un corte bombeable con |y|=2.

  1. Longitudes

    |x|+|z|+2i para i=0,1,2,…
  2. Distintas

    Cada valor aumenta en dos.

  3. Lenguaje

    Si todas las repeticiones aceptan, hay infinitas palabras diferentes.

Resultado

No hace falta un estado por palabra.

Lo comprobamos

Lo ilimitado puede estar en el número de vueltas del ciclo.

8. Bombeo es necesario, pero no suficiente

Negar el lema demuestra no regularidad. Cumplirlo en unos ejemplos o no encontrar contradicción no demuestra regularidad. Para probar regularidad construimos un autómata, una expresión regular o una combinación por cierres.

Incluso la propiedad completa de bombeo puede cumplirse en un lenguaje no regular. El siguiente contraste separa la propiedad lógica de una intuición basada en unos pocos cortes.

Una prueba positiva de regularidad

L=(01)*.

  1. Construcción

    Un estado inicial aceptante espera cero; otro espera uno; una entrada inesperada lleva al sumidero.

  2. Vuelta

    Leer 01 devuelve al inicial.

  3. Exactitud

    Se aceptan ε y exactamente las repeticiones completas del bloque.

Resultado

El autómata sí demuestra regularidad.

Lo comprobamos

No se ha deducido de que un intento de bombeo no fallase.

Un lenguaje no regular que sí tiene propiedad de bombeo

L={aʳbˢcᵗ:r,s,t≥0 y, si r=1, entonces s=t}.

  1. No regular

    Si un DFA lo reconociese, empezar desde el estado alcanzado tras a y usar solo b,c reconocería bⁿcⁿ, imposible por la prueba anterior con letras renombradas.

  2. Bombeo con p=2, r=0

    Para una palabra larga sin a, bombeamos su primer símbolo b o c: r sigue cero y no hay condición de igualdad.

  3. Si r=1

    Tomamos y=a: con una copia queda la igualdad original; con cero o al menos dos copias la condición r=1 no se activa.

  4. Si r=2

    Tomamos y=aa: el nuevo número de a es par, nunca uno.

  5. Si r≥3

    Tomamos y=a: incluso al quitarla quedan al menos dos a.

    En todos los casos |xy|≤2 y y no vacío.
Resultado

La propiedad de bombeo completa no caracteriza la regularidad.

Lo comprobamos

En cada caso se dio un corte que sirve para todas las repeticiones, sin convertirlo por ello en un DFA.

9. Cierres y continuaciones ofrecen otras pruebas

Los regulares son cerrados por intersección y complemento. Si intersectar un lenguaje con un regular produce uno que sabemos no regular, el primero tampoco puede ser regular.

También podemos distinguir prefijos por sufijos. Si infinitos prefijos requieren respuestas diferentes ante alguna continuación, un DFA necesitaría infinitos estados. Esta es la idea del criterio de Myhill–Nerode.

Ordenar bloques mediante una intersección

L contiene todas las palabras con igual cantidad de ceros y unos, en cualquier orden.

  1. Restricción regular

    Intersectamos con 0*1*, que obliga a poner primero ceros y después unos.

  2. Resultado

    Queda exactamente {0ⁿ1ⁿ:n≥0}.
  3. Contradicción

    Si L fuera regular, la intersección lo sería, pero ya sabemos que no.

Resultado

L no es regular.

Lo comprobamos

El cierre solo se usa bajo la hipótesis que estamos refutando.

Una prueba sin elegir bloque bombeable

En {0ⁿ1ⁿ}, comparar 0ᵃ y 0ᵇ con a≠b.

  1. Sufijo

    Añadir 1ᵃ.

  2. Distinguir

    El primer prefijo acepta con ese sufijo y el segundo no.

  3. Estados

    Dos prefijos así no pueden compartir estado. Hay infinitos prefijos diferentes de esta forma.

Resultado

No existe un número finito de estados suficiente.

Lo comprobamos

El sufijo puede depender del par de prefijos comparado.

Ahora lo resolvemos de principio a fin.

EJEMPLO RESUELTO 1

Probar no regularidad

Demuestra que {0ⁿ1ⁿ:n≥0} no es regular.

  1. Suponer regularidad

    Existiría una longitud de bombeo p≥1.
  2. Elegir una palabra según p

    w=0ᵖ1ᵖ pertenece al lenguaje y tiene longitud 2p≥p.
  3. Considerar cualquier corte permitido

    Como |xy|≤p y |y|>0, y=0ᵏ para algún 1≤k≤p.

    No fijamos x ni k.

  4. Elegir repetición

    Tomamos i=0 y quitamos y.
  5. Comparar cantidades

    Quedan 0ᵖ⁻ᵏ1ᵖ, con p−k≠p; incluso k=p falla.
  6. Contradicción

    Ningún corte válido cumple todas las repeticiones, contra el lema. El lenguaje no es regular.

Resultado

Contradicción: el lenguaje no es regular.

Lo comprobamos

La prueba no fija arbitrariamente x o k y permite incluso k=p; eliminar todos los ceros también produce una palabra fuera de L.

EJEMPLO RESUELTO 2

Un ciclo visible

En un DFA de dos estados, considera un recorrido por tres símbolos. ¿Por qué se repite algún estado?

  1. Contar estados disponibles

    El DFA tiene dos estados.

  2. Contar visitas

    Un recorrido de tres símbolos hace cuatro visitas si incluimos la inicial.

  3. Aplicar palomar

    Cuatro visitas solo pueden repartirse entre dos estados, así que alguno se repite.

  4. Interpretar

    El bloque entre dos visitas iguales es un recorrido cerrado no vacío.

  5. Precisar el dato

    Incluso los dos primeros símbolos ya darían tres visitas en dos estados.

  6. Conclusión

    Se repite algún estado; si el recorrido completo era aceptante, el ciclo apropiado permite conservar el sufijo aceptante.

Resultado

Se repite algún estado.

Lo comprobamos

Incluso los primeros dos símbolos ya producen tres visitas a dos estados; considerar tres símbolos conserva la conclusión.

Los símbolos que hemos usado

L
Lenguaje, conjunto de palabras sobre un alfabeto finito.
p
Longitud de bombeo garantizada por la hipótesis de regularidad.
|w|
Número de símbolos de la palabra w.
w=xyz
Descomposición de w en un prefijo x, un bloque bombeable y y un sufijo z.
yⁱ
Concatenación de i copias de y; y⁰=ε.
ε
Palabra vacía.
Regular
Reconocible por algún autómata finito, equivalentemente describible por una expresión regular matemática.

Ahora te toca a ti.

Tienes cinco ejercicios. Inténtalos; las pistas te ayudan si te atascas.

Practicar este tema →

Para ampliar