miércoles, 12 de enero de 2011

¿Puede, una computadora, pensar?

Desde sus mismos albores --allá por lo cuarentas-- las computadoras electrónicas se presentaron al público bajo el prominente apelativo de "cerebros gigantes". Se ve pues que la asociación popular entre computadora y pensamiento artificial es tan antigua como la computadora misma.

La práctica demostró --no sin demora-- que "pensar", ¡lo que se dice "pensar"! implica mucho más que obedecer a ciegas el curso de un programa elaborado con anterioridad por un ser pensante.

Hay que decir que en aquellos tiempos en que el público apostaba por futuros engendros pensantes, las computadoras se programaban muy rudimentariamente; una persona versada en la materia difícilmente se sumaría a la apuesta. Hoy en día, por el contrario, las computadoras se programan a tal nivel de abstracción que da la impresión a veces de que ellas se programan a si mismas.

Paradógicamente, hoy suele responderse la pregunta inicial con un "no" rotundo amparado en un argumento tan simple como este: la computadora no hace nada que no haya sido pensado antes por el hombre que la programó.

Un argumento ciertamente endeble. Para empezar, un programador moderno realiza su labor sobre un sistema operativo extremamente elaborado y complejo el cual... no ha tenido que programar. Por encima del mismo corre, como aplicación, un medio ambiente de trabajo rico en recursos que le harán la jornada más llevadera y productiva. Y aún el código generado por este programador se servirá, no solo del sistema operativo mismo, sino además de un rico "framework" (como .NET) donde la mayoría de los problemas de bajo (y no tan bajo) nivel ya han sido resueltos.

No hay mucho que el programador pueda aportar en términos de "plomería", gracias a lo cual podrá centrarse en el problema mismo y producir un programa completamente funcional en breve tiempo y con poco esfuerzo... comparado con la grandeza del resultado, quiero decir.

Debo aclarar que no tengo dudas sobre el gran talento de los programadores modernos. Mi punto, en realidad, es otro.

Mi punto es que una aplicación moderna de software, como el navegador con que lee estas notas en este instante, no es el fruto de un programador aislado sino el cúmulo de conocimientos, técnicas, fórmulas, algoritmos (y hasta código) de la práctica computacional en su conjunto a lo largo de varias generaciones. Es un engendro de naturaleza evolutiva, a fin de cuentas.

El software es a las máquinas lo que la inteligencia, a las especies. Nadie duda que un perro es más inteligente que un canario ni que un chimpancé es aún más inteligente que cualquier perro. Pero hay un "umbral" a partir del cual la inteligencia se desborda en potencialidades aparentemente ilimitadas. Desafortunadamente solo conocemos una especie que ha sobrepasado ese umbral: nosotros mismos; de ahí que sea tan difícil entender qué es, exactamente, "pesar".

Lo que sí sabemos es que el software, lo mismo que la inteligencia del canario, del perro y del chimpancé, evoluciona... de generación en generación. Las nuevas computadoras llevan dentro los "genes" de sus ancestros. Cada nueva máquina es mejor que la anterior, no solo porque está mejor diseñada, sino además --y sobre todo-- porque "piensa" de manera más acabada.

No es casual, pues, que el software moderno requiera menos esfuerzo mental por parte del programador, ya que una buena parte de su "mentalidad" ha sido heredada de generaciones anteriores. Es un proceso acumulativo como lo es el conocimiento en la sociedad humana o la complejidad en las especies biológicas.

En resumen, es perfectamente plausible concebir que tal cúmulo continúe creciendo hasta alcanzar un cierto "umbral" el cual, a la altura de nuestro tiempo, no logramos vislumbrar todavía.

Y a fin de cuentas ¿qué es "pensar"? Ciertamente, deberíamos apurarnos en responder... antes de que las computadoras lo hagan por nosotros.