Computación en la era de la Información
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
Imagen: http://flickr.com/photos/mybloodyself/2225047118/
- blog de agraves
- 552 lecturas



Hay bastante de esto...
Vamos por partes:
Discretas Vs Estadística: Estoy de acuerdo con que se hace necesario saber más estadística, pero no con que sea en opisición a las matemáticas discretas, que quedan implícitamente descritas como "análisis de la minucia", siendo que son un "análisis de lo finito y numerable" (coloquialmente, no faltará el riguroso que me retará que bastaba decir numerable, o que estoy siendo simplista).
Teoria de Grafos: Es cierto que los teoremas son cachables "al ojo" en grafos pequeños, pero lo que comentas suena como a que la teoria de grafos se desarrolla así y tiene límites por considerar estructuras pequeñas. Eso es un tanto confuso para quién no conoce del tema, pues en realidad la gente que se dedica a teoría de grafos lo hace tomando grafos con cantidad de nodos arbitrarios, y de todos modos, muchos problemas residen en la complejidad de las estructuras que pueden residir en grafos pequeños, una componente como la que mencionas es solo una, pero hay más como "Cienpies", "Cangrejos", entre otros, con profundas implicancias en muchas cosas, por ejemplo esta, o más general esta (ver más aquí).
Cambio de fase, distribución de potencia y fenómeno del mundo pequeño: Aqui también hay trabajo hecho, básicamente, cosas como grafos aleatorios, enumeración algebraica (el link es pobre pero no pude pillar en tiempo de escritura de post algo más razonable, quizás esto sirva un poco más, o pueden ver los trabajos de este verdadero Mc-Gyver de las matemáticas), y por supuesto sistemas dinámicos discretos (con varios teoremas importantes brindados por Eric Goles y Servet Martínez). Para mejores referencias de esto, recomiendo visitar las páginas de Anahi Gajardo, Julio Aracena y Andrés Moreira, pues en la red es algo confuso el tema (deberemos esperar a la red semántica :P). hint: cualquier cosa con olor a venir de europa del este puede dar en el blanco :P. Un ejemplo notable es la hormiga de langton (ahi entenderán porque Eric Goles le da tanto color a las hormigas).
Datos en dimensiones muy grandes: Es un problema esto de la dimensionalidad. Por ello, en mi opinión personal, el trabajo futuro viene en la clasifiación de patrones en espacios de dimensión infinita, via Support Vector Machines. Un buen libro es es este y un investigador notable del área es Olvi Mangasarian (quien dicen las malas lenguas no le gustó como diagnosticaban cancer de mama a su señora y se metió a hacer un clasificador para ello).
Identificar Patrones: Si, pa allá va la micro :P
En general, el trabajo avanza, pero toma su tiempo alcanzar el "mainstream".
Saludos!
--Raliaga
Por fin puedo
Por fin puedo responder!
Primero, gracias por la respuesta tan completa....
Sólo un punto en que no estoy de acuerdo: Aunque tiens razón que la teoría de grafos es independiente del tamaño de éstos, no es menos cierto que muchos fenómenos sólo son perceptibles como tales a gran escala. Por ejemplo, probablemente en una red social de 10 nodos, la distribución de potencia no será distinguible de variaciones circunstanciales.... Sólo cuando empiezas a agregar más y más nodos empieza a aparecer. Es por esto que, sin deshechar todos los avances, creo que es necesario pensar la teoría a otra escala.
La analogía que se me ocurre es que, a pesar de que teóricamente los computadores de los 50's son igual de expresivos ("poderosos") que los de ahora, los desafíos, metas, posibilidades actuales, etc.. eran inimaginables en esa época.
—
agraves
Si, pero...
Eso que dices de "distribución de potencia" es cuando restringes el estudio de la Teoria de Grafos al estudio de Grafos Aleatorios (eso que mencionas como distribuciones de grados en grafos es parte de ella), que es una de las tantas disciplinas que si bien no tiene la antiguedad de las otras, está emergiendo y toma su tiempo en mostrar resultados que emergan a toda la comunidad científica.
Pero los estudios aplicados a veces vienen de combinaciones interesantes de ellas, como por ejemplo: tienes un terreno peligroso (jungla, desierto, etc, rectangular para simplificar) que tiene incomunicadas dos estaciones, pero dispones de un avión que puede recorrer la zona tirando a una tasa por determinar pequeñas antenas en el desierto, con bateria suficiente y razonablemente baratas para poder asegurar que cada una funciona como un dispositivo "peer to peer", es decir, puede recibir mensajes y transmitirlos a sus vecinos.
La pregunta es: ¿Cuál es la trayectoria que debe realizar el avión y a que tasa debe arrojar las antenas de modo que cuando se enciendan, creen una red que comunique ambos extremos incomunicados, y sea robusta a perder un número determinado de antenas o un número determinado de conexiones? (robusta en el sentido de que se asegura conexión).
Matemáticamente podemos decir: ¿Cual es la trayectoria del avión y la tasa de arrojo de antenas para asegurar que la red sea k-nodo conectada y k'-eje conectada? Esta pregunta combina elementos de Grafos aleatorios y conlleva intrínsecamente preguntas "estructurales" que son las típicas de matemáticas discretas.
La finitud no implica simplismo. Los grafos grandes que salen de aplicaciones proveen estructuras interesantes a estudiar, pero son seguro los hombros de gigantes con los que se podrán explicar esos fenómenos.
Saludos!
--Raliaga
P.S: Aqui hay un link más decente para enumeración en grafos, y es teoria Algebraica de Grafos. Esos eran los wenos nombres.
Chuta... qué wen comentario raliaga
Te pasaste, raliaga. Súper buen comentario, da incluso pa' post por lo bien documentado :)
—
Cristian 'Tama' Bravo Lillo - cristian@menokitan.cl
sushiknights.org | menokitan.cl
¡Notable!
Estoy plenamente de acuerdo. El problema es cómo llevar esos principios a las aulas de computación. Hace un par de días estaba mirando unas estadísticas que tiene el sitio http://www.trabajando.com para el mercado laboral chileno, y a pesar de que las carreras de computación tienen buena remuneración cuando se las compara con otras, y tienen un tiempo de recuperación de la inversión relativamente corto (6 años), de todas maneras la preferencia de los alumnos de enseñanza media (que es como llamamos a la high school en Chile) por carreras de computación está "estancada". Lo que es realmente complejo en un mundo donde la demanda por profesionales de computación está en aumento exponencial. Uno podría pensar "¡Bacán! ¡Mi sueldo va a aumentar dentro de algunos años!", lo que puede ser cierto pero en realidad este tipo de cosas son malas para el pais en general.
—
Cristian 'Tama' Bravo Lillo - cristian@menokitan.cl
sushiknights.org | menokitan.cl
Enviar un comentario nuevo