miércoles, septiembre 16, 2009

El genio de la inteligencia colectiva

Ya en su momento hablé sobre un libro llamado Sistemas Emergentes (más información sobre el libro en aNobii) en que se presentaba el concepto de emergencia y comentaba cómo este principio parecía haberse aplicado, en primer lugar, a la programación de colonias virtuales de hormigas y más adelante a Internet, dentro de comunidades de noticias que los usuarios se encargaban de filtrar tan solo dejando constar sus gustos.

En ese post, bastante ingenuo e inocente por otra parte, comentaba mi inclinación hacia la idea de emergencia. Después de eso logré hacer el PFC "simulando" la Evolución, que me costó un año y medio más, y ahora me encuentro camino de una tesis que pretende aprovechar esas mismas ideas y en un área de investigación donde la emergencia se presenta como posible solución a muchos problemas.

En esas estamos cuando hace un par de meses me compré un libro titulado Inteligencia colectiva, Desarrollo de aplicaciones web 2.0 . No me suele gustar leer libros de programación (demasiado concreto y poco paja mental para mi) y creo que el último que había leído había sido en 2º de carrera y no era propiamente programación.

Sin embargo, este libro venia precedido por las críticas de gente sabia y parecía tocar uno de mis temas preferidos desde un punto de vista más realista y que, a medio plazo, podré aprovechar para los asuntos que tengo abiertos con algún grupo de investigación además de para adquirir algo más de conocimiento básico para un desarrollador web de hoy en día. Así que tras unas cuantas dudas me lo compré.

El libro está muy muy bien. Comienza con una presentación de O'Reilly (un gurú en el mundo de la web y uno de los coinventores del famoso término 'Web 2.0') que muestra el libro como el primero (o al menos de los primeros) que toca realmente el tema de 'cómo programar en la web 2.0' no desde la perspectiva del dinamismo y la fanfarria, sino desde el punto de vista de la generación de información.

Por poner un ejemplo, la parte más importante de sitios como Last.Fm no es tanto su aspecto, usabilidad y dinamismo (que de hecho cambió en alguna ocasión sin mayor repercusión) como la capacidad que tiene para extraer relaciones inexistentes a priori entre los distintos elementos (usuarios, músicos y canciones) que componen la comunidad. Es de esas relaciones inexistentes a priori, pero implícitamente creadas por los usuarios, de lo que va este libro.

El libro tiene implementaciones de cada una de las técnicas que explica y va haciendo crecer los ejemplos de una manera muy coherente para que, de repente, te encuentres con un algoritmo bastante potente ya implementado. En este aspecto solo podría estar mejor si al libro lo acompañara un CD con los códigos ya escritos (no soy de los que creen que copiar código de un papel te enseñe algo).

Por supuesto, los ejemplos están implementados de la manera más simple posible, huyendo de cualquier otra complicación que no sea el propio algoritmo. Así, los ejemplos suelen alimentarse a base de arrays, los servicios web se consumen sin tolerancia a fallos ni caché y, en general, sabes que las implementaciones se tendrían que optimizar mucho antes de poder ponerlas en producción en cualquier entorno (más aún si hablamos de entornos en tiempo real).

Eso no quita para que algunas partes del libro se hagan densas y difíciles. Particularmente densa se me hizo la parte relativa a redes neuronales (quizás el ejemplo menos claro del libro). Y en otras ocasiones la complejidad no se explicaba al escaparse de los objetivos del libro (como ocurrió con las SVM) dejándote con sabor a poco (en el caso de las SVM tenía ganas de una buena introducción).

Estaba cerca de terminar la lectura del libro cuando en el trabajo un compañero descubrió Akinator, el genio de la web en su versión de aplicación para iPhone.

Akinator es una aplicación web que asegura adivinar tus pensamientos y juega contigo una partida de "¿Quién es quién?" en la que a base de preguntas, a veces un tanto atípicas, es capaz de adivinar en qué personaje estás pensando.

Akinator consiste en una base de datos de preguntas y respuestas sobre personajes bastante grande (tiene muchos personajes) y adivino que utiliza algún tipo de algoritmo emergente para conseguir extraer la identidad del personaje sin tener que realizar todas las preguntas posibles.

El efecto que consigue está muy bien en algunos casos, pero en otros casos resulta sorprendente cómo a partir de aspectos aparentemente triviales puede conseguir adivinar la identidad.

Evidentemente no conozco los detalles de implementación internos pero no me sorprendería ver que utiliza algún tipo de modelo en forma de árbol de decisión o algunas otras de las técnicas que se explican en el libro.

Si no fuera por los tiempos en que vivimos no sería extraño que una "adivinación" del tipo que se presenta en esta aplicación fuera visto como algo mágico, poderoso. Sin embargo, hoy el conocimiento está más cercano a nosotros y podemos saber de qué manera una máquina que nada tiene que ver con nuestro pensamiento puede adivinar lo que pensamos a partir de preguntas aparentemente inconexas y contradictorias.

Aunque claro, por otra parte, ahí siguen los adivinos y los horóscopos...

sábado, enero 10, 2009

Just-so story

Hace años nos pusieron un ejercicio de escritura en el colegio. Consistía en crear una leyenda que explicara algo concreto acerca de algún animal que eligieramos, lo que al parecer se llama Pourquoi story o Just-so story según la Wikipedia.

Mi historia trataba de la amistad de un toro alado y un loro rojo sin alas (porque antes los loros no tenían alas) hasta que el loro engañaba al toro y le robaba sus hermosas y enormes alas con la excusa de conseguir comida de un árbol. El toro le persiguió furioso mientras el loro se deshacía de parte de las alas (eran demasiado grandes) hasta que escapó. Por eos los loros siguen teniendo alas y los toros se lanzan contra las cosas rojas. Quería poner la historia en el blog, pero encontrarla va a ser casi imposible.

Hace un tiempo, después de mi post sobre If de Rudyard Kipling bajé a la FNAC y me compré un libro suyo que se llama Cuentos de Así fue cómo. El libro parte de la misma premisa que el ejericio de escritura ya comentado y de hecho, su título en inglés (Just So Stories) es lo que da nombre a este tipo de historias.

La lectura está muy bien, es un libro ligero que se lee en poco tiempo y que al estar dividido en cuentos cortos se hace ideal para pequeños viajes en bus de la que vas al trabajo (vamos, donde yo lo leí). Los cuentos son leyendas bien escritas, con moralejas bastante simples, pero que permiten a uno adivinar cómo la ilusión infantil puede acoger estas historias tan entretenidas. Una de esas lecturas que seguramente hubiera sido más apropiada hace años pero que nunca está de más.

Mientras buscaba un enlace del libro en la Wikipedia llegué al término Just-so story y me hizo gracia leer la definición:
It describes an unverifiable and unfalsifiable narrative explanation for a cultural practice or a biological trait or behavior of humans or other animals.
y ver lo cerca que está de algo que hablé ayer mismo con Ella y algunos amigos cuando discutíamos sobre las explicaciones forzadas a hechos históricos concretos, que no se basan en pruebas directas pero que son fácilmente admisibles debido a que "encajan".

jueves, enero 01, 2009

10 items or less

Como sabrán aquellos que me conocen, intento ser siempre de naturaleza optimista y por eso en mis resúmenes de fin de año que me hago por estas fechas siempre trato de resaltar las cosas buenas sobre las malas, porque al fin y al cabo las malas ya han pasado y las buenas siempre tienen sus efectos a largo plazo.

Por ejemplo, hace un par de años estrenaron en Oviedo una película que pasó bastante desapercibida, Dame 10 razones (en el original 10 items or less en referencia al trabajo de la protagonista). Esta película muy corta y humilde protagonizada por Morgan Freeman y Paz Vega se basa en el encuentro de ambos (un actor sin nombre en tiempos bajos y una cajera sobreexplotada) y en el desbordante optimismo y confianza del primero, así como su interés por ayudar a la segunda.

En cierta escena de la película le propone dos preguntas del estilo "10 items or less"(por ejemplo, 10 razones para descargarse la película): cosas que te gusten y cosas que no te gusten. La idea de la pregunta es hacer una lista rápida, sin grandes pensamientos trascendentales, más espontánea. Hace poco volví a ver la película y me pareció buena idea aprovecharlo.

Antes de ir con mi lista hago el llamamiento a todos aquellos blogs que sigo asiduamente (vosotros sabéis quienes sois) y sobretodo a aquellos que no han sido actualizados últimamente (no me hagáis señalaros) a continuar este meme si así lo desean (como todos los memes). En 10 cosas o menos, ¿qué te ha gustado del 2008? ¿qué no te ha gustado (se sobreentiende que son cosas que te gustaría que no estuvieran este año)?

Cosas buenas del 2008




  1. Sentir que hay alguien con quien siempre puedo contar.

  2. Libertad.

  3. Un trabajo donde me gusta estar.

  4. Compañeros (y directores) que estimulan, no obligan.

  5. El inicio de mi carrera investigadora.

  6. Los artículos aceptados.

  7. El viaje al extranjero.

  8. La lectura.

  9. La música descubierta.

  10. El sexo.




Cosas malas del 2008




  1. El tener que despedirme cada noche. Comienza a hacerse insoportable.

  2. La falta de auténtica intimidad.

  3. La falta de definición del futuro.

  4. La falta de tiempo para mi en alguna época.

  5. Mis impaciencias.

  6. Las indecisiones, dudas y tristezas.

  7. La sensación de alejamiento con algunos amigos.

  8. La desagradable sensación de sentirse incomprendido.

  9. La desagradable manía de algunos de ver su visión del mundo como la única admisible.

  10. Las veces que he fallado a alguien



Esperemos que para el 2009 se potencien algunas y otras queden resueltas. Espero que todos tengáis vuestras listas y que os esforcéis en que así sea.

Feliz año.

P.D: La película incluye una escena en que ambos cantan en un coche y Paz Vega hace cantar en español a Morgan Freeman "Al pasar la barca". Claro, en español la escena queda un tanto rara porque luego le explica la canción, pero en versión original tiene más gracia (además de ver a Morgan Freeman cantar en español). En Youtube hay una escena en VOS aunque hay otra version que se escucha mejor pero es más corta.