http://www.redcientifica.com/gaia/intia_c.htm
Inteligencia ArtificialFarid Fleifel Tapia
Indice:
faflta@inf.upv.es
Buscando una definición para la IADefinir la Inteligencia Artificial es una tarea realmente complicada. Desde que se acuñara este término en la Conferencia de Darthmouth de 1956, se han propuesto muchas definiciones distintas que en ningún caso han logrado la aceptación sin reservas de toda la comunidad investigadora..
Ello puede deberse a la insuficiente formalización de la materia, que impide un asentamiento firme de las bases de esta ciencia. Tanto es así que en ocasiones los expertos ni siquiera coinciden en la adecuación de ciertos problemas al tratamiento mediante técnicas de inteligencia Artificial, es decir, algunas veces ni siquiera se tiene la seguridad de que un problema dado deba ser estudiado dentro de esta disciplina.
Por suerte esto está cambiando, y cada vez más, las técnicas de IA, además de adquirir una base formal acorde con las necesidades de la materia, están dejando de ser "curiosidades académicas con mucho futuro pero poca aplicación en el presente", para pasar a ser uno de los motores que impulsan la industria de la computación, con inversiones crecientes año tras año.
Las posibilidades desde luego son asombrosas, pero no hay que dejar volar la imaginación más de lo necesario. Las "máquinas pensantes" puede que lleguen a existir alguna vez, pero no están a la vuelta de la esquina ni mucho menos. La IA es una ciencia nueva que debe andar mucho camino todavía. De lo que podemos estar seguros es de que los primeros pasos están siendo prometedores.
Podríamos decir sin temor a errar que la IA es la rama de la ciencia de la computación que centra sus esfuerzos en la consecución de sistemas inteligentes, pero esta definición es tan vaga que, no aclara realmente ni cuáles son los objetivos de esta ciencia ni cuáles los métodos que se deben aplicar para alcanzar esos objetivos. En estos dos puntos es en los que hallamos la controversia.
[ Volver al Indice ]
Entidades inteligentesEn primer lugar, ¿Qué es lo que se quiere decir cuando se afirma que el objetivo de la IA es la consecución de sistemas o "entidades" inteligentes?. ¿Para que una entidad sea considerada inteligente basta con que se comporte inteligentemente, o además debe razonar de forma inteligente? Puede que la diferencia entre las dos posibilidades parezca sutil a primera vista, pero tiene más importancia de la que parece.
Por ejemplo, un programa de ajedrez actúa inteligentemente, pero en esencia no puede decirse que razone, ya que lo único que hace es explorar un gran número de posibles jugadas -millones en cada turno-, aplicando una función de evaluación que dice lo buena o mala que es cada una de esas jugadas, teniendo en cuenta para ello el número de piezas de cada jugador en el tablero y el valor ponderado de las mismas. A partir de esta información, en cada turno se elige la mejor de las jugadas obtenidas. En contraposición, los Grandes Maestros de ajedrez sólo analizan unas pocas decenas de jugadas posibles en cada movimiento, y sin embargo hasta el momento las máquinas de ajedrez, con su gran potencia de cálculo lo han tenido complicado para vencerles. La diferencia estriba en la forma de analizar las jugadas por parte del Maestro humano y de la máquina. La máquina es pura fuerza bruta. Analiza todas o la mayor parte de las posibilidades, sin tener en cuenta en primera instancia la viabilidad de las mismas en el contexto del juego. El Gran Maestro humano no es tan bueno en la exploración intensiva de jugadas, pero realiza mucho mejor la tarea de eliminar de su consideración las líneas de juego poco prometedoras, una tarea mucho más complicada y que exige de una comprensión y visión del juego que las máquinas no han conseguido emular todavía. Llegados a este punto podemos admitir que un programa de ajedrez de última generación actúa de forma inteligente, ya que su juego es de un nivel más alto que el de la mayoría de las personas, pero ¿Es realmente inteligente?
Como veremos más adelante los filósofos de la IA tienen varias respuestas para estas incógnitas. Nosotros de momento nos pondremos una meta relativamente humilde y diremos que una técnica de IA es aquella que se utiliza para lograr que un programa se comporte de forma inteligente, sin tener en cuenta la "forma de razonamiento" subyacente a los métodos que se apliquen para lograr ese comportamiento.
Aquí vuelve a surgir un dilema. Según esta definición, a primera vista parecería que casi cualquier problema resoluble por computador podría encuadrarse en el campo de la inteligencia artificial. Por ejemplo, supongamos que nos aplicamos en resolver el problema de la división de dos números racionales. Una simple calculadora de bolsillo resuelve este problema sin mayores complicaciones, y lo hace tan bien como un ser humano, dando una respuesta inteligente, o más bien congruente, a nuestras peticiones. Sin embargo, nadie diría que las calculadoras aplican técnicas de IA para realizar las divisiones, como parece sugerir en principio nuestra definición, de modo que tendremos que cambiarla o al menos retocarla. La solución definitiva llegará tras la definición de un par de términos fundamentales, tarea que abordamos a continuación.
El problema de la división puede resolverse aplicando una especie de receta con unos pasos bien definidos, que siempre funciona y que todo el mundo aprende en los primeros años de colegio. En la ciencia de la computación a estas recetas que sirven para resolver problemas se les llama algoritmos, término acuñado en honor del matemático árabe Al-Kwarizmi, que entre otras cosas compiló una lista de estas recetas, aplicables a diferentes problemas algebraicos.
Pues bien, cuando alguien aplica uno de estos algoritmos, en esencia no está actuando inteligentemente. Cualquiera puede encontrar la respuesta correcta, ya que basta con seguir las reglas al pie de la letra. Para entender esto basta con remontarnos a los primeros años de escuela, cuando aprendimos a dividir. A la mayoría nos ocurrió en un principio que aprendimos la receta y descubrimos sorprendidos que aún sin saber exactamente lo que estábamos haciendo, si aplicábamos las reglas al pie de la letra obteníamos la solución correcta. No hay que ser especialmente inteligente para saber dividir. Sólo hay que tener la capacidad de memorizar unas cuantas reglas y aplicarlas siempre de la misma forma, cosa que un ordenador es capaz de hacer mucho mejor que las personas.
Los problemas como el de la división, que tienen una solución algorítmica conocida y eficaz, no son el objetivo de la IA. No importa lo complicado que sea el problema ni cuántas reglas haya que memorizar y aplicar. Si el problema puede resolverse de forma exacta por medio de un algoritmo, consideraremos que no hay inteligencia implicada en la resolución del mismo.
[ Volver al Indice ]
Ausencia de AlgoritmosLos problemas realmente complicados a los que se enfrenta el ser humano son aquellos para los cuales no existe algoritmo conocido, bien porque no se haya descubierto aún, o porque definitivamente no exista -hay problemas para los que se sabe que no existe un algoritmo que los resuelva. Hablaremos de ellos más adelante-.
Pongamos como ejemplo el problema del cálculo de la primitiva o "integral" de una función, Este es un problema para el que no existe algoritmo. Existen unas reglas que pueden seguirse para obtener la primitiva de ciertas funciones con unas determinadas características, pero no existe un algoritmo genérico que nos diga qué pasos hay que seguir para, partiendo de una función cualquiera, hallar su primitiva. Los matemáticos se basan en ciertas reglas que generalmente funcionan, o que en muchos casos sirven para reducir la complejidad del problema, convirtiendo funciones complicadas en otras más sencillas que sí son capaces de integrar. Sin embargo la aplicación de estas reglas no garantiza la obtención de una solución en todos los casos.
Las reglas de este tipo, que tratan de orientarnos hacia la solución en problemas no algorítmicos son llamadas heurísticas. Estas reglas son tan concretas como las dadas en los algoritmos. La diferencia reside en el hecho de que nada nos garantiza que la aplicación de una heurística nos lleve un paso más cerca de la solución de un problema. Además, se da la situación de que en muchas ocasiones existe una gran cantidad de heurísticas que son aplicables a un mismo estado del problema, con lo cual la elección de la más adecuada para cada caso puede ser un factor determinante en la obtención de la solución.
Estos son los problemas realmente complejos y que necesitan de verdadera inteligencia y originalidad para su resolución. No hay algoritmos conocidos que nos permitan descubrir teoremas matemáticos, diagnosticar enfermedades, componer música con armonía y gracia o comprender una frase escrita en un lenguaje natural como el español o el inglés, aunque sí haya ciertas heurísticas que la gente aplica para realizar estas tareas, incluso a veces sin darse cuenta. Estas son cosas que las personas hacen sin saber realmente cómo las hacen ni qué pasos siguen en todos los casos, por mucha introspección a la que se sometan.
Y estas son las tareas de las que se ocupa la IA.
De modo que a la vista de todos estos nuevos datos, redefiniremos nuestro concepto de IA de la siguiente forma:
Diremos que la IA es la rama de la ciencia de la computación que estudia la resolución de problemas no algorítmicos mediante el uso de cualquier técnica de computación disponible, sin tener en cuenta la forma de razonamiento subyacente a los métodos que se apliquen para lograr esa resolución.
Se observará que, a diferencia de la definición anterior, en esta no se menciona explícitamente el comportamiento inteligente de las técnicas de IA. Esto es así porque se asume que cualquier proceso computacional capaz de resolver instancias de un problema no algorítmico por fuerza debe dar la apariencia de un comportamiento inteligente.
Esta definición puede parecer un tanto críptica para un no iniciado, y además no tiene garantías de ser aceptada por toda la comunidad de investigadores de IA. Por lo tanto, y para complementarla, vamos a presentar, sin comentarlas, algunas definiciones algo menos formales, dadas por diferentes investigadores en IA, que son compatibles en gran medida con la dada por nosotros, pero considerando otros puntos de vista.
La IA es:
El arte de crear máquinas con capacidad de realizar funciones que realizadas por personas requieren de inteligencia. (Kurzweil, 1990).
El estudio de cómo lograr que las computadoras realicen tareas que, por el momento, los humanos hacen mejor. (Rich, Knight, 1991).
La rama de la ciencia de la computación que se ocupa de la automatización de la conducta inteligente (Luger y Stubblefield, 1993).
Un campo de estudio que se enfoca a la explicación y emulación de la conducta inteligente en función de procesos computacionales (Schalkoff, 1990).
Una vez definida la IA como rama de la ciencia de la computación, deberíamos tener en cuenta los métodos que se seguirán para lograr los objetivos que nos hemos propuesto. El sustrato de la IA lo forman las máquinas de cómputo y proceso de datos digitales, ya que estas máquinas son los dispositivos de procesamiento de información más complejos y potentes que ha desarrollado el ser humano, y la actividad intelectual es en esencia un proceso de manipulación y análisis de información.
Lo cual no quiere decir que la utilización de otros paradigmas de procesamiento esté descartada. Es más, teniendo en cuenta el tremendo rendimiento que nuestro cerebro, lento, analógico y asíncrono, obtiene en estas tareas de procesamiento de información, quizás deberíamos considerar otras posibilidades. Las redes neuronales, paradigma de computación muy en boga últimamente, exploran este camino, tratando de remedar el funcionamiento del cerebro humano hasta cierto nivel, y consiguiendo espectaculares resultados que auguran un futuro lleno de posibilidades.
[ Volver al Indice ]
[ Home Page Castellano | Home Page English ]