Búsqueda

viernes, febrero 13, 2009

El correcaminos

Hace unos días vi en algún informativo de TV, que estaban hablando del correcaminos. No, no me refiero al resabiado pájaro que persigue el pobre coyote, sino al superordenador Roadrunner de IBM. Este superordenador es actualmente el más potente construido, y está en el número uno del llamado TOP500 (lista de los 500 ordenadores más potentes del mundo). La cuestión es que, entre otras cosas, afirmaban que este ordenador era «tan inteligente» que podría encontrar la cura al cancer (sí, así como lo leeis).

Bueno, como seguro que supondréis, ni el correcaminos ni ningún otro ordenador construido es inteligente en absoluto. Un ordenador es únicamente una máquina capaz de ejecutar programas, y un programa no es más que una secuencia de instrucciones. Estas instrucciones son básicamente cálculos matemáticos, operaciones lógicas (lo que se denomina álgebra de Boole) y sentencias condicionales (también llamadas decisiones, que determinan si hay que ejecutar unas instrucciones u otras, dependiendo de un valor o resultado anterior). Y ya está. Todas las maravillas que vemos hacer a los ordenadores, desde espectaculares animaciones a complicados análisis de datos, son una inteligente e ingeniosa combinación de estas instrucciones básicas, «redactadas» por personas. A veces, estos programas son tan sofisticados, que parecen inteligentes. Pero sólo lo parecen. En el fondo, la inteligencia artificial no son más que elaborados algoritmos. La inteligencia está realmente en quien crea el algoritmo.

Este superordenador fue noticia hace varios meses, por superar el petaflops. ¿El peta-qué? Veamos, en el mundo de la informática, para medir la velocidad de cálculo de un ordenador, se utiliza una unidad llamada FLOPS, que significa «operaciones de coma flotante por segundo» (FLoating point Operations Per Second). Un petaflops son 1015 flops (mil billones, de los europeos). Para hacernos una idea, los PCs con Intel Core 2 Duo (la mayoría de PCs domésticos a la venta actualmente) andan por la decena de gigaflops (entre 10 y 30, más o menos, dependiendo del modelo y la frecuencia del reloj), es decir, que su velocidad de proceso es del orden de 1010 flops (recordad que el prefijo giga- indica 109). Por tanto, la potencia de cálculo del correcaminos equivaldría más o menos a la de 100.000 PCs de esos.

La velocidad de estos superordenadores no se alcanza con procesadores mucho más potentes y rápidos que los que podemos encontrar en un PC moderno o una videoconsola de última generación. Lo que se hace es juntar muchos procesadores, miles de ellos, debidamente comunicados y sincronizados. Y esto requiere un cambio en la forma de elaborar un programa. Antes he dicho que un programa es básicamente una secuencia de instrucciones. Voy a definir otro término muy importante en informática: el proceso. Se denomina proceso a la ejecución de un programa. Es decir, un programa es una lista de instrucciones, y un proceso es la ejecución de esas instrucciones. Pues bien, si nuestro programa es totalmente secuencial, es decir, las instrucciones deben ejecutarse una después de otra, un supercomputador no nos serviría de mucho, ya que habrá un único proceso en uno de los procesadores, mientras el resto está sin hacer nada. Pero si nuestro programa puede dividirse en tareas que pueden ejecutarse individualmente, podemos diseñarlo para que cada una de esas tareas sea un proceso. Así, podremos ejecutar dichos procesos en paralelo, es decir, cada proceso se ejecuta en un procesador distinto, y de forma simultánea. Aquí sí que aprovecharemos la capacidad de un superordenador de este tipo, pues podremos ejecutar varias tareas a la vez, en lugar de una detrás de otra.

Por tanto, un superordenador con múltiples procesadores nos ofrece una potencia de cálcula inimaginable, pero sólo si podemos dividir nuestro algoritmo en trocitos más o menos independientes. Afortunadamente, hay muchos problemas que entran en esta categoría. Como modelos climáticos, económicos, astronómicos... y sí, análisis y cálculos relacionados con la biología y la genética.

Así que desde ese punto de vista, sí, el correcaminos nos ayudará a combatir el cáncer (que por cierto, no es una única enfermedad, sino una denominación común que se le da a enfermedades muy dispares). Pero no lo hará el sólito. Alguien tendrá que haber realizado investigaciones y estudios, a partir de cuyos datos se puedan modelar algoritmos, que luego deban implementarse en forma de programas. No basta con plantarse delante del correcaminos y preguntarle por «el sentido de la vida, el universo, y todo lo demás» (no-premio a quien conozca la respuesta a tan profunda pregunta).

29 comentarios:

  1. la respuesta a la pregunta es demasiado conocida ya... lo malo es, ¿sabemos realmente cual es la pregunta?

    por aqui anda otro informatico que se tira de los pelos con las cosas que se oyen por la tele... hay demasiada incultura en estos temas y demasiada mitificacion de los ordenadores...

    ResponderEliminar
  2. Recomiendo la lectura de "La ultima pregunta" de Isaac Asimov, creo que encontrareis el sentido a todo esto.

    ResponderEliminar
  3. uf, como me ganaron con el 42... y también con el comentario "lo que no se conoce es la pregunta, sí la respuesta"

    Que rápida es la gente :)

    ResponderEliminar
  4. Suscribo a Anónimo en lo que se refiere a ese estupendo relato. Por lo demás debo decir que las burradas que se dicen en informática son enormes y frecuentes... al igual que als que se dicen de biología y de física... Conclusión: los periodistas han estudiado como hablar, pero desde luego parecen haber evitado por todos los medios saber de qué hablan

    ResponderEliminar
  5. Caramba con la respuesta... es llegar y ya se han arremolinado unos cuantos para darla. Recuerdo que una vez quise empezar una charla de física diciendo que sirve para responder a preguntas básicas... y puse precisamente ése ejemplo.
    Yo siempre me había preguntado por los flops, porque los ordenadores domésticos los venden que si con mucha RAM, que si la frecuencia del reloj va a gigaherzios, que si mucho tal y mucho cual... pero nunca nunca he visto alguno que especifique esa cantidad (que deberia ser de las más importantes) en los folletos.

    ResponderEliminar
  6. Asgard, los FLOPS no es lo más importante, es un dato muy relevante cuando se pone una máquina de estas a procesar en el entorno científico, pero por ejemplo hay otras operaciones, las MIPS que para uso doméstico son también muy relevantes. Además el rendimiento de un ordenador se ve agrabado rendimientos que poco tienen que ver con la potencia del microprocesador. En cualquier sistema operativo moderno, una tarjeta gráfica con memoria dedicada es mucho más importante para el rendimiento global del sistema que pasar de un pentium 4 a un core 2 duo.

    ResponderEliminar
  7. Investigaciones de ultima hora sugieren que, en realidad, la respuesta es 71. Controvertidas por lo menos.

    ResponderEliminar
  8. @ahskar

    tienes toda la razón del mundo, parece que sólo les guste como se escucha su voz... No tienen ningún tipo de sentido crítico, y lo peor de todo es que no les importa...

    ResponderEliminar
  9. Y sobre todo los periodistas de prensa virtual, esos no tienen ninguna capacidad de autocrítica, sólo escriben payasadas.

    Pero bueno, es muy cierto que ningún ordenador es inteligente en realidad, y la verdad no creo que bajo sistemas modernos puedan serlo. Podrán planificar programas de inteligencia artificial muy buenos que cubran la mayor capacidad de reacciones y todo eso, pero sigue siendo un programa que le dice a la maquina como actuar.

    Tecnicamente una maquina inteligente debería crecer, desarrollarse y aprender de su entorno y de los demás, además de poder sacar conclusiones por su cuentas (y estas conclusiones podrán estar equivocadas, como en cualquier aprendizaje). Pero falta mucho todavía...

    ResponderEliminar
  10. Para probar, le hice 'la' pregunta a mi PC, pero usó floats en el cálculo y la respuesta fue 41.9992.

    ResponderEliminar
  11. ¿Es un Ordenador inteligente?, primero deberíamos responder a la preguta: ¿Que es la inteligencia?.
    El problema está en que la respuesta a esta pregunta suele ser 'lo que tienen los seres humanos para diferenciarlos delos animales (o de las máquinas)'
    Cuando halla una respuesta, concreta a esta pregunta, que no se remita a un criterio antropomórfico (o como se diga), podremos hablar de si un ordenador (o un animal) es inteligente.
    Yo recomiendo la lectura de 'La nueva mente del emperador', en principio, por lo menos a mi, no me dió respuestas pero me hizo plantearme nuevas preguntas.

    ResponderEliminar
  12. La respuesta ORIGINAL, no era 42, qué poca cultura...

    http://www.legiondelespacio.com/strips/detail/esp/39

    ResponderEliminar
  13. @ Ikaru
    Pues mira, no lo sabía... Yo toda la vida convencido de la importancia de los flops :$

    ResponderEliminar
  14. Desde luego, el Roadrunner no es inteligente para cualquier acepción sensata del término. Pero la razón no creo que sea que todo lo que hace se basa en algoritmos. Todavía no sabemos en qué se basa nuestra inteligencia, y pudiera ser que ¡sorpresa! fueran algoritmos. No hace falta que alguien los creara, la evolución podría haberse bastado para ello. En ese caso la poca o nula inteligencia del Roadrunner se debería a lo primitivo de sus algoritmos.

    El test de Turing sigue siendo lo más operativo que tenemos para distinguir inteligencia de lo que no lo es. Cuando una máquina lo pase podremos hablar de inteligencia artificial.

    En mi modesta y honesta opinión.

    ResponderEliminar
  15. Como curiosidad, existe lo que se llama el Test de Turing Inverso: en vez de que una persona intente distinguir entre dos interlocutores, uno humano y otro máquina, que el test consista en que sea la máquina la que tiene que distinguir entre un humano y otra máquina.

    ResponderEliminar
  16. Sí, y también existe este otro test de Turing: http://xkcd.com/329/

    A mí también me dio que pensar La Nueva Mente del Emperador. Ahora enfoco el problema de esta manera: lo que sea que hace al cerebro ser inteligente y tener conciencia, no es más que el resultado del movimiento de sus electrones y átomos. La cuestión se convierte entonces en: ¿Puede un ordenador calcular perfectamente cómo se mueven los electrones? Si es así, entonces podría emular al cerebro humano (haciendo una burrada de cálculos)

    Personalmente, yo opino que no, que las leyes de la Naturaleza son tales que para cualquier cálculo serían necesarios infinitos pasos, y nungún ordenador digital terminaría de realizarlos.

    Sin embargo, un ordenador analógico sí podría, ¡a fin de cuentas un cerebro es una máquina que emula al cerebro!

    En fin, menuda perorata he echado @_@

    ResponderEliminar
  17. No-premio para Don Depre, que ha sido el primero :-) Y no-premio especial a Yprum :-)

    ResponderEliminar
  18. ¿Soy el único que se vio el reportaje del noticiario sobre Magerit? Magerit es un cluster que tienen en la politécnica de madrid, y que en el reportaje dijeron que en un futuro podría evitar las crisis económicas como la actual.
    En fin teniendo en cuenta que ya es jodío predecir el tiempo para mañana, no se en que se basarán para predecir las fluctuaciones económicas, pero claro, como es tan inteligente seguro que lo encuentra :).

    Por cierto, también participa en un proyecto para simular el universo, así que cada vez estamos más cerca de encontrar la "Pregunta máxima" XD

    Más datos :http://www.fi.upm.es/?pagina=568

    ResponderEliminar
  19. No hace falta que el cerebro calcule el movimiento de todas las partículas para emular un cerebro (sí haría falta para emular uno en particular). Basta con que un ordenador alcance el nivel de complejidad del cerebro en su manera de recibir, acumular y procesar información, presumiblemente mediante conexiones entre chips o lo que sea que tengan en el futuro, en lugar de entre neuronas.
    La mente es analógica, pero el cerebro es digital (una neurona puede activarse o no, y es todo lo que hace).

    En cuanto a lo de predecir crisis, me temo que estamos muy lejos, y no veo la manera de acercarnos demasiado. El sistema económico cambia constantemente, con nuevos sectores, nuevos modos de hacer las cosas y nuevas reacciones de los agentes.
    Aunque las leyes de la economía permanezcan constantes, estos cambios estructurales en la economía hacen que el modelo que pudiéramos meter en el ordenador sólo sirviera para pocos años (¿20?, ¿50?). Con pocos años y pocos países haciendo cosas distintas rara vez tendremos datos suficientes para ajustar el modelo y llegar a predecir.
    En meteorología, en cambio, el modelo es bastante estable y cada año podemos observar cientos de huracanes, tornados, ciclones,... y recoger miles de datos de humedad, temperatura, ... Así que podemos acumular muchos datos con los que calibrar el modelo y acabar prediciendo cada vez mejor.

    ResponderEliminar
  20. Me sorprende que nadie haya hablado de las iniciativas para crear superordenadores a través de inet uniendo los pc's de gente voluntaria. Se utilizan para enfrentarse a problemas como modelización de proteínas (requiere una enooooorme potencia de cálculo, por suerte en paralelo), análisis matemático, predicción del clima...
    Yo estoy unido a varios: el World community grid (http://www.worldcommunitygrid.org/), una iniciativa de IBM que se encarga de buscar la cura de varias enfermedades, el lhc@home (http://lhcathome.cern.ch/lhcathome/) que, cuando se encienda, y crucemos los dedos para que ocurra sin más incidentes, ayudará a analizar los datos del lhc; ibercivis (http://registro.ibercivis.es/), un proyecto de la universidad de zaragoza sobre plasma y fusión... hay muchos más.

    Más información: http://es.wikipedia.org/wiki/BOINC

    Es más, rogaría a cualquiera que lea esto que se informe e instale BOINC en su ordenador, es una manera gratuita y sencilla de ayudar a que el mundo sea un lugar mejor :)

    ResponderEliminar
  21. ¿Cuanto cuesta el IBM Roadrunner?

    ResponderEliminar
  22. En realidad la respuesta no se conoce, puesto que los creadores y controladores del super-ordenador diseñado para formular la pregunta correcta fueron aplastados por una tetera momentos antes de poder "extraer conclusiones".

    Y si no hay pregunta...........

    ResponderEliminar
  23. Parabéns

    o seu blog é alta qualidade, fiquei fá, está na lista do blogroll do cineplaneta.blogspot.com

    sds
    Paulo Araujo
    Rio de Janeiro - Brasil

    ResponderEliminar
  24. ¿Cuál es la probabilidad de que un futuro, las máquinas razonen por sí mismas sin la intervención humana?

    ResponderEliminar
  25. Si el ordenador no es inteligente porque sólo hace operaciones booleanas y condicionales, ¿por qué los procesos que se dan en las sinapsis sí son inteligencia?

    No lo digo a mala leche, pero si el argumento para negar al inteligencia es que son operaciones básicas, creo que podría decirse lo mismo del cerebro. Por lo poco que sé de estos temas.

    Si estoy equivocado, quiero expicación :D

    Gracias!

    ResponderEliminar
  26. La idea que quería transmitir (veo que no lo he conseguido), era que el ordenador, el hardware, no es más que una "carcasa", una máquina con muchas posibilidades, pero "en blanco". La "inteligencia" (y lo pongo entre comillas, porque aún no hemos creado una verdadera IA) estaría en el software.

    Obviamente, si el hardware no es suficientemente adecuado, ya puedes hacer maravillas con el software, que no conseguirás gran cosa. Pero un hardware potente y complejo, sólo es aprovechado en su totalidad con el software adecuado.

    No sé si me he explicado bien :-/

    ResponderEliminar
  27. En ese caso (si no he vuelto a malinterpretar) cabría la posibilidad de programar sobre un ordenador el software adecuado que generara una IA.

    Por lo que tengo entendido todavía no se ha conseguido, aunque me suena haber leído que depende de la definición de inteligencia.

    Un saludo y gracias por todo

    ResponderEliminar
  28. Exacto. Hoy por hoy no se ha conseguido, pero de hacerlo, sería sobre todo por el software.

    Sobre la definición de inteligencia, en comentarios anteriores han mencionado el test de Turing. A falta de algo mejor, creo que sería una buena definición (pasar dicho test, implica inteligencia).

    ResponderEliminar

Nota: solo los miembros de este blog pueden publicar comentarios.