- Historia y evolución de
la inteligencia artificial - Características de la
inteligencia artificial - Funcionamiento básico
de la inteligencia artificial - Funcionamientos generales
de la inteligencia artificial - La vida
artificial - Las redes
neuronales - Aplicaciones y
proyectos - La inteligencia artificial y
el mundo - La inteligencia artificial
en la Argentina - El cine y la inteligencia
artificial - Bibliografía
Para ver el gráfico seleccione la
opción "Descargar" del menú superior
La finalidad de la inteligencia
artificial consiste en crear teorías
y modelos que
muestren la
organización y funcionamiento de la inteligencia.
Actualmente, el mayor esfuerzo en la búsqueda de la
inteligencia artificial se centra en el desarrollo de
sistemas de
procesamientos de datos que sean
capaces de imitar a la inteligencia humana, realizando tareas que
requieran aprendizaje,
solución de problemas y
decisiones. A veces llamada inteligencia de máquina, la
inteligencia artificial o AI (Artificial Intelligence) cubre una
vasta gama de teorías y prácticas.
1.1 La base de la inteligencia
artificial
La inteligencia artificial se basa en dos áreas de
estudio: el cuerpo humano
y el ordenador electrónico. Puesto que la meta es copiar
la inteligencia humana, es necesario entenderla. Sin embargo, a
pesar de todos los progresos en Neurología y Psicología, la
inteligencia del hombre se
conoce poco, exceptuando sus manifestaciones externas. Muchos
estudiosos de la inteligencia artificial se han vuelto –
para obtener su modelo de
inteligencia – hacia el estudio de la Psicología
cognoscitiva, que aborda la forma de percibir y pensar de los
seres humanos.. Después comprueban sus teorías
programando los ordenadores para simular los procesos
cognoscitivos en el modelo. Otros investigadores intentan obtener
teorías generales de la inteligencia que sean aplicables a
cualquier sistema de
inteligencia y no solo al del ser humano.
1.2 ¿Pueden pensar las máquinas?
En 1950 el matemático inglés
Alan M. Turing publicó un ensayo que
comenzaba así: "Quiero proponer una pregunta:
¿Pueden pensar las máquinas?." Como la pregunta era
demasiado vaga (¿Qué entendemos por "pensar"?),
Turing desarrolló un experimento basado en un juego de
salón en el que una persona formula a
dos jugadores escondidos (un hombre y una mujer) preguntas
que le servirán para descubrir cuál de los dos es
la mujer. Turing
propuso sustituir uno de los dos jugadores escondidos por una
máquina inteligente capaz de conversar. Si el examinador,
que se servía de un teletipo para comunicarse, no
podían distinguir cuál de los dos jugadores era la
máquina, ello evidenciaría – según
Turing – que la máquina podía pensar. En la
actualidad, este experimento de Turing podría ser
superado, en situaciones limitadas, por muchos programas de
ordenador estudiados para dialogar con el usuario.
Investigaciones acerca de la inteligencia artificial
realizadas en la Universidad de
Yale (EE.UU.) han llevado al desarrollo de programas de ordenador
mediante los cuales éstos pueden aprender y razonar. Otros
estudiosos de la inteligencia artificial están poniendo a
punto sistemas para dotar a los ordenadores de capacidad visual y
auditiva. Una importante área de investigación es la del lenguaje
normal, que permite a los ordenadores comunicarse mediante
lenguaje humano en lugar de hacerlo en lenguaje de
máquina. Es decir, la mayoría de los ordenadores
están programados para recibir e interpretar instrucciones
de este tipo: S#DYR=48-56, LOC=AS NOT SW, EN=RALSTON".
Únicamente personas preparadas son capaces de comunicarse
eficazmente de esta forma. Pero si un ordenador programado para
gestionar la documentación de una compañía
petrolífera pudiese entender la orden dactilografiada
(traducción de la anterior)
"Encuéntrame toda la documentación relativa a las
perforaciones de los pozos de Arabia Saudita entre 1948 y 1956,
pero únicamente la de los pozos en que trabajó
Ralston, no los de la zona surocciodental del país",
muchas personas podrían utilizarlo.
1.3 Los fines de la IA
Las primeras investigaciones
acerca de la inteligencia artificial estaban principalmente
dirigidas al hallazgo de una técnica universal para la
solución de problemas. Este intento a gran escala ha sido
abandonado y las investigaciones actuales están dirigidas
al diseño
de numerosos programas para ordenadores capaces de imitar los
procesos de toma de
decisiones de expertos, como médicos, químicos,
basados en los conocimientos de especialistas en cada materia, son
ahora utilizados para diagnosticar enfermedades, identificar
moléculas químicas, localizar yacimientos de
minerales e
incluso diseñar sistemas de fabricación.
Investigaciones acerca de la percepción
han sido aplicadas a los robots y se han diseñado algunos
capaces de "ver". La meta final consiste en crear un sistema
capaz de reproducir todas las facetas de la inteligencia
humana.
2. HISTORIA Y EVOLUCIÓN
DE LA INTELIGENCIA ARTIFICIAL
La Inteligencia Artificial "nació" en 1943 cuando
Warren McCulloch y Walter Pitts propusieron un modelo de neurona del
cerebro humano y
animal. Estas neuronas nerviosas abstractas proporcionaron una
representación simbólica de la actividad
cerebral.
Más adelante, Norbert Wiener elaboró estas ideas
junto con otras, dentro del mismo campo, que se llamó
"cibernética"; de aquí
nacería, sobre los años 50, la Inteligencia
Artificial.
Los primeros investigadores de esta innovadora ciencia,
tomaron como base la neurona formalizada de McCulloch y
postulaban que:
"El cerebro es un solucionador inteligente de problemas, de
modo que imitemos al cerebro".
Pero si consideramos la enorme complejidad del mismo esto es
ya prácticamente imposible, ni que mencionar que el
hardware de la
época ni el software estaban a la altura
para realizar semejantes proyectos.
Se comenzó a considerar el pensamiento
humano como una coordinación de tareas simples relacionadas
entre sí mediante símbolos. Se llegaría a la
realización de lo que ellos consideraban como los
fundamentos de la solución inteligente de problemas, pero
lo difícil estaba todavía sin empezar, unir entre
sí estas actividades simples.
Es en los años 50 cuando se logra realizar un sistema
que tuvo cierto éxito,
se llamó el Perceptrón de Rossenblatt. Éste
era un sistema visual de reconocimiento de patrones en el cual se
asociaron esfuerzos para que se pudieran resolver una gama amplia
de problemas, pero estas energías se diluyeron
enseguida.
Fue en los años 60 cuando
Alan Newell y
Herbert Simon, que trabajando la
demostración de teoremas y el ajedrez por
ordenador logran crear un programa
llamado
GPS (General Problem Solver:
solucionador general de problemas). Éste era un sistema en
el que el usuario definía un entorno en función de
una serie de objetos y los operadores que se podían
aplicar sobre ellos. Este programa era capaz de trabajar con las
torres de Hanoi, así como con criptoaritmética y
otros problemas similares, operando, claro está, con
microcosmos formalizados que representaban los parámetros
dentro de los cuales se podían resolver problemas. Lo que
no podía hacer el
GPS era resolver problemas ni del mundo
real, ni médicos ni tomar decisiones importantes.
El
GPS manejaba reglas heurísticas
(aprender a partir de sus propios descubrimientos) que la
conducían hasta el destino deseado mediante el método del
ensayo y el
error.
En los años 70, un equipo de investigadores dirigido por
Edward Feigenbaum comenzó a elaborar un proyecto para
resolver problemas de la vida cotidiana o que se centrara, al
menos, en problemas más concretos. Así es como
nació el sistema experto.
El primer sistema experto fue el denominado
Dendral, un intérprete de
espectrograma de masa construido en 1967, pero el más
influyente resultaría ser el
Mycin de 1974. El
Mycin era capaz de diagnosticar trastornos
en la sangre y recetar
la correspondiente medicación, todo un logro en aquella
época que incluso fueron utilizados en hospitales (como el
Puff, variante de Mycin de uso común en el Pacific Medical
Center de San Francisco, EEUU).
Ya en los años 80, se desarrollaron lenguajes
especiales para utilizar con la Inteligencia Artificial, tales
como el
LISP o el PROLOG. Es en esta época
cuando se desarrollan
sistemas expertos más refinados,
como por el ejemplo el EURISKO. Este programa perfecciona su
propio cuerpo de reglas heurísticas
automáticamente, por inducción.
Desarrollo Histórico (según Jackson,
1986)
1950-1965 Periodo "clásico"
- Gestación (McColluck y Pitts,
Shannon, Turing) - Inicio – reunión de Darmouth College en 1956
(Minsky,
McCarthy) - Redes neuronales, robótica (Shakey)
- Búsqueda en un espacio de estados,
Heurísticas,
LISP - Solucionador general de problemas (GPS)
(Newell,
Simon) - Juegos, prueba de teoremas
- Limitaciones de pura búsqueda,
explosión combinatoria.
1965-1975 Periodo "romántico"
- Representación "general" del conocimiento.
- Redes semánticas (Quillian)
- Prototipos (frames) (Minsky)
- Perceptrón (Minsky
y Papert) - Lógica (Kowalski)
- Mundo de bloques (SHDRLU)
(Winograd) - Compresión de lenguaje, visión,
robótica. - Dificultades de representación "general",
problemas de "juguete".
1975-Hoy Periodo "moderno". Inteligencia "especifica"
vs. "general"
- Representación explícita del
conocimiento específico del dominio.
Sistemas expertos o basados en
conocimiento.- Regreso de redes
neuronales (Hopfield, Rumelhart, Hinton), algoritmos
genéticos (Holland, Goldberg) Reconocimiento de voz
(HMM), incertidumbre (RB, Lógica difusa), planeación, aprendizaje. Aplicaciones
"reales" (medicina,
finanzas,
ingeniería, exploración,
etc.). - Limitaciones: conocimiento "superficial"
Desarrollo Histórico (según Russell y
Norvig, 1995):
Gestación (1943-1956):
- McCullock y Pitts (1943)
- Hebb (1949)
Shannon (1950)- Turing (1953)
Minsky y Edmonds (1951)- Darmouth College (1956)
McCarthy,
Newell y
Simon,
« The
Logic Theorist »
Entusiasmo y grandes expectativas
(1952-1969):
- Samuel – checkers (1952)
McCarthy (1958):
LISP:
time sharing, Programs with common sense.
Minsky y
McCarthy en MIT moldearon mucho del
área.
Minsky, Evans, Student, Waltz, Winston,
Winograd, etc.- Trabajo en RN: Hebb, Widrow, Rosenblatt
Dosis de realidad (1966-1974): - Simon predecía que en 10 años se
tendría una máquina inteligente. - Predicciones similares en traducción
automática y ajedrez. - Teoría de NP- completness.
- Experimentos en machine evolution (ahora
algoritmos genéticos; estaban bien fundados pero no
produjeron nada.) (Friedberg, 1958)
Minsky y Papert Perceptrons (1969)
(aunque irónicamente el mismo año se
descubrió backpropagation (Bryson y Ho))
Sistemas basados en conocimiento (1969-1979):
IA como industria
(1980-1988):
- R1/XCON, proyecto de la quinta generación,
shells y máquinas de LISP.
Regreso de redes neuronales
(1986-presente):
- Hopfield, Rumelhart y Hinton y descenso de los
SE
Eventos recientes (1987-presente):
- Cambio gradual hacia los técnicos y lejos de
los rudos (implica cierto grado de madurez y estabilidad) ej.,
reconocimiento de voz (HMM), incertidumbre (Bayes),
planeación (Tweak), robótica, aprendizaje (PAC),
etc.
3.
CARACTERÍSTICAS DE LA INTELIGENCIA
ARTIFICIAL
- Una característica fundamental que distingue a
los métodos
de Inteligencia Artificial de los métodos
numéricos es el uso de símbolos no
matemáticos, aunque no es suficiente para distinguirlo
completamente. Otros tipos de programas como los compiladores y
sistemas de bases de datos,
también procesan símbolos y no se considera que
usen técnicas
de Inteligencia Artificial. - El comportamiento de los programas no es descrito
explícitamente por el algoritmo.
La secuencia de pasos seguidos por el programa es influenciado
por el problema particular presente. El programa especifica
cómo encontrar la secuencia de pasos necesarios para
resolver un problema dado (programa declarativo). En contraste
con los programas que no son de Inteligencia Artificial, que
siguen un algoritmo definido, que especifica,
explícitamente, cómo encontrar las variables de
salida para cualquier variable dada de entrada (programa de
procedimiento). - El razonamiento basado en el
conocimiento, implica que estos programas incorporan
factores y relaciones del mundo real y del ámbito del
conocimiento en que ellos operan. Al contrario de los programas
para propósito específico, como los de contabilidad
y cálculos científicos; los programas de
Inteligencia Artificial pueden distinguir entre el programa de
razonamiento o motor de
inferencia y base de conocimientos dándole la capacidad
de explicar discrepancias entre ellas. - Aplicabilidad a datos y problemas mal estructurados,
sin las técnicas de Inteligencia Artificial los
programas no pueden trabajar con este tipo de problemas. Un
ejemplo es la resolución de conflictos en tareas
orientadas a metas como en planificación, o el diagnóstico de tareas en un sistema del
mundo real: con poca información, con una solución
cercana y no necesariamente exacta.
La Inteligencia Artificial incluye varios campos de
desarrollo tales como: la robótica, usada principalmente
en el campo industrial; comprensión de lenguajes y
traducción; visión en máquinas que
distinguen formas y que se usan en líneas de ensamblaje;
reconocimiento de palabras y aprendizaje de máquinas;
sistemas computacionales expertos.
Los sistemas
expertos, que reproducen el comportamiento
humano en un estrecho ámbito del conocimiento, son
programas tan variados como los que diagnostican infecciones en
la sangre e indican un tratamiento, los que interpretan datos
sismológicos en exploración geológica y los
que configuran complejos equipos de alta tecnología.
Tales tareas reducen costos, reducen
riesgos en la
manipulación humana en áreas peligrosas, mejoran el
desempeño del personal
inexperto, y mejoran el control de
calidad sobre todo en el ámbito comercial.
3.1 Programa fijo y programa modificado por el
procesamiento
Existen grandes diferencias entre el funcionamiento de
las máquinas y el del cerebro: algunas son evidenciadas en
el esquema bajo estas líneas. Las máquinas y el
cerebro se diferencian en muchos aspectos: el primero es ligado a
la arquitectura
del sistema de memoria y a la
elaboración realizada por la inteligencia natural, que
influye en los programas sucesivos al ser almacenada en la memoria que
mantiene disponibles todos los hechos que se han ido acumulando a
lo largo del tiempo. Abajo
a la izquierda se muestra el
esquema de funcionamiento de un sistema artificial: procesa datos
que recibe del exterior y que le son presentados ya
seleccionados. Los procesa mediante un programa fijo, siempre
elegido y construido por el hombre, es
decir, desde el exterior.
Este programa es sencillo comparado con los
utilizados por el cerebro humano. A lo largo del tiempo, un mismo
programa que procese los mismos datos obtendrá siempre los
mismos resultados. Sin embargo, este sistema es muy veloz cuando
se le piden secuencias de operaciones.
Contrariamente, el cerebro humano es capaz de procesar al mismo
tiempo todas las informaciones contenidas en una imagen, y el
resultado de dicho procesamiento puede servir para modificar el
programa, que para posteriores utilizaciones será
más completo. La observación de una imagen muestra la
diferencia fundamental entre el modo de procesar los datos del
cerebro humano y el de la máquina. El cerebro humano no
actúa teniendo en cuenta un programa prefijado, sino
más bien uno de naturaleza
variable en el tiempo; las variaciones dependen de los resultados
procedentes. De hecho, el cerebro tiene la propiedad de
recordar imágenes
similares; una vez vista la figura, extrae de su memoria
imágenes similares previamente almacenadas y los
resultados de los análisis realizados sobre ellas. Estos
resultados sirven para mejorar el programa según el cual
sacará conclusiones aplicadas al examen de la
figura.
4. FUNCIONAMIENTO
BÁSICO DE LA INTELIGENCIA ARTIFICIAL
Diferentes teorías:
- Construir réplicas de la compleja red neuronal del cerebro
humano (bottom-up). - Intentar imitar el comportamiento del cerebro
humano con un computador
(top-down).
4.1 Símbolos vs. Métodos
Numéricos
El primer período de la Inteligencia Artificial,
llamado sub-simbólico, data de aproximadamente 1950 a
1965. Este período utilizó representaciones
numéricas (o sub-simbólicas) del conocimiento.
Aunque la mayor parte de los libros de
Inteligencia Artificial enfatizan el trabajo
realizado por Rosenblatt y Widrow con redes neuronales durante
este período, la realidad es que otra importante escuela
sub-simbólica data también de la misma época
y estos son los algoritmos evolutivos.
La escuela clásica dentro de la Inteligencia
Artificial, utiliza representaciones simbólicas basadas en
un número finito de primitivas y de reglas para la
manipulación de símbolos. El período
simbólico se considera aproximadamente comprendido entre
1962 y 1975, seguido por un período dominado por los
sistemas basados en el conocimiento de 1976 a 1988. Sin embargo,
en este segundo período las representaciones
simbólicas (por ejemplo, redes semánticas,
lógica de predicados, etc.) siguieron siendo parte central
de dichos sistemas.
La Programación Lógica tiene sus
orígenes más cercanos en los trabajos de J. A.
Robinson que propone en 1965 una regla de inferencia a la que
llama resolución, mediante la cual la
demostración de un teorema puede ser llevada a cabo de
manera automática.
La resolución es una regla que se aplica
sobre cierto tipo de fórmulas del Cálculo de
Predicados de Primer Orden, llamadas cláusulas y la
demostración de teoremas bajo esta regla de inferencia se
lleva a cabo por reducción al absurdo.
Otros trabajos importantes de esa época que
influyeron en la programación lógica, fueron los de
Loveland, Kowalski y Green, que diseña un probador de
teoremas que extrae de la prueba el valor de las
variables para las cuales el teorema es válido.
Estos mecanismos de prueba fueron trabajados con mucho
entusiasmo durante una época, pero, por su ineficiencia,
fueron relegados hasta el nacimiento de Prolog, que surge en 1971
en la Universidad de Marsella, Francia.
La Lógica de Primer Orden, es uno de los
formalismos más utilizados para representar conocimiento
en Inteligencia Artificial. La Lógica cuenta con un
lenguaje formal mediante el cual es posible representar
fórmulas llamadas axiomas, que permiten describir
fragmentos del conocimiento y, además consta de un
conjunto de reglas de inferencia que aplicadas a los axiomas,
permiten derivar nuevo conocimiento.
4.2 Alfabeto del Lenguaje de la Lógica de
Primer Orden
Contiene dos tipos de símbolos:
- Símbolos lógicos, entre los que se
encuentran los símbolos de constantes proposicionales
true y false; los símbolos de operadores proposicionales
para la negación, la conjunción, la
disyunción y las implicaciones (=>, <=); los
símbolos de operadores de cuantificación como el
cuantificador universal; el cuantificador existencial; y los
símbolos auxiliares de escritura
como corchetes [,], paréntesis (,) y
coma. - Símbolos no lógicos, agrupados en el
conjunto de símbolos constantes; el conjunto de
símbolos de variables individuales; el conjunto de
símbolos de funciones
n-arias; y el conjunto de símbolos de relaciones
n-arias.
A partir de estos símbolos se construyen las
expresiones válidas en el Lenguaje de
Primer Orden: los términos y las
fórmulas.
Un término es cualquiera de las
tres expresiones siguientes: una constante, por ejemplo, el
número "100", la palabra "alfredo" y la letra "c"; o una
variable, por ejemplo, "X" o bien una expresión de la
forma "f(t1,…,tn)" donde "f" es un símbolo de
función n-aria y t1,…,tn son términos. Ejemplos
de funciones son: f(100,X), padre(Y) y sucesor(X).
Las fórmulas atómicas o elementales
son expresiones de la forma R(t1,…,tn) donde R es un
símbolo de relación n-aria y t1,…,tn son
términos.
Ejemplos de fórmulas son:
positivo(3),not(igual(4,doble(2))),
recetar(X,aspirina)<=tiene(X,fiebre),
tiene(X,cefalea).
Esta última establece una regla que dice que, si
X tiene fiebre y cefalea (dolor de cabeza), X debe tomar una
aspirina.
El Lenguaje de Primer Orden posee un amplio poder de
expresión, los términos permiten nombrar los
objetos del universo,
mientras que las fórmulas permiten afirmar o negar
propiedades de éstos o bien establecen las relaciones
entre los objetos del universo.
Puede decirse que la Programación Lógica
utiliza la Lógica de Primer Orden como lenguaje de
programación. Prolog es un ejemplo de lenguaje basado
en la Lógica de Primer Orden y aunque toma su nombre de
este término ("PROgramming in LOGic"), no abarca toda la
riqueza de la Lógica de Primer Orden para resolver
problemas, pues está restringido al uso de cierta clase de
fórmulas denominadas cláusulas definidas o
cláusulas de Horn.
Un programa lógico está formado por un
conjunto finito de cláusulas de programa que son hechos o
reglas. Por ejemplo:
padre(luis,miguel). hecho
padre(miguel,jose). hecho
padre(jose,juan). hecho
abuelo(X,Y):-padre(X,Z), padre(Z,Y). regla
Este programa está formado por cuatro
cláusulas de programa, las tres primeras son del tipo
hecho y definen la relación padre/2 y la cuarta una regla
que define la relación abuelo/2. Nótese el uso de
las variables X,Y y Z en esta cláusula, las cuales
permiten definir de manera general en Prolog la relación
"ser abuelo de", pues la lectura
declarativa de dicha cláusula es la siguiente: "Para
cualesquiera X,Y,Z se cumple que: X abuelo de Y, si X padre de Z
y Z padre de Y".
En Prolog es posible hacer preguntas sobre objetos y
relaciones del dominio y estas preguntas se formulan como
objetivos o
metas, que son evaluadas por el intérprete de Prolog
utilizando su mecanismo de inferencia interno, el cual determina
si la meta a demostrar es una consecuencia lógica del
programa, aplicando reglas de deducción para obtener la
respuesta.
Por ejemplo, del programa anterior, utilizando la
cláusula de tipo meta ?abuelo(X,juan), para
preguntar ¿quién es el abuelo de Juan? o bien
¿quiénes son los abuelos de Juan?, es posible
deducir que Luis es abuelo de Juan, aunque implícitamente
no existe en el programa ningún hecho que así lo
afirme.
En este ejemplo de análisis de oraciones,
podemos observar de qué manera se analiza una
oración ingresada por el usuario y cómo el
ordenador lo traduce en un lenguaje lógico de primer
orden.
En este caso la ejecución del programa, para
dicha meta, arrojaría como resultado que
X=luis.
El método de deducción utilizado por
Prolog, para dar respuesta a los objetivos planteados, se basa en
el uso de una única regla de inferencia: el Principio de
Resolución.
Los primeros trabajos de prueba automática de
teoremas utilizaban la resolución, aplicada a
cláusulas cualesquiera, pero el problema de las
deducciones con cláusulas generales es el gran
número de combinaciones posibles para llevar a cabo las
resoluciones.
Por ello Prolog restringe el conjunto de
cláusulas, lo que le permite llevar a cabo una prueba
dirigida y, en la mayoría de los casos, con un universo de
posibilidades explorable en tiempo de
ejecución.
5.
FUNCIONAMIENTOS GENERALES DE LA INTELIGENCIA
ARTIFICIAL
5.1 Tipos de Algoritmos Utilizados
Cuando una tarea se realiza por medio de un algoritmo
perfectamente definido de almacenamiento,
clasificación o cálculo, lo puede hacer un
computador. Este concepto de
algoritmo, secuencial, fijo y de determinadas operaciones, es
incapaz de manejar problemas donde el camino del razonamiento es
variable y donde deben afrontarse situaciones diversas sin haber
sido especificadas.
La Inteligencia Artificial hace uso de un tipo de lenguaje
diferente como es el caso de LISP y PROLOG.
En 1932, Cannon visualizó la evolución natural como un proceso de
aprendizaje. Alan Turing reconoció, en 1950, que debe
haber una conexión obvia entre el aprendizaje de
máquina y la evolución, y señaló que
se podrían desarrollar programas para jugar ajedrez usando
esta técnica. Campbell conjeturó en 1960 que en
todos los procesos que llevan a la expansión del
conocimiento, se involucra un proceso ciego de variación y
supervivencia selectiva.
Los primeros intentos de aplicar de manera formal la teoría
de la evolución, a problemas prácticos de
ingeniería, apareció en las áreas de
control de
procesos estadísticos, aprendizaje de máquina y
optimización de funciones. Tal vez el primer intento serio
de este tipo se dio en el trabajo que
realizaron Box y sus colegas en 1957, en el desarrollo de una
técnica que denominaron operación evolutiva, la
cual se aplicó a una planta de manufactura, y
que se implanto sobre la base de los votos de un comité de
jefes técnicos. Bajo este esquema, la calidad del
producto
avanzaba a través de mutaciones aleatorias y la selección
era determinada por el comité.
Por su parte, Friedberg intentó, en 1958, hacer que un
programa en lenguaje máquina se mejorara a sí
mismo, seleccionando instrucciones que se asociaran más
frecuentemente con un resultado exitoso. Aunque Friedberg nunca
mencionó explícitamente estar simulando la
evolución natural, esa es la interpretación más comúnmente
aceptada de su trabajo, y a pesar de que tuvo cierto éxito
evolucionando manipuladores de bits y determinando las
interconexiones de una caja negra de 1400 terminales, la comunidad de
Inteligencia Artificial de la época prestó poca
atención a su trabajo. Por ejemplo, Minsky
lo criticó duramente, argumentando que una búsqueda
puramente aleatoria era mucho mejor que el algoritmo de
Friedberg.
El trabajo de Bremermann, en 1958, se enfocó más
a la optimización, introduciendo el importante manejo de
un valor de aptitud, y definiendo a un individuo como
una cadena de símbolos binarios (unos y ceros). Bremermann
advirtió, acertadamente, que la mutación jugaba un
papel importante en la evolución, pues impedía el
estancamiento en mínimos locales. Aunque muchas de sus
ideas se usan hoy en día, Bremermann cometió el
error de tratar de optimizar funciones lineales y convexas,
obteniendo resultados decepcionantes, pues sus algoritmos
evolutivos tenían que ser complementados con otras
heurísticas para converger en una solución. Hoy
sabemos que los algoritmos evolutivos difícilmente pueden
competir con las técnicas tradicionales de
optimización en esos dominios.
Barricelli ofreció, en 1954, una de las primeras
simulaciones que usaba principios
evolutivos, utilizando los mismos procedimientos
generales que se usan hoy en día en la disciplina
conocida como vida artificial. Sin embargo, en este trabajo,
así como el que Reed realizó posteriormente en
1967, se concluyó que la cruza no parecía mejorar
la velocidad de
la adaptación selectiva, y el operador primordial era la
mutación.
Fue Fogel el que introdujo la primera técnica evolutiva
que realmente funcionó más o menos dentro de los
lineamientos actuales de la computación evolutiva. Su
programación evolutiva consistía en hacer
evolucionar autómatas de estados finitos por medio de
mutaciones. Fogel introdujo los importantes conceptos de población y selección, y aunque las
revisiones iniciales de su trabajo fueron favorables, algunos
investigadores, como Solomonoff, enfatizaron que el método
de Fogel no debía verse en su estado actual
(en 1966) como algo particularmente útil para resolver
problemas, a excepción de los más simples posibles.
Solomonoff vio a la programación evolutiva como una
especie de búsqueda escalando la colina modelada mediante
autómatas, y otros investigadores como Holland, Kieras,
Rada y Lenat compartieron esa opinión.
Otra técnica evolutiva dirigida particularmente a la
optimización de funciones continuas de alta complejidad se
desarrolló en Alemania, en
1965, por Rechenberg y Schwefel. Esta técnica, llamada
estrategia
evolutiva, se utilizó inicialmente para resolver problemas
de ingeniería que desafiaban a los métodos de
optimización tradicionales, como el gradiente conjugado, y
se basa en la modificación sistemática de un vector
de números reales (representando las variables de
decisión del problema) mediante operadores
probabilísticos, usando ciertos criterios para decidir en
qué dirección dirigir la búsqueda. La
estrategia evolutiva utiliza como operador principal a la
mutación, y en su versión más reciente usa
la cruza como operador secundario.
Aunque el australiano Fraser propuso, desde fines de los 50,
un procedimiento muy similar al que John Holland llamó
planes evolutivos a fines de los 60, es al segundo al que se le
suele atribuir la creación de la técnica que se
conoce como algoritmo genético, a raíz de que
Holland publicara el libro
"Adaptation in Natural and Artificial Systems" en
1975.
5.1.1 Algoritmo Genético
La principal diferencia del algoritmo genético con las
técnicas antes mencionadas, es que utiliza la cruza como
operador principal y a la mutación como operador
secundario (e incluso opcional). El algoritmo genético, al
igual que las redes neuronales, funciona como una caja negra que
recibe ciertas entradas y produce (tras una cantidad de tiempo
indeterminada) las salidas deseadas. Sin embargo, a diferencia de
éstas, los algoritmos genéticos no necesitan
entrenarse con ejemplos de ningún tipo, sino que son
capaces de generar sus propios ejemplos y contraejemplos que
guíen la evolución a partir de poblaciones
iniciales totalmente aleatorias.
Los mecanismos de selección del más apto y de
reproducción sexual del algoritmo
genético, son los encargados de preservar las
características más adecuadas de cada individuo a
fin de hacer converger a la población en soluciones
óptimas.
Los algoritmos genéticos se distinguen también
por no quedar atrapados fácilmente en mínimos
locales, como la mayor parte de las técnicas de
búsqueda clásicas, además de usar operadores
probabilísticos más robustos que los operadores
determinísticos, que las otras técnicas suelen
usar.
No obstante, siendo una heurística, tampoco pueden
garantizar encontrar siempre la solución óptima, si
bien la experiencia acumulada hasta la fecha parece demostrar
que, cuando se utilizan apropiadamente, pueden proporcionar
soluciones muy aceptables y, en la mayoría de los casos,
superiores a las encontradas con otras técnicas de
búsqueda y optimización.
Aunque aún atacados por algunos sectores de la
comunidad de Inteligencia Artificial, los algoritmos
genéticos, al igual que las redes neuronales, se han ido
ganando poco a poco, y sobre la base de la efectividad de sus
resultados en aplicaciones prácticas, el reconocimiento de
los investigadores como una técnica efectiva en problemas
de gran complejidad, como lo demuestra un número creciente
de conferencias y publicaciones especializadas alrededor del
mundo, en los últimos años.
5.2 Sistemas Basados en Conocimiento
Los métodos generales desarrollados para la
resolución de problemas y técnicas de
búsqueda al inicio de la era de la Inteligencia Artificial
demostraron no ser suficientes para resolver los problemas
orientados a las aplicaciones, ni fueron capaces de satisfacer
los difíciles requerimientos de la
investigación.
A este conjunto de métodos, procedimientos y
técnicas, se lo conoce como Inteligencia
Artificial Débil. La principal conclusión
que se derivó de este trabajo inicial fue que los
problemas difíciles sólo podrían ser
resueltos con la ayuda del conocimiento específico acerca
del dominio del problema.
La aplicación de estas ideas dio lugar al desarrollo de
los denominados Sistemas Basados en Conocimiento (Knowledge
Based Systems) y al aparecimiento de la Ingeniería
Cognoscitiva, como una rama de la Inteligencia Artificial, que
estudia los sistemas basados en el conocimiento. La
definición de un sistema basado en conocimiento puede ser
la siguiente:
Componentes: software de interfaz, base de datos,
programa computacional.
Una relativamente nueva categoría de sistemas de
información orientada al servicio es el
sistema experto, llamado así porque su base de
datos guarda una descripción de habilidades en la toma de
decisiones de experiencias humanas en un estrecho dominio de
procedimientos, tales como interpretación médica de
imagen, impuestos,
diseño de piping, configuración de hardware en un
sistema de computadores, equipamiento para reparar
malfuncionamientos o, en la preparación de cerveza.
La motivación
para construir sistemas expertos es el deseo de replicar el
escaso, in estructurado y quizás el pobremente documentado
conocimiento empírico de especialistas que de este modo
puede ser rápidamente usado por otros.
Un programa computacional que usa inteligencia artificial
resuelve problemas en un dominio especializado que ordinariamente
requiere experiencia humana.
El primer sistema experto fue desarrollado en 1965 por Edward
Feigenbaum y Joshua Lederberg de la Universidad de Standford en
California, EEUU, y se lo llamó Dendral. Fue
diseñado para analizar componentes químicos.
Dado que cada condición que puede ser encontrada puede
ser descrita por una regla, los sistemas expertos basados en
reglas no pueden manejar eventos no
anticipados, pero pueden evolucionar con el uso, y permanece
limitado a un estrecho dominio de problemas.
Otra variante de sistemas expertos, uno que no posee esta
limitación, emplea una base de conocimiento que consiste
de descripciones estructuradas de situaciones, de problemas del
mundo real y de decisiones actualmente hechas por expertos
humanos.
En medicina, por ejemplo, el registro de un
paciente contiene descripciones de datos personales,
exámenes físicos y de laboratorio,
diagnóstico clínico, tratamiento propuesto, y los
resultados de tales tratamientos.
Dada una gran base de datos con tales registros en una
especialidad médica, el médico puede indagar acerca
de eventos análogos a los relacionados con el paciente.
Esto en contraste con el sistema que idealmente intenta
reemplazar al ser humano, ya que en casos como estos sólo
podría usarse este tipo de conocimiento como una
herramienta que ayuda en la toma de decisiones.
El software requerido para este tipo de sistemas se ha ido
complicando con el tiempo ya que su desarrollo demanda
tiempo, un buen equipo de programadores y un buen producto
final.
Se percibe este trabajo como una tarea para el ingeniero y
consiste de:
- Identificación y análisis de los
requerimientos del usuario. - Desarrollo de las especificaciones del sistema (software y
hardware). - Diseño del software.
- Implementación
- Testeo
- Mantenimiento
Tareas típicas para sistemas expertos involucran
clasificación, diagnóstico, monitoreo,
diseño, inventario y
planificación para esfuerzos especializados.
5.2.1 Niveles de conocimiento
A pesar de no disponerse de un modelo general
comúnmente aceptado, existe unanimidad en cuanto a la
aprobación de tres niveles distintos de conocimientos, a
los que corresponde tres fases diferentes de estudio y sobre los
que se basa, en general, la concepción de un sistema
experto. Esos niveles son el de estructuración, el
conceptual y el cognoscitivo. El primero es el que
define el mecanismo que genera la certeza. Este mecanismo
varía según el campo al que se aplique el sistema
experto, ya que las evidencias
asociadas a cada campo no son idénticas. La
determinación del nivel de estructuración permite
definir un formalismo de representación del conocimiento
así como un mecanismo adecuado de deducción. El
nivel conceptual es el que determina el conjunto de los conceptos
que emplea el experto humano en la materia; cada uno de ellos
corresponde a un nudo del razonamiento del experto. Se le asocia
un descriptor que se experimenta con el formalismo
correspondiente al nivel de estructuración. Finalmente, el
nivel cognoscitivo corresponde al conjunto de los conocimientos
que el experto humano pone en práctica para la
resolución del problema planteado. Este conjunto de
conocimientos debe poder traducirse al lenguaje definido mediante
el formalismo de representación del conocimiento adoptado.
En cuanto al desarrollo actual de la investigación en el
campo de los sistemas expertos, la primera fase corresponde al
desarrollo de sistemas y programas que traten directamente el
lenguaje natural, si bien persisten todavía dos escollos
importantes. Por un lado, el problema de cómo emplear de
un modo eficaz una gran cantidad de información sin
necesidad de echar mano de la combinatoria; es decir, cómo
conseguir un sistema dotado de conocimientos (metaconocimientos)
que le permitan utilizar los conocimientos del sistema y que, a
su vez, le permitan deducir automáticamente nuevos
conocimientos, ya que no cabe pensar en la reunión de
todos los conocimientos necesarios en casos de campos tan
sumamente vastos como el del diagnóstico en la
medicina.
5.3 Sistemas Expertos
Los sistemas expertos se basan en la simulación
del razonamiento humano. El razonamiento humano tiene para ellos,
un doble interés:
por una parte, el del análisis del razonamiento que
seguiría un experto humano en la materia a fin de poder
codificarlo mediante el empleo de un
determinado lenguaje informático; por otra, la síntesis
artificial, de tipo mecánico, de los razonamientos de
manera que éstos sean semejantes a los empleados por el
experto humano en la resolución de la cuestión
planteada.
Estos dos campos de interés han conducido a los
investigadores que trabajan en el campo de la inteligencia
artificial (de la cual los sistemas expertos son un campo
preferente) a intentar establecer una metodología que permita verificar el
intercambio con los expertos humanos y aislar los diversos tipos
de razonamiento existentes (inductivo, deductivo, formal, etc.),
así como construir los elementos necesarios para
modelizarlos. Los sistemas expertos son, por lo tanto,
intermediarios entre el experto humano, que transmite sus
conocimientos al sistema, y el usuario de dicho sistema, que lo
emplea para resolver los problemas que se le plantean con la
competencia de un
especialista en la materia y que, además, puede adquirir
una destreza semejante a la del experto gracias a la
observación del modo de actuar de la máquina. Los
sistemas expertos son, pues, simultáneamente, un sistema
de ejecución y un sistema de transmisión del
conocimiento. Asimismo, los sistemas expertos se definen mediante
su arquitectura; obtienen, por lo tanto, una realidad palpable.
Mientras que en las operaciones de programación
clásicas se diferencia únicamente entre el propio
programa y los datos, en el caso de los sistemas expertos se
diferencian tres componentes principales. Son los siguientes:
La base de conocimientos aloja la totalidad de las
informaciones específicas relativas al campo del saber
deseado. Está escrita en un lenguaje específico de
representación de los conocimientos que contiene y en el
cual el experto puede definir su propio vocabulario
técnico.
A la inversa de lo que sucede en los programas
clásicos, en la base de conocimientos las informaciones
entran tal como llegan, ya que el orden no influye en los
resultados obtenidos. Sucede así porque cada elemento de
conocimiento es comprensible por sí mismo tomado de forma
aislada y, por lo tanto, no es necesario referirse al contexto en
el cual está inserto. La información se representa,
por regla general, mediante reglas de producción o redes semánticas. Las
reglas de producción constituyen el método
más utilizado para construir bases de conocimientos en los
sistemas expertos. Llamadas también implicaciones
lógicas, su estructura es
la siguiente: para unas ciertas causas, unos efectos; o, para
determinadas condiciones, ciertas consecuencias. Junto a cada
regla, se almacena también su porcentaje en forma de
probabilidad.
Éste indica, mediante un tanto por ciento, el grado de
certeza de las consecuencias que se obtienen como resultado de la
aplicación de la regla de producción. En cuanto a
las redes semánticas, se trata de un método de
construcción de bases de conocimientos en
el cual los conocimientos se muestran mediante un grafo en el que
los vértices representan los conceptos u objetos y las
aristas indican las relaciones entre ellos.
Además el sistema dispone de la llamada base de
hechos, que alberga los datos propios correspondientes a los
problemas que se desea tratar con la ayuda del sistema. Asimismo,
a pesar de ser la memoria de trabajo, la base de hechos puede
desempeñar el papel de memoria auxiliar. La memoria de
trabajo memoriza todos los resultados intermedios, permitiendo
conservar el rastro de los razonamientos llevados a cabo. Puede,
por eso, emplearse para explicar el origen de las informaciones
deducidas por el sistema en el transcurso de una sesión de
trabajo o para llevar a cabo la descripción del
comportamiento del propio sistema experto. Al principio del
período de trabajo, la base de hechos dispone
únicamente de los datos que le ha introducido el usuario
del sistema, pero, a medida que va actuando el motor de
inferencias, contiene las cadenas de inducciones y deducciones
que el sistema forma al aplicar las reglas para obtener las
conclusiones buscadas.
El último elemento, el motor de inferencias, es
un programa que, mediante el empleo de los conocimientos puede
resolver el problema que está especificado. Lo resuelve
gracias a los datos que contiene la base de hechos del sistema
experto. Por regla general, el tipo de reglas que forman la base
de conocimientos es tal que, si A es válido, puede
deducirse B como conclusión. En este caso, la tarea que
lleva a cabo el motor de inferencias es la de seleccionar,
validar y activar algunas reglas que permiten obtener finalmente
la solución correspondiente al problema planteado.
El sistema experto establecido se compone, por lo tanto, de
dos tipos bien diferenciados de elementos, los propios del campo
de los expertos relacionados con el problema concreto (es
decir, la base de conocimientos y la base de hechos) y el que se
puede aplicar de forma general a una gran variedad de problemas
de diversos campos (como el caso del motor de inferencias). Sin
embargo, el motor de inferencias no es un mecanismo universal de
deducción, ya que hay dos tipos diverso: los que emplean
el razonamiento aproximativo (para el cual el resultado puede ser
erróneo) y aquellos que emplean un tipo de razonamiento
capaz de obtener un resultado (si llegan a él), con toda
seguridad,
verdadero.
5.3.1 Fases del proceso
Sin embargo, a pesar de no existir una metodología
generalmente aceptada en cuanto a la concepción de los
sistemas expertos, se admite por regla general un esquema que
consta de tres fases. En la primera fase, la discusión con
el experto o los expertos humanos en la cual se intenta, por un
lado, delimitar el problema a resolver y, por el otro, los modos
de razonamiento que se emplearán para su solución.
La segunda fase comprende el desglose del formalismo de
expresión del conocimiento y la determinación del
motor de inferencias adecuado a dicho formalismo. Por
último, la tercera etapa, corresponde a la creación
de la base de conocimientos (en colaboración con los
expertos humanos), así como a la comprobación y
ajuste del funcionamiento del sistema experto mediante el empleo
de ejemplos.
La Vida Artificial se puede considerar como la parte de la
Inteligencia Artificial que pretende reproducir los procesos y
comportamientos típicos de los seres vivos. También
podemos definirla como el intento de crear vida, o algo parecido
a la vida, mediante la combinación de símbolos
(datos) y procesos de símbolos (programas)
independientemente del soporte físico de estos
símbolos y procesos.
Por una parte están los intentos "hardware" de
emulación de vida. Por ejemplo, es posible construir un
pequeño robot con aspecto de ratón capaz de
encontrar la salida de un laberinto.
Por otra parte están las simulaciones "software".
Éstas tienen la ventaja de que permiten construir un gran
número de seres vivos y entornos en los que estos existen,
de manera que es más fácil estudiar comportamientos
sociales.
Podemos construir los seres artificiales con el objetivo de
solucionar los problemas que a nosotros nos interesen, y que
aprendan o colaboren entre ellos hasta conseguir el resultado
deseado.
De esta forma, se puede considerar la Vida Artificial (VA)
como un paso más allá después de la Programación
Orientada a Objetos (POO), y sin embargo, siendo la VA un
caso particular de la POO. Es decir, si un objeto es un elemento
que encapsula datos y procedimientos, una entidad artificial es
un elemento que encapsula un objetivo, unos sentidos, unas
acciones y
unas creencias. A esto le podemos llamar Programación
Orientada a Agentes.
En muchos campos de estudio se plantea la posibilidad de
realizar simulaciones para intentar predecir o ayudar a la toma
de decisiones acerca de ciertos aspectos del mundo real. Hay dos
formas de enfocar estas simulaciones.
La primera de ellas se basa en la observación de la
realidad, centrando la atención en los aspectos "a
más alto nivel", es decir, precisamente en los que se
pretenden predecir o modificar, y también en aquellos que
aparentemente están más relacionados con
éstos. El cerebro humano elabora una teoría acerca
de cómo todos estos aspectos varían. Esta
teoría se formaliza en fórmulas, reglas o algo
parecido, y se simula en un ordenador ante diversas condiciones
iniciales. Se observa si el modelo, ante datos históricos
del pasado, ofrece salidas (resultados) que se ajustan a lo
esperado según los datos históricos, y en ese caso,
se utiliza para la toma de decisiones en el futuro, ajustando
continuamente el modelo según el error obtenido. En caso
de obtener resultados muy alejados de la realidad, se revisa la
teoría inicial, reescribiéndola por completo,
ajustando ciertos aspectos o detallando con mayor nivel de
profundidad los que parecen ser generalizaciones excesivas.
La segunda de ellas se basa en la observación de la
realidad, centrando la atención en los aspectos "a
más bajo nivel" del problema, buscando los aspectos
más sencillos y a la vez con una alta multiplicidad. Es
decir, el cerebro humano identifica aquellas
características sencillas que están presentes en
muchas entidades del problema. Mediante fórmulas, reglas o
algo parecido, se define un tipo genérico de entidad que
admita estas características, y en un ordenador se realiza
una simulación basada en la generación de un alto
número de estas entidades capaces de interactuar entre
sí, con la esperanza en que de esta interacción emerja el comportamiento
complejo que se pretende estudiar. Inicialmente los agentes
genéricos se definen tan sencillos como sea posible sin
dejar de ajustarse al problema. Se observa si el modelo, ante
datos históricos del pasado, ofrece salidas (resultados)
que se ajustan a lo esperado según los datos
históricos, y en ese caso, se utiliza para la toma de
decisiones en el futuro, ajustando continuamente el modelo
según el error obtenido. En caso de obtener resultados muy
alejados de la realidad, se deduce que la definición del
agente genérico (más su entorno, etc.) es demasiado
sencilla y se va complicando, añadiendo detalles hasta
ajustarse suficientemente a la realidad.
6.1 Cuestión Filosófica de la Vida
Artificial
Para ver el gráfico seleccione la
opción "Descargar" del menú superior
La Vida Artificial también nos ofrece una
"visión privilegiada" de nuestra realidad. No hace falta
que las simulaciones por ordenador sean todavía más
complejas, para poder tener el derecho a preguntarnos acerca de
si nuestro propio mundo no será también una
"simulación dentro de un cosmo-ordenador". De hecho, esta
pregunta se ha planteado, desde tiempos remotos, de infinidad de
maneras.
Si los ordenadores son capaces de simular universos
artificiales poblados por organismos que mediante la
reproducción, las mutaciones y la selección
natural, evolucionan y se hacen cada vez más inteligentes
y conscientes, podríamos interpretar nuestro propio mundo
como un "superordenador" donde nosotros mismos somos los "seres
artificiales" que lo habitan, siguiendo el curso de
evolución que El Programador ha deseado.
En el caso de que existiera un creador y una
intencionalidad, es decir, si El Programador que nos ha
creado lo ha hecho con algún objetivo, no sería
extraño que ese mismo programador hubiera implementado
mecanismos para que sus "entidades" (nosotros) no escapen a su
control. Por ejemplo, podría haber marcado límites a
su movimiento
(¿la velocidad de la luz? ¿la
gravedad?) en su ordenador (nuestro universo) …¿O tal
vez el límite de 300.000 km/seg corresponde con los MHz
del ordenador en el que vivimos?.
Pero las limitaciones que el programador fija para
controlar a sus entidades pueden no ser suficientes. Algunos
programadores de Vida Artificial quedan a menudo gratamente
sorprendidos por el inesperado comportamiento de sus
pequeñas creaciones, más inteligentes y capaces de
lo que cabría esperar en un primer momento.
Además, los "bugs" (errores) en
programación son probablemente una constante en todos los
universos, dimensiones y realidades posibles, así que tal
vez el "programador" haya dejado algún hueco por donde
podamos colarnos; es decir, que es posible que en nuestro mundo
existan acciones, comportamientos, o razonamientos con efectos
maravillosos, que están ahí, accesibles, pero que
aún nadie ha realizado, ya sea por ignorancia, mala
suerte, o porque provocan la muerte a
quien llega a adquirirlos. Un ejemplo de esto último se
encuentra en "Creced y Multiplicaos", de Isaac
Asimov.
6.2 Perspectivas Futuras de la Vida
Artificial
Con poco más de diez años de
antigüedad, la Vida Artificial se ha convertido en un punto
de referencia sólido de la ciencia
actual.
En septiembre de 1987, 160 científicos en
informática, física, biología y otras
disciplinas se reunieron en el Laboratorio Nacional de Los
Álamos para la primera conferencia
internacional sobre Vida Artificial. En aquella conferencia se
definieron los principios básicos que han marcado la pauta
desde entonces en la investigación de esta
disciplina.
Un concepto básico dentro de este campo es el de
comportamiento emergente. El comportamiento emergente
aparece cuando se puede generar un sistema complejo a partir de
reglas sencillas. Para que se dé este comportamiento se
requiere que el sistema en cuestión sea reiterativo, es
decir, que el mismo proceso se repita de forma continua y
además que las ecuaciones
matemáticas que definen el comportamiento
de cada paso sean no lineales.
Por otra parte, un autómata celular consiste en
un espacio n-dimensional dividido en un conjunto de celdas, de
forma que cada celda puede encontrarse en dos o más
estados, dependiendo de un conjunto de reglas que especifican
el estado
futuro de cada celda en función del estado de las celdas
que le rodean.
Hay dos posturas dentro de la Vida Artificial: la
fuerte y la débil.
Para los que apoyan la postura débil, sus modelos
son solamente representaciones simbólicas de los
síntomas biológicos naturales, modelos ciertamente
muy útiles para conocer dichos sistemas, pero sin mayores
pretensiones.
Para los que defienden la versión fuerte, dicen
que se puede crear vida auténtica a partir de un programa
de ordenador que reproduzca las características
básicas de los seres vivos.
Desde este punto de vista, la vida se divide en
vida húmeda, que es lo que todo el mundo
conoce como vida, vida seca, formada por
autómatas físicamente tangibles, y vida
virtual, formada por programas de computador. Las dos
últimas categorías son las que integran lo que
genéricamente se conoce como Vida Artificial.
Para defender un punto de vista tan radical, los
defensores de la postura fuerte, aluden a un conjunto de reglas
que comparten las tres categorías anteriores:
- La biología de lo posible: La Vida
Artificial no se restringe a la vida húmeda tal como la
conocemos, sino que "se ocupa de la vida tal como podría
ser". La biología ha de convertirse en la ciencia de
todas las formas de vida posibles. - Método sintético: La actitud de
la Vida Artificial es típicamente sintética, a
diferencia de la biología clásica, que ha sido
mayoritariamente analítica. Desde este punto de vista,
se entiende la vida como un todo integrado, en lugar de
desmenuzarlo en sus más mínimas
partes. - Vida real (artificial): La Vida Artificial es
tal porque son artificiales sus componentes y son artificiales
porque están construidos por el hombre. Sin embargo, el
comportamiento de tales sistemas depende de sus propias reglas
y en ese sentido es tan genuino como el comportamiento de
cualquier sistema biológico natural. - Toda la vida es forma: la vida es un proceso,
y es la forma de este proceso, no la materia, lo que constituye
la esencia de la vida. Es absurdo pretender que sólo es
vida genuina aquella que está basada en la química del
carbono,
como es el caso de la vida húmeda. - Construcción de abajo hacia arriba: la
síntesis de la Vida Artificial tiene lugar mejor por
medio de un proceso de información por computador
llamado programación de abajo hacia arriba. Consiste en
partir de unos pocos elementos constitutivos y unas reglas
básicas, dejar que el sistema evolucione por sí
mismo y que el comportamiento emergente haga el resto. Poco a
poco el sistema se organiza espontáneamente y empieza a
surgir orden donde antes sólo había
caos.
Esta clase de programación contrasta con el
principio de programación en la Inteligencia Artificial.
En ella se intenta construir máquinas inteligentes hechos
desde arriba hacia abajo, es decir, desde el principio se intenta
abarcar todas las posibilidades, sin dejar opción a que el
sistema improvise.
El principio de procesamiento de información en
la Vida Artificial se basa en el paralelismo masivo que ocurre en
la vida real. A diferencia de los modelos de Inteligencia
Artificial en los que el procesamiento es secuencial, en la Vida
Artificial es de tipo paralelo, tal y como ocurre en la
mayoría de fenómenos biológicos.
Si se pudieran explicar los procesos cognitivos
superiores de una manera intrínseca, es decir, si se
pudiera demostrar que los procesos mentales inteligentes que
realiza el hombre se producen a un nivel superior (o intermedio)
con independencia
de las capas subyacentes que existen hasta la constitución física del ente
inteligente, se demostraría que es posible crear -mediante
un sistema de símbolos físicos-, una estructura
artificial que imite perfectamente la mente humana mediante una
arquitectura de niveles, ya que se podría construir dicho
nivel superior mediante la combinación de elementos que no
necesariamente han de ser los que forman el nivel inferior en los
humanos (que por ejemplo, podemos suponer que son las
neuronas).
En cambio, si
sólo se pudieran explicar los procesos cognitivos
superiores mediante una descripción al más bajo
nivel (comportamiento neuronal), sólo se podría
imitar la inteligencia humana mediante la construcción de
neuronas artificiales. Para ser exactos, esta afirmación
está condicionada por la certeza de la suposición
(bastante común) según la cual el neuronal es el
más bajo de los niveles relevantes para la
formación de los procesos cognitivos. Arbitrariamente, se
podría haber elegido otro nivel aún más bajo
(moléculas, átomos). Llevado al extremo, se
podría reescribir la afirmación, sustituyendo
"neuronas" por "la más pequeña partícula de
nuestro universo", si este fuera discreto (no infinitamente
divisible).
Las denominaciones "nivel superior" y "nivel inferior"
son arbitrarias en cuanto a que parece que se puede encontrar con
facilidad un nivel que esté aún más bajo que
el que hemos llamado "nivel inferior" -el nivel atómico es
inferior al neuronal- y lo simétrico respecto al nivel
superior -la conciencia
colectiva es superior a la individual-. La existencia de una
conciencia colectiva capaz de comunicarse a un nivel superior al
del individuo parece evidente en los estudios sobre el
comportamiento de algunos insectos, siempre que hagamos el
esfuerzo de no interpretar el término "conciencia
colectiva" desde nuestro punto de vista subjetivo como
individuos. ¿Cómo conseguir esto? No es
difícil, si se usa una analogía bajando un nivel.
Imaginemos dos células
(concretamente, dos neuronas) de nuestro cuerpo charlando
amistosamente acerca de la posibilidad de que el conjunto de
células forme una "conciencia colectiva". Las neuronas
podrían hablar sobre esta "conciencia colectiva", ponerla
en duda o intentar argumentar su existencia, pero
difícilmente podrían llegar a comprenderla, no
puede ser un concepto familiar para ellas.
Una Red Neuronal es usada para aprender patrones y
relaciones de datos. Los datos pueden ser el resultado del
esfuerzo de una investigación
de mercado, el resultado de un proceso de producción
dando variación a las condiciones de operación, o
las decisiones de un prestamista dado un conjunto de aplicaciones
de préstamo, utilizando una Red Neuronal es una
salida considerable parecida a un enfoque tradicional.
Tradicionalmente un programador o un analista especifican
"códigos" de cada faceta del problema en orden para
la computadora
pueda "entender" la situación. Redes Neuronales no
requieren el código
explícito del problema. Por ejemplo, para generar un
modelo que lleve acabo un pronóstico de ventas, una
Red Neuronal solo necesita que le den los datos sin preparar
relacionados con el problema. Los datos sin preparar
podrían consistir en: historias de ventas pasadas,
precios,
precios de la competencia y otras variables económicas. La
Red Neuronal escoge entre esta información y produce un
acuerdo de los factores que influyen en las ventas. El modelo
puede entonces ser llamado para dar una predicción de
ventas futuras dado un pronóstico de los factores claves.
Estos adelantos son debidos a la creación de reglas de
aprendizaje de una Red Neuronal, que son los algoritmos usados
para "aprender" las relaciones de los datos. Las reglas de
aprendizaje habilitan a la red para "ganar conocimiento" desde
datos disponibles y aplica ese conocimiento para asistir al
gerente para
hacer decisiones claves.
Aunque su estructura varía según el tipo
de red, lo más usual es que haya tres capas de neuronas,
una de entrada, que recoge los estímulos, otra oculta, que
procesa la información, y otra de salida, que ejecuta la
respuesta. La figura siguiente muestra esta
disposición:
7.1 Red Neuronal Artificial
Las Redes Neuronales Artificiales son el resultado de
investigaciones académicas que utilizan fórmulas
matemáticas para modelar operaciones del sistema nervioso,
es decir, es un modelo de procesamiento de información que
es inspirado por el modo de un sistema nervioso biológico,
tal como el cerebro procesa información. El elemento clave
de este paradigma es
la estructura original del sistema de procesamiento de
información. Este se compone de un gran número de
elementos interconectados procesando y trabajando en
armonía para resolver problemas específicos. Las
Redes Neuronales Artificiales, como la gente, aprenden con
ejemplos. Una Red Neuronal Artificial es configurada para una
aplicación específica, tal como el reconocimiento
de patrones o clasificación de datos, a través de
un proceso de aprendizaje. Aprender en sistemas biológicos
implica ajustes para las conexiones sinópticas que existen
entre las neuronas. Esto lo hace una Red Neuronal
Artificial.
También, las Redes Neuronales Artificiales se han
aplicado a un gran número de problemas reales de
complejidad considerable. Su ventaja más importante
está en resolver problemas que son demasiado complejos
para tecnologías convencionales, problemas que no tienen
un algoritmo de solución o que su algoritmo de
solución es muy difícil de encontrar. En general, a
causa de su abstracción del cerebro biológico, las
Redes Neuronales Artificiales son aptas para resolver problemas
que la gente puede resolver, pero las computadoras
no pueden. Estos problemas incluyen reconocimiento de patrones y
pronósticos (los cuales requieren el
reconocimiento de tendencias de datos).
El hecho de suponer que el comportamiento inteligente en el
hombre se produce a un nivel superior con independencia de los
niveles inferiores está íntimamente relacionado con
el debate entre
holismo o creencia en que "el todo es más que la suma de
sus partes" y el reduccionismo, o creencia en que "un todo puede
ser comprendido completamente si se entienden sus partes, y la
naturaleza de su suma."
Los esfuerzos desarrollados en Arquitecturas Generales de
Inteligencia son puramente reduccionistas. Por el contrario, el
holismo subyacente en los modelos conexionistas como las Redes
Neuronales Artificiales, sugiere el aspecto de la
interdependencia entre algunos niveles, o lo que es lo mismo, la
imposibilidad de sustituir un nivel (las conexiones neuronales,
como sistema sub-simbólico) por otro que realice sus
mismas funciones (sistema simbólico). Sin embargo,
también las Redes Neuronales Artificiales pueden ser
consideradas reduccionistas si tenemos en cuenta otros niveles
aún más bajos.
7.2 Modelos de Redes Neuronales
Los modelos de redes neuronales también conocidos como
modelos de procesamiento distribuido en paralelo ó
sistemas neuromorfológicos tienen su principio de
funcionamiento basado en la interconexión de alta densidad de
elementos sencillos de cómputo. La estructura de las redes
neuronales ha sido desarrollada de acuerdo a nuestra
comprensión del sistema nervioso biológico. Estos
modelos de redes han tenido gran auge en áreas como el
reconocimiento de imágenes y sonido, ya que
dichas redes procesan simultáneamente varias hipótesis a través de redes
paralelas compuestas de elementos de cómputo conectados a
las variables ponderables. Los elementos de cómputo o
nodos utilizados en las redes neuronales son generalmente no
lineales y analógicos, además están
caracterizados por un umbral y offset interno. Algunas de las no
linealidades más comunes son: los limitadores
lógicos del umbral y las no linealidades sigmoidales. Los
nodos más complejos incluyen temporal y otras operaciones
matemáticas más complejas. Los módulos de
redes neuronales son especificados de acuerdo a la topología de la red, las
características de los nodos y las reglas de entrenamiento o
aprendizaje. Estas reglas indican un grupo inicial
de valores y como
deben modificarse esos valores para obtener un mejor resultado.
La mayoría de los algoritmos de las redes neuronales
realizan lecturas de los valores a
analizar a lo largo del tiempo para obtener bases en resultados
actuales, valores más confiables. Esto con el
propósito que el aprendizaje y la adaptación sean
lo más óptimo posible. Para este fin se utilizan
clasificadores, los cuales tienen un grado de robustez
determinado por la capacidad de adaptabilidad de la red, mayor
que los clasificadores estadísticos. Mediante la
utilización de las redes neuronales constituidas por una
gran cantidad de circuitos
simples de procesamiento operando en paralelo se ha logrado
obtener la capacidad de procesamiento requerida hoy en
día.
7.3 Granja de Evolución
La evolución en la naturaleza fue la clave para mejorar
los organismos y desarrollar la inteligencia. Michael Dyer,
investigador de Inteligencia Artificial de la Universidad de
California, apostó a las características evolutivas
de las redes neuronales y diseñó Bio-Land.
Bio-Land es una granja virtual donde vive una población
de criaturas basadas en redes neuronales.
Los biots pueden usar sus sentidos de la vista, el oído e
incluso el olfato y tacto para encontrar comida y localizar
parejas. Los biots cazan en manadas, traen comida a su prole y se
apiñan buscando calor.
Lo que su creador quiere que hagan es hablar entre ellos, con
la esperanza de que desarrollen evolutivamente un lenguaje
primitivo.
A partir de ese lenguaje, con el tiempo podrían surgir
niveles más altos de pensamiento.
8.1 Principales Ramas de la IA
- Lógica difusa: Consiste en una nueva forma de
entender la lógica, en la que los enunciados dejan de
ser cien por cien verdaderos o falsos, para tomar valores
fraccionarios. En el campo concreto de la IA esto supone evitar
las paradojas lógicas que pueden bloquear el sistema, y
hacer que el ajuste entre las variables sea más
fino. - Robótica: Hoy por hoy, el mayor problema
consiste en conseguir que la supervivencia de las
máquinas sea superior a unas horas. Por otra parte, su
coeficiente intelectual sólo les permite realizar tareas
simples, como salvar obstáculos y recoger objetos del
suelo. - Realidad virtual: En los últimos tiempos han
surgido sistemas de realidad
virtual, que simulan comportamiento inteligente, a un coste
mucho menor que el de los robots. Como ejemplo está
Homer, un submarino virtual creado por Steven A. Vere, del
Centro de Inteligencia Artificial de Lockheed, en Palo Alto.
Homer es capaz de evitar obstáculos en su deambular por
el ciberespacio e informar sobre lo que ve. Como
conclusión, todavía no disponemos de respuesta a
la pregunta con que empezamos el artículo. Cuanto
más se complican los sistemas de IA, más compleja
se nos revela la capacidad intelectual humana. Del mismo modo
que el agua se
alejaba del sediento Tántalo, cada vez que éste
se aproximaba a ella, también el sueño de un
sistema artificial inteligente se ve más lejano cuanto
más nos acercamos a él. En cualquier caso esta
complejidad ha de tener un límite por fuerza, por
lo que es de esperar que antes o después la IA
alcanzará sus máximos objetivos.
8.2 Jugadores inteligentes
Esta rama dentro de la IA es la de los programas jugadores de
juegos
inteligentes. En una fecha tan temprana como 1946, Arthur Samuel
desarrolló un programa que no sólo jugaba a las
damas, sino que mejoraba su juego a medida que jugaba.
La historia de este programa no tiene desperdicio, en la
medida que su autor protagonizó una de las versiones
más chocantes del cuento de la
lechera. Por aquellos años, Samuel deseaba que su facultad
adquiriese un ordenador, pero su presupuesto
resultaba insuficiente. Ni corto ni perezoso elaboró el
siguiente plan:
construiría un pequeño ordenador, y a partir de
éste un programa capaz de jugar a las damas, que
vencería sin dificultad el campeonato mundial de damas; la
publicidad que
obtendría sería suficiente como para garantizarle
una subvención estatal que le permitiría la
adquisición de su querido ordenador. Si Samuel
escogió las damas fue porque lo consideró un juego
sencillo de programar. Al fin y al cabo, hay un único tipo
de ficha, que se mueve de la misma forma. Pese a esta aparente
simplicidad, la gran cantidad de estrategias que
se pueden plantear a partir de una posición dada complican
notablemente el problema. El resultado de su sueño fue
más que previsible: cuando llegó la fecha del
campeonato no estaba concluido ni el ordenador ni el
programa.
Para ver el gráfico seleccione la
opción "Descargar" del menú superior
Tres años después, el investigador Claude
Shannon, famoso por su teoría de la información,
escribía la primera obra sobre programación del
ajedrez. De esta manera, se daba el pistoletazo de salida a una
carrera cuya máxima meta era la creación de un
programa que conquistara el título mundial de ajedrez;
cosa que aún dista mucho de conseguirse.
¿Cómo funciona un programa capaz de
jugar a un juego de inteligencia, tal como el ajedrez o las
damas?
La palabra clave es programación en árbol.
La figura 1 muestra una hipotética situación. Las
letras A, B y C representan sendas fichas. Para
cada una tenemos uno o varios movimientos, que a su vez
provocarán movimientos en las piezas de nuestro
contrincante. Los números representan la puntuación
de cada jugada. Para calcular la jugada óptima se toman
cada una de las jugadas propias y a su puntuación se le
resta la de la jugada del oponente. Por ejemplo, una jugada de la
pieza A nos reporta 9 puntos, pero a continuación la del
contrincante le puede suponer 11 puntos, de forma que quedan -2
puntos globales. Por otra parte, una jugada de la figura C nos
supone sólo 2 puntos, pero al restarle los -2 de la jugada
más óptima del contrincante nos da una ganancia
neta de 4 puntos. De esta manera, se puede encontrar la mejor
jugada en aquella que proporciona una puntuación neta
mayor.
Con sólo dos niveles de profundización se
tiene un nivel de juego comparable al de un niño de seis
años. Ampliando el número de niveles se puede ir
mejorando el nivel de juego, a costa de un mayor tiempo de
cómputo. Por ello, se han desarrollado técnicas
para "podar" el árbol, y eliminar aquellas ramas que a
priori se puede saber que no van a dar puntuaciones
altas.
8.3 Programas que razonan
Esta rama es la encargada de desarrollar sistemas con
capacidad real o aparente de dialogar de forma inteligente y,
consecuentemente, de razonar. Desde siempre ha supuesto la
máxima aspiración de los investigadores en este
campo (como botón de muestra se puede repasar la
definición de ordenador de quinta generación en la
introducción al artículo), y
coincide con la idea de que la mayor parte de la gente tiene de
un sistema inteligente. Sin embargo, es importante destacar que,
fieles a la filosofía del test de Turing,
los investigadores no se preocupan en nuestros días por la
cuestión de si tal sistema comprende realmente lo que se
le dice o si tiene conciencia de sí mismo, sino de que
nosotros podamos comprender lo que él nos dice.
Dentro de este apartado, destacan tres programas que han
supuesto auténticos hitos en el proceso de desarrollo de
la IA. Por orden cronológico son el programa Eliza,
el programa Shrdlu y el programa Racter.
Para ver el gráfico seleccione la
opción "Descargar" del menú superior
ELIZA
Corría el año de 1966 cuando Joseph
Weizenbaun, a la sazón profesor de
informática del MIT, daba los últimos toques a su
programa Eliza. Durante dos años había trabajado en
él, con el único objetivo de crear un programa que
parodiase a los psiquiatras de la escuela de Carl Rogers. Estos
psiquiatras son los que aparecen con frecuencia en las
películas norteamericanas, y que practican una terapia
basada en el diálogo de
libre asociación de los pacientes, propio del psicoanálisis no directivo.
El programa simula una sesión con un psiquiatra
rogeliano; al ejecutarlo, tenemos que introducir unas frases, a
las que el programa tiene que dar respuesta. Para lo cual busca
en la cadena alfanumérica que se le introduce algunas
frases clave, para las que tiene una batería de respuestas
estándar, de las que selecciona una al azar. Caso de no
encontrar una frase clave busca una palabra clave y, en
función de ésta, vuelve a seleccionar al azar una
de las respuestas que tiene programadas. Si tampoco encontrase
una palabra clave, mira a ver si tiene almacenada una frase dicha
con anterioridad por el usuario, y en función de
ésta construye su respuesta.
Por ejemplo, supongamos que en un momento dado se introduce
la frase "Mi mujer me odia". El programa toma la frase que viene
a continuación de Mi y la almacena tras intercambiar las
personas de pronombres y posesivos. Cuando más adelante el
programa no encuentre una frase o palabra clave puede recuperar
la frase almacenada y contestar algo así como:
"¿Tiene eso que ver con el hecho de que su mujer le
odia?". Finalmente, si tampoco tiene almacenada ninguna frase el
programa, selecciona al azar una frase del tipo "Eso es muy
interesante" u otras similares, para mantener la
conversación.
SHRDLU
Creado en 1971 por Terry Winograd, un investigador del MIT. A
diferencia de Eliza, Shrdlu no se limita a seleccionar respuestas
al azar ante cada entrada, sino que lleva a cabo un
auténtico proceso de razonamiento. En el mundo de Shrdlu
existen tan sólo las figuras geométricas de
diferentes colores, figuras
que se pueden disponer con distinto orden. Cuando el usuario da
las órdenes oportunas mediante un lenguaje coloquial, el
programa lleva a cabo las transformaciones que se le piden, e
informa de la nueva situación creada.
Fragmento de conversación entre un usuario y el
programa:
Humano: ¿Quieres, por favor, apilar los dos
bloques rojos, por un lado, y un cubo verde o una
pirámide, por otro?
Shrdlu: De acuerdo
Humano: ¿Qué cubo descansa sobre la
mesa?
Shrdlu: El cubo grande verde que soporta a la
pirámide roja
Humano: ¿Hay algún bloque grande
detrás de una pirámide?
Shrdlu: Sí, hay tres: uno grande rojo, un cubo
grande verde y el azul
Aunque el diálogo prosigue, este fragmento es
suficiente para captar la neta superioridad de este programa
frente al de sus antecesores; no sólo parece comprender
correctamente las órdenes que se le dan, sino que en todo
momento tiene una idea clara de las relaciones espaciales entre
los bloques que maneja. ¿Cómo consigue tal cosa?
Parafraseando a Dewdney, en el artículo comentado antes
"La organización interna de Shrdlu…,
está formada por subsistemas que analizan gramaticalmente,
interpretan y construyen frases, llevan a cabo búsquedas
en un diccionario,
efectúan análisis semánticos y deducciones
lógicas. Todos estos subsistemas están
estrechamente entretejidos, en modo sumamente estructurado, cuyo
efecto conjunto nos da la impresión de una verdadera
inteligencia que analizara el mundo de bloques depositados en el
tablero".
RACTER
Creado en 1980 por Thomas Etter, un programador-analista de
San Francisco y William Chamberlain, un escritor neoyorquino. La
intención de ambos era crear un programa que crease
cuentos.
Posteriormente, lo modificaron para permitirle mantener
conversaciones con seres humanos, veamos un extracto de una
conversación entre Racter y Chamberlain.
Racter: ¿Hemos hablado antes?
Chamberlain: No
Racter: ¿De qué sexo eres?
Chamberlain: Masculino
Racter: ¿Cuál es tu nombre completo?
Chamberlain: Bill Chamberlain
Racter: ¿Qué eres?
Chamberlain: Cronorreflectometrista
Racter: ¿De dónde eres?
Chamberlain: De la ciudad de Nueva York
Racter: Ya veo. Así que cronorreflectometrista,
¿verdad? Escucha. Gritemos juntos con decisión. Me
gusta la cautivadora música italiana.
¿Qué clase de música te gusta a ti?
Chamberlain: el jazz
Racter: El jazz está bien. ¿qué me
dices de la clásica?
Chamberlain: Me gusta la música
clásica
Racter: ¿Y de qué nacionalidad?
Chamberlain: También me gusta la música
italiana
Racter: A mí, personalmente, Palestrina me
inflama. Además de Italia, otros
países produjeron en el siglo XVII embelesados
músicos. Sewall fue un importante y furibundo maestro del
Renacimiento.
América
fue su nación.
Yo saco de la música amoroso placer.
El diálogo prosigue por similares derroteros, mezclando
sin pudor Bach con el rodaballo y las lechugas. Al comparar este
diálogo con el que yo mismo he mantenido con el programa
Doctor se aprecia una diferencia; el diálogo de Racter es
mucho más rico y fluido que el de Doctor, si bien es
bastante más disparatado.
En el test de Turing Racter podría pasar por un humano
con una marcada tendencia a la divagación.
¿Cuál es el funcionamiento de Racter? Al principio
de la conversación hace una serie de preguntas a su
interlocutor, cuyas respuestas va almacenando en una base de
datos. En cuanto juzga que dispone de suficiente
información empieza a elaborar frases, en las que combina
los elementos de que dispone en su memoria con aquellos que ha
recibido de su interlocutor, con lo que logra implicarlo en la
conversación. Para construir las frases sigue un mismo
esquema gramatical, en el que los sustantivos, adjetivos y verbos
se eligen al azar entre una amplia variedad que pertenecen a una
misma categoría, y los artículos se adecuan a la
forma gramatical correspondiente. Esto hace que las frases sean
sintácticamente correctas, pero en tanto los sustantivos,
adjetivos y verbos se escogen al azar el sentido suele ser
disparatado.
8.4 Sistemas históricos y sistemas
actuales
Sistemas históricos
GPS – Newell, Shaw y Simon
Perceptron –
Minsky y Papert Chekers – A. Samuel
MACSYMA AM – D. Lenat
ELIZA – Weisenbaum
Shakey – SRI
SHDRLU – Winogard
MYCIN – E. Shortliffe
Prospector – Duda, Hart
Hearsay II – Erman, Hayes-Roth, Lesser, Reddy
CYC – D. Lenat, R. Guha
Sistemas actuales
PEGASUS – Hace reservas de transporte por
teléfono (Zue et al. ´94)
MARVEL – Sistema experto en tiempo real que maneja la
información de Voyager y ayuda a diagnosticar fallas
(Schwuttke ´92)
MYCIN – Sistema de diagnóstico de medicina interna
con capacidad de explicar sus razones a los expertos (Heckerman,
1991)
NAVLAB – Vehículo autónomo que viaja en
forma automática de un extremo a otro de EEUU (Pomerlau,
1993)
Sistema de visión que monitorea el tráfico en Paris
y reconoce accidentes con
los cuales llama a servicios de
emergencia (Koller, 1994)
DEEP BLUE – máquina paralela que juega ajedrez y
primera en derrotar al campeón mundial (IBM
1997)
MYCIN
El MYCIN (desarrollado entre 1972 y 1980, Universidad de
Stanford) es un sistema interactivo experto que ayudaba a los
físicos en la selección de un apropiada terapia
antimicrobiana para los pacientes de los hospitales con
bacteremia, meningitis e infecciones de cistitis. El sistema
diagnosticaba la causa de la infección usando el
conocimiento relativo a la infección de los
microorganismos con historiales de pacientes, síntomas y
los resultados de los test de laboratorio. El sistema recomendaba
un tratamiento de medicinas (tipo y dosificación) acorde a
los procedimientos seguidos por la experiencia de los
físicos en las terapias.
El sistema MYCIN fue desarrollado originalmente en la
consulta y diagnosis de una terapia para infecciones. Desde el
principio, en el proyecto se habían impuesto una
serie de obligaciones
– Tenía que ser funcional (esto implicaba competencia y
consistencia). El área de uso era elegido según una
necesidad demostrada. (Por ejemplo, a principios de los 70 a una
cuarta parte de la población de USA se le recetaba
penicilina, el 90 % de esas prescripciones eran
innecesarias).
– El programa tenía que ser diseñado con un
énfasis de sus soportes de roles como una utilidad para un
físico, a pesar de reemplazar sus propios procesos de
razonamiento.
– El programa debía albergar una cantidad ingente de
información técnica.
– El sistema tenía que interactuar mediante
diálogos, tenía que dar una explicación
concreta de su razonamiento para llegar a la solución
propuesta.
– Velocidad, accesibidad y facilidad de uso.
¿Cómo de éxitoso fue MYCIN?
¿Qué nuevos conceptos de desarrollo se
realizaron?
MYCIN introducía nuevas formas las cuales
procedían de los mejores sistemas expertos hasta el
momento. Primero, su base de conocimiento consistía en
cientos de reglas. Segundo, esas reglas eran
probabilísticas. MYCIN era lo bastante robusto como para
determinar correctamente conclusiones cuando algunas evidencias
eran incompletas o incorrectas. Tercero, MYCIN podía
explicar sus propios procesos de razonamiento. El usuario (un
físico) podía preguntar de muchas formas –
preguntando, porque al realizar una cuestión concreta o
como había llegado a una determinada conclusión,
por ejemplo. Fue uno de los primeros sistemas genuinamente
amigables. Cuarto, y crucial, MYCIN actualmente funciona. El
trabajo que realiza supone para un humano muchos años de
entrenamiento.
MYCIN se extendió la noción de base de
conocimiento separadamente del motor de inferencia, y su base de
reglas y motor de inferencia fueron construidos mediante
retro-chaining, o "goal-directed", estrategia de
control.
¿Fue MYCIN comercialmente exitoso o se
introdujo por pura rutina?
MYCIN produjo resultados de alta calidad; su forma
igualaba a la de los especialistas. Aunque MYCIN debía ser
usado por físicos, hizo aparecer numerosos clones de
diagnósticos médicos, que eran utilizados
rutinariamente.
¿Qué otros sistemas nacieron a partir
del MYCIN?
Del MYCIN partió TEIRESAS (explicaba
fácilmente los conceptos), EMYCIN (primer
intérprete), PUFF, CENTAUR, VM, GUIDON (tutorial
inteligente), SACON y hasta ONCOCIN y ROGET.
GPS
Después del Teórico de
Lógica,
Newell y Simon
llevaron a cabo juntos otro proyecto, proyecto que
concluyó en 1957. Esta vez no trataron de investigar el
posible funcionamiento del cerebro humano, sino que se apretaron
a la potencia (de
aquel entonces) ofrecida por los ordenadores y las
matemáticas. Así nació el GPS (General
Problem Sover) [Solucionador General de Problemas]. Se trataba de
un programa, al que se le podían ofrecer pequeños
problemas (como el típico del mono que debe coger un
plátano que se encuentra colgado del techo), y este (el
programa) deberá describir todos los pasos que realiza
hasta conseguir su fin, es decir, completar el problema
positivamente (en este caso llegar a una altura que le permita
coger el plátano). Se puso en practica el análisis
medios-fines,
un principio de la retroalimentación de Wiener llevado a un
mayor nivel de abstracción. El análisis
medios-fines consiste en detectar las diferencias entre un
objetivo deseado y la situación actual y reducir
después esas diferencias. También se aplicó
por primera vez el Backtracking [vuelta atrás] (probar si
funciona y si no, volver atrás y probar otra cosa) que se
convirtió desde aquel momento en una herramienta
básica de la I.A.
9. LA
INTELIGENCIA ARTIFICIAL Y EL MUNDO
Para ver los gráficos seleccione la opción
"Descargar" del menú superior
10.
LA INTELIGENCIA ARTIFICIAL EN LA
ARGENTINA
"Si la Argentina la impulsase, podría ganar
300 millones de dólares por año en exportaciones
gracias a la inteligencia artificia", dice Juan Chamero,
ingeniero electromecánico, uno de los disertantes en una
conferencia que se realizó los primeros días de
abril de este año en el Centro Argentino de
Ingenieros.
La conferencia contó con la presencia de
profesores y estudiantes universitarios en ingeniería y
medicina, y psicólogos sociales, entre otros.
Sirvió para explicar en qué consiste la
inteligencia artificial, que se define como "la
comprensión científica de los mecanismos
subyacentes al pensamiento y comportamiento inteligente y
su integración en máquinas".
En la Argentina, el área de inteligencia
artificial y sus aplicaciones es incipiente, según
comentó el ingeniero Chamero. Sin embargo, enfatizó
en que podría pegar un salto. "Hay más de 5.000
programadores y equipamiento actualizados. Por lo cual,
están dadas las condiciones para que se incentiven
desarrollos en inteligencia artificial".
Las aplicaciones de la inteligencia artificial
—que trata de conseguir que los ordenadores simulen
en cierta manera la inteligencia humana— son variadas. Por
ejemplo, se usa en robots, en sistemas de administración de conocimiento y en
buscadores. En
el mundo, el mercado de la
inteligencia artificial ya factura 40 mil
millones de dólares al año.
Como expositores, también estuvieron los
ingenieros Raimundo Osvaldo D'Aquila y Osvaldo Aníbal
Pérez Guzmán y el licenciado Alejandro de
Montmollin.
Para continuar con la difusión de la inteligencia
artificial, se dio un seminario que
empezó en mayo en el Centro Argentino de Ingenieros. Se
desarrolló en 80 horas, incluyendo una práctica que
fue asistida por los profesores que dictaron el seminario a
través de una red sobre Internet.
Los asistentes al seminario pudieron realizar las
prácticas en sus propias empresas,
instituciones
o estudios y con temas de aplicación local
inmediata.
11. EL CINE Y LA
INTELIGENCIA ARTIFICIAL
En el mundo de la ciencia-ficción, a veces
no tan ciencia, a veces no tan ficción, se han tratado con
amplia gama de variedades las interrelaciones entre hombre e
inteligencias artificiales (I.A.). El cine ha copiado, imitado, e
incluso fagocitado esta variedad.
El mundo del cine está lleno de referencias a la
inteligencia artificial, ordenadores o máquinas que
aprenden y crecen como Hall de "2001". El superordenador de
"Terminator" que adquiere conciencia y con ella la
terrorífica idea, para nosotros, de la amenaza que suponen
los hombres para su subsistencia, decisión que comparte la
más estúpida de "Juegos de Guerra", que
hace tablas consigo mismo a tres en raya. Otros ordenadores de
I.A. deciden enamorarse cono en "Electrical Dreams". Algunos son
menos I.A. y más textura humana y compuesto
robótico, como las tres versiones que aparecen en la saga
de "Alien", el primero fiel seguidor de las directrices que le da
la compañía. El 2º más humanizado,
más perfeccionado como el mismo se califica. La 3ª,
la extraña y pequeña Wynnona, que es una I.A.
sentimental y un poco enfadada.
Terminator II El día del juicio
final
Para ver el gráfico seleccione la
opción "Descargar" del menú superior
Uno de los favoritos, de los más impresionantes,
de los más conseguidos en la historia del cine son los
replicantes de "Blade Runner", capaces de sentir emociones como
el amor, el
odio y el miedo a la muerte. Y
finalmente capaces de PERDONAR, amando más a la vida que a
cualquier otra cosa. Por su parte, quien no recuerda el
único anhelo de Hall, que sabiendo que va a ser destruido,
solo quiere saber si soñará en la segunda parte
"2010", a fin de cuentas, desde su
punto de vista es lo único que le falta para ser humano.
Del mismo modo, el autodestructivo de "Electrical Dreams" y su
peculiar sentido del humor, se enamora de la rubia estupenda
(Virginia Madsen) y antepone la felicidad de ésta a la
suya, y en cierto modo una extraña amistad con su
dueño.
Robocop, mente humana
y cuerpo de máquina,
¿nos quedaremos limitados a esto?
En ocasiones una nave espacial es el punto de
partida. Voyager hace un largo y extraño viaje hasta
convertirse en un I.A. en "Star Treck", donde se habla de un
planeta de máquinas donde modifican al Voyager. Y en una
reciente cinta, "Horizonte Final" quien tiene vida propia es
precisamente la nave.
A veces son simplemente robots, aunque aprenden y tienen
hasta algo de psicosis,
"mieditis" y humor, como la sin par pareja R2D2 y su
compañero C3PO de la espectacular "La Guerra de las
Galaxias".
Hay quien considera que el día, cada vez
más cercano, en que estas I.A. existan, bastará con
que se cumplan las tres leyes de Asimov. La
pregunta es si un I.A. con conciencia de sí mismo no es en
cierto modo un ser humano, ya que adquiere "CONCIENCIA".
Quizás simplemente queremos crear (¿qué hay
de los clones de los que tanto se habla ahora?), queremos tener
el poder de un dios, creando no sólo animales sino
también vida inteligente.
Como último apunte, posiblemente todo esto tiene
en parte su origen en la película "Metrópolis"
primera en que aparece un I.A. y no me resisto a hacer un
pequeño homenaje al primer chistoso de las máquinas
pre-I.A., Charlot en "Tiempos Modernos".
Algunos de los más olvidados son el
autogenerativo de "Superman III", que tuvo un "hijo" en un
capítulo de "Expediente X", éste con mayor
éxito o suerte pues sobrevive.
- http://alek.pucp.edu.pe/ma_cont
- http://delicias.dia.fi.upm.es
- http://www.dia.fi.upm.es
http://www.fortunecity.com/skyscraper/chaos/279/principal.htm- http://go.to/inteligencia_artificial
- http://www.itba.edu.ar
- http://www.publispain.com/supertutoriales/matematica/inteligencia_artificial
- http://www.redcientifica.com/doc/doc200106170001.html
- MARTÍN BONAFIO, Redes
neuronales y Sistemas Difusos, Madrid,
Ediciones Alfaomega, 2001. - Enciclopedia CLARÍN, La Ciencia
Explicada, Buenos Aires,
Editorial Clarín, 1995.
Autor:
Pablo David SANTIAGO
Estudios cursados: finalizando último año
del secundario
Colegio: San Miguel