viernes, 24 de enero de 2014

Un día para estar orgulloso

Hoy tuve el gusto de poder asistir a la defensa del proyecto de grado (mejor conocido como "Tesis") de dos amigas muy especiales que quiero un mundo: Fabiana Reggio y Krisvely Varela. Yo sabía que les iba a salir muy bien, pues ya había visto versiones preliminares de la presentación mientras practicaban. Pero... Wow! No se acercan a lo genial que les quedó la defensa al final. Hoy estoy sumamente orgulloso y quería compartirlo con todos. :)

Defendiendo, like a boss!!!

Su proyecto de grado fue sobre la implementación y análisis comparativo de algoritmos de búsqueda en árboles R, usando diferentes criterios de poda para mejorar los tiempos de ejecución (con el costo de la potencial incorporación de falsos negativos), todo esto para evaluar consultas de tipo Top-K Skyline.

¿Verdad que suena complicado?
¡Pues lo es!
Hicieron un excelente trabajo durante este año y vendiéndolo a sus jurados (y la audiencia).

Yo fui partícipe de todas las etapas de ese proyecto. Desde la desesperación por que no podían instalar la herramienta, el temor por que la librería estaba hecha en C++ (que no es un lenguaje fácil de manipular) y por toda clase de problemas, jajaja. Y no solo problemas, sino ideas geniales, que finalmente fueron descartadas por una u otra razón. Pero todo ese trabajo no se muestra en un libro, ni en una presentación. Por eso estoy más que contento, pues tuve la oportunidad de vivir todo ese trabajo y acompañarlas en su evolución como profesionales ya hechas y derechas. Además, intentando ayudarlas aprendí mucho sobre un tema muy interesante y retador. :)

La defensa salió muy bien y hasta obtuvieron mención de honor (algo que no le dan a cualquiera). Además había muuuucha comida muy buena, pero creo que "muuuucha" no comienza a describir la cantidad que había. ¡Y todo estaba demasiado bueno! A gordito's paradise! XD

Y bueno, esto era lo que quería compartir por ahora. Conozco a Fabi y a Kris desde hace años ya (creo que estaban viendo Algoritmos II cuando las conocí) y además de la amistad incluso hasta les llegué a dar una materia (Lenguajes de Programación 1). Ver en lo que se han convertido es una inspiración y agradezco haber sido parte de ella. Así concluye el momento cursi de la noche, jajaja. ¡Hasta una próxima entrada! :D

domingo, 19 de enero de 2014

Si tuviera mucho dinero...

Creo que la vida es un balance entre hacer lo que nos gusta y llevar las responsabilidades que nos permiten sobrevivir, en especial en un tan mundo competitivo como en el que vivimos. Muchas veces uno escucha a las personas soñando con liberarse de estas responsabilidades y vivir exclusivamente haciendo lo que los haga más felices. Lo más común es querer viajar por el mundo y ser consentido en los más finos hoteles, visitar los más exóticos paisajes y pasar la vida en armonía, relajación y ligera aventura.

Y nuevamente... no me encuentro con esta mayoría, jajaja. Claro, sería chevere viajar y conocer el mundo, pero mi pasión me llevaría en otro sentido, completamente diferente. Si yo tuviera mucho dinero, tanto que no necesitara trabajar nunca, haría más que todo una sola cosa: ESTUDIAR. Me pasaría la vida viajando por el mundo, no por los paisajes sino para ir a las mejores universidades y aprender de las tantas cosas fascinantes que ha descubierto la humanidad hasta ahora. Hay tantas cosas que me encantaría saber a profundidad y aunque el internet ofrece muchas facilidades para eso, el tiempo es limitado y no es lo mismo que la experiencia del contacto personal.

Very money, much study, such geekness. Wow!

En esa tónica me puse a pensar, en que orden me especializaría de poder estudiar a dedicación exclusiva y por mucho tiempo. Creo que este sería un orden tentativo (que incluso podría llevar en paralelo en algunas ocasiones):

  • Computación: Terminaría de especializarme acá, posiblemente con un doctorado. Estudiaría varias ramas de computación, en particular me interesan mucho las siguientes:
    • Lenguajes de Programación y Semántica Formal.
    • Inteligencia Artificial (Más que todo planificación y búsqueda. Machine Learning no me interesa tanto, jeje).
    • Algoritmia y Computación Teórica.
  • Física: En lo que termine con computación, me encantaría estudiar física. En especial la física de lo muy grande (Astronomía y Cosmología) y de lo muy pequeño (Física Nuclear, Mecánica Cuántica).
  • Matemáticas: Lo que más me gusta de Computación es la formalidad con la que deben ser tratados los razonamientos para asegurar el correcto funcionamiento de los programas. Esta formalidad está basada en teorías algebráicas muy interesantes que pueden ser estudiadas a mucho mayor profundidad. Me encantaría estudiar matemáticas, no tanto en análisis o estadística, sino en álgebra. 
  • Psicología: Solo he tenido contacto con esta ciencia a través de Coursera, pero todos los cursos que he hecho me han ENCANTADO. Me parece fascinante el estudio de la mente y de las interacciones entre individuos. Si estudiara psicología me especializaría en psicología del comportamiento y psicología social.
  • Filosofía: Algo que también me parece interesante es estudiar las ideas que ha tenido la humanidad a través de la historia. Posiblemente me especializaría en filosofía de las ciencias o filosofía matemática, al estilo de Bertrand Russell.

Por supuesto, me encantaría estudiar muchas mas cosas y aprender todo lo posible. Sin embargo, creo que esos son los 5 temas que más me llaman la atención. Son ciencias que se concentran principalmente en explicar o proponer teorías y razones más que aplicaciones (salvo computación, pero las áreas que me interesan son las más lejanas a la aplicabilidad directa, jajaja).

Y bueno, esto es lo que quería compartir por ahora. Si tuviera mucho dinero sería incluso más gallo de lo que soy ahora y eso es mucho decir, jajaja. ¡Hasta una próxima entrada! :D

viernes, 17 de enero de 2014

La serie de Grandi... Not so fast!!!

Hace algunas semanas un pana físico en la uni me propuso la siguiente ecuación:

1 + 2 + 3 + 4 + 5 + ... = -1/12

La primera vez que uno ve un resultado así, la reacción inmediata es rechazo y duda, pero más que todo de curiosidad¡Y con razón! La serie de los números naturales es EL ejemplo canónico de divergencia. ¿Como va a ser que sumar todos los números enteros positivos resulte en un número fraccional negativo? Aquí intentan explicar lo que pasa:

No me convence... XD

La explicación en realidad no está tan mal, salvo que está basada en el hecho de que la serie de Grandi (1 - 1 + 1 - 1 + 1 - 1 +...) converge a 1/2. El argumento para esto último en el video es muy pobre. ¿Se toma el promedio? ¿En serio? Tapaojo y periquito mascota con esa explicación, jajaja. En otro video, intentan explicar ese resultado con un poco más de detalle. Aquí está:

Esto me convence MUCHO MENOS, jajaja...

En el video presentan básicamente dos estrategias.
  • Una es basada en tomar los promedios de la suma, en vez de la suma en si. Para mi, esa estrategia no tiene mucho sentido. Que el promedio converga no necesariamente resulta en un valor para la suma per sé.
  • Un argumento al cual si hay que pensar un poco más para refutar, es el argumento algebráico donde 1 - S = S y por lo tanto S = 1/2. El problema con el argumento algebráico es que se están manipulando series (sumas infinitas) como si fueran valores finitos. ¡Eso no está bien! Pasear simbólicamente S de un lado a otro de la ecuación no me parece correcto si consideramos la magnitud infinita de S. Igualmente, la evaluación de 1 - S me parece sospechosa. Ese cambio de signo a todos los elementos de la serie no me parece que deba hacerse tan liberalmente.

Your Kung-Fu is not strong enough!

Para mi, el resultado 1/2 es una casualidad que proviene del que la respuesta esté indeterminada. Así como una división entre cero puede manipularse (erróneamente) para forzar ecuaciones que son falsas, así sospecho que se está forzando este valor.

Ahora, no digo que los resultados estén malos. De hecho, algunas teorías físicas modelan la realidad usando este tipo de razonamientos y series pseudo-convergentes. Sin embargo, lo que busco es un argumento sólido que me convenza y me permita entender la naturaleza de estas transformaciones tan extravagantes. Si alguien tiene alguna, más que bienvenida será (pero advierto que soy MUY difícil de convencer, jajaja).

Y bueno, un nuevo post gallo para ustedes, jajaja. Me gustan bastante esos canales científicos de Youtube, pero los detalles inconclusos (y a veces hasta erróneos) no me salen de la mente hasta que se esclarecen, jajaja. ¡Hasta una próxima entrada bellezas y bellezos del mundo! :D

miércoles, 15 de enero de 2014

Ni tan universal... Lo correcto vs. Lo conveniente

Hoy quiero compartir con ustedes tan solo un párrafo de un libro que he estado leyendo este mes. Como les comenté en ( http://bulda-e-blog.blogspot.com/2014/01/un-libro-al-mes-enero.html ), estoy leyendo "Predicate Calculus and Program Semantics" de Dijkstra y Scholten (1990). El libro es entretenido y bastante ligero (exceptuando el capítulo 5 donde se ponen un poco intensos con la introducción de la cuantificación universal, de la cuál justamente quería hablar).

Dijkstra y Scholten presentan en ese libro una manera inusual de llevar demostraciones lógicas, centrada en la equivalencia en vez de la implicación. Esto acorta considerablemente muchas pruebas y permite exponer propiedades algebráicas que de lo contrario serían difíciles de enunciar. Sin embargo, el costo es convertir la demostración en un cálculo más que en verdadera lógica. La lógica es el estudio de los procesos de razonamiento correctos. ¡Razonamiento humano!. Los razonamientos humanos rara vez se basan en equivalencias y propiedades matemáticas, sino más bien en deducciones realizadas a partir de hechos o suposiciones conocidas.

Desde Aristóteles y sus silogismos, la lógica se ha formalizado de manera que permita deducciones estructuradas y precisas. La lógica simbólica, como la conocemos hoy, de hecho no fue presentada hasta tiempos modernos con Boole y más importantemente con Frege. La lógica que se presenta en el libro parte completamente de lo tradicional y presenta la lógica como una conveniencia, una herramienta y no tanto como objeto de estudio en si. Es otra visión, no necesariamente incorrecta. Eso... hasta que llegas a uno de los últimos párrafos del capítulo 5, el cual les comparto a continuación:

"As the reader will have noticed, we hardly stressed this connection between universal quantification and conjunction. It is not only that we dislike the ominous three dots and that it only works for finite ranges, though -thanks to trading- the range is less a property of the quantified expression and more of a way it has been written down. Our greatest objection is that the analogy sneakily suggests that quantification only provides an (in this case badly needed!) shorthand for 'infinite expressions'. But that metaphor evokes more questions than it answers, and, even worse, questions that we propose to deal with by not raising them, since we don't seem to need the answers. We prefer to view ( x :: f.x) as a very finite expression in the one variable f."


Spock does not approve...

Puse en negrita las partes en donde creo que Dijkstra y Scholten están razonando fuera del recipiente. Después de un capítulo completo introduciendo la cuantificación universal como un ente separado, que casualmente se comporta como la generalización de la conjunción, vienen y sueltan esa bomba. ¿Por qué están restringiendo la potencia de los cuantificadores a rangos finitos? Esa es una restricción realmente grave. Para empezar expresiones como ( n : n > 10 : n > 9), que se leería como "Toda n mayor que 10, es a su vez mayor que 9", estarían ahora mal formadas ya que su rango es infinito. Además, priva al cuantificador de su naturaleza universal y su poder expresivo. Esta suposición, en mi opinión, casi haría completamente inútil a la lógica de predicados (ni hablar si se incluyen lógicas de órdenes superiores).

La justificación evidente y pertinente es que el libro no está dirigido a lógicos, ni matemáticos, sino a computistas. En computación, las estructuras no solo son discretas, sino que son finitas (limitadas por la memoria de la computadora que se use), por lo tanto no hace falta tomar consideraciones hacia el infinito. Es un argumento sólido, pero completamente errado (en mi opinión). No se puede consolidar una teoría únicamente basada en convenciencia. Es como si los diseñadores de lenguajes de programación basaran sus decisiones en que cosas son más fáciles de implementar o no, en vez de las facilidades que se ofrecerían al potencial futuro programador. Siempre se pueden hacer compromisos, pero una restricción tan grave no se justifica. Por ejemplo, muchas de las cosas importantes en computación usan inducción para demostrar ciertas propiedades.

Axioma de Inducción: P.0  ( n : n e N  P.n : P.(n+1))  ( n : n e N : P.n)

Nótese que el predicado P podría estar cuantificado universalmente también, pero no lo puse para no pasar a lógica de segundo orden y sobrecomplicar el punto. Si la cuantificación universal se restringe a expresiones finitas, el mismísimo axioma de inducción estaría mal formado y por ende no podría utilizarse de forma general, jajaja. Debo decir que no me convence en lo absoluto el argumento de ellos, aún con lo útil que ha resultado la lógica que ellos proponen (que casualmente, es la que estudiamos en el curso de Lógica Simbólica en la USB), no deberían estar suponiendo restricciones tan fuertes tan a la ligera. En especial esta frase: "questions that we propose to deal with by not raising them", me parece totalmente fuera de lugar. La manera de resolver problemas no es escondiendo la cabeza e ignorándolos totalmente, creo yo.

Y bueno, esto era lo que quería compartir por ahora. Creo que es el post más gallo y TL;DR en este blog hasta el momento, jajjaa. ¡Gracias por leer (si llegaron hasta acá)! XD Creo que éste es un buen ejemplo de como hasta las personas más brillantes e influyentes, aún pueden caer en la tentación de ponerse un tapaojos temporal, comprarse un periquito mascota y no hacer las cosas de la mejor manera. Creo que es importante poder tener el buen criterio de atrapar estos parches y ser capaces de decidir y razonar si los argumentos presentados son convincentes o no. En este caso creo que no y sé de quienes creen que si es suficiente (y en particular uno de ellos es la persona más brillante que conozco), pero para mi no lo es, jeje. Espero no espantarlos demasiado de esta locura bulda.e.bienística y hasta una próxima entrada. Bytes! :D

lunes, 13 de enero de 2014

Más que un trabajo, una pasión

Confucio decía:

"Escoge un oficio que te guste y no tendrás que trabajar un solo día"

Como todos sabemos, Confucio fue el Chino-Japonés que inventó la confusión, jajaja. Y esa cita (parafraseada, claro) está completamente acorde a como me siento en este momento. Soy profesor del Departamento de Computación y Tecnología de la Información en la Universidad Simón Bolívar y no podría ser más feliz con mi trabajo (bueno, capaz si ganáramos más, jajaja).

En la USB (y en muchas otras universidades, hasta donde tengo entendido), el trabajo de un profesor comprende tres grandes áreas:

  • Docencia
  • Investigación
  • Extensión

Me encanta hacer investigación, aunque puede llegar a ser un poco explotador. Aún no tengo publicaciones propias para mostrarlo, pero si Dios quiere y todo sale bien pronto tendré al menos una maestría y un montón de proyectos posteriores para continuar investigando. La mayoría de mi extensión , la hago entrenando equipos para los maratones de programación (aunque los tengo un poquito abandonados por eso de estar en la recta final entregando la tesis), pero pronto la retomaré y también me encanta muchísimo.

Sin embargo, lo que más me llena como persona y me apasiona profundamente... es la docencia. :) ¡Me encanta dar clase! Me encanta ese proceso de conversar con un grupo de personas talentosas que quieren aprender y que a su vez tienen tanto para enseñarme de vuelta. Son tantas cosas... El rostro de una persona que comprende como todo conecta y tiene sentido en su mente... Simplemente no tiene precio. Cuando alguien te comenta que usó algo que aprendió de ti en su vida profesional o cuando te buscan para preguntarte cosas, que quizá no son de tu área, pero confían en que puedes ayudar. Todas esas cosas y más hacen que todo valga la pena. Además, es un trabajo de constante aprendizaje. Incluso si diera la misma materia 50 veces, aún hay algo nuevo que aprender, pensar y discutir.

Este trimestre estoy dictando el curso de Traductores e Interpretadores, una de mis materias favoritas de la carrera (y también una de las más heavy metal, jajaja). Hoy, fue la clase sobre Máquinas de Turing: su contexto histórico, definición y variantes. ¡Como me encanta esa clase! Jajajja. Y disfruté muchísimo dándola. Es casi mágico como el mundo abstracto de las matemáticas puede traer consigo aplicaciones prácticas. Después de todo, la computación es a la matemática, lo que la dinámica es a la física. La dinámica describe el movimiento de las estructuras físicas (el mundo real y tangible). La matemática describe mundos abstractos mucho más ricos, limitados solo por la imaginación y el esfuerzo. La computación es la dinámica de estos mundos. :)

Y bueno, solo esto quería compartir por ahora. Una breve nota en honor a ese sentimiento tan genial que es dar clase sobre algo que disfrutas mucho y sentir que lograste transmitir el mensaje (aunque sea en parte). De verdad, encontré mi vocación y haré todo lo posible por aprender y mejorar cada día más, tanto como merece el talento de la gente tan genial a la cual tengo el privilegio de enseñar. ¡Hasta una próxima entrada! :D

viernes, 10 de enero de 2014

Computación vs. Física... Why not both?

La verdad, siempre he sabido que pertenezco a una clase extraña de computista. Mi área de investigación, "Lenguajes de Programación y Semántica Formal de Programas", es una de las más abstractas y exigentes ramas por la que un computista se puede ir (sin mencionar que no es muy lucrativa, jajaja). ¡Pero me encanta! De la misma forma, muchas cosas que le gustan al estereotipo de computista (como el animé o los videojuegos) realmente no me llaman la atención. Me encanta desarrollar videojuegos por los algoritmos y técnicas astutas que deben emplearse, pero debo decir que jugarlos rara vez me apetece.

Sin embargo, una de las cosas que me distingue definitivamente de muchos computistas (o al menos eso pensaba), es que me encanta la física. Y no realmente la sacadera de cuentas que lo ponen a uno a hacer en las materias básicas de la universidad o en bachillerato. Lo que me encanta es entender como se comportan las cosas y ser capaz de modelarlas usando estructuras matemáticas. Establecer una base axiomática que se acople al comportamiento del universo (o al menos a un subconjunto del mismo) me parece increíblemente interesante. En otro de mis blogs, ideas-nada-mas.blogspot.com, una buena cantidad de entradas se tratan sobre pensamientos relacionados con témas de la física. Muchos deben estar más que malos, por falta de conocimiento y experiencia, pero era divertido escribirlas. :)


Nerd-celebridades como Randall Munroe de xkcd, así como algunos amigos físicos que conozco, me han hecho ver que a mucha gente que estudia física, les interesa también la computación y de hecho pueden llegar a ser bastante buenos aplicándola a lo que saben. Sin embargo, el converso no parecía ser cierto. La gran mayoría de los computistas que conocía ODIAN la física y en especial las materias que debemos ver en la USB sobre ella. Muchos la dejan a lo último de sus carreras, ya que no prela mas nada en nuestro pensum. Y bueno, no son las materias más divertidas del mundo, pero tampoco para odiarlas pues, jajaja.

But wait... Últimamente he descubierto que a una buena cantidad de amigos computistas también les gusta la física e incluso tienen el conocimiento evidente de una persona que la ha estudiado más allá de simple cultura general. ¡Esto es genial, realmente! Recientemente tuve una conversación sobre transformaciones de Lorentz y las aparentes paradojas que trae, al igual que sobre la percepción entre un observador y un ente indestructible que cae por debajo del radio de Schwarzchild de un hoyo negro dado. ¿Como se ven mutuamente y que le pasa a sus tiempos locales? No importa si estábamos razonando fuera del recipiente, simplemente fue divertido pensar y discutir. :)

Y esto es lo que quería compartir por ahora. El cuento de un computista raro al que le gusta la física y descubre que no está sólo en el mundo, jajaja. Hasta una próxima entrada. ¡Y que la derivada del momentum con respecto al tiempo los acompañe! :D

miércoles, 8 de enero de 2014

¡Feliz añooo & STFU!

Ya vamos a 8 días de haber empezado este nuevo año 2014 y poco a poco volvemos a nuestras rutinas y actividades de siempre. Debo confesar que esta época del año me gusta mucho, por que la gente está llena de alegría y de esperanzas, y muchos quieren compartir esa alegría contigo si bien sea con solo un abrazo y un "feliz año". El mundo sería mejor si fuéramos así siempre, creo yo. :)

Pero el post de hoy no es sobre lo genial que es desearles el feliz año a todas las personas que quieres y estimas, sino sobre un acto de arrogancia desmedida que se incrementa año a año y que siempre me ha molestado un poco. Afortunadamente, la gran mayoría de las personas recibe un "feliz año" con una sonrisa y un abrazo, o al menos un apretón de manos. Pero los hay pocos, aunque en números ascendentes, que te ven con desprecio y te dicen cosas como:

  • ¿Vas a seguir con eso todo Enero?
  • Ya van más de 8 días, supéralo.
  • ¡Iluso! ¿Que feliz año va a ser si seguimos en la misma mierda?
  • Que fastidio la gente que se la pasa dando el feliz año. ¡Ay si, dimos otra vuelta al sol! ¡Gran vaina!
  • λ (frase vacía, simplemente se quedan mirándote como bicho raro.)

¡Feliz año marik!


Seriamente... Relájense un poco. Enero completo es aproximadamente 1/12 del año, lo cual corresponde a menos de 10%. ¿Es tan malo desear un feliz año cuando aún resta 90% del año en cuestión? Y aún si restara mucho menos. ¿Como les puede molestar que les deseen felicidad? Está bien ser un poco hipster, pero estar en desacuerdo con todo, solamente por que es una costumbre popular, es totalmente ilógico en mi opinión.

Mucho de lo mismo pasa cuando se desea "Feliz Navidad" y la gente que por moda se autodenominan ateos solo aprovechan para refutar y echar tierra. (Claro, muchas personas ateas y religiosas son respetuosas de las creencias ajenas. No es mi intención generalizar en lo absoluto.) No se trata del posible o imposible hecho histórico, sino del sentimiento de alegría y hermandad que en muchos despierta. Lo mismo va para las fiestas de las demás religiones. A mi nunca podría molestarme que me desearan un "Feliz Hanukkah", por ejemplo. Al contrario, me honra que me incluyan en la celebración de sus creencias y me alegra el día.

Y bueno, esto era lo que quería compartir por ahora. Para que no quede que en este blog hay pura felicidad todo el tiempo, jajaja. Éste es un pequeño reclamo general a quien no puede disfrutar simplemente de un buen deseo sin pensar en costumbres, hechos históricos ni diferencias culturas. ¡Les desea un feliz, genial y excelente año 2014! Hasta la próxima. :)

miércoles, 1 de enero de 2014

Un Libro al Mes: Enero

En el pasado post ( http://bulda-e-blog.blogspot.com/2013/12/graciabale-2013-palante-marik-2014.html ), último del 2013, una de las cosas que me propuse fue leer al menos un buen libro al mes. Así, puedo aprovechar las maravillas que recién he redescubierto en la biblioteca de la USB y que no puedo seguir ignorando así (must learn new things! XD).

El libro que me propongo leer para Enero está íntimamente relacionado con mi trabajo de maestría, como un antecedente de suma importancia. Como para no salir del tema (dado que pronto sería la defensa) y ahondar más en lo que considero un libro bastante interesante y divertido de leer, me propongo leer entonces:

"Predicate Calculus and Program Semantics"
de Edsger Dijkstra y Carl Scholten
(publicado en 1990, por la editorial Springer-Verlag)

Ya he leído dos o tres capítulos del libro y está sumamente bien escrito, fácil de entender e interesante. Además, la clásica arrogancia de Dijkstra hace que algunos párrafos hasta den un poco de risa, jajaja. Después de todo, Alan Kay decía: "Arrogance in Computer Science is measured in nano-Dijkstras". No puede constarme que así sea, pero aún así la cita es épica. XD

Una vez termine de leerlo posiblemente escriba otro post con lo que más me gustó, lo que no y lo que considero lo más importante/divertido/interesante del libro. Por ahora, les cuento que muy a grandes rasgos el libro trata de explicar un cálculo (reglas de manipulación) aplicado a programas y especificaciones para los mismos, introduciendo con este objetivo los transformadores de predicados (concentrándose principalmente en la precondición más débil). Para esto, se propone una manera ecuacional de tratar con la lógica de predicados que ellos mismos describen como lo suficientemente formal como para que no haya confusiones, pero sin llegar al punto de que las manipulaciones sean ilegibles y antintuitivas.

Nota aparte, es gracioso como muchos nombres famosos de las ciencias de la computación son reconocidos por trabajos que quizá no fueron los más relevantes que tuvieron (al menos en mi opinión). Dijkstra es mayormente conocido por su algoritmo para hallar caminos de costo mínimo, en grafos sin arcos de costo negativo, en O(n.log(n)). Sin embargo, su mayor contribución es posiblemente aquella de los transformadores de predicados para razonar sobre programas (y muchas otras cosas más). Igualmente, Tony Hoare es conocido por su algoritmo de ordenamiento de arreglos: Quicksort. En mi opinión, su definición de tripletas de programas y especificaciones en conjunto con las relgas de manipulación de las mismas es mucho más relevante. Aunque bueno, ese pudiera ser el "formal methods geek" en mi hablando simplemente, jajaja. :P

Bueno, con esto los dejo por ahora. ¡Es el primer post de muchos en el 2014! Y todo el que quiera sigue bienvenido de compartir la bulda.e.locura si les parece interesante, jeje. Hasta la próxima. Bytes! :D