Inteligencia artificial y robótica: investigación de sistemas de cómputo (página 2)
Enviado por Ariel Paz e Silva
Por siglos el ser humano ha construido máquinas que imiten las partes del cuerpo humano. Los antiguos egipcios unieron brazos mecánicos a las estatuas de sus dioses. Estos brazos fueron operados por sacerdotes, quienes clamaban que el movimiento de estos era inspiración de sus dioses. Los griegos construyeron estatuas que operaban con sistemas hidráulicas, los cuales se utilizaban para fascinar a los adoradores de los templos.
Durante los siglos XVII y XVIII en Europa fueron construidos muñecos mecánicos muy ingeniosos que tenían algunas características de robots.
Jacques de Vauncansos construyó varios músicos de tamaño humano a mediados del siglo XVIII. Esencialmente se trataba de robots mecánicos diseñados para un propósito específico: la diversión.
En 1805, Henri Maillardert construyó una muñeca mecánica que era capaz de hacer dibujos. Una serie de levas se utilizaban como "el programa" para el dispositivo en el proceso de escribir y dibujar. Estas creaciones mecánicas de forma humana deben considerarse como inversiones aisladas que reflejan el genio de hombres que se anticiparon a su época. Hubo otras invenciones mecánicas durante la revolución industrial, creadas por mentes de igual genio, muchas de las cuales estaban dirigidas al sector de la producción textil. Entre ellas se puede citar la hiladora giratoria de Hargreaves (1770), la hiladora mecánica de Crompton (1779), el telar mecánico de Cartwright (1785), el telar de Jacquard (1801), y otros.
El desarrollo en la tecnología, donde se incluyen las poderosas computadoras electrónicas, los actuadores de control retroalimentados, transmisión de potencia a través de engranes, y la tecnología en sensores han contribuido a flexibilizar los mecanismos autómatas para desempeñar tareas dentro de la industria. Son varios los factores que intervienen para que se desarrollaran los primeros robots en la década de los 50"s. La investigación en inteligencia artificial desarrolló maneras de emular el procesamiento de información humana con computadoras electrónicas e inventó una variedad de mecanismos para probar sus teorías.
No obstante las limitaciones de las máquinas robóticas actuales, el concepto popular de un robot es que tiene una apariencia humana y que actúa como tal. Este concepto humanoide ha sido inspirado y estimulado por varias narraciones de ciencia ficción.
Una obra checoslovaca publicada en 1917 por Karel Kapek, denominada Rossum"s Universal Robots, dio lugar al término robot. La palabra checa "Robota" significa servidumbre o trabajador forzado, y cuando se tradujo al ingles se convirtió en el término robot. Dicha narración se refiere a un brillante científico llamado Rossum y su hijo, quienes desarrollan una sustancia química que es similar al protoplasma. Utilizan ésta sustancia para fabricar robots, y sus planes consisten en que los robots sirvan a la clase humana de forma obediente para realizar todos los trabajos físicos. Rossum sigue realizando mejoras en el diseño de los robots, elimina órganos y otros elementos innecesarios, y finalmente desarrolla un ser "perfecto". El argumento experimenta un giro desagradable cuando los robots perfectos comienzan a no cumplir con su papel de servidores y se rebelan contra sus dueños, destruyendo toda la vida humana.
Entre los escritores de ciencia ficción, Isaac Asimov contribuyó con varias narraciones relativas a robots, comenzó en 1939, a él se atribuye el acuñamiento del término Robótica. La imagen de robot que aparece en su obra es el de una máquina bien diseñada y con una seguridad garantizada que actúa de acuerdo con tres principios.
Robots
Los robots son dispositivos compuestos de sensores que reciben datos de entrada y que pueden estar conectados a la computadora. Esta, al recibir la información de entrada, ordena al robot que efectúe una determinada acción. Puede ser que los propios robots dispongan de microprocesadores que reciben el input de los sensores y que estos microprocesadores ordenen al robot la ejecución de las acciones para las cuales está concebido. En este último caso, el propio robot es a su vez una computadora.
Otras definiciones para robot son:
· Máquina controlada por ordenador y programada para moverse, manipular objetos y realizar trabajos a la vez que interacciona con su entorno. Los robots son capaces de realizar tareas repetitivas de forma más rápida, barata y precisa que los seres humanos. El término procede de la palabra checa robota, que significa "trabajo obligatorio", fue empleado por primera vez en la obra teatral de 1921 R.U.R (Robots Universales de Rossum) por el novelista y dramaturgo checo Karel Capek. Desde entonces se ha empleado la palabra robot para referirse a una máquina que realiza trabajos para ayudar a las personas o efectúa tareas difíciles o desagradables para los humanos.
· Un robot es una manipulador multifuncional reprogramable diseñado para mover material, piezas, herramientas o dispositivos especializados a través de movimientos programados variables para la realización de tareas variadas. Para realizar cualquier tarea útil el robot debe interactuar con el entorno, el cual puede incluir dispositivos de alimentación, otros robots y, lo más importante, gente. Consideramos que la robótica abarca no solamente el estudio del robot en sí, sino también las interfaces entre él y sus alrededores.
· Ingenio electrónico que puede ejecutar automáticamente operaciones o movimientos muy variados, y capaz de llevar a cabo todos los trabajos normalmente ejecutados por el nombre.
· Manipulador multifuncional y reprogramable, diseñado para mover materiales, piezas, herramientas o dispositivos especiales, mediante movimientos programados y variables que permiten llevar a cabo diversas tareas.
El nombre de robots es tomado del vocablo checo "robota" que significa siervo y que es idéntico al término ruso que significa trabajo arduo, repetitivo y monótono, y lo usó por primera vez el escritor Karel Capek en 1917 para referirse en sus obras a máquinas con forma humano idee. Deriva de "robotnik" que define al esclavo de trabajo
En la actualidad, los avances tecnológicos y científicos no han permitido todavía construir un robot realmente inteligente, aunque existen esperanzas de que esto sea posible algún día. Hoy por hoy, una de las finalidades de la construcción de robots es su intervención en los procesos de fabricación. Estos robots, que no tienen forma humana en absoluto, son los encargados de realizar trabajos repetitivos en las cadenas de proceso de fabricación. En una fábrica sin robots, los trabajos antes mencionados los realizan técnicos especialistas en cadenas de producción. Con los robots, el técnico puede librarse de la rutina y el riesgo que sus labores comportan, con lo que la empresa gana en rapidez, calidad y precisión.
Robótica y automatización
Son disciplinas surgidas en diferentes épocas. La robótica nace en décadas recientes para complementarse con la automatización, aportándole como elemento innovador cierto grado de inteligencia.
En el contexto industrial, la automatización es como una tecnología que está relacionada con el empleo de sistemas mecánicos, electrónicos y basados en la informática en la operación y control de la producción. Este concepto, para ser actualizado, debe incluir el uso de robots.
El robot industrial forma parte del progresivo desarrollo de la automatización industrial, favorecido notablemente por el avance de las técnicas de control por computadora, y contribuye de manera decisiva a la automatización en los procesos de fabricación de series de mediana y pequeña escala.
Tipos de automatización industrial
Automatización fija:
Se utiliza cundo el volumen de producción es muy alto, y por lo tanto es adecuada para diseñar equipos especializados para procesar productos o componentes de éstos con alto rendimiento y elevadas tasas de producción.
Programable.
Se emplea cuando el volumen de producción es relativamente bajo y hay una diversidad de productos a obtener. En este caso, el equipo de producción está diseñado para ser adaptable a variaciones en la configuración del producto. Esta característica de adaptabilidad se logra haciendo funcionar el equipo bajo el control de un programa de instrucciones para el producto dado. La producción se obtiene por lotes.
Flexible.
Es una categoría situada entre las dos anteriores. Se ha comprobado que es más adecuada para el rango medio de producción. Con este tipo de automatización pueden obtenerse simultáneamente varios tipos de producto, en el mismo sistema de fabricación.
Cinética de Un Robot
La cinemática del robot estudia el movimiento del mismo con respecto a un sistema de referencia. Así, la cinemática se interesa por la descripción analítica del movimiento espacial del robot como una función del tiempo, y en particular por las relaciones entre la posición y la orientación del extremo final del robot con los valores que toman sus coordenadas articulares. Existen dos problemas fundamentales para resolver la cinemática del robot, el primero de ellos se conoce como el problema cinematico directo, y consiste en determinar cual es la posición y orientación del extremo final del robot, con respecto a un sistema de coordenadas que se toma como referencia, conocidos los valores de las articulaciones y los parámetros geométricos de los elementos del robot, el segundo denominado problema cinematico inverso resuelve la configuración que debe adoptar el robot para una posición y orientación del extremo conocidas.
Denavit y Hartenberg propusieron un método sistemático para descubrir y representar la geometría espacial de los elementos de una cadena cinemática, y en particular de un robot, con respecto a un sistema de referencia fijo. Este método utiliza una matriz de transformación homogénea para descubrir la relación espacial entre dos elementos rígidos adyacentes, reduciéndose el problema cinemática directo a encontrar una matriz de transformación homogénea 4 X 4 que relacione la localización espacial del robot con respecto al sistema de coordenadas de su base.
Por otra parte, la cinemática del robot trata también de encontrar las relaciones entre las velocidades del movimiento de las articulaciones y las del extremo. Esta relación viene dada por el modelo diferencial expresado mediante la matriz Jacobiana.
El movimiento relativo en las articulaciones resulta en el movimiento de los elementos que posicionan la mano en una orientación deseada. En la mayoría de las aplicaciones de robótica, se esta interesado en la descripción espacial del efector final del manipulador con respecto a un sistema de coordenadas de referencia fija.
La cinemática del brazo del robot trata con el estudio analítico de la geometría del movimiento de un robot con respecto a un sistema de coordenadas de referencia fijo como una función del tiempo sin considerar las fuerzas-momentos que originan dicho movimiento. Así pues, trata con la descripción analítica del desplazamiento espacial del robot como función del tiempo, en particular las relaciones entre variables espaciales de tipo de articulación y la posición y orientación del efector final del robot.
Tipos de robots
· Robots impulsados neumaticamente: La programación consiste en la conexión de tubos de plástico a unos manguitos de unión de la unidad de control neumático. Esta unidad está formada por dos partes: una superior y una inferior. La parte inferior es un secuenciador que proporciona presión y vacío al conjunto de manguitos de unión en una secuencia controlada por el tiempo. La parte superior es el conjunto de manguitos de unión que activan cada una de las piezas móviles del robot. Son los más simples que existen. Hay quien opina 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: estas máquinas son programables, automáticas y pueden realizar gran variedad de movimientos.
· Robots equipados con servomecanismos: El uso de servomecanismos va ligado al uso de sensores, como los potenciómetros, que informan de la posición del brazo o la pieza que se ha movido del robot, una vez éste ha ejecutado una orden transmitida. Esta posición es comparada con la que realmente debería adoptar el brazo o la pieza después de la ejecución de la orden; si no es la misma, se efectúa un movimiento más hasta llegar a la posición indicada.
· Robots punto a punto: La programación 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.
· Robots controlados por computadora: Se pueden controlar mediante computadora. Con ella es posible programar el robot para que mueva sus brazos en línea recta o describiendo cualquier otra figura geométrica entre puntos preestablecidos. La programación se realiza mediante una caja de control o mediante el teclado de la computadora. La computadora permite además acelerar más o menos los movimientos del robot, para facilitar la manipulación de objetos pesados.
· 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. 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 costo. Estos robots se usan en cadenas de embotellado para comprobar si las botellas están llenas o si la etiqueta está bien colocada.
· Robots mosquitos: La cucaracha metálica se arrastra con gran destreza por la arena, como un verdadero insecto. A pesar de que 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 sensores, incluida una cámara de video en miniatura. 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, precisión y decisión muy cualificadas. 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.
· Robot industrial: Nace de la unión de una estructura mecánica articulada y de un sistema electrónico de control en el que se integra una computadora. Esto permite la programación y control de los movimientos a efectuar por el robot y la memorización de las diversas secuencias de trabajo, por lo que le da al robot una gran flexibilidad y posibilita su adaptación a muy diversas tareas y medios de trabajo,
El robot industrial es pues un dispositivo multifuncional, es decir, apto para muy diversas aplicaciones, al contrario de la máquina automática clásica, fabricada para realizar de forma repetitiva un tipo determinado de operaciones. El robot industrial se diseña en función de diversos movimientos que debe poder ejecutar; es decir, lo que importa son sus grados de libertad, su campo de trabajo, su comportamiento estático y dinámico.
La capacidad del robot industrial para reconfigurar su ciclo de trabajo, unida a la versatilidad y variedad de sus elementos terminales (pinzas, garras, herramientas, etc.), le permite adaptarse fácilmente a la evolución o cambio de los procesos de producción, facilitando su reconversión.
Los robots industriales están disponibles en una amplia gama de tamaños, formas y configuraciones físicas. La gran mayoría de los robots comercialmente disponibles en la actualidad tienen una de estas cuatro configuraciones básicas:
· Configuración polar
· Configuración cilíndrica
· Configuración de coordenadas cartesianas
· Configuración de brazo articulado.
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.
La configuración de brazo articulado utiliza únicamente articulaciones rotacionales para conseguir cualquier posición y es por esto que es el más versátil.
Aplicaciones
Los robots son utilizados en una diversidad de aplicaciones, desde robots tortugas en los salones de clases, robots soldadores en la industria automotriz, hasta brazos teleoperador en el trasbordador espacial.
Cada robot lleva consigo su problemática propia y sus soluciones afines; no obstante que mucha gente considera que la automatización de procesos a través de robots está en sus inicios, es un hecho innegable que la introducción de la tecnología robótica en la industria, ya ha causado un gran impacto. En este sentido la industria Automotriz desempeña un papel preponderante.
Es necesario hacer mención de los problemas de tipo social, económicos e incluso político, que puede generar una mala orientación de robotización de la industria. Se hace indispensable que la planificación de los recursos humanos, tecnológicos y financieros se realice de una manera inteligente.
Por el contrario la Robótica contribuirá en gran medida al incremento de el empleo. ¿Pero, como se puede hacer esto? al automatizar los procesos en máquinas más flexibles, reduce el costo de máquinaria, y se produce una variedad de productos sin necesidad de realizar cambios importantes en la forma de fabricación de los mismo. Esto originara una gran cantidad de empresas familiares (Micro y pequeñas empresas) lo que provoca la descentralización de la industria.
Análisis de las Necesidades de un Robot
Producción Anual: Cuando se deben producir piezas variadas, estas deben ser de características similares y la producción de cada lote como mínimo debe ocupar un período de tiempo razonable.
Almacenamiento: Para la obtención de un flujo automático de material se deben almacenar piezas antes y después del grupo de máquinas que serán servidas por el Robot. Las piezas pueden almacenarse en transportadores paso a paso, o en cajas de nivel regulable. Las plataformas inclinadas, alimentación y salida por gravedad, suelen emplearse en casos sencillos. El tamaño del almacén depende de la tasa de producción. El operador que inspecciona las piezas puede llenar y vaciar las cajas de almacenamiento.
Tiempo de Manipuleo: El tiempo de maniobra requerido es determinado por la longitud total del camino y la máxima velocidad del Robot. La mayoría de los Robots neumáticos, hidráulicos y eléctricos tienen velocidades máximas aproximadas a los 0,7 metros por segundo y desplazamientos angulares de 90º por segundo. Sin embargo cuando se trata de un Robot neumático debe tenerse presente que la variación de velocidad con la carga es muy grande; y esto es particularmente importante cuando un Robot de este tipo está equipado con dos manos, ya que en el momento en que estas estén ocupadas la carga será el doble. El tiempo anual de manipuleo puede ser calculado, cuando se compara el Robot con la labor total en igual período, pero no es posible hacerlo mediante la comparación con el tiempo de manipulación de una sola pieza.
Layout de Máquinas: Básicamente el layout puede ser circular o lineal. En una disposición circular un Robot sirve a varias máquinas sin que las piezas se acumulen entre ellas. En un layout lineal cada Robot sirve a una máquina en la línea y las piezas van siendo reunidas en transportadores entre máquinas. Un transportador de almacenamiento debe ser capaz de tomar el total de la producción de una máquina durante el cambio de herramienta. En esta disposición la producción es mayor que en el sistema circular. Muchos layout requieren versiones especiales de Robots con grados de libertad adicionales demandadas por el proceso.
Accesibilidad: La mano del Robot está diseñada generalmente para un movimiento de entrada lateral, para lo cual es necesario disponer de espacios entre la herramienta y el punto de trabajo.
Dotación de Operación y Supervisión: La inspección visual de las piezas es manual en la mayoría de los casos. Las cajas de almacenamiento deben ser llenadas y vaciadas. 4 o 5 Robots que demanden estas tareas adicionales pueden ser supervisados por un solo hombre. La implementación de un Robot en un proceso productivo, tiene como objetivo fundamental disminuir los costos de producción mediante un mejor aprovechamiento de la capacidad productiva ya instalada.
Costo de Implementación: El costo de esta Implementación está compuesto por los siguientes ítems:
– El Robot.
– Las herramientas de la mano.
– Posible modificación de la máquina o máquina-herramienta y herramientas.
– Posible alteración del layout existente.
– Equipos periféricos, transportadores, cajas de almacenamiento.
– Dispositivos de fijación y señalización.
– Costo del trabajo de instalación.
– Entrenamiento del personal para operación y mantenimiento.
– Puesta en marcha y puesta a punto.
Futuro de la robótica
A pesar de que existen muchos robots que efectúan trabajos industriales, aquellos son incapaces de desarrollar la mayoría de
Operaciones que la industria requiere. Al no disponer de unas capacidades sensoriales bien desarrolladas, el robot es incapaz de realizar tareas que dependen del resultado de otra anterior.
En un futuro próximo, la robótica puede experimentar un avance espectacular con las cámaras de televisión, más pequeñas y menos caras, y con las computadoras potentes y más asequibles.
Los sensores se diseñarán de modo que puedan medir el espacio tridimensional que rodea al robot, así como reconocer y medir la posición y la orientación de los objetos y sus relaciones con el espacio. Se dispondrá de un sistema de proceso sensorial capaz de analizar e interpretar los datos generados por los sensores, así como de compararlos con un modelo para detectar los errores que se puedan producir. Finalmente, habrá un sistema de control que podrá aceptar comandos de alto nivel y convertirlos en órdenes, que serán ejecutadas por el robot para realizar tareas enormemente sofisticadas.
Si los elementos del robot son cada vez más potentes, también tendrán que serlo los programas que los controlen a través de la computadora. Si los programas son más complejos, la computadora deberá ser más potente y cumplir nos requisitos mínimos para dar una respuesta rápida a la información que le llegue a través de los sensores del robot.
Paralelo al avance de los robots industriales era el avance de las investigaciones de los robots llamados androides, que también se beneficiarán de los nuevos logros en el campo de los aparatos sensoriales. De todas formas, es posible que pasen decenas de años antes de que se vea un androide con mínima apariencia humana en cuanto a movimientos y comportamiento.
El mercado de la robótica y las perspectivas futuras
Las ventas anuales para robots industriales han ido creciendo en Estados Unidos a razón del 25% de acuerdo a estadísticas del año 1981 a 1992. El incremento de ésta tasa se debe a factores muy diversos. En primer lugar, hay más personas en la industria que tienen conocimiento de la tecnología y de su potencial para sus aplicaciones de utilidad. En segundo lugar, la tecnología de la robótica mejorará en los próximos años de manera que hará a los robots más amistosos con el usuario, más fáciles de interconectar con otro hardware y más sencillos de instalar.
En tercer lugar, que crece el mercado, son previsibles economías de escala en la producción de robots para proporcionar una reducción en el precio unitario, lo que haría los proyectos de aplicaciones de robots más fáciles de justificar. En cuarto lugar se espera que el mercado de la robótica sufra una expansión más allá de las grandes empresas, que ha sido el cliente tradicional para ésta tecnología, y llegue a las empresas de tamaño mediano, pequeño y por que no; las microempresas. Estas circunstancias darán un notable incremento en las bases de clientes para los robots.
La robótica es una tecnología con futuro y también para el futuro. Si continúan las tendencias actuales, y si algunos de los estudios de investigación en el laboratorio actualmente en curso se convierten finalmente en una tecnología factible, los robots del futuro serán unidades móviles con uno o más brazos, capacidades de sensores múltiples y con la misma potencia de procesamiento de datos y de cálculo que las grandes computadoras actuales. Serán capaces de responder a ordenes dadas con voz humana. Así mismo serán capaces de recibir instrucciones generales y traducirlas, con el uso de la inteligencia artificial en un conjunto específico de acciones requeridas para llevarlas a cabo. Podrán ver, oír, palpar, aplicar una fuerza media con precisión a un objeto y desplazarse por sus propios medios.
En resumen, los futuros robots tendrían muchos de los atributos de los seres humanos. Es difícil pensar que los robots llegarán a sustituir a los seres humanos en el sentido de la obra de Carel Kapek, Robots Universales de Rossum. Por el contrario, la robótica es una tecnología que solo puede destinarse al beneficio de la humanidad. Sin embargo, como otras tecnologías, hay peligros potenciales implicados y deben establecerse salvaguardas para no permitir su uso pernicioso.
El paso del presente al futuro exigirá mucho trabajo de ingeniería mecánica, ingeniería electrónica, informática, ingeniería industrial, tecnología de materiales, ingenierías de sistemas de fabricación y ciencias sociales.
Avances Tecnológicos en La Robótica
Robots que andan como humanos
Tres equipos de investigación de las universidades de Cornell, Delft (Holanda) y el MIT han logrado construir robots cuyos pasos y movimiento se parecen a la forma de andar de los humanos. El robot desarrollado por el MIT también demuestra un sistema de aprendizaje nuevo, que permite que el robot se adapte de forma continua al terreno sobre el que se mueve. Estos nuevos avances en robótica podrían transformar los actuales sistemas de diseño y control de robots, y podrían ser aplicados al desarrollo de prótesis robóticas.
Los tres robots construidos en las citados universidades se derivan todos del mismo principio: suponen una extensión de varios años de investigación en robots cuyo sistema de movimiento tengan un diseño dinámico pasivo. Los robots de diseño dinámico pasivo son capaces de bajar una cuesta sin motor y su diseño fue inspirado en el tipo de juguete móvil que existe desde hace más de cien años.
La programación de los robots de Cornell y Delft es muy sencilla, porque gran parte del problema de los controles se soluciona a través del diseño mecánico del robot. El robot del MIT utiliza un programa de aprendizaje que aprovecha dicho diseño y permite que el robot se enseñe a si mismo a andar en menos de 20 minutos. Precisamente su apodo, "Toddler" (el término ingles para un niño pequeño que empieza a andar) se deriva de su capacidad de aprender a andar y la forma en la que lo hace.
Este modelo de robot es uno de los primeros robots en utilizar un programa de aprendizaje y es el primero en andar sin tener información previamente implantada en sus controles. Además el sistema de aprendizaje permite que el robot se mueva con eficacia por una variedad de superficies y, en el futuro, podría permitir que se mueven por terreno muy rocoso. Esto se debe a que el programa funciona con tanta velocidad que el robot puede adaptarse de forma continua al tipo de terreno.
Los robots podrán sentir
Según MIT Technology Review un equipo de investigación de la Universidad de Tokyo ha desarrollado sobre un plástico flexible una serie de transistores que son sensibles a la presión. Gracias a su flexibilidad, el plástico se podría envolver en un dedo de robot, formando un tipo de piel.
Este nuevo avance tecnológico de la robótica podría revolucionar el sector de robots, ya que hasta los robots más avanzados carecen de un sentido del tacto. Si fuesen capaces de "sentir", podrían desarrollar de forma mucho más eficaz tareas tales como la reparación de otras máquinas, la preparación de comida o el cuidado de las personas en hospitales o residencias para ancianos.
Según el director del equipo de investigación, Takao Someya, el nuevo material podría estar disponible para aplicaciones prácticas a partir del año 2008.
Robots para el uso doméstico
Según los resultados del último sondeo sobre el sector de robots en el mundo realizado por las Naciones Unidos, se prevé que el uso doméstico de robots se multiplicará por siete entre este año y el año 2007. Según el informe basado en los resultados del sondeo y publicado por la Comisión Económica para Europa de las Naciones Unidas y la Federación Internacional de Robótica, este boom en el sector de robots para el hogar coincide con otro en la demanda por robots en el sector industrial.
Cada vez más consumidores comprarán los robots de última generación para cortar césped, aspirar suelos y realizar otras tareas en el hogar. Los últimos avances tecnológicos en el campo de robótica permiten que estos robots domésticos sean cada vez más eficaces y menos aparatosos y ruidosos.
Según las últimas cifras, a finales del año 2003 unos 607.000 robots domésticos se utilizaban en hogares en una variedad de países, y dos tercios de éstos fueron adquiridos durante ese mismo año. La función de la mayoría de estos robots (570.000) era cortar el césped mientras que 37.000 eran robots-aspiradoras.
El informe prevé que a finales de 2007, 4,1 millones de robots domésticos estarán en uso y que empezarán a ganar en popularidad el tipo de robot que limpia ventanas y piscinas.
Según el consejero delegado de iRobot Corp., hasta ahora los robots no habían realizado su potencial y por lo tanto existe cierto escepticismo en el mercado. Pero gracias a los últimos avances científicos en el sector de robótica, los robots de última generación son menos costosos que los anteriores (en 2003 un robot costaba una cuarta parte de lo que costaba en 1990), y son capaces de hacer más tareas domésticas.
La palabra "robot" se utiliza para describir cualquier tipo de máquina que realiza de forma automática tareas humanas, muchas veces sustituyendo totalmente los humanos que antes hacían el trabajo. En la mayoría de casos la propulsión de los propios robots causa sus movimientos, y no necesitan un operador humano una vez que han sido programados.
Según el estudio, al final de esta década, los robots "no solo limpiarán nuestros suelos, cortarán nuestros césped, y vigilarán nuestras casas, sino que también ayudarán a personas mayores y discapacitadas, realizarán cirugía, inspeccionarán sitios de peligro, y lucharán contra incendios y explosiones".
Los Nanobots
· En la obra "Engines of Creation", Eric Drexler describe nanobots capaces de destruir células cancerígenas, recoger radicales o reparar el daño sufrido en los tejidos celulares.
· En la obra de ciencia ficción "Presa", Michael Crichton plantea la posibilidad de coordinar grandes cantidades de nanorobots para obtener un determinado fin. En dicha obra, la nanotecnología se mezcla notablemente con la inteligencia artificial.
· El prototipo de modelos para la mayoría de estos conceptos son células específicas (por ejemplo, fagocitos que ingieren materia externa) y máquinarias moleculares celulares (como el proceso de autoreproducción del ADN). Los nanobots podrían tener la capacidad de autorreplicarse a sí mismos.
Es importante tener en cuenta que estamos entrando en una nueva era de la tecnología en la cual los avances se ven notablemente amplificados en cuanto a la relación de la tecnología con el ser humano. Estaremos mezclados con aparatos que podrán mejorar nuestra calidad de vida. Los nanobots, sin embargo, podrían ser una amenaza ya que tendrían la capacidad de reproducirse automáticamente, y por lo tanto, cualquier error o acción no apropiada en el cuerpo de la persona que los contenga podrían ocasionar desastres. Por otro lado, según proyecciones científicas, podrían generar varias especies de humanos: por un lado los avanzados, es decir, quienes aceptan y tienen la posibilidad de incluir a la tecnología en su organismo como forma de mejorar su calidad de vida;los naturales, quienes tienen la posibilidad de incluir esa nueva tecnología pero la rechazan para no romper las reglas de la naturaleza; y el resto, que sería representado por la clase más pobre que no tiene la posibilidad de modificarse en tal modo, por lo cual se verán aislados de las otras partes llegando hasta la envidia o el odio hacia la clase más avanzada, debido a la exclusión a la que se enfrentan. En un aspecto más amplio, algunos científicos afirman que desde la perspectiva positiva, la tecnología en el ser humano podría extinguir sólo a la raza humana, y desde la negativa, podría extinguir a todas las formas de vida existentes.
La Inteligencia Artificial
Se denomina inteligencia artificial a la ciencia que intenta la creación de programas para máquinas que imiten el comportamiento humano. La investigación en el campo de la IA se caracteriza por la producción de máquinas para la automatización de tareas que requieran un comportamiento inteligente.
La inteligencia artificial NO es desarrollar robots que imiten las acciones de los seres vivos sino que se trata de desarrollar aplicaciones que faciliten las tareas del ser humano.
Algunos ejemplos se encuentran en el área de control de sistemas, planificación automática, la habilidad de responder a diagnósticos y a consultas de los consumidores, reconocimiento de escritura, reconocimiento del habla y reconocimiento de patrones. De este modo, se ha convertido en una disciplina científica, enfocada en proveer soluciones a problemas de la vida diaria. Los sistemas de IA actualmente son parte de la rutina en campos como economía, medicina, ingeniería y la milicia, y se ha usado en gran variedad de aplicaciones de software, juegos de estrategia como ajedrez de computador y otros videojuegos.
El matemático sudafricano, Seymour Papert, es considerado pionero en esta ciencia.
Historia de La Inteligencia Artificial
Desde sus comienzos hasta la actualidad, la Inteligencia Artificial ha tenido que hacer frente a una serie de problemas:
· Los computadores no pueden manejar (no contienen) verdaderos significados.
· Los computadores no tienen autoconciencia (emociones, sociabilidad, etc.).
· Un computador sólo puede hacer aquello para lo que está programado.
· Las máquinas no pueden pensar realmente.
En 1843, Lady Ada Augusta Byron, patrocinadora de Charles Babbage planteó el asunto de si la máquina de Babbage podía "pensar".
Los primeros problemas que se trató de resolver fueron puzzles, juegos de ajedrez, traducción de textos a otro idioma.
Durante la II Guerra Mundial Norbert Wiener y John Von Neumann establecieron los principios de la cibernética en relación con la realización de decisiones complejas y control de funciones en máquinas.
La teoría de la retroalimentación en mecanismos, como por ejemplo un termostato que regula la temperatura en una casa, tuvo mucha influencia. Esto aún no era propiamente Inteligencia Artificial. Se hizo mucho en traducciones (Andrew Booth y Warren Weaver), lo que sembró la semilla hacia el entendimiento del lenguaje natural.
En el año 1955 Herbert Simon, el físico Allen Newell y J.C. Shaw, programador de la RAND Corp. y compañero de Newell, desarrolla el primer lenguaje de programación orientado a la resolución de problemas de la Inteligencia Artificial, el IPL-11. Un año más tarde estos tres científicos desarrollan el primer programa de Inteligencia Artificial al que llamaron Logic Theorist, el cual era capaz de demostrar teoremas matemáticos, representando cada problema como un modelo de árbol, en el que se seguían ramas en busca de la solución correcta, que resultó crucial. Este programa demostró 38 de los 52 teoremas del segundo capítulo de Principia Matemática de Russel y Whitehead.
En 1956, con la ahora famosa conferencia de Dartmouth, organizada por John McCarthy y en la cual se utilizó el nombre de inteligencia artificial para este nuevo campo, se separó la Inteligencia Artificial de la ciencia del computador, como tal. Se estableció como conclusión fundamental la posibilidad de simular inteligencia humana en una máquina.
En 1957 Newell y Simon continúan su trabajo con el desarrollo del General Problemas Solver (GPS). GPS era un sistema orientado a la resolución de problemas; a diferencia del Logic Theorist, el cual se orientó a la demostración de teoremas matemáticos, GPS no estaba programado para resolver problemas de un determinado tipo, razón a la cual debe su nombre. Resuelve una gran cantidad de problemas de sentido común, como una extensión del principio de retroalimentación de Wiener.
Diversos centros de investigación se establecieron, entre los más relevantes están, la Universidad Carnegie Mellon, el Massachusetts Institute of Technologie (MIT), encabezado por Marvin Minsky, la Universidad de Standford e IBM. Los temas fundamentales eran el desarrollo de heurísticas y el aprendizaje de máquinas.
En 1957 McCarthy desarrolló el lenguaje LISP. La IBM contrató un equipo para la investigación en esa área y el gobierno de USA aportó dinero al MIT también para investigación en 1963.
A finales de los años 50 y comienzos de la década del 60 se desarrolla un programa orientado a la lectura de oraciones en inglés y la extracción de conclusiones a partir de su interpretación, al cual su autor, Robert K. Lindsay, denomina "Sad Sam". Este podía leer oraciones del tipo "Jim es hermano de John" y "La madre de Jim es Mary", a partir de ella el sistema concluía que Mary debía ser también la madre de John. Este sistema representó un enorme paso de avance en la simulación de inteligencia humana por una máquina, pues era capaz de tomar una pieza de información, interpretarla, relacionarla con información anteriormente almacenada, analizarla y sacar conclusiones lógicas.
En el mismo período de tiempo hay trabajos importantes de Herbert Gelernter, de IBM, quien desarrolla un "Demostrador Automático de Teoremas de la Geometría", Alex Bernstein desarrolla un programa para el juego de ajedrez que se considera el antecedente para "Deep Blue".
En 1961 se desarrolla SAINT (Simbolic Automatic INTegrator) por James Slagle el cual se orienta a la demostración simbólica en el área del álgebra.
En 1964 Bertrand Raphael construye el sistema SIR (Semantic Information Retrieval) el cual era capaz de comprender oraciones en inglés.
A continuación un ejemplo, traducido, de interacción entre SIR y un usuario:
Usuario: Todos somos personas
SIR: Comprendo
Usuario: Un dedo es una parte de la mano
SIR: Comprendo
Usuario: Cada persona tiene dos manos
SIR: La oración anterior es ambigua. Por favor reconstrúyala.
Usuario: En cada persona hay dos manos
SIR: Comprendo
Usuario: ¿Cuantos dedos tiene John?
SIR: La oración anterior es ambigua, pero asumo que TIENE significa TIENE COMO PARTES. No se si los dedos forman parte de John.
Usuario: John es un chico
SIR: Comprendo
Usuario: ¿Cuántos dedos tiene John?
SIR: La oración anterior es ambigua, pero asumo que TIENE significa TIENE COMO PARTES, ¿cuántos dedos por mano?
Usuario: Cada mano tiene cinco dedos.
SIR: Comprendo
Usuario: ¿Cuántos dedos tiene John?
SIR: La respuesta es diez.
En la década del 60 se comienza en el MIT el estudio de la visión artificial, lo cual implica no solo captar imágenes a través de una cámara, sino también la comprensión, de lo que estas imágenes representan.
Un resultado importante en este trabajo lo constituye el "mundo de micro-bloques", en el cual un robot era capaz de percibir un conjunto de bloques sobre una mesa, moverlos y apilarlos; el éxito se debió a los investigadores Larry Roberts, Gerald Sussman, Adolfo Guzmán, Max Clowes, David Huffman, David Waltz, Patrick Winston, y Berthold Horn.
Posteriormente se obtuvieron resultados importantes entre ellos el de mayor resonancia fue el sistema SCHRDLU de Terry Winograd, pues permitía interrogar y dar órdenes a un robot que se movía dentro de un mundo de bloques.
A continuación mostramos un ejemplo traducido:
Usuario: Toma un bloque rojo.
SCHRDLU: OK.
Usuario: Busca un bloque más pequeño que el que tienes y ponlo dentro de la caja.
SCHRDLU: Asumo que PONLO se refiere al bloque más pequeño que el que tengo.
Usuario: ¿Qué contiene la caja?
SCHRDLU: La pirámide azul y el bloque azul.
Usuario: ¿Qué sostiene a la pirámide?
SCHRDLU: La caja.
Usuario: ¿Cuántos bloques no están sobre la mesa?
SCHRDLU: Cuatro.
Usuario: ¿Es al menos uno de ellos más estrecho que aquel que te dije que recogieras?
SCHRDLU: Sí, el cubo rojo.
Usuario: ¿Lo sostiene algo?
SCHRDLU: Sí, la mesa.
Usuario: ¿Puede la mesa recoger bloques?
SCHRDLU: No.
Usuario: La pirámide azul es mía.
SCHRDLU: Comprendo.
Usuario: Todos los bloques que no son rojos son míos, pero no poseo nada que sostenga una pirámide.
SCHRDLU: Comprendo.
Usuario: ¿Poseo una caja?
SCHRDLU: No
Usuario: ¿Poseo algo de la caja?
SCHRDLU: Si, dos cosas: El bloque azul y la pirámide azul.
Aunque parezca impresionante la capacidad del sistema para razonar y ejecutar acciones, no se debe perder de vista el hecho que el robot se mueve en un mundo muy simple de figuras geométricas, y que las relaciones entre ellas son muy limitadas. En el mundo real existen tantos objetos diferentes y relaciones entre ellos, que tratar de llevar este sistema a un entorno real resulta prácticamente imposible.
En los primeros años de la década del 60 Frank Rosemblatt desarrolla, en la Universidad de Cornell, un modelo de la mente humana a través de una red neuronal y produce un primer resultado al cual llama perceptrón. Este sistema era una extensión del modelo matemático concebido por McCullock y Pitts para las neuronas, y funcionaba basándose en el principio de "disparar" o activar neuronas a partir de un valor de entrada el cual modifica un peso asociado a la neurona, si el peso resultante sobrepasa un cierto umbral la neurona se dispara y pasa la señal a aquellas con las que está conectada. Al final, en la última capa de neuronas, aquellas que se activen definirán un patrón el cual sirve para clasificar la entrada inicial.
Este trabajo constituye la base de las redes neuronales de hoy en día, sin embargo a raíz de su desarrollo sufrió fuertes críticas por parte de Marvin Minsky
y Seymour Papert lo cual provocó que la mayoría de los investigadores interesados en el tema lo abandonarán, y este no se retomara hasta los años 80.
En 1965-70, comenzaron a aparecer los programas expertos, que predicen la probabilidad de una solución bajo un set de condiciones, entre esos proyectos estuvo: DENDRAL, que asistía a químicos en estructuras químicas complejas euclidianas; MACSYMA, producto que asistía a ingenieros y científicos en la solución de ecuaciones matemáticas complejas, etc.
En la década 1970-80, creció el uso de sistemas expertos, muchas veces diseñados para aplicaciones médicas y para problemas realmente muy complejos como MYCIN, que asistió a médicos en el diagnóstico y tratamiento de infecciones en la sangre. Otros son: R1/XCON, PIP, ABEL, CASNET, PUFF, INTERNIST/CADUCEUS, etc. Algunos permanecen hasta hoy.
De 1975 en adelante, comienza la era de los lenguajes expertos (shells) como EMYCIN, EXPERT, OPSS, etc. para luego tratar de que éstos sean más amigables y funcionales.
Las definiciones de Inteligencia Artificial son muchas, pero podría decirse que son programas que realizan tareas que si fueran hechas por humanos se considerarían inteligentes.
Estos programas obviamente corren en un computador y se usan, como por ejemplo, en control robótico, comprensión de lenguajes naturales, procesamiento de imágenes basado en conocimientos previos, estrategias de juegos, etc. reproduciendo la experiencia que un humano adquiriría y de la forma en que un humano lo haría.
Para clasificar las máquinas como "pensantes", es necesario definir qué es inteligencia y qué grado de inteligencia implica resolver problemas matemáticos complejos, hacer generalizaciones o relaciones, percibir y comprender. Los estudios en las áreas del aprendizaje, del lenguaje y de la percepción sensorial han ayudado a los científicos a definir a una máquina inteligente. Importantes desafíos han sido tratar de imitar el comportamiento del cerebro humano, con millones de neuronas y extrema complejidad.
Características de la Inteligencia Artificial
Una característica fundamental que distingue a los métodos de Inteligencia Artificial de los métodos numéricos es el uso de símbolos no matemáticos, aunque no es suficiente para distinguirlo completamente. Otros tipos de programas como los compiladores y sistemas de bases de datos, también procesan símbolos y no se considera que usen técnicas de Inteligencia Artificial.
El comportamiento de los programas no es descrito explícitamente por el algoritmo. La secuencia de pasos seguidos por el programa es influenciado por el problema particular presente. El programa especifica cómo encontrar la secuencia de pasos necesarios para resolver un problema dado (programa declarativo). En contraste con los programas que no son de Inteligencia Artificial, que siguen un algoritmo definido, que especifica, explícitamente, cómo encontrar las variables de salida para cualquier variable dada de entrada (programa de procedimiento).
Las conclusiones de un programa declarativo no son fijas y son determinadas parcialmente por las conclusiones intermedias alcanzadas durante las consideraciones al problema específico. Los lenguajes orientados al objeto comparten esta propiedad y se han caracterizado por su afinidad con la Inteligencia Artificial.
El razonamiento basado en el conocimiento, implica que estos programas incorporan factores y relaciones del mundo real y del ámbito del conocimiento en que ellos operan. Al contrario de los programas para propósito específico, como los de contabilidad y cálculos científicos; los programas de Inteligencia Artificial pueden distinguir entre el programa de razonamiento o motor de inferencia y base de conocimientos dándole la capacidad de explicar discrepancias entre ellas.
Aplicabilidad a datos y problemas mal estructurados, sin las técnicas de Inteligencia Artificial los programas no pueden trabajar con este tipo de problemas. Un ejemplo es la resolución de conflictos en tareas orientadas a metas como en planificación, o el diagnóstico de tareas en un sistema del mundo real: con poca información, con una solución cercana y no necesariamente exacta.
La Inteligencia Artificial incluye varios campos de desarrollo tales como: la robótica, usada principalmente en el campo industrial; comprensión de lenguajes y traducción; visión en máquinas que distinguen formas y que se usan en líneas de ensamblaje; reconocimiento de palabras y aprendizaje de máquinas; sistemas computacionales expertos.
Los sistemas expertos, que reproducen el comportamiento humano en un estrecho ámbito del conocimiento, son programas tan variados como los que diagnostican infecciones en la sangre e indican un tratamiento, los que interpretan datos sismológicos en exploración geológica y los que configuran complejos equipos de alta tecnología.
Tales tareas reducen costos, reducen riesgos en la manipulación humana en áreas peligrosas, mejoran el desempeño del personal inexperto, y mejoran el control de calidad sobre todo en el ámbito comercial.
Diferentes teorías:
1. Construir réplicas de la compleja red neuronal del cerebro humano (bottom-up).
2. Intentar imitar el comportamiento del cerebro humano con un computador (top-down).
Diferentes metodologías:
1. La lógica difusa: permite tomar decisiones bajo condiciones de in certeza.
2. Redes neuronales: esta tecnología es poderosa en ciertas tareas como la clasificación y el reconocimiento de patrones. Está basada en el concepto de "aprender" por agregación de un gran número de muy simples elementos.
Este modelo considera que una neurona puede ser representada por una unidad binaria: a cada instante su estado puede ser activo o inactivo. La interacción entre las neuronas se lleva a cabo a través de sinapsis. Según el signo, la sinapsis es excitadora o inhibidora.
El perceptrón está constituido por las entradas provenientes de fuentes externas, las conexiones y la salida. En realidad un perceptrón es una Red Neuronal lo más simple posible, es aquella donde no existen capas ocultas.
Para cada configuración de los estados de las neuronas de entrada (estímulo) la respuesta del perceptrón obedece a la siguiente dinámica: se suman los potenciales sinápticos y se comparan con un umbral de activación. Esta suma ponderada es también llamada campo. Si el campo es mayor que un umbral, la respuesta de la neurona es activa, si no, es inactiva.
Con una arquitectura tan simple como la del perceptrón no se puede realizar más que una clase de funciones "booleanas" muy simples, llamadas linealmente separables. Son las funciones en las cuales los estados de entrada con salida positiva pueden ser separados de aquellos a salida negativa por un hiperplano. Un hiperplano es el conjunto de puntos en el espacio de estados de entrada, que satisfacen una ecuación lineal. En dos dimensiones, es una recta, en tres dimensiones un plano, etc.
Si se quieren realizar funciones más complejas con Redes Neuronales, es necesario intercalar neuronas entre las capas de entradas y de salida, llamadas neuronas ocultas. Una red multicapas puede ser definida como un conjunto de perceptrones, ligados entre si por sinapsis y dispuestos en capas siguiendo diversas arquitecturas. Una de las arquitecturas más comúnmente usada es llamada feedforward: con conexiones de la entrada a las capas ocultas y de éstas hacia la salida.
El funcionamiento de una Red Neuronal es gobernado por reglas de propagación de actividades y de actualización de los estados.
Objetivos de la Investigación en Inteligencia Artificial
Los investigadores en inteligencia artificial se concentran principalmente en los sistemas expertos, la resolución de problemas, el control automático, las bases de datos inteligentes y la ingeniería del software (diseños de entornos de programación inteligente).
Otros investigadores están trabajando en el reto del reconocimiento de patrones donde se espera un rápido progreso en este campo que abarca la comprensión y la síntesis del habla, el proceso de imágenes y la visión artificial.
Finalmente, la fundamental investigación sobre la representación del conocimiento, la conceptualización cognoscitiva y la comprensión del lenguaje natural.
Uno de los principales objetivos de los investigadores en inteligencia artificial es la reproducción automática del razonamiento humano.
El razonamiento de un jugador de ajedrez no siempre es el mismo que el de un directivo que se pregunta la viabilidad de fabricar un nuevo producto. Un niño jugando con bloques de madera en una mesa no tiene idea de la complejidad del razonamiento necesario para llevar a cabo la construcción de una pirámide, e intentar que un robot hiciera lo mismo que el niño requeriría un largo programa de computador.
Formas de considerar situaciones complejas son:
· deducción, que permite obtener conclusiones de reglas cuyas premisas hemos comprobado
· inducción que produce reglas a partir de observaciones parciales.
Estos dos tipos principales pueden utilizarse de un modo analítico (el razonamiento se divide en submódulos que son más difíciles de manejar, o de un modo sintético (inverso del proceso anterior, juntando elementos que se separaron anteriormente).
La inducción puede tener lugar cuando se comparan situaciones que son casi similares, con parámetros desconocidos en una situación dada asignándole los valores que tienen ya en una situación de referencia; este es un razonamiento por analogía.
Los métodos para razonar son variados. La iteración significa repetir la misma secuencia de razonamiento hasta que se alcance una condición de final; la recursión consiste en una forma particular del razonamiento que se llama a sí misma, como aquellas muñecas rusas que están unas dentro de otras, hasta llegar a un problema simple que es fácil de resolver.
Las estrategias para el razonamiento pueden hacer uso de la especialización, la reducción al absurdo, de la eliminación de caminos poco prometedores y de la reducción de las diferencias.
En todos los casos, la organización jerárquica del conocimiento y la segmentación de los problemas son métodos que se emplean siempre al intentar resolver un problema complejo.
La función asignada a los sistemas expertos es la de razonar.
Símbolos y Métodos Numéricos
El primer período de la Inteligencia Artificial, llamado sub-simbólico, data de aproximadamente 1950 a 1965. Este período utilizó representaciones numéricas (o sub-simbólicas) del conocimiento. Aunque la mayor parte de los libros de Inteligencia Artificial enfatizan el trabajo realizado por Rosenblatt y Widrow con redes neuronales durante este período, la realidad es que otra importante escuela sub-simbólica data también de la misma época y estos son los algoritmos evolutivos.
La escuela clásica dentro de la Inteligencia Artificial, utiliza representaciones simbólicas basadas en un número finito de primitivas y de reglas para la manipulación de símbolos. El período simbólico se considera aproximadamente comprendido entre 1962 y 1975, seguido por un período dominado por los sistemas basados en el conocimiento de 1976 a 1988. Sin embargo, en este segundo período las representaciones simbólicas (por ejemplo, redes semánticas, lógica de predicados, etc.) siguieron siendo parte central de dichos sistemas.
La Programación Lógica tiene sus orígenes más cercanos en los trabajos de J. A. Robinson que propone en 1965 una regla de inferencia a la que llama resolución, mediante la cual la demostración de un teorema puede ser llevada a cabo de manera automática.
En la actualidad, la Inteligencia Artificial empieza a extender sus áreas de investigación en diversas direcciones y trata de integrar diferentes métodos en sistemas a gran escala, tratando de explotar al máximo las ventajas de cada esquema.
La resolución es una regla que se aplica sobre cierto tipo de fórmulas del Cálculo de Predicados de Primer Orden, llamadas cláusulas y la demostración de teoremas bajo esta regla de inferencia se lleva a cabo por reducción al absurdo.
Otros trabajos importantes de esa época que influyeron en la programación lógica, fueron los de Loveland, Kowalski y Green, que diseña un probador de teoremas que extrae de la prueba el valor de las variables para las cuales el teorema es válido.
Estos mecanismos de prueba fueron trabajados con mucho entusiasmo durante una época, pero, por su ineficiencia, fueron relegados hasta el nacimiento de Prólogo, que surge en 1971 en la Universidad de Marsella, Francia.
Actualmente, la programación lógica ha despertado un creciente interés que va mucho más allá del campo de la Inteligencia Artificial y sus aplicaciones. Los japoneses, con sus proyectos de máquinas de la quinta generación, dieron un gran impulso a este paradigma de programación.
La Lógica de Primer Orden, es uno de los formalismos más utilizados para representar conocimiento en Inteligencia Artificial. La Lógica cuenta con un lenguaje formal mediante el cual es posible representar fórmulas llamadas axiomas, que permiten describir fragmentos del conocimiento y, además consta de un conjunto de reglas de inferencia que aplicadas a los axiomas, permiten derivar nuevo conocimiento.
El Alfabeto del Lenguaje de la Lógica de Primer Orden contiene dos tipos de símbolos:
· Símbolos lógicos, entre los que se encuentran los símbolos de constantes proposicionales true y false; los símbolos de operadores proposicionales para la negación, la conjunción, la disyunción y las implicaciones (=>, <=); los símbolos de operadores de cuantificación como el cuantificador universal; el cuantificador existencial; y los símbolos auxiliares de escritura como corchetes [,], paréntesis (,) y coma.
· Símbolos no lógicos, agrupados en el conjunto de símbolos constantes; el conjunto de símbolos de variables individuales; el conjunto de símbolos de funciones n-arias; y el conjunto de símbolos de relaciones n-arias.
A partir de estos símbolos se construyen las expresiones válidas en el Lenguaje de Primer Orden: los términos y las fórmulas.
Un término es cualquiera de las tres expresiones siguientes: una constante, por ejemplo, el número "100", la palabra "alfredo" y la letra "c"; o una variable, por ejemplo, "X" o bien una expresión de la forma "f(t1,…,tn)" donde "f" es un símbolo de función n-aria y t1,…,tn son términos. Ejemplos de funciones son: f(100,X), padre(Y) y sucesor(X).
Las fórmulas atómicas o elementales son expresiones de la forma R(t1,…,tn) donde R es un símbolo de relación n-aria y t1,…,tn son términos.
Ejemplos de fórmulas son:
positivo(3),not(igual(4,doble(2))),recetar(X,aspirina)<=tiene(X,fiebre), tiene(X,cefalea).
Esta última establece una regla que dice que, si X tiene fiebre y cefalea (dolor de cabeza), X debe tomar una aspirina.
El Lenguaje de Primer Orden posee un amplio poder de expresión, los términos permiten nombrar los objetos del universo, mientras que las fórmulas permiten afirmar o negar propiedades de éstos o bien establecen las relaciones entre los objetos del universo.
Puede decirse que la Programación Lógica utiliza la Lógica de Primer Orden como lenguaje de programación. Prólogo es un ejemplo de lenguaje basado en la Lógica de Primer Orden y aunque toma su nombre de este término ("PROgramming in LOGic"), no abarca toda la riqueza de la Lógica de Primer Orden para resolver problemas, pues está restringido al uso de cierta clase de fórmulas denominadas cláusulas definidas o cláusulas de Horn.
Un programa lógico está formado por un conjunto finito de cláusulas de programa que son hechos o reglas. Por ejemplo:
Padre (Luis, miguel). Hecho
Padre (miguel, José). Hecho
Padre (José, Juan). Hecho
Abuelo(X,Y):-padre(X,Z), padre (Z,Y). Regla
Este programa está formado por cuatro cláusulas de programa, las tres primeras son del tipo hecho y definen la relación padre/2 y la cuarta una regla que define la relación abuelo/2. Nótese el uso de las variables X,Y y Z en esta cláusula, las cuales permiten definir de manera general en Prolog la relación "ser abuelo de", pues la lectura declarativa de dicha cláusula es la siguiente: "Para cualesquiera X,Y,Z se cumple que: X abuelo de Y, si X padre de Z y Z padre de Y".
En Prolog es posible hacer preguntas sobre objetos y relaciones del dominio y estas preguntas se formulan como objetivos o metas, que son evaluadas por el intérprete de Prolog utilizando su mecanismo de inferencia interno, el cual determina si la meta a demostrar es una consecuencia lógica del programa, aplicando reglas de deducción para obtener la respuesta.
Por ejemplo, del programa anterior, utilizando la cláusula de tipo meta ?abuelo(X, juan), para preguntar ¿quién es el abuelo de Juan? o bien ¿quiénes son los abuelos de Juan?, es posible deducir que Luis es abuelo de Juan, aunque implícitamente no existe en el programa ningún hecho que así lo afirme.
En este caso la ejecución del programa, para dicha meta, arrojaría como resultado que X=luis.
El método de deducción utilizado por Prolog, para dar respuesta a los objetivos planteados, se basa en el uso de una única regla de inferencia: el Principio de Resolución.
Los primeros trabajos de prueba automática de teoremas utilizaban la resolución, aplicada a cláusulas cualesquiera, pero el problema de las deducciones con cláusulas generales es el gran número de combinaciones posibles para llevar a cabo las resoluciones.
Por ello Prolog restringe el conjunto de cláusulas, lo que le permite llevar a cabo una prueba dirigida y, en la mayoría de los casos, con un universo de posibilidades explorable en tiempo de ejecución.
Realmente, en Prolog se hace uso de una estrategia de refinamiento de dicho principio, denominada Resolución-SLD, la cual se aplica a cláusulas definidas.
Algoritmos
Cuando una tarea se realiza por medio de un algoritmo perfectamente definido de almacenamiento, clasificación o cálculo, lo puede hacer un computador. Este concepto de algoritmo, secuencial, fijo y de determinadas operaciones, es incapaz de manejar problemas donde el camino del razonamiento es variable y donde deben afrontarse situaciones diversas sin haber sido especificadas.
La Inteligencia Artificial hace uso de un tipo de lenguaje diferente como es el caso de LISP y PROLOG.
En 1932, Cannon visualizó la evolución natural como un proceso de aprendizaje. Alan Turing reconoció, en 1950, que debe haber una conexión obvia entre el aprendizaje de máquina y la evolución, y señaló que se podrían desarrollar programas para jugar ajedrez usando esta técnica. Campbell conjeturó en 1960 que en todos los procesos que llevan a la expansión del conocimiento, se involucra un proceso ciego de variación y supervivencia selectiva.
Los primeros intentos de aplicar de manera formal la teoría de la evolución, a problemas prácticos de ingeniería, apareció en las áreas de control de procesos estadísticos, aprendizaje de máquina y optimización de funciones. Tal vez el primer intento serio de este tipo se dio en el trabajo que realizaron Box y sus colegas en 1957, en el desarrollo de una técnica que denominaron operación evolutiva, la cual se aplicó a una planta de manufactura, y que se implanto sobre la base de los votos de un comité de jefes técnicos. Bajo este esquema, la calidad del producto avanzaba a través de mutaciones aleatorias y la selección era determinada por el comité.
Por su parte, Friedberg intentó, en 1958, hacer que un programa en lenguaje máquina se mejorara a sí mismo, seleccionando instrucciones que se asociaran más frecuentemente con un resultado exitoso. Aunque Friedberg nunca mencionó explícitamente estar simulando la evolución natural, esa es la interpretación más comúnmente aceptada de su trabajo, y a pesar de que tuvo cierto éxito evolucionando manipuladores de bits y determinando las interconexiones de una caja negra de 1400 terminales, la comunidad de Inteligencia Artificial de la época prestó poca atención a su trabajo. Por ejemplo, Minsky lo criticó duramente, argumentando que una búsqueda puramente aleatoria era mucho mejor que el algoritmo de Friedberg.
El trabajo de Bremermann, en 1958, se enfocó más a la optimización, introduciendo el importante manejo de un valor de aptitud, y definiendo a un individuo como una cadena de símbolos binarios (unos y ceros). Bremermann advirtió, acertadamente, que la mutación jugaba un papel importante en la evolución, pues impedía el estancamiento en mínimos locales. Aunque muchas de sus ideas se usan hoy en día, Bremermann cometió el error de tratar de optimizar funciones lineales y convexas, obteniendo resultados decepcionantes, pues sus algoritmos evolutivos tenían que ser complementados con otras heurísticas para converger en una solución. Hoy sabemos que los algoritmos evolutivos difícilmente pueden competir con las técnicas tradicionales de optimización en esos dominios.
Barricelli ofreció, en 1954, una de las primeras simulaciones que usaba principios evolutivos, utilizando los mismos procedimientos generales que se usan hoy en día en la disciplina conocida como vida artificial. Sin embargo, en este trabajo, así como el que Reed realizó posteriormente en 1967, se concluyó que la cruza no parecía mejorar la velocidad de la adaptación selectiva, y el operador primordial era la mutación.
Fue Fogel el que introdujo la primera técnica evolutiva que realmente funcionó más o menos dentro de los lineamientos actuales de la computación evolutiva. Su programación evolutiva consistía en hacer evolucionar autómatas de estados finitos por medio de mutaciones. Fogel introdujo los importantes conceptos de población y selección, y aunque las revisiones iniciales de su trabajo fueron favorables, algunos investigadores, como Solomonoff, enfatizaron que el método de Fogel no debía verse en su estado actual (en 1966) como algo particularmente útil para resolver problemas, a excepción de los más simples posibles. Solomonoff vio a la programación evolutiva como una especie de búsqueda escalando la colina modelada mediante autómatas, y otros investigadores como Holland, Kieras, Rada y Lenat compartieron esa opinión.
Página anterior | Volver al principio del trabajo | Página siguiente |