Octubre 4, 2004 Traducido por Martin illarreal 1 El Teorema Alumno: !"# $ue es el teorema de bombeo del %ue o& "ablar' Profesor: Si L es regular N (), tal que cadena * +, donde |*,- x, y, z, tal que *.xyz y |xy,- y y y %0/xy % z+ Alumno: !sta bien. !so es lo %ue dicen los apuntes de clase. 0ero %ue si1ni2ica' Profesor: Bueno, 3amos a 3erlo l&nea por l&nea. Alumno: 4i, pero5 -o 3eo como esto puede a6udar. Profesor: 7a18moslo de todos modos, por%ue pienso %ue puede a6udar despu9s. Alumno: O:. Profesor: O:. +a primera l&nea dice Si L es regular !sto si1ni2ica %ue nuestro teorema solo se aplica si el len1ua;e es re1ular. !ste no se aplica si no es re1ular. Alumno: 0ero pens9 %ue us8bamos el teorema de bombeo para mostrar %ue un len1ua;e no es re1ular. Profesor: Te estas adelantando un poco. +o %ue dec&s es 3erdad, pero utili<amos una prueba por contradicci=n. !n otras palabras, asumimos %ue es re1ular, entonces mostramos %ue no satis2ace el teorema de bombeo. !sto nos da una contradicci=n, entonces nuestra suposici=n inicial de %ue + es re1ular debe estar mal. Alumno: !sto tiene sentido, supon1o. 0ero antes de meterme en eso, %uiero estar se1uro de entender el resto del teorema. Profesor: Correcto. eamos la pr=xima l&nea> N ( ), tal que !sto si1ni2ica %ue existe al1?n @numero m81icoA para el len1ua;e L, tal %ue todas las cosas en el resto del teorema son 3erdaderas. Alumno: entonces esto si1ni2ica %ue - es di2erente para cada len1ua;e re1ular' Profesor: Correcto. O m8s bien, si1ni2ica %ue puede ser di2erente. !n otras palabras, no sabemos. -o podemos decir nada acerca de - adem8s de %ue existe. Alumno: -o di;o Bescartes al1o parecido' Profesor: Cmmm5 si1amos. +a pr=xima l&nea dice> cadena * +, donde |*,- !sto si1ni2ica %ue el resto del teorema solo se aplicara a ciertas cadenas. D saber, a%uellas %ue son al menos tan lar1as como el n?mero m81ico -. Alumno: Be acuerdo. Profesor: la pr=xima l&nea dice> x, y, z, tal que *.xyz Alumno: Eesto si1ni2ica %ue x, y, 6 z existen, pero no necesariamente sabemos como son' Profesor: !xacto i1ual %ue con -. por cierto, esta es la l&nea de la prueba %ue usaremos lue1o para mostrar cuando un len1ua;e no puede ser re1ular. 4i no es posible encontrar una x, y, 6 z para al1una cadena *, entonces + no puede ser re1ular, correcto' Alumno: 4i5 4upon1o %ue 3eo c=mo es cierto, pero parece %ue "a6 demasiados 3alores posibles para x, y, 6 z 6 ser8 di2&cil demostrar %ue no "a6 nin1una 2orma de di3idir al1una * de esta 2orma. Profesor: bueno, a2ortunadamente, tenemos las ?ltimas tres l&neas del teorema. eamos la primera> y |xy,- Alumno: O:, pr=xima. Profesor: y y Alumno: !ntonces esto si1ni2ica %ue )y-. Profesor: Bien# !ste "ec"o nos a6udara en nuestras pruebas lue1o. Alumno: O:. F a"ora la ultima l&nea del teorema y %0/xy % z+ Profesor: D". !sta el la parte de @bombeoA del teorema. Bice @no importa cuantas copias de remue3a o a1re1ue a la cadena, la cadena resultante si1ue perteneciendo al len1ua;e ori1inalA. Alumno: O". !ntonces cuando %.0, esto es @bombear 2ueraA, por%ue "emos remo3ido una copia de la cadena. F cuando %.), bueno esta es la cadena ori1inal *. 0ero cuando %G), !ntonces estamos @bombeandoA copias de y en la cadena. Profesor: Correcto. Be "ec"o, estamos bombeando %H) copias. 0or%ue %.2 si1ni2ica %ue tenemos dos copias de y, lo cual es una mas de las %ue ten&amos en la cadena ori1inal. Alumno: !ntonces, cuando dice @bombear una 3e<A, esta diciendo, @%.2A' Profesor: !xactamente. Alumno: !ntonces d9;eme 3er si entiendo todo. 4i + es re1ular, entonces existe al1?n n?mero m81ico -. F si tomo cual%uier cadena * %ue sea al menos tan lar1a como -, entonces puedo di3idirla en tres partes x, y, 6 z. D"ora, la lon1itud de xy es menor o i1ual a -, 6 adem8s la lon1itud de y es ma6or o i1ual a ) 6 menor o i1ual a -. Profesor: Bien... Alumno: O:, 6 2inalmente, puedo remo3er y, o puedo a1re1ar cual%uier cantidad de copias de y, 6 la cadena resultante deber&a aun pertenecer a +. Profesor: !xcelente Alumno: O:, lo ten1o. D"ora como lo utili<o' Profesor: buena pregunta. 2 Usando el Teorema de Bombeo Profesor: Iecuerda %ue di;e %ue pod&amos usar una prueba por contradicci=n para mostrar %ue un len1ua;e es no re1ular' Alumno: 4i. Profesor: 0iensas %ue podr&as mostrarme como "acer esto' Alumno: -o. Profesor: O", 3amos. Creo %ue puedes. Alumno: O:. Bueno, di1amos %ue ten1o un len1ua;e del %ue pienso es no re1ular. 0rimero, asumo %ue es re1ular. !ntonces, muestro %ue 3iola el teorema de bombeo. 4e como asumir cosas. !s la parte de demostrar cosas con la %ue siempre ten1o problemas. Profesor: Bueno, sabemos %ue si el len1ua;e es re1ular, entonces existir8 al1?n numero m81ico - tal %ue el resto del teorema es 3erdad. Alumno: O"# !ntonces puedo demostrar %ue no existe el -# Profesor: Bueno, puedes "acer eso, pero creo %ue seria mu6 di2&cil. Tendr&as %ue considerar todos los posibles 3alores de - 6 entonces demostrar %ue el teorema de bombeo no se mantiene. !ntonces asumamos %ue existe al1una -. 0odemos aun encontrar una 2orma de demostrar %ue el teorema de bombeo no se mantiene para +' Alumno. 7mmm5 si existe una -, entonces toda cadena * %ue sea al menos tan lar1a como - debe satis2acer el resto del teorema. Profesor: E!ntonces, %ue pasa si %uiero demostrar %ue esto no es 3erdad' Alumno: Tendr&a %ue demostrar %ue existe al1una * %ue no satis2ace el resto del teorema. Profesor: Correcto. F como es esa cadena *' Alumno: O", 6a recuerdo * es xyz, donde ,xy,J- 6 yK 6 5 Profesor: 56 si + es re1ular, entonces, no importa como tomemos y, podemos encontrar una % tal %ue *L.xy % z +. Alumno: O", O:. !ntonces solo necesito demostrar %ue, no importa como tomemos y, podemos encontrar una % tal %ue *L.xy % z +. Profesor: buen traba;o. 0arece %ue realmente entendiste esto. $ue ten1as un buen d&a 6 "a<me saber si tienes mas pre1untas. Alumno: espere, espere, espere. 0odemos probar al1unos e;emplos' Profesor: !staba esperando %ue di;eras eso# Tratemos de mostrar %ue> 3 La n b n no es regular Alumno: O:, sabemos %ue existe un numero m81ico -. a"ora solo debemos encontrar una cadena * 6 demostrar %ue puedo bombear y para "acer %ue * sal1a de +. Profesor: Bien. 0robemos la cadena *.a - b - . Alumno: !"# Fo %uer&a empe<ar con *. Profesor: Bueno, ele1ir una buena * puede ser di2&cil. Dsumamos %ue 6a tenemos una *, 6 demostrar %ue podemos bombear y para "acer %ue * sal1a de +. Alumno: O:. Profesor: +a primera cosa %ue "a1o cuando ten1o una * es listar todas las posibles elecciones de y. Alumno: O", O:. ) M ,y, M -, entonces 6 deber&a ser a i , cuando ) M i M -. Profesor: bien. Cna 3e< %ue sabemos como luce y, tratamos de escribir como luce *. Alumno: Creo %ue 6a sabemos como es *. Profesor: Bien, sabemos. 0ero %uise decir %ue trataremos de escribir * en t9rminos de x, y, 6 z. Alumno: O:. si y.a i 6 ,xy, M -, entonces x.a ; , donde iN; M -. !ntonces *.(a ; )(a i )(a -H(iN;) b - ). Profesor: mu6 bien. D"ora todo lo %ue debemos "acer es demostrar %ue, para cada posible 3alor de y, podemos encontrar una % tal %ue *L.a ; (a i ) % a -H(iN;) b - +. Alumno: O:. Bien, tomemos %.0. !ntonces *L.a ; a -H; b - , lo %ue puede reescribirse como a - b - . !spere. !sta cadena si1ue perteneciendo a +. $ue pas=' Profesor: Tienes tus iLes 6 %Les me<cladas. Iecuerde %ue, la % se aplica solo a la parte y de la cadena, pero la i tiene implicaciones en ambas partes, la parte x 6 la parte y de la cadena. 0usiste un 0 para %, pero adem8s pusiste un 0 para la primera i. Alumno: O", 6a 3eo. !ntonces, deber&a "aber dic"o *L.a ; a -H(iN;) b - . 0uedo reescribir eso como *.a -Hi b - . $ue se 3e muc"o me;or. 0rob9 %ue + no es re1ular# Profesor: bueno, no del todo. $ue pasa si i.0' Alumno: !"# !so es trampa. -o puede ele1ir el 3alor de i. Profesor: !s 3erdad. 0ero tienes %ue probar %ue, para cada posible 3alor de i, a -Hi b - +. entonces %ue pasa si i.0' Alumno: 7mmm5 o", espere# i no puede ser 0. Bi;imos eso antes. i tiene %ue ser ma6or o i1ual a ) 6 menor o i1ual %ue -. Profesor: Bien. !ntonces, dado el ran1o de i, es posible %ue a -Hi b - +' Alumno: -o. Mire, el ma6or numero de aLes %ue la cadena puede tener es -H), 6 el menor numero de aLes %ue puede tener es 0. !ntonces no "a6 2orma. Profesor: Bien. D"ora "as probado %ue + no es re1ular. Alumno: O:. 0ero el ?nico e;emplo %ue e" 3isto es a n b n . Fo se %ue no es re1ular. 0odemos probar otro' Profesor: 4e1uro. Tratemos de demostrar> ! L"a i b # c $ , donde i%#$& no es regular Alumno: O:. 4e %ue "ablaremos de c=mo ele1ir una buena * lue1o, entonces podr&a darme una *' Profesor: 0rueba *.a - b - c 2- . Alumno: O:, 1racias. eamos. 0rimero necesito decir como son todos los posibles 3alores de y. Bueno, es ob3io %ue y.a i , donde )M i M -. Profesor: Bien. !ntonces como luce *, en t9rminos de x, y, 6 z' Alumno: *.(a ; )(a i )(a -H(iN;) b - c 2- ), donde iN; M -. Profesor: Bien. D"ora %ue' Alumno: D"ora necesito demostrar %ue, para cada 3alor posible de y, existe al1una 2orma de bombearlo de 2orma %ue la cadena resultante no pertene<ca a +. Profesor: Bien. Alumno: !ntonces, si %.25 Profesor:5lo %ue si1ni2ica %ue 3as a bombear una copia extra de y5 Alumno: 5entonces obten1o *L.a ; a i a i a -H(iN;) b - c 2- . D"ora, puedo reescribir esto como a -Ni b - c 2- . Profesor: Correcto. ED"ora %ue' Alumno: D"ora necesito demostrar %ue para todos los posibles 3alores de i, *L +. Bien, esto si1ni2ica %ue para todos los 3alores posibles de i, -NiN- 2-. !sto tiene %ue ser 3erdad, 6a %ue el menor 3alor para i es ). !ntonces, !" demostrado %ue + es no re1ular# Profesor: bien "ec"o. Alumno: Me siento or1ulloso de esto. Profesor: Bien. Bescansemos un se1undo 6 "ablemos deO Alumno: OBoca Puniors' Profesor: -o, de eso no. Be esto> ' Eligiendo un buen ( Alumno: !so suena a imposible, si se trata de presidentes. Profesor: !pa# -o %uiero "ablar de pol&tica. Creo %ue 3a en contra del c=di1o del pro2esor o al1o por el estilo. amos a re2erirnos solo a los len1ua;es re1ulares. Alumno: -o es de eso de lo %ue siempre "abla' Profesor: 4i. Bueno, adem8s esto6 realmente interesado en la 1laciolo1&a. Alumno: Cmmm53ol3amos a los len1ua;es. Profesor: O:. +a cla3e para ele1ir una buena * es %ue solo se bombea para a2ectar una sola porci=n de la cadena. +a me;or manera de "acer esto es "acer una re1i=n de tamaQo - al comien<o de la cadena *. 6 pre2eriblemente una %ue solo conten1a un tipo de car8cter de R. Alumno: E0or %ue es una buena idea' Profesor: 0or dos ra<ones. 0rimero, el bombeo solo ocurre en la porci=n 6 de la cadena. !ntonces, si tenemos una re1i=n de tamaQo - al comien<o de la cadena, el bombeo solo a2ectara esa re1i=n, 6 de;ara las otras re1iones sin tocar. Alumno: O". 0or eso empe<= con a - b - c 2- para el ?ltimo. Profesor: Correcto. Be esta 2orma cuando bombeamos, solo a2ectamos una parte de la suma, de;ando las otras partes i1ual, 6 1aranti<ando %ue *L estar8 2uera del len1ua;e. Alumno: !ntonces, por%ue %ueremos %ue la re1i=n solo conten1a un tipo de car8cter de R' Profesor: Be esta 2orma, tenemos menos casos %ue considerar para y. 0or e;emplo, en nuestro primer problema, y tenia %ue ser a i , por%ue a era el ?nico car8cter %ue aparec&a en los primeros - caracteres de *. Obser3e, podr&amos "aber ele1ido *.a -S2 b -S2 c - 5 Alumno: O", pero entonces y podr&a ser una combinaci=n de aLes 6 bLs, entonces tendr&amos mas casos %ue considerar para la 2orma de xy. Profesor: Correcto, entonces tendr&amos %ue considerar %ue implicaciones tendr&a en las sumas. 0or e;emplo, si y se encuentra completamente en la re1i=n de aLes, entonces solo el primer operando -S2 es modi2icado. 0ero %ue pasa si y alcan<a las aLes 6 bLs' Alumno: $ue desastre. Profesor: !xactamente. !ntonces nos e3itamos las molestias la * como lo "icimos. -uestro traba;o 6a es su2icientemente di2&cil, as& %ue tenemos %ue "acer todo lo posible para "acerlo mas 28cil. Alumno: 4uena bien para mi. !ntonces debo ele1ir siempre una * %ue ten1a al menos - caracteres i1uales al principio. Profesor: Bueno, esto no siempre es posible. 0or e;emplo, $ue pasa con +.ab n c n ' Alumno: !so no es re1ular. Profesor: 4e1uro. 0ero tienes %ue decirme por %ue. Alumno: O:, O:. Bien, 3eo %ue no puedo obtener una * con los mismos caracteres al principio. !ntonces me aproximare lo m8s %ue pueda a esto. $ue tal *.ab -H) c - ' Profesor: 0arece %ue 2uncionara. 0or%ue ele1iste -H)' Alumno: 0or%ue 6a ten1o una a al principio, 6 %uiero limitar ,xy, para %ue sea exactamente -. Be esta 2orma, cuando bombee, -o a2ectar9 la re1i=n %ue esta despu9s de los - caracteres. Profesor: !s una buena estrate1ia. !", d9;eme "acerle una pre1unta. E0odr&as usar a -H2 en una de tus cadenas' Alumno: 4e1uro. E0or %ue no' Profesor: Te dir9 por%ue. Bebido a %ue el teorema de bombeo dice %ue -). !ntonces, si tenemos a -H2 , entonces es posible decir a H) . F esto no tiene sentido. Alumno: 4upon1o %ue no tiene sentido. Tendr9 %ue recordar esto acerca de -H2. Profesor: O - menos cual%uier cosa ma6or %ue ). Alumno: Correcto. Profesor: ol3amos a nuestro problema. Como demostramos %ue nuestra * no satis2ace el teorema de bombeo' Alumno: 0rimero pienso en todos los posibles 3alores de y. 3eamos, y puede ser ab i . Profesor: Bien. F cuales son los posibles 3alores para i' Alumno: Bebido a %ue ,xy,M-, i puede ser ma6or o i1ual a 0 o menor o i1ual a -H). Profesor: !xcelente# Como seria * en este caso' Alumno: *.(K)(ab i )(b -H)Hi c - ). 0use K a%u&, por%ue estamos diciendo %ue y empie<a al comien<o de la cadena. Profesor: Bien. 7a6 otras posibilidades para y' Alumno: 4e1uro. 0uede ser y.b ; , donde )M;M-H). !n este caso *.(ab T )(b ; )(b -H)H(TN;) c - ), donde TN;M-H). Profesor: Uroso. D"ora debemos demostrar %ue para cada posible 3alor de y, podemos encontrar una % tal %ue *L.x(y) % z +. 4abemos %ue "a6 dos posibilidades para la 2orma de y. tomemos la primera. Alumno: O:, en este caso, debo ase1urarme %ue, para cada 3alor posible de i, existe una % tal %ue *L. (ab i ) % b -H)Hi c - . Profesor: !sta bien. Muc"a 1ente me<cla sus %Les e iLes en este punto. !stu3iste bien al recordar %ue se1uimos necesitando ase1urarnos de %ue para cada i tenemos una % %ue bombea la cadena 2uera del len1ua;e. +a ma6or&a de las 3eces, podemos encontrar una % %ue 2uncione para cada i. Dl1unas 3eces, sin embar1o, necesitamos encontrar una % %ue satis2a1a al1unas de las iLes 6 otra % %ue satis2a1a el resto de las mismas. Alumno: +o tendr9 en mente. 0ero creo %ue puedo encontrar una % %ue 2uncione para todas las iLes en este caso. Profesor: e por ella. Alumno: O:, !ntonces si %.2, entonces ten1o *L.ab i ab i b -H)Hi c - . 0uedo detenerme a%u&, por%ue ten1o demasiadas aLes en la cadena. Profesor: Correcto. D"ora necesitamos 3er la otra posibilidad para y. Alumno: O:. 4V %.0, entonces ten1o *L.ab T b -H)H(TN;) c - . ab -H)H; c - . 7mmm5 !sto6 un poco con2undido ac8. E$ue "a1o' Profesor: Fa casi lo tienes. 4olo tienes %ue demostrar %ue -H)H;- para todos los 3alores posibles de ;. Alumno: O", correcto# Bien, es 28cil. 0or%ue el ran1o de 3alores %ue tenemos para ;, 0M-H)H;M-H2. !ntonces, a%u& 3amos. Profesor: Buen traba;o. EComo se siente' Alumno: Bien. Iealmente aprecio esto. Creo %ue 3o6 a buscar una 1ran ta<a de ca29 o al1o en este momento. Profesor: !spere un se1undo. Ten1o cosas m8s importantes %ue pre1untarle. Alumno: C"Ho". Creo %ue se aproxima uno de esos t&tulos en ne1rita. Profesor: !s 3erdad5 ) Es L"ab i c # ,i#& regular* Alumno: -o. Profesor: !", esa es una buena respuesta, pero podr&as prob8rmelo' Alumno: Bueno, 4e como "acerlo cuando i 6 ; son i1uales/ es lo %ue acabamos de "acer. 0ero esto parece realmente di2&cil. !xiste al1?n truco para esto' Profesor: !xiste. Iecuerda como de2inimos todas esas operaciones ba;o las cuales los len1ua;es re1ulares son cerrados' Alumno: O", si. Como, si + es re1ular, entonces + es re1ular. O"# !ntonces podemos tomar la ne1aci=n de + 6 "acer lo mismo %ue "icimos antes. Profesor: -o es tan 28cil. + inclu6e todas las cadenas de la 2orma ab - c - . 0ero adem8s inclu6e todas las cadenas donde al1unas cLs est8n delante de las bLs, e inclu6e la cadena 3ac&a, 6 1eneralmente montones de otras cosas %ue "ar8n mu6 di2&cil utili<ar el teorema de bombeo. Alumno: O". -o "ab&a pensado en eso. 0arece un problema m8s di2&cil del %ue ten&amos antes. Profesor: Bueno, +o %ue %ueremos es al1una 2orma de @sacarA solo las cadenas de la 2orma ab - c - . 4e le ocurre al1una 2orma' Alumno: O"# ab - c - . + W abXcX Profesor: Correcto. !ntonces la prueba es as&> Dsuma %ue + es re1ular. !ntonces +L.+ W abXcX.ab - c - debe ser re1ular. D"ora demostramos %ue +L no es re1ular, utili<ando su excelente an8lisis anterior. 0or%ue +L no es re1ular, entonces nuestra suposici=n inicial de %ue era re1ular es incorrecta. + no es re1ular. Alumno: Fa entend&. 7u". $ue la operaci=n W es como una mascara de bits %ue me de;a seleccionar %ue parte del len1ua;e %uiero mirar. Profesor: !sa no es una mala 2orma de pensar en eso. Alumno: Bueno. Ten1o muc"o en %ue pensar. 0robablemente necesite toda la ;arra de ca29. Me siento muc"o me;or acerca del teorema de bombeo. Uracias. Profesor: de nada. + E,ilogo Profesor: 4abes, esto me recuerda a a%uella obra The Miracle Worker, Bonde est8n en una bomba de a1ua5 Alumno: !". Mi re2erencia a Bescartes es menos oscura %ue eso# Me 3o6. Profesor: Buena suerte en la prueba. Alumno: -o necesitare suerte si "ace la prueba mu6 28cil. Profesor: -o ser8 tan @pruebaA si lo "a1o 28cil. Alumno> 4er8 una @pruebaA de su compasi=n. Profesor: !so suena como una prueba a mi paciencia> Alumno: O:, O:. Fa se como resol3er estos problemas de todas 2ormas. +a prueba ser8 @a piece o2 caTeA. Profesor: Mmmmmm5CaTe