Computación en la era de la Información

Computación en la era de la Información

Miércoles 16 Abr 2008

Hace algunas semanas tuve la oportunidad de asistir a una charla de John Hopcroft. Para quienes no lo conocen, es un "computín" ganador del premio Turing (equivalente al Nobel en computación), ACM fellow, IEEE fellow, experto en analisis de algoritmos, entre otras muchas cosas.... O sea, un tipo que sabe de computación. En esa charla habló sobre su visión respecto a la educación en ciencias de la computación de acá a 30 años más, y quisiera compartir con ustedes las impresiones que me dejó. Si no te interesa mucho la computación como ciencia, te recomiendo que sigas el consejo de Maz y leas XKCD, porque esto da para largo :-)

Sin tratar de dar una receta específica (lo cual me parece muy atinado) Hopcroft comentaba sobre diversos énfasis que tienen los planes de estudio de computación y como algunos de éstos deberían ser trasladados a otros ámbitos.

Matemáticas discretas vs. Estadística

En la medida que la cantidad de datos a los que tenemos acceso va creciendo, cada unidad de información va importando menos, y generalmente es más importante ciertos valores totales más que el detalle. Es así como la estadística toma mayor relevancia para ser capaces de entender este flujo gigantesco de información a los que nos enfretamos.

Teoría de grafos

La teoría de grafos clásica trata sobre conjunto de nodos pequeños (<50), donde mucho de los teoremas son fácilmente entendibles "al ojo". Sin embargo cada vez tenemos grafos más y más grandes: basta pensar en la Web que tiene varios miles de millones de páginas. Es así como se necesita una nueva teoría de grandes grafos.

Asimismo conceptos como la existencia de un gran componente (esto es, un grupo mayoritario de nodos que están conectados entre si y sólo hay unos pocos nodos "sueltos") se ha hecho presente en una gran variedad de situaciones (desde redes sociales hasta interacciones entre proteínas). Es necesario tomar esto en cuenta al momento de desarrollar nuevos sistemas y teorías.

Cambio de fase, distribución de potencia y fenómeno del mundo pequeño

Siguiendo en la línea de los grafos (aunque también aplicable a otras áreas) es importante poder analizar qué y cómo ocurre que la suma de pequeños camibos en un sistema lleven, en algún momento determinado a un cambio radical en el sistema completo. Ejemplos hay muchos: la aparición de un componente gigante, o si se quiere, en qué momento en facebook vamos a ser todos amigos con todos (siendo que el pequeño cambio es agregar amigos de a uno).

El Small World Phenomenon y las distribuciones de potencia se encuentran en todos lados: desde como escribimos a la importancia de los aeropuertos por cantidad de conexiones y la distribución de terrremotos. Es importante entenderlos y buscar aplicaciones a estos fenómenos.

Datos en dimensiones muy grandes

Aunque nuestro mundo real es de 3 dimensiones espaciales, el uso de grandes volúmenes de información con una gran catidad de variables nos obliga a trabajar en espacios de muchas dimensiones que son bastante contraintuitivos. Un ejemplo (que no voy a probar acá ya que haría este post más latero :-) es como el volumen de una esfera tiende a cero en la medida en que aumentan las dimensiones, ya que los datos altamente dimensionales son inherentemente inestables. Asimismo se hace cada vez más importante el buscar nuevas técnicas de reducción de dimensiones. para tratar de manejar y entender estos datos.

Identificar tendencias y patrones

El gran negocio del siglo XXI ha sido la búsqueda y ranking de información. Si no me creen, pregúntenle a la gente de Google. Según Hopcroft, estoseguirá siendo cierto por varios años más, por lo tanto cada vez se hace más importante ser capaces de procesar grandes volúmenes de datos y descubrir las tendencias antes de que éstas ocurran (y antes que otro lo haga, ahí está el negocio :-) ). Quedan las preguntas, ¿Qué tan grande debe ser un cambio para diferenciarlo de una fluctuación aleatoria en los datos? Respuestas a este tipo de preguntas es uno de los grandes desafíos actuales.

Conclusiones

Uno podrá estar de acuerdo o en desacuerdo en puntos específicos, sin embargo a mi me parece correcto lo que afirmaba Hopcroft respecto a que "los sitemas operativos, hardware, etc. son temas importantes, pero ya no son lo más importante en la computación" (*)

(*) Esta es una traducción mía libre sobre lo que recuerdo que dijo, pero la idea es más o menos la misma

¿Estás de acuerdo con estas ideas? ¿Qué crees que falta/sobra en estos puntos?

Imagen: http://flickr.com/photos/mybloodyself/2225047118/

Foto de Alvaro Alvaro Graves @alvarograves PhD en Ciencias Cognitivas e Investigador en temas de Open Data, Visualizaciones, Web Semántica, eScience y Web Science. Ingeniero civil en computación. http://www.graves.cl