- 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 |