miércoles, diciembre 13, 2006

Bloqueando

Si un día tienen que ponerle nombre a algo, sigan mi consejo y no le pongan bloqueador, que puede que les haga caso y los bloquee.
Por fin hoy terminé todas las demostraciones (correctas) de mi último reporte técnico. En él definí varios métodos, con distintos nombres, y uno de ellos se llamó bloqueador. Cuando terminé la versión preliminar, tenía una demostración de que todo funcionaba en todos los métodos que utilicé. Así, me puse a escribir el reporte oficial. Cuál sería mi sorpresa al notar que tenía un contraejemplo para mi método bloqueador. Por supuesto, tenía prisa por corregir el error, pues supuestamente los resultados ya los había sacado. Así, estuve dos semanas pensando sólo en cómo restringir los casos para que el método funcionara; al final, según yo, tenía una demostración.
Varios días más tarde, di una plática de mis resultados. Entre toda la discusión sobre mi tema, surgió una sugerencia de un nuevo contraejemplo que satisfacía mis restricciones. Resultó que el ejemplo que me dieron no era contraejemplo (como yo pensé cuando me lo dijeron), pero la idea era la correcta, y con ella pude construir un verdadero contraejemplo. Todo se vino abajo. La razón: mi demostración usaba un supuesto que no estaba incluido en la definición. Fácil de arreglar, agregar ese supuesto, ¿no? Pero eso suponía no sólo reducir drásticamente la generalidad del método, sino también aumentar en mucho la complejidad de checar si las condiciones se cumplían.
Desde entonces me la he pasado pensando en alguna condición sintáctica que sirviera. ¿Por qué sintáctica? Porque es más fácil de revisar.
Al final, tras decenas de fracasos intentando encontrarlas (pero que en realidad me ayudaron a entender una cosa muy importante de mi método que me va a servir en el futuro), decidí que una condición semántica tendría que ser usada.
Por fin, esta semana logré escribir una definición adecuada, y demostrar que funciona. Lo peor es que el método para demostrarlo, era idéntico al que usé en la versión preliminar, solo que faltaban unos detalles importantes.
En fin, ahora falta encontrar versiones sintácticas reducidas que sirvan en mi área; ya tengo unas ideas en mente, que espero se desarrollen esta semana.
¡Malditos métodos de tablas bloqueadores!

No hay comentarios.: