1.1 DEFINICIÓN La Inteligencia Artificial es una rama de la ciencia de la computación que comprende el estudio y creación de sistemas computarizados que manifiestan cierta forma de inteligencia: sistemas que aprenden nuevos conceptos y tareas, sistemas que pueden razonar y derivar conclusiones útiles acerca del mundo que nos rodea, sistemas que pueden comprender un lenguaje natural o percibir y comprender una escena visual, y sistemas que realizan otro tipo de actividades que requieren de inteligencia humana. Como toda disciplina de reciente creación, la IA no se encuentra unificada en términos de objetivos y métodos de investigación. Recientemente, parte de los esfuerzos de los investigadores en esta área se han dedicado a la definición de dichos objetivos y al recuento de las herramientas metodológicas utilizadas hasta ahora. Como resultado de este esfuerzo, que dista mucho de su conclusión, se han definido algunos acuerdos básicos sobre el área y sus estrategias. Por ahora, es suficientemente claro que el objetivo de la IA es el de entender la naturaleza de la inteligencia a través del diseño de sistemas computacionales que la exhiban. En forma más concreta, puede afirmarse que, en lo que ha transcurrido de su corta historia, la IA ha estado dirigida por tres objetivos generales: 1. El análisis teórico de las posibles explicaciones del comportamiento inteligente. 2. La explicación de habilidades mentales humanas. 3. La construcción de artefactos (computadoras) inteligentes. Con estos propósitos en su agenda de investigación, los estudiosos de la IA han recurrido al uso de cuatro diferentes estrategias metodológicas: el desarrollo de tecnologías útiles en esta área, la simulación, el modelamiento, y la construcción de teoría sobre la inteligencia artificial. El desarrollo de tecnologías de computación ha La Inteligencia Artificial y sus Aplicaciones sido una empresa titánica que los ingenieros en electrónica han tomado en sus manos, sin embargo, sólo una pequeña parte de lo que se conoce como ciencia de la computación puede incluirse dentro de la IA. No existe todavía un criterio preciso con el cual distinguir cuándo un sistema computacional es un sistema de IA, pero el acuerdo general es que cualquier máquina que desempeñe una función mental que tendría que ser realizada por una inteligencia humana es un ejemplo de IA. La simulación que se hace en IA ha intentado reproducir algunas de las características inteligentes de los seres humanos. Estas reproducciones han buscado abiertamente la similitud entre una computadora y los seres humanos. La elaboración de simulaciones ha sugerido la posibilidad de explorar los procesos cognoscitivos humanos, sin embargo los esfuerzos en esta línea, a diferencia del modelamiento, han estado dedicados a producir comportamiento humano inteligente en las computadoras más que a entenderlo o explicarlo. El modelamiento, por otra parte, tiene como objeto la utilización de los sistemas de IA para entender a la inteligencia humana. Ha sido tradicionalmente utilizado por psicólogos y no tiene como requisito necesario el uso de computadoras, De hecho, muchas de las teorías sobre cognición han utilizado modelos en computadoras sin hacer referencia a ellas, por ejemplo, la teoría sobre memoria semántica o sobre representación mental. Finalmente, el trabajo teórico en IA ha abierto por primera vez la posibilidad de teorizar sobre la inteligencia sin hacer necesariamente referencia a la inteligencia humana. Es decir, se ha propuesto la formulación de una teoría de la inteligencia "pura". 2 La Inteligencia Artificial y sus Aplicaciones 1.2 HISTORIA El nacimiento real de la IA se produce para el año 1950, cuando Norbet Wiener desarrolló el principio de la retroalimentación. Esta técnica consiste, por ejemplo, en la tecnología del termostato, comparar la temperatura actual del entorno con la deseada y, según los resultados, aumentarla o disminuirla. En 1955 Newell y Simon desarrollan la Teoría de la lógica la cual permitió desarrollar un programa que exploraba la solución a un problema utilizando ramas y nudos, seleccionando únicamente las ramas que más parecían acercarse a la solución correcta de los problemas siendo éste el primer programa inteligente basado en su modelo de procesamiento de información Basándose en los estudios sobre memoria asociativa, el equipo Newell-Shaw-Simon construyó los primeros lenguajes de procesamiento de información (IPL-I, IPL-II) utilizados en el diseño de su "Logic Theorist Machine" que se convirtió en la primera máquina "inteligente". Esta máquina fue capaz no sólo de memorizar y aprender, sitio que consiguió demostrar de una manera original y "creativa", es decir no prevista por sus creadores, algunos de los teoremas propuestos por Bertrand Russell en los Principios (Russell and Whitehead, 1925). En el año 1957 aparece la primera versión de “The General Problem Solver” (GPS), un programa capaz de solucionar problemas de sentido común. El GPS utilizaba la teoría de la retroalimentación de Wiener. Desde sus orígenes la IA se relacionó con juegos como el ajedrez y las damas, probablemente debido a que los juegos de mesa constituyen modelos de situaciones reales en las que hay que calcular, solucionar problemas, tomar decisiones, corregir errores, recordar, etc. A pesar de que esta línea de investigación ha sido casi totalmente abandonada en la actualidad, muchos de los avances teóricos y metodológicos de la IA se deben a ella. Por ejemplo, Samuel diseñó en 1961 un programa que jugaba damas y que era capaz de aprender de sus errores, es decir, era capaz de adaptar su comportamiento en relación con eventos pasados. Lo más controversial de este programa 3 La Inteligencia Artificial y sus Aplicaciones fue que, aunado a su capacidad de aprendizaje la de memoria, con el tiempo consiguió derrotar invariablemente a su creador. Hacia mediados de los sesenta la IA se convierte en un área en la que se interesan e interactúan especialistas de diversas disciplinas: lógicos, psicólogos, matemáticos, lingüistas, filósofos, etc. Uno de los grandes temas de IA en esta década fue el estudio del lenguaje. En la mayoría de los estudios iniciales sobre el lenguaje, se atacó el problema de diseñar una máquina que fuera capaz de traducir de un idioma a otro. El énfasis se hizo en el análisis de la sintaxis, en lugar del significado, estrategia que se abandonó relativamente pronto. Los investigadores interesados en esta área de la IA pronto descubrieron que traducción no es lo mismo que transformación, y que, como consecuencia de ello, de alguna manera la máquina tendría que "entender" un texto antes de poder traducirlo. Los esfuerzos se orientaron hacia una definición de la comprensión que pudiera simularse en una computadora. Ya en el año 1970 se produce el advenimiento de los Sistemas Expertos. Los Sistemas Expertos se han utilizado para ayudar a los médicos a diagnosticar enfermedades e informar a los mineros a encontrar vetas de mineral. Al mismo tiempo, en 1970. David Marr propone nuevas teorías sobre la capacidad de reconocimiento visual de las diferentes máquinas Para el 1986 las ventas de hardware y software relacionados con la IA se contabilizan por 425,000.00 millones de dólares. Compañías como DuPont, General Motors, y Boeing utilizan sistemas expertos a principios de la década de los 80 y éstos sistemas expertos se convertirán en un standard a finales de la misma. En los 90 la IA fue utiliza de forma efectiva en la Guerra del Golfo sobre sistemas de misiles visores, los soldados y otros. 4 La Inteligencia Artificial y sus Aplicaciones 1.3 ELEMENTOS DE LA INTELIGENCIA ARTIFICIAL En verdad, la inteligencia artificial consiste en la asimilación de los procesos inductivos y deductivos del cerebro humano. Este intento de imitación se enfrenta a duras restricciones del hardware. Una computadora no es un cerebro; su complejidad electrónica se encuentra a una distancia abismal de la superior complejidad neurológica cerebral. La inteligencia artificial acepta el reto de la imitación de los procesos del cerebro aplicando mucho ingenio para aprovechar los medios de que se dispone y que se elaboran. Sea cual sea la aplicación de que se trate, la lA se sustenta sobre los dos elementos siguientes: 1. Estrategias de comportamiento inteligente. 2. Saber. Estos elementos forman una construcción coherente: son forma y contenido, estructura y materia. El primer elemento es el de las estrategias de comportamiento inteligente; se conjuga en la disposición de reglas para formular buenas inferencias o conjeturas y, también, en su utilidad para la búsqueda de una solución a la cuestión o tarea planteada. De esta forma, las estrategias son la parte estructural o formal. Por oposición, el segundo elemento significa lo material o el contenido, y, por tanto, varía en cada caso de un modo más profundo; se trata del saber. En realidad, no se puede pretender reunir el saber, sino los saberes. Por ejemplo, cada sistema experto posee en memoria todos los conocimientos distintivos que tendría un especialista en la materia, sea un médico, un abogado o un químico. El saber que se recoge tiene un carácter especializado y alcanza un volumen conceptual considerable. 5 La Inteligencia Artificial y sus Aplicaciones 1.4 NIVELES DE LA INTELIGENCIA ARTIFICIAL La estructura que presenta un sistema de información inteligente consta de tres niveles perfectamente integrados en una súper arquitectura microelectrónica. Son tres niveles que cubren desde la relación exterior hasta la profunda organización interior. Éstos son: 1. Nivel externo. Sirve para relacionar a la máquina con el medio y el ser humano. Este nivel está integrado por el tratamiento del lenguaje natural y el tratamiento de faz imágenes. Con estos instrumentos la máquina percibe inteligentemente las señales que se le envían sin codificación especial, y adquiere un conocimiento. 2. Nivel medio. En él se halla el sistema de resolución de problemas. La instrumentalización de esa capacidad se realiza mediante los sistemas expertos, que se configuran merced a unas estrategias de operación y una base de conocimientos orgánicamente relacionados. 3. Nivel profundo. Este último nivel corre paralelo a las funciones más profundas del cerebro. En él se sitúa, como proyecto, la capacidad de «aprender» automáticamente de la máquina. Tal proceso se concibe como la interpretación de diversas experiencias y su organización adecuada para ser utilizada en su caso. Finalmente, el nivel profundo está constituido por la base de conocimientos generales y la flexibilidad para ampliarse por sí misma. 1.5 BIOCHIPS En la oficina del científico Masuo Aizawa, del Instituto de Tecnología de Tokio, nada llama demasiado la atención, excepto una placa de vidrio que flota en un recipiente lleno de un líquido transparente. Se trata de un chip que parece salpicado con barro. Los grumos alargados del chip de Aizawa no son manchas, sino ¡células neurales vivas, criadas en el precursor de un circuito electrónicobiológico: el primer paso hacia la construcción neurona por neurona, de un cerebro semiartificial. 6 La Inteligencia Artificial y sus Aplicaciones En el futuro se podría utilizar el chip neuronal de Aizawa como interfaz entre la prótesis y el sistema nervioso de pacientes que hubieran perdido una extremidad. Si continúa el uso de células vivas en sistemas eléctricos, en los próximos años casi con toda seguridad ocurrirá el advenimiento de dispositivos computacionales que, aunque rudimentarios, serán completamente bioquímicos. 1.6 GRANJA DE EVOLUCION La evolución en la naturaleza fue la clave para mejorar los organismos y desarrollar la inteligencia. Michael Dyer, investigador de IA de la U de California, apostó a las características evolutivas de las redes neurales (redes de neuronas artificiales que imitan el funcionamiento del cerebro) y diseñó la Bio-Land, 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; tiene 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. 1.7 ¿PUEDE PENSAR UNA MAQUINA? Esta pregunta tan simple plantea unos problemas tan grandes que, posiblemente, nunca se llegue a un acuerdo completo entre las distintas respuestas que se proponen. Bajo la pregunta de si las máquinas piensan o pueden pensar se cobija una dilatada historia de discusiones que no ha llegado a su fin y que, muy probablemente, perderá interés antes de llegar a una respuesta satisfactoria. Los más brillantes científicos han intervenido en la polémica para intentar sentenciar la cuestión. Turing, Von Neumann o Lucas son algunos de estos nombres famosos. 7 La Inteligencia Artificial y sus Aplicaciones Tiempo atrás, considerar que las máquinas pudieran tener inteligencia parecía un absurdo, una estupidez infantil. Posteriormente, a medida que los progresos de la investigación cambiaban el panorama tecnológico, también cambió la actitud y se atribuyó un valor especifico al problema teórico. Con ello se descubrió que la hipótesis de una inteligencia mecánica, artificial o simulada, abría nuevas interrogantes. La más seria de estas interrogantes se refería a la verdadera realidad de la inteligencia humana: ¿Qué rasgos fundamentales distinguen a los seres inteligentes y cómo operan biológicamente los procesos cognitivos? Esta nueva pregunta ha conducido a investigar una inadvertida laguna del saber humano. Con ello se ha visto que el ser humano, hasta el momento, se ha ocupado más de los resultados de su inteligencia que de los sutiles procesos y relaciones que la hacen posible. Estas relaciones y procesos atañen a la biología y a la lógica, lo que, en términos computacionales, puede traducirse como los ámbitos del hardware y el software. 1.8 OBJETIVOS DE LA INTELIGENCIA ARTIFICIAL Diseñar y construir aplicaciones computacionales de nivel superior. Resolver problemas difíciles. Generar herramientas para la construcción de aplicaciones de inteligencia artificial. Ayudar a los expertos a analizar y diseñar. Generar máquinas que faciliten la construcción de aplicaciones de inteligencia artificial. 8 La Inteligencia Artificial y sus Aplicaciones 1.9 ¿QUE PUEDEN HACER LAS COMPUTADORAS DENTRO DEL ÁREA DE LA INTELIGENCIA ARTIFICIAL? Resolver Problemas difíciles: Es conocido que las computadoras pueden realizar cálculos aritméticos a increíble velocidad, actualmente no es extraño ver programas que realicen cálculo de integrales y mucho más, como la resolución de problemas mecánicos. Ayudar a los Expertos a Analizar y Diseñar: Algunos programas sirven para auxiliar a los médicos al analizar ciertos tipos de enfermedades, otros para entender el funcionamiento de circuitos electrónicos y otros más nos auxilian en la configuración de los módulos que conforman sistemas complejos de equipo de computo. Entender Inglés Sencillo: Para el ser humano la manera natural de comunicarse es a través del lenguaje. Esto es lo que ha motivado un gran interés por desarrollar esta misma habilidad en las computadoras. Para el entendimiento de un lenguaje natural escrito como el inglés se puede utilizar, entre otras, la técnica de palabras clave, esta técnica intenta inferir el significado de la comunicación a partir del propio significado de las palabras claves. Esta técnica ha probado su ineficiencia en contextos donde las palabras claves utilizadas pueden tener múltiples significados. Entender Imágenes Simples: Computadoras equipadas con los dispositivos adecuados (cámaras de TV etc.), pueden ver lo suficiente para tratar con un espacio limitado, los objetos que ahí se encuentran y la relación que guarda uno con respecto del otro. Ayudar a Manufacturar Productos: Actualmente máquinas de propósito específico auxilian en trabajos que el hombre considera peligroso, aburrido, o poco remunerado. El pasar de máquinas de propósito especifica a robots inteligentes, requiere de agregar muchas capacidades, una de ellas es la de razonar acerca del movimiento en tres dimensiones, tal como el requerido para mover una caja de un estante a otro en un almacén. 9 La Inteligencia Artificial y sus Aplicaciones 1.10 ¿CÓMO SABREMOS CUANDO TENGAMOS ÉXITO AL CONSTRUIR UN PROGRAMA INTELIGENTE? En 1950 Alan Turing propuso la PRUEBA de TURING cuyo principio se basa en lo siguiente: “Cuando la combinación de Software y Hardware nos dé como resultado el que personas normales en nuestra sociedad no puedan determinar si quien ha estado respondiendo a sus preguntas es un ser humano o una computadora, entonces podremos decir que hemos logrado el objetivo de construir un programa inteligente”. La prueba de TURING es un procedimiento bien conocido para evaluar el éxito de un programa de IA. Consiste en que un Entrevistador se comunica vía textual de entrada y salida, con un sistema de IA y con otra persona que participa en la prueba; el entrevistador no se da cuenta cuál respuesta viene del computador y cuál de la otra persona, si después de hacer suficientes preguntas el entrevistador no puede diferenciar entre el hombre y la máquina, entonces el sistema pasa la prueba y se estima que es exitoso. Lamentablemente, ningún sistema de IA existente podría pasar una prueba de Turing verdaderamente y no es probable que tal sistema exista en un futuro cercano. 1.11 APLICACIONES DE LA INTELIGENCIA ARTIFICIAL Robótica. Procesamiento de Lenguaje Natural. Reconocimiento de Patrones. Sistemas Expertos Tutores Inteligentes. Manipulación Inteligente de Base de Datos. Programación Automática. Visión Computarizada. 10 La Inteligencia Artificial y sus Aplicaciones 2.1 ETIMOLOGIA A modo de introducción, debemos hacer referencia al origen de la palabra robot; si bien desde la antigüedad se conocen ingenios mecánicos con formas más o menos humanas cuyo propósito fue proveer diversión en las cortes o llamar la atención de la gente, estos ingenios, carecen de importancia desde el punto de vista tecnológico, precisamente por su destino. El término robot fue acuñado por el escritor checoslovaco Carlos Chapek, fallecido en 1938, que adquirió fama mundial con su obra RUR en la que presenta al obrero moderno como un esclavo mecánico; es allí donde justamente emplea la palabra robot, tomada del eslavo robota, que significa trabajo. 2.2 DEFINICIÓN El RIA (Robot Institute of America) define al robot como "un manipulador multifuncional reprogramable, diseñado para mover materiales, partes, herramientas o dispositivos especializados a través de movimientos variables programados para la performance de una variedad de labores". Esta definición indudablemente no abarca todas las posibilidades de aplicación presente y futuras de los robots y a nuestro parecer, el robot es a la producción, lo que el computador es para el procesamiento de datos, es decir una nueva y revolucionaria concepción del sistema productivo cuyos alcances recién comienzan a percibirse en los países altamente industrializados. Realmente los robots, no incorporan nada nuevo a la tecnología en general, la novedad radica en la particularidad de su arquitectura y en los objetivos que se procura con los mismos. 11 La Inteligencia Artificial y sus Aplicaciones El trabajo del robot se limita generalmente a pocos movimientos repetitivos de sus ejes, estos son casi siempre 3 para el cuerpo y 3 para la mano o puño, su radio de acción queda determinado por un sector circular en el espacio donde éste alcanza a actuar. Cuando las partes o piezas a manipular son idénticas entre ellas y se presentan en la misma posición, los movimientos destinados a reubicar o montar partes se efectúan mediante dispositivos articulados que a menudo finalizan con pinzas. La sucesión de los movimientos se ordena en función del fin que se persigue, siendo fundamental la memorización de las secuencias correspondientes a los diversos movimientos. Puede presentarse el caso en el que las piezas o partes a ser manipuladas no se presenten en posiciones prefijadas, en éste caso el robot deberá poder reconocer la posición de la pieza y actuar u orientarse para operar sobre ella en forma correcta, es decir se le deberá proveer de un sistema de control adaptativo. Si bien no existen reglas acerca de la forma que debe tener un robot industrial, la tecnología incorporada a él está perfectamente establecida y en algunos casos ésta procede de las aplicadas a las máquinas-herramientas. Los desplazamientos rectilíneos y giratorios son neumáticos, hidráulicos o eléctricos. Como es sabido, los sistemas neumáticos no proveen movimientos precisos debido a la comprensibilidad del aire y en ellos deben emplearse topes positivos para el posicionamiento, lo que implica la utilización de dispositivos de desaceleración. Los robots neumáticos poseen una alta velocidad de operación manipulando elementos de reducido peso. Los accionamientos hidráulicos proporcionan elevadas fuerzas, excelente control de la velocidad y posicionamiento exacto. En cuanto a los sistemas eléctricos, se utilizan motores de corriente continua o motores paso a paso. Estos dos tipos de robots quedan reservados a la manipulación de elementos más pesados o los procesos de trayectorias complejas como las tareas de soldadura por punto o continuos. 12 La Inteligencia Artificial y sus Aplicaciones 2.3 CRONOGRAMA ROBÓTICA SOBRE LA HISTORIA DE LA FECHA DESARROLLO SigloXVIII. A mediados del siglo XVIII J. de Vaucanson construyó varias muñecas mecánicas de tamaño humano que ejecutaban piezas de música 1801 J. Jaquard invento 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 G.C. Devol desarrolló un dispositivo controlador que podía registrar señales eléctricas por medio magnéticos y reproducirlas para accionar una máquina mecánica. La patente estadounidense se emitió en 1952. 1951 Trabajo de desarrollo con teleoperadores (manipuladores de control remoto) para manejar materiales radiactivos. Patente de Estados Unidos emitidas para Goertz (1954) y Bergsland (1958). 1952 Una máquina prototipo de control numérico fue objetivo de demostración en el Instituto Tecnológico de Massachusetts después de varios años de desarrollo. Un lenguaje de programación de piezas denominado APT (Automatically Programmed Tooling) se desarrolló posteriormente y se publicó en 1961. 1954 El inventor británico C. W. Kenward solicitó su patente para diseño de robot. Patente británica emitida en 1957. 1954 G.C. Devol desarrolla diseños para Transferencia de artículos programada. Patente emitida en Estados Unidos para el diseño en 1961. 1959 Se introdujo el primer robot comercial por Planet Corporation. Estaba controlado por interruptores de fin de carrera. 1960 Se introdujo el primer robot ‘Unimate’’, basada en la transferencia de articulaciones programada de Devol. Utilizan los principios de control numérico para el control de manipulador y era un robot de transmisión hidráulica. 1961 Un robot Unimate se instaló en la Ford Motors Company para atender una máquina de fundición de troquel. 13 La Inteligencia Artificial y sus Aplicaciones 1966 1968 1971 1973 1974 1974 1974 1975 1976 1978 1978 1979 Trallfa, una firma noruega, construyó e instaló un robot de pintura por pulverización. Un robot móvil llamado ‘Shakey’’ se desarrollo en SRI (standford Research Institute), estaba provisto de una diversidad de sensores así como una cámara de visión y sensores táctiles y podía desplazarse por el suelo. El ‘Standford Arm’’, un pequeño brazo de robot de accionamiento eléctrico, se desarrolló en la Standford University. Se desarrolló en SRI el primer lenguaje de programación de robots 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 Víctor Scheinman y Bruce Simano. ASEA introdujo el robot Irb6 de accionamiento completamente eléctrico. Kawasaki, bajo licencia de Unimation, instaló un robot para soldadura por arco para estructuras de motocicletas. Cincinnati Milacron introdujo el robot T3 con control por computadora. El robot ‘Sigma’’ de Olivetti se utilizó en operaciones de montaje, una de las primitivas aplicaciones de la robótica al montaje. 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. El robot T3 de Cincinnati Milacron se adaptó y programó para realizar operaciones de taladro y circulación de materiales en componentes de aviones, bajo el patrocinio de Air Force ICAM (Integrated Computer Aided Manufacturing). Se introdujo el robot PUMA (Programmable Universal Machine for Assambly) para tareas de montaje por Unimation, basándose en diseños obtenidos en un estudio de la General Motors. Desarrollo del robot tipo SCARA (Selective Compliance Arm for Robotic Assambly) en la Universidad de Yamanashi en Japón para montaje. Varios robots SCARA 14 La Inteligencia Artificial y sus Aplicaciones 1980 1981 1982 1983 1984 comerciales se introdujeron hacia 1981. Un sistema robótico de captación de recipientes fue objeto de demostración en la Universidad de Rhode Island. Con el empleo de visión de máquina el sistema era capaz de captar piezas en orientaciones aleatorias y posiciones fuera de un recipiente. Se desarrolló en la Universidad de 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. IBM introdujo el robot RS-1 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 del robot AML, desarrollado por IBM, se introdujo también para programar el robot SR-1. Informe emitido por 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. Robots 8. La operación típica de estos sistemas permitía que se desarrollaran programas de robots utilizando gráficos interactivos en una computadora personal y luego se cargaban en el robot. 2.4 CARACTERÍSTICAS DE LOS ROBOTS 1. Versatilidad: Potencialidad estructural de ejecutar tareas diversas y/o ejecutar una misma tarea de forma diversa. Esto impone al robot una estructura mecánica de geometría variable. 2. Autoadaptabilidad al entorno: Significa que un robot debe, por sí solo, alcanzar su objetivo(ejecutar su tarea) a pesar de las perturbaciones imprevistas del entorno a lo largo de la ejecución de su tarea. Esto supone que el robot sea consciente de su entorno y que por lo tanto posea sentidos artificiales. 15 La Inteligencia Artificial y sus Aplicaciones 2.5 FUNCIONAMIENTO DEL ROBOT Es un sistema mecánico articulado, dotado de sus motores (eléctricos, hidráulicos o neumáticos) que arrastran a las articulaciones del robot mediante transmisiones (cables, cintas, correas con muescas...). Para conocer en todo instante la posición de las articulaciones se recurre a los captadores (codificadores ópticos) que se denominan propioceptivos. Estos dan el valor a las articulaciones, que no es más que la configuración o el estado del robot. El entorno es el universo en que está sumergida la primera entidad. Si los robots están sobre un puesto fijo se reduce al espacio alcanzable por el robot. En él el robot puede encontrar obstáculos que ha de evitar y objetos de interés, o sea los objetos con los que tiene que actuar. Por todo esto existe interacción entre la parte física y el entorno. Mediante los captadores exteroceptivos (cámaras, detectores de fuerzas, detectores de proximidad, captadores táctiles) se toman informaciones sobre el entorno. Las tareas a realizar es el trabajo que se desea que haga el robot. La descripción de estas tareas se hace mediante lenguajes que pueden ser a través de los gestos, en el que se le enseña al robot lo que se debe hacer; orales, se le habla; por escrito en el que se le escriben las instrucciones en un lenguaje compatible con el robot. El cerebro del robot es el órgano de tratamiento de la información. Este puede ser desde un autómata programable para los menos avanzado hasta un miniordenador numérico o microprocesador para los más avanzados. El cerebro, es el que tiene el papel principal, contiene en sus memorias: Un modelo del robot físico: las señales de excitación de los accionadores y los desplazamientos que son consecuencia de ellas. Un modelo del entorno: descripción de lo que se encuentra en el espacio que puede alcanzar. Programas: permite comprender las tareas que se le pide que realice. Algoritmos de control. 16 La Inteligencia Artificial y sus Aplicaciones 2.6 CLASIFICACIÓN DE LOS ROBOTS CRITERIO CLASIFICACIÓN Geometría Se basa en la forma del área de trabajo producida por el brazo del robot: rectangular, cilíndrica o esférica. Configuraciones La configuración polar utiliza coordenadas polares para especificar cualquier posición en términos de una rotación sobre su base, un ángulo de elevación y una extensión lineal del brazo. La configuración cilíndrica sustituye un movimiento lineal por uno rotacional sobre su base, con los que se obtiene un medio de trabajo en forma de cilindro. La configuración de coordenadas cartesianas posee tres movimientos lineales, y su nombre proviene de las coordenadas cartesianas, las cuales son más adecuadas para describir la posición y movimiento del brazo. Los robots cartesianos a veces reciben el nombre de XYZ, donde las letras representan a los tres ejes del movimiento, o sea, la representación en el espacio. Grados de Consiste en contar el número de grados de libertad que libertad tengan. Se considera un grado de libertad cada eje a lo largo del cual se puede mover el brazo de un robot. Área de Ensamblaje aplicación Falta de ensamblaje: soldar, pintar, revestir, manejo de materiales y carga y descarga de maquinaria. Técnica de Lazo cerrado: se monitorea continuamente la posición del control brazo del robot mediante un sensor de posición, y se modifica la energía que se manda al actuador de tal forma que el movimiento del brazo se obedece al camino deseado, tanto en dirección como en velocidad. Éste control se puede usar cuando la tarea que se ha de llevar a cabo está dirigida mediante un camino definido por la misma pieza, tal como sería soldar, revestir y ensamblar. 17 La Inteligencia Artificial y sus Aplicaciones Lazo abierto: en éste sistema el controlador no conoce la posición de la herramienta mientras el brazo se mueve de un punto a otro. Éste tipo de control es muy usado cuando el movimiento que debe seguir el brazo se encuentra determinado previamente, al ser grabado con anterioridad y reproducido sin cambio alguno, lo cual es útil cuando todas las piezas a ser tratadas son exactamente iguales. Fuente energía de Energía hidráulica: En los actuadores hidráulicos fluye un líquido, comúnmente aceite. Tienen como ventaja que son pequeños comparados con la energía que proporcionan, y como desventajas que son propensos a fugas, el líquido puede incendiarse y que se requiere numeroso equipo adicional, lo cual incrementa los costos de mantenimiento del robot. Los sistemas hidráulicos están asociados a un mayor nivel de ruido. Energía neumática: En los actuadores neumáticos se transfiere gas bajo presión. Generalmente sólo tienen dos posiciones: retraídos y extendidos, si posibilidad de utilizar retroalimentación para usar un control proporcional. La energía neumática tiene las siguientes ventajas: está disponible en la mayoría de las áreas de manufactura, no es cara y no contamina el área de trabajo. La desventaja es que no se puede utilizar retroalimentación ni múltiples pasos. Energía eléctrica: Los actuadores eléctricos incluyen una fuente de poder y un motor eléctricos. La mayoría de las aplicaciones utilizan servomotores, el cual generalmente utiliza corriente directa. Las ventajas de esta fuente de energía son que no se requiere transformar la energía eléctrica en otras formas de energía como la hidráulica o neumática, no se contamina el espacio de trabajo y el nivel de ruido se mantiene bajo. La desventaja es la baja potencia que se consigue en comparación con su contraparte hidráulica. 18 La Inteligencia Artificial y sus Aplicaciones 2.7 TIPOS DE ROBOTS La producción los robots se destaca por traer consigo una disminución de la mano de obra; además, ayuda a una mayor calidad del producto acabado, debido a la rapidez de la producción. Casi siempre, en la industria, los robots se unen a otras máquinas aportando mayor eficiencia en la producción. En la esfera científica, muchos de ellos son utilizados para hacer investigaciones en el campo donde el hombre se le hace difícil ir, tal vez por un medio hostil o tal vez demasiado peligroso: submarino, espacial, irradiado por centrales nucleares. Así se han diseñado dos tipos de robot de acuerdo a su misión y a su sentido de operacionalidad: Robot autónomo: Se le programa su misión, casi siempre con trabajos sencillos y sin necesidad de reflexionar, de comprender su entorno. Teleoperación o telepresencia: Esta máquina está controlada a distancia por un puesto maestro monitoreado por el operador (hombre). En el campo de la medicina, o bien podríamos llamarle asistencia individual, se destacan por la ayuda en la asistencia médica de personas paralíticas, personas con partes del cuerpo amputadas, etc. La robótica entonces cubre campos como: Prótesis: creación de manos y piernas artificiales. Órtesis: estructuras rígidas motorizadas que se ponen alrededor del miembro paralizado y lo arrastran en su movimiento. Telétesis: destinadas a los paralíticos de los cuatro miembros(tetrapléjicos) y son robots que el afectado controla a distancia a partir de las zonas de motricidad voluntaria que haya podido conservar, por ejemplo: la lengua, los músculos de los ojos, etc. 19 La Inteligencia Artificial y sus Aplicaciones 2.8 DESARROLLO DE LOS ROBOTS El lenguaje siempre ha sido una vía eficaz de comunicación, las relaciones robótica-hombre también utilizan estos mecanismos para una comunicación eficaz. Entre las formas que existen de comunicación con los robots se encuentran: 1. Reconocimiento de palabras separadas: actualmente este sistema es bastante primitivo y suelen depender de quien hablan. Estos sistemas pueden reconocer un conjunto de palabras concretas de un vocabulario muy limitado. 2. Enseñanza y repetición: es la más comúnmente utilizada en los robots industriales. Implica el enseñar al robot todos los movimientos que necesita realizar. Normalmente la enseñanza se lleva atendiendo a los siguientes pasos: Dirigiendo al robot con un movimiento lento utilizando el control manual (joystick, conjunto de botones, uno para cada movimiento, o un sistema de manipulación maestro esclavo) para realizar la tarea completa y grabando los ángulos del movimiento del robot en los lugares adecuados para que vuelva a repetir el movimiento. Reproduciendo y repitiendo el movimiento enseñado. Si el movimiento enseñado es correcto, entonces se hace funcionar al robot a la velocidad correcta en el modo repetitivo. Lenguajes de programación de alto nivel: suministran una solución más general en la comunicación hombre-robot. Los lenguajes clásicos (FORTRAN, BASIC, PASCAL) no disponen de los comandos e instrucciones específicas que se necesitan para la programación en la robótica. Hasta ahora los lenguajes utilizados han sido diseñados para un modelo específico de manipulador, una tarea concreta, por lo que en estos momentos no existe ningún lenguaje universal. 20 La Inteligencia Artificial y sus Aplicaciones 2.9 PROGRAMACIÓN USADA EN LA ROBÓTICA La programación que se emplea en la robótica tiene caracteres diferentes: explícito, en el cual el operador es el responsable de las acciones de control y de las instrucciones adecuadas que las implementan, o estar basada en la modelación del mundo exterior, cuando se describe la tarea y el entorno y el propio sistema toma las decisiones. La programación explícita es la más utilizada en las aplicaciones industriales y consta de dos técnicas fundamentales: 1. Programación Gestual. Este tipo de programación, exige el empleo del manipulador en la fase de enseñanza, o sea, trabaja "on-line". 2. Programación Textual. En esta labor no participa la máquina (off-line). Las trayectorias del manipulador se calculan matemáticamente con gran precisión y se evita el posicionamiento. 3. Programación Gestual O Directa: Es en este tipo de programación donde el propio brazo interviene en el trazado del camino y en las acciones a desarrollar en la tarea de la aplicación; lo que determina la programación "on-line". Esta está dividida en dos clases: 3.1 Programación por aprendizaje directo: El punto final del brazo se traslada con ayuda de un dispositivo especial colocado en su muñeca, o utilizando un brazo maestro o maniquí, sobre el que se efectúan los desplazamientos que, tras ser memorizados, serán repetidos por el manipulador. Esta programación tiene pocas posibilidades de edición ya que para generar una trayectoria continua, es preciso almacenar o definir una gran cantidad de puntos, cuya reducción origina discontinuidades. 3.2 Programación mediante un dispositivo de enseñanza: Consiste en determinar las acciones y movimientos del brazo manipulador, a través de un elemento especial para este cometido. En este caso, las operaciones ordenadas se sincronizan para conformar el programa de trabajo. 21 La Inteligencia Artificial y sus Aplicaciones Esta programación tiene como característica común que el usuario no necesita conocer ningún lenguaje de programación, simplemente debe habituarse al empleo de los elementos que constituyen el dispositivo de enseñanza. De esta forma, se pueden editar programas, aunque como es lógico, muy simples. Los lenguajes de programación gestual, además de necesitar al propio robot en la confección del programa, carecen de adaptabilidad en tiempo real con el entorno y no pueden tratar, con facilidad, interacciones de emergencia. 4. Programación Textual: El programa queda constituido por un texto de instrucciones o sentencias, cuya confección no requiere de la intervención del robot; es decir, se efectúan "off-line". Con este tipo de programación, el operador no define, prácticamente, las acciones del brazo manipulado, sino que se calculan, en el programa, mediante el empleo de las instrucciones textuales adecuadas. En una aplicación tal como el ensamblaje de piezas, en la que se requiere una gran precisión, los posicionamientos seleccionados mediante la programación gestual no son suficientes, debiendo ser sustituidos por cálculos más perfectos y por una comunicación con el entorno que rodea al sistema. En ésta la posibilidad de edición es total. El robot debe intervenir únicamente en la puesta a punto final. Según las características del lenguaje, pueden confeccionarse programas de trabajo complejos, con inclusión de saltos condicionales, empleo de bases de datos, posibilidad de creación de módulos operativos intercambiables, capacidad de adaptación a las condiciones del mundo exterior, etc. Esta programación textual está dividida en dos grandes grupos de marcadas diferencias: 1. Programación textual explícita. 2. Programación textual especificativa. Programación textual explícita: En la programación textual explícita el programa consta de una secuencia de órdenes o instrucciones concretas, que van definiendo con rigor las operaciones necesarias para llevar a cabo la aplicación. Se puede decir que la programación explícita engloba a los lenguajes que definen los movimientos punto por punto, similares a los de la programación gestual, pero bajo la forma de un lenguaje formal. Con este tipo de 22 La Inteligencia Artificial y sus Aplicaciones programación, la labor del tratamiento de las situaciones anormales, colisiones, etc., queda a cargo del programador. Dentro de la programación explícita, hay dos niveles: Nivel de movimiento elemental que comprende los lenguajes dirigidos a controlar los movimientos del brazo manipulador. Existen dos tipos: 1. Articular: Cuando el lenguaje se dirige al control de los movimientos de las diversas articulaciones del brazo. 2. Cartesiano: Cuando el lenguaje define los movimientos relacionados con el sistema de manufactura, es decir, los del punto final del trabajo (TCP) Los lenguajes del tipo cartesiano utilizan transformaciones homogéneas, lo que hace que se independice a la programación del modelo particular del robot, puesto que un programa confeccionado para uno, en coordenadas cartesianas, puede utilizarse en otro, con diferentes coordenadas, mediante el sistema de transformación correspondiente. Por el contrario, los lenguajes del tipo articular indican los incrementos angulares de las articulaciones. Aunque ésta acción es bastante simple para motores de paso a paso y corriente continua, al no tener una referencia general de la posición de las articulaciones con relación al entorno, es difícil relacionar al sistema con piezas móviles, obstáculos, cámaras de TV, etc. Nivel estructurado, es el que intenta introducir relaciones entre el objeto y el sistema del robot, para que los lenguajes se desarrollen sobre una estructura formal. Se puede decir que los lenguajes correspondientes a este tipo de programación adoptan la filosofía del PASCAL: describen objetos y transformaciones con objetos, disponiendo, muchos de ellos, de una estructura de datos arborescente. El uso de lenguajes con programación explícita estructurada aumenta la comprensión del programa, reduce el tiempo de edición y simplifica las acciones encaminadas a la consecución de tareas determinadas. En los lenguajes estructurados, es típico el empleo de 23 La Inteligencia Artificial y sus Aplicaciones las transformaciones de coordenadas, que exigen un cierto nivel de conocimientos. Por este motivo dichos lenguajes no son populares hoy en día. Programación textual especificativa: La programación textual explícita es una programación del tipo no procesal, en la que el usuario describe las especificaciones de los productos mediante una modelización, al igual que las tareas que hay que realizar sobre ellos. El sistema informático para la programación textual especificativa ha de disponer del modelo del universo (actualmente, los modelos del universo son del tipo geométrico, no físico), o mundo donde se encuentra el robot. Este modelo será, normalmente, una base de datos más o menos compleja, según la clase de aplicación, pero que requiere siempre computadoras potentes para el procesado de una abundante información. El trabajo de la programación consistirá, simplemente, en la descripción de las tareas a realizar, lo que supone poder llevar a cabo trabajos complicados. 24 La Inteligencia Artificial y sus Aplicaciones 3.1 DEFINICION La medicina se beneficia de los descubrimientos las aplicaciones de la electrónica, se asiste, sin embargo, desde hace muchos años, a un cambio inverso. Cuando dos disciplinas se fusionan, es muy raro que la colaboración se haga en sentido único; un día u otro hay un cambio mutuo. La aplicación de la biología a la electrónica, el estudio de los fenómenos fisiológicos que puedan inducir los dispositivos electrónicos, ha incitado a los electrónicos a examinar su propia disciplina bajo un ángulo nuevo: La biónica. Los estudios de biología comparada, hechos en el conjunto del mundo viviente, han maravillado siempre a los cibernéticos. La naturaleza es un inmenso laboratorio donde se realizan continuamente experiencias; lo mas difícilmente seguramente es saber observarlas e interpretarlas. Es probable que la biónica, antes de alcanzar la edad adulta, pasara por diferentes estados donde se imbricaran mas o menos la biología y la electrónica. No nos sorprendería ver montajes que contuvieran órganos receptores provenientes del mundo animal, unidos entre sí mediante componentes electrónicos, viviendo los órganos bañados en una solución fisiológica. Así se realizan circuitos, entre diferentes módulos electrónicos y un determinado numero de módulos biológicos. 25 La Inteligencia Artificial y sus Aplicaciones MÚSCULOS BIÓNICOS NERVIOS BIÓNICOS 26 La Inteligencia Artificial y sus Aplicaciones NARIZ BIÓNICA OJO BIÓNICO 27 La Inteligencia Artificial y sus Aplicaciones OÍDO BIÓNICO LENGUA BIÓNICA 28 La Inteligencia Artificial y sus Aplicaciones ESTIMULACIÓN BIÓNICA Todos estos avances en la Biónica han ayudado a la medicina a realizar grandes avances en la cura de enfermedades y deficiencias físicas. 29 La Inteligencia Artificial y sus Aplicaciones EL HOMBRE BIÓNICO 30 La Inteligencia Artificial y sus Aplicaciones 4.1 DEFINICION La Cibernética es la ciencia que se ocupa de los sistemas de control y de comunicación en las personas y en las máquinas, estudiando y aprovechando todos sus aspectos y mecanismos comunes. El nacimiento de la cibernética se estableció en el año 1942, en la época de un congreso sobre la inhibición cerebral celebrado en Nueva York, del cual surgió la idea de la fecundidad de un intercambio de conocimiento entre fisiólogos y técnicos en mecanismos de control. Cinco años más tarde, Norbert Wiener, uno de los principales fundadores de esta ciencia, propuso el nombre de cibernética, derivado de una palabra griega que puede traducirse como piloto, timonel o regulador. Por tanto la palabra cibernética podría significar ciencia de los mandos. Estos mandos son estructuras con elementos especialmente electrónicos y en correlación con los mecanismos que regulan la psicología de los seres vivientes y los sistemas sociales humanos, y a la vez que permiten la organización de máquinas capaces de reaccionar y operar con más precisión y rapidez que los seres vivos, ofrecen posibilidades nuevas para penetrar más exactamente las leyes que regulan la vida general y especialmente la del hombre en sus aspectos psicológicos, económicos, sociales, etc. Conocer bien al hombre es facilitar la elección de las armas necesarias para combatir sus enfermedades. Por tanto, es natural ver una parte de las investigaciones orientarse hacia un mejor conocimiento de los procesos fisiológicos. Ayudándose de la química y de la física es como han podido realizarse grandes progresos. Si quiere proseguir un mejor camino, debe abrirse mas al campo de la mecánica y más aun al campo de la electrónica. En este aspecto se abre a la Cibernética. Antes de conocer bien al hombre, la evolución científica exige ya la adaptación de lo poco que se conoce, a un medio que se conoce 31 La Inteligencia Artificial y sus Aplicaciones apenas mejor. La vida en las regiones interplanetarias trastorna completamente la fisiología y, el cambio brusco que sobreviene durante el paso de la tierra a otro planeta, no permite al hombre sufrir el mecanismo de adaptación. Es, por tanto, indispensable crear un individuo parecido al hombre, pero cuyo destino será aun más imprevisible, puesto que nacido en la tierra morirá en otro lugar. Nacido de la unión de la cibernética con la fisiología, se llamara "cyborg". Su constitución contendrá glándulas electrónicas y químicas, estimulados bioeléctricos, el todo incluido en un organismo cibernetizado... Sus padres, M.Clydes y N.Kline, abordan la ficción de una manera concreta, considerando que el hombre en el espacio, para protegerse de las radiaciones, temperaturas excesivas y aceleraciones importantes, deberán cargar una escafandra enorme, hermética y emplomada, que le obliga a maniobrar delicadas y peligrosas tareas para realizar el menor acto fisiológico; con riesgo, por lo demás, de transformar la escafandra en féretro. También, para evitar los múltiples inconvenientes, se examinara la creación de este nuevo ser. El individuo, fuera de la escafandra, es extremadamente vulnerable, hay que transformarlo para hacer de él un Cyborg. Colocado en una atmósfera cuya presión sea diez veces menor, el hombre vería su sangre bullir y sus pulmones estallar. Un convertidor químico injertado en el vientre y colocado en el sistema circulatorio, cuyo papel seria rebajar la temperatura, como un simple sistema refrigerador, y eventualmente participar en la oxigenación de la sangre, bastaría. El sistema endocrino será reemplazado por estimulados electrónicos que controlen la cantidad de adrenalina en el caso de una estimulación suprarrenal o del azúcar sanguíneo (glucemia) en el caso de una estimulación hipotética. Otro sistema endocrino artificial, un dispositivo de calentamiento automático, mantendría el cerebro en condiciones satisfactorias de funcionamiento; sería incluso prever un sistema de distribución de alimentos energéticos por medio de un mando electrónico. Al ser muy larga la duración de los viajes interplanetarios, como también las estancias, y si es cierto que se debe ver un cyborg llegar a la tierra, en el caso más favorable en pueda producirse el 32 La Inteligencia Artificial y sus Aplicaciones acontecimiento, estaríamos frente a un nuevo individuo. Su envejecimiento no será comparable a la dulce madurez de un terrícola en la tierra, pero por su estructura particular, asistiríamos a la transformación profunda de todo su ser: una degeneración prácticamente completa de su sistema digestivo, pero en compensación, un cerebro mas desarrollado, que ofrecería un psiquismo muy particular que tal vez no tendría nada de humano. La Cibernética puede ser considerada como una adquisición sumamente aprovechable para la evolución científica. Desde el estudio del comportamiento de la célula nerviosa, la neurona, hasta el del individuo en su conjunto, ofrece un inmenso campo de investigaciones, particularmente a la medicina. 4.2 METODOS DE LA CIBERNETICA La cibernética ha encontrado sus primeros elementos en el estudio de los reguladores, que se encuentran en biología y en el campo técnico. En biología, el sistema nervioso nos ofrece dos formas de regulación análogas. Es el caso de las regulaciones neuro-endocrinas, que aseguran el mantenimiento del equilibrio en nuestro medio interior, aunque las regulaciones sean muy complejas y hayan de intervenir varios elementos correctores que se anulan, se suman o se complementan, para realizar finalmente este equilibrio; y por otro lado se encuentra el papel de los osmo-receptores en el control de la concentración osmótica del plasma; en este caso la hormona antidiurética desempeña un papel intermedio para regular la eliminación renal de agua. La analogía es más sorprendente cuando se examinan los problemas musculares. El estar de pie, por ejemplo, se posibilita mediante el juego de los músculos de la estática que, por una serie de contracciones y dilataciones, aseguran el equilibrio del conjunto. 33 La Inteligencia Artificial y sus Aplicaciones La flexión de una pata posterior engendra una serie de contracciones y relajaciones rítmicas, en tanto dura la flexión. Asistimos al fenómeno del "clonus", bien conocido en neuropatología, en los síndromes piramidales. N.Wiener, considerado como el padre de la cibernética, ha estudiado matemáticamente el fenómeno de clonus y ha podido establecer relaciones entre la experimentación y el cálculo. Existen otras analogías, como los circuitos reverberantes u oscilantes que se encuentran en electrónica; algunos han conocido un determinado favor, como el esquema construido por Bucy para tratar de explicar la teoría de los movimientos involuntarios. La careoatetosis con sus movimientos desordenados y el mal de Parkinson con su temblor asociado a la parálisis, parecen responder a la existencia de circuitos oscilantes entre la corteza cerebral y los núcleos de la base del cerebro. Las calculadoras electrónicas y las maquinas de traducir no son mas que el embrión de una actividad cerebral supuesta, cuyo trabajo no corresponde probablemente a lo que pasa realmente en los circuitos nerviosos. Esta conclusión, por pesimista que sea, no rebate sin embargo a los cibernéticos, cuyo fin no es revolucionar el mundo con los "robots", sino simplemente buscar mejor la forma de comprender el funcionamiento de los organismos vivientes con ayuda de analogías mecánicas o eléctricas. Estas analogías no existen sino que a veces es necesario crearlas; esto es lo que ha dado lugar a los animales sintéticos como tortugas, ranas etc. 4.3 DIFICULTADES CIBERNETICA ENCONTRADAS POR LA Algunos ejemplos muestran cuan delicado es encontrar una relación entre el funcionamiento de una maquina y el de un órgano. La dificultad aumenta en cuanto se dirige a las contexturas nerviosas superiores. A este nivel, no existe ninguna maquina similar, porque la creación de maquinas nuevas que permitan la comparación implicaría un conocimiento perfecto de las estructuras nerviosas. 34 La Inteligencia Artificial y sus Aplicaciones 5.1 DEFINICION En teoría, los sistemas expertos son capaces de razonar siguiendo pasos comparables a los que sigue un especialista (médico, biólogo, geólogo, matemático, etc.), cuando resuelve un problema propio de su disciplina. Por ello el creador de un sistema experto debe comenzar por identificar y recoger, del experto humano, los conocimientos que éste utiliza: conocimientos teóricos, pero sobre todo los conocimientos empíricos adquiridos en la práctica. El estudio y desarrollo de los sistemas expertos (SES) comenzó a mediados de la década del 60. Entre 1965 y 1972 fueron desarrollados varios de estos sistemas, muchos de ellos tuvieron un alcance muy limitado, otros como mycin, dendral y prospector, constituyeron la base histórica del SES y aún en la actualidad son de gran interés para los investigadores que se dedican al estudio y construcción de los mismos. Los sistemas expertos o especializados constituyen una instrumentalización de la IA muy útil. Son sistemas que acumulan saber perfectamente estructurado, de tal manera que sea posible obtenerlo gradualmente según las situaciones. Aquí desaparece el concepto de información en favor del de saber. Un sistema experto no es una biblioteca que aporta información, sino un consejero o especialista en una materia, de ahí que aporte saber, consejo experimentado. Un sistema experto es un sofisticado programa de computadora. Posee en su memoria y en su estructura una amplia cantidad de saber y, sobre todo, de estrategias para depurarlo y ofrecerlo según los requerimientos. Ello convierte al sistema (software-hardware) en un especialista en la materia para lo que está programado; se utiliza como apoyo o elemento de consulta para investigadores, médicos, abogados, geólogos, y otros profesionales. En la actualidad existe un 35 La Inteligencia Artificial y sus Aplicaciones gran número de sistemas expertos repartidos entre los campos más activos de la investigación y de la profesionalidad. Un ejemplo sería INTERNIST, un sistema experto en medicina. La medicina atrae, por el momento, buena parte de la atención de los diseñadores de sistemas y cuenta con el mayor número de programas. El sistema INTERNIST contempla el diagnóstico de las enfermedades de medicina interna u hospitalaria. Fue desarrollado en la universidad norteamericana de Pittsburg en 1 977. En los centros médicos que disponen de dicho sistema, el médico acude a la consola de la computadora después de haber reconocido al paciente y haber realizado los análisis que cree pertinentes. Entonces la máquina solicita al médico información sobre el paciente, y se establece una conversación a través de la pantalla y el teclado, similar a la que se establecería entre un médico y un reputado especialista al que se acude para contrastar un diagnóstico. La computadora recibe el historial médico del enfermo, los síntomas y los resultados de pruebas y análisis. Con esta información, el sistema experto relaciona los datos de forma muy elaborada y comienza por desechar posibles diagnósticos hasta que llega a los que parecen más probables. Finalmente, elige uno y lo da a conocer con todo el detalle del proceso. Luego justifica su elección y el porqué de la posible enfermedad: cuadro clínico, historial, tratamiento, posibilidades de error, etc. La elaboración de los sistemas expertos exige el despliegue de un amplio equipo de ingenieros de lA y una larga tarea de organización del saber. El equipo trabaja con algún especialista en la materia de la aplicación; en el caso del INTERNIST, con brillantes y especializados médicos. Estos especialistas son denominados «informantes». La meta consiste en plasmar computacionalmente los «pasos» que el informante sigue para descartar unos diagnósticos y escoger el más acertado. Ello requiere pacientes sesiones para trasvasar el conocimiento del médico especialista a una programación que ha de incluir procedimientos de diagnóstico y conocimientos de enfermedades. 36 La Inteligencia Artificial y sus Aplicaciones Por ser los SES programas basados en conocimiento, la programación de SES incluye como aspecto fundamental la programación del conocimiento, la cual hace uso de la representación explícita del conocimiento a utilizar por el sistema y de su interpretación y manipulación lógica por medio de mecanismos de inferencia, que permitan deducir nuevo conocimiento a partir del que ya se conoce. 37 La Inteligencia Artificial y sus Aplicaciones 6.1 INTRODUCCION Un gran objetivo, no carente de una abrumadora complejidad, se cifra en el tratamiento del lenguaje natural. Este objetivo consiste en que las máquinas computacionales (y sus aplicaciones en robótica) puedan comunicarse con las personas sin ninguna dificultad de comprensión, ya sea oralmente o por escrito. Aquí encontramos la realización de un sueño largamente alimentado: hablar con las máquinas y que éstas entiendan nuestra lengua y, también, que se hagan entender en nuestra lengua. La síntesis del lenguaje y el reconocimiento de voz forman dos aspectos del mismo propósito. Los logros que se han conseguido resultan a todas luces parciales e insuficientes, pero alentadores. Ciertas máquinas pueden interpretar las gráficas de textos escritos y reproducirlos oralmente: leen los textos en voz alta. Uno de los avances de este tipo (que sin duda representará una evolución notable en poco tiempo) es el programa FRUMP, elaborado en la universidad de Yale. FRUMP es capaz de leer historias cortas y resumirlas escuetamente con una gramática correcta y una expresión convincente. Para lograr que las computadoras comprendan la lengua en la que la persona se expresa, es preciso pasar por una dilatada cadena de investigaciones en el campo de la acústica y ondas de lenguaje, análisis fonético y articulación, reglas de formación de frases o análisis sintáctico, el dominio semántico o de los conceptos y, finalmente, el análisis global de los actos de comunicación o pragmática. El tratamiento del lenguaje natural tendrá una repercusión difícilmente imaginable. Su aplicación se extenderá al hasta ahora cegado camino de la traducción automática del lenguaje. Los textos o 38 La Inteligencia Artificial y sus Aplicaciones expresiones de una lengua se verterán de manera automática e inmediata a otra lengua o idioma. Se prevé alcanzar mecánicamente un 90 por ciento de precisión, y el resto del material de traducción será tratado por personal especializado. Junto al lenguaje, aparece otro objetivo capital, consistente en el tratamiento de gráficos y la visión artificial. De este planteamiento se desgranan aspectos como los de la percepción electrónica, selección y almacenamiento de imágenes, reconocimiento visual de formas y objetos, producción de imágenes y diseño industrial, etc. 39 La Inteligencia Artificial y sus Aplicaciones 7.1 DEFINICION Una Red Neuronal Artificial es un modelo de procesamiento de información que es inspirado por el modo de un sistema nervioso biológico, tal como el cerebro procesa información. El elemento clave de éste paradigma es la estructura original de el sistema de procesamiento de información. Este se compone de un gran número de elementos interconectados procesando “neuronas” y trabajando en armonía para resolver problemas específicos. Las Redes Neuronales Artificiales, como las personas, aprenden con ejemplos. Una Red Neuronal Artificial es configurada para una aplicación específica, tal como el reconocimiento de patrones o clasificación de datos, a través de un proceso de aprendizaje. Aprender, en sistemas biológicos, implica ajustes para las conexiones sinópticas que existen entre las neuronas. Esto lo hace una Red Neuronal Artificial. También, las Redes Neuronales Artificiales se han aplicado a un gran número de problemas reales de complejidad considerable. Su ventaja más importante está en resolver problemas que son demasiado complejos para tecnologías convencionales, problemas que no tienen un algoritmo de solución o que su algoritmo de solución es muy difícil de encontrar. En general, a causa de su abstracción del cerebro biológico, las Redes Neuronales Artificiales son aptas para resolver problemas que las personas pueden resolver, pero las computadoras no pueden. Estos problemas incluyen reconocimiento de patrones y pronósticos (los cuales requieren el reconocimiento de tendencias de datos). 40 La Inteligencia Artificial y sus Aplicaciones 7.2 HISTORIA Durante el período de 1967 a 1982, la búsqueda de la neurocomputación se lleva a cabo fuera de Estados Unidos (la búsqueda en Japón, Europa, y la Unión Soviética). Sin embargo, una gran empresa investiga una cadena neuronal dentro de un proceso del principio adaptativo de procesos de imágenes, reconocimiento de patrones y modelos biológicos. Los primeros años de 1980, muchas investigaciones de la neurocomputación empezaron a ser audaces propuestas para explorar el desarrollo de neurocomputadoras y aplicaciones de redes neuronales. En el primer lanzamiento de Defense Advanced Rechears Projects Agency (DARPA), donde Ira Skurnick (un programa maestro para la oficina de defensa) rechazó a seguir el concepto convencional e insistió a que escucharan sus argumentos acerca de sus investigaciones sobre la neurocomputación. Audazmente diversifica lo tradicional; Skurnick empezó sus investigaciones en 1983. Dando el estatus DARPA'S, como uno de los árbitros mundiales de la moda tecnología. Pocos meses después el programa maestro de otras organizaciones se consolidaron dando con esto un gran salto. Skurnic estuvo en el lugar adecuado en el momento adecuado para hacer una llave de decisión que ayudara al lanzamiento del renacimiento de la neurocomputación. Algunas otras fuerzas en los años de 1983 a 1986 fue Jonh Hopfiel, un físico famoso con reputación mundial quien comenzó una interesante investigación en redes neuronales. En pocos años, Hopfiel escribió dos grandes volúmenes de redes neuronales en 1982 y 1984, que fueron leídas por mucha gente alrededor del mundo, persuadiendo a muchos físicos y matemáticos de todo el mundo a unirse a la nueva investigación de redes neuronales. En realidad, alrededor de 1986, aproximadamente una tercera parte de toda esta gente se había vuelto seguidor de Hopfiel. El trabajo de Hopfiel ha sido descrito y su principal contribución a ésta ciencia es que la ha revitalizado. En algunos círculos de investigadores se ha desarrollado una confusión en torno a que Hopfiel invento la neurocomputación o es el que ha hecho los adelantos más significativos. Esta creencia ha generado gran inconformidad por parte de muchos pioneros especialmente por aquellos que han estado trabajando muchos años en la oscuridad. Para 1986, con la publicación del libro "PDP", que significa Procesamiento Paralelo Distribuido, editado por David Rumelhart, el camino fue 41 La Inteligencia Artificial y sus Aplicaciones abierto. En 1987, se realizo la primera conferencia abierta sobre redes neuronales del I.E.E.E. con 1700 participantes y fue hecha en San Diego y la Sociedad Internacional de Redes Neuronales fue formada en 1988, seguida por la Computación Neuronal en 1989 y el I.E.E.E. Transacción sobre Redes Neuronales en 1990. A principios de 1987, muchas universidades anunciaron la formación de institutos de investigación y programas de educación acerca de la neurocomputación. Alrededor de la neurocomputación se hace una interesante historia pero el camino aún se está desarrollando. Como dijo Winston Churchill: “estamos al final del principio”. El origen de las Redes Neuronales Artificiales ha sido el resultado de investigaciones académicas que involucran fórmulas matemáticas para modelar operaciones del sistema nervioso. Las técnicas resultantes están empezando a tener éxito en aplicaciones de negocios cotidianos. Las Redes Neuronales representan un provechoso acercamiento para usar las computadoras en los lugares de trabajo. Una Red Neuronal es usada para aprender patrones y relaciones de datos. Los datos pueden ser el resultado del esfuerzo de una investigación de mercado, el resultado de un proceso de producción dando variación a las condiciones de operación, o las decisiones de un prestamista dado un conjunto de aplicaciones de préstamo, utilizando una Red Neuronal es una salida considerable parecida a un enfoque tradicional. Tradicionalmente un programador o un analista especifican “códigos” de cada faceta del problema en orden para que la computadora pueda “entender” la situación. Las Redes Neuronales no requieren el código explícito del problema. Por ejemplo, para generar un modelo que lleve a cabo un pronóstico de ventas, una Red Neuronal sólo necesita que le den los datos sin preparar relacionados con el problema. Los datos sin preparar podrían consistir en: historias de ventas pasadas, precios, precios de la competencia y otras variables económicas. La Red Neuronal escoge entre esta información y produce un acuerdo de los factores que influyen en las ventas. El modelo puede entonces ser llamado para dar una predicción de ventas futuras dado un pronóstico de los factores claves. Estos adelantos son debido a la creación de reglas de aprendizaje de una Red Neuronal, que son los algoritmos usados para “aprender” las relaciones de los datos. Las reglas de aprendizaje habilitan a la red para “ganar conocimiento” desde datos disponibles y aplica ese conocimiento para asistir al gerente al tomar decisiones. 42 La Inteligencia Artificial y sus Aplicaciones 7.3 MODELOS DE REDES NEURONALES Los modelos de redes neuronales también conocidos como modelos de procesamiento distribuido en paralelo ó sistemas neuromorfológicos, tienen su principio de funcionamiento basado en la interconexión de alta densidad de elementos sencillos de cómputo. La estructura de las redes neuronales ha sido desarrollada de acuerdo a nuestra comprensión del sistema nervioso biológico. Estos modelos de redes han tenido gran auge en áreas como el reconocimiento de imágenes y sonido, ya que dichas redes procesan simultáneamente varias hipótesis a través de redes paralelas compuestas de elementos de cómputo, conectados a las variables ponderables. Los elementos de cómputo o nodos utilizados en las redes neuronales son generalmente no lineales y analógicos, además están caracterizados por un umbral y offset interno. Algunas de las no linealidades más comunes son: los limitadores lógicos del umbral y las no linealidades sigmoidales. Los nodos más complejos incluyen temporal y otras operaciones matemáticas complejas. Los módulos de redes neuronales son especificados de acuerdo a la topología de la red, las características de los nodos y las reglas de entrenamiento o aprendizaje. Estas reglas indican un grupo inicial de valores y como deben modificarse esos valores para obtener un mejor resultado. La mayoría de los algoritmos de las redes neuronales realizan lecturas de los valores a analizar a lo largo del tiempo para obtener, basados en resultados actuales, valores más confiables. Con el propósito de que el aprendizaje y la adaptación sean los más óptimos, se utilizan clasificadores, los cuales tienen un grado de robustez determinado por la capacidad de adaptabilidad de la red, mayor que los clasificadores estadísticos. Mediante la utilización de las redes neuronales constituídas por una gran cantidad de circuitos simples de procesamiento operando en paralelo se ha logrado obtener la capacidad de procesamiento requerida hoy en día. 43 La Inteligencia Artificial y sus Aplicaciones Modelo de Redes Neuronales Clasificadores tradicionales y Modelo de Red neuronal. Ambos tipos de clasificadores determinan cual de las M clases es más representativa de un patrón de entrada desconocido conteniendo N elementos. El clasificador tradicional está dividido en dos etapas. La primera etapa computa o registra los valores de cada clase, dándoles un puntaje, y la segunda etapa selecciona la clase que contenga el máximo puntaje. Las entradas de la primera etapa son símbolos que representan los valores de los N elementos de entrada, éstos son introducidos secuencialmente y decodificados para poder ser manipulados adecuadamente. Un algoritmo computa el puntaje de cada una de las M clases, lo cual servirá para indicar si quedan igual o diferente a éste valor de entrada, comparada con el patron ejemplar para cada clase. Luego, los resultados son codificados y pasados secuencialmente de la segunda etapa del clasificador donde son decodificados y la clase con mayor puntaje es seleccionada, por lo que después de que la clasificación ha sido completada solamente la salida correspondiente a la clase seleccionada estará en alto y las demás salidas en baja. Segundo, los clasificadores pueden ser utilizados como contenedores direccionables o memorias asociativas. Y tercero, cuantifica vectorialmente o agrupa las N entradas en los M grupos. Las redes entrenadas sin supervisión, como las redes formadas mediante la estructura Kohonen, son utilizadas como cuantificadores vectroriales o para formar grupos. La red neuronal Hamming es implementada como el clasificador más óptimo para patrones binarios contaminados por ruido aleatorio. La Red Hopfield es usada normalmente cuando se tienen entradas binarias, y no son muy utilizadas cuando los valores de entrada son continuos, debido al problema de representación que se presenta cuando desea convertirse las cantidades continuas en valores binarios. Este tipo de red tiene N nodos que contienen fuertes no linealidades y entradas y salidas binarias alrededor de los valores +1 y -1. La salida de cada nodo se retroalimenta a los demás nodos. Hopfield también demuestra que las redes convergen cuando el grado similar de no linealidades para la no linealización de sigmoid. Las ramas de Hopfield tienen dos limitaciones mayores cuando se usa como un contenido de memoria direccionable. Primero, el número de los patrones que pueden inicializar y precisamente vuelto a llamar es limitado severamente. La segunda 44 La Inteligencia Artificial y sus Aplicaciones limitación de la rama de Hopfield es que un patrón ejemplar será inestable si los patrones de varios bits son comunes a otro patrón similar. La distancia Hamming es el número de bits en la entrada, la cual no hace par el correspondiente ejemplo de bits. El MAXNET siempre será convergente y encuentra nodo con el valor máximo cuando e < 1/M. El número de las conexiones en la red Hamming crece linealmente. La red Hamming no puede dañar de espurios las salidas patrones cuando puede producir un resultado (no par). El algoritmo líder selecciona la primera entrada como el primer ejemplar para el primer grupo. La siguiente entrada es compartida con el primer grupo ejemplar. Esta sigue al líder y es agrupado con el primero, si la distancia del primero es menor que un umbral. De otro modo éste es el ejemplo para un nuevo grupo. El número de grupos de esta forma crece con el tiempo y depende en ambos el umbral y la distancia métrica usada para comparar entradas para los grupos ejemplares. Esta red difiere de la red Hamming en que las conexiones de retroalimentación están provistas de los nodos de salida a los nodos de entrada. El algoritmo Carponter/Grossberg puede funcionar bien con un patrón de entrada perfecto, pero eso iguala una pequeña cantidad de ruido que puede causar problemas. 45 La Inteligencia Artificial y sus Aplicaciones La IA tradicional estaba estancada con máquinas que no podían realizar tareas que un niño hace con facilidad, como no tropezar con los muebles y distinguir entre una mesa y una taza de café. Pero la IA basada en la naturaleza trajo aires renovadores y quizás dentro de una a dos décadas se construya una inteligencia semiartificial. La cosa no es fácil. Se ha calculado que un PC tiene más o menos la potencia de cálculo de un caracol, en tanto que un Cray 2 (uno de los más rápidos supercomputadores existentes) apenas iguala al poder cerebral de un ratón. Si fuera posible hacer una máquina de capacidad equivalente a la del cerebro humano, requeriría 100 megawatts, energía suficiente para iluminar toda una ciudad. Los científicos trabajan hace más de 40 años para lograr que las máquinas piensen de un modo útil e interesante. Aunque se están dando pasos importantes, encontrar la clave para construir la inteligencia es por el momento mérito exclusivo de Dios. 46 La Inteligencia Artificial y sus Aplicaciones Para finalizar, recogemos éstas frases célebres, procedentes de personajes inmersos en la IA, y otros que, desde principios de la Era, ya tuvieron un visión sobre máquinas inteligentes e inteligencia artificial: Aristóteles, el cerebro de más vasta concepción en la historia del pensamiento, refiriéndose a una forma particular de la tarea repetitiva acuñó una frase que aún tiene vigencia: "cuando los telares tejan por si mismos, habrá terminado la esclavitud del hombre". Norber Winer, matemático norteamericano que introdujo el término cibernética y su teoría, refiriéndose al mismo tema, expresó: "es una degradación para un ser humano encadenarlo a un remo y usarlo como fuente de energía; pero es casi igual degradación asignarle tareas puramente repetitivas en una fábrica, que exigen menos de una millonésima parte de su poder cerebral". Los primeros investigadores de esta innovadora ciencia, tomaron como base la neurona formalizada de McCulloch y postulaban que: "El cerebro es un solucionador inteligente de problemas, de modo que imitemos al cerebro". 47