Por Walter Gröbius - Ph.D.
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.
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.
Dirección de correo electrónico
[email protected]