Aplicaciones de la Inteligencia Artificial
Introducción a la Inteligencia Artificial
Concepto de Inteligencia Artificial:
La Inteligencia Artificial (I.A, por simplificar) es una rama de la
Informática que trata de enfocar el concepto de Inteligencia en las
máquinas. Según el Diccionario de la Real Academia Española,
Inteligencia es: “Potencia Intelectual, facultad de entender, de
conocer, de entender o comprender.” La I.A persigue dos clases de metas:
Metas Científicas, al saber como funciona el Cerebro Humano y de
Ingeniería, ya que persigue el objetivo de crear sistemas Inteligentes.
Algunas personas creen que las placas de silicio (Circuitos) no podrán
pensar jamás y que la materia cerebral esta diseñada explícitamente para
ello. Otros creen que esto será posible algún día. Sorprendentemente
los científicos han encontrado seres unicelulares que pueden ser
explicados como máquinas, como el Bacteriógrafo E6, que inyecta ADN
vírico en una célula y ensambla los virus resultantes, este
comportamiento es igual al de una máquina, por lo que se ha estudiado su
ADN y se ha descubierto que tiene 1 830 137 pares de bases que serían
aproximadamente 3,6 x 106 bits (Aproximadamente 360 Kb). Hay 4 conceptos
variados sobre I.A:
- Sistemas que piensan como humanos: Sistemas con procesos de pensamiento humano.
- Sistemas que actúen como humanos: Sistemas que al realizar trabajos requieran inteligencia.
- Sistemas que piensen racionalmente: Se enfoca en el estudio de las facultades mentales.
- Sistemas que actúen racionalmente: Se enfoca en el diseño de agentes inteligentes.
Aplicaciones de la I.A: Existen varias y son:
- Tratamiento de Lenguajes Naturales: Capacidad de Traducción, Órdenes a un Sistema Operativo, Conversación Hombre-Máquina, etc.
- Sistemas Expertos: Sistemas que se les implementa experiencia para conseguir deducciones cercanas a la realidad.
- Robótica: Navegación de Robots Móviles, Control de Brazos móviles, ensamblaje de piezas, etc.
- Problemas de Percepción: Visión y Habla, reconocimiento de voz, obtención de fallos por medio de la visión, diagnósticos médicos, etc.
- Aprendizaje: Modelización de conductas para su implante en computadoras.
- Prueba de Turing
En
los comienzos de la I.A se daban grandes listas de lo que un sistema de
I.A debía cumplir para serlo. Alan Turing, propuso un Test en 1950,
para acabar con estas listas tan largas e inútiles, ya que lo único que
buscaban era imitar al ser humano y no desarrollar una I.A científica.
Turing basó su prueba en una entrevista entre un humano con un
computador y otro humano ocultos, de manera que ninguno se pueda ver. Si
el entrevistador no puede distinguir las respuestas dadas por el hombre
y la máquina, se puede hablar de un Sistema Inteligente. Esta prueba
merece ser reconocida, ya que no ha perdido validez hasta hoy. Para
poder superar la Prueba de Turing original, el computador debe contar
con:
- Procesamiento del Lenguaje Natural que permita comunicarse perfectamente en inglés.
- Representación del Conocimiento para almacenar lo que se conoce o siente.
- Razonamiento Automático, para usar la información almacenada para responder a preguntas o extraer conclusiones.
- Aprendizaje Automático, para adaptarse a muchas circunstancias y para detallar y extrapolar patrones.
Existe
una variante de la Prueba de Turing: La Prueba Global de Turing, esta
además de exigir lo anterior, incluye una señal de video que permite
evaluar la capacidad de visión del evaluado y además le da la capacidad
de pasar objetos a través de una pequeña ventana. Para que el computador
pase esta variante, se requiere además de lo anterior:
- Visión Computacional, para percibir objetos.
- Robótica, para manipular y mover objetos.
Como
se dijo anteriormente esta Prueba mantiene su vigencia hasta hoy (56
años), sino que además revolucionó la I.A ya que propuso estudiar la
Inteligencia en lugar de emularla. Bajo un concepto similar, los
hermanos Wright, crearon la aviación: Al comprender los principios
aerodinámicos y al dejar de imitar a los pájaros.
- Visión Artificial:
Hasta
ahora los agentes usaban formas sensoriales demasiado limitadas. La
Visión por Computador, es uno de los campos más extensos de la I.A ya
que influyen muchos aspectos. La Visión para los humanos no es ningún
problema, pero para las máquinas es un campo muy complicado. Influyen
Texturas, Luminosidad, Sombras, Objetos Complejos, etc. El primer paso
es captar la imagen mediante una cámara de TV. Las imágenes a color
tienen una matriz I(x,y,t); donde x y y nos indican la ubicación de un
punto en la matriz de colores y t, nos indica el tiempo.
Este
proceso obtiene una imagen invertida, pero simplemente rotarla no nos
dará la visión del terreno. Influyen muchos elementos haciendo a este
proceso complicado.
En la actualidad, algunos Robots emiten una
señal y la reciben generando bajo esto una especie de espacio, esta
forma de “ver” es muy rústica, pero se sigue usando ya que
desafortunadamente es imposible lograr una reconstrucción de la imagen
capturada. Y aunque así fuera, las computadoras no podrían distinguir un
objeto de juguete y uno real. Lo peor es que los modelos que existen
tratan de resolver esto de forma muy complicada. Al proceso de captar
imágenes podemos dividirlo en: Bajo Nivel, Nivel Medio y Alto Nivel. El
primero se encarga de suavizar y quitar ruido a la imagen y de extraer
características de la imagen bidimensional, en particular de las
aristas, el segundo se encarga de agrupar estas aristas para formar
imágenes bidimensionales y la tercera de usar estas imágenes para
reconocer objetos del mundo real. Generalmente las imágenes captadas por
los robots son suficientes para sus propósitos.
- Redes Neuronales
En
biología, las neuronas tienen un cuerpo circular y una serie de
ramificaciones: El axón y las dendritas. El axón transporta la señal de
salida otra célula y las dendritas permiten que la información llegue a
la neurona. Las conexiones intermedias se llaman Sinapsis, si la neurona
pasa el umbral impuesto por la sinapsis, se dispara, caso contrario no
hace nada. Esto la asemeja a dispositivos digitales, siendo esta la base
de la Redes Neuronales, que buscan imitar a la neurona en términos
computacionales. Se hace esto ya que se considera que la neurona es la
base de la capacidad de aprendizaje. No obstante la emulación de la
neurona no es perfecta, a la fecha se investigan algunas cualidades
importantes como la Computación Distribuida para tolerar Ruido
(Distorsión) en la entrada y para el aprendizaje. Cada conexión Neuronal
computacional posee un peso numérico que limita la fuerza con la que el
impulso sale de la neurona, de no ser así la información crecería
demasiado con resultados imprevisibles. Las Redes Neuronales reconocen
solo dos estados: 0 (No hay impulso) y 1 (Si lo hay), esto las asemeja a
las compuertas lógicas de cualquier tipo: AND, XOR, OR, etc. (Para ver
las Compuertas Lógicas más comunes, véase el Anexo
- Sistemas Expertos
Son
programas de computación inteligentes que usan conocimientos y procesos
de inferencia, para resolver problemas sumamente difíciles para un
humano ya que requerirían de mucha experiencia. En sí un Sistema
Experto; emula la capacidad de experiencia de un ser humano para tomar
decisiones. Aunque los Sistemas Expertos se centran el domino del
problema, no tienen conocimientos mas allá de donde fueron programados,
esto es, no relaciona ningún otro concepto, a menos que este
específicamente indicado. A este conocimiento se le llama Dominio del
Conocimiento y como ya se apuntó es muy cerrado. Los Sistemas Expertos
se basan en las Redes Neuronales. Sus partes son: La Base del
Conocimiento, el Motor de Inferencia, el Subsistema de Explicación y la
Interfaz.
- La Base del Conocimiento: Aquí están almacenados todos los datos que el Sistema Experto tiene para tomar decisiones.
- El Motor de Inferencias: Contiene todos los procesos que manipulan la Base del Conocimiento, para deducir la información pedida por el usuario. (Por Ejemplo, resolución, encadenamiento atrás hacia delante, etc).
- El Subsistema de Explicación analiza la estructura del razonamiento y da una explicación al usuario.
- La Interfaz, que es el puente de comunicación entre el sistema y el usuario.
- Robótica
Es
uno de los campos de aplicación más apasionantes de la I.A; los Robots
son agentes físicos que realizan tareas mediante la manipulación física
del mundo; por ser agentes y realizar su trabajo en forma autónoma, se
excluyen a los robots que son controlados por un operario humano, como
son los que hacen tareas de rutina, ya que la I.A busca robots con
sistemas autónomos. La palabra Robot, proviene de la voz eslovaca Robota,
que significa Trabajador Forzado. En realidad esta rama comenzó como
una historia de Ciencia Ficción, pero interesó mucho a los
desarrolladores de I.A. Los primeros Robots, solo podían seguir una
línea blanca pintada en el suelo. En la actualidad este campo a avanzado
tremendamente.
Clases:
- Robots Manipuladores: Son brazos robóticos que están fijos en un lugar de trabajo y se usan generalmente para ensamblar piezas, aunque también hay brazos usados para ayudar en hospitales o incluso brazos que pintan lienzos con resultados muy originales.
- Robots Móviles: Se desplazan por el medio usando ruedas, piernas u otros. Hay 3 variantes: ULV (Vehículo Terrestre sin Tripulación, en inglés), son robots que permiten un desplazamiento autónomo por autopistas. UAV (Vehículo Aéreo sin Tripulación, en Inglés), son robots que permiten operaciones de fumigación autónoma, así como de vigilancia o militares. AUV (Vehículo Submarino sin Tripulación), son robots que permiten exploraciones marinas autónomas o incluso paseos planetarios.
- Robots Humanoides: Son un tipo de Robots que se asemejan al torso humano. Esta clase usa sus efectores mejor que los otros tipos, pero son mucho mas complejas que los otros robots.
Hardware Robótico:
- Sensores: Hay 2 clases, los Sensores Pasivos, que solo recogen información del medio, su desventaja es que su margen de error es alto, y los Sensores Activos, que emiten energía al medio y la reciben para usarla para las mediciones. Su única desventaja es que a más se implementen en un robot, mayor es el riesgo de interferencia. Su ventaja es que su margen de error es mínimo. Existen algunos que merecen ser mencionados:
- Escáneres de Rango: Miden la distancia.
- Sistemas Táctiles: Sensores sensibles al tacto.
- GPS: Calculan la posición absoluta del robot en la tierra.
- Sensores de Imagen: Permiten obtener imágenes y procesarlas.
- Sensores Perceptores: Informan al robot de su propio estado.
- Decodificadores de Ejes: Permiten medir las revoluciones de los motores para usarlas en mediciones, en odometría. Este proceso es muy propenso a error debido a desgaste físico.
- Sensores Inerciales: Una alternativa al decodificador de ejes, pero no soluciona mucho.
- Sensores de Fuerza y Tensión: Le indican al robot con cuanta fuerza está cogiendo algo y con cuanta fuerza lo está girando.
- Efectores: Existen varias clases:
- Articuladores de Revolución: Generan movimiento rotacional.
- Articulación Prismática: Genera desplazamiento lateral.
Las
personas contamos con los 6 grados de libertad (x, y, z, que nos
localizan en el espacio y desvió, balanceo y cabeceo: Yaw, Roll y
Pitch). Los robots tienen todos o algunos de estos grados de libertad.
Los
robots no holomínicos son aquellos que tienen más grados de libertad
efectivos que controlables, y los holomínicos son los que tienen el
mismo número, sin embargo los holomínicos aunque son fáciles de manejar,
son más complejos de desarrollar.
- Los Robots de Impulsión poseen 2 ruedas; como un tanque y cada rueda se mueve independientemente de la otra.
- La Conducción Sincronizada se da cuando pueden girar y moverse en su propio eje.
- Un Robot es dinámicamente estable si puede mantenerse en pie mientras camina.
- Un Robot es estáticamente estable, si el centro de gravedad está encima del polígono que une a sus piernas.
No
obstante, no solo las partes hacen funcionar al Robot, se necesita una
fuente de energía para hacer funcionar sus efectores, la más popular es
el motor electrónico, aunque también hay modelos hidráulicos y
neumáticos.
Aplicaciones:
- Industria y Agricultura: Los Robots han sido usados en entornos peligrosos para el hombre y en muchas ocasiones son más rentables que trabajadores humanos. En la Agricultura, los Robots, están siendo usados para sustituir las grandes máquinas usadas para excavar, cosechar, etc. Por ahora son prototipos, pero pronto remplazarán a los humanos en estas tareas.
- Transporte: Los robots han servido mucho aquí: Desde helicópteros autónomos hasta sillas de ruedas automáticas, e incluso portadores de carga que superan a humanos especializados. Incluso algunos ayudan transportando cosas en los hospitales, como el Robot Helpmate.
- Entornos Peligrosos: Los Robots ayudaron en la limpieza de lugares de accidentes nucleares como Chernobyl, Three Mile Island. Incluso estuvieron en la búsqueda y limpieza durante el colapso del World Trade Center, ingresando a entornos muy peligrosos, además hay otros que desactivan bombas o limpian campos minados.
- Exploración: Los Robots han explorado lugares inaccesibles para la gente, como Marte y los Volcanes. Incluso existen los Drones, vehículos aéreos autónomos usados para fines militares.
- Salud: Los Robots son usados para ayudar en operaciones de alto riesgo, también sirven de ayuda a los ancianos como andadores robóticos o juguetes que recuerdan cuando tomar la medicación.
- Servicios Personales: Algunos robots pueden prestar servicio en el hogar, como aspirar el hogar, cortar el césped e incluso remplazar los quioscos por quioscos robóticos.
- Entretenimiento: Los robots han empezado a conquistar la industria de los juguetes, por ejemplo el robot-perro Sony AIBO; está siendo usado para estudios de I.A en todo el mundo, siendo a la vez un juguete. En 1995 se inició el torneo de fútbol de robots autónomos Robocup, cuyo objetivo es lograr que robots autónomos ganen un partido de fútbol. Esto está provocando una investigación más eficiente de la I.A, como a su vez darle algo de animación al campo.
- Aumento Humano: Se han creado máquinas que puede transportar gente, además se investiga como aumentar la fuerza de las personas usando partes robóticas. Hay además proyectos de Robots que se asemejan al ser humano, aunque en forma muy superficial. Estos Robot están en venta por algunas compañías en Japón.
Es el medio principal por el que las personas se comunican, sirve para:
- Informar: Para no repetir los mismos errores.
- Preguntar: Para recabar información sobre el resto del mundo.
- Compartir experiencias.
Los sistemas computacionales presentan algunos problemas al intentar estudiar el lenguaje:
- Descripciones Incompletas: Muchas cosas deben deducirse.
- Ambigüedad de Significado: La misma frase en contextos distintos significa cosas diferentes.
- No Completitud: Los lenguajes naturales tienen siempre nuevas palabras.
- Ambigüedad de Expresión: Un mismo significado puede ser dicho de muchas formas.
- Dependencia de Idioma: El procesamiento del lenguaje natural será distinto en otro idioma.
Hay que pensar porqué un agente necesita hablar, cuando puede hacer una acción. Comunicarse le da las siguientes ventajas:
- Aceptación de Peticiones
- Solicitar la realización de acciones
- Prometer o comprometerse a un plan.
Tipos de Lenguaje:
- Lenguajes Formales: Son lenguajes en los que están muy bien definidos lo que se puede y no puede decir. Sus definiciones son muy estrictas, a estos lenguajes pertenecen los Lenguajes de Programación (ASM, C++, Basic, Java, etc).
- Lenguajes Naturales: Son lenguajes que, al contrario de los formales tienen una gramática más flexible y se pueden añadir nuevas palabras. A estos lenguajes pertenecen los lenguajes del mundo (Inglés, Danés, Español, etc).
Aplicaciones:
- Basadas en Texto: Encontrar documentos relacionados con ciertos temas en una base de datos documental, extraer información de mensajes y artículos, traducir texto entre idiomas y resumir texto.
- Basadas en Diálogo:
Síntesis del control en un lenguaje natural, donde la salida puede ser
un comando a un sistema operativo, un robot, etc; sistema automático de
mensajes, compras por teléfono, sistema de acceso a una base de datos en
lenguaje natural y sistemas tutores.
Redes Neuronales
Según indica Federico Fuentes, del departamento de Economía, redes neuronales son un modelo artificial y simplificado del cerebro humano, que permite emular características propias de los seres humanos como la capacidad de memorizar y asociar hechos. Los investigadores lo usan para predecir el comportamiento futuro de los visitantes de la página y de esa forma conseguir una personalización de estilo o contenido adaptada a los usuarios y comportamientos futuros.
El apoyo de las técnicas basadas en el comportamiento de las hormigas permite comprobar la usabilidad del sitio web así como optimizar los recorridos del usuario por los diferentes nodos del sitio. La aplicación empírica de ésta metodología ha sido probada en el análisis del diseño y comprobación de la usabilidad y accesibilidad del sitio web de una compañía aérea.
Según indica Federico Fuentes, del departamento de Economía, redes neuronales son un modelo artificial y simplificado del cerebro humano, que permite emular características propias de los seres humanos como la capacidad de memorizar y asociar hechos. Los investigadores lo usan para predecir el comportamiento futuro de los visitantes de la página y de esa forma conseguir una personalización de estilo o contenido adaptada a los usuarios y comportamientos futuros.
El apoyo de las técnicas basadas en el comportamiento de las hormigas permite comprobar la usabilidad del sitio web así como optimizar los recorridos del usuario por los diferentes nodos del sitio. La aplicación empírica de ésta metodología ha sido probada en el análisis del diseño y comprobación de la usabilidad y accesibilidad del sitio web de una compañía aérea.