|
Qué
diferencia hay entre trabajar con una computadora e investigar en computación?
Porque hoy en día la informática y las computadoras están
por todas partes, pero supongo que no es lo mismo usar una computadora
que investigar científicamente en informática.
Esteban Feuerstein: no es lo mismo, claro. Es la diferencia que
va de manejar un auto a ser ingeniero automotriz. Incluso algunas de las
ramas de la informática son menos parecidas a ser un ingeniero
y se parecen más a ser un físico teórico. Lo que
yo hago, por ejemplo.
Algoritmos
¿Y qué es lo que hace?
Algoritmos.
¿Algoritmos?
Los algoritmos son el corazón de la informática, sobre
eso no hay demasiadas dudas. Algoritmos, las instrucciones para que las
cosas se hagan automáticamente, trabajar con computadoras es trabajar
con algoritmos. ¿Sabe de dónde viene la palabra algoritmo?
No.
Del matemático árabe Al-Jawaritzmi del siglo IX. Fue
el autor de un Tratado de Aritmética que tuvo una influencia enorme
en el desarrollo de las matemáticas en Occidente. Y su nombre latinizado
era Algoritmus.
De paso, dicen que el más grande de los matemáticos
árabes medievales fue Omar Khayam, el poeta del siglo XI. Pero
volviendo al siglo XX, o casi XXI....
Sí, le decía que yo trabajo en algoritmos. La rama
se podría llamar informática teórica y dentro de
la informática, algoritmos, complejidad, análisis de algoritmos,
diseño de algoritmos, traducido a un lenguaje más fácil
es pensar cómo se puede instruir a una computadora para que haga
algo automáticamente, para resolver problemas difíciles.
¿Cómo cuáles?
Como tomar decisiones que optimicen cierto objetivo (dicho técnicamente
sería una función objetivo), tomar decisiones
correctas, tomar un camino más corto, o más barato, o encontrar
la mejor forma de hacer alguna tarea. Hay herramientas matemáticas
que permiten modelar una cantidad inmensa de problemas reales, redes de
transporte, redes de comunicaciones, decidir la forma más rápida
para que un mensaje de correo electrónico viaje de un nodo a otro
y la forma más barata para que los camiones de una empresa repartan
un producto, o ver si la estructura caminera existente permitesoportar
el flujo de automóviles en una hora pico, o hay que agregar más
obras, o cuál es la forma más barata de comunicar dos sitios
que no están comunicados.
Son problemas que a veces parece que sólo pueden resolverse
a ojo...
Pero se pueden cometer gravísimos errores, puede haber enormes
desperdicios, gastos inútiles. Si uno va a cualquier lado y encuentra
como trabajan en optimización, es muy probable que lo hagan a ojo,
y a ojo en empresas que trabajan hace muchos años y que el tiempo
la fue optimizando, los desvíos no son tan graves. Sin embargo,
siempre se puede mejorar. Lo que pasa es que muchos son problemas muy
difíciles, sale caro encontrar la mejor solución, y a veces
una solución cercana a la óptima alcanza. Esto, mal o bien
existe en subtes, trenes, repartidoras, empresas de correos, petroleras,
en toda la actividad económica, transportes, problemas de comunicaciones,
asignación de recursos escasos...
El problema del viajante de comercio
Y su tema de investigación...
Bueno, dentro de este tipo de cuestiones, yo me ocupo de problemas
que se llaman on line, que son problemas en los cuales hay
que tomar decisiones, pero en general, sin tener los datos completos del
problema en el momento de tomar las decisiones.
Por ejemplo.
Por ejemplo el famosísimo problema del viajante de comercio,
que es un problema clásico. Consiste en decirle a un camión
de Coca Cola o al cartero, cuál es la forma más corta de
recorrer un conjunto de lugares y volver a la base, es un problema que
parece fácil, pero que es...
Bueno, pero por qué se llama del viajante de comercio,
si me habla de carteros....
El cartero y el viajante de comercio son matemáticamente
equivalentes...
Ah sí, es un teorema famoso... .
Porque el planteo original es con un viajante de comercio que tiene
que recorrer un cierto número de ciudades y uno conoce las distancias
entre las ciudades, y algún otro factor, como por ejemplo el costo
de ir de una ciudad a otra, y hay que elegir el mejor recorrido. Si se
trata de tres ciudades.
Digamos Córdoba, La Plata, Anillaco.
Ahí se hace a ojo. Es fácil.
Yo iría primero a Anillaco.
O cualquier otra combinación... son seis recorridos posibles
en total. Uno los mira, ve cuál es el mejor y listo.Pero si hay
sesenta ciudades, hoy en día resolverlo en forma exacta es imposible,
porque requiere analizar todas las posibles combinaciones y hay que analizarla
todas, y es un número espeluznante.
Cuánto, más o menos.
Más o menos 832. 098. 711. 274. 100. 000. 000. 000. 000.
000. 000. 000. 000. 000. 000. 000. 000. 000. 000. 000. 000. 000. 000.
000. 000. 000. 000 recorridos posibles.
Y, sí, parece bastante.
Y lo es. Ahora, piense que la cantidad de segundos que transcurrió
desde que empezó el universo, hace quince mil millones de años
es 157.680.000.000.000.000.
Bastante menos.
Muchísimo menos. Y ahora imagínese una computadora
que examina mil millones de combinaciones por segundo. Si la computadora
hubiera estado trabajando desde que empezó el universo, todavía
no habría terminado, en realidad se puede decir que todavía
no habría empezado, no habría revisadoni siquiera un millonésimo
de millonésimo por ciento de todos los itinerarios posibles.
Bueno, entiendo que haya que usar métodos aproximados.
Con esas cifras...
Y no es un problema puramente teórico, porque por ejemplo,
en los Estados Unidos cuando se organizan campeonatos nacionales de fútbol
americano, y un conjunto de equipos tiene que recorrer cien ciudades,
las consultoras que organizan esos campeonatos cobran millones. O el camión
de la basura, o el camión de gaseosas que tiene que pasar por 40
almacenes.
Bueno, pero una distribuidora no va a poner a una computadora
a trabajar desde el principio del universo para diseñar el recorrido
del distribuidor de gaseosas.
Naturalmente no, pero un buen diseño a la empresa puede costarle
diez veces más o diez veces menos. Ahora imagínese a nivel
industrial, cuando un brazo mecánico tiene que armar un chip, y
perforar en 50 lugares, el tiempo que tarda depende de cuánta distancia
recorre el brazo y para fabricar el chip más barato hay que encontrar
el mejor recorrido.
El viajante de comercio on line
Ese es el problema del viajante de comercio clásico. La solución
óptima en la práctica no la encuentra, se buscan soluciones
cercanas, pero a ojo no se pueden encontrar.
A mí me pasa que si tengo que ir a cuatro lados y el recorrido
no sale de repente a ojo, me lleva un tiempo enorme saber cómo
organizar ....
Le decía que esa es la versión clásica, a la
mañana tiene los 50 lugares, planifica el mejor recorrido como
puede, y empieza. Pero la cuestión es qué pasa si uno tiene
que empezar a trabajar sin saber todos los lugares a dónde va a
tener que ir. Por ejemplo, el camión de una empresa de correos,
que anda de recorrida, pero tiene un celular y de repente los llaman y
les dicen tenés que ir también a este lugar.
Y entonces, toda la planificación se puede ir al diablo con un
llamado y todo se desarma y se termina haciendo un recorrido extra porque
al empezar no se tenían los datos completos. Fíjese que
ahí hay algo nuevo: por más que uno tenga poder absoluto,
poder infinito de cómputo, acá hay una dificultad nueva
que es tomar decisiones sin conocer completamente los datos: ¿cómo
puedo elegir el mejor recorrido, si en realidad ni siquiera sé
a dónde voy a tener que ir?
¿Y entonces?
Entonces, ahí tiene al viajante en tiempo real, o on
line y hay distintas formas, y hay que diseñar algoritmos
y utilizar estrategias que traten de trabajar en forma equilibrada preparándose
para cualquier cosa que pueda pasar y que nada las sorprenda. Eso se llama
análisis de competitividad y tiene relación con teoría
de la decisión y de juegos.
¿Y qué se hace?
Lo que se hace es evaluar la bondad de una estrategia comparándola
con lo mejor que se hubiera podido hacer si se hubieran conocido los datos
de antemano. En el caso del camión, ¿cuándo se puede
decir que la estrategia que usó es buena?. Cuando la estrategia
que siguió no le dio ni la pudo dar un resultado mucho peor que
si se hubiera conocido al principio todos los datos que le dieron mientras
estaba repartiendo. Hay otras estrategias, como pedir que en promedio
funcione bien, lo cual también tiene sus dificultades. En los problemas
on line la dificultad es tomar decisiones sin conocer todos
los datos ni el futuro.
Eso es la vida, me parece.
Y, sí. Entonces, ¿qué es una buena estrategia?
Una estrategia que garantice que... es decir, bueno, yo garantizo que
si lo hago de esta manera, garantizo que pase lo que pase, aunque uno
no consiga lo mejor, nunca va a bajar de, digamos, de la mitad. Es decir,
aunque venga un diablito a tratar de joderte la vida esta estrategia garantiza
que no te va poder hacer demasiado daño.
Un puente
Fíjese que aun conociendo todos los datos, también
es difícil tomar decisiones óptimas computacionalmente.
Imagínese con datos incompletos: si, volviendo a nuestro camión,
uno muchas veces ni siquiera sabe la distancia, por no hablar del tráfico.
Esos son modelos más complicados, y hay modelos y problemas en
los cuales uno va descubriendo los datos sobre la marcha.
¿Por ejemplo?
Hay un montón de posibles problemas. Un robot que tiene que
cruzar un río...
¿Cruzan los ríos los robots?
Un robot que está en Marte...
En Marte no hay agua... que yo sepa...
Decía. Un robot tranquilamente puede tener que cruzar un
río, y sabe que hay un puente pero no sabe dónde está
el puente.
Y explora.
Pero ¿cómo explora? Un robot o usted. Tiene que cruzar
un río y sabe que hay un puente, pero no sabe dónde está.
¿Qué hace? ¿Va para la derecha o para la izquierda?
Y fíjese que tiene que tratar de acertar, porque para usted el
tiempo es precioso, ya que el lugar es peligrosísimo y cae la noche.
¿Cuál es la mejor estrategia?
Si decido ir a la derecha o a la izquierda, corro el riesgo de
salvarme o de perderlo todo.
Efectivamente. Si eligió una dirección, y se equivocó,
sonó. Por eso, una estrategia razonable es ir en zigzag. Recorre
unos metros a la derecha y luego vuelve sobre sus pasos y hace unos metros
a la izquierda, luego a la derecha, ampliando el recorrido, y así,
tarde o temprano va a encontrar el puente, esté donde esté.
Bueno, pero ahí está el asunto. Voy primero para
la derecha... ¿pero cuándo me detengo y empiezo a ir para
el otro lado?
Ese es el asunto. ¿Cuál es la mejor estrategia, cuál
es la mejor forma, cuánto para cada lado? Se puede demostrar que
hay que recorrer un metro a la derecha, dos a la izquierda, cuatro a la
derecha, ocho a la izquierda, 16 y así siguiendo una secuencia
exponencial. Esa es la mejor estrategia. 8, 16 32 exponencial... eso es
lo mejor.
Lo haré la próxima vez que tenga que cruzar un
río.
Con esa estrategia usted nunca va a tener que caminar más
que nueve veces la distancia al puente, esté donde esté
el puente. Ninguna otra estrategia garantiza algo mejor.
Está la suerte.
Sí, claro, pero la suerte no garantiza nada.
Paginación
Le conté este problema del puente para darle un ejemplo de
la importancia que tiene encontrar una estrategia correcta, o de optimizar
la estrategia. Estos problemas de optimización de estrategias se
plantean también en el control de una computadora, por ejemplo
el problema de paginación, de manejar una memoria cache
en una computadora.
¿Qué es la memoria cache?
Es una memoria más rápida que la RAM, pero más
chica. Cuando uno accede, accede a la cache, porque es hasta un millón
de veces más rápidaque la RAM, y a su vez acceder a la RAM
es un millón de veces más rápido que hacerlo al disco
rígido. Cada vez que se lee del disco rígido, en realidad
uno trae un pedazo de disco a la memoria, y en algún momento lo
vuelve a copiar en el disco, y el problema de administrar esa memoria
más rápida es un problema del tipo de lo que estuvimos hablando.
¿Cuándo lo vuelvo a guardar en el disco? ¿Cómo
sé lo próximo que voy a necesitar? Lo mismo pasa en la memoria
cache de los servidores de Internet. Los servidores de Internet manejan
caches para todos sus usuarios, guardan algunas páginas para que
no haya que volver a buscarlas, pero no le preguntan al usuario. ¿Y
qué es lo que me conviene? Me conviene mantener lo próximo
que me van a pedir, pero yo no sé qué es lo próximo
que me van a pedir... Y ¿quién decide qué páginas
almacenar y qué no?. ¿Cuál es una buena estrategia
para almacenar cosas? Y no hay una persona mirando, es una computadora
que decide: esto me lo piden mucho y lo guardo, esto me lo pidieron hace
poco y lo guardo. Lo cual significa que hay un algoritmo y una estrategia
para elegir qué se guarda y qué no se guarda. Hay estrategias
malas y hay mejores y hay manera de compararlas, y mejorarlas. Mi tesis
de doctorado tuvo que ver con problemas de paginación en Internet.
¿Y ahora?
Ahora, concretamente estoy trabajando en variantes del problema
del viajante, más de taxis que del viajante, porque los pedidos
no son pasá por acá sino llevá
una cosa de aquí para allá. O problemas de ascensores,
qué ascensor va a donde ante numerosos pedidos que además
se van renovando a medida que se van sirviendo otros.
Optimización salarial
¿Y cómo es el trabajo de un investigador. ¿Cuánto
gana un investigador?
Bueno, el trabajo de un investigador es dar clase aquí y...
¿Cuánto gana?
Yo aquí en la Facultad gano 370 pesos.
...
No, no, no ponga 370, porque están los incentivos, con los
incentivos es más.
¿Cuánto más?
Doscientos pesos más.
...
Pero es que no soy fulltime. Si lo fuera, llegaría
a algo más de mil.
Ya veo... No es un salario óptimo.
Trabajo en otra parte, además, en otra universidad. Por eso
le decía que la vida de un investigador es dar clase aquí
y...
También allá, ya comprendo.
Final
Me recibí en la ESLAI que era un instituto de excelencia
que funcionó durante 5 años y que cerró poco después
del cambio del 89 y después me fui a Roma donde me doctoré
en La Sapienza sobre problemas de paginación on line y después
volví en el 95 y conseguí un trabajo que me permitiera
vivir... .
¿Y cómo ve las cosas ahora?
El principal problema son los sueldos, lejos.
¿Y las bibliotecas?
Las bibliotecas no están actualizadas, uno podría
reconstruir la historia del país, un agujero de tal año
a tal año... todo es espasmódico... de repente te dicen
FOMEC y de repente, se toman decisionessubóptimas por el contexto...
La torta que hay es tan chica, todo es tan complicado...
Está descontento.
Sí.
...
Curiosamente, nuestros graduados, los de Exactas, siguen siendo
buenos, y consiguen buenos trabajos, con sueldos iniciales altos. Este
es uno de los lugares donde los egresados consiguen trabajo por 1500 pesos,
por lo cual, dicho sea de paso, es difícil retenerlos para la investigación
en la Facultad. La verdad es que a nivel graduados estamos mejor de lo
que permitiría suponer todo esto. Pero creo que no se puede seguir
así, y que si no hay un cambio fuerte en la inversión para
la universidad, por más buena voluntad que se ponga... El sistema
de salud funciona porque hay médicos que trabajan por cinco pesos
la hora y acá, porque hay investigadores que trabajan por 350.
|