INTELIGENCIA ARTIFICIAL
Captulo 1 Introduccin
Qu es la lA?
La Inteligencia Artificial (lA), en una definicin amplia y un tanto circular,
tiene por objeto el estudio del comportamiento inteligente en las mquinas.
A su vez, el comportamiento inteligen te supone percibir, razonar, aprender,
comunicarse y actuar en entornos complejos. Una de las metas a largo
plazo de la lA es el desarrollo de mquinas que puedan hacer todas estas
cosas igual, o quiz incluso mejor, que los humanos. Otra meta de la lA es
llegar a comprender este tipo de comportamiento, sea en las mquinas, en
los humanos o en otros animales. Por tanto, la lA persigue al mismo tiempo
metas cientficas y metas de ingeniera. En este libro, nos dedicaremos
principalmente a la lA como ingeniera, focalizando nuestra atencin sobre
los conceptos e ide as ms importantes que subyacen en el diseo de
mquinas inteligentes. La lA ha estado siempre rodeada de controversia. La
cuestin bsica de la lA -Pueden pensar las mquinas?- ha interesado
tanto a filsofos como a cientficos e ingenieros. En un famoso artculo, Alan
Turing, uno de los fundadores de la informtica, expres esta misma
cuestin, pero formulada en trminos ms adecuados para su
comprobacin emprica. Es lo que se ha dado en llamar el Test de Turing
[Turing, 1950]. Describiremos este test un poco ms adelante, en esta
misma seccin, pero primero es importante destacar lo que ya observara
Turing: que la respuesta a la pregunta Pueden pensar las mquinas?
depende de cmo definamos las palabras mquina y pensar. Turing podra
haber aadido que la respuesta depende tambin de cmo se defina la
palabra pueden. Consideremos primero la palabra pueden. Queremos
decir que las mquinas pueden pensar ya ahora, o que algn da podrn
pensar? Queremos decir que las mquinas podran ser capaces de
pensar, en principio (incluso aunque nunca lleguemos a construir ninguna
que lo haga), o lo que perseguimos es una implementacin real de una
mquina pensante? Estas cuestiones son real mente importantes puesto
que todava no disponemos de ninguna mquina que posea amplias
habilidades pensantes. Algunas personas creen que las mquinas
pensantes tendran que ser tan complejas, y dis poner de una experiencia
tan compleja (por ejemplo, interaccionando con el entorno o con otras
mquinas pensantes), que nunca seremos capaces de disearlas o
construirlas. Una buena ana loga nos la proporcionan los procesos que
regulan el clima global del planeta: incluso aunque conocisemos todo 10
que es importante acerca de estos procesos, este conocimiento no nos
capa citara necesariamente para duplicar el clima en toda su riqueza.
Ningn sistema menos complejo que el formado por la superficie de la
tierra, la atmsfera y los ocanos --embebido en un espacio interplanetario,
calentado por el sol e influenciado por las mareas- sera capaz de duplicar
los fenmenos climticos con todo detalle. De forma similar, la inteligencia
de nivel humano, a escala real, podra ser demasiado compleja, o al menos
demasiado dependiente de la fisiologa humana, para existir fuera de su
encarnacin en seres humanos inmersos en su entor no. (Para una
discusin acerca de la importancia de la nocin de encarnacin vase, por
ejemplo, [Lakoff, 1987; Winograd y Flores, 1986; Harnad, 1990, y Matarlc,
1997].) La cuestin de si algu na vez seremos capaces, o no, de construir
mquinas pensantes de nivel humano no admite an una respuesta
definitiva. El progreso de la lA hacia esta meta ha sido constante, aunque
ms len to de lo que algunos pioneros del tema haban predicho.
Personalmente, soy optimista sobre nues tro eventual xito en esta
empresa. Consideremos ahora la palabra mquina. Para mucha gente, una
mquina es todava un artefacto ms bien estpido. La palabra evoca
imgenes de engranajes rechinando, de chorros de vapor siseando y de
piezas de acero martilleando. Cmo podra llegar a pensar una cosa como
sa? Sin embargo, hoy en da, los ordenadores han ampliado en gran
medida nuestra nocin de lo que una mquina puede ser, y nuestra
creciente comprensin de los mecanismos biolgicos est expandindose
incluso ms an. Consideremos, por ejemplo, un virus simple, como el
denominado Bacterifago E6, mostrado esquemticamente en la Figura 1.1.
Su cabe za contiene ADN vrico. Este virus es capaz de adherirse a la pared
celular de una bacteria mediante las fibras de su cola, pinchar la pared e
inyectar su ADN ella. Este ADN hace que la bacteria fabrique millares de
copias de cada una de las piezas del virus. Despus, las piezas se
ensamblan automticamente ellas mismas, formando nuevos virus que
salen de la bacteria para repetir el proceso. El ensamblaje completo se
parece mucho al de una mquina, por lo que podramos, con toda
propiedad, decir que se trata de una mquina -una mquina hecha de pro
tenas. Pero qu ocurre con otros procesos y organismos biolgicos? El
genoma completo de la bacteria Haemophilus influenzae Rd ha sido
secuenciado recientemente [Fleischmann, et al., 1995]. Este genoma
consta de 1.830.137 pares de bases (identificadas con las letras A, G, C Y
T). Esto equivale, aproximadamente, a 3,6 x 1()6 bits, es decir, casi medio
megabyte. Aunque todava no se conoce la funcin de todos y cada uno de
sus 1.743 genes, los cientficos estn comenzando a explicar el desarrollo y
el funcionamiento de este organismo en los mismos trminos en los que
explicaran una mquina, -una mquina muy compleja, desde luego. De
hecho, hay tcnicas que son muy familiares a los informticos, tales como
el uso de cronogramas para los circuitos lgicos, que estn demostrando
ser tiles para entender cmo los genes regulan los complejos procesos
bioqumicos de un virus que infecta a bacterias [McAdams y Shapiro, 1995].
La secuenciacin de los genomas completos de otros organismos,
incluyendo el genoma humano, est en curso. Una vez que conozcamos
estas marcas, pensaremos en estos organismos -bac terias, gusanos,
moscas, ratones, delfines, humanos-como mquinas? Si los humanos
fuesen mquinas, entonces es que las mquinas pueden pensar!
Tendramos una demostracin de su exis tencia. Lo que ocurre,
simplemente, es que no conocemos an cmo funciona la mquina
humana. Sin embargo, aunque estuvisemos de acuerdo acerca de lo que
es una mquina, este ltimo argumento es rebatible. Aunque una mquina
hecha de protenas puede pensar, quiz una hecha de silicio no sera capaz
de hacerlo. Un conocido filsofo, John Searle, cree que la materia de la que
estamos hechos es fundamental para la inteligencia [Searle, 1980; Searle,
1992]. Para l, el pensamiento slo puede ocurrir en mquinas muy
especiales -las mquinas vivientes hechas de protenas. La hiptesis del
sistemafsico de smbolos de Newell y Simon [Newell y Simon, 1976] est
en oposicin directa a las creencias de Searle (y a la nocin de encarnacin
mencionada ante riormente). Esta hiptesis establece que un sistema fsico
de smbolos dispone de los medios necesarios y suficientes para desarrollar
una actividad general inteligente. De acuerdo con Newell y Simon, un
sistema fsico de smbolos es una mquina, tal como un ordenador digital,
que es capaz de manipular datos simblicos -sumar nmeros, reordenar
listas de smbolos (por ejemplo, ordenar alfabticamente una lista de
nombres), reemplazar algunos smbolos por otros, etctera. Un aspecto
importante de esta hiptesis es que no importa de qu est hecho el
sistema fsico de smbolos. Decimos que la hiptesis de Newell y Simon es
neutral respecto al sustrato.
Una entidad inteligente podra estar hecha de protenas, de rels
mecnicos, de transistores, o de cualquier otra cosa, con tal de que sea
capaz de procesar smbolos l. Otros pensadores creen que no es realmente
importante que las mquinas estn hechas de sili cio o de protenas;
piensan que el comportamiento inteligente es, en su mayor parte, el
resultado de lo que ellos llaman procesamiento subsimblico, es decir,
procesamiento de seales, no de smbolos. Consideremos, por ejemplo, el
reconocimiento de rostros familiares. Los humanos hacemos esto sin
esfuerzo alguno, y aunque no se sabe exactamente cmo lo hacemos, se
sos pecha que la mejor explicacin para el proceso es la que se basa en el
tratamiento de imgenes, o de partes de ellas, como seales
multidmensionales, no como smbolos. Podramos citar muchos otros
puntos de vista sobre el tipo de mquinas que podran ser capa ces de
desarrollar habilidades pensantes como las de los humanos. Algunas de las
hiptesis que se oyen a menudo son las siguientes:
El cerebro procesa la informacin en paralelo, mientras que los
ordenadores convencio nales lo hacen secuencialmente. Por tanto,
tenemos que construir nuevas variedades de ordenadores paralelos para
realizar progresos en la lA.
La maquinaria computacional
convencional est basada en la lgica binaria (verdadero o falso). Por tanto,
los sistemas realmente inteligentes tendrn que usar algn tipo de lgica
borrosa.
Las neuronas animales son mucho ms complejas que
simples conmutadores -los bloques constructivos bsicos de los
ordenadores actuales-o Por tanto, necesitaremos neuronas artificiales
verdaderamente realistas para construir mquinas inteligentes.
Quiz es an demasiado pronto para que se alcance un consenso en el
campo de la IA sobre el tipo de maquinaria requerida, aunque muchos
investigadores aceptan ya la hiptesis del siste ma fsico de smbolos.
Finalmente, llegamos a la palabra ms difcil: pensar. En lugar de intentar
definir esta pala bra, Turing propuso un test, el llamado Test de Turing,
mediante el cual pudiera decidirse si una mquina particular es o no
inteligente. El test fue descrito originalmente como un juego. Citemos del
artculo de Turing [Turing, 1950]:
En el juego participan tres personas, un hombre (A), una mujer (B) y un
interrogador (C), que puede ser de cualquier sexo. El interrogador
permanece en una sala, separado de los otros dos, pero pudiendo
comunicarse con ellos mediante un teletipo. El objetivo del juego para el
interrogador es determinar cul de los otros dos es el hombre y cul es la
mujer. El interroga dor los designa mediante las etiquetas X e Y, y al final
del juego debe decir X es A e Yes B o X es B e Y es A. Para ello, el
interrogador puede plantear preguntas a A y a B, tales como: C: Podra
decirme X cul es la longitud de su pelo? Supongamos que X es realmente
A; entonces es A quien debe responder. El objetivo de A en el juego es
intentar que C haga una identificacin errnea.
El objetivo del juego para el tercer participante (B) es ayudar al interrogador.
Ahora podemos plantearnos la siguiente cuestin: Qu sucedera si una
mquina inter pretase el papel de A en el juego? El interrogador har
tantas identificaciones errneas como cuando el juego es interpretado por
un hombre y una mujer? Estas cuestiones reem plazan a nuestra cuestin
original: Pueden pensar las mquinas?
1 Obviamente, si tomamos en cuenta aspectos prcticos como la velocidad,
la estabilidad, la fiabilidad, la capacidad de procesamiento paralelo, la
sensibilidad a la temperatura, etc., algunos materiales de construccin
sern mejores que otros.
Introduccin
A menudo, el Test de Turing se simplifica, plantendolo como un juego en el
que una mquina intenta convencer a un interrogador humano de que el1a
es tambin humana. Esta ver sin simplificada del Test de Turing no se
considera usualmente como un test de inteligencia muy til, debido a que es
posible, incluso para programas muy simples, engaar al interrogador
humano durante un buen rato, Por ejemplo, el programa ELlZA de Joseph
Weizenbaum usa algu nos trucos muy simples para ello, pero es capaz de
desarrollar un dilogo que resulta aparente mente realista para el
interrogador poco avezado, aunque es un dilogo completamente vano
[Weizenbaum, 1%5]. El programa JULIA de Mauldin es tambin un
programa de dilogo de este tipo, pero ms reciente y sofisticado [Mauldin,
1994]2. Aparte del Test de Turing, una cuestin que merece la pena intentar
responder es la de cules deben ser la habilidades requeridas en una
mquina para que podamos calificarla como inteli gente. Actualmente,
existen muchos programas de ordenador capaces de realizar cosas real
mente prodigiosas, incluyendo la planificacin ptima de rutas areas para
economizar com bustible, la simulacin global de condiciones
meteorolgicas, la planificacin del uso de recursos en una factora, etc.
Son inteligentes estos programas? Deben ser considerados como objeto
de estudio de la IA? Habamos comenzado este captulo describiendo
mquinas que difcilmente podran ser etiquetadas como inteligentes. Son
gradualmente ms y ms inteligentes conforme se incrementa su
complejidad? Personalmente, lo creo as, pero existen indudablemente
opinio nes para todos los gustos.
Aproximaciones a la Inteligencia Artificial
Aun aceptando que la IA ya ha sido capaz de producir algunos sistemas
prcticos muy tiles, la creencia general es que el objetivo ltimo de
alcanzar una inteligencia de nivel humano est an muy distante. Siendo
esto as, todava hay un gran debate sobre cules son las mejores aproxi
maciones hacia la IA -mejores en el sentido de sentar los fundamentos
centrales para conseguir las metas planteadas a largo plazo, as como
mejores en el sentido de producir resultados prcti cos a corto plazo-. En
consecuencia, durante los ltimos 40 aos ha emergido un cierto nme ro
de paradigmas diferentes. Cada uno de ellos tiene abogados apasionados,
y algunos han pro ducido resultados suficientemente interesantes como
para no ser descartados sin ms. Quiz lo que se requiere es una
combinacin apropiada de estas aproximaciones diferentes. En cualquier
caso, cada investigador cree, a menudo, que la suya es la metodologa
avanzada que merece espe cial atencin. Los principales paradigmas
pueden ser clasificados en dos grupos. El primer grupo incluye lo que
llamaramos las aproximaciones basadas en procesamiento de smbolos.
Se sustentan sobre la hiptesis del sistema fsico de smbolos de Newell y
Simon, y aunque esta hiptesis no puede considerarse an como
universalmente aceptada, en ella se basa mucho de lo que podramos
llamar IA clsica (lo que el filsofo John Haugeland llama lA al viejo
estilo (GOFAI, o Good-Old-Fashioned-AI). Un miembro destacado de esta
familia de aproximaciones es el que se basa en la aplicacin de
operaciones lgicas sobre bases de conoci miento declarativo. Inspirado
originalmente en los informes de John McCarthy sobre su sistema
consejero [McCarthy, 1958], este estilo de lA representa el conocimiento
sobre un problema del dominio mediante sentencias declarativas, a menudo
basadas en sentencias de la lgica de predicados o sustancialmente
equivalentes a ellas. Para deducir consecuencias a partir de este
conocimiento se aplican tcnicas de inferencia lgica. Este mtodo admite
numerosas variantes, incluyendo aquellas cuyo nfasis est en la
axiomatizacin formal del dominio en un lenguaje lgico. Cuando se aplica
a problemas reales, este mtodo requiere la representacin de una can
tidad sustancial de conocimiento del dominio, por lo que se suele hablar de
aproximaciones basa das en el conocimiento. Se han construido muchos
sistemas basados en estos mtodos, y nos refe riremos a algunos de ellos
ms adelante. En muchas de las aproximaciones basadas en
procesamiento de smbolos, el anlisis de los comportamientos deseados, o
la sntesis de mquinas para conseguirlos, se extienden a travs de varios
niveles. El nivel superior corresponde al nivel del conocimiento [Newell,
1982], en el cual se especifica el conocimiento necesario para que la
mquina alcance sus objetivos. A continuacin vie ne el nivel simblico,
donde se representa este conocimiento mediante estructuras simblicas,
como, por ejemplo, listas escritas en el lenguaje de programacin L1SP, y
se especifican operacio nes sobre estas estructuras. Despus estn los
niveles inferiores, en los cuales, realmente se imple mentan las operaciones
de procesamiento de smbolos. Muchas aproximaciones basadas en pro
cesamiento de smbolos utilizan una metodologa de diseo
descendente; se comienza en el nivel del conocimiento y se procede
hacia abajo a travs de los niveles simblico y de implementacin. El
segundo grupo de aproximaciones hacia la lA incluye lo que se denominan
aproximacio nes subsimblicas. stas siguen usualmente un estilo de
diseo ascendente, comenzando en el nivel ms bajo y procediendo
hacia los niveles superiores. En los niveles ms bajos, el con cepto de
smbolo no es tan apropiado como el concepto de seal. Entre las
aproximaciones subsimblicas, una aproximacin muy prominente es la que
algunos han llamado vida artifi cial. Los defensores de este estilo [Wilson,
1991 y Brooks, 1990] sealan que la inteligencia humana se desarroll slo
despus de ms de mi] millones de aos de vida sobre la tierra. Segn
ellos, para conseguir mquinas inteligentes tendremos que seguir muchos
de estos pasos evolutivos. Primero, debemos concentramos en la
duplicacin de las capacidades de procesa miento de seal y control de las
que disponen los animales ms simples -los insectos, por ejem plo-- y subir
por la escalera evolutiva en pasos sucesivos. Esta estrategia no slo
conducir a la obtencin a corto plazo de mquinas tiles, sino que
desarrollar el substrato sobre el cual deben construirse necesariamente los
niveles superiores de inteligencia. Este segundo grupo de aproximaciones
tambin pone nfasis en losfundamentos simblicos. Brooks introdujo ]a
hiptesis de los fundamentos fsicos, en contraste con la hiptesis de los
sis temas fsicos de smbolos [Brooks, 1990]. Segn su hiptesis, se puede
obtener un comporta miento complejo sin usar modelos centralizados; para
ello, bastara con dejar que los diversos mdulos de comportamiento de un
agente interacten independientemente con el entorno. Sin embargo,
Brooks acepta que para conseguir lA de nivel humano puede ser necesaria
la integra cin de las dos aproximaciones. La interaccin entre una mquina
y su entorno conduce a lo que se denomina comporta miento emergente.
En palabras de una investigadora [Maes, 1990b, p. 1]:
La funcionalidad de un agente debe verse como una propiedad emergente
de la interaccin intensiva del sistema con su entorno dinmico. La
especificacin del comportamiento del agente aislado no explica la
funcionalidad que exhibe cuando el agente est operando. Por el contrario,
su funcionalidad se basa en gran medida en las propiedades del entorno.
No slo hay que tener en cuenta las caractersticas dinmicas del entorno,
sino que stas deben ser explotadas para servir al funcionamiento del
sistema.
Las redes neuronales son un ejemplo bien conocido de mquinas que
provienen de la escue la subsimblica. Estos sistemas, inspirados en
modelos biolgicos, son interesantes, principal-mente por su capacidad de
aprendizaje. Tambin se han conseguido resultados interesantes mediante
procesos que simulan ciertos aspectos de la evolucin biolgica:
cruzamiento, mutacin y reproduccin de los organismos mejor adaptados.
Otras aproximaciones ascendentes, cercanas a las aproximaciones del tipo
vida artificial, se basan en ]a teora del control y en el anlisis de
sistemas dinmicos (vase, por ejemplo, [Beer, 1995, y Port y van Gelder,
1995]). A medio camino entre las aproximaciones descendentes y
ascendentes est la basada en aut matas situados [Kaelbling y
Rosenschein, 1990, y Rosenschein y Kaelbling, 1995]. Kaelbling y
Rosenschein proponen un lenguaje de programacin para especificar, en un
alto nivel de abs traccin, el comportamiento deseado en un agente, as
como un compilador para crear la circui tera necesaria a partir de los
programas escritos en este lenguaje.
Breve historia de la lA
Cuando empezaron a desarrollarse los primeros ordenadores durante las
dcadas de los aos 40 y 50, algunos investigadores escribieron programas
que podan realizar tareas elementales de razonamiento. Entre los
resultados ms prominentes de esta poca podemos citar los primeros
programas de ordenador capaces de jugar al ajedrez [Shannon, 1950,
Newell, y Shaw y Simon, 1958], los programas capaces de jugar a las
damas [Samuel , 1959, y Samuel, 1967] y los pro gramas para demostrar
teoremas de geometra plana [Gelemter, 1959]. En 1956, John McCarthy y
Claude Shannon coeditaron un volumen titulado Automata Studies
[Shannon y McCarthy, 1956]. La mayora de los artculos del volumen
trataban sobre los fundamentos matemticos de ]a teora de autmatas, por
lo que McCarthy, decepcionado, decidi acuar el trmino Inteligen cia
Artificial y usarlo como ttulo de una conferencia celebrada en Dartmouth en
1956. En esta conferencia se presentaron algunos trabajos muy relevantes,
incluyendo uno de Allen Newell, Cliff Shaw y Herbert Simon sobre un
programa llamado Teorizador Lgico [Newell; Shaw y Simon, 1957], que
poda demostrar teoremas en lgica proposicional. Aunque se propusieron
muchos otros trminos para e] campo, tales como procesamiento de
informacin compleja, inteligencia de mquinas, programacin heurstica o
cognologa, slo el nombre de Inteligencia Artificial ha perdurado. sin duda a
causa de la creciente progresin de libros de texto, cursos, con gresos y
revistas que usaban este trmino. El primer paso hacia la inteligencia
artificial fue dado mucho tiempo atrs por Aristteles (384-322 a. C.),
cuando comenz a explicar y a codificar ciertos estilos de razonamiento
deduc tivo que l llam silogismos. Algunos de los esfuerzos tempranos
para automatizar la inteligen cia nos pareceran quijotescos hoy en da.
Ramn Llul1 (1235-1316), un mstico y poeta cataln, construy una
mquina de engranajes, llamada Ars Magna, que supuestamente era capaz
de res ponder a todas las preguntas. Pero hubieron tambin cientficos y
matemticos que perseguan la automatizacin del razonamiento. Martn
Gardner [Gardner, 1982, p. 3] atribuye a Gottfried Leib niz (1646-1716) el
sueo de un lgebra universal mediante la cual todo el conocimiento,
inclu yendo las verdades morales y metafsicas, pueda ser algn da
representado en un nico sistema deductivo. Leibniz llam a su sistema
clculo filosfico o raciocinador; fue, claro est, un sue o que no pudo ser
realizado con el aparataje tecnolgico de la poca. No comenz a haber un
progreso sustancial hasta que George Boole [Boo]e, 1854] desarroll los
fundamentos de la lgica proposicional. El propsito de Boole, entre otras
cosas, era recoger... algunos funda mentos probables relativos a la
naturaleza y a la constitucin de la mente humana. Hacia e] final del siglo
XIX, Gottlieb Frege propuso un sistema de notacin para el razonamiento
mecnico, con lo que invent mucho de lo que hoy conocemos con el
nombre de clculo de predicados [Frege, 1879]. Llam a su lenguaje
Begriffsschrift, lo que puede ser traducido como escritura de con ceptos.
En 1958, John McCarthy propuso la utilizacin del clculo de predicados
como un lenguaje para representar y usar conocimiento en un sistema al
que llam sistema consejero [McCarthy, 1958]. A este sistema, en lugar
de programarlo, haba que decirle lo que necesitaba saber para resolver un
problema. Una modesta, pero influyente, implementacin de estas ideas fue
aborda da por Cordell Green en su sistema QA3 [Green, 1969a]. Como
resultado de muchas controver sias entre los investigadores de la lA, el
clculo de predicados y sus variantes han sobrevivido como el fundamento
bsico para la representacin del conocimiento. Los lgicos del siglo xx,
incluyendo a Kurt Gooel, Stephen KIeene, Emil Post, Alonzo Church y Alan
Thring, formalizaron y clarificaron lo que puede ser hecho y lo que no puede
ser hecho mediante sistemas lgicos y computacionales. Posteriormente,
informticos como Stephen Cook y Richard Karp identificaron las clases de
cmputos que, siendo posibles en principio, requeriran cantidades de
tiempo y de memoria completamente impracticables. Muchos de estos
resultados de la lgica y de la informtica se referan a verdades que no
pueden ser deducidas y a clculos que no pueden ser realizados.
Seguramente animados por estos hallazgos negativos, algunos filsofos y
cientficos [Lucas, 1961; Penrose, 1989, y Penro se, 1994] los interpretaron
como confirmaciones de que la inteligencia humana no podra ser nun ca
mecanizada. Estos pensadores crean que los humanos son, de alguna
forma, inmunes a las limitaciones computacionales inherentes a las
mquinas. Sin embargo, la mayora de los lgicos y de los informticos
creen que estos resultados negativos de ningn modo implican que las
mquinas tengan lmites que no sean aplicables tambin a los humanos. El
primer artculo moderno que trataba sobre la posibilidad de mecanizar la
inteligencia al estilo humano fue el de Alan Thring que ya hemos citado
anteriormente [Thring, 1950]. Durante el mismo perodo, Warren McCulloch
y Walter Pitts teorizaban sobre las relaciones entre ele mentos
computacionales simples y neuronas biolgicas [McCulloch y Pitts, 1943].
Demostraron que es posible calcular cualquier funcin computable
mediante redes de puertas lgicas (vase [Minsky, 1967], para un
tratamiento muy legible de los aspectos computacionales de las neu ronas
de McCulloch-Pitts). Otro trabajo, de Frank Rosenblatt [Rosenblatt, 1962],
exploraba el uso de redes de tipo neuronal, denominadas perceptrones,
para el aprendizaje y el reconocimiento de patrones. Algunas otras
corrientes de trabajo, entre ellas la ciberntica [Wiener, 1948], la psi cologa
cognitiva, la lingstica computacional [Chomsky, 1965] y la teora del
control adaptativo [Widrow y Hoff, 1960], han contribuido tambin a esta
matriz intelectual dentro de la cual se ha desarrollado la lA. Una gran parte
del trabajo inicial en la lA (durante la dcada de los aos 60 y la primera
par te de la dcada de los 70) se dedicaba a explorar diversas
representaciones de problemas, tcni cas de bsqueda y heursticas
generales que se aplicaban en programas de ordenador capaces de
resolver puzzles sencillos, de jugar contra el usuario o de recuperar
informacin. Uno de los pro gramas ms influyentes fue el Solucionador
General de Problemas (GPS, o General Problem Sol ver) de Allen Newell,
Cliff Shaw y Herbert Simon [Newell; Shaw, y Simon, 1959, y Newell y
Simon, 1963]. Entre los problemas de muestra resueltos por estos sistemas
pioneros se incluan la integracin simblica [Slagle, 1963], los problemas
de lgebra [Bobrow, 1968], los puzzles analgicos [Evans, 1968] yel control
de robots mviles [Nilsson, 1984b]. Muchos de estos sistemas constituyen
el tema central de los artculos reunidos en el histrico volumen Computa
and Thought [Feigenbaum y Feldman, 1963]. Los intentos de escalar
estos programas y sus tcnicas para enfrentarlos a aplicaciones de
importancia prctica revelaron que slo valan para resolver problemas de
juguete. La cons truccin de sistemas ms potentes requera la inclusin
de mucho ms conocimiento sobre el dominio de aplicacin. Los ltimos
aos de la dcada de los 70 Ylos primeros de la dcada de los 80 vieron el
desarrollo de programas ms realistas, que contenan el conocimiento
necesario para mimetizar el comportamiento de los expertos humanos en
tareas tales como el diagnstico, el diseo y el anlisis. Fueron explorados
y desarrollados varios mtodos para la representacin de conocimiento
especfico del problema. El programa al que se atribuye el mrito de ser el
prime ro que demostr la importancia de recoger grandes cantidades de
conocimiento especfico del dominio fue DENORAL, un sistema para
predecir la estructura de molculas orgnicas a partir de su frmula qumica
y de su espectrograma de masas [Feigenbaum; Buchanan, y Lederberg,
1971, y Lindsay et al., 1980]. Despus se desarrollaron otros sistemas
expertos, incluyendo sis temas para diagnstico mdico [Shortliffe, 1976, y
Miller, Pople y Myers, 1982], sistemas para configurar ordenadores
[McDermott, 1982] y sistemas para valorar posibles yacimientos de
minerales [Campbell et al., 1982, y Duda, Gaschnig y Hart, 1979]. Un buen
resumen de la his toria de la lA a lo largo de este perodo fue escrito por
[McCorduck, 1979]. Una de las reas en la que se han realizado progresos
sustanciales al escalar el tamao del problema es el rea de los juegos. El
11 de mayo de 1997, un programa de ordenador de mM, denominado
DEEP BLUE, consigui vencer al entonces campen del mundo de ajedrez,
Garry Kasparov, por 3,5 a 2,5 en un encuentro a seis partidas. Este alto
nivel de juego se ha consegui do gracias a la sinergia de sofisticados
algoritmos de bsqueda, ordenadores de alta velocidad y hardware
especfico para el juego del ajedrez. La inteligencia humana abarca muchas
habilidades, incluyendo la habilidad para percibir y analizar escenas
visuales y la habilidad para entender o generar el lenguaje. stos son temas
espe cficos que han recibido mucha atencin. Larry Roberts desarroll uno
de los primeros programas de anlisis de escenas [Roberts, 1963]. Este
trabajo preliminar fue seguido de una extensa can tidad de investigacin en
visin artificial ([Nalwa, 1993] es un buen libro de texto general), guia da
mediante estudios cientficos de los sistemas de visin animal [Letvinn et
al., 1959; Hubel, 1988, y Marr, 1982]. Uno de los sistemas pioneros en
comprensin del lenguaje natural fue el desarrollado por Terry Winograd
[Winograd, 1972]. Durante la dcada de los aos 70 se llev a cabo un
proyecto coordinado multicentro que desarroll prototipos de sistemas para
la comprensin fluida del habla; el sistema LUNAR [Woods, 1973],
desarrollado por William Woods, era capaz de res ponder a preguntas
orales en ingls sobre las muestras de rocas recogidas por las misiones
luna res de la NASA. Aunque actualmente existen diversos sistemas de
comprensin del lenguaje natural, su com petencia se restringe a reas
temticas especficas y a vocabularios especializados. El desarrollo de
sistemas con un alcance ms amplio requerir de nuevos avances en la
representacin de gran des cantidades de conocimiento general de sentido
comn. El proyecto CYC [Guha y Lenat, 1990; Lenat, y Guha 1990, y Lenat,
1995] tiene como uno de sus objetivos la recogida y repre sentacin de
conocimiento de este tipo. Aunque el inters en las redes neuronales
decay un poco tras el trabajo pionero realizado en los ltimos aos de la
dcada de los 50 por Frank Rosenblatt, resurgi con energa en los aos
80. Las redes de elementos no lineales con interconexiones de pesos
variables se consideran actual mente como una clase muy importante de
herramientas para el modelado no lineal. Hoy en da existen diversas
aplicaciones importantes de las redes neuronales. El trabajo sobre redes
neuro nales, junto con el trabajo en temas de vida artificial, ha ayudado a
focalizar la investigacin actual en lA sobre los problemas relacionados con
la conexin entre procesos simblicos y los sensores y efectores de los
robots inmersos en un entorno fsico. . Si proyectamos las tendencias
actuales hacia el futuro, es razonable esperar un nuevo nfasis en el
desarrollo de sistemas autnomos integrados, robots y softbots. Los
softbots [Etzioni y Weld, 1994] son agentes so:tr.ware que recorren Internet
buscando la informacin que ellos creen que puede ser de inters J?irra sus
usuarios. La constante presin ejercida para mejorar las capa cidades de
los robots y d los agentes software motivar y guiar la investigacin en
inteligencia artificial durante muchOS aos.
En 1958, John McCarthy propuso la utilizacin del clculo de predicados
como un lenguaje para representar y usar conocimiento en un sistema al
que llam sistema consejero [McCarthy, conocimiento especfico del
problema. El programa al que se atribuye el mrito de ser el prime 1958]. A
este sistema, en lugar de programarlo, haba que decirle lo que necesitaba
saber para ro que demostr la importancia de recoger grandes cantidades
de conocimiento especfico del resolver un problema. Una modesta, pero
influyente, implementacin de estas ideas fue aborda dominio fue
DENDRAL, un sistema para predecir la estructura de molculas orgnicas a
partir de su frmula qumica y de su espectrograma de masas [Feigenbaum;
Buchanan, y Lederberg, da por Cordell Green en su sistema 0A3 [Green,
1969a]. Como resultado de muchas controver sias entre los investigadores
de la lA, el clculo de predicados y sus variantes han sobrevivido 1971, y
Lindsay et al., 1980]. Despus se desarrollaron otros sistemas expertos,
incluyendo sis como el fundamento bsico para la representacin del
conocimiento. temas para diagnstico mdico [Shortliffe, 1976, y Miller,
Pople y Myers, 1982], sistemas para configurar ordenadores [McDermott,
1982] y sistemas para valorar posibles yacimientos de Los lgicos del siglo
xx, incluyendo a Kurt GOdel, Stephen Kleene, Emil Post, Alonzo minerales
[Campbell et al., 1982, y Duda, Gaschnig y Hart, 1979]. Un buen resumen
de la hisChurch y Alan Turing, formalizaron y clarificaron lo que puede ser
hecho y 10 que no puede ser toria de la lA a lo largo de este perodo fue
escrito por [McCorduck, 1979]. hecho mediante sistemas lgicos y
computacionales. Posteriormente, informticos como Stephen Cook y
Richard Karp identificaron las clases de cmputos que, siendo posibles en
principio, Una de las reas en la que se han realizado progresos
sustanciales al escalar el tamao del requeriran cantidades de tiempo y de
memoria completamente impracticables. problema es el rea de los juegos.
El 11 de mayo de 1997, un programa de ordenador de IBM, Muchos de
estos resultados de la lgica y de la informtica se referan a verdades que
no denominado DEEP BLUE, consigui vencer al entonces campen del
mundo de ajedrez, Garry pueden ser deducidas y a clculos que no
pueden ser realizados. Seguramente animados por Kasparov, por 3,5 a
2,5 en un encuentro a seis partidas. Este alto nivel de juego se ha consegui
estos hallazgos negativos, algunos filsofos y cientficos [Lucas, 1961;
Penrose, 1989, y Penro do gracias a la sinergia de sofisticados algoritmos
de bsqueda, ordenadores de alta velocidad y se, 1994] los interpretaron
como confIrmaciones de que la inteligencia humana no podra ser nun
hardware especfico para el juego del ajedrez. ca mecanizada. Estos
pensadores crean que los humanos son, de alguna forma, inmunes a las
La inteligencia humana abarca muchas habilidades, incluyendo la habilidad
para percibir y limitaciones computacionales inherentes a las mquinas. Sin
embargo, la mayora de los lgicos analizar escenas visuales y la habilidad
para entender o generar el lenguaje. stos son temas espe y de los
informticos creen que estos resultados negativos de ningn modo implican
que las cficos que han recibido mucha atencin. Larry Roberts desarroll
uno de los primeros programas mquinas tengan lmites que no sean
aplicables tambin a los humanos. de anlisis de escenas [Roberts, 1963].
Este trabajo preliminar fue seguido de una extensa can tidad de
investigacin en visin artificial ([Nalwa, 1993] es un buen libro de texto
general), guiaEl primer artculo moderno que trataba sobre la posibilidad de
mecanizar la inteligencia al estilo humano fue el de Alan Turing que ya
hemos citado anterionnente [Turing, 1950]. Durante da mediante estudios
cientficos de los sistemas de visin animal [Letvinn el al., 1959; Hubel, el
mismo perodo, Warren McCulloch y Walter Pitts teorizaban sobre las
relaciones entre ele 1988, y Marr, 1982]. mentos computacionales simples y
neuronas biolgicas [McCulloch y Pitts, 1943]. Demostraron Uno de los
sistemas pioneros en comprensin del lenguaje natural fue el desarrollado
por que es posible calcular cualquier funcin computable mediante redes de
puertas lgicas (vase Terry Winograd [Wmograd, 1972]. Durante la dcada
de los aos 70 se llev a cabo un proyecto [Minsky, 1967], para un
tratamiento muy legible de los aspectos computacionales de las neu
coordinado multicentro que desarroll prototipos de sistemas para la
comprensin fluida del ronas de McCulloch-Pitts). Otro trabajo, de Frank
Rosenblatt [Rosenblatt, 1962], exploraba el habla; el sistema LUNAR
[Woods, 19731. desarrollado por William Woods, era capaz de res uso de
redes de tipo neuronal, denominadas perceptrones, para el aprendizaje y el
reconocimiento ponder a preguntas orales en ingls sobre las muestras de
rocas recogidas por las misiones luna de patrones. Algunas otras corrientes
de trabajo, entre ellas la ciberntica [Wiener, 1948], la psi res de la NASA.
cologa cognitiva, la lingstica computacional [Chomsky, 1965] y la teora
del control adaptativo Aunque actualmente existen diversos sistemas de
comprensin del lenguaje natural, su com [Widrow y Hoff, 1960], han
contribuido tambin a esta matriz intelectual dentro de la cual se ha
petencia se restringe a reas temticas especficas y a vocabularios
especializados. El desarrollo desarrollado la lA. de sistemas con un alcance
ms amplio requerir de nuevos avances en la representacin de gran Una
gran parte del trabajo inicial en la lA (durante la dcada de los aos 60 y la
primera par des cantidades de conocimiento general de sentido comn. El
proyecto eve [Guha y Lenat, te de la dcada de los 70) se dedicaba a
explorar diversas representaciones de problemas, tcni 1990; Lenat, y
Guha 1990, y Lenat, 1995] tiene como uno de sus objetivos la recogida y
repre cas de bsqueda y heursticas generales que se aplicaban en
programas de ordenador capaces de sentacin de conocimiento de este
tipo. resolver puzzles senci11os, de jugar contra el usuario o de recuperar
informacin. Uno de los pro Aunque el inters en las redes neuronales
decay un poco tras el trabajo pionero realizado en gramas ms influyentes
fue el Solucionador General de Problemas (GPS, o General Problem Sol los
ltimos aos de la dcada de los 50 por Frank Rosenblatt, resurgi con
energa en los aos 80. ver) de Allen Newell, Cliff Shaw y Herbert Simon
[Newell; Shaw, y Simon, 1959, y Newell y Las redes de elementos no
lineales con interconexiones de pesos variables se consideran actual
Simon, 1963]. Entre los problemas de muestra resueltos por estos sistemas
pioneros se incluan mente como una clase muy importante de
herramientas para el modelado no lineal. Hoy en da la integracin
simblica [Slagle, 1963], los problemas de lgebra [Bobrow, 1968], los
puzzles existen diversas aplicaciones importantes de las redes neuronales.
El trabajo sobre redes neuro analgicos [Evans, 1968] y el control de robots
mviles [Nilsson, 1984b]. Muchos de estos nales, junto con el trabajo en
temas de vida artificial, ha ayudado a focalizar la investigacin sistemas
constituyen el tema central de los artculos reunidos en el histrico volumen
Computer actual en lA sobre los problemas relacionados con la conexin
entre procesos simblicos y los and Tlwught [Feigenbaum y Feldman,
1963]. sensores y efectores de los robot<; inmersos en un entorno fsico. .
Los intentos de escalar estos programas y sus tcnicas para enfrentarlos
a aplicaciones de Si proyectamos las tendencias actuales hacia el futuro, es
razonable esperar un nuevo nfasis importancia prctica revelaron que slo
valan para resolver problemas de juguete. La cons en el desarrollo de
sistemas ootnomos integrados, robots y softbots. Los softbots [Etzioni y
truccin de sistemas ms potentes requera la inclusin de mucho ms
conocimiento sobre el Weld, 1994] son agentes soft.ware que recorren
Internet buscando la informacin que ellos creen dominio de aplicacin. Los
ltimos aos de la dcada de los 70 y los primeros de la dcada de los que
puede ser de inters pira sus usuarios. La constante presin ejercida para
mejorar las capa 80 vieron el desarrollo de programas ms realistas, que
contenan el conocimiento necesario para cidades de los robots y de los
agentes software motivar y guiar la investigacin en inteligencia
mimetizar el comportamiento de los expertos humanos en tareas tales como
el diagnstico, el artificial durante muchps aos.
Plan del libro
La investigacin en lA ha conducido al desarrollo de numerosas ideas y
tcnicas relevantes diri gidas al objetivo de automatizar la inteligencia. En
este libro, estas ideas y tcnicas sern descritas en el contexto de una serie
de agentes cada vez ms capaces y complejos. Hay muchos tipos de
agentes y entornos que podramos considerar. Por ejemplo, podemos
imaginar robots que traba jen en las condiciones de gravedad cero del
espacio exterior, en las aguas oscuras de los fondos ocenicos, en edificios
de oficinas o en factoras, o en el mundo simblico de Internet. Pero estos
agentes prcticos del mundo real son a veces demasiado complejos para
ilustrar de forma trans parente los conceptos de la lA en los que se basa su
inteligencia. En su lugar, lo que haremos ser introducir una serie de
agentes de juguete en un entorno ficticio al que llamaremos mundo
espacial cuadriculado. Aunque este mundo simple es fcil de describir,
podemos aadirle cier ta complejidad para hacerlo suficientemente rico
como para que requiera inteligencia en sus agentes. El mundo espacial
cuadriculado es un espacio tridimensional demarcado por una matriz
bidimensional de celdas a la que llamaremos suelo. Cada celda puede
contener objetos que tienen diversas propiedades, y pueden existir
paredes delimitando conjuntos de celdas. Los agentes estn confinados
en el suelo y pueden moverse de celda a celda. Los objetos pueden estar
en el suelo o colocados sobre una pila de otros objetos apilados sobre el
suelo. A veces, usaremos slo el subespacio bidimensional definido por el
suelo. En la Figura 1.2 se muestra un ejemplo tpico de mundo espacial
cuadriculado, en el que hay dos robots. Uno de ellos es un robot
bidimensional sencillo, con sensores para percibir si las celdas adyacentes
estn o no libres para moverse a ellas; el otro, ms complejo, dispone de un
brazo con el que puede manipular objetos. Los lectores ya familiarizados
con la bibliografa sobre lA reconocern fcilmente que el mundo espacial
cuadriculado puede ser particularizado a algunos de los muchos mundos
uti lizados en la investigacin sobre lA, incluyendo el mundo de bloques, el
mundo del mosaico [Pollack y Ringuette, 1990], el mundo de los wumpus
[Russell y Norvig, 1955, pp. 153 Y ss.] yel
\ Figura 1.2. \
Mundo espacial cuadriculado.
mundo de las hormigas [Koza, 1992, pp. 54 Y ss.]. Todos ellos son mundos
discretos, en el sen tido de que existe un nmero finito de posiciones, de
agentes, de objetos y de instantes de tiem po. Muchas de las tcnicas de la
lA que describiremos en el libro se aplican a mundos discretos y requeriran
un cierto procesamiento subsimblico para operar en mundos continuos.
Comenzaremos estudiando los agentes reactivos, que disponen de
varias modalidades sensoriales para percibir sus mundos y de distintas
formas de actuar sobre ellos. Los ms com plejos tendrn tambin la
capacidad de recordar propiedades y de almacenar modelos internos del
mundo. En todos los casos, las acciones decididas por los agentes
reactivos sern funcin del estado actual y de los estados anteriores de sus
mundos -tal como ellos los perciben y los recuerdan-o Los agentes
reactivos pueden disponer de procesos perceptivos y motores muy com
plejos. Aunque trataremos el tema de la percepcin visual con algn detalle
(en el Captulo 6), el espacio no nos permite incluir temas relativos al control
de bajo nivel del movimiento de un robot. Muchos sistemas de lA utilizan
algn tipo de modelo o representacin de su mundo y de sus tareas.
Usaremos el trmino modelo en su sentido ms amplio, definindolo
como cualquier estructura simblica que se correlacione suficientemente
con el mundo real, incluyendo en l al conjunto de computaciones que
proporcionan al agente informacin til sobre el mundo. Esta informacin
puede ser relativa al estado actual del mundo o relativa a posibles estados
futuros del mundo. Conforme vayamos avanzando a lo largo del espectro
que abarca desde los agentes ms simples a los ms complejos, iremos
atravesando las fronteras que separan las distintas clases de sistemas de
lA. Hay un tipo de modelos, a los que llamaremos icnicos, que utilizan
estructuras de datos y algoritmos para simular diferentes aspectos del
entorno del agente y diferentes efectos de las acciones del agente sobre
ese entorno. Un ejemplo de representacin icnica es la representacin del
estado del juego en el ajedrez mediante una matriz de celdas de tamao 8 x
8, celdas que pue den estar ocupadas por las distintas piezas de ajedrez.
Un modelo de ajedrez icnico es com pleto en el sentido de que contiene
informacin sobre la localizacin de todas las piezas. El otro tipo de modelo
que usaremos es el que llamaremos modelo basado en caractersticas.
Este tipo de modelo utiliza descripciones declarativas del entorno. En el
ajedrez, por ejemplo, dos caractersticas podran ser si se ha hecho ya un
enroque y el nmero de veces en las que se ha dado jaque al rey. Un
conjunto de caractersticas descriptivas es casi siempre incompleto -lo cual
es una virtud de las representaciones basadas en caractersticas, ya que
las hace tolerantes a los inevitables huecos que siempre existen en el
conocimiento del agente sobre mundos com plejos. El siguiente tipo de
agentes que estudiaremos tendr la habilidad de anticipar los efectos de
sus acciones y de seleccionar aquellas que supuestamente le conducirn
hacia sus objetivos. Se puede decir que tales agentes realizan planes. Para
algunos investigadores, esta capacidad es cr tica para la inteligencia; para
ellos, es ah donde comienza la lA. Los agentes que actan en mun dos que
no pueden ser perfectamente percibidos y modelados tambin necesitarn
constatar si sus acciones tienen o no los efectos que predijeron. Muchos
mundos espaciales cuadriculados tendrn restricciones implcitas que son
anlogas a las propiedades de los mundos reales. Por ejemplo, si un objeto
est en una posicin, no puede estar en otra al mismo tiempo. Los agentes
que son capaces de tener en cuenta estas restricciones sern usualmente
ms efectivos. La siguiente serie de agentes que estudiaremos estar
formada por aquellos capaces de razonar; podrn deducir propiedades
de sus mundos que estn impl-. citas en las restricciones. Finalmente,
consideraremos agentes que existen en mundos habitados por otros
agentes. Para comportarse de forma efectiva tendrn que anticipar lo que
otros agentes podran hacer e influir sobre ello. En estos casos, la
comunicacin entre agentes es en s misma una accin importante.
A lo largo del espectro de agentes de complejidad creciente, tambin
consideraremos mto dos mediante los cuales los agentes pueden
aprender sobre su entorno. La capacidad de aprender es, junto con la
capacidad de planificar, uno de los aspectos bsicos de la inteligencia, de
acuer do con [Russell y Wefald, 1991, p. 8], quienes escribieron:
El aprendizaje es una parte importante de la autonoma. Un sistema es
autnomo en la medida en que su comportamiento est determinado por
sus entradas actuales y por sus expe riencias pasadas, antes que por sus
diseadores. Los agentes normalmente se disean para una clase de
entornos, de tal forma que cada miembro de la clase es consistente con lo
que el diseador conoce sobre lo que el entorno podria tener reservado
para el agente. Pero un sis tema que opera sobre la base de suposiciones
preprogramadas slo operar correctamente cuando estas hiptesis se
cumplan, y, por tanto, no ser muy flexible. Un sistema verdade ramen.!
autnomo debera ser capaz de operar correctamente en cualquier entorno,
siempre que se le d tiempo suficiente para adaptarse. Para ello, las
estructuras de conocimiento inter nas del sistema deberan ser construibles,
en principio, a partir de su experiencia en el mun do. No hay que confundir
los sistemas autnomos con sistemas tabula rasa. Un punto medio
razonable consiste en disear sistemas cuyo comportamiento est
predeterminado en gran parte, al menos inicialmente, por el conocimiento
del diseador, pero haciendo que estas suposiciones sean tan explcitas
como sea posible y susceptibles de ser cambiadas por el agente. Este
sentido de autonoma parece corresponderse razonablemente bien con
nuestra nocin intuitiva de inteligencia.
Adems del uso del espacio cuadriculado como mundo bsico para ilustrar
las tcnicas de IA, recurso que nos permitir unificar y focalizar nuestro
tratamiento, mencionaremos de paso algu nas aplicaciones importantes a
problemas reales.