33
Instituto Tecnológico de Saltillo Inteligencia Artificial Ing. Luis Enrique Castañuela Fuentes Temas de Unidad 5 Aplicaciones con técnicas de IA

Unidad 5 de Inteligencia Artificial Sistemas computacionales

Embed Size (px)

Citation preview

Page 1: Unidad 5 de Inteligencia Artificial Sistemas computacionales

Instituto Tecnológico de Saltillo

Inteligencia ArtificialIng. Luis Enrique Castañuela Fuentes

Temas de Unidad 5Aplicaciones con técnicas de IA

Alumno

Lorenzo Antonio Flores Pérez

Page 2: Unidad 5 de Inteligencia Artificial Sistemas computacionales

Índice5.1. Robótica..........................................................................................................................1

5.1.1. Conceptos básicos..................................................................................................................15.1.2. Clasificación..........................................................................................................................1

Según su Tipo....................................................................................................................................1Según su Generación.........................................................................................................................2Según su Arquitectura......................................................................................................................2

5.1.3. Desarrollos actuales y aplicaciones........................................................................................3Industria............................................................................................................................................3Laboratorios......................................................................................................................................4Manipuladores cinematicos..............................................................................................................4Agricultura........................................................................................................................................4Espacio...............................................................................................................................................5Vehículos submarinos.......................................................................................................................5Educación..........................................................................................................................................5

5.2. Redes Neuronales (RN)....................................................................................................65.2.1. Conceptos básicos..................................................................................................................75.2.2. Clasificación..........................................................................................................................75.2.3. Desarrollos actuales y aplicaciones........................................................................................8

5.3. Visión artificial..............................................................................................................105.3.1. Conceptos básicos................................................................................................................105.3.2. Desarrollos actuales y aplicaciones......................................................................................10

5.4. Lógica difusa (Fuzzy Logic)...........................................................................................115.4.1. Conceptos básicos................................................................................................................125.4.2. Desarrollos actuales y aplicaciones......................................................................................12

5.5. Procesamiento de Lenguaje Natural (PLN)...................................................................135.5.1. Conceptos básicos................................................................................................................145.5.2. Desarrollos actuales y aplicaciones......................................................................................14

Tecnologías del habla......................................................................................................................14Tecnologías del texto.......................................................................................................................15

5.6. Sistemas Expertos (SE)..................................................................................................155.6.1. Conceptos básicos................................................................................................................165.6.2. Clasificación........................................................................................................................165.6.3. Desarrollos actuales y aplicaciones......................................................................................17

Page 3: Unidad 5 de Inteligencia Artificial Sistemas computacionales

5.1. Robótica.La Robótica es la ciencia encaminada a diseñar y construir aparatos y sistemas capaces de realizar tareas propias de un ser humano.

Con esta definición tan general, la palabra 'robótica' cubre muchos conceptos diferentes, pero todos giran en torno a la misma idea.

Con la aparición del concepto 'robot' a principios de siglo XX, se dio el pistoletazo de salida para el desarrollo de sistemas cada vez más autónomos.

Un robot autónomo es un dispositivo robótico capaz de operar por sí mismo, en la robótica de servicio es donde más se están prodigando los robots de servicio. ¿En qué tipo de situaciones puede ser interesante un robot que sea completamente autónomo? por ejemplo en entornos hostiles:Conflictos bélicos.Exploración espacial.Exploración submarina.Rescate en catástrofes.Pero sin irnos tan lejos, la robótica de servicio combinada con la robótica inteligente nos permitirá en un futuro tener conductores autónomos para nuestros coches, entre otras cosas. Que estas metas se consigan antes o después dependerá de la financiación que las instituciones y mecenas sitúen en los diferentes proyectos de investigación que se desarrollan en el mundo.

5.1.1. Conceptos básicos.

Robótica: es una ciencia o rama de la tecnología, que estudia el diseño y la construcción de máquinas capaces de desempeñar tareas realizadas por el ser humano o que requieren del uso de inteligencia. Las ciencias y tecnologías de las que deriva podrían ser: el álgebra, los autómatas programables, las máquinas de estados, la mecánica o la informática.

Robot: es una máquina programable que puede manipular objetos y realizar operaciones que antes sólo podían realizar los seres humanos.

5.1.2. Clasificación.

Según su Tipo

Robots FísicosRobótica Industrial: Es la parte de la Ingeniería que se dedica a la construcción de máquinas capaces de realizar tareas mecánicas y repetitivas de una manera muy eficiente y con costes reducidos.Robótica de Servicio: Es la parte de la Ingeniería que se centra en el diseño y construcción de máquinas capaces de proporcionar servicios directamente a los miembros que forman sociedad.

1

Page 4: Unidad 5 de Inteligencia Artificial Sistemas computacionales

Robótica Inteligente: Son robots capaces de desarrollar tareas que, desarrolladas en un ser humano, requieren el uso de su capacidad de razonamiento.Robótica Humanoide: Es la parte de la ingeniería que se dedica al desarrollo de sistemas robotizados para imitar determinadas peculiaridades del ser humano.

Robots SoftwareRobótica de Exploración: Es la parte de la Ingeniería del Software que se encarga de desarrollar programas capaces de explorar documentos en busca de determinados contenidos. Existen diversos servicios en Internet dedicados a esta parcela de la robótica.

Según su Generación

1ª Generación.Manipuladores. Son sistemas mecánicos multifuncionales con un sencillo sistema de control, bien manual, de secuencia fija o de secuencia variable.

2ª Generación.Robots de aprendizaje. Repiten una secuencia de movimientos que ha sido ejecutada previamente por un operador humano. El modo de hacerlo es a través de un dispositivo mecánico. El operador realiza los movimientos requeridos mientras el robot le sigue y los memoriza.

3ª Generación.Robots con control sensorizado. El controlador es una computadora que ejecuta las órdenes de un programa y las envía al manipulador para que realice los movimientos necesarios.

4ª Generación.Robots inteligentes. Son similares a los anteriores, pero además poseen sensores que envían información a la computadora de control sobre el estado del proceso. Esto permite una toma inteligente de decisiones y el control del proceso en tiempo real.

Según su Arquitectura

La arquitectura, es definida por el tipo de configuración general del Robot, puede ser metamórfica. El concepto de metamorfismo, de reciente aparición, se ha introducido para incrementar la flexibilidad funcional de un Robot a través del cambio de su configuración por el propio Robot. El metamorfismo admite diversos niveles, desde los más elementales (cambio de herramienta o de efecto terminal), hasta los más complejos como el cambio o alteración de algunos de sus elementos o subsistemas estructurales. Los dispositivos y mecanismos que pueden agruparse bajo la denominación genérica del Robot, tal como se ha indicado, son muy diversos y es por tanto difícil establecer una clasificación coherente de los mismos que resista un análisis crítico y riguroso. La subdivisión de los Robots, con base en su arquitectura, se hace en los siguientes grupos: Poliarticulados, Móviles, Androides, Zoomórficos e Híbridos.

2

Page 5: Unidad 5 de Inteligencia Artificial Sistemas computacionales

5.1.3. Desarrollos actuales y 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 teleoperados en el transbordador 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.

Aplicaciones en diversos sectores:

IndustriaLos robots son utilizados por una diversidad de procesos industriales como lo son : la soldadura de punto y soldadura de arco, pinturas de spray, transportación de materiales, molienda de materiales, moldeado en la industria plástica, máquinas-herramientas, y otras más.A continuación se hará una breve explicación de algunas de ellas.Aplicación de transferencia de materialLas aplicaciones de transferencia de material se definen como operaciones en las cuales el objetivo primario es mover una pieza de una posición a otra. Se suelen considerar entre las operaciones más sencillas o directas de realizar por los robots. Las aplicaciones normalmente necesitan un robot poco sofisticado, y los requisitos de enclavamiento con otros equipos son típicamente simples.

Carga y descarga de maquinas.Estas aplicaciones son de manejos de material en las que el robot se utiliza para servir a una máquina de producción transfiriendo piezas a/o desde las máquinas. Existen tres casos que caen dentro de ésta categoría de aplicación:1. Carga/Descarga de Máquinas. El robot carga una pieza de trabajo en bruto en el proceso y descarga una pieza acabada. Una operación de mecanizado es un ejemplo de este caso.

Carga de máquinas. El robot debe de cargar la pieza de trabajo en bruto a los materiales en las máquinas, pero la pieza se extrae mediante algún otro medio. En una operación de prensado, el robot se puede programar para cargar láminas de metal en la prensa, pero las piezas acabadas se permite que caigan fuera de la prensa por gravedad.

Descarga de máquinas. La máquina produce piezas acabadas a partir de materiales en bruto que se cargan directamente en la máquina sin la ayuda de robots. El robot descarga la pieza de la máquina. Ejemplos de ésta categoría incluyen aplicaciones de fundición de troquel y moldeado plástico.

La aplicación se tipifica mejor mediante una célula de trabajo con el robot en el centro que consta de la máquina de producción, el robot y alguna forma de entrega de piezas.

3

Page 6: Unidad 5 de Inteligencia Artificial Sistemas computacionales

4

Page 7: Unidad 5 de Inteligencia Artificial Sistemas computacionales

Operaciones de procesamiento.Además de las aplicaciones de manejo de piezas, existe una gran clase de aplicaciones en las cuales el robot realmente efectúa trabajos sobre piezas. Este trabajo casi siempre necesita que el efector final del robot sea una herramienta en lugar de una pinza.

Por tanto la utilización de una herramienta para efectuar el trabajo es una característica distinta de este grupo de aplicaciones. El tipo de herramienta depende de la operación de procesamiento que se realiza.

LaboratoriosLos robots están encontrando un gran número de aplicaciones en los laboratorios. Llevan acabo con efectividad tareas repetitivas como la colocación de tubos de pruebas dentro de los instrumentos de medición. En ésta etapa de su desarrollo los robots son utilizados para realizar procedimientos manuales automatizados. Un típico sistema de preparación de muestras consiste de un robot y una estación de laboratorio, la cual contiene balanzas, dispensarios, centrifugados, racks de tubos de pruebas, etc.

Manipuladores cinematicosLa tecnología robótica encontró su primer aplicación en la industria nuclear con el desarrollo de teleoperadores para manejar material radiactivo. Los robots más recientes han sido utilizados para soldar a control remoto y la inspección de tuberías en áreas de alta radiación. El accidente en la planta nuclear de Three Mile Island en Pennsylvania en 1979 estimuló el desarrollo y aplicación de los robots en la industria nuclear. El reactor numero 2 (TMI-2) predio su enfriamiento, y provocó la destrucción de la mayoría del reactor, y dejo grandes áreas del reactor contaminadas, inaccesible para el ser humano. Debido a los altos niveles de radiación las tareas de limpieza solo eran posibles por medios remotos. Varios robots y vehículos controlados remotamente han sido utilizados para tal fin en los lugares donde ha ocurrido una catástrofe de este tipo. Ésta clase de robots son equipados en su mayoría con sofisticados equipos para detectar niveles de radiación, cámaras, e incluso llegan a traer a bordo un minilaboratorio para hacer pruebas.

AgriculturaPara muchos la idea de tener un robot agricultor es ciencia ficción, pero la realidad es muy diferente; o al menos así parece ser para el Instituto de Investigación Australiano, el cual ha invertido una gran cantidad de dinero y tiempo en el desarrollo de este tipo de robots. Entre sus proyectos se encuentra una máquina que esquila a la ovejas. La trayectoria del cortador sobre el cuerpo de las ovejas se planea con un modelo geométrico de la oveja.

Para compensar el tamaño entre la oveja real y el modelo, se tiene un conjunto de sensores que registran la información de la respiración del animal como de su mismo tamaño, ésta es mandada a una computadora que realiza las compensaciones necesarias y modifica la trayectoria del cortador en tiempo real.

Debido a la escasez de trabajadores en los obradores, se desarrolla otro proyecto, que consiste en hacer un sistema automatizado de un obrador, el prototipo requiere un alto nivel de coordinación

5

Page 8: Unidad 5 de Inteligencia Artificial Sistemas computacionales

entre una cámara de vídeo y el efector final que realiza en menos de 30 segundos ocho cortes al cuerpo del cerdo.

EspacioLa exploración espacial posee problemas especiales para el uso de robots. El medio ambiente es hostil para el ser humano, quien requiere un equipo de protección muy costoso tanto en la Tierra como en el Espacio. Muchos científicos han hecho la sugerencia de que es necesario el uso de Robots para continuar con los avances en la exploración espacial; pero como todavía no se llega a un grado de automatización tan precisa para ésta aplicación, el ser humano aún no ha podido ser reemplazado por estos. Por su parte, son los teleoperadores los que han encontrado aplicación en los transbordadores espaciales.

En Marzo de 1982 el transbordador Columbia fue el primero en utilizar este tipo de robots, aunque el ser humano participa en la realización del control de lazo cerrado.

Algunas investigaciones están encaminadas al diseño, construcción y control de vehículos autónomos, los cuales llevarán a bordo complejos laboratorios y cámaras muy sofisticadas para la exploración de otros planetas.

En Noviembre de 1970 los Rusos consiguieron el alunizaje del Lunokhod 1, el cual poseía cámaras de televisión, sensores y un pequeño laboratorio, era controlado remotamente desde la tierra. En Julio de 1976, los Norteamericanos aterrizaron en Marte el Viking 1, llevaba abordo un brazo robotizado, el cual recogía muestras de piedra, tierra y otros elementos las cuales eran analizados en el laboratorio que fue acondicionado en el interior del robot. Por supuesto también contaba con un equipo muy sofisticado de cámaras de vídeo.

Vehículos submarinosDos eventos durante el verano de 1985 provocaron el incremento por el interés de los vehículos submarinos. En el primero - Un avión de la Air Indian se estrelló en el Océano Atlántico cerca de las costas de Irlanda - un vehículo submarino guiado remotamente, normalmente utilizado para el tendido de cable, fue utilizado para encontrar y recobrar la caja negra del avión. El segundo fue el descubrimiento del Titanic en el fondo de un cañón, donde había permanecido después del choque con un iceberg en 1912, cuatro kilómetros abajo de la superficie. Un vehículo submarino fue utilizado para encontrar, explorar y filmar el hallazgo.

En la actualidad muchos de estos vehículos submarinos se utilizan en la inspección y mantenimiento de tuberías que conducen petróleo, gas o aceite en las plataformas oceánicas; en el tendido e inspección del cableado para comunicaciones, para investigaciones geológicas y geofísicas en el suelo marino.

EducaciónLos robots están apareciendo en los salones de clases de tres distintas formas. Primero, los programas educacionales utilizan la simulación de control de robots como un medio de enseñanza. Un ejemplo palpable es la utilización del lenguaje de programación del robot Karel, el cual es un subconjunto de Pascal; este es utilizado por la introducción a la enseñanza de la programación.

6

Page 9: Unidad 5 de Inteligencia Artificial Sistemas computacionales

El segundo y de uso más común es el uso del robot tortuga en conjunción con el lenguaje LOGO para enseñar ciencias computacionales. LOGO fue creado con la intención de proporcionar al estudiante un medio natural y divertido en el aprendizaje de las matemáticas.

5.2. Redes Neuronales (RN).

Las Redes Neuronales (RN) fueron originalmente una simulación abstracta de los sistemas nerviosos biológicos, formados por un conjunto de unidades llamadas "neuronas" o "nodos" conectadas unas con otras. Estas conexiones tienen una gran semejanza con las dendrítas y losaxones en los sistemas nerviosos biológicos.

En términos generales, el Primer modelo de red neuronal fue propuesto en 1943 por McCulloch y Pitts en términos de un modelo computacional de "actividad nerviosa". El modelo de McCulloch-Pitts es un modelo binario, y cada neurona tiene un escalón o umbral prefijado. Este primer modelo sirvió de ejemplo para los modelos posteriores de Jhon Von Neumann, Marvin Minsky, Frank Rosenblatt, y muchos otros.

Historia de las redes neuronales.

1936 - Alan Turing. Fue el primero en estudiar el cerebro como una forma de ver el mundo de la computación. Sin embargo, los primeros teóricos que concibieron los fundamentos de la computación neuronal fueron Warren McCulloch, un neurofisiólogo, y Walter Pitts, un matemático, quienes, en 1943, lanzaron una teoría acerca de la forma de trabajar de las neuronas (Un Cálculo Lógico de la Inminente Idea de la Actividad Nerviosa - Boletín de Matemática Biofísica 5: 115-133). Ellos modelaron una red neuronal simple mediante circuitos eléctricos.

1956 - Congreso de Dartmouth. Este Congreso frecuentemente se menciona para indicar el nacimiento de la inteligencia artificial.

1957 - Frank Rosenblatt. Comenzó el desarrollo del Perceptron. Esta es la red neuronal más antigua; utilizándose hoy en día para aplicación como identificador de patrones. Este modelo era capaz de generalizar, es decir, después de haber aprendido una serie de patrones podía reconocer otros similares, aunque no se le hubiesen presentado en el entrenamiento. Sin embargo, tenía una serie de limitaciones, por ejemplo, su incapacidad para resolver el problema de la función OR-exclusiva y, en general, era incapaz de clasificar clases no separables linealmente.

1960 - Bernard Widroff/Marcian Hoff. Desarrollaron el modelo Adaline (ADAptative LINear Elements). Esta fue la primera red neuronal aplicada a un problema real (filtros adaptativos para eliminar ecos en las líneas telefónicas) que se ha utilizado comercialmente durante varias décadas.

1986 - David Rumelhart/G. Hinton. Redescubrieron el algoritmo de aprendizaje de propagación hacia atrás (backpropagation). A partir de 1986, el panorama fue alentador con respecto a las investigaciones y el desarrollo de las redes neuronales. En la actualidad, son numerosos los trabajos que se realizan y publican cada año, las aplicaciones nuevas que surgen (sobretodo en el

7

Page 10: Unidad 5 de Inteligencia Artificial Sistemas computacionales

área de control) y las empresas que lanzan al mercado productos nuevos, tanto hardware como software (sobre todo para simulación).

8

Page 11: Unidad 5 de Inteligencia Artificial Sistemas computacionales

5.2.1. Conceptos básicos.Redes Neuronales: son una rama de la Inteligencia Artificial. En las redes neuronales el conocimiento se incorpora mediante el aprendizaje a partir de ejemplos.

5.2.2. Clasificación.Una primera clasificación de los modelos de RN podría ser, atendiendo a su similitud con la realidad biológica:

Los modelos de tipo biológico. Este comprende las redes que tratan de simular los sistemas neuronales biológicos así como las funciones auditivas o algunas funciones básicas de la visión.El modelo dirigido a aplicación. Estos modelos no tienen porque guardar similitud con los sistemas biológicos. Sus arquitecturas están fuertemente ligadas a las necesidades de las aplicaciones para las que son diseñados.

Redes Neuronales de tipo BiológicoSe estima que el cerebro humano contiene más de cien mil millones de neuronas y sinápsis en el sistema nervioso humano. Estudios sobre la anatomía del cerebro humano concluyen que hay más de 1000 sinápsis a la entrada y a la salida de cada neurona. Es importante notar que aunque el tiempo de conmutación de la neurona (unos pocos milisegundos) es casi un millón de veces menor que en las actuales elementos de las computadoras, ellas tienen una conectividad miles de veces superior que las actuales supercomputadoras.

El objetivo principal de de las redes neuronales de tipo biológico es desarrollar un elemento sintético para verificar las hipótesis que conciernen a los sistemas biológicos.

Las neuronas y las conexiones entre ellas (sinápsis) constituyen la clave para el procesado de la información.La mayor parte de las neuronas poseen una estructura de árbol llamadas dendritas que reciben las señales de entrada que vienen de otras neuronas a través de la uniones llamadas sinápsis. Algunas neuronas se comunican solo con las cercanas, mientras que otras se conectan con miles. Hay tres partes en una neurona:

1.- El cuerpo de la neurona2.- Ramas de extensión llamadas dentrías para recibir las entradas, y3.- Un axón que lleva la salida de la neurona a las desdirías de otras neuronas.

La forma que dos neuronas interactuan no está totalmente conocida, dependiendo además de cada neurona. En general, una neurona envía su salida a otras por su axón. El axón lleva la información por medio de diferencias de potencial, u ondas de corriente, que depende del potencial de la neurona. Este proceso es a menudo modelado como una regla de propagación representada por la función de red u(.). La neurona recoge las señales por su sinápsis sumando todas las influencias excitadoras e inhibidoras. Si las influencias excitadoras positivas dominan, entonces la neurona da una señal positiva y manda este mensaje a otras neuronas por sus sinápsis de salida. En este sentido la neurona puede ser modelada como una simple función escalón f(.). Como se muestra en la próxima figura, la neurona se activa si la fuerza combinada de la señal de

9

Page 12: Unidad 5 de Inteligencia Artificial Sistemas computacionales

entrada es superior a un cierto nivel, en el caso general el valor de activación de la neurona viene dado por una función de activación f(.).

Redes Neuronales para aplicaciones concretasLas RN dirigidas a aplicación están en general poco ligadas a las redes neuronales biológicas. Ya que el conocimiento que se posee sobre el sistema nervioso en general no es completo, se han de definir otras funcionalidades y estructuras de conexión distintas a las vistas desde la perspectiva biológica. Las características principales de este tipo de RN son los siguientes:

Auto Organización y Adaptatividad: utilizan algoritmos de aprendizaje adaptativo y auto organización, por lo que ofrecen posibilidades de procesado robusto y adaptativo.

Procesado No Lineal: aumenta la capacidad de la red de aproximar, clasificar y su inmunidad frente al ruido.

Procesado paralelo: normalmente se usa un gran número de células de procesado por el alto nivel de interconectividad.

Estas características juegan un importante papel en las RN aplicadas al procesado de señal e imagen. Una red para una determinada aplicación presenta una arquitectura muy concreta, que comprende elementos de procesado adaptativo masivo paralelo combinadas con estructuras de interconexión de red jerárquica.

5.2.3. Desarrollos actuales y aplicaciones.Las redes neuronales pueden utilizarse en un gran número y variedad de aplicaciones, tanto comerciales como militares. Se pueden desarrollar redes neuronales en un periodo de tiempo razonable, con la capacidad de realizar tareas concretas mejor que otras tecnologías. Cuando se implementan mediante hardware (redes neuronales en chips VLSI), presentan una alta tolerancia a fallos del sistema y proporcionan un alto grado de paralelismo en el procesamiento de datos. Esto posibilita la inserción de redes neuronales de bajo coste en sistemas existentes y recientemente desarrollados.

Hay muchos tipos diferentes de redes neuronales; cada uno de los cuales tiene una aplicación particular más apropiada. Algunas aplicaciones comerciales son:

Biología:- Aprender más acerca del cerebro y otros sistemas.- Obtención de modelos de la retina. Empresa:- Evaluación de probabilidad de formaciones geológicas y petrolíferas.- Identificación de candidatos para posiciones específicas.- Explotación de bases de datos.- Optimización de plazas y horarios en líneas de vuelo.- Optimización del flujo del tránsito controlando convenientemente la temporización de los semáforos.- Reconocimiento de caracteres escritos.

10

Page 13: Unidad 5 de Inteligencia Artificial Sistemas computacionales

- Modelado de sistemas para automatización y control. Medio ambiente:- Analizar tendencias y patrones.- Previsión del tiempo. Finanzas:- Previsión de la evolución de los precios.- Valoración del riesgo de los créditos.- Identificación de falsificaciones.- Interpretación de firmas. Manufacturación:- Robots automatizados y sistemas de control (visión artificial y sensores de presión, temperatura, gas, etc.).- Control de producción en líneas de procesos.- Inspección de la calidad. Medicina:- Analizadores del habla para ayudar en la audición de sordos profundos.- Diagnóstico y tratamiento a partir de síntomas y/o de datos analíticos (electrocardiograma, encefalogramas, análisis sanguíneo, etc.).- Monitorización en cirugías.- Predicción de reacciones adversas en los medicamentos.- Entendimiento de la causa de los ataques cardíacos. Militares:- Clasificación de las señales de radar.- Creación de armas inteligentes.- Optimización del uso de recursos escasos.- Reconocimiento y seguimiento en el tiro al blanco.

La mayoría de estas aplicaciones consisten en realizar un reconocimiento de patrones, como ser: buscar un patrón en una serie de ejemplos, clasificar patrones, completar una señal a partir de valores parciales o reconstruir el patrón correcto partiendo de uno distorsionado. Sin embargo, está creciendo el uso de redes neuronales en distintos tipos de sistemas de control.

Desde el punto de vista de los casos de aplicación, la ventaja de las redes neuronales reside en el procesado paralelo, adaptativo y no lineal. El dominio de aplicación de las redes neuronales también se lo puede clasificar de la siguiente forma: asociación y clasificación, regeneración de patrones, regresión y generalización, y optimización.

11

Page 14: Unidad 5 de Inteligencia Artificial Sistemas computacionales

5.3. Visión artificial.

La visión artificial, también conocida como visión por computador (del ingles computer vision) o visión técnica, es un subcampo de la inteligencia aritificial. El propósito de la visión artificial es programar una computadora para que "entienda" una escena o las características de una imagen.

Los objetivos típicos de la visión artificial incluyen:La detección, segmentación, localización y reconocimiento de ciertos objetos en imágenes (por ejemplo, caras humanas).La evaluación de los resultados (por ejemplo, segmentación, registro).Registro de diferentes imágenes de una misma escena u objeto, es decir, hacer concordar un mismo objeto en diversas imágenes.Seguimiento de un objeto en una secuencia de imágenes.Mapeo de una escena para generar un modelo tridimensional de la escena; este modelo podría ser usado por un robot para navegar por la escena.Estimación de las posturas tridimensionales de humanos.Búsqueda de imágenes digitales por su contenido.

Estos objetivos se consiguen por medio de reconocimiento de patrones, aprendizaje estadístico, geometría de proyección, procesamiento de imágenes, teoría de grafos y otros campos. La visión artificial cognitiva está muy relacionada con la psicología cognitiva y la computación biológica.

5.3.1. Conceptos básicos.Se puede definir la “Visión Artificial” como un campo de la “Inteligencia Artificial” que, mediante la utilización de las técnicas adecuadas, permite la obtención, procesamiento y análisis de cualquier tipo de información especial obtenida a través de imágenes digitales.

La visión artificial la componen un conjunto de procesos destinados a realizar el análisis de imágenes. Estos procesos son: captación de imágenes, memorización de la información, procesado e interpretación de los resultados.

5.3.2. Desarrollos actuales y aplicaciones.Con la visión artificial se pueden:Automatizar tareas repetitivas de inspección realizadas por operadores.Realizar controles de calidad de productos que no era posible verificar por métodos tradicionales.Realizar inspecciones de objetos sin contacto físico.Realizar la inspección del 100% de la producción (calidad total) a gran velocidad.Reducir el tiempo de ciclo en procesos automatizados.Realizar inspecciones en procesos donde existe diversidad de piezas con cambios frecuentes de producción.Las principales aplicaciones de la visión artificial en la industria actual son:

Identificación e inspección de objetos.Determinación de la posición de los objetos en el espacio.Establecimiento de relaciones espaciales entre varios objetos (guiado de robots)

12

Page 15: Unidad 5 de Inteligencia Artificial Sistemas computacionales

Determinación de las coordenadas importantes de un objeto.Realización de mediciones angulares.Mediciones tridimensionales.

5.4. Lógica difusa (Fuzzy Logic).

Fuzzy Logic tiene sus raíces en la teoría de conjuntos difusos desarrollada por Zadeh en la década de los 60, la que propone que un elemento siempre pertenece en un cierto grado a un conjunto y nunca pertenece del todo al mismo, esto permite establecer una manera eficiente para trabajar con incertezas, así como para acondicionar el conocimiento en forma de reglas hacia un plano cuantitativo, factible de ser procesado por computadores.

Toda lógica consiste en formalizar el pensamiento humano, desde este punto de vista,Lógica Clásica: Establece que cualquier enunciado o proposición puede tener un valor lógico verdadero o falso, en definitiva 1 y 0. De esta forma es posible desarrollar toda una lógica basada en leyes de este tipo.Lógica Difusa: En vez de trabajar con el clásico concepto de inclusión o exclusión, introduce una función que expresa el grado de “pertenencia” de una variable hacia un atributo o “variable lingüística” tomando valores en el rango de 0 a 1.Conjunto Difuso: Par Variable lingüística – funcion de pertenencia

A = {x / µ A (x) ∀ x ∈ X}

VentajasLa principal ventaja de utilizar términos lingüísticos como: a medias, bastante, casi, un poco, mucho, algo, etc, está en que permite plantear el problema en los mismos términos en los que lo haría un experto humano.

El éxito de esta técnica radica en que “El mundo es Fuzzy”. En otras palabras, no tiene sentido buscar la solución a un problema no perfectamente definido por medio de un planteamiento matemático muy exacto, cuando es el ser humano el primero que razona empleando la inexactitud.

En inteligencia artificial, la lógica difusa, o lógica borrosa se utiliza para la resolución de una variedad de problemas, principalmente los relacionados con control de procesos industriales complejos y sistemas de decisión en general, la resolución y la compresión de datos. Los sistemas de lógica difusa están también muy extendidos en la tecnología cotidiana, por ejemplo en cámaras digitales, sistemas de aire acondicionado, lavarropas, etc. Los sistemas basados en lógica difusa imitan la forma en que toman decisiones los humanos, con la ventaja de ser mucho más rápidos. Estos sistemas son generalmente robustos y tolerantes a imprecisiones y ruidos en los datos de entrada. Algunos lenguajes de programación lógica que han incorporado la lógica difusa serían por ejemplo las diversas implementaciones de Fuzzy PROLOG o el lenguaje Fril.

Consiste en la aplicación de la lógica difusa con la intención de imitar el razonamiento humano en la programación de computadoras. Con la lógica convencional, las computadoras pueden

13

Page 16: Unidad 5 de Inteligencia Artificial Sistemas computacionales

manipular valores estrictamente duales, como verdadero/falso, sí/no o ligado/desligado. En la lógica difusa, se usan modelos matemáticos para representar nociones subjetivas, como caliente/tibio/frío, para valores concretos que puedan ser manipuladas por los ordenadores.

En este paradigma, también tiene un especial valor la variable del tiempo, ya que los sistemas de control pueden necesitar retroalimentarse en un espacio concreto de tiempo, pueden necesitarse datos anteriores para hacer una evaluación media de la situación en un período anterior.

5.4.1. Conceptos básicos.

La logica difusa es una extension de la logica tradicional (Booleana) que utiliza conceptos de pertenencia de sets mas parecidos a la manera de pensar humana.

La lógica difusa no usa valores exactos como 1 o 0 pero usa valores entre 1 y 0 (inclusive) que pueden indican valores intermedios (Ej. 0, 0.1, 0.2, …,0.9,1.0, 1.1, …etc)

La lógica difusa también incluye los valores 0 y 1 entonces se puede considerar como un superset o extensión de la lógica exacta.

El concepto de un subset difuso fue introducido por L.A. Zadeh en 1965 como una generalización de un subset exacto (crisp subset) tradicional.

Los subsets exactos usan lógica Booleana con valores exactos como por ejemplo la lógica binaria que usa valores de 1 o 0 para sus operaciones.

5.4.2. Desarrollos actuales y aplicaciones.

La lógica difusa se utiliza cuando la complejidad del proceso en cuestión es muy alta y no existen modelos matemáticos precisos, para procesos altamente no lineales y cuando se envuelven definiciones y conocimiento no estrictamente definido (impreciso o subjetivo).

En cambio, no es una buena idea usarla cuando algún modelo matemático ya soluciona eficientemente el problema, cuando los problemas son lineales o cuando no tienen solución.

Esta técnica se ha empleado con bastante éxito en la industria, principalmente en Japón, extendiéndose sus aplicaciones a multitud de campos. La primera vez que se usó de forma importante fue en el metro japonés, con excelentes resultados. Posteriormente se generalizó según la teoría de la incertidumbre desarrollada por el matemático y economista español Jaume Gil Aluja.

A continuación se citan algunos ejemplos de su aplicación:Sistemas de control de acondicionadores de aireSistemas de foco automático en cámaras fotográficasElectrodomésticos familiares (frigoríficos, lavadoras...)Optimización de sistemas de control industriales

14

Page 17: Unidad 5 de Inteligencia Artificial Sistemas computacionales

Sistemas de escrituraMejora en la eficiencia del uso de combustible en motoresSistemas expertos del conocimiento (simular el comportamiento de un experto humano)Tecnología informáticaBases de datos difusas: Almacenar y consultar información imprecisa. Para este punto, por ejemplo, existe el lenguaje FSQL. En general, en la gran mayoría de los sistemas de control que no dependen de un Sí/No.

5.5. Procesamiento de Lenguaje Natural (PLN).

El recurso más importante que posee la raza humana es conocimiento, o sea información. En la época actual de información, del manejo eficiente de este conocimiento depende el uso de todos los demás recursos naturales, industriales y humanos.

Durante toda la historia de humanidad el conocimiento, en su mayor parte se comunica, se guarda y se maneja en la forma de lenguaje natural –griego, latín, inglés, español, etc. La época actual no es ninguna excepción: el conocimiento sigue existiendo y creándose en la forma de documentos, libros, artículos, aunque éstos se guardan en forma electrónica, o sea digital. El gran avance es que en esta forma, las computadoras ya pueden ser una ayuda enorme en el procesamiento de este conocimiento.

Sin embargo, lo que es conocimiento para nosotros –los seres humanos– no lo es para las computadoras. Son los archivos, unas secuencias de caracteres, y nada más. Una computadora puede copiar tal archivo, respaldarlo, transmitirlo, borrarlo –como un burócrata que pasa los papeles a otro burócrata sin leerlos. Pero no puede buscar las respuestas a las preguntas en este texto, hacer las inferencias lógicas sobre su contenido, generalizar y resumirlo –es decir, hacer todo lo que las personas normalmente hacemos con el texto. Porque no lo puede entender.

Para combatir esta situación, se dedica mucho esfuerzo, sobre todo en los países más desarrollados del mundo, al desarrollo de la ciencia que se encarga de habilitar a las computadoras a entender el texto. Esta ciencia, en función del enfoque práctico versus teórico, del grado en el cual se espera lograr la comprensión y de otros aspectos tiene varios nombres: procesamiento de lenguaje natural, procesamiento de texto, tecnologías de lenguaje, lingüística computacional. En todo caso, se trata de procesar el texto por su sentido y no como un archivo binario.

El esquema general de la mayoría de los sistemas y métodos que involucran el procesamiento de lenguaje es el siguiente:

Primero, el texto no se procesa directamente si no se transforma en una representación formal que preserva sus características relevantes para la tarea o el método específico (por ejemplo, un conjunto de cadenas de letras, una tabla de base de datos, un conjunto de predicados lógicos, etc.).Luego, el programa principal manipula esta representación, transformándola según la tarea, buscando en ella las subestructuras necesarias, etc.

15

Page 18: Unidad 5 de Inteligencia Artificial Sistemas computacionales

Finalmente, si es necesario, los cambios hechos a la representación formal (o la respuesta generada en esta forma) se transforman en el lenguaje natural.

Entre las tareas principales del procesamiento de lenguaje natural se puede mencionar:Recuperación de información,Interfaces en lenguaje natural,Traducción automática.

5.5.1. Conceptos básicos.Lenguaje: Sistema de signos complejo, estructurado.

(PLN o NLP, Natural Language Processing): Rama de la inteligencia artificial que analiza, entiende y genera los lenguajes que los humanos usan naturalmente para relacionarse con la computadora.

Lingüística: Es la disciplina que se ocupa del estudio científico del lenguaje.

Lenguaje formal: es un lenguaje artificial o sea creado por el hombre que esta formado por símbolos y formulas y que tiene como objetivo fundamental formalizar la programación de computadoras o representar simbólicamente un conocimiento.

5.5.2. Desarrollos actuales y aplicaciones.Proceden de la fusión de dos disciplinas: la lingüística y la informática.Surgen del procesamiento automático de la lengua natural: los elementos de la lengua –fonemas, morfemas, palabras, oraciones, textos y las reglas que rigen el funcionamiento comienzan a sistematizarse para ser informatizados, consiguiéndose con ello realizar automáticamente tareas lingüísticas.Estas aplicaciones tienen en cuenta la disciplina o disciplinas lingüísticas dentro de las cuales puedan encuadrarse. a pesar de que muchas de ellas convergen en un mismo producto: por ejemplo, en el caso de la traducción automática se necesitan analizadores morfológicos, sintácticos y semánticos, además de reconocimiento y síntesis de voz.

Tecnologías del habla.Las tres áreas básicas que configuran las tecnologías del habla son:

a) La síntesis del habla (el ordenador proporciona información oral). Este tipo de aplicaciones informáticas Permite la generación de mensajes hablados a partir de un texto escrito almacenado en formato electrónico. Suelen emplear los sistemas de conversión de texto en habla, que constan por lo general de un módulo de procesamiento lingüístico, en el que se llevan a cabo una trascripción fonética y un análisis lingüístico más o menos detallado del texto de entrada y de otro que se ocupa de los aspectos más ligados al tratamiento informático de la señal sonora. Las personas con discapacidad visual pueden por ejemplo acceder a la información a través de los sistemas que convierten el texto escrito en texto hablado.

16

Page 19: Unidad 5 de Inteligencia Artificial Sistemas computacionales

b) El reconocimiento del habla (el ordenador procesa los enunciados emitidos por un interlocutor). Este tipo de aplicaciones procede realizando a una operación inversa a la llevada a cabo en la síntesis: la onda sonora portadora de un mensaje se convierte en una representación simbólica, que suele ser un texto escrito. El ordenador recibe los sonidos del habla en forma de ondas analógicas que se analizan para identificar las unidades que constituyen las palabras (fonemas).

c) Los sistemas de diálogo (comunicación bidireccional). Constan de un módulo de reconocimiento automático del habla, un sistema de comprensión que se ocupa de la interpretación del enunciado, un módulo de generación que crea un texto con los resultados de una consulta a una base de datos o con la respuesta adecuada a la conversación entre usuario y sistema, y de un conversor de texto en habla que transforma esta respuesta en su equivalente sonoro. Estas operaciones están coordinadas por un módulo de gestión del diálogo, responsable de los turnos de palabra, de la coherencia entre preguntas y respuestas y de todos aquellos aspectos que hacen que la interacción entre la persona y el ordenador sea lo más natural posible. El módulo de reconocimiento debe procesar la información acústica que contiene el mensaje que recibe del usuario para poder interpretarlo semánticamente.

Tecnologías del texto.Aplicaciones informáticas basadas en el análisis morfológico, sintáctico y semántico del texto:Analizadores morfológicos / GeneradoresAnalizadores sintácticosCorrectoresDesambiguadoresTraductoresTextos predictivos

5.6. Sistemas Expertos (SE).

Durante años la actividad de la Inteligencia Artificial estuvo dedicada a las investigaciones teóricas y al desarrollo de experimentos a través de programas que demostraran “actitudes inteligentes”, con estos programas se pretendia que la máquina jugara ajedrez, demostrara teoremas matemáticos, etc.

No fue hasta los años 70 que surgió un nuevo paradigma en la Inteligencia Artificial “los Sistemas Expertos”, cuya función es desarrollar trabajos similares a los que desarrollaria un especialista en un área determinada, la idea no es sustituir a los expertos, sino que estos sistemas sirvan de apoyo a los especialistas en un “dominio” de aplicación específico.Estos sistemas expertos son en lo esencial sistemas de computación basados en conocimientos cuyos componentes representan un enfoque cualitativo de la programación. Muchas personas pueden creer que un Sistema Experto (SE) es un sistema compuesto por subsistemas y a su vez estos por otros subsistemas hasta llegar a los programas, y que los SE se miden por la cantidad de programas que contienen. Sin embargo la cantidad no es lo que prima en los SE, si no la cualidad del mismo, esta cualidad está dada por la separación de las reglas que describen el

17

Page 20: Unidad 5 de Inteligencia Artificial Sistemas computacionales

problema (Base de Conocimientos), del programa de control que es quien selecciona las reglas adecuadas (Motor de inferencias).Podemos decir que un Sistema Experto es una Base de Conocimientos (BC), una Base de Hechos (BH) y un Motor (o Máquina) de Inferencias (MI). Por otra parte estos sistemas no se miden por la cantidad de instrucciones o programas sino por la cantidad de reglas que hay contenida en su Base de Conocimientos.Para desarrollar los sistemas expertos primero es necesario abordar un área de interés, dentro de esta área se seleccionan a los expertos, que son los especialistas capaces de resolver los problemas en dicha área. Por ejemplo el área de interés de las empresas de proyectos, son precisamente los proyectos y un especialista podría ser un arquitecto, un ingeniero civil, etc. Ahora bien, casi siempre estos especialistas, son expertos en un dominio específico y es sobre este dominio, donde poseen su mayor experiencia (Dominio de Experticidad), por ejemplo un Ing. civil especializado en cimientos.Una vez seleccionado al experto o a los expertos y estos estén de acuerdo en dar sus conocimientos, comienza a jugar su papel el “Ingeniero de Conocimientos”, que es el encargado de extraerle los conocimientos al experto y darle una representación adecuada, ya sea en forma de reglas u otro tipo de representación, conformando as’i la base de conocimientos del sistema experto.Formas de representación de los conocimientos:

Reglas de producciónRedes semánticasMarcos (Frames).

La forma de representación más usada es por reglas de producción, también llamadas reglas de inferencias. Casi todos los sistemas expertos están basados en este tipo de representación, ahora nos ocuparemos de los sistemas basados en reglas.Las reglas de producción son del tipo:

SI Premisa ENTONCES Conclusion (SI A ENTONCES B).

Podemos decir que un sistema experto, es un sistema informático que utiliza técnicas apropiadas para la representación de conocimientos y la manipulación de este, de forma tal que exhiba el comportamiento de un avezado especialista en un determinado dominio del saber.

5.6.1. Conceptos básicos.Un Sistema Experto (SE), es básicamente un programa de computadora basado en conocimientos y raciocinio que lleva a cabo tareas que generalmente sólo realiza un experto humano; es decir, es un programa que imita el comportamiento humano en el sentido de que utiliza la información que le es proporcionada para poder dar una opinión sobre un tema en especial.

Un experto humano es una persona que es competente en un área determinada del conocimiento o del saber. Un experto humano es alguien que sabe mucho sobre un tema determinado y que puede dar un consejo adecuado.

18

Page 21: Unidad 5 de Inteligencia Artificial Sistemas computacionales

5.6.2. Clasificación.Por la naturaleza de la tarea a realizar: así se tiene cuatro posibilidades: * Diagnostico o Clasificación: se conocen soluciones y se tratan de clasificarlas o diagnosticarlas en función de una serie de datos. Por ejemplo: sistema de diagnóstico medico. * Monitorización: análisis del comportamiento de un sistema buscando posibles fallos, en este caso es importante contemplar la evolución del sistema pues no siempre los mismos datos dan lugar a idénticas soluciones. * Diseño: se busca la construcción de la solución a un problema, que en principio es desconocida, a partir de datos y restricciones a satisfacer. * Predicción: se estudia el comportamiento de un sistema.

Por la interacción del usuario: * Apoyo: el sistema aconseja el usuario, que mantiene la capacidad de una última decisión. Por ejemplo, el diagnostico médico. * Critica: Su misión es analizar y criticar decisiones tomadas por el usuario.

Por la limitación de tiempo para tomar decisiones: * Tiempo ilimitado: por ejemplo, aquellos que emplean conocimiento casual, que busca orígenes de un problema que ha ocurrido y cuyo análisis no necesita ser inmediato. * Tiempo limitado (tiempo real): sistemas que necesitan actuar controlando o monitorizando dispositivos y que han de tomar decisiones inmediatas frente a los problemas que surjan. Por ejemplo el control de una red de comunicaciones.

Por la variabilidad temporal del conocimiento: * Estáticos: la base del conocimiento no se altera durante el proceso de decisión. * Dinámicos: ocurren cambios en la base de conocimiento durante la toma de decisiones. Estos cambios pueden ser predecibles o impredecibles y además pueden, bien añadir información, bien modificar la información ya existente.

Por la naturaleza del conocimiento almacenado: * Basado en experiencia: el conocimiento se basa en experiencias o hechos ocasionados conocidos por el experto, pero sin que existe una causa clara para los efectos que se observan. * Basado en relaciones causa-efecto.

Por la certeza de la información: * Completa o perfecta: se conocen todos los datos y reglas necesarios para la decisión. * Imperfecta: que puede ser incompleta (falta información para tomar decisiones), Datos inciertos (o no confirmados), Conocimientos incierto (reglas no siempre validas), Terminología ambigua (dobles sentidos, etc).

19

Page 22: Unidad 5 de Inteligencia Artificial Sistemas computacionales

5.6.3. Desarrollos actuales y aplicaciones.Las principales aplicaciones de los sistemas expertos son las relacionadas con el mundo empresarial. Esto se debe a que resultan muy útiles en funciones como la contabilidad, tesorería, gestiones internas…El campo que más aplicaciones de sistemas expertos esta realizando es el de la auditoría.

Pero los sistemas expertos son aplicados en muchas más áreas con resultados satisfactorios. Algunas de las principales son: telecomunicaciones, medicina, militar, derecho, aeronáutica, geología, electrónica…

A continuación se presentan algunos Sistemas Expertos que se han desarrollado para la solución de diversos problemas.MYCIN es un Sistema Experto para la realización de diagnósticos en el área de la medicina, iniciado por Ed Feigenbaum y posteriormente desarrollado por E. Shortliffe y sus colaboradores. Su función es la de aconsejar a los médicos en la investigación y determinación de diagnósticos en el campo de las enfermedades infecciosas de la sangre[CRIA].

XCON es un Sistema Experto para configuraciones, desarrollado por la Digital Equipment Corporation. Según los deseos individuales del cliente se configuran redes de ordenadores VAX. Ya que el abanico de productos que se ofrecen en el mercado es muy amplio, la configuración completa y correcta de un sistema de estas características es un problema de gran complejidad. Responde esencialmente a dos preguntas: ¿Pueden conjugarse los componentes solicitados por el cliente de forma conveniente y razonable? Y ¿Los componentes de sistema especificados son compatibles y completos?. Las respuestas a estas preguntas son muy detalladas. XCON es capaz de comprobar y completar los pedidos entrantes mucho más rápido y mejor que las personas encargadas de hacerlo antes que él [CRIA].

DELTA, sistema experto que ayuda a los mecánicos en el diagnóstico y reparación de locomotoras diesel-eléctricas, DELTA no sólo da consejos expertos, sino que también presenta informaciones por medio de un reproductor de vídeo [IBAR]. En 1978 se desarrollo otro sistema experto de exito: PROSPECTOR. Este quizás impulso más la carrera por desarrollar mejores sistemas expertos, dado que su misión era predecir la posibilidad de encontrar depósitos de minerales en una región en concreto. Minerales como petroleo, gas natural, helio.La composición de un Sistema Experto, sus aplicaciones, ventajas y desventajas, y algunos ejemplos sobre estos; han sido los puntos generales que se han tratado a lo largo de este artículo, con el fin de crear una mayor conciencia del uso real de este tipo de sistemas.Un sistema experto puede, sin duda alguna, darnos el mismo resultado que un experto humano; lo que sí debemos reconocer es que ningún sistema experto, hasta ahora, puede resolver diferentes problemáticas dentro de una empresa, ya que estos son siempre muy específicos. Sin embargo, es de esperarse que con los avances que tienen las herramientas tecnológicas se produzcan un desarrollo cercano al comportamiento humano en muchas áreas, con estos avances en el terreno de los negocios se podría ser más eficiente y productivo.

A pesar de los dramáticos avances logrados, la inteligencia artificial no ha sido capaz de desarrollar sistemas capaces de resolver problemas de tipo general, de aplicar sentido común

20

Page 23: Unidad 5 de Inteligencia Artificial Sistemas computacionales

para la solución de situaciones complejas, de manejar situaciones ambiguas ni de utilizar efectivamente información incompleta. Estas últimas son características inherentes de la inteligencia natural.

21