|
Categorias
|
Inteligencia Artificial
Índice Introducción. Nociones y antecedentes históricos de Inteligencia Artificial. Características de la Inteligencia Artificial. Objetivos de la Investigación en Inteligencia Artificial. Símbolos vs. Métodos numéricos. Algoritmos. Base de conocimiento. Sistemas basados en conocimiento. Motor de inferencia. Sistemas expertos como Sistemas de Información orientados al Servicio. Robótica. Perspectivas futuras. Conclusiones. Bibliografía. Introducción. La
Inteligencia Artificial comenzó como el resultado de lainvestigación en
psicología cognitiva y lógica matemática. Se ha enfocadosobre la explicación
del trabajo mental y construcción de algoritmos de solucióna problemas de propósito
general. Punto de vista que favorece la abstracción yla generalidad. La
Inteligencia Artificial es una combinación de la cienciadel computador,
fisiología y filosofía, tan general y amplio como eso, es quereúne varios
campos (robótica, sistemas expertos, por ejemplo), todos loscuales tienen en
común la creación de máquinas que pueden "pensar". La
idea de construir una máquina que pueda ejecutar tareaspercibidas como
requerimientos de inteligencia humana es un atractivo. Lastareas que han sido
estudiadas desde este punto de vista incluyen juegos,traducción de idiomas,
comprensión de idiomas, diagnóstico de fallas, robótica,suministro de asesoría
experta en diversos temas. Es
así como los sistemas de administración de base de datoscada vez más
sofisticados, la estructura de datos y el desarrollo de algoritmosde inserción,
borrado y locación de datos, así como el intento de crear máquinascapaces de
realizar tareas que son pensadas como típicas del ámbito de lainteligencia
humana, acuñaron el término Inteligencia Artificial en 1956. Trabajos
teóricos fundamentales fueron el desarrollo dealgoritmos matemáticos por
Warren McCullock y Walter Pitts, en 1943, necesariospara posibilitar el trabajo
de clasificación, o funcionamiento en sentidogeneral, de una red neuronal. En
1949 Donald Hebb desarrolló un algoritmo deaprendizaje para dichas redes
neuronales creando, en conjunto con los trabajosde McCullock y Pitts, la escuela
creacionista. Esta escuela se considera hoycomo el origen de la Inteligencia
Artificial, sin embargo se trató poco pormuchos años, dando paso al
razonamiento simbólico basado en reglas de producción,lo que se conoce como
sistemas expertos. I. Nociones y Antecedentes Históricosde Inteligencia Artificial. Definiciones
sobre Inteligencia Artificial:
o
Lenguajes: LISP,
PROLOG §
Entornos de
desarrollo: shells §
Arquitecturas de
alto nivel: nodo y arco, sistemas de producciones Desde
sus comienzos hasta la actualidad, la InteligenciaArtificial ha tenido que hacer
frente a una serie de problemas:
En
1843, Lady Ada Augusta Byron, patrocinadora de CharlesBabbage planteó el asunto
de si la máquina de Babbage podía"pensar". Los
primeros problemas que se trató de resolver fueronpuzzles, juegos de ajedrez,
traducción de textos a otro idioma. Durante
la II Guerra Mundial Norbert Wiener y John VonNeumann establecieron los
principios de la cibernética en relación con larealización de decisiones
complejas y control de funciones en máquinas. La
teoría de la retroalimentación en mecanismos, como porejemplo un termostato
que regula la temperatura en una casa, tuvo muchainfluencia. Esto aún no era
propiamente Inteligencia Artificial. Se hizo muchoen traducciones (Andrew Booth
y Warren Weaver), lo que sembró la semilla haciael entendimiento del lenguaje
natural. En
el año 1955 Herbert Simon, el físico Allen Newell y J.C.Shaw, programador de
la RAND Corp. y compañero de Newell, desarrolla el primerlenguaje de programación
orientado a la resolución de problemas de laInteligencia Artificial, el IPL-11.
Un año más tarde estos tres científicosdesarrollan el primer programa de
Inteligencia Artificial al que llamaron LogicTheorist, el cual era capaz
de demostrar teoremas matemáticos,representando cada problema como un modelo de
árbol, en el que se seguíanramas en busca de la solución correcta, que resultó
crucial. Este programademostró 38 de los 52 teoremas del segundo capítulo de PrincipiaMathematica
de Russel y Whitehead. En
1956, con la ahora famosa conferencia de Dartmouth,organizada por John McCarthy
y en la cual se utilizó el nombre de inteligenciaartificial para este nuevo
campo, se separó la Inteligencia Artificial de laciencia del computador, como
tal. Se estableció como conclusión fundamental laposibilidad de simular
inteligencia humana en una máquina. En
1957 Newell y Simon continúan su trabajo con eldesarrollo del General
Problems Solver (GPS). GPS era un sistemaorientado a la resolución de
problemas; a diferencia del Logic Theorist,el cual se orientó a la
demostración de teoremas matemáticos, GPS no estabaprogramado para resolver
problemas de un determinado tipo, razón a la cual debesu nombre. Resuelve una
gran cantidad de problemas de sentido común, como unaextensión del principio
de retroalimentación de Wiener. Diversos
centros de investigación se establecieron, entrelos más relevantes están, la
Universidad Carnegie Mellon, el MassachusettsInstitute of Technologie (MIT),
encabezado por Marvin Minsky, la Universidad deStandford e IBM. Los temas
fundamentales eran el desarrollo de heurísticas y elaprendizaje de máquinas. En
1957 McCarthy desarrolló el lenguaje LISP. La IBM contratóun equipo para la
investigación en esa área y el gobierno de USA aportódinero al MIT también
para investigación en 1963. A
finales de los años 50 y comienzos de la década del 60 sedesarrolla un
programa orientado a la lectura de oraciones en inglés y laextracción de
conclusiones a partir de su interpretación, al cual su autor,Robert K. Lindsay,
denomina "Sad Sam". Este podía leer oraciones deltipo "Jim es
hermano de John" y "La madre de Jim es Mary", apartir de ella el
sistema concluía que Mary debía ser también la madre deJohn. Este sistema
representó un enorme paso de avance en la simulación deinteligencia humana por
una máquina, pues era capaz de tomar una pieza deinformación, interpretarla,
relacionarla con información anteriormentealmacenada, analizarla y sacar
conclusiones lógicas. En
el mismo período de tiempo hay trabajos importantes deHerbert Gelernter, de
IBM, quien desarrolla un "Demostrador Automático deTeoremas de la Geometría",
Alex Bernstein desarrolla un programa para eljuego de ajedrez que se considera
el antecedente para "Deep Blue". En
1961 se desarrolla SAINT (Simbolic Automatic INTegrator)por James Slagle el cual
se orienta a la demostración simbólica en el áreadel álgebra. En
1964 Bertrand Raphael construye el sistema SIR (SemanticInformation Retrieval)
el cual era capaz de comprender oraciones en inglés. A
continuación un ejemplo, traducido, de interacción entreSIR y un usuario: Usuario:
Todos somos personas SIR:
Comprendo Usuario: Un
dedo es una parte de la mano SIR:
Comprendo Usuario: Cada
persona tiene dos manos SIR: La oración
anterior es ambigua. Por favorreconstrúyala. Usuario: En
cada persona hay dos manos SIR:
Comprendo Usuario: ¿Cuantos
dedos tiene John? SIR: La oración
anterior es ambigua, pero asumo queTIENE significa TIENE COMO PARTES. No se si
los dedos forman parte de John. Usuario: John
es un chico SIR:
Comprendo Usuario: ¿Cuántos
dedos tiene John? SIR: La oración
anterior es ambigua, pero asumo queTIENE significa TIENE COMO PARTES, ¿cuántos
dedos por mano?. Usuario: Cada
mano tiene cinco dedos. SIR:
Comprendo Usuario: ¿Cuántos
dedos tiene John? SIR: La
respuesta es diez. En
la década del 60 se comienza en el MIT el estudio de lavisión artificial, lo
cual implica no solo captar imágenes a través de una cámara,sino también la
comprensión, de lo que estas imágenes representan. Un
resultado importante en este trabajo lo constituye el"mundo de
micro-bloques", en el cual un robot era capaz de percibir unconjunto de
bloques sobre una mesa, moverlos y apilarlos; el éxito se debió alos
investigadores Larry Roberts, Gerald Sussman, Adolfo Guzman, Max Clowes,David
Huffman, David Waltz, Patrick Winston, y Berthold Horn. Posteriormente
se obtuvieron resultados importantes entreellos el de mayor resonancia fue el
sistema SCHRDLU de Terry Winograd, puespermitía interrogar y dar órdenes a un
robot que se movía dentro de un mundode bloques. A
continuación mostramos un ejemplo traducido:
Usuario: Toma
un bloquerojo. SCHRDLU: Ok. Usuario:
Busca un bloque más pequeño que el quetienes y ponlo dentro de la caja. SCHRDLU:
Asumo que PONLO se refiere al bloque máspequeño que el que tengo. Usuario: ¿Qué
contiene la caja? SCHRDLU: La
pirámide azul y el bloque azul. Usuario: ¿Qué
sostiene a la pirámide? SCHRDLU: La
caja. Usuario: ¿Cuántos
bloques no están sobre la mesa? SCHRDLU:
Cuatro. Usuario: ¿Es
al menos uno de ellos más estrecho queaquel que te dije que recogieras? SCHRDLU: Sí,
el cubo rojo. Usuario: ¿Lo
sostiene algo? SCHRDLU: Sí,
la mesa. Usuario: ¿Puede
la mesa recoger bloques? SCHRDLU: No. Usuario: La
pirámide azul es mía. SCHRDLU:
Comprendo. Usuario:
Todos los bloques que no son rojos son míos,pero no poseo nada que sostenga una
pirámide. SCHRDLU:
Comprendo. Usuario: ¿Poseo
una caja? SCHRDLU: No Usuario: ¿Poseo
algo de la caja? SCHRDLU: Si,
dos cosas: El bloque azul y la pirámideazul. Aunque
parezca impresionante la capacidad del sistema pararazonar y ejecutar acciones,
no se debe perder de vista el hecho que el robot semueve en un mundo muy simple
de figuras geométricas, y que las relaciones entreellas son muy limitadas. En
el mundo real existen tantos objetos diferentes yrelaciones entre ellos, que
tratar de llevar este sistema a un entorno realresulta prácticamente imposible. En
los primeros años de la década del 60 Frank Rosemblattdesarrolla, en la
Universidad de Cornell, un modelo de la mente humana a travésde una red
neuronal y produce un primer resultado al cual llama perceptrón.Este sistema
era una extensión del modelo matemático concebido por McCullock yPitts para
las neuronas, y funcionaba basándose en el principio de"disparar" o
activar neuronas a partir de un valor de entrada el cualmodifica un peso
asociado a la neurona, si el peso resultante sobrepasa uncierto umbral la
neurona se dispara y pasa la señal a aquellas con las que estáconectada. Al
final, en la última capa de neuronas, aquellas que se activendefinirán un patrón
el cual sirve para clasificar la entrada inicial. Este
trabajo constituye la base de las redes neuronales dehoy en día, sin embargo a
raíz de su desarrollo sufrió fuertes críticas porparte de Marvin Minsky y
Seymour Papert lo cual provocó que la mayoría de losinvestigadores interesados
en el tema lo abandonarán, y este no se retomarahasta los años 80. En
1965-70, comenzaron a aparecer los programas expertos, quepredicen la
probabilidad de una solución bajo un set de condiciones, entre esosproyectos
estuvo: DENDRAL, que asistía a químicos en estructuras químicascomplejas
euclidianas; MACSYMA, producto que asistía a ingenieros y científicosen la
solución de ecuaciones matemáticas complejas, etc. En
la década 1970-80, creció el uso de sistemas expertos,muchas veces diseñados
para aplicaciones médicas y para problemas realmentemuy complejos como MYCIN,
que asistió a médicos en el diagnóstico ytratamiento de infecciones en la
sangre. Otros son: R1/XCON, PIP, ABEL, CASNET,PUFF, INTERNIST/CADUCEUS, etc.
Algunos permanecen hasta hoy. De
1975 en adelante, comienza la era de los lenguajesexpertos (shells) como EMYCIN,
EXPERT, OPSS, etc. para luego tratar de que éstossean más amigables y
funcionales. Las
definiciones de Inteligencia Artificial son muchas, peropodría decirse que son
programas que realizan tareas que si fueran hechas porhumanos se considerarían
inteligentes. Estos
programas obviamente corren en un computador y se usan,como por ejemplo, en
control robótico, comprensión de lenguajes naturales,procesamiento de imágenes
basado en conocimientos previos, estrategias dejuegos, etc. reproduciendo la
experiencia que un humano adquiriría y de laforma en que un humano lo haría. Para
clasificar las máquinas como "pensantes", esnecesario definir qué es
inteligencia y qué grado de inteligencia implicaresolver problemas matemáticos
complejos, hacer generalizaciones o relaciones,percibir y comprender. Los
estudios en las áreas del aprendizaje, del lenguajey de la percepción
sensorial han ayudado a los científicos a definir a una máquinainteligente.
Importantes desafíos han sido tratar de imitar el comportamientodel cerebro
humano, con millones de neuronas y extrema complejidad. Características de la InteligenciaArtificial. 1.
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.
Las conclusiones de un programa declarativo no son fijas y
son determinadas parcialmente por las conclusiones intermedias alcanzadas
durante las consideraciones al problema específico. Los lenguajes orientados al
objeto comparten esta propiedad y se han caracterizado por su afinidad con la
Inteligencia Artificial.
La
Inteligencia Artificial incluye varios campos dedesarrollo tales como: la robótica,
usada principalmente en el campoindustrial; comprensión de lenguajes y traducción;
visión en máquinas quedistinguen formas y que se usan en líneas de
ensamblaje; reconocimiento depalabras y aprendizaje de máquinas; sistemas
computacionales expertos. Los
sistemas expertos, que reproducen el comportamientohumano en un estrecho ámbito
del conocimiento, son programas tan variados comolos que diagnostican
infecciones en la sangre e indican un tratamiento, los queinterpretan datos
sismológicos en exploración geológica y los que configurancomplejos equipos
de alta tecnología. Tales
tareas reducen costos, reducen riesgos en la manipulaciónhumana en áreas
peligrosas, mejoran el desempeño del personal inexperto, ymejoran el control de
calidad sobre todo en el ámbito comercial. Diferentes teorías:
Diferentes metodologías:
Este
modelo considera que una neurona puede ser representadapor una unidad binaria: a
cada instante su estado puede ser activo o inactivo.La interacción entre las
neuronas se lleva a cabo a través de sinapsis. Segúnel signo, la sinapsis es
excitadora o inhibidora. El
perceptrón está constituido por las entradasprovenientes de fuentes externas,
las conexiones y la salida. En realidad unperceptrón es una Red Neuronal lo más
simple posible, es aquella donde noexisten capas ocultas. Para
cada configuración de los estados de las neuronas deentrada (estímulo) la
respuesta del perceptrón obedece a la siguiente dinámica:se suman los
potenciales sinápticos y se comparan con un umbral de activación.Esta suma
ponderada es también llamada campo. Si el campo es mayor que unumbral, la
respuesta de la neurona es activa, si no, es inactiva. Con
una arquitectura tan simple como la del perceptrón no sepuede realizar más que
una clase de funciones "booleanas" muysimples, llamadas linealmente
separables. Son las funciones en las cuales losestados de entrada con salida
positiva pueden ser separados de aquellos a salidanegativa por un hiperplano. Un
hiperplano es el conjunto de puntos en el espaciode estados de entrada, que
satisfacen una ecuación lineal. En dos dimensiones,es una recta, en tres
dimensiones un plano, etc. Si
se quieren realizar funciones más complejascon Redes Neuronales, es necesario
intercalar neuronas entre las capas deentradas y de salida, llamadas neuronas
ocultas. Una red multicapas puede serdefinida como un conjunto de
perceptrones,ligados entre si por sinapsis y dispuestos en capas siguiendo
diversasarquitecturas. Una de las arquitecturas más comúnmente usada es
llamada feedforward:con conexiones de la entrada a las capas ocultas y de
éstas hacia la salida. El
funcionamiento de una Red Neuronal es gobernado por reglas de propagaciónde
actividades y de actualización de los estados. I.1. Objetivos de la Investigación enInteligencia Artificial. Los
investigadores en inteligencia artificial se concentranprincipalmente en los
sistemas expertos, la resolución de problemas, el controlautomático, las bases
de datos inteligentes y la ingeniería del software (diseñosde entornos de
programación inteligente). Otros
investigadores están trabajando en el reto delreconocimiento de patrones donde
se espera un rápido progreso en este campo queabarca la comprensión y la síntesis
del habla, el proceso de imágenes y lavisión artificial. Finalmente,
la fundamental investigación sobre larepresentación del conocimiento, la
conceptualización cognoscitiva y lacomprensión del lenguaje natural. Uno
de los principales objetivos de los investigadores eninteligencia artificial es
la reproducción automática del razonamiento humano. El
razonamiento de un jugador de ajedrez no siempre es elmismo que el de un
directivo que se pregunta la viabilidad de fabricar un nuevoproducto. Un niño
jugando con bloques de madera en una mesa no tiene idea de lacomplejidad del
razonamiento necesario para llevar a cabo la construcción deuna pirámide, e
intentar que un robot hiciera lo mismo que el niño requeriríaun largo programa
de computador. Formas de considerar situaciones complejas son:
Estos
dos tipos principales pueden utilizarse de un modo analítico(el razonamiento se
divide en submódulos que son más difíciles de manejar, ode un modo sintético
(inverso del proceso anterior, juntando elementos que sesepararon
anteriormente). La
inducción puede tener lugar cuando se comparansituaciones que son casi
similares, con parámetros desconocidos en una situacióndada asignándole los
valores que tienen ya en una situación de referencia;este es un razonamiento
por analogía. Los
métodos para razonar son variados. La iteraciónsignifica repetir la misma
secuencia de razonamiento hasta que se alcance unacondición de final; la
recursión consiste en una forma particular delrazonamiento que se llama a sí
misma, como aquellas muñecas rusas que estánunas dentro de otras, hasta llegar
a un problema simple que es fácil deresolver. Las
estrategias para el razonamiento pueden hacer uso de laespecialización, la
reducción al absurdo, de la eliminación de caminos pocoprometedores y de la
reducción de las diferencias. En
todos los casos, la organización jerárquica delconocimiento y la segmentación
de los problemas son métodos que se empleansiempre al intentar resolver un
problema complejo. La
función asignada a los sistemas expertos es la derazonar. I.2. Símbolos vs. Métodos Numéricos. El
primer período de la Inteligencia Artificial, llamadosub-simbólico, data de
aproximadamente 1950 a 1965. Este período utilizórepresentaciones numéricas
(o sub-simbólicas) del conocimiento. Aunque lamayor parte de los libros de
Inteligencia Artificial enfatizan el trabajorealizado por Rosenblatt y Widrow
con redes neuronales durante este período, larealidad 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 primitivasy de reglas para la
manipulación de símbolos. El período simbólico seconsidera aproximadamente
comprendido entre 1962 y 1975, seguido por un períododominado por los sistemas
basados en el conocimiento de 1976 a 1988. Sinembargo, en este segundo período
las representaciones simbólicas (por ejemplo,redes semánticas, lógica de
predicados, etc.) siguieron siendo parte centralde dichos sistemas. La
Programación Lógica tiene sus orígenes más cercanos enlos trabajos de J. A.
Robinson que propone en 1965 una regla de inferencia a laque llama resolución,
mediante la cual la demostración de un teorema puede serllevada a cabo de
manera automática. En
la actualidad, la Inteligencia Artificial empieza aextender sus áreas de
investigación en diversas direcciones y trata deintegrar diferentes métodos en
sistemas a gran escala, tratando de explotar almáximo las ventajas de cada
esquema. La
resolución es una regla que se aplica sobre cierto tipode fórmulas del Cálculo
de Predicados de Primer Orden, llamadas cláusulas yla demostración de teoremas
bajo esta regla de inferencia se lleva a cabo porreducción al absurdo. Otros
trabajos importantes de esa época que influyeron en laprogramación lógica,
fueron los de Loveland, Kowalski y Green, que diseña unprobador de teoremas que
extrae de la prueba el valor de las variables para lascuales el teorema es válido. Estos
mecanismos de prueba fueron trabajados con muchoentusiasmo durante una época,
pero, por su ineficiencia, fueron relegados hastael nacimiento de Prolog, que
surge en 1971 en la Universidad de Marsella,Francia. Actualmente,
la programación lógica ha despertado uncreciente interés que va mucho más
allá del campo de la InteligenciaArtificial y sus aplicaciones. Los japoneses,
con sus proyectos de máquinas dela quinta generación, dieron un gran impulso a
este paradigma de programación. La
Lógica de Primer Orden, es uno de los formalismos másutilizados para
representar conocimiento en Inteligencia Artificial. La Lógicacuenta con un
lenguaje formal mediante el cual es posible representar fórmulasllamadas
axiomas, que permiten describir fragmentos del conocimiento y, ademásconsta de
un conjunto de reglas de inferencia que aplicadas a los axiomas,permiten derivar
nuevo conocimiento. El Alfabeto del Lenguaje de la Lógica de Primer Ordencontiene dos tipos
de símbolos:
A
partir de estos símbolos se construyen las expresiones válidasen el Lenguaje
de Primer Orden: los términos y las fórmulas. Un término
es cualquiera de las tresexpresiones siguientes: una constante, por ejemplo, el
número "100",la palabra "alfredo" y la letra "c";
o una variable, porejemplo, "X" o bien una expresión de la
forma"f(t1,...,tn)" donde "f" es un símbolo de función
n-aria yt1,...,tn son términos. Ejemplos de funciones son: f(100,X), padre(Y)
ysucesor(X). Las fórmulas
atómicas o elementales son expresionesde la forma R(t1,...,tn) donde R es un símbolo
de relación n-aria y t1,...,tnson 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 tienefiebre 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órmulaspermiten
afirmar o negar propiedades de éstos o bien establecen las relacionesentre los
objetos del universo. Puede
decirse que la Programación Lógica utiliza la Lógicade Primer Orden como
lenguaje de programación. Prolog es un ejemplo de lenguajebasado 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 dePrimer Orden para
resolver problemas, pues está restringido al uso de ciertaclase de fórmulas
denominadas cláusulas definidas o cláusulas de Horn. Un
programa lógico está formado por un conjunto finito decláusulas de programa
que son hechos o reglas. Por ejemplo: padre(luis,miguel).
hecho Este
programa está formado por cuatro cláusulas deprograma, las tres primeras son
del tipo hecho y definen la relación padre/2 yla cuarta una regla que define la
relación abuelo/2. Nótese el uso de lasvariables X,Y y Z en esta cláusula,
las cuales permiten definir de manerageneral en Prolog la relación "ser
abuelo de", pues la lecturadeclarativa de dicha cláusula es la siguiente:
"Para cualesquiera X,Y,Z secumple que: X abuelo de Y, si X padre de Z y Z
padre de Y". En
Prolog es posible hacer preguntas sobre objetos yrelaciones del dominio y estas
preguntas se formulan como objetivos o metas, queson evaluadas por el intérprete
de Prolog utilizando su mecanismo de inferenciainterno, el cual determina si la
meta a demostrar es una consecuencia lógicadel programa, aplicando reglas de
deducción para obtener la respuesta. Por
ejemplo, del programa anterior, utilizando la cláusulade tipo meta ?abuelo(X,juan),
para preguntar ¿quién es el abuelo deJuan? o bien ¿quiénes son los abuelos
de Juan?, es posible deducir que Luis esabuelo de Juan, aunque implícitamente
no existe en el programa ningún hechoque así lo afirme. 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 darrespuesta a los objetivos
planteados, se basa en el uso de una única regla deinferencia: el Principio de
Resolución. Los
primeros trabajos de prueba automática de teoremasutilizaban la resolución,
aplicada a cláusulas cualesquiera, pero el problemade las deducciones con cláusulas
generales es el gran número de combinacionesposibles para llevar a cabo las
resoluciones. Por
ello Prolog restringe el conjunto de cláusulas, lo quele permite llevar a cabo
una prueba dirigida y, en la mayoría de los casos, conun universo de
posibilidades explorable en tiempo de ejecución. Realmente,
en Prolog se hace uso de una estrategia derefinamiento de dicho principio,
denominada Resolución-SLD, la cual se aplica acláusulas definidas. I.3. Algoritmos. Cuando
una tarea se realiza por medio de un algoritmoperfectamente definido de
almacenamiento, clasificación o cálculo, lo puedehacer un computador. Este
concepto de algoritmo, secuencial, fijo y dedeterminadas operaciones, es incapaz
de manejar problemas donde el camino delrazonamiento es variable y donde deben
afrontarse situaciones diversas sin habersido especificadas. La
Inteligencia Artificial hace uso de un tipo de lenguajediferente como es el caso
de LISP y PROLOG. En
1932, Cannon visualizó la evolución natural como unproceso de aprendizaje.
Alan Turing reconoció, en 1950, que debe haber unaconexión obvia entre el
aprendizaje de máquina y la evolución, y señaló quese 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óndel conocimiento, se
involucra un proceso ciego de variación y supervivenciaselectiva. Los
primeros intentos de aplicar de manera formal la teoríade la evolución, a
problemas prácticos de ingeniería, apareció en las áreasde control de
procesos estadísticos, aprendizaje de máquina y optimización defunciones. Tal
vez el primer intento serio de este tipo se dio en el trabajo querealizaron Box
y sus colegas en 1957, en el desarrollo de una técnica quedenominaron operación
evolutiva, la cual se aplicó a una planta demanufactura, y que se implanto
sobre la base de los votos de un comité de jefestécnicos. Bajo este esquema,
la calidad del producto avanzaba a través demutaciones aleatorias y la selección
era determinada por el comité. Por
su parte, Friedberg intentó, en 1958, hacer que unprograma en lenguaje máquina
se mejorara a sí mismo, seleccionandoinstrucciones que se asociaran más
frecuentemente con un resultado exitoso.Aunque Friedberg nunca mencionó explícitamente
estar simulando la evoluciónnatural, esa es la interpretación más comúnmente
aceptada de su trabajo, y apesar de que tuvo cierto éxito evolucionando
manipuladores de bits ydeterminando las interconexiones de una caja negra de
1400 terminales, lacomunidad de Inteligencia Artificial de la época prestó
poca atención a sutrabajo. Por ejemplo, Minsky lo criticó duramente,
argumentando que una búsquedapuramente aleatoria era mucho mejor que el
algoritmo de Friedberg. El
trabajo de Bremermann, en 1958, se enfocó más a laoptimización, introduciendo
el importante manejo de un valor de aptitud, ydefiniendo a un individuo como una
cadena de símbolos binarios (unos y ceros).Bremermann advirtió, acertadamente,
que la mutación jugaba un papel importanteen la evolución, pues impedía el
estancamiento en mínimos locales. Aunquemuchas de sus ideas se usan hoy en día,
Bremermann cometió el error de tratarde optimizar funciones lineales y
convexas, obteniendo resultadosdecepcionantes, pues sus algoritmos evolutivos
tenían que ser complementadoscon otras heurísticas para converger en una
solución. Hoy sabemos que losalgoritmos evolutivos difícilmente pueden
competir con las técnicastradicionales de optimización en esos dominios. Barricelli
ofreció, en 1954, una de las primerassimulaciones que usaba principios
evolutivos, utilizando los mismosprocedimientos generales que se usan hoy en día
en la disciplina conocida comovida artificial. Sin embargo, en este trabajo, así
como el que Reed realizóposteriormente en 1967, se concluyó que la cruza no
parecía mejorar lavelocidad de la adaptación selectiva, y el operador
primordial era la mutación. Fue
Fogel el que introdujo la primera técnica evolutiva querealmente funcionó más
o menos dentro de los lineamientos actuales de lacomputación evolutiva. Su
programación evolutiva consistía en hacerevolucionar autómatas de estados
finitos por medio de mutaciones. Fogelintrodujo los importantes conceptos de
población y selección, y aunque lasrevisiones iniciales de su trabajo fueron
favorables, algunos investigadores,como Solomonoff, enfatizaron que el método
de Fogel no debía verse en suestado actual (en 1966) como algo particularmente
útil para resolver problemas,a excepción de los más simples posibles.
Solomonoff vio a la programaciónevolutiva como una especie de búsqueda
escalando la colina modelada medianteautómatas, y otros investigadores como
Holland, Kieras, Rada y Lenatcompartieron esa opinión. Otra
técnica evolutiva dirigida particularmente a laoptimización de funciones
continuas de alta complejidad se desarrolló enAlemania, en 1965, por Rechenberg
y Schwefel. Esta técnica, llamada estrategiaevolutiva, se utilizó inicialmente
para resolver problemas de ingeniería quedesafiaban a los métodos de
optimización tradicionales, como el gradienteconjugado, y se basa en la
modificación sistemática de un vector de númerosreales (representando las
variables de decisión del problema) medianteoperadores probabilísticos, usando
ciertos criterios para decidir en quédirección dirigir la búsqueda. La
estrategia evolutiva utiliza como operadorprincipal a la mutación, y en su
versión más reciente usa la cruza comooperador secundario. Aunque
el australiano Fraser propuso, desde fines de los 50,un procedimiento muy
similar al que John Holland llamó planes evolutivos afines de los 60, es al
segundo al que se le suele atribuir la creación de la técnicaque se conoce
como algoritmo genético, a raíz de que Holland publicara ellibro
"Adaptation in Natural and Artificial Systems" en 1975. La
principal diferencia del algoritmo genético con las técnicasantes mencionadas,
es que utiliza la cruza como operador principal y a la mutacióncomo operador
secundario (e incluso opcional). El algoritmo genético, al igualque las redes
neuronales, funciona como una caja negra que recibe ciertasentradas y produce
(tras una cantidad de tiempo indeterminada) las salidasdeseadas. Sin embargo, a
diferencia de éstas, los algoritmos genéticos nonecesitan entrenarse con
ejemplos de ningún tipo, sino que son capaces degenerar sus propios ejemplos y
contraejemplos que guíen la evolución a partirde poblaciones iniciales
totalmente aleatorias. Los
mecanismos de selección del más apto y de reproducciónsexual del algoritmo
genético, son los encargados de preservar las característicasmás adecuadas de
cada individuo a fin de hacer converger a la población ensoluciones óptimas. Los
algoritmos genéticos se distinguen también por noquedar atrapados fácilmente
en mínimos locales, como la mayor parte de las técnicasde búsqueda clásicas,
además de usar operadores probabilísticos másrobustos que los operadores
determinísticos, que las otras técnicas suelenusar. No
obstante, siendo una heurística, tampoco puedengarantizar encontrar siempre la
solución óptima, si bien la experienciaacumulada hasta la fecha parece
demostrar que, cuando se utilizanapropiadamente, pueden proporcionar soluciones
muy aceptables y, en la mayoríade los casos, superiores a las encontradas con
otras técnicas de búsqueda yoptimización. Aunque
aún atacados por algunos sectores de la comunidad deInteligencia Artificial,
los algoritmos genéticos, al igual que las redesneuronales, se han ido ganando
poco a poco, y sobre la base de la efectividad desus resultados en aplicaciones
prácticas, el reconocimiento de losinvestigadores como una técnica efectiva en
problemas de gran complejidad, comolo demuestra un número creciente de
conferencias y publicaciones especializadasalrededor del mundo, en los últimos
años. I.4. Base de Conocimiento. Sistemas Basados enConocimiento. Los
métodos generales desarrollados para la resolución deproblemas y técnicas de
búsqueda al inicio de la era de la InteligenciaArtificial demostraron no ser
suficientes para resolver los problemas orientadosa las aplicaciones, ni fueron
capaces de satisfacer los difícilesrequerimientos de la investigación. A
este conjunto de métodos, procedimientos y técnicas, selo conoce como Inteligencia
Artificial Débil. La principalconclusión que se derivó de este trabajo
inicial fue que los problemas difícilessólo podrían ser resueltos con la
ayuda del conocimiento específico acercadel dominio del problema. La
aplicación de estas ideas dio lugar al desarrollo de losdenominados Sistemas
Basados en Conocimiento (Knowledge Based Systems) yal aparecimiento de la
Ingeniería Cognoscitiva, como una rama de laInteligencia Artificial, que
estudia los sistemas basados en el conocimiento. Ladefinición de un sistema
basado en conocimiento puede ser la siguiente: Es un sistema computarizado capaz de resolver problemas en el dominio en
elcual posee conocimiento específico. La
solución es esencialmente la misma que hubiera dado unser humano confrontado
con idéntico problema, aunque no necesariamente elproceso seguido por ambos
puede ser igual. El
simple concepto dado, puede causar confusión ya quemuchos sistemas basados en
programas convencionales podrían ser incorrectamentecategorizados como sistemas
basados en conocimiento. Esta inconsistencia puedeser aclarada, sobre la base de
tres conceptos fundamentales que distinguen a lossistemas basados en
conocimiento de los programas algorítmicos convencionales yde los programas
generales basados en búsqueda: Inteligencia Artificial débil.
Las características principales son:
Los principales problemas asociados a este método son:
I.4.1 Experiencia, Habilidades y Conocimiento. Los
tipos de experiencia que son de interés en los sistemas basados enconocimiento,
pueden ser clasificados en tres categorías: asociativa, motora yteórica. Los
sistemas basados en conocimiento son excelentes para representar conocimientoasociativo.
Este tipo de experiencia refleja la habilidad heurística o elconocimiento que
es adquirido mayoritariamente, a través de la observación. Puede
ser que no se comprenda exactamente lo que ocurre al interior de unsistema (caja
negra), pero se pueden asociar entradas o estímulos con salidas orespuestas,
para resolver problemas que han sido previamente conocidos. La
experiencia motora es más física que cognitiva. La habilidad seadquiere
fundamentalmente a través del ejercicio y la práctica físicaconstante. Los
sistemas basados en conocimiento no pueden emular fácilmenteeste tipo de
experiencia, principalmente por la limitada capacidad de latecnología robótica. La
experiencia teórica y el conocimiento profundo permite que loshumanos
puedan resolver problemas que no se han visto antes, es decir, no existeuna
posibilidad asociativa. El conocimiento teórico y profundo se adquiere através
de estudio y entrenamiento formal, así como por medio de la resolucióndirecta
de problemas. Debido
a su naturaleza teórica, este conocimiento se puede olvidar fácilmente,a no
ser que se use en forma continua. Al momento, los sistemas convencionalesbasados
en conocimiento tienen muchas dificultades para duplicar este tipo
deexperiencia. Sin embargo, los Sistemas de Razonamiento Basado en Modelosrepresentan
un notable intento de encapsular este conocimiento profundo yrazonar con él. Estructura de los Sistemas Basados en Conocimiento. La
arquitectura de un sistema basado en conocimiento de alguna manera reflejala
estructura cognitiva y los procesos humanos. La primera parte es la memoriade
largo plazo, en la que guarda los hechos (Base de Hechos) y los
conocimientos(Base de Conocimientos) acerca del dominio en el que tiene
experiencia.
Estructura de un sistema basado en conocimiento La
segunda parte es el sistema que realiza la funciónde razonamiento para resolver
problemas (Motor de Inferencia).Finalmente, la tercera parte la conforman
las unidades de entrada y salida quepermiten la comunicación entre el sistema y
su entorno. La
representación del conocimiento determina el desarrollode un sistema experto e
influye en las estrategias de control. Es muy versátil,hay muchas formas de
hacerlo y es complicada la elección. Generalmente laelección está basada en
la intuición o en las especiales circunstancias delproblema. La
primera fase es la adquisición del conocimiento desde unexperto y depende de la
cantidad y de su adecuada representación. Se debenconocer los límites, pues sólo
llegan hasta donde son capaces de resolver unproblema. Esto implica, que tiene
que circunscribirse a un dominio homogéneo. El
lenguaje de programación debe ser adecuado, se usanprincipalmente el LISP y
PROLOG, que difieren de los lenguajes clásicos en quesus reglas (que también
contienen hechos) entran masivamente, y que elprograma, es decir, el motor de
inferencia, encontrará el camino a través dereglas. Por
otra parte, la programación procedural consiste en unacuidadosa descripción de
los algoritmos que marcan el camino de los diferentesprocedimientos y funciones
en los programas. Estos
dos modos de programación son teóricamente iguales,pero en la práctica
difieren. La
programación declarativa es un tipo de programaciónimplantada en los sistemas
expertos y por ciertos lenguajes. La principaldiferencia es que en la
declarativa las reglas se formulan independientemente desu secuencia de aplicación.
El modo en que se ejecutan las reglas correspondeal motor de inferencia y es
independiente de las reglas en sí mismas. En laprogramación procedural, las
reglas se implantan y ejecutan en un ordenestablecido. Las
ventajas en los sistemas expertos es la modularidad, nohay un solo camino para
responder a un problema y son fáciles de leer, lo quesimplifica comprobar su
consistencia. La
representación del conocimiento es esencial eninteligencia artificial y es la
base de la construcción de un sistema experto. Fases en la adquisición del conocimiento:
Tecnología de los Sistemas Basados en Conocimiento. Desde
el punto de vista tecnológico, los Sistemas Basados enConocimiento pueden
presentar varias formas de aplicación: ·
Aislada:
un Sistema Basado en Conocimiento único se relaciona con el entorno.
I.5. Motor de Inferencia. Un
motor de inferencia interpreta y evalúa los hechos en labase de conocimientos
para proveer una respuesta. Este debe ser independientedel conocimiento y de los
hechos. Se puede caracterizar por: El
lenguaje en que ha sido escrito.
No Ordenada: aleatoria, heurística. Ordenada: Encadenamiento hacia adelante (guiado por
los datos, deductivo), encadenamiento hacia atrás (guiado por los
objetivos, inductivo).
Booleana, trivalente, multivalente, difusa. Monotónica o no monotónica. Atemporal o temporal. Lógica de orden 0, orden 0 , orden 1.
Determinístico. Probabilístico. Aproximado. Difuso. En
un sistema experto, dado un estado particular de la basede datos, se deben
reconocer las reglas aplicables y esto se llama filtrado oidentificación de
patrones, operación especialmente larga, ya que muchossistemas realizan una
preselección de las reglas antes de que comience laidentificación propiamente
tal. Es decir, se considera un subconjunto de reglasy entre éstas, las
aplicables. Esto, es lo que se llama restricción. Adicionalmente
puede existir una Base de Datos con informaciónpuntual sobre problemas específicos
anteriormente resueltos por el sistema, yque se usa como información adicional
en el proceso de inferencia. Una
vez que las reglas han sido reconocidas deben serelegidas, dependiendo de la
estrategia de control, que es la selección. Una
vez que las regla han sido elegida ha de ejecutarse. Al
módulo central del sistema experto que maneja estas tresoperaciones se le
denomina motor de inferencia o intérprete de reglas. Haydiversos tipos de
motores de inferencia según los métodos con que se manejanlas tres operaciones
precedentes. Identificación de patrones. Esta
operación determina cuáles son las reglaspotencialmente aplicables en un
estado dado de la base de datos. Hay
ciertos métodos típicos para resolver problemasmediante Inteligencia
Artificial como: descomposición de problemas, inferenciadeductiva, deducción lógica,
etc. No
es necesario que la búsqueda se aplique a todas lasreglas, el sistema de
control puede decidir cuáles no son necesarias a esenivel. El
filtrado significa tener el conocimiento para encontrarlas reglas cuya
precondición se satisfaga. Se debe comparar por tanto laprecondición con la
base de datos. Si es una regla deductiva "si premisaentonces conclusión",
la parte a ser probada de la regla, se llamadisparador o activador (tigger) es
siempre una fórmula bien formada ya sea de lógicaproposicional o de lógica de
primer orden. Puede aplicarse a cualquier hecho. El
único lenguaje que está totalmente basado en el cálculode predicados es el
PROLOG. Los
procesos de identificación de patrones pueden mejorarseexaminando, dentro del
activador de cada regla, primero los predicados con másrestricciones, es decir,
los que tienen el menor número de variables libres.Otra forma de proceder es
que, para cada regla o parte de su activador, seguarda en la memoria el
resultado de las posibles unificaciones para cada partedel activador. Después
de cada ciclo del motor de inferencia, esta memoria seactualiza y se denomina
filtrado por propagación. Ejecución de las reglas. Después
de la fase de filtrado, cuando una regla estáreconocida como aplicable,
teniendo en cuenta la base de datos existente, soloresta ejecutarla. Si hay
varias posibles reglas, la elección la realiza laestrategia de control. La
conclusión de la regla tiene por objeto modificar la basede conocimiento,
creando, modificando o suprimiendo un hecho. La fase de restricción. En
un sistema dirigido por los datos, el filtrado consiste enretener todas las
reglas cuyas premisas son verdaderas teniendo en cuenta loshechos (verdaderos)
presentes en la base de datos. Este sistema funciona enencadenamiento hacia
delante. Si
el sistema es a la vez dirigido por los datos y por losobjetivos, se denomina
mixto. La
restricción también puede estar especificado explícitamentepor el experto
para utilizar reglas dentro de las reglas, es decir, meta reglas.Indica qué
grupo de reglas debe ser retenido, por prioridad, o definir un ordenen los
subconjuntos de las reglas. El
conocimiento puede organizarse en forma de red como en lasredes semánticas
utilizadas en el análisis sintáctico del lenguaje. Su posicióndentro de la
red dirige las restricciones utilizando heurísticas. Estaformulación es
particularmente eficiente si se establece válidamente unaorganización jerárquica
del conocimiento, en este caso existiría una taxonomíade los hechos. Otro
modo de gobernar las restricciones es organizar lasreglas en paquetes o
esquemas, lo que genera una estructura de árbol en reglas,lo que es una
ventaja. Todos
estos modos dependen de la forma en que estárepresentado el conocimiento. La fase de selección. Como
después de las fases anteriores quedan varias reglas sedebe seleccionar una y
luego de procesada el programa debe saber dónde volver. Cuando
hay una o más reglas, se usan dos estrategias: -
La búsqueda en anchura, que elige una, generalmente laprimera y se van
ejecutando por turno antes de comprobar que se ha alcanzado lacondición final.
Si no es así se inicia otro ciclo del motor de inferencia.Este tipo de búsqueda
es exhaustiva y la usa el sistema experto MYCIN.
Cada
una de las estrategias pueden ser irrevocables o avanzarpor prueba y error. Muchos
sistemas efectúan marcha atrás, si no hay reglaaplicable, pero si el sistema
está bajo un control irrevocable se detendrá. Visto
en la práctica, las reglas poseen la siguienteestructura: SI
(CONJUNTO_DE_PREMISAS) ENTONCES CONSECUENCIA o
bien: (CONJUNTO_DE_PREMISAS)
CONSECUENCIA El
CONJUNTO_DE_PREMISAS contiene las cláusulas, osimplemente condiciones, que
deben cumplirse para que la regla pueda ejecutarse,y la CONSECUENCIA
representa el resultado de la ejecución de dicharegla. Un
ejemplo sencillo que ilustra cómo representarconocimiento a través de reglas: Afirmación: Todos los catedráticos son doctores. Representación
Lógica - Matemática:
En
esta representación la variable x constituye el conjuntode todas las personas
posibles, CATEDRÁTICO representa la relación "SERCATEDRÁTICO" y
DOCTOR la de "SER DOCTOR". De esta manera laregla anterior representa
el hecho: Para toda persona x, Si x es catedráticoentonces x es doctor. Representación
en SE:
o
bien: SI
(x ES CATEDRÁTICO) ENTONCES (x ES DOCTOR) En
este caso CATEDRÁTICO y DOCTOR representan de nuevorelaciones que deben estar
representadas sobre el sistema. ¿Cómo representar estas nuevas relaciones?: Como
todo sistema informático los SE pueden operar sobre unconjunto finito de
elementos, para esto es necesario definir el universo detrabajo dentro del cual
probaremos nuestras reglas. Sobre esta base la definiciónde la relación SER
CATEDRÁTICO o CATEDRÁTICO, según sea la representaciónusada, debe hacerse
puntualmente para cada individuo del universo, por ejemplo: CATEDRÁTICO("Mario
Pérez") CATEDRÁTICO("Manuel
Fernández") CATEDRÁTICO("Maria
González") Los
componentes de la relación SER DOCTOR se deducen apartir de la relación SER
CATEDRÄTICO y la regla anterior, por lo que no esnecesario una representación
o definición explícita. La inferencia o extracción de conclusiones: Para
extraer una conclusión, o inferencia, se hacenecesario, antes que nada, saber
el objetivo a satisfacer, o problema aresolver. Este problema se plantea en
forma de objetivo que se toma por el Motorde Inferencia el cual a través de la
activación y encadenamiento de reglastrata de llegar a una solución. Al seguir
con el ejemplo: Objetivo: "Es
Mario Pérez Doctor"? Solución: Al
aplicar la regla: SI (x ES CATEDRÁTICO) ENTONCES (x ESDOCTOR) Se
debe chequear, como precondición de activación, elcumplimiento de la relación: CATEDRÁTICO("Mario
Pérez") Se
debe chequear la base de Axiomas o Afirmaciones: CATEDRÁTICO("Mario
Pérez") existe en la base deaxiomas, por lo que la precondición es
verdadera. Se
dispara la consecuencia y se llega a la conclusión queMario Pérez es doctor. Encadenamientos de reglas: Existen
dos mecanismos fundamentales de encadenamiento dereglas: 1.
Encadenamiento hacia delante: Se
produce cuando el objetivo propuesto al sistema hace quese ejecute una regla, y
la conclusión obtenida permite que se ejecute otra, yasí sucesivamente hasta
llegar a una respuesta, positiva o negativa. El puntofinal se detecta cuando no
se pueden producir más encadenamientos, por ejemplocuando se llega a un axioma. Por
ejemplo: (1).
SI (x ES JEFE_DPTO) ENTONCES (x ES CATEDRÁTICO) (2).
CATEDRÁTICO("Mario Pérez") (3).
CATEDRÁTICO("Manuel Fernandez") (4).
CATEDRÁTICO("Maria Gonzalez") Al
evaluar el objetivo: "Mario Pérez esJefe_Dpto"?, se dispara la regla
(1), la cual a su vez se encadena con la(2), en este momento no se pueden
producir más encadenamientos pues la regla(2) es un axioma. Llegado a este
punto el Motor de Inferencia retrocede y da unarespuesta positiva a la pregunta.
Consiste
en, dado un objetivo, buscar una regla que permitaestablecer dicha conclusión,
el proceso se repite hasta encadenar con la reglacuya conclusión satisfaga el
objetivo propuesto, o se detecte que dichoproblema no se puede resolver
positivamente. Por ejemplo para averiguar si"Mario Pérez es doctor"
se busca un regla que tenga esta afirmaciónen sus consecuencias. Analizando las
reglas anteriores vemos que la regla: (5).
SI (x ES CATEDRÁTICO) ENTONCES (x ES DOCTOR) Satisface
estas condiciones; siguiendo esta regla hacia atrástenemos que buscar una nueva
que permita validar si "Mario Pérez" escatedrático, lo cual se hace
con el axioma (2). Los
encadenamientos constituyen, de esta manera, una de lasherramientas
fundamentales del Motor de Inferencia; el Lenguaje PROLOG solamentesoporta el
encadenamiento hacia atrás, el cual constituye el másfrecuentemente
implementado.
En
la Conferencia de Dartmouth en 1956 donde Newell, Shaw ySimon presentaron sus
programas para demostrar las proposiciones lógicas(Logical Theorist). La
expresión de Inteligencia Artificial la inventó enaquel mismo año John
McCarthy. En
1959-60, aparece un programa demostrador de teoremasbasado en la lógica
proposicional (General Problem Solver, por Newell, Shaw ySimon). La
década comprendida entre 1960-70 vio sentar losprincipios básicos de la
investigación en las estructuras en árbol así comoel movimiento de ideas
empleadas actualmente en la resolución de problemas ylos sistemas expertos. Los
textos de Newell y Simon (1972) y Nillson (1971)marcan el final de este periodo. Los
principales métodos de búsqueda en estructuras en árbol,que todavía se
emplean hoy en los programas de sistemas expertos, estaban yadisponibles en esos
años. Las
primeras aplicaciones se hicieron en problemas fácilesde describir, pero
complejos de resolver, como por ejemplo: juego de ajedrez ydemostración de
teoremas matemáticos. Los
sistemas expertos orientados al servicio derivaron de lanecesidad de resolver
problemas cada vez más complejos, con poca informaciónestructurada y con
resultados probables, donde uno de los caminos era encontrarla mejor solución a
un problema, no necesariamente la única posible. Los
hechos para una base de conocimiento deben ser adquiridosa partir de
experiencias humanas a través de entrevistas y observaciones. Esteconocimiento
es usualmente representada en la forma de reglas "if-then"(reglas
de producción): " si alguna condición es verdadera, entonces lasiguiente
inferencia puede ser hecha (o alguna acción tomada)". La base
deconocimientos de un sistema experto mejor incluye miles de reglas. Un factor
deprobabilidad es con frecuencia unido a las conclusiones de cada regla
deproducción, porque la conclusión no es una certeza. Por
ejemplo, un sistema para el diagnóstico de enfermedadesdel ojo debe indicar,
basado en información que apoye esto, un 90% deprobabilidad de que una persona
tiene glaucoma, y este puede también listarconclusiones con más bajas
posibilidades. Un
sistema experto puede desplegar la secuencia de reglas através de las cuales éste
llega a su conclusión. Trazar el flujo ayuda alusuario para apreciar la
credibilidad de su recomendación y es útil como unaherramienta de aprendizaje
para estudiantes. Los
expertos humanos frecuentemente emplean las reglas heurísticas,o "regla
del pulgar", además de la simple producción de reglas. Porejemplo, un
administrador de crédito puede saber que un solicitante con unahistoria pobre
de crédito, con un registro limpio desde que adquirió un nuevoempleo, puede
actualmente ser un buen sujeto de crédito. Los
sistemas expertos han incorporado tales reglas heurísticase incrementándolas
tienen la habilidad de aprender a partir de la experiencia.Sin embargo, los
sistemas expertos son más bien soporte o apoyo más quereemplazos para los
expertos humanos. II.1. Definición y Antecedentes. Los
sistemas de información proveen apoyo para lasoperaciones o servicios que
organizaciones realizan para la sociedad. Lossistemas son orientados
verticalmente a sectores específicos e industrias, ej.Manufactura, servicios
financieros, publicidad, educación, salud yentretenimiento. Más que dirección
administrativa y funciones administrativas,ellos apoyan actividades y procesos
que son la razón para una existenciaorganizacional (en muchos casos, algún
tipo de actividad manufacturera o eldesarrollo de servicios. Los
sistemas de este tipo varían enormemente, pero ellostienden a caer dentro de
tres tipos principales: manufactura, transacciones y SistemasExpertos. La
meta conceptual de la industria moderna es la manufacturaintegrada por
computador (CIM). Involucra diseño y desarrollo de ingeniería,manufactura,
marketing y ventas, y todo el campo de soporte y servicios. El
diseño asistido por computador (CAD) fue aplicado primeroen la industria electrónica.
Hoy ellos dan forma a las técnicas de modelacióntridimensional para dibujo y
manipulación de objetos sólidos en una pantalla ypara derivar éstos a
programas de diseño de piezas y conjuntos, modelaciónestructural y térmica,
fabricación en máquinas CNC (control numérico). Una
vez que un producto es diseñado, su proceso de producciónpuede ser delineado
usando sistemas de planificación de procesos asistidos porcomputador (CAPP) que
ayuden a seleccionar secuencias de operaciones ycondiciones de maquinado. Los
modelos del sistema de manufactura pueden sersimulado por computadores antes de
que sean construidos. Las funciones básicasde la manufacturación: maquinado,
formado, unión, ensamble e inspección, sonapoyados por el sistema de
manufactura asistida por computador (CAM) y sistemasde manejo de material
automatizado. El sistema de control de inventario buscamantener un óptimo stock
de partes y materiales para controlar el movimientodel inventario, predecir los
requerimientos e iniciar procedimientos de órdenesde compra. La
sofisticación tecnológica de los sistemas de informaciónde manufactura es
impresionante y esto incluye incrementadamente aplicacionesrobóticas, visión
de computador y sistemas expertos. Lo central en el conceptode CIM es una base
de datos integrada que apoya a las empresas manufactureras yes conectada a otras
bases de datos administrativas. En
organizaciones de servicio no-manufacturero el tipo desistemas de información
que prevalece es el que apoya los procesos de transacción. Transacciones
son sets de entradas discretas, suministradaspor usuarios en impredecibles
intervalos, los cuales llaman a la base de datosbuscando, analizando y
modificando. El procesador evalúa el requerimiento yejecuta éste
inmediatamente. Partes de la función de procesamiento pueden serllevadas a un
terminal inteligente que distribuye el requerimiento en la cargacomputacional.
El tiempo de respuesta (el lapso de tiempo entre el final de unrequerimiento y
el comienzo de la respuesta) es una característica importantede este tipo de
sistema de teleproceso en tiempo real. Los
sistemas de transacción por teleproceso constituyen labase de las industrias de
servicio tales como bancarios, seguros, seguridad,transporte y bibliotecas.
Ellos están reemplazando el piso del mayorintercambio comercial de stock del
mundo, conectando la más amplia vía detelecomunicaciones en línea en un
mercado financiero global. De nuevo, locentral en un sistema de transacción es
su base de datos integrada. El
foco del sistema es el recipiente de servicios más que eloperador del sistema.
Debido a esto, un agente viajero local es capaz de planearun itinerario completo
de un viajero: incluyendo las reservaciones en aerolíneas,hoteles, arriendo de
autos, programas culturales y deportivos, e inclusorestaurantes, en cualquier
continente y ajustar éstos al programa y presupuestodel viajero. II.2. Componentes: software de interfaz, base de datos,programa
computacional. Una
relativamente nueva categoría de sistemas de informaciónorientada al servicio
es el sistema experto, llamado así porque su base dedatos guarda una descripción
de habilidades en la toma de decisiones deexperiencias humanas en un estrecho
dominio de procedimientos, tales comointerpretación médica de imagen,
impuestos, diseño de piping, configuraciónde hardware en un sistema de
computadores, equipamiento para repararmalfuncionamientos o, en la preparación
de cerveza. La
motivación para construir sistemas expertos es el deseode replicar el escaso,
in estructurado y quizás el pobremente documentadoconocimiento empírico de
especialistas que de este modo puede ser rápidamenteusado por otros. Un
programa computacional que usa inteligencia artificialresuelve problemas en un
dominio especializado que ordinariamente requiereexperiencia humana. El
primer sistema experto fue desarrollado en 1965 por EdwardFeigenbaum y Joshua
Lederberg de la Universidad de Standford en California, USA.Dendral fue diseñado
para analizar componentes químicos. Los
sistemas expertos ahora tienen aplicaciones comercialesen campos tan diversos
como diagnóstico médico, ingeniería petrolera einversión financiera. Para
realizar tareas de aparente inteligencia, un sistemaexperto recurre a tres
componentes: un software de interfaz, una base deconocimiento y un motor de
inferencia. 1)
El software de interfaz, mediante el cual elusuario formula preguntas a
éste, el sistema experto solicita más informacióndesde el usuario y éste le
explica al usuario el proceso de razonamientoempleado para llegar a una
respuesta. 2)
La base de datos, llamada la base de conocimientoque consiste de axiomas
(hechos) y reglas para hacer inferencias a partir deesos hechos acerca del
dominio del sistema. En
el transcurso de las tres décadas pasadas, la tecnologíapara soportar el
desarrollo de aplicaciones intensivas de datos tuvo una evoluciónde cuatro
generaciones, sistemas de archivos, sistemas de bases de datos jerárquicos,sistemas
de bases de datos en red y sistemas de bases de datos relacionales. Entodos los
casos, la transición de una generación a otra, ha sido motivada porla
necesidad de minimizar los costos de desarrollo (que escalan rápidamente),así
como los de mantenimiento y mejora de programas de aplicación. Los
sistemas convencionales (relacionales y prerrelacionales)han servido para
satisfacer las necesidades de aplicaciones del ambiente para elcual fueron diseñadas,
es decir, de procesamiento de datos en negocios, talescomo control de
inventario, nóminas, cuentas por cobrar, etc. Sin embargo, tanpronto como esta
tecnología abandonó los laboratorios de investigación yregistró su marca en
el mercado, serias limitaciones comenzaron a serexpuestas. Una
variedad de aplicaciones comenzó a ser identificada comodifícil para
implantarse con el uso de sistemas de bases de datos relacionales.Estas nuevas
aplicaciones incluyen diseño asistido por computador, ingenieríade software,
gestión y administración de procesos (CAD, CAE, CASE y CAM),sistemas basados
en conocimiento (sistemas expertos y "shell" parasistemas expertos),
sistemas multimedia que manejan imágenes, gráficas, voz ydocumentos textuales;
modelos estadísticos y científicos y análisis deprogramas, y sistemas de
información geográfica, entre otras. Con
este nuevo esquema se presentan algunas dificultadesatribuibles al modelo de
datos que es una representación lógica de datos,relaciones e interacción
entre los datos . Un lenguaje de base de datos es unasintaxis para representar
un modelo y operaciones con una semántica definidasobre el modelo de datos. Las
aplicaciones requieren, muchas veces: a) facilidades paramodelar y manejar
entidades anidadas complejas (tales como diseño de objetos ydocumentos
compuestos); b) un conjunto sofisticado de tipos de datos, porejemplo, tipos de
datos definidos por el usuario, y tipos grandes pero sinestructura (tales como
imágenes, audio y documentos textuales); c) representaciónde conceptos semánticos
(tales como relaciones de generalización y agregación);d) el concepto de
evolución temporal de datos (por ejemplo, dimensión temporalde datos y
mantener versiones de datos); etc. Por
otra parte, también se presentan importantesdificultades que no están
relacionadas con el modelo de datos. Algunas de estasaplicaciones requieren de cómputo
altamente intensivo, con un gran volumen dedatos en memoria residente, e imponen
demandas de ejecución que no puedenreunir los sistemas administradores de datos
relacionales y de datosprerrelacionales. El ambiente de algunas de las
aplicaciones también requierede transacciones de larga duración (por ejemplo,
el objeto es tan grande que suactualización toma mucho tiempo), transacciones
interactivas y cooperativas. Existen
dos razones principales por las que la metodologíaorientada a objetos es un sólido
fundamento para la nueva generación detecnología de base de datos. Primero,
un modelo de datos orientado a objetos puederepresentar no solamente los datos,
las relaciones y la interacción de datos demodelos de datos convencionales,
sino también permite encapsular los datos yprogramas que operan datos con un
protocolo definido y proporcionan unaestructura uniforme para el trato de tipos
de datos arbitrarios definidos por elusuario. Algunas relaciones en el modelo de
datos, que son difíciles ensistemas de bases de datos convencionales, son
inherentes a un modelo de datosbasados en objetos. Una
segunda razón, es que a través de la noción deencapsulamiento y herencia,
esta metodología está fundamentalmente diseñadapara reducir la dificultad de
desarrollo y evolución de sistemas complejos de"software". Esto fue,
precisamente, la meta que motivó a la tecnologíade administración de datos, a
transformar sistemas de archivos hacia sistemasde bases de datos relacionales. Un
modelo de datos orientado a objetos satisface el objetivo de facilitar eldiseño
y desarrollo de bases de datos complejas, sofisticadas y muy grandes. Pero,
muchos de los productos comerciales comunes poseendistintos grados de calidad en
cuanto a desempeño y funcionalidad. Confrecuencia, los proveedores ofrecen
solamente motores (máquinas) de Bases deDatos con interfaces propietarias para
desarrollo de aplicaciones por losprogramadores; la inclusión de herramientas
de desarrollo está comenzando asurgir. Segundo,
la fuerza de un modelo de datos orientado a objetoses también su debilidad. La
riqueza de este modelo hace posible la generaciónde unos más complejos y sus
relaciones con las aplicaciones de procesamiento dedatos, introducen aspectos
complejos que el usuario debe manejar. Tercero,
no obstante el alto grado de desarrollo yexperimentación en lenguajes de
programación orientados a objetos yaplicaciones, todavía no hay un consenso en
la industria sobre la semántica desu paradigma que vaya más allá de un
conjunto de conceptos de alto nivel sobrela programación orientada a objetos,
por lo que aún no existen estándares enesta tecnología. 3)
El programa computacional, llamado el motor deinferencia, ejecuta el
proceso de hacer inferencias, interpreta y evalúa loshechos en la base de
conocimiento para proveer una respuesta. La
base de conocimiento es una estructura de reglasconectadas que aplica
experiencias humanas, con frecuencia intuitivas, en lasolución de problemas. El
proceso de adquisición de tal conocimiento típicamentetiene tres fases:
Los
resultados de estos pasos son traducidos en una llamadaproducción de reglas (de
la forma "si la condición x existe,entonces la acción y sigue) y
es guardado en la base de conocimiento. Cadenas
de producción de reglas forman las bases para lascapacidades deductivas
automatizadas del sistema experto y para su capacidadpara explicar sus acciones
a los usuarios. Los
sistemas expertos son una variedad comercial de una clasede programas
computacionales llamados sistemas basados en conocimiento. Elconocimiento en
sistemas expertos es altamente in estructurado, esto es, elproceso de solucionar
problemas de un dominio no es manifiesto. Y es establecidoexplícitamente en
relaciones o deductivamente inferidos desde la cadena deproposiciones. Dado
que cada condición que puede ser encontrada puede serdescrita por una regla,
los sistemas expertos basados en reglas no puedenmanejar eventos no anticipados,
pero pueden evolucionar con el uso, y permanecelimitado a un estrecho dominio de
problemas. Otra
variante de sistemas expertos, uno que no posee estalimitación, emplea una base
de conocimiento que consiste de descripcionesestructuradas de situaciones, de
problemas del mundo real y de decisionesactualmente hechas por expertos humanos. En
medicina, por ejemplo, el registro de un paciente contienedescripciones de datos
personales, exámenes físicos y de laboratorio, diagnósticoclínico,
tratamiento propuesto, y los resultados de tales tratamientos. Dada
una gran base de datos con tales registros en unaespecialidad médica, el médico
puede indagar acerca de eventos análogos a losrelacionados con el paciente.
Esto en contraste con el sistema que idealmenteintenta reemplazar al ser humano,
ya que en casos como estos sólo podríausarse este tipo de conocimiento como
una herramienta que ayuda en la toma dedecisiones. El
software requerido para este tipo de sistemas se ha idocomplicando con el tiempo
ya que su desarrollo demanda tiempo, un buen equipo deprogramadores y un buen
producto final. Se percibe este trabajo como una tarea para el ingeniero yconsiste de:
Tareas
típicas para sistemas expertos involucran clasificación,diagnóstico,
monitoreo, diseño, inventario y planificación para esfuerzosespecializados. II.2.1. Tecnologías Involucradas. Lenguajes de Programación En
principio, cualquier lenguaje de programación puede ser utilizado. Siendoasí
de amplio el espectro en el cual se puede escoger un lenguaje paraprogramar un
sistema experto. Atendiendo a la forma de estructurar susinstrucciones, se los
puede dividir en: IMPERATIVOS:
PASCAL, C/C . FUNCIONALES:
LISP. DECLARATIVOS:
PROLOG, CHIP, OPS5. ORIENTADOS
A OBJETOS: SmallTalk, Hypercard, CLOS. Tradicionalmente
LISP y PROLOG han sido los lenguajes que se hanutilizado para la programación
de sistemas expertos. Estos
lenguajes ofrecen características especialmente diseñadas paramanejar
problemas generalmente encontrados en Inteligencia Artificial. Por estemotivo se
los conoce como lenguajes de inteligencia Artificial. Una
de las principales características que comparten los lenguajesLISP y PROLOG,
como consecuencia de su respectiva estructura, es que pueden serutilizados para
escribir programas capaces de examinar a otros programas,incluyendo a ellos
mismos. Esta capacidad se requiere, por ejemplo, para hacerque el programa
explique sus conclusiones. Esto
sólo puede hacerse si el programa tiene la capacidad de examinar supropio modo
de operación. Lisp Su
nombre se deriva de LISt Processor. LISP fue el primer lenguaje
paraprocesamiento simbólico. John McCarthy lo desarrolló en 1958, en el
Institutode Tecnología de Massachusetts (MIT), inicialmente como un lenguaje
deprogramación con el cual los investigadores pudieran implementar
eficientementeprogramas de computadora capaces de razonar. Rápidamente
LISP se hizo popular por su capacidad de manipular símbolos yfue escogido para
el desarrollo de muchos sistemas de Inteligencia Artificial. Actualmente,
LISP es utilizado en varios dominios que incluyen la escriturade compiladores,
sistemas para diseño VLSI, sistemas para diseño mecánicoasistido por
computadora (AUTOCAD), animaciones gráficas y sistemas basados enconocimiento. Prolog PROgramming
in LOGic (PROLOG), es otro de los lenguajes de programaciónampliamente
utilizados en IA. PROLOG fue desarrollado en Francia, en 1973 porAlain
Colmenauer y su equipo de investigación en la Universidad de Marseilles. Inicialmente
fue utilizado para el procesamiento de lenguaje natural, peroposteriormente se
popularizó entre los desarrolladores de aplicaciones de IApor su capacidad de
manipulación simbólica. Utilizando los resultados delgrupo francés, Robert
Kowalski de la Universidad de Edimburgo, en Escocia,desarrolló la teoría de la
programación lógica. La sintaxis propuesta porEdimburgo, se considera el estándar
de facto del PROLOG. A
partir de 1981 tuvo una importante difusión en todo el mundo,especialmente
porque los japoneses decidieron utilizar PROLOG para el desarrollode sus
sistemas de computación de quinta generación. Actualmente existenvarios
dialectos del PROLOG para diferentes plataformas. OPS5 Official
Production System 5 (OPS5), es un lenguaje para ingenieríacognoscitiva que
soporta el método de representación del conocimiento en formade reglas. Incorpora
un módulo unificador, un intérprete que incluye un mecanismo deencadenamiento
progresivo, y herramientas para edición y depuración de losprogramas. OPS5
es un miembro de la familia de lenguajes de programación desarrolladosen la
Universidad Carnegie - Mellon. Varias compañías han
desarrolladoimplementaciones comerciales de OPS5, para diferentes plataformas. Sistemas de Desarrollo Históricamente,
los primeros Sistemas Basados en Conocimiento fuerondesarrollados utilizando
lenguajes de programación como el LISP y el PROLOG. Amedida que el desarrollo
de Sistemas Basados en Conocimiento iba aumentado encantidad y complejidad, la
comunidad científica comenzó a buscar formas dedesarrollar los sistemas en
menor tiempo y con menor esfuerzo. Esto
dio lugar al aparecimiento, en primer lugar a sistemas vacíos como elEMYCIN, a
los que denominó shells, ya que ofrecen toda la arquitectura de unSistema
Basado en Conocimiento a la que hay que incorporar la base deconocimientos. Posteriormente
ingresaron al mercado otras herramientas que incorporaron,además de opciones de
representación del conocimiento, esquemas de inferenciay control. Estas
herramientas tomaron el nombre de Entornos de Desarrollo deSistemas Basados en
Conocimiento. A
continuación se dan algunos ejemplos de sistemas comerciales:
Plataformas
de Computación Íntimamente
asociado a los Sistemas Expertos, están los sistemascomputacionales (Hardware).
Actualmente el software disponible para eldesarrollo de Sistemas Basados en
Conocimiento, cubre todo el rango decomputadoras y sistemas operativos, desde
PC’s hasta máquinas especialmentededicadas para procesamiento simbólico:
II.2.2. Redes Neuronales. Las
Redes Neuronales surgieron del movimiento conexionista,que nació junto con la
Inteligencia Artificial simbólica o tradicional. Estofue hacia los años 50,
con algunos de los primeros ordenadores de la época ylas posibilidades que
ofrecían. La
Inteligencia Artificial simbólica se basa en que todoconocimiento se puede
representar mediante combinaciones de símbolos, derivadasde otras combinaciones
que representan verdades incuestionables o axiomas. Así
pues, la Inteligencia Artificial tradicional asume queel conocimiento es
independiente de la estructura que maneje los símbolos,siempre y cuando la 'máquina'
realice algunas operaciones básicas entre ellos.En contraposición, los
'conexionistas' intentan representar el conocimientodesde el estrato más básico
de la inteligencia: el estrato físico. Creen queel secreto para el aprendizaje
y el conocimiento se halla directamenterelacionado con la estructura del
cerebro: concretamente con las neuronas y lainterconexión entre ellas. Trabajan
con grupos de neuronas artificiales,llamadas Redes Neuronales. La
estructura básica de una neurona natural es:
Éstas
funcionan como sigue:
El
Axón da un nivel eléctrico correspondiente a susentradas y a la importancia
que les da a cada una de ellas. De esta forma, unaneurona puede no reaccionar
ante un nivel muy alto de una de sus entradas, o daruna salida muy favorable
cuando otra de ellas está mínimamente activa. En
las primeras etapas de nuestra vida, cuando realizamos elaprendizaje de nuestros
cerebros, entrenamos nuestras neuronas mediante el éxitoo fracaso de una acción
a unos estímulos sensoriales. Cuando
cierta acción realizada en respuesta a alguna entradasensorial es exitosa (por
ejemplo, al beber agua calmamos la sed), lasconexiones sinápticas entre un
grupo de neuronas se fortalecen, de manera quecuando tengamos una sensación
sensorial parecida, la salida será la correcta.De esta forma se forman fuertes
conexiones entre grupos de neuronas, que puedenservir para realizar otras
acciones complejas. El
esquema de una neurona artificial es:
Esta
neurona funciona de la siguiente manera: cada
entrada x tiene su peso asociado w, que le dará más omenos importancia en la
activación de la neurona. Internamente se calcula lasuma de cada entrada
multiplicada por su peso:
Con
este valor de suma ponderada se calcula una función deactivación, que será la
salida que dará la neurona. Las dos funciones deactivación más usada son el
Escalón y la Sigmoidea:
Principalmente
se diferencian en que la Sigmoidea (llamada asípor su forma de S) es
diferenciable en todos sus puntos y la Escalón no. El Perceptrón unicapa. Un
Perceptrón unicapa no es más que un conjunto de neuronasno unidas entre sí,
de manera que cada una de las entradas del sistema seconectan a cada neurona,
produciendo cada una de ellas su salida individual:
Como
se ha dicho, un conjunto de neuronas no sirve para nadasi previamente no se le
enseña qué debe hacer. Existen
tres métodos de aprendizaje para un Perceptrón:Supervisado, Por Refuerzo y No
Supervisado.
El Perceptrón multicapa. Esta
estructura nació con la intención de dar solución alas limitaciones del
Perceptrón clásico o unicapa, y supuso el resurgimientodel movimiento
conexionista. Como su nombre indica, se trata de un unos cuantos(dos o tres)
perceptrones unicapa conectados en cascada, como en la siguientefigura:
El
problema de este tipo de Perceptrón está en suentrenamiento, ya que es difícil
modificar correctamente los pesos de la capaoculta (la capa 1 en el ejemplo
anterior). Para poder hacer aprender cosas a unPerceptrón de este tipo, se
implementó el algoritmo de BackPropagation,que tal como su nombre
indica tiene la función de ir propagando los erroresproducidos en la capa de
salida hacia atrás. El
proceso de aprendizaje tiene un gran coste de tiempo.Debido a eso, todavía no
se ha estudiado a fondo. Las redes neuronales todavíase han de desarrollar
mucho. Aún se debe estudiar para qué sirven realmente,conocer en qué tareas
pueden resultar realmente útiles, ya que por ejemplo, esdifícil saber cuánto
tiempo necesita una red para aprender cierta tarea, cuántasneuronas se
necesitan como mínimo para realizar cierta tarea, etc. Las
redes neuronales pueden llegar a ser algo realmenteimportante, pero todavía
hace falta tiempo para estudiar cómo almacenan elconocimiento para desarrollar
el hardware paralelo específico que requieren. En
la robótica, las redes neuronales también parecenprometer mucho, sobre todo en
su sensorización, para que el robot sea capaz degeneralizar lo que siente como
estímulos individuales a considerar. II.3. Algunos Casos y Antecedentes Históricos. Los
hitos más importantes en el desarrollo de los sistemasexpertos son: 1928.
John Von Neuman desarrolla su teorema "mínimos ymáximos" utilizado
posteriormente en juegos. 1943.
McCullock y Pitts proponen la arquitectura de redesneuronales para la simulación
de la inteligencia. 1945. Vannevar Bush publica "As
we may think ...",o "Cabría imaginar ... ",
en Atlantic Monthly el cual sienta lasbases de lo que hoy se conoce como
Hipertexto, Multimedia e Hipermedia. 1949.
Shannon desarrolla la Teoría de la Información basefundamental de la Informática
y varias de sus áreas. 1950.
Shannon propone el primer programa de ajedrez . 1950. Turing publica "Computing
machinery andIntelligence". 1956.
Newell, Shaw, y Simon crean "IPL-11" elprimer lenguaje de programación
para IA. 1956.
Newell, Shaw, y Simon crean "The LogicTheorist" para la resolución de
problemas matemáticos. 1957.
Chomsky escribe "estructuras Sintácticas". 1957. Newell, Shaw, y Simon crean
GPS. 1958.
McCarthy introduce el lenguaje "LISP", paraprocesamiento simbólico de
la información. 1959.
Rosenblatt introduce el Perceptron. 1959.
EL programa de ajedrez de Samuel gana juegos contragrandes jugadores. 1963.
ARPA da un fondo de investigación de dos millones de dólaresal laboratorio de
IA del MIT. 1963.
Quillian desarrolla las redes semánticas como modelode representación del
conocimiento. 1963. Minsky escribe "Steps
toward ArtificialIntelligence". 1964.
Bobrow desarrolla STUDENT. 1964.
Se comienza el desarrollo de BBNLisp en BBN. 1965.
Buchanan, Feigenbaum y Lederberg comienzan el proyectoDENDRAL, el primer Sistema
Experto. 1965.
Iva Sutherland hace demostración del primer monitor enforma de casco para
realidad virtual. 1965.
Dreyfus argumenta en contra de la IA. 1968. Minsky publica "Semantic
InformationProcessing". 1969.
Minsky y Papert critican el Perceptron. 1970.
Colmerauer desarrolla PROLOG quizás el lenguaje deInteligencia Artificial más
popular actualmente. 1970. Winograd crea SCHRDLU. 1972. Dreyfus publica "What
Computers Can't Do". 1972.
Se desarrolla el lenguaje SmallTalk en Xerox PARC. 1973.
Shank y Abelson desarrollan los guiones, o scripts,base de muchas técnicas
actuales de la Inteligencia Artificial y la Informáticaen general. 1974.
Edward Shortliffe escribe su tesis con MYCIN, uno delos Sistemas Expertos más
conocidos. 1974. Minsky publica "A
Framework for RepresentingKnowledge". 1974.
Se establece la red SUMEX-AIM para aplicaciones de laInteligencia Artificial en
medicina. 1975.
La DARPA lanza un programa de financiación para elprocesamiento y comprensión
de imágenes. 1976.
Greenblatt crea "CONS" el primer ordenadorcon arquitectura para LISP. 1976.
Lenat introduce su "Automated Matematician". 1978.
Xerox comienza a desarrolla ordenadores LISP. 1979.
Raj Reddy funda el Instituto de Robótica en laUniversidad Carnegie Mellon. 1980.
Primera conferencia de la AAAI (American Association onArtificial Intelligence)
en Stanford, y primera Conferencia de Lisp y programaciónfuncional de la ACM. 1981.
Kazuhiro Fuchi anuncia el proyecto japonés de quintageneración de
computadores. 1981.
El PSL (Portable Standard Lisp) se puede ejecutar sobrevarias plataformas. 1981.
Se construyen máquinas LISP por Xerox, LMI ySimbolics, las cuales soportan
Programación Orientada a Objetos. 1981.
Se sientan las bases del Common Lisp con aspectoscomunes de las familias: Lisp
machine Lisp, MacLisp, NIL, S-1 Lisp, Spice Lisp yScheme. 1982. John Hopfield resucita las
redes neuronales. 1983. Feigenbaum y McCorduck publican
"The FifthGeneration". 1984. Steele publica "Common
Lisp the Language". 1984.
La comunidad europea comienza el programa ESPRIT. 1984. Gold Hill crea el Golden Commom
Lisp. 1985.
General Motors y Campbell's Soup dejan de usar Lisppara sus Sistemas Expertos. 1985.
Se funda el Media Lab en el MIT. 1985. Minsky publica "The
Society of Mind". 1985.
Teknowledge, una compañía dedicada al desarrollo desistemas en Inteligencia
Artificial, abandona Lisp y Prolog por el lenguaje C. 1986.
Primera conferencia de la OOPSLA sobre programaciónorientada a objetos, en la
cual se presenta CLOS, Lisp Orientado a Objetos, comolenguaje independiente de
la comunidad de Lisp e IA. 1986.
IBM desarrolla shells para Lisp, Prolog y Sistemasexpertos y entra a la AAAI. 1986. McClelland y Rumelhart's
publican "ParallelDistributed Processing" (Redes Neuronales). 1986.
Aparecen compañías dedicadas al desarrollo de RedesNeuronales. 1987.
Existen alrededor de 1900 Sistemas Expertos en elmundo. 1987.
Sistema experto XCON de DEC capaz de configurarordenadores realizando el trabajo
de 300 personas, basándose para esto en10.000 reglas. 1987.
Japón establece su sistema AFIS para la identificaciónautomática de huellas
digitales. 1988.
El chip del 386 ofrece una velocidad a los PC’scomparable a la de las máquinas
Lisp. 1988.
Minsky y Papert publican una revisión de"Perceptrons". 1988.
Se establecen los lenguajes Orientados a Objetos. 1988.
La compañía TI anuncia microExplorer una máquinaLisp con tecnología
Macintosh. 1990.
Steele publica la segunda edición de "Common lispthe Language". 1992.
Apple Computer introduce el lenguaje Dylan, de lafamilia Lisp, como su visión
del futuro en la programación. 1992.
X3J13 crea una propuesta para la Sociedad Americana deCommon Lisp. 1994.
La versión para tiempo real del lenguaje CLOS, Lispcon Objetos, de Harlequin se
utiliza en sistema de intercambio de AT&T. II.4. Aplicaciones. Agentes Autónomos Un
agente autónomo es un sistema situado en unentorno y es parte de ese
entorno que siente, actúa sobre él, a través deltiempo, persiguiendo sus
propios objetivos de forma que afecte lo que siente enel futuro. Su autonomía
se puede definir por dos características:
Esta
autonomía implica que sean agentes situados, es decir,que haya una clara
diferencia entre el agente y su entorno. Y la persistencia eindependencia del
entorno permite que algunos agentes sean móviles, llevando subagaje de
información allí donde van, y siguiendo quizás a su usuario . Algunas
aplicaciones. Un
agente, tal como se ha definido anteriormente, puede serusado de múltiples
maneras en el entorno empresarial actual, por ejemplo: Newstracker.Este
programa recupera datos específicos. Cuando
el usuario indica el tipo de información que leinteresa, Newstracker comprende
el mensaje y, después de revisar durante horasmiles de artículos en periódicos,
agencias de noticias o revistas conectadas aInternet, cada mañana
"edita" un periódico personalizado. Si
la selección de noticias no satisface por completo allector, Newstracker toma
nota, rectifica y es capaz de aprender de sus errores.Una vez que haya estudiado
durante cierto tiempo los hábitos de lectura delusuario, le proporciona
información a su medida. Los
expertos definen a este sofisticado programa como un"asistente
polivalente" de la primera generación. Mind-it.Este
servicio gratuito de Internet envía un mensaje por correo electrónicocada vez
que una página web (u otro documento) ha sido actualizado. Permite
seleccionar una parte de la página web para saber siha sido actualizada. Notifica
al usuario, de formaautomática, cuándo un documento ha sido trasladado a otra
dirección. Otroservicio parecido es Informant. Eliza.En
1966, Joseph Weizenbaum, del Instituto de Tecnología de Massachusetts, creóun
programa para estudiar el lenguaje de comunicación entre el hombre y
elcomputador. Fue programado para simular a un psicoterapeuta y
contestarpreguntas. El
sistema Eliza es muy simple: analiza cada pregunta yproporciona una respuesta
adecuada al contexto solicitado. Express.Este
programa permite realizar múltiples búsquedas simultáneas en
diferentesbuscadores, y localizar información en Internet de manera fácil y rápida
através de una interfaz sencilla. BargainFinder,representado
en la red como una esfera amarilla con un casco de minero, sededica a buscar
Compact Disc baratos en Internet. Pero
si el vendedor descubre que se trata de un agente enlugar de un ser humano,
puede burlarlo. Está además, Shopbot que es másinteligente, aprende de su
errores para burlar al vendedor. Mención
aparte merece Letizia,un
knowbot más sofisticado desarrollado por el investigador Henry Lieberman. Leticia,
bautizada así en homenaje a un texto de Jorge LuisBorges, está dotada de un
talento especial: dispone del suficiente grado deautonomía como para introducir
en sus acciones una cierta dosis de azar eimprovisación. III.Robótica. Los
robots son dispositivos compuestos de censores quereciben datos de entrada, una
computadora que al recibir la información deentrada, ordena al robot que efectúe
una determinada acción. Hoy
en día una de las finalidades de la construcción derobots es su intervención
en los procesos de fabricación, encargados derealizar trabajos repetitivos en
las cadenas de proceso de fabricación, comopor ejemplo: pintar al spray,
moldear a inyección, soldar carrocerías de automóvil,trasladar materiales,
etc, entregando rapidez, calidad y precisión. III.1. Nociones y Antecedentes Históricos. La
investigación en esta área nació en la década de 1950asegurando rápidos
avances, pero se estancó por problemas aparentementesencillos: En
1960 se construyó un robot que podía mirar una torre decubos y copiarla, pero
la falta de sentido común lo llevó a hacer la torredesde arriba hacia abajo,
soltando los bloques en el aire. Hoy, los intentos porconstruir máquinas
inteligentes continúan... y prometen maravillas. Hans
Moravec, director de Moville Robot Laboratory de laUniversidad Carnegie Mellon
clasifica la evolución de los robots como sigue:
Las
tres leyes básicas de la robótica enunciadas porAsimov, padre de esta ciencia,
en 1950, son:
Breve Historia de la Robótica.
Robots Impulsados Neumáticamente. La
programación de estos robots consiste en la conexión detubos de plástico a
unos manguitos de unión de la unidad de control neumático.Modificando las
conexiones de los manguitos de unión se podrán programarsecuencias de pasos
distintas. Por
su simpleza hay quienes opinan que a este tipo de máquinasno se les debería
llamar robots; sin embargo, en ellas se encuentran todos loselementos básicos
de un robot: son programables, automáticas y pueden realizargran variedad de
movimientos. Robots Equipados con Servomecanismos. Otro
tipo de robots más sofisticados son los que llevanservomecanismos, el uso de
servomecanismos va ligado al uso de censores, comolos potenciómetros, que
informan de la posición del brazo o la pieza que se hamovido del robot para
asegurar su correcta posición. Robots Punto a Punto. Añadiendo
a los servomecanismos una memoria electrónicacapaz de almacenar programas y un
conjunto de circuitos de control digital, seobtienen robots más potentes y de más
fácil manejo. La
programación de este tercer tipo de robots se efectúamediante una caja de
control que posee un botón de control de velocidad,mediante el cual se puede
ordenar al robot la ejecución de los movimientos pasoa paso. Se clasifican, por
orden de ejecución, los pasos que el robot debeseguir, al mismo tiempo que se
puede ir grabando en la memoria la posición decada paso. Este será el programa
que el robot ejecutará. Una vez terminada laprogramación, el robot inicia su
trabajo según las instrucciones del programa.A este tipo de robots se les llama
punto a punto, porque el camino trazado parala realización de su trabajo está
definido por pocos puntos. Algunas
aplicaciones para estos robots: su uso en las cadenasde soldadura de carrocerías
de automóviles. Los robots están programados parasoldar automóviles de varios
modelos distintos. El programador, o un censor,reconoce el tipo de automóvil y
decide el programa que se ha de aplicar en cadacaso. Robots Controlados por Computadora. Un
cuarto tipo de robots comprende aquellos que se puedencontrolar mediante
computadora. Con ella es posible programar el robot para quemueva sus brazos
describiendo cualquier figura geométrica entre puntospreestablecidos. El
movimiento de sus brazos se especifica mediante variossistemas de coordenadas
según la referencia que se tome. Robots con Capacidades Sensoriales. Aún
se pueden añadir a este tipo de robots capacidadessensoriales: sensores ópticos,
codificadores, etc. Los que no poseen estascapacidades sólo pueden trabajar en
ambientes donde los objetos que semanipulan se mantienen siempre en la misma
posición. En
el caso de la cadena de soldadura de carrocerías de automóviles,las carrocerías
están en movimiento hasta que llegan delante del robot, dondequedan inmóviles
hasta que éste termina su trabajo; en este momento la cadenase vuelve a poner
en movimiento hasta que vuelve a detenerse cuando otracarrocería está delante
del robot. Si estos robots tuvieran capacidadessensoriales, podrían suprimirse
las paradas en la cadena. Los
robots con capacidades sensoriales constituyen la últimageneración de este
tipo de máquinas. El uso de estos robots en los ambientesindustriales es muy
escaso debido a su elevado coste. A pesar de todo, lainvestigación sobre los
aparatos sensoriales está en pleno apogeo, lo queconducirá seguramente a un
abaratamiento de éstos y a un aumento de supotencia y de sus capacidades. Se
usan en cadenas de embotellado para comprobarsi las botellas están llenas o si
la etiqueta está bien colocada. III.2. Aplicaciones Tecnológicas. Un
problema básico en robótica es la planificación de losmovimientos para
resolver alguna tarea ya especificada, y el control del robotmientras ejecuta
las ordenes necesarias para lograr unos objetivos. Aquí,planificar significa
decidir en el transcurso de una acción antes de actuar.Esta parte de la síntesis
de acción del robot constituye un problema que puedeser solucionado por un
sistema de resolución de problemas que alcanzarácualquier fin establecido
cuando se le dé alguna situación inicial. En
la formulación típica de un problema relacionado conrobot nos encontramos con
uno que esta equipado con censores y un conjunto deacciones básicas que pueden
ser llevadas a cabo en un mundo sencillo deentender. Las acciones de los robot
modifican el estado o la configuración deeste mundo. Robots Mosquitos. Descritos
como una "cucaracha metálica" que searrastra con gran destreza por la
arena, un verdadero insecto, Atila avanza a 2km/h, tratando de no tropezar con
las cosas, es «gramo por gramo el robot máscomplejo del mundo», según su
creador, Rodney Brooks. En su estructura de 1,6kg y 6 patas, lleva 24 motores,
10 computadores y 150 censores, incluida una cámarade video en miniatura. Los
descendientes de Atila, que Brooks comienza a diseñar enel Laboratorio de
Inteligencia Artificial del Massachusetts Institute ofTechnology (MIT), tendrán
la forma de «robots mosquitos» mecanismossemiinteligentes de 1 mm de ancho
tallados en un único pedazo de silicio-cerebro, motor y todo-, a un costo de
centavos de dólar por unidad. Provistos
de minúsculos escalpelos, podrán arrastrarse porel ojo o las arterias del
corazón para realizar cirugía. Vivirán en lasalfombras, sacando continuamente
el polvo partícula a partícula. Infinidad deellos cubrirán las casas en vez
de capas de pintura, obedeciendo la orden decambiar cada vez que se quiera el
color. Atila
representa un quiebre con la rama tradicional de laInteligencia Artificial, que
por años buscó un sistema computacional querazone de una manera matemáticamente
ordenada, paso a paso. Brooks incorporóla «arquitectura de substitución» que
utiliza un método de programación «deabajo hacia arriba» en el que la
inteligencia surge por sí sola a través dela interacción de elementos
independientes relativamente simples, tal comosucede en la naturaleza. A
la década de los ochenta pertenecen progresos en robóticaverdaderamente
notables. Una tarea tan simple como la de quitar el polvo con unaaspiradora y
esquivar convenientemente los obstáculos que haya, no se programatan fácilmente
en un robot. El
punto importante es la detección de los obstáculos (queno siempre son los
mismos ni están en el mismo sitio) y la maniobra paraeludirlos y seguir
trabajando con la aspiradora. En
comparación, los robots industriales, que realizanoperaciones muy precisas y a
veces complejas, no plantean tanta dificultad en sudiseño y fabricación. La
razón de ello estriba en la repetición de susrespectivas tareas: limpiar el
polvo del suelo de un salón es más difícil queajustar piezas en una cadena de
montaje de automóviles. La
experimentación en operaciones quirúrgicas con robotsabre nuevos campos tan
positivos como esperanzadores. La cirugía requiere delos médicos una habilidad
y precisión muy calificadas. La asistencia deingenios puede complementar
algunas de las condiciones que el trabajo exige. Enoperaciones delicadísimas,
como las de cerebro, el robot puede aportar mayorfiabilidad. Últimamente,
se ha logrado utilizar estas máquinas pararealizar el cálculo de los ángulos
de incisión de los instrumentos de corte yreconocimiento en operaciones
cerebrales; así mismo, su operatividad seextiende a la dirección y el manejo
del trepanador quirúrgico para penetrar elcráneo y de la aguja de biopsia para
tomar muestras del cerebro. Estos
instrumentos se utilizan para obtener muestras detejidos de lo que se suponen
tumores que presentan un difícil acceso, para loque resulta esencial la
intervención del robot, disminuyendo el riesgo. Una
de las aplicaciones muchos más aprovechadas de la robótica, y que haseguido
maravillando al hombre, es la telerobótica en el espacioextraterrestre. La
organización más importante dentro de este aspecto, y que ha marcado unrumbo
muy avanzado en cuanto a tecnologías e investigaciones, es la NASA(National
Aeronautics and Space Administration). El
Programa de Telerobótica Espacial de la NASA, esta diseñado paradesarrollar
capacidades en telerobótica para la movilidad y manipulación adistancia,
uniendo la robótica y las teleoperaciones y creando nuevas tecnologías. Los
requerimientos de tecnología de la robótica espacial pueden sercaracterizados
por la necesidad del control manual y automático, tareas norepetitivas, tiempo
de espera entre el operador y el manipulador, manipuladoresflexibles con dinámicas
complejas, nueva locomoción, operaciones en elespacio, y la habilidad para
recuperarse de eventos imprevistos. La
robótica ha invadido la mayoría de las actividades cotidianas, muestrade ello,
es la robótica en los medios de esparcimiento, y como ejemplo está elfabuloso
parque de diversiones Disneylandia. En
este parque de diversiones se pueden encontrar una gran variedad deaplicaciones
de la robótica, desde pájaros cantores, elefantes en movimiento,cocodrilos,
osos, hasta simuladores de vuelo, androides, submarinos, etc. IV. Perspectivas Futuras. Con
poco más de diez años de antigüedad, la VidaArtificial se ha convertido en un
punto de referencia sólido de la cienciaactual. 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 Álamospara la
primera conferencia internacional sobre Vida Artificial. En aquellaconferencia
se definieron los principios básicos que han marcado la pauta desdeentonces en
la investigación de esta disciplina. Un
concepto básico dentro de este campo es el de comportamientoemergente.
El comportamiento emergente aparece cuando se puede generar unsistema complejo a
partir de reglas sencillas. Para que se dé estecomportamiento se requiere que
el sistema en cuestión sea iterativo, es decir,que el mismo proceso se repita
de forma continua y además que las ecuacionesmatemáticas que definen el
comportamiento de cada paso sean no lineales. Por
otra parte, un autómata celular consiste en un espacion-dimensional dividido en
un conjunto de celdas, de forma que cada celda puedeencontrarse en dos o más
estados, dependiendo de un conjunto de reglas queespecifican el estado futuro de
cada celda en función del estado de las celdasque le rodean. Hay
dos posturas dentro de la Vida Artificial: la fuerte yla débil. Para
los que apoyan la postura débil, sus modelos sonsolamente representaciones simbólicas
de los síntomas biológicos naturales,modelos ciertamente muy útiles para
conocer dichos sistemas, pero sin mayorespretensiones. Para
los que defienden la versión fuerte, dicen que se puedecrear vida auténtica a
partir de un programa de ordenador que reproduzca lascaracterísticas básicas
de los seres vivos. Desde
este punto de vista, la vida se divide en vidahúmeda, que es
lo que todo el mundo conoce como vida, vidaseca, formada por
autómatas físicamente tangibles, y vidavirtual, formada por
programas de computador. Las dos últimas categoríasson las que integran lo que
genéricamente se conoce como Vida Artificial. Para
defender un punto de vista tan radical, los defensoresde la postura fuerte,
aluden a un conjunto de reglas que comparten las trescategorías anteriores:
La
Vida Artificial no se restringe a la vida húmeda tal comola conocemos, sino que
"se ocupa de la vida tal como podría ser". Labiologí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 lugarde desmenuzarlo en
sus más mínimas partes.
La
Vida Artificial es tal porque son artificiales suscomponentes y son artificiales
porque están construidos por el hombre. Sinembargo, el comportamiento de tales
sistemas depende de sus propias reglas y enese sentido es tan genuino como el
comportamiento de cualquier sistema biológiconatural.
La
vida es un proceso, y es la forma de este proceso, no lamateria, lo que
constituye la esencia de la vida. Es absurdo pretender que sóloes vida genuina
aquella que está basada en la química del carbono, como es elcaso de la vida húmeda.
La
síntesis de la Vida Artificial tiene lugar mejor pormedio de un proceso de
información por computador llamado programación deabajo hacia arriba. Consiste
en partir de unos pocos elementos constitutivos yunas reglas básicas, dejar que
el sistema evolucione por sí mismo y que elcomportamiento emergente haga el
resto. Poco a poco el sistema se organizaespontáneamente y empieza a surgir
orden donde antes sólo había caos. Esta
clase de programación contrasta con el principio deprogramación en la
Inteligencia Artificial. En ella se intenta construir máquinasinteligentes
hechos desde arriba hacia abajo, es decir, desde el principio seintenta abarcar
todas las posibilidades, sin dejar opción a que el sistemaimprovise. El
principio de procesamiento de información en la VidaArtificial se basa en el paralelismo
masivo que ocurre en la vida real. Adiferencia de los modelos de
Inteligencia Artificial en los que el procesamientoes secuencial, en la Vida
Artificial es de tipo paralelo, tal y como ocurre enla mayoría de fenómenos
biológicos. Granja de Evolución. La
evolución en la naturaleza fue la clave para mejorar losorganismos y
desarrollar la inteligencia. Michael Dyer, investigador deInteligencia
Artificial de la Universidad de California, apostó a las característicasevolutivas
de las redes neuronales (redes de neuronas artificiales que imitan
elfuncionamiento del cerebro) y diseñó Bio-Land. Bio-Land
es una granja virtual donde vive una población decriaturas basadas en redes
neuronales. Los
biots pueden usar sus sentidos de la vista, el oído eincluso el olfato y tacto
para encontrar comida y localizar parejas. Los biotscazan en manadas, traen
comida a su prole y se apiñan buscando calor. Lo
que su creador quiere que hagan es hablar entre ellos, conla esperanza de que
desarrollen evolutivamente un lenguaje primitivo. A
partir de ese lenguaje, con el tiempo podrían surgirniveles más altos de
pensamiento. V. Conclusiones. Dentro
del ámbito de las Ciencias de la Computación la InteligenciaArtificial
es una de las áreas que causa mayor expectación, incluso dentrode la sociedad
en general, debido a que la búsqueda para comprender losmecanismos de la
inteligencia, ha sido la piedra filosofal del trabajo de muchoscientíficos por
muchos años y lo sigue siendo. Dentro
de las áreas de la Inteligencia Artificial loque más ha atraído, es el
aprendizaje de máquinas, resultando vital elproceso de emular comportamientos
inteligentes. Que
un sistema pueda mejorar su comportamiento sobre la basede la experiencia que
recoge al efectuar una tarea repetitiva y que además,tenga una noción de lo
que es un error y que pueda evitarlo, resultaapasionante. ¿Pueden
los computadores aprender a resolver problemas apartir de ejemplos? No
hace tanto tiempo esta pregunta bordeaba la ciencia ficción,pero ahora es
objeto de profundos y prometedores estudios. Las
redes de neuronas formales son máquinas que poseen estacapacidad de
aprendizaje. Son máquinas propuestas como modelos extremadamentesimplificados
del funcionamiento del cerebro que sienta las bases de un modelocolectivo, donde
el sistema global presenta propiedades complejas que no puedenpredecirse a
partir del estudio individual de sus componentes. Los
estudios teóricos de redes de neuronas reflejan estosdos aspectos: el de la
modelización de fenómenos cognitivos y el deldesarrollo de aplicaciones. Por
ejemplo para una máquina, la clasificación de rostros,datos médicos o
reconocimiento de letras son tareas difíciles, más que paraun ser humano. La máquina
necesita del aprendizaje, donde el asunto consiste enadaptar los parámetros de
un sistema, en este caso artificial, para obtener larespuesta deseada. Los
métodos tradicionales en Inteligencia Artificial quepermitieron el
desarrollo de los primeros sistemas expertos y otrasaplicaciones, ha ido de la
mano de los avances tecnológicos y las fronteras sehan ido expandiendo
constantemente cada vez que un logro, considerado imposibleen su momento, se
vuelve posible gracias a los avances en todo el mundo,generando incluso una
nueva mentalidad de trabajo que no reconoce fronteras físicasni políticas. Se
entiende como un esfuerzo común. La
comprensión de los mecanismos del intelecto, la cognicióny la creación de
artefactos inteligentes, se vuelve cada vez más una meta quesueño, a la luz de
los enormes logros, tan solo en alrededor de medio siglo dedesarrollo de las
ciencias de la computación y de poner la lógica al serviciode la construcción
de sistemas. Bibliografía. 1.
MIKELL P.
Groover, Robótica Industrial. Mc Graw Hill. 199?.
Autor: David Henao
Articulos relacionados:
|







