Introducción a la Inteligencia Artificial

    para neófitos

                Por Walter Gröbius - Ph.D.


Contenido


Visión general sobre el campo

La inteligencia artificial es la rama de la matemática aplicada que intenta crear algoritmos que efectúen tareas cognitivas semejantes a las que los humanos realizan gracias a su inteligencia.

En un sentido un poco más general la inteligencia artificial se preocupa de crear algoritmos que semejen cualquier inteligencia. Los algoritmos son instrucciones que se proporcionan a un computador capaces de transformar cierta entrada (por ejemplo datos) en una salida (por ejemplo datos procesados). Una característica interesante respecto a la definición de todo el campo deriva de su vaguedad. Son pocos los expertos en inteligencia artificial, o incluso en psicología, que pretendan tener una definición plenamente establecida de lo que significa inteligencia o comportamiento inteligente.

En general, la inteligencia se identifica con la capacidad de adaptación a un ambiente complejo y cambiante como el ambiente en que vivimos los humanos. Es claro de la definición que existe también una inteligencia animal, por ejemplo, e incluso en un grado capaz de representaciones abstractas y de cultura como los experimentos de reconocimiento de patrones con delfines, o los experimentos de utilización de un lenguaje de símbolos y la existencia de legados culturales en primates, lo indican. Por supuesto, la inteligencia como "adaptabilidad" es una caracterización tan vaga, que deja abierto el interrogante sobre lo que realmente se requiere para que exista inteligencia, y podríamos aducir que una pequeña bacteria vive, reacciona y se adapta a su ambiente tan bien, tan "inteligentemente", que ha subsistido como especie por millones de años.

Es por esto que los expertos en inteligencia artificial usan como paradigma de su investigación la inteligencia humana, a la que intentan emular. Empero los progresos en la investigación etológica sólo han planteado nuevas dudas sobre qué diferencia fundamentalmente, si algo, nuestra inteligencia, e incluso nuestra cultura, de las de los animales.

Por lo anterior, el estado de la definición de "inteligencia en una máquina" es igualmente vago y difuso. Podemos agregar, en concreto, lo siguiente:
a. se desconoce qué significa "inteligencia en un artefacto hecho por el hombre".
b. se desconoce qué se requiere para que surja tal inteligencia.
c. se desconoce cómo podríamos reconocer que tal inteligencia existe, incluso si existiera.

Las dificultades en los puntos a. y b. las puede imaginar el lector. Destacamos en esta lista la dificultad del punto c. Si la inteligencia artificial tiene éxito y se produce algún día un "artefacto" inteligente, aún no tenemos una forma de darnos cuenta. La aproximación inicial a este problema planteó la solución conocida como el "test de Turing", que consiste en hacer interactuar a un humano con dos "entidades" ocultas, cuyas respuestas sólo se pueden observar a través de la pantalla de un ordenador. Una de las entidades sería un humano tecleando sus respuestas, y la otra, un ordenador inteligente. De acuerdo con el test de Turing un ordenador es inteligente si el experimentador no puede reconocer, basado en las respuestas de sus sujetos de estudio, cuál de ellos es el humano y cuál el ordenador. El "diálogo" entre el experimentador y el sujeto de estudio podría incluir, por ejemplo, la discusión de un famoso poema o acertijos lógico-matemáticos.

Hoy día, se han reconocido, sin embargo, profundas limitaciones en esta solución. Una de ellas, por ejemplo, indica que se podrían siempre entrenar "mecanismos no inteligentes" para responder el test, y, sin embargo, sus habilidades más allá del test serían extraordinariamente limitadas. La situación se complica cuando se introduce el aún más impreciso y misterioso concepto de conciencia, que parece ocupar un papel primordial en la inteligencia humana, (si es que, claro, realmente la conciencia existe como concepto científico estudiable y medible). De acuerdo con Searle, por ejemplo, podríamos enseñar a muchos chinos a responder con determinadas reglas fijas a ciertas preguntas en español, y el resultado podrían ser frases en español con sentido, así los chinos no hayan entendido, al seguir las reglas, absolutamente nada sobre el significado de las frases que producen. Sigue siendo una discusión abierta si el comportamiento de la habitación llena de chinos es inteligente o no, aunque se sobreentiende que para producir respuestas creíbles la cantidad de reglas que los chinos deben usar sería inmensa. Sin embargo, tales divagaciones distan mucho de ser meramente especulativas, ya que existen prototipos, si bien bastante pobres, de algoritmos capaces de "conversar" con un usuario. (El más sencillo de ellos, llamado Eliza, y utiliza instrucciones como las siguientes:
A dice: Estoy enojado.
Eliza responde: ¿Por qué estás enojado?
(La instrucción de Eliza es: si Eliza reconoce el verbo estar en primera persona, use el verbo estar en la conjugación apropiada, y copie la palabra que A menciona en la pregunta así "Por qué + verbo estar + palabra".)
A dice: A veces las cosas me salen mal.
Eliza responde: Me gustaría escuchar más al respecto.
(La instrucción es: si no reconoce el verbo, diga "Me gustaría escuchar más al respecto".)
Como se puede apreciar de un ejemplo como este, se pueden crear instrucciones ingeniosas que hagan pensar a un interlocutor distraído que habla con un humano. (De hecho, en las salas de chat de IRC suelen haber BOTS, -algoritmos automáticos como Eliza-, que le han "tomado el pelo" a más de uno.)

Hay refutaciones más notables del test de Turing, pero estas discusiones deberían bastar. Respecto a la idea de conciencia, si el lector cree que para tener conciencia tan sólo se ha de ser consciente de los propios actos, es bueno replicarle con el comentario de uno de los creadores de la inteligencia artificial, Marvin Minsky. Parafraseándolo, él dice que "Cualquier ordenador moderno guarda un registro más detallado de todo lo que le sucede y lo que hace que el que puede tener un humano." ¿Es por esta razón consciente?

Como sucede con muchos campos complejos de investigación que propician la aparición de difíciles interrogantes, siempre hay especulaciones filosóficas sobre el significado o las implicaciones de sus resultados teóricos. Igual ocurre, por ejemplo, con la mecánica cuántica, y de la misma forma que en ese campo, empero, la mayoría de los investigadores no prestan gran atención a las consecuencias "filosóficas" de su trabajo, y se interesan tan sólo por los aspectos más "prácticos", es decir, más "técnicos". Podemos introducir estos aspectos examinando las metas de las investigaciones más actuales en IA.

No ha surgido todavía ninguna teoría generalmente aceptada dentro del campo de la IA, debido en parte al hecho de que la IA es una ciencia muy joven. Se supone, sin embargo, que, en el nivel más alto, un sistema de IA debe recibir información de entrada de su ambiente, debe determinar una acción o contestación, y debe entregar un rendimiento a su ambiente. Se necesita por ende un mecanismo para interpretar la entrada. Esta necesidad ha llevado a investigar la comprensión del discurso, la visión, y el idioma natural. Por otra parte, la interpretación debe representarse en alguna forma que pueda ser manipulada por la máquina.

Para lograr esta meta, se invocan técnicas de representación del conocimiento. La interpretación de la IA del medio, junto con el conocimiento obtenido previamente, se manipula dentro del sistema de estudio por medio de algún mecanismo o algoritmo "inteligente". El sistema llega así a una representación interior de la contestación o acción que llevará a cabo. El desarrollo de un procesamiento de esta manera requiere de técnicas de razonamiento experto, de razonamiento de sentido común, de solución de problemas, de planeación, de la interpretación de señales, y del aprendizaje. Finalmente, el sistema debe construir una contestación eficaz. Esto requiere técnicas de generación de lenguaje natural, o de control de movimiento, por ejemplo.

Como vemos, algunos de los objetivos principales de la inteligencia artificial intentan equiparar las ciertas facetas o manifestaciones de la inteligencia humana. A continuación hacemos una enumeración de algunos de los resultados más sorprendentes respecto a cada faceta.

Reconocimiento visual:
Hoy día ya hay algoritmos capaces de distinguir automáticamente unas caras de otras, o unas huellas digitales de otras. Esto se realiza simplificando especialmente los rostros a unas rasgos más básicos con base en los cuales el algoritmo realiza su comparación.
También existen algoritmos capaces de reconocer una vía, y conducir un automóvil en una autopista.

Reconocimiento y procesamiento del lenguaje:
Existen programas capaces de reconocer los fonemas humanos (sonidos) y traducirlos a grafemas (símbolos escritos). Se ha hecho un avance tan notable en este campo que es posible que la siguiente generación del programa Windows ya venga con esta opción incluida. Por otro lado se ha hecho muy poco progreso en el reconocimiento del significado del lenguaje. El mayor progreso ha sido el reconocimiento de las relaciones básicas que existen entre varios conceptos. (Es posible que el Internet del futuro aproveche estos adelantos.)

Lógica y representación simbólica del conocimiento
Existen algoritmos capaces de deducir ciertos teoremas simples de algunos axiomas. También pueden demostrar con éxito la falsedad o verdad de ciertos teoremas. Los logros en situaciones más complejas, pero altamente lógicas, como en juegos de estrategia son bien conocidos. Existen algoritmos de damas, otelo y ajedrez que han sido capaces de derrotar a los campeones mundiales humanos de esas disciplinas respectivas.

Habilidades quinéticas (Movimiento)
Hay robots capaces de caminar por sí mismos en uno y dos pies. Y hay incluso un robot comercial de dos pies capaz de subir escaleras. Por otro lado, los robots que se envían a Marte son capaces de reconocer el espacio y de evadir obstáculos la mayor parte del tiempo por sí mismos. (Recuerde que una orden desde la tierra puede tomar más de 20 minutos en llegar al robot, por lo que la mayor parte del tiempo estos funcionan autonomamente.)

Solución de problemas
Ésta área se refiere, en general, a la construcción de algoritmos que provean soluciones a problemas que no se puedan definir con precisión de antemano, o a la construcción de algoritmos que realicen inteligentemente tareas muy diferentes. Este tipo de algoritmos multipropósitos es los que asemejan más la inteligencia humana que diariamente trabaja con problemas de los que no se tiene una definición precisa o a los debe adaptarse continuamente, como son conversar y conducir, por ejemplo. Obviamente esta es la rama de menor progreso, y sólo ha habido éxito en la solución de problemas con una versión muy limitada de "mala definición" o de "propósito múltiple", (por ejemplo un problema matemático muy particular que está mal definido o que requiere de varias tareas).

El término inteligencia artificial se acuñó en 1956, cuando un grupo de científicos interesados se encontró en un primer taller de verano. Entre los asistentes se incluían Allen Newell, Herbert Simon, Marvin Minsky, Oliver Selfridge, y John McCarthy. Los trabajos más tempranos en IA consistían en esfuerzos por simular las redes neuronales del cerebro con células nerviosas planeadas numéricamente llamados "perceptrones". El éxito de estos esfuerzos estuvo muy limitado por la complejidad extrema del problema (aunque se reavivó su interés en los años ochenta y se continuó en los años noventa, debido a los adelantos en la tecnología de la computación).

A finales de los años cincuenta y a comienzos de los años sesenta, los científicos Newell, Simon, y J. C. Shaw ofrecieron un programa de computador sobre "lógica teórica", e introdujeron el procesamiento simbólico. En lugar de construir sistemas basados en números, intentaron construir sistemas que manipularan símbolos. Su acercamiento fue bastante poderoso y ha sido fundamental hasta el presente en casi todos los trabajos en IA. En esta aproximación simbólica, el conocimiento se expresa como reglas. Por ejemplo, una regla tal podría ser: "Si x es un ave, entonces x puede volar". Si un sistema de IA determina o se dice que un petirrojo es un ave, entonces puede inferir que el petirrojo puede volar. El problema con esta regla, por supuesto, es que los animales como las avestruces y los pingüinos son aves pero no pueden volar. Aunque la dificultad aquí es obvia, sirve para ejemplificar los problemas más sutiles que son endémicos a la metodología del acercamiento lógico-simbólico.

También se han construido sistemas de IA como medios para develar y enfrentar los problemas de producir una conducta inteligente. En los años cincuenta se desarrollaron los primeros programas capaces de jugar damas a nivel de campeonato. En los años sesenta se desarrolló un programa que podía demostrar teoremas en geometría euclidiana. Otro programa era capaz de resolver problemas de analogía como aquéllos que se presentan en las pruebas normales de inteligencias para adultos. A finales de los años sesenta se desarrolló un programa que podía crear una estrategia de apuestas para el juego de cartas de póquer.

En los años setenta ocurrió un crecimiento explosivo. El progreso mayor se hizo en la interpretación de la entrada visual. También se desarrolló un método para representar las acciones de una manera menos ambigua, mejorando las capacidades de los programas para entender el idioma natural. También se desarrolló un sistema rudimentario de reconocimiento del discurso, capaz de identificar las palabras habladas. El primer programa experto basado en conocimiento se escribió a mediados de la década de 1960. Llamado Dendral podía predecir las estructuras de compuestos químicos desconocidos basándose en análisis de rutina.

Seguidamente se desarrollaron sistemas expertos del tipo basado en reglas más sofisticados. Un ejemplo notable es el programa Mycin. Mycin usa reglas derivadas del dominio médico para razonar hacia atrás --es decir, deducir-- desde una lista de síntomas una enfermedad particular. Muchos sistemas expertos de estructura similar se han construido. En el campo de la estrategia, fueron inventados programas de ajedrez por los años noventa que podían competir exitosamente al nivel de los grandes maestros del juego, e incluso derrotar a un campeón mundial.

En los años ochenta, en un esfuerzo por desarrollar un sistema experto a gran escala, el gobierno japonés empezó construyendo poderosas computadoras con un hardware que realizaba inferencias lógicas en el idioma de computadora PROLOG. (Siguiendo la idea de representar el conocimiento declaratoriamente, la "lógica que programa" o PROLOG fue desarrollado en Inglaterra y Francia. PROLOG realmente es un motor de inferencia que busca hechos y reglas declarados para confirmar o negar una hipótesis. Un inconveniente de PROLOG es que no puede ser alterado por el programador.) Los japoneses se refirieron a las tales máquinas como las computadoras de "quinta generación".

A principios de los años noventa, sin embargo, Japón había desamparado su plan e incluso anunció que estaban listos para distribuir su software "secreto". Aunque nunca detallaron las razones para su abandono del programa de quinta generación, los científicos estadounidenses criticaron sus esfuerzos en IA por ir demasiado en la dirección de una lógica del tipo de un computador y demasiado poco en la dirección de los procesos del pensamiento humano. La elección de PROLOG también fue criticada: otras naciones no estaban desarrollando software en ese lenguaje de computación y mostraban un entusiasmo muy pequeño por él. Además, los japoneses no estaban logrando un gran progreso en el procesamiento en paralelo, un tipo de arquitectura de la computadora que involucra muchos procesadores independientes que trabajan juntos en paralelo--un método de una importancia en aumento en el campo de la informática. Los japoneses han definido ahora una meta de "sexta generación", en cambio, llamada el Proyecto de la Computación del Mundo Real que se aleja de la aproximación de los sistemas expertos que sólo trabajan por medio de la construcción de reglas lógicas.

Me he permitido que un algoritmo "inteligente" responda esta pregunta tan vasta. Utilizando el algoritmo experimental de inducción sobre conjuntos de "google", el cuál recibe como entrada los miembros de un conjunto y genera nuevos miembros, tan sólo introduzca algunos de los campo actuales de la inteligencia artificial, en inglés. Algoritmo de Conjuntos de Google
Ejemplo: Introduzca
fuzzy logic
genetic programming
language recognition
artificial life

Según lo visto, la Inteligencia Artificial (IA) se define mejor, en teoría, como la habilidad de un mecanismo artificial de demostrar alguna forma de conducta inteligente equivalente a las conductas que se observan en organismos vivos inteligentes. La inteligencia artificial también es el nombre del campo de la ciencia y la tecnología en que se desarrollan y se estudian mecanismos artificiales que exhiben una conducta que se parece a la inteligencia.

El término propio IA, y los fenómenos que realmente se observan, invitan --de hecho demandan-- cierta especulación filosófica sobre lo que constituye en efecto la mente o la inteligencia. Sin embargo, estos tipos de preguntas pueden considerarse separadamente de una descripción de los varios esfuerzos para construir mecanismos cada vez más sofisticados que exhiben "inteligencia."

La investigación en todos los aspectos de la IA es vigorosa. Existe cierta preocupación entre los expertos en el campo, sin embargo, de que se han exagerado el progreso y las expectativas de la IA. Los programas de IA son primitivos cuando se comparan con los tipos de razonamiento intuitivo y de inducción de los cuales el cerebro humano o incluso los cerebros de muchos de los organismos menos avanzados son capaces. La IA se ha mostrado prometedora en el área de los sistemas expertos--es decir, los programas basados en un conocimiento especializado-- pero mientras estos programas son poderosos al contestar preguntas dentro de un dominio específico, no obstante son totalmente incapaces de cualquier tipo de razonamiento adaptable, o verdaderamente inteligente.

Los ejemplos de sistemas de IA son muy variados e incluyen programas de computador que realizan tareas como diagnósticos médicos y prospección mineral. También se han programado computadoras capaces de desplegar algún grado de razonamiento legal, de entendimiento del discurso, interpretación de la visión, procesamiento del lenguaje natural, solución de problemas, y aprendizaje. Aunque la mayoría de estos sistemas ha demostrado ser valioso como vehículos de investigación o en aplicaciones específicas, prácticas, la mayoría de ellos está todavía muy lejos de perfeccionarse.

Un impedimento en la construcción de sistemas expertos aún más útiles ha sido, desde el principio, el problema de la entrada --en particular, alimentar con datos crudos un sistema de IA. Con este fin, se han consagrado grandes esfuerzos en el reconocimiento del discurso, el reconocimiento de caracteres escritos, la visión artificial, y el procesamiento del lenguaje natural. Un segundo problema está en la obtención del conocimiento. Ha resultado ser muy arduo extraer conocimiento de un experto y codificarlo para el uso de la máquina, así que se ha dedicado un gran esfuerzo al aprendizaje y a la adquisición del conocimiento.

Una de las ideas más útiles que han surgido de la investigación en IA, sin embargo, es que los hechos y reglas (conocimiento declaratorio) pueden representarse separadamente de los algoritmos que realizan las decisiones (conocimiento procesal). Este hecho ha tenido un efecto profundo en la manera en que los científicos se acercan a los problemas y en las técnicas de ingeniería usadas para producir sistemas de IA. Adoptando un elemento procesal particular, llamado motor de inferencia, el desarrollo de un sistema de IA se reduce a obtener y codificar suficientes reglas y hechos del dominio del problema. Este proceso de la codificación se llama ingeniería del conocimiento. Reducir el desarrollo del sistema a la ingeniería del conocimiento ha abierto la puerta a los legos en IA. Además, el negocio y industria han estado reclutando a científicos de IA para construir sistemas expertos.

En particular, un gran número de los problemas en el campo de IA ha sido asociado a la robótica. Hay, en primer lugar, los problemas mecánicos de conseguir una máquina capaz de realizar movimientos muy precisos o delicados. Más allá de eso está también el problema mucho más difícil de la programación de sucesiones de movimientos que permitan a un robot actuar recíproca y eficazmente en un ambiente natural, en lugar de en un escenario de laboratorio cuidadosamente diseñado. Gran parte del trabajo en esta área involucra la solución de problemas y la planeación.

Un acercamiento radical a tales problemas ha sido abandonar el objetivo de desarrollar sistemas de IA que "razonen" y producir, en cambio, robots que funcionan "reflexivamente" (por reflejos). Una de las principales figuras en este campo ha sido Rodney Brooks del Instituto de Tecnología de Massachusetts. Estos investigadores de IA sentían que los esfuerzos precedentes en robótica estaban condenados al fracaso porque los sistemas que se produjeron no podían funcionar en el mundo real. En lugar de intentar construir redes integradas que operaran bajo un mando centralizando y mantuvieran un modelo lógicamente consistente del mundo, estos nuevos investigadores están siguiendo un acercamiento basado en la conducta que ha sido llamado arquitectura de subsunción ("subsumption arquitechture").

La arquitectura de subsunción emplea una técnica de planeación llamada de capas ("layering", --una forma de procesamiento paralelo en el que cada capa es una red productora de una conducta separada que funciona por sí misma, sin un mando central). No existe ninguna verdadera separación, en estas capas, entre los datos y el cómputo. Ambos están distribuidos sobre las mismas redes. Las conexiones entre los sensores y los actores (mecanismos de acción) en estos sistemas son bastante cortas también. Los robots resultantes podrían parecer muy "tontos," pero de hecho han demostrado notables habilidades para aprender y adaptarse a las circunstancias de la vida real.

Los aparentes éxitos de este nuevo acercamiento no han convencido a muchos de los partidarios del desarrollo de sistemas integrados de que la alternativa es válida para aproximarse más a la meta de producir una verdadera IA. Los argumentos que se han levantado entre los practicantes de las dos metodologías diferentes son, de hecho, profundos, y tienen implicaciones sobre la naturaleza de la inteligencia en general, ya sea natural o artificial.

Volver al principio

Programas

Todos los programas están hechos en Mathematica (versión 3 o 4), excepto el último que está hecho en BASIC. Si desea copiar o modificar los programas, revise la nota de Copyright al final de este documento. Si no tiene Mathematica, no puede correr los prgramas, pero de todos modos puede observar las soluciones bajándo grátis el visor de Mathematica Mathreader. Si no tiene BASIC puede bajar grátis un compilador en la página de QBasic. Tan sólo copie y peque el programa y compilelo, desde el menú (Make .exe), o córralo sin compliar con Run.

Volver al principio

¿Dónde hallar más información?

Volver al principio

Preguntas y sugerencias

Dirección de correo electrónico
[email protected]

Volver al principio

Copyright Walter Gröbius.
Usted puede reproducir cualquiera de los programas o del material de este sitio, siempre y cuando coloque un vínculo (hipervínculo o link) a esta página, dándo el debido crédito al autor.
Última revisión: 10 de septiembre de 2002.