INTELIGENCIA
ARTIFICIAL
Proyecto
PROFESOR: LUIS ANTONIO PINEDA RAMIREZ
ALUMNO: ERIC SAJID PÉREZ SERRANO
Ing. Tecnologías de la Información y Comunicaciones
ii
Tabla de Contenidos
Capítulo 1 Introducción e información general.................................................1
Nociones y Antecedentes Históricos de Inteligencia Artificial.......................3
Características de la Inteligencia Artificial.
.............................................................................................................................6
Capítulo 2 Estructura de un sistema basado en conocimiento....................13
Sistemas Expertos como Sistemas de Información Orientados al Servicio.
...........................................................................................................................14
Breve Historia de la Robótica.
.......................................................................................................................15
Conclusiónes......................................................................................................21
Lista de referencias............................................................................................22
1
Introducción.
La Inteligencia Artificial IA surgió como el resultado entre la investigación entre la
psicología cognitiva y la lógica matemática. Su enfoque es acerca del trabajo mental y
la construcción de algoritmos,
Se define a la IA como una ciencia que reune varios campos como: robótica, sistemas
expertos, los cuales tienen en común la creación de máquinas que pueden “pensar”.
Aunque históricamente se pueden encontrar varios conceptos: diseño de sistemas
inteligentes, es decir, que exhiben características que asociamos con la inteligencia
humana - entender lenguaje natural, aprendizaje, razonamiento, etc. (Feigenbaum,
1989) hacer computadoras más útiles y entender los principios que hacen posible la
inteligencia (Winston, 1994) programar computadoras para que hagan tareas que
actualmente son hechas mejor por los seres humanos, aprendizaje perceptual,
organización de la memoria, razonamiento (Jackson, 1990) es un campo de la ciencia y
de la ingeniería que se ocupa de la comprensión a través de la computadora de lo que
comúnmente llamamos comportamiento inteligente y de la creación de herramientas
que exhiben tal comportamiento (Shapiro, 1992).
La idea de construir una máquina que pueda ejecutar tareas percibidas como
requerimientos de inteligencia humana es un atractivo. Las tareas que han sido
estudiadas desde este punto de vista incluyen juegos, traducción de idiomas,
comprensión de idiomas, diagnóstico de fallas, robótica, suministro de asesoría experta
en diversos temas.
Es así como los sistemas de administración de base de datos cada vez más
sofisticados, la estructura de datos y el desarrollo de algoritmos de inserción, borrado y
locación de datos, así como el intento de crear máquinas capaces de realizar tareas
que son pensadas como típicas del ámbito de la inteligencia humana, acuñaron el
término Inteligencia Artificial en 1956.
2
Capítulo 1
Nociones y Antecedentes Históricos de Inteligencia Artificial.
Definiciones sobre Inteligencia Artificial:
Disciplina científico-técnica que trata de crear sistemas artificiales capaces de
comportamientos que, de ser realizados por seres humanos, se diría que requieren
inteligencia.
Estudio de los mecanismos de la inteligencia y las tecnologías que lo sustentan.
(Newell, 1974) Intento de reproducir (modelar) la manera en que las personas
identifican, estructuran y resuelven problemas difíciles (Pople, 84)
Son ciertas herramientas de programación, entendiendo por herramientas:
Lenguajes: LISP, PROLOG (Anexos 1 y 2)
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. (Cristina Loyo)
En 1843, Lady Ada Augusta Byron, patrocinadora de Charles Babbage planteó el
asunto 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, 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.
3
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 Mathematica 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 Problems
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.
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 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.
4
En 1964 Bertrand Raphael construye el sistema SIR (Semantic Information Retrieval)
el cual era capaz de comprender oraciones en inglés. (Anexo 2)
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 Guzman, 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. (Anexo 3)
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.
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. (Torres)
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.
5
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 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).
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;
6
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.
I.1. Objetivos de la Investigación en Inteligencia Artificial.
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.
I.2. Símbolos vs. Métodos Numéricos.
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.
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
7
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.
I.3. 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.
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ó
8
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. (Estivill-Castro)
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. 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.
Otra técnica evolutiva dirigida particularmente a la optimización de funciones continuas
de alta complejidad se desarrolló en Alemania, en 1965, por Rechenberg y Schwefel.
Esta técnica, llamada estrategia evolutiva, se utilizó inicialmente para resolver
problemas de ingeniería que desafiaban a los métodos de optimización tradicionales,
como el gradiente conjugado, y se basa en la modificación sistemática de un vector de
números reales (representando las variables de decisión del problema) mediante
operadores probabilísticos, usando ciertos criterios para decidir en qué dirección dirigir
9
la búsqueda. La estrategia evolutiva utiliza como operador principal a la mutación, y
en su versión más reciente usa la cruza como operador secundario.
Los algoritmos genéticos se distinguen por no quedar atrapados fácilmente en mínimos
locales, como la mayor parte de las técnicas de búsqueda clásicas, además de usar
operadores probabilísticos más robustos que los operadores determinísticos, que las
otras técnicas suelen usar.
Aunque aún atacados por algunos sectores de la comunidad de Inteligencia Artificial,
los algoritmos genéticos, al igual que las redes neuronales, se han ido ganando poco a
poco, y sobre la base de la efectividad de sus resultados en aplicaciones prácticas, el
reconocimiento de los investigadores como una técnica efectiva en problemas de gran
complejidad, como lo demuestra un número creciente de conferencias y publicaciones
especializadas alrededor del mundo, en los últimos años. (Anexo 4)
I.4. Base de Conocimiento. Sistemas Basados en Conocimiento.
Los métodos generales desarrollados para la resolución de problemas y técnicas de
búsqueda al inicio de la era de la Inteligencia Artificial demostraron no ser suficientes
para resolver los problemas orientados a las aplicaciones, ni fueron capaces de
satisfacer los difíciles requerimientos de la investigación.
A este conjunto de métodos, procedimientos y técnicas, se lo conoce como:
Inteligencia Artificial Débil. La principal conclusión que se derivó de este trabajo
inicial fue que los problemas difíciles sólo podrían ser resueltos con la ayuda del
conocimiento específico acerca del dominio del problema.
La aplicación de estas ideas dio lugar al desarrollo de los denominados Sistemas
Basados en conocimiento (Knowledge Based Systems) y al aparecimiento de la
Ingeniería Cognoscitiva, como una rama de la Inteligencia Artificial, que estudia los
sistemas basados en el conocimiento.
Es un sistema computarizado capaz de resolver problemas en el dominio en el cual
posee conocimiento específico.
I.4.1 Experiencia, Habilidades y Conocimiento.
10
Los tipos de experiencia que son de interés en los sistemas basados en
conocimiento, pueden ser clasificados en tres categorías: asociativa, motora y teórica.
Los sistemas basados en conocimiento son excelentes para representar conocimiento
asociativo. Este tipo de experiencia refleja la habilidad heurística o el conocimiento
que es adquirido mayoritariamente, a través de la observación.
La experiencia motora es más física que cognitiva. La habilidad se adquiere
fundamentalmente a través del ejercicio y la práctica física constant.
La experiencia teórica y el conocimiento profundo permite que los humanos puedan
resolver problemas que no se han visto antes, es decir, no existe una posibilidad
asociativa.
Debido a su naturaleza teórica, este conocimiento se puede olvidar fácilmente, a no ser
que se use en forma continua.
Capítulo 2
Estructura de un sistema basado en conocimiento
La primera parte es la memoria de largo plazo, en la que guarda los hechos (Base de
Hechos) y los conocimientos (Base de Conocimientos) acerca del dominio en el que
tiene experiencia.
La segunda parte es el sistema que realiza la función de razonamiento para resolver
problemas (Motor de Inferencia). Finalmente, la tercera parte la conforman las
unidades de entrada y salida que permiten la comunicación entre el sistema y su
entorno.
La representación del conocimiento determina el desarrollo de un sistema experto e
influye en las estrategias de control. Es muy versátil, hay muchas formas de hacerlo y
es complicada la elección. Generalmente la elección está basada en la intuición o en
las especiales circunstancias del problema.
La primera fase es la adquisición del conocimiento desde un experto y depende de la
cantidad y de su adecuada representación. Se deben conocer los límites, pues sólo
llegan hasta donde son capaces de resolver un problema. Esto implica, que tiene que
circunscribirse a un dominio homogéneo.
11
El lenguaje de programación debe ser adecuado, se usan principalmente el LISP y
PROLOG, que difieren de los lenguajes clásicos en que sus reglas (que también
contienen hechos) entran masivamente, y que el programa, es decir, el motor de
inferencia, encontrará el camino a través de reglas. (Cristina Loyo)
Fases en la adquisición del conocimiento:
Identificación del problema.
Estructuración del conocimiento.
La arquitectura del sistema y la maqueta.
El prototipo y terminación del sistema.
Tecnología de los Sistemas Basados en Conocimiento.
Aislada: un Sistema Basado en Conocimiento único se relaciona con el entorno.
Integrada: varios Sistemas Basados en Conocimiento conectados a bases de
conocimiento comunes. Tipo Front-End cuando todos los hechos y datos están
físicamente en la base común. Tipo Back-End cuando los hechos y datos necesarios
que no estén en las bases comunes, pueden obtenerse de otros SBC.
Embebida: un Sistema Basado en Conocimiento está integrado con otros
sistemas y no se lo distingue.
Sistemas Expertos como Sistemas de Información Orientados al Servicio.
Los principales métodos de búsqueda en estructuras en árbol, que todavía se emplean
hoy en los programas de sistemas expertos, estaban ya disponibles en esos años.
Las primeras aplicaciones se hicieron en problemas fáciles de describir, pero complejos
de resolver, como por ejemplo: juego de ajedrez y demostración de teoremas
matemáticos.
Los sistemas expertos orientados al servicio derivaron de la necesidad de resolver
problemas cada vez más complejos, con poca información estructurada y con
resultados probables, donde uno de los caminos era encontrar la mejor solución a un
problema, no necesariamente la única posible.
12
Los hechos para una base de conocimiento deben ser adquiridos a partir de
experiencias humanas a través de entrevistas y observaciones. Este conocimiento es
usualmente representada en la forma de reglas "if-then" (reglas de producción): " si
alguna condición es verdadera, entonces la siguiente inferencia puede ser hecha (o
alguna acción tomada)". La base de conocimientos de un sistema experto mejor incluye
miles de reglas. Un factor de probabilidad es con frecuencia unido a las conclusiones
de cada regla de producción, porque la conclusión no es una certeza.
Un sistema experto puede desplegar la secuencia de reglas a través de las cuales éste
llega a su conclusión. Trazar el flujo ayuda al usuario para apreciar la credibilidad de su
recomendación y es útil como una herramienta de aprendizaje para estudiantes.
Los expertos humanos frecuentemente emplean las reglas heurísticas, o "regla del
pulgar", además de la simple producción de reglas. Por ejemplo,
un administrador de crédito puede saber que un solicitante con una historia pobre de
crédito, con un registro limpio desde que adquirió un nuevo empleo, puede actualmente
ser un buen sujeto de crédito.
Los sistemas expertos han incorporado tales reglas heurísticas e incrementándolas
tienen la habilidad de aprender a partir de la experiencia. Sin embargo, los sistemas
expertos son más bien soporte o apoyo más que reemplazos para los expertos
humanos.
Breve Historia de la Robótica. (Mikell, 1994)
A mediados del siglo XVIII: J. de Vaucanson construyó varias muñecas
mecánicas de tamaño humano que ejecutaban piezas de música.
1805 H. Maillardet construyó una muñeca mecánica capaz de hacer dibujos.
1946 El inventor americano O. C. Devol desarrolló un dispositivo controlador que
podía registrar señales eléctricas por medios magnéticos y reproducirlas para accionar
una máquina mecánica.
1951 Trabajo de desarrollo con teleoperadores (manipuladores
de control remoto) para manejar materiales radioactivos.
1952 Una máquina prototipo de control numérico fue objeto de demostración en
el Instituto de Tecnología de Massachusetts después de varios años de desarrollo. Un
13
lenguaje de programación de piezas denominado APT (Automatically Programmed
Tooling -Herramental Automáticamente Programado) se desarrolló posteriormente y se
publicó en 1961.
1954: El inventor británico C. W. Kenward solicitó una patente para diseño de
robot y O. C. Devol desarrolla diseños para «transferencia de artículos programada».
1959 Se introdujo el primer robot comercial por Planet Corporation. Estaba
controlado por interruptores de fin de carrera y levas.
1960 Se introdujo el primer robot «Unimate», basado en la «transferencia de
artículos programada» de Devol. Utilizaba los principios del control numérico para el
control del manipulador y era un robot de transmisión hidráulica.
1961 Un robot Unímate se instaló en la Ford Motor Company para atender una
máquina de fundición en troquel.
1966 Tralífa, una firma noruega, construyó e instaló un robot de pintura por
pulverización.
1968 Un robot móvil llamado «Shakey» se desarrolló en SRI (Stanford Research
Institute). Estaba provisto de una diversidad de censores, incluyendo una cámara de
visión y censores táctiles, y podía desplazarse por el suelo.
1971 El «Stanford Arm», un pequeño brazo de robot de accionamiento eléctrico,
se desarrolló en Stanford University.
1973 Se desarrolló en SRI el primer lenguaje de programación de robot del tipo
de computadora para la investigación con la denominación WAVE. Fue seguido por el
lenguaje AL en 1974. Los dos lenguajes se desarrollaron posteriormente en el lenguaje
VAL comercial para Unimation por Victor Scheinman y Bruce Simano.
1974 ASEA introdujo el robot IRb6 de accionamiento completamente eléctrico.
Kawasaki, bajo licencia de Unimation, instaló un robot para soldadura por arco para
estructuras de motocicletas y Cincinnati Milacron introdujo el robot T3 con control por
computadora.
1975 El robot «Sigma» de Olivetti se utilizó en operaciones de montaje, una de
las primitivas aplicaciones de la robótica al montaje.
14
1976 Un dispositivo de Remote Center Compliance (RCC) para la inserción de
piezas en la línea de montaje se desarrolló en los laboratorios Charles Stark Draper
Labs en Estados Unidos.
1978 Se introdujo el robot PUMA (Programmable Universal Machine for
Assembly) para tareas de montaje por Unimation, basándose en diseños obtenidos en
un estudio de la General Motors y el robot T3 de Cincinnati Milacron se adaptó y
programó para realizar operaciones de taladrado y circulación de materiales en
componentes de aviones, bajo el patrocinio de Air Force ICAM (Integrated Computer-
Aided Manufacturing).
1979 Desarrollo del robot del tipo SCARA (Selective Compliance Arm for Robotic
Assembly) en la Universidad de Yamanashi en Japón para montaje. Varios robots
SCARA comerciales se introdujeron hacia 1981.
1980 Un sistema robótico de captación de recipientes fue objeto de
demostración en la Universidad de Rhode Island. Con el empleo de la visión de
máquina, el sistema era capaz de captar piezas en orientaciones aleatorias y
posiciones fuera de un recipiente.
1981 Se desarrolló en la Universidad Carnegie-Mellon un robot de impulsión
directa. Utilizaba motores eléctricos situados en las articulaciones del manipulador sin
las transmisiones mecánicas habituales empleadas en la mayoría de los robots.
1982 IBM introduce el robot RS-l para montaje, basado en varios años de
desarrollo interno. Se trata de un robot de estructura de caja que utiliza un brazo
constituido por tres dispositivos de deslizamiento ortogonales. El lenguaje de robot
AML, desarrollado por IBM, se introdujo también para programar el robot RS-1.
1983 Informe emitido sobre la investigación en Westinghouse Corp. bajo el
patrocinio de National Science Foundation sobre un «sistema de montaje programable-
adaptable» (APAS), un proyecto piloto para una línea de montaje automatizada flexible
con el empleo de robots.
1984 Varios sistemas de programación fuera de línea se demostraron en
la exposición Robots 8. La operación típica de estos sistemas permitía que se
desarrollaran programas de robot utilizando gráficos.
15
1985. Un robot de la Kawasaki mata a un mecánico japonés en un mal
funcionamiento.
1986. El robot jugador de tenis de mesa de Anderson le gana a un ser humano.
La máquina de ajedrez HiTech de CMU compite en un torneo de nivel master y la
policía de Dallas usa un robot para entrar en las casas.
Robots Impulsados Neumáticamente.
La programación de estos robots consiste en la conexión de tubos de plástico a unos
manguitos de unión de la unidad de control neumático. Modificando las conexiones de
los manguitos de unión se podrán programar secuencias de pasos distintas, en ellos se
encuentran todos los elementos básicos de un robot: son programables, automáticas y
pueden realizar gran variedad de movimientos. (Anexo 5.1)
Robots Equipados con Servomecanismos.
El uso de servomecanismos va ligado al uso de censores, como los potenciómetros,
que informan de la posición del brazo o la pieza que se ha movido del robot para
asegurar su correcta posición. (Anexo 5.2)
Robots Punto a Punto.
Añadiendo a los servomecanismos una memoria electrónica capaz de almacenar
programas y un conjunto de circuitos de control digital, se obtienen robots más potentes
y de más fácil manejo.
La programación de este tercer tipo de robots se efectúa mediante una caja de control
que posee un botón de control de velocidad, mediante el cual se puede ordenar al robot
la ejecución de los movimientos paso a paso. 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. (Anexo 5.3)
Robots Controlados por Computadora.
Aquellos que se pueden controlar mediante computadora. Con ella es posible
programar el robot para que mueva sus brazos describiendo cualquier figura
geométrica entre puntos preestablecidos. El movimiento de sus brazos se especifica
mediante varios sistemas de coordenadas según la referencia que se tome. (Anexo
5.4)
16
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 coste. A pesar de todo, la investigación sobre los aparatos
sensoriales está en pleno apogeo, lo que conducirá seguramente a un abaratamiento
de éstos y a un aumento de su potencia y de sus capacidades. (Anexo 5.5)
Robots Mosquitos.
Descritos como una "cucaracha metálica" que se arrastra con gran destreza por la
arena, un verdadero insecto, Atila avanza a 2 km/h, tratando de no tropezar con las
cosas, es «gramo por gramo el robot más complejo del mundo», según su creador,
Rodney Brooks. En su estructura de 1,6 kg y 6 patas, lleva 24 motores, 10
computadores y 150 censores, incluida una cámara de video en miniatura.
Provistos de minúsculos escalpelos, podrán arrastrarse por el ojo o las arterias
del corazón para realizar cirugía. Vivirán en las alfombras, sacando continuamente el
polvo partícula a partícula. Infinidad de ellos cubrirán las casas en vez de capas de
pintura, obedeciendo la orden de cambiar cada vez que se quiera el color.
Una de las aplicaciones muchos más aprovechadas de la robótica, y que ha seguido
maravillando al hombre, es la telerobótica en el espacio extraterrestre.
La organización más importante dentro de este aspecto, y que ha marcado un rumbo
muy avanzado en cuanto a tecnologías e investigaciones, es la NASA (National
Aeronautics and Space Administration).
El Programa de Telerobótica Espacial de la NASA, esta diseñado para desarrollar
capacidades en telerobótica para la movilidad y manipulación a distancia, uniendo la
robótica y las teleoperaciones y creando nuevas tecnologías. (Anexo 5.6)
Conclusiones.
17
“La Inteligencia Artificial, es aquella exhibida por maquinas o programas
computacionales, también se le denomina Inteligencia Artificial a la rama académica
que estudia cómo crear maquinas y programas computacionales capaces de
comportamiento inteligente”.
El ramo de la inteligencia artificial, ha crecido de la mano con los avances universales
de hardware y software en el mundo, uno de los primeros indicios de lo que se podría
llamar inteligencia artificial, fue demostrado por la Universidad de Massachusetts o
mejor conocida como MIT con su programa denominado Eliza, que no era más que un
programa capaz de reconocer patrones de palabras las cuales analizaba al ser
cuestionada por un usuario, Eliza al no encontrar respuesta apropiada, terminaba por
presentar al usuario con una respuesta general.
Actualmente existen muchísimas películas de ficción referentes a la Inteligencia
Artificial, la más reciente es la llamada “Ex Machina”, donde un científico sumamente
Inteligente crea robots capaces de “pensar” por si mismos y nos hace reflexionar sobre
qué pasaría cuando realmente un robot con fuerza superior a la de los humanos, sea
capaz de decidir entre el bien y el mal.
Pareciera ser que la Inteligencia Artificial en nuestros días, se encuentra tratando de
hacer aprender a las maquinas más de lo que se está esforzando en el hardware
necesario para hacer esto, es decir, compañías están actualmente invirtiendo dinero en
la mímica del comportamiento humano, estamos en una época donde los medios
electrónicos poco a poco desplazan la interacción humana, al grado de que estamos
tratando de grabar estas interacciones en una base de datos, para que en el futuro
seamos capaz de remplazarla digitalmente, y aun cuando esto en 1964 cuando
apareció Eliza, parecía algo sumamente ingenioso, actualmente podría representar
algo de que preocuparse.
Glosario:
Algoritmo: Es un método para resolver un problema mediante una serie de pasos
precisos, definidos y finitos. Se trata de un conjunto de instrucciones concretas y
detalladas mediante el cual se consigue una acción determinada.
18
Axioma: Proposición que se considera «evidente» y se acepta sin requerir
demostración previa. En un sistema hipotético-deductivo es toda proposición no
deducida (de otras), sino que constituye una regla general de pensamiento lógico
Bit: Unidad de información más pequeña. Puede tener sólo dos valores o estados: 0 ó
1, encendido o apagado.
Cibernetica: Ciencia que estudia el diseño de maquinas automáticas o robots, con
objeto de dotarles de inteligencia humana. Estudia comparativamente los sistemas de
comunicación y regulación automática de los seres vivos con sistemas electrónicos y
mecánicos semejantes a aquéllos.
Inteligencia Artificial: Ciencia y la ingeniería de crear máquinas inteligentes, sobre
todo de programas informáticos. Está relacionada con la función de usar ordenadores
para entender la inteligencia humana, pero sin limitarse a métodos que sean
biológicamente observables.
LISP: (List Processing), Proceso de Listas. Lenguaje de programación diseñado para el
tratamiento de datos no numéricos. Se emplea mucho en la investigación de
inteligencia artificial. Fue creado por John McCarthy en 1958.
Programa: Conjunto secuenciado de instrucciones que quedan escritas en un lenguaje
determinado con unos fines específicos. Aunque en el lenguaje común con frecuencia
se denomina programa al sistema operativo, la diferencia estriba, precisamente, en la
especificidad de aquél frente al carácter de gestión global de éste.
PROLOG: (Programming In Logic), Programación en Lógica. Es un lenguaje de
programación que tiene su aplicación práctica en el desarrollo de software destinado a
sistemas expertos.
Robot: Entidad virtual o mecánica artificial. En la práctica, esto es por lo general un
sistema electromecánico que, por su apariencia o sus movimientos, ofrece la sensación
de tener un propósito propio.
Robótica: Estudia el diseño y construcción de máquinas capaces de desempeñar
tareas realizadas por el ser humano o que requieren del uso de inteligencia.
Teorema: Proposición que afirma una verdad demostrable. Consta de tres partes:
hipótesis (lo que se supone), tesis (lo que se va a demostrar) y demostración (la prueba
de la tesis).
19
Sistema Basado en el Conocimiento: Sub-campo de la Inteligencia Artificial
concerniente a la adquisición, representación y aplicación de conocimientos. Disciplina
de la Ingeniería por la cual el conocimiento se integra dentro de un sistema de
computador para resolver problemas complejos que normalmente requieren un alto
nivel de conocimiento.
Sistemas de Bases de Datos: son un tipo de software muy específico, dedicado a
servir de interfaz entre las bases de datos y las aplicaciones que la utilizan. Se
compone de un lenguaje de definición de datos, de un lenguaje de manipulación de
datos y de un lenguaje de consulta.
Anexos:
Anexo 1
LISP PROLOG
Anexo 2
A continuación un ejemplo, traducido, de interacción entre SIR y un usuario:
20
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.
Anexo 3
A continuación mostramos un ejemplo traducido:
21
Anexo 4
Estructura de un Algoritmo Gen ético Simple:
Anexo 5
5.1 Robot impulsado neumáticamente. 5.2 Equipados con servomecanismos
5.3 Robot Punto a Punto 5.4 Controlado por un acomputadora
22
5.5 Con capacidades sensoriales 5.6 Robots Mosquitos
Referencias
Cristina Loyo, O. P. (s.f.). La Programación Lógica y el Prolog. México: LANIA, A.C.
Estivill-Castro, V. (s.f.). ¿Por Qué Necesitamos Algoritmos Eficientes? México: LANIA,
A.C.
Feigenbaum, E. A. (1989). The handbook de la Inteligencia Artificial. Addison-Wesley.
Jackson, P. (1990). Introducción a los Sistemas Expertos. Addison-Wesley.
Mikell, P. G. (1994). Robótica Industrial. Mc Graw Hill.
Newell, A. (1974). Simulación del Pensamiento Humano. Teorema Vol. IV No. 3, 336.
Shapiro, S. C. (1992). Enciclopedia de Inteligencia Artificial. John Wiley & Sons.
Torres, J. M. (s.f.). Redes de Neuronas y Clasificación. México: LANIA, A.C.
Winston, P. H. (1994). Inteligencia Artificial. Addison-Wesley.
23