- Sistemas Vacíos (shells): EMYCIN,
Crystal, Leonardo, XiPlus, EXSYS, VP-Expert, Intelligence
Compiler. - Entornos híbridos de desarrollo: CLIPS, KEE,
ART, EGERIA, Kappa, Nexpert Object, Goldworks, LOOPS,
Flavors.
Plataformas de
Computación
Íntimamente asociado a los Sistemas Expertos,
están los sistemas computacionales (Hardware). Actualmente
el software disponible para el desarrollo de Sistemas Basados en
Conocimiento, cubre todo el rango de computadoras y
sistemas
operativos, desde PC’s hasta máquinas
especialmente dedicadas para procesamiento
simbólico:
- Computadoras Personales (DOS, OS, Mac, WINDOWS,
UNIX,
LINUX). - Estaciones de trabajo (VMS, UNIX).
- Máquinas simbólicas (LISP,
PROLOG). - Máquinas de arquitectura paralelo.
II.2.2. Redes Neuronales.
Las Redes Neuronales surgieron del movimiento
conexionista, que nació junto con la Inteligencia
Artificial simbólica o tradicional. Esto fue hacia los
años 50, con algunos de los primeros ordenadores de la
época y las posibilidades que ofrecían.
La Inteligencia Artificial simbólica se basa en
que todo conocimiento se puede representar mediante combinaciones
de símbolos, derivadas de
otras combinaciones que representan verdades incuestionables o
axiomas.
Así pues, la Inteligencia Artificial tradicional
asume que el 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 conocimiento desde el estrato más básico de la
inteligencia: el estrato físico. Creen que el secreto para
el aprendizaje y el conocimiento se halla directamente
relacionado con la estructura del cerebro: concretamente con las
neuronas y la interconexión entre ellas. Trabajan con
grupos de
neuronas artificiales, llamadas Redes Neuronales.
La estructura básica de una neurona natural
es:
Para ver el gráfico seleccione la
opción "Descargar" del menú superior
Éstas funcionan como sigue:
Cada neurona puede tener infinitas entradas llamadas
Dendritas que condicionan el estado de
su única salida, el Axón. Este Axón puede ir
conectado a una Dendrita de otra neurona mediante la Sinapsis
correspondiente, de la siguiente manera:
El Axón da un nivel eléctrico
correspondiente a sus entradas y a la importancia que les da a
cada una de ellas. De esta forma, una neurona puede no reaccionar
ante un nivel muy alto de una de sus entradas, o dar una salida
muy favorable cuando otra de ellas está mínimamente
activa.
En las primeras etapas de nuestra vida, cuando
realizamos el aprendizaje de nuestros cerebros, entrenamos
nuestras neuronas mediante el éxito o fracaso de una
acción a unos estímulos sensoriales.
Cuando cierta acción realizada en respuesta a
alguna entrada sensorial es exitosa (por ejemplo, al beber
agua calmamos
la sed), las conexiones sinápticas entre un grupo de
neuronas se fortalecen, de manera que cuando tengamos una
sensación sensorial parecida, la salida será la
correcta. De esta forma se forman fuertes conexiones entre grupos
de neuronas, que pueden servir para realizar otras acciones
complejas.
El esquema de una neurona artificial es:
Para ver el gráfico seleccione la
opción "Descargar" del menú superior
Esta neurona funciona de la siguiente manera:
cada entrada x tiene su peso asociado w, que le
dará más o menos importancia en la
activación de la neurona. Internamente se calcula la suma
de cada entrada multiplicada por su peso:
Para ver la fórmula seleccione la
opción "Descargar" del menú superior
Con este valor de suma ponderada se calcula una
función de activación, que será la salida
que dará la neurona. Las dos funciones de
activación más usada son el Escalón y la
Sigmoidea:
Para ver el gráfico seleccione la
opción "Descargar" del menú superior
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 neuronas no unidas entre sí, de manera que
cada una de las entradas del sistema se conectan a cada neurona,
produciendo cada una de ellas su salida individual:
Para ver el gráfico seleccione la
opción "Descargar" del menú superior
Como se ha dicho, un conjunto de neuronas no sirve para
nada si 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.
- En el Aprendizaje Supervisado se presentan al
Perceptrón unas entradas con las correspondientes
salidas que se quiere éste aprenda. De esta manera la
red primero, calcula la salida que da ella para esas entradas y
luego, conociendo el error que está cometiendo, ajusta
sus pesos proporcionalmente al error que ha cometido (si la
diferencia entre salida calculada y salida deseada es nula, no
se varían los pesos). - En el Aprendizaje No Supervisado, solo se
presentan al Perceptrón las entradas y, para esas
entradas, la red debe dar una salida parecida. - En el Aprendizaje Por Refuerzo se combinan los
dos anteriores, y de cuando en cuando se presenta a la red una
valoración global de como lo está
haciendo.
El Perceptrón multicapa.
Esta estructura nació con la intención de
dar solución a las limitaciones del Perceptrón
clásico o unicapa, y supuso el resurgimiento del
movimiento conexionista. Como su nombre indica, se trata de un
unos cuantos (dos o tres) perceptrones unicapa conectados en
cascada, como en la siguiente figura:
Para ver el gráfico seleccione la
opción "Descargar" del menú superior
El problema de este tipo de Perceptrón
está en su entrenamiento, ya que es difícil
modificar correctamente los pesos de la capa oculta (la capa 1 en
el ejemplo anterior). Para poder hacer aprender cosas a un
Perceptrón de este tipo, se implementó el algoritmo
de BackPropagation, que tal como su nombre indica tiene
la función de ir propagando los errores producidos 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ía se 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, es difícil saber
cuánto tiempo necesita una red para aprender cierta tarea,
cuántas neuronas se necesitan como mínimo para
realizar cierta tarea, etc.
Las redes neuronales pueden llegar a ser algo realmente
importante, pero todavía hace falta tiempo para estudiar
cómo almacenan el conocimiento para desarrollar el
hardware paralelo específico que requieren.
En la robótica, las redes neuronales
también parecen prometer mucho, sobre todo en su
sensorización, para que el robot sea capaz de generalizar
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
sistemas expertos son:
1928. John Von Neuman desarrolla su teorema
"mínimos y máximos" utilizado posteriormente en
juegos.
1943. McCullock y Pitts proponen la arquitectura de
redes neuronales 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
las bases de lo que hoy se conoce como Hipertexto, Multimedia e
Hipermedia.
1949. Shannon desarrolla la Teoría de la
Información base fundamental de la Informática y varias de sus
áreas.
1950. Shannon propone el primer programa de ajedrez
.
1950. Turing publica "Computing machinery and
Intelligence".
1956. Newell, Shaw, y Simon crean "IPL-11" el primer
lenguaje de programación para IA.
1956. Newell, Shaw, y Simon crean "The Logic Theorist"
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", para
procesamiento simbólico de la
información.
1959. Rosenblatt introduce el Perceptron.
1959. EL programa de ajedrez de Samuel gana juegos
contra grandes jugadores.
1963. ARPA da un fondo de investigación de dos
millones de dólares al laboratorio de IA del
MIT.
1963. Quillian desarrolla las redes semánticas
como modelo de representación del conocimiento.
1963. Minsky escribe "Steps toward Artificial
Intelligence".
1964. Bobrow desarrolla STUDENT.
1964. Se comienza el desarrollo de BBNLisp en
BBN.
1965. Buchanan, Feigenbaum y Lederberg comienzan el
proyecto
DENDRAL, el primer Sistema Experto.
1965. Iva Sutherland
hace demostración del primer monitor en
forma de casco para realidad
virtual.
1965. Dreyfus argumenta en contra de la IA.
1968. Minsky publica "Semantic Information
Processing".
1969. Minsky y Papert critican el Perceptron.
1970. Colmerauer desarrolla PROLOG quizás el
lenguaje de Inteligencia 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ática en
general.
1974. Edward Shortliffe escribe su tesis con
MYCIN, uno de los Sistemas Expertos más
conocidos.
1974. Minsky publica "A Framework for Representing
Knowledge".
1974. Se establece la red SUMEX-AIM para aplicaciones de
la Inteligencia Artificial en medicina.
1975. La DARPA lanza un programa de financiación
para el procesamiento y comprensión de
imágenes.
1976. Greenblatt crea "CONS" el primer ordenador con
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
la Universidad Carnegie Mellon.
1980. Primera conferencia de la AAAI (American
Association on Artificial Intelligence) en Stanford, y primera
Conferencia de Lisp y programación funcional de la
ACM.
1981. Kazuhiro Fuchi anuncia el proyecto japonés
de quinta generación de computadores.
1981. El PSL (Portable Standard Lisp) se puede ejecutar
sobre varias plataformas.
1981. Se construyen máquinas LISP por Xerox, LMI
y Simbolics, las cuales soportan Programación Orientada a
Objetos.
1981. Se sientan las bases del Common Lisp con aspectos
comunes de las familias: Lisp machine Lisp, MacLisp, NIL, S-1
Lisp, Spice Lisp y Scheme.
1982. John Hopfield resucita las redes
neuronales.
1983. Feigenbaum y McCorduck publican "The Fifth
Generation".
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
Lisp para 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 de sistemas en Inteligencia Artificial, abandona
Lisp y Prolog por el lenguaje
C.
1986. Primera conferencia de la OOPSLA sobre
programación orientada a objetos, en la cual se presenta
CLOS, Lisp Orientado a Objetos, como lenguaje independiente de la
comunidad de Lisp e IA.
1986. IBM desarrolla shells para Lisp, Prolog y Sistemas
expertos y entra a la AAAI.
1986. McClelland y Rumelhart's publican "Parallel
Distributed Processing" (Redes Neuronales).
1986. Aparecen compañías dedicadas al
desarrollo de Redes Neuronales.
1987. Existen alrededor de 1900 Sistemas Expertos en el
mundo.
1987. Sistema experto XCON de DEC capaz de configurar
ordenadores realizando el trabajo de 300 personas,
basándose para esto en 10.000 reglas.
1987. Japón
establece su sistema AFIS para la identificación
automática de huellas digitales.
1988. El chip del 386 ofrece una velocidad a los
PC’s comparable 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áquina Lisp con tecnología
Macintosh.
1990. Steele publica la segunda edición de
"Common lisp the Language".
1992. Apple Computer introduce el lenguaje Dylan, de la
familia Lisp,
como su visión del futuro en la
programación.
1992. X3J13 crea una propuesta para la Sociedad
Americana de Common Lisp.
1994. La versión para tiempo real del lenguaje
CLOS, Lisp con 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 un entorno y es parte de ese entorno que siente, actúa
sobre él, a través del tiempo, persiguiendo sus
propios objetivos de forma que afecte lo que siente en el futuro.
Su autonomía se puede definir por dos
características:
- primero, que son proactivos, no sólo
actúan respondiendo a una acción del usuario,
sino que también actúan siguiendo sus propios
objetivos. - segundo, que son persistentes, no se pueden
apagar; aun cuando el usuario no está interaccionando
con ellos, los agentes siguen funcionando, recolectando
información, aprendiendo y comunicándose con
otros agentes.
Esta autonomía implica que sean agentes situados,
es decir, que haya una clara diferencia entre el agente y su
entorno. Y la persistencia e independencia
del entorno permite que algunos agentes sean móviles,
llevando su bagaje de información allí donde van, y
siguiendo quizás a su usuario .
Algunas aplicaciones.
Un agente, tal como se ha definido anteriormente, puede
ser usado de múltiples maneras en el entorno empresarial
actual, por ejemplo:
.
Este programa recupera datos específicos.
Cuando el usuario indica el tipo de información
que le interesa, Newstracker comprende el mensaje y,
después de revisar durante horas miles de artículos
en periódicos, agencias de noticias o revistas conectadas
a Internet, cada
mañana "edita" un periódico
personalizado.
Si la selección de noticias no satisface por
completo al lector, 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 del
usuario, 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ónico cada vez que una página web
(u otro documento) ha sido actualizado.
Permite seleccionar una parte de la página
web para saber
si ha sido actualizada.
Notifica al usuario, de forma automática,
cuándo un documento ha sido trasladado a otra
dirección. Otro servicio 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 el
computador. Fue programado para simular a un psicoterapeuta y
contestar preguntas.
El sistema Eliza es muy simple: analiza cada pregunta y
proporciona una respuesta adecuada al contexto
solicitado.
Express.
Este programa permite realizar múltiples
búsquedas simultáneas en diferentes buscadores, y
localizar información en Internet de manera fácil y
rápida a través de una interfaz
sencilla.
BargainFinder,
representado en la red como una esfera amarilla con un
casco de minero, se dedica a buscar Compact Disc baratos en
Internet.
Pero si el vendedor descubre que se trata de un agente
en lugar de un ser humano, puede burlarlo. Está
además, Shopbot que es más inteligente, 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 Luis
Borges, está dotada de un talento especial: dispone
del suficiente grado de autonomía como para introducir en
sus acciones una cierta dosis de azar e
improvisación.
Los robots son dispositivos compuestos de censores que
reciben datos de entrada, una computadora que al recibir la
información de entrada, ordena al robot que efectúe
una determinada acción.
Hoy en día una de las finalidades de la
construcción de robots es su intervención en los
procesos de fabricación, encargados de realizar trabajos
repetitivos en las cadenas de proceso de fabricación, como
por 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 1950 asegurando rápidos avances,
pero se estancó por problemas aparentemente
sencillos:
En 1960 se construyó un robot que podía
mirar una torre de cubos y copiarla, pero la falta de sentido
común lo llevó a hacer la torre desde arriba hacia
abajo, soltando los bloques en el aire. Hoy, los
intentos por construir máquinas inteligentes
continúan… y prometen maravillas.
Hans Moravec, director de Moville Robot Laboratory de la
Universidad Carnegie Mellon clasifica la evolución de los
robots como sigue:
- Primera generación (2000-2010): Robot con
cerebro de lagarto. Requerirán un poder de
cálculo de 1000 MIPs y serán los robots
"mayordomo", experto en desenvolverse en el hogar. - Segunda generación (2010-2020): Robots con
cerebro de mamífero. Capacidad de cálculo de
30.000 MIPs. Su característica más notoria
será el aprendizaje, a diferencia de los rígidos
programas de la primera generación. - Tercera generación (2020-2030): Robots con
cerebro de mono. Capacidad de cálculo de 1.000.000 MIPs
(un billón de operaciones por segundo). Serán
robots capaces de simular las acciones de forma abstracta antes
de realizarlas en su propia mente. - Cuarta generación (2030-2040): Robots con
mente humana. Capacidad de cálculo de 30.000.000 MIPs.
Podrán extraer simulaciones del mundo y razonar sobre
ellas simultáneamente, gracias a su mayor poder de
computación, un gigantesco banco de datos
y programas de razonamiento.
Las tres leyes
básicas de la robótica enunciadas por Asimov, padre
de esta ciencia, en
1950, son:
- un robot no puede hacer daño a un ser humano,
ni permitir, con su actitud
pasiva, que lo sufra - un robot debe obedecer las órdenes que le den
los seres humanos excepto cuando entren en conflicto
con la primera ley - un robot debe proteger su propia existencia siempre
que ello no entre en conflicto con las dos leyes
anteriores.
Breve Historia de la Robótica.
- A mediados del siglo XVIII: J. de Vaucanson
construyó varias muñecas mecánicas de
tamaño humano que ejecutaban piezas de música. - J. Jacquard inventó su telar, que era una
máquina programable para la urdimbre. - 1805 H. Maillardet construyó una muñeca
mecánica capaz de hacer dibujos. - 1946 El inventor americano O. C. Devol
desarrolló un dispositivo controlador que podía
registrar señales eléctricas por medios
magnéticos y reproducirlas para accionar una
máquina mecánica. - 1951 Trabajo de desarrollo con teleoperadores
(manipuladores de control remoto) para manejar materiales
radioactivos. - 1952 Una máquina prototipo de control
numérico fue objeto de demostración en el
Instituto de Tecnología de Massachusetts después
de varios años de desarrollo. Un lenguaje de
programación de piezas denominado APT (Automatically
Programmed Tooling -Herramental Automáticamente
Programado) se desarrolló posteriormente y se
publicó en 1961. - 1954 El inventor británico C. W. Kenward
solicitó una patente para diseño de
robot. - 1954 O. C. Devol desarrolla diseños para
«transferencia de artículos
programada». - 1959 Se introdujo el primer robot comercial por
Planet Corporation. Estaba controlado por interruptores de fin
de carrera y levas. - 1960 Se introdujo el primer robot
«Unimate», basado en la «transferencia de
artículos programada» de Devol. Utilizaba los
principios del control numérico para el control del
manipulador y era un robot de transmisión
hidráulica. - 1961 Un robot Unímate se instaló en la
Ford Motor Company para atender una máquina de
fundición en troquel. - 1966 Tralífa, una firma noruega,
construyó e instaló un robot de pintura por
pulverización. - 1968 Un robot móvil llamado
«Shakey» se desarrolló en SRI (Stanford
Research Institute). Estaba provisto de una diversidad de
censores, incluyendo una cámara de visión y
censores táctiles, y podía desplazarse por el
suelo. - 1971 El «Stanford Arm», un pequeño
brazo de robot de accionamiento eléctrico, se
desarrolló en Stanford University. - 1973 Se desarrolló en SRI el primer lenguaje
de programación de robot del tipo de computadora para la
investigación con la denominación WAVE. Fue
seguido por el lenguaje AL en 1974. Los dos lenguajes se
desarrollaron posteriormente en el lenguaje VAL comercial para
Unimation por Victor Scheinman y Bruce Simano. - 1974 ASEA introdujo el robot IRb6 de accionamiento
completamente eléctrico. - 1974 Kawasaki, bajo licencia de Unimation,
instaló un robot para soldadura
por arco para estructuras de motocicletas. - 1974 Cincinnati Milacron introdujo el robot T3 con
control por computadora. - 1975 El robot «Sigma» de Olivetti se
utilizó en operaciones de montaje, una de las primitivas
aplicaciones de la robótica al montaje. - 1976 Un dispositivo de Remote Center Compliance (RCC)
para la inserción de piezas en la línea de
montaje se desarrolló en los laboratorios Charles Stark
Draper Labs en Estados
Unidos. - 1978 Se introdujo el robot PUMA (Programmable
Universal Machine for Assembly) para tareas de montaje por
Unimation, basándose en diseños obtenidos en un
estudio de la General Motors. - 1978 El robot T3 de Cincinnati Milacron se
adaptó y programó para realizar operaciones de
taladrado y circulación de materiales en componentes de
aviones, bajo el patrocinio de Air Force ICAM (Integrated
Computer-Aided Manufacturing). - 1979 Desarrollo del robot del tipo SCARA (Selective
Compliance Arm for Robotic Assembly) en la Universidad de
Yamanashi en Japón para montaje. Varios robots SCARA
comerciales se introdujeron hacia 1981. - 1980 Un sistema robótico de captación
de recipientes fue objeto de demostración en la
Universidad de Rhode Island. Con el empleo de la visión
de máquina, el sistema era capaz de captar piezas en
orientaciones aleatorias y posiciones fuera de un
recipiente. - 1981 Se desarrolló en la Universidad
Carnegie-Mellon un robot de impulsión directa. Utilizaba
motores
eléctricos situados en las articulaciones del manipulador sin las
transmisiones mecánicas habituales empleadas en la
mayoría de los robots. - 1982 IBM introduce el robot RS-l para montaje, basado
en varios años de desarrollo interno. Se trata de un
robot de estructura de caja que utiliza un brazo constituido
por tres dispositivos de deslizamiento ortogonales. El lenguaje
de robot AML, desarrollado por IBM, se introdujo también
para programar el robot RS-1. - 1983 Informe
emitido sobre la investigación en Westinghouse Corp.
bajo el patrocinio de National Science Foundation sobre un
«sistema de montaje programable-adaptable» (APAS),
un proyecto piloto para una línea de montaje
automatizada flexible con el empleo de robots. - 1984 Varios sistemas de programación fuera de
línea se demostraron en la exposición Robots 8. La operación
típica de estos sistemas permitía que se
desarrollaran programas de robot utilizando gráficos. - 1985. Un robot de la Kawasaki mata a un
mecánico japonés en un mal
funcionamiento. - 1986. El robot jugador de tenis de mesa de Anderson
le gana a un ser humano. - 1986. La máquina de ajedrez HiTech de CMU
compite en un torneo de nivel master. - 1986. La policía de Dallas usa un robot para
entrar en las casas.
Robots Impulsados
Neumáticamente.
La programación de estos robots consiste en la
conexión de tubos 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 programar secuencias de pasos
distintas.
Por su simpleza hay quienes opinan que a este tipo de
máquinas no se les debería llamar robots; sin
embargo, en ellas se encuentran todos los elementos
básicos de un robot: son programables, automáticas
y pueden realizar gran variedad de movimientos.
Robots Equipados con Servomecanismos.
Otro tipo de robots más sofisticados son los que
llevan servomecanismos, el uso de servomecanismos va ligado al
uso de censores, como los potenciómetros, que informan de
la posición del brazo o la pieza que se ha movido del
robot para asegurar su correcta posición.
Robots Punto a Punto.
Añadiendo a los servomecanismos una memoria
electrónica capaz de almacenar programas y un conjunto de
circuitos de
control digital, se obtienen robots más potentes y de
más fácil manejo.
La programación de este tercer tipo de robots se
efectúa mediante 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 paso a
paso. Se clasifican, por orden de ejecución, los pasos que
el robot debe seguir, al mismo tiempo que se puede ir grabando en
la memoria la posición de cada paso. Este será el
programa que el robot ejecutará. Una vez terminada la
programació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 para la
realización de su trabajo está definido por pocos
puntos.
Algunas aplicaciones para estos robots: su uso en las
cadenas de soldadura de carrocerías de automóviles.
Los robots están programados para soldar
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 cada caso.
Robots Controlados por Computadora.
Un cuarto tipo de robots comprende aquellos que se
pueden controlar mediante computadora. Con ella es posible
programar el robot para que mueva sus brazos describiendo
cualquier figura geométrica entre puntos preestablecidos.
El movimiento de sus brazos se especifica mediante varios
sistemas de coordenadas según la referencia que se
tome.
Robots con Capacidades Sensoriales.
Aún se pueden añadir a este tipo de robots
capacidades sensoriales: sensores
ópticos, codificadores, etc. Los que no poseen estas
capacidades sólo pueden trabajar en ambientes donde los
objetos que se manipulan 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,
donde quedan inmóviles hasta que éste termina su
trabajo; en este momento la cadena se vuelve a poner en
movimiento hasta que vuelve a detenerse cuando otra
carrocería está delante del robot. Si estos robots
tuvieran capacidades sensoriales, podrían suprimirse las
paradas en la cadena.
Los robots con capacidades sensoriales constituyen la
última generación de este tipo de máquinas.
El uso de estos robots en los ambientes industriales es muy
escaso debido a su elevado coste. A pesar de todo, la
investigación sobre los aparatos sensoriales está
en pleno apogeo, lo que conducirá seguramente a un
abaratamiento de éstos y a un aumento de su potencia y de sus
capacidades. Se usan en cadenas de embotellado para comprobar si
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 los movimientos para resolver alguna
tarea ya especificada, y el control del robot mientras 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 puede ser
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 con robot nos encontramos con uno que esta equipado
con censores y un conjunto de acciones básicas que pueden
ser llevadas a cabo en un mundo sencillo de entender. Las
acciones de los robot modifican el estado o la
configuración de este mundo.
Robots Mosquitos.
Descritos como una "cucaracha metálica" que se
arrastra con gran destreza por la arena, un verdadero insecto,
Atila avanza a 2 km/h, tratando de no tropezar con las cosas, es
«gramo por gramo el robot más complejo del
mundo», según su creador, Rodney Brooks. En su
estructura de 1,6 kg y 6 patas, lleva 24 motores, 10 computadores
y 150 censores, incluida una cámara de video en
miniatura.
Los descendientes de Atila, que Brooks comienza a
diseñar en el Laboratorio de Inteligencia Artificial del
Massachusetts Institute of Technology (MIT), tendrán la
forma de «robots mosquitos» mecanismos
semiinteligentes 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 por el ojo o las arterias del corazón
para realizar cirugía. Vivirán en las alfombras,
sacando continuamente el polvo partícula a
partícula. Infinidad de ellos cubrirán las casas en
vez de capas de pintura, obedeciendo la orden de cambiar cada vez
que se quiera el color.
Atila representa un quiebre con la rama tradicional de
la Inteligencia Artificial, que por años buscó un
sistema computacional que razone de una manera
matemáticamente ordenada, paso a paso. Brooks
incorporó la «arquitectura de
substitución» que utiliza un método de
programación «de abajo hacia arriba» en el que
la inteligencia surge por sí sola a través de la
interacción de elementos independientes relativamente
simples, tal como sucede en la naturaleza.
A la década de los ochenta pertenecen progresos
en robótica verdaderamente notables. Una tarea tan simple
como la de quitar el polvo con una aspiradora y esquivar
convenientemente los obstáculos que haya, no se programa
tan fácilmente en un robot.
El punto importante es la detección de los
obstáculos (que no siempre son los mismos ni están
en el mismo sitio) y la maniobra para eludirlos y seguir
trabajando con la aspiradora.
En comparación, los robots industriales, que
realizan operaciones muy precisas y a veces complejas, no
plantean tanta dificultad en su diseño y
fabricación. La razón de ello estriba en la
repetición de sus respectivas tareas: limpiar el polvo del
suelo de un salón es más difícil que ajustar
piezas en una cadena de montaje de automóviles.
La experimentación en operaciones
quirúrgicas con robots abre nuevos campos tan positivos
como esperanzadores. La cirugía requiere de los
médicos una habilidad y precisión muy calificadas.
La asistencia de ingenios puede complementar algunas de las
condiciones que el trabajo exige. En operaciones
delicadísimas, como las de cerebro, el robot puede aportar
mayor fiabilidad.
Últimamente, se ha logrado utilizar estas
máquinas para realizar el cálculo de los
ángulos de incisión de los instrumentos de corte y
reconocimiento en operaciones cerebrales; así mismo, su
operatividad se extiende a la dirección y el manejo del
trepanador quirúrgico para penetrar el cráneo y de
la aguja de biopsia para tomar muestras del cerebro.
Estos instrumentos se utilizan para obtener muestras de
tejidos de lo
que se suponen tumores que presentan un difícil acceso,
para lo que resulta esencial la intervención del robot,
disminuyendo el riesgo.
Una de las aplicaciones muchos más aprovechadas
de la robótica, y que ha seguido maravillando al hombre, es la
telerobótica en el espacio extraterrestre.
La organización más importante dentro de
este aspecto, y que ha marcado un rumbo 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 para desarrollar capacidades en
telerobótica para la movilidad y manipulación a
distancia, uniendo la robótica y las teleoperaciones y
creando nuevas
tecnologías.
Los requerimientos de tecnología de la
robótica espacial pueden ser caracterizados por la
necesidad del control manual y
automático, tareas no repetitivas, tiempo de espera entre
el operador y el manipulador, manipuladores flexibles con
dinámicas complejas, nueva locomoción, operaciones
en el espacio, y la habilidad para recuperarse de eventos
imprevistos.
La robótica ha invadido la mayoría de las
actividades cotidianas, muestra de ello,
es la robótica en los medios de esparcimiento, y como
ejemplo está el fabuloso parque de diversiones
Disneylandia.
En este parque de diversiones se pueden encontrar una
gran variedad de aplicaciones de la robótica, desde
pájaros cantores, elefantes en movimiento, cocodrilos,
osos, hasta simuladores de vuelo, androides, submarinos,
etc.
Con poco más de diez años de
antigüedad, la Vida Artificial se ha convertido en un punto
de referencia sólido de la ciencia
actual.
En septiembre de 1987, 160 científicos en
informática, física, biología y otras
disciplinas se reunieron en el Laboratorio Nacional de Los
Álamos para la primera conferencia internacional sobre
Vida Artificial. En aquella conferencia se definieron los
principios básicos que han marcado la pauta desde entonces
en la investigación de esta disciplina.
Un concepto básico dentro de este campo es el de
comportamiento emergente. El comportamiento emergente
aparece cuando se puede generar un sistema complejo a partir de
reglas sencillas. Para que se dé este comportamiento se
requiere que el sistema en cuestión sea iterativo, es
decir, que el mismo proceso se repita de forma continua y
además que las ecuaciones
matemáticas que definen el comportamiento
de cada paso sean no lineales.
Por otra parte, un autómata celular consiste en
un espacio n-dimensional dividido en un conjunto de celdas, de
forma que cada celda puede encontrarse en dos o más
estados, dependiendo de un conjunto de reglas que especifican el
estado futuro de cada celda en función del estado de las
celdas que le rodean.
Hay dos posturas dentro de la Vida Artificial: la
fuerte y la débil.
Para los que apoyan la postura débil, sus modelos
son solamente representaciones simbólicas de los
síntomas biológicos naturales, modelos ciertamente
muy útiles para conocer dichos sistemas, pero sin mayores
pretensiones.
Para los que defienden la versión fuerte, dicen
que se puede crear vida auténtica a partir de un programa
de ordenador que reproduzca las características
básicas de los seres vivos.
Desde este punto de vista, la vida se divide en
vida húmeda, que es lo que todo el mundo
conoce como vida, vida seca, formada por
autómatas físicamente tangibles, y vida
virtual, formada por programas de computador. Las dos
últimas categorías son las que integran lo que
genéricamente se conoce como Vida Artificial.
Para defender un punto de vista tan radical, los
defensores de la postura fuerte, aluden a un conjunto de reglas
que comparten las tres categorías anteriores:
- La biología de lo posible.
La Vida Artificial no se restringe a la vida
húmeda tal como la conocemos, sino que "se ocupa de la
vida tal como podría ser". La biología ha de
convertirse en la ciencia de todas las formas de vida
posibles.
– Método sintético.
La actitud de la Vida Artificial es típicamente
sintética, a diferencia de la biología
clásica, que ha sido mayoritariamente analítica.
Desde este punto de vista, se entiende la vida como un todo
integrado, en lugar de desmenuzarlo en sus más
mínimas partes.
- Vida real (artificial).
La Vida Artificial es tal porque son artificiales sus
componentes y son artificiales porque están construidos
por el hombre. Sin embargo, el comportamiento de tales sistemas
depende de sus propias reglas y en ese sentido es tan genuino
como el comportamiento de cualquier sistema biológico
natural.
- Toda la vida es forma.
La vida es un proceso, y es la forma de este proceso, no
la materia, lo
que constituye la esencia de la vida. Es absurdo pretender que
sólo es vida genuina aquella que está basada en la
química
del carbono, como
es el caso de la vida húmeda.
- Construcción de abajo hacia
arriba.
La síntesis de la Vida Artificial tiene lugar
mejor por medio de un proceso de información por
computador llamado programación de abajo hacia arriba.
Consiste en partir de unos pocos elementos constitutivos y unas
reglas básicas, dejar que el sistema evolucione por
sí mismo y que el comportamiento emergente haga el resto.
Poco a poco el sistema se organiza espontáneamente y
empieza a surgir orden donde antes sólo había
caos.
Esta clase de programación contrasta con el
principio de programación en la Inteligencia Artificial.
En ella se intenta construir máquinas inteligentes hechos
desde arriba hacia abajo, es decir, desde el principio se intenta
abarcar todas las posibilidades, sin dejar opción a que el
sistema improvise.
El principio de procesamiento de información en
la Vida Artificial se basa en el paralelismo masivo que ocurre
en la vida real. A diferencia de los modelos de Inteligencia
Artificial en los que el procesamiento es secuencial, en la Vida
Artificial es de tipo paralelo, tal y como ocurre en la
mayoría de fenómenos biológicos.
Granja de Evolución.
La evolución en la naturaleza fue la clave para
mejorar los organismos y desarrollar la inteligencia. Michael
Dyer, investigador de Inteligencia Artificial de la Universidad
de California, apostó a las características
evolutivas de las redes neuronales (redes de neuronas
artificiales que imitan el funcionamiento del cerebro) y
diseñó Bio-Land.
Bio-Land es una granja virtual donde vive una
población de criaturas basadas en redes
neuronales.
Los biots pueden usar sus sentidos de la vista, el
oído e
incluso el olfato y tacto para encontrar comida y localizar
parejas. Los biots cazan en manadas, traen comida a su prole y se
apiñan buscando calor.
Lo que su creador quiere que hagan es hablar entre
ellos, con la esperanza de que desarrollen evolutivamente un
lenguaje primitivo.
A partir de ese lenguaje, con el tiempo podrían
surgir niveles más altos de pensamiento.
Dentro del ámbito de las Ciencias de la
Computación la Inteligencia Artificial es una de
las áreas que causa mayor expectación, incluso
dentro de la sociedad en general, debido a que la búsqueda
para comprender los mecanismos de la inteligencia, ha sido la
piedra filosofal del trabajo de muchos científicos por
muchos años y lo sigue siendo.
Dentro de las áreas de la Inteligencia
Artificial lo que más ha atraído, es el
aprendizaje de máquinas, resultando vital el proceso de
emular comportamientos inteligentes.
Que un sistema pueda mejorar su comportamiento sobre la
base de 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, resulta apasionante.
¿Pueden los computadores aprender a resolver
problemas a partir 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 esta capacidad de aprendizaje. Son máquinas
propuestas como modelos extremadamente simplificados del
funcionamiento del cerebro que sienta las bases de un modelo
colectivo, donde el sistema global presenta propiedades complejas
que no pueden predecirse a partir del estudio individual de sus
componentes.
Los estudios teóricos de redes de neuronas
reflejan estos dos aspectos: el de la modelización de
fenómenos cognitivos y el del desarrollo 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 para un ser humano. La máquina necesita del
aprendizaje, donde el asunto consiste en adaptar los
parámetros de un sistema, en este caso artificial, para
obtener la respuesta deseada.
Los métodos tradicionales en Inteligencia
Artificial que permitieron el desarrollo de los primeros
sistemas expertos y otras aplicaciones, ha ido de la mano de los
avances
tecnológicos y las fronteras se han ido expandiendo
constantemente cada vez que un logro, considerado imposible en 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ísicas ni políticas.
Se entiende como un esfuerzo común.
La comprensión de los mecanismos del intelecto,
la cognición y la creación de artefactos
inteligentes, se vuelve cada vez más una meta que
sueño, a la luz de los
enormes logros, tan solo en alrededor de medio siglo de
desarrollo de las ciencias de la computación y de poner la
lógica al servicio de la construcción de
sistemas.
- MIKELL P. Groover, Robótica Industrial. Mc
Graw Hill. 199?. - WINSTON, Patrick H., Inteligencia Artificial.
Addison-Wesley Iberoamericana, 3ª ed.,1994. - WINOGRAD, T.A., FLORES, F. Understanding Computers
and Cognition. Norwood, N.J. 1986. - La Computación Evolutiva en el Contexto de la
Inteligencia Artificial. Coello, Carlos. LANIA, A.C., México. - ¿Por Qué Necesitamos Algoritmos
Eficientes? Estivill-Castro, Vladimir. LANIA, A.C.,
México. - La Programación Lógica y el Prolog.
Loyo, Cristina y Olga Padrón. LANIA, A.C.,
México. - Redes de Neuronas y Clasificación. Torres,
Juan Manuel. LANIA, A.C., México. - Principales Direcciones consultadas en
WWW:
David Henao
Página anterior | Volver al principio del trabajo | Página siguiente |