domingo, 2 de octubre de 2011

Inteligencia Artificial

Inteligencia artificial
Término que, en su sentido más amplio, indicaría la capacidad de un artefacto de realizar los mismos tipos de funciones que caracterizan al pensamiento humano. La posibilidad de desarrollar un artefacto así ha despertado la curiosidad del ser humano desde la antigüedad. Con el avance de la ciencia moderna la búsqueda de la IA (inteligencia artificial) ha tomado dos caminos fundamentales: la investigación psicológica y fisiológica de la naturaleza del pensamiento humano, y el desarrollo tecnológico de sistemas informáticos cada vez más complejos.
En este sentido, el término IA se ha aplicado a sistemas y programas informáticos capaces de realizar tareas complejas, simulando el funcionamiento del pensamiento humano, aunque todavía muy lejos de éste.
En esta esfera los campos de investigación más importantes son el procesamiento de la información, el reconocimiento de modelos, los juegos y las áreas aplicadas como el diagnóstico médico. Algunas áreas de la investigación actual del procesamiento de la información están centradas en programas que permiten a un ordenador o computadora comprender la información escrita o hablada, y generar resúmenes, responder a preguntas específicas o redistribuir datos a los usuarios interesados en determinados sectores de esta información. En esos programas es esencial la capacidad del sistema de generar frases gramaticalmente correctas y de establecer vínculos entre palabras e ideas. La investigación ha demostrado que mientras que la lógica de la estructura del lenguaje, su sintaxis, está relacionada con la programación, el problema del
significado, o semántica, es mucho más profundo, y va en la dirección de una auténtica inteligencia artificial.
Actualmente existen dos tendencias en cuanto al desarrollo de sistemas de IA: los sistemas expertos y las redes neuronales. Los sistemas expertos intentan reproducir el razonamiento humano de forma simbólica. Las redes neuronales lo hacen desde una perspectiva más biológica (recrean la estructura de un cerebro humano mediante algoritmos genéticos). A pesar de la complejidad de ambos sistemas los resultados distan mucho de un auténtico pensamiento inteligente.
Muchos científicos se muestran escépticos acerca de la posibilidad de que alguna vez pueda desarrollarse una verdadera IA. El funcionamiento de la mente humana todavía no ha llegado a conocerse en profundidad y, en consecuencia, el diseño informático seguirá siendo esencialmente incapaz de reproducir esos procesos desconocidos y complejos.

Sistemas Expertos.
Los Sistemas Expertos (SE),también llamados Sistemas Basados en Conocimiento. Estos aplican técnicas de razonamiento de Inteligencia Artificial a la resolucion de problemas en áreas específicas para simular la aplicacion de expertos humanos. La efectividad de uno de tales sistemas estriba en la cantidad de conocimiento que se le siministre. Se usan a menudo como asistentes o consultores inteligentes de
los usuarios humanos para resolverles problemas rutinarios dejandoles así libres para que se dediquen a aplicaciones más novedosas e interesantes.
Un Sistema Experto está diseñado para generar soluciones de una gama de problemas dentro de un dominio determinado. Aunque la estructura de los problemas cambiase, el Sistema está capacitado para dar soluciones y en caso de requerir de mayor información, se puede añadir conocimiento sin necesidad de modificar el método de solución. Es un programa o conjunto de programas que emplea las técnicas de la Inteligencia Artificial para la solución de problemas. La solución que éste dará será una solución dada al nivel de un experto humano. Un sistema Experto busca una solución satisfactoria tal que sea lo suficientemente exacta de acuerdo al dominio del problema, aunque no sea la óptima.

Los Sistemas Expertos pueden:
1. Actuar como localizador de averias en equipos de enseñanza.
2. Asesorar medicamente sobre tratamiento de sospechosos de infecciones bacterianas en la sangre.
3. Reducir la localización de grandes depósitos de molibdeno.
4. Configurar sistemas complicados de cálculo en la fracción de tiempo requerida por el ingeniero experimentado.
Aplicaciones de los Sistemas Expertos.
* ANALISIS E INTERPRETACION: Se utilizan para analizar grandes cantidades de información y proporcionar alguna recomendación.
* PREDICCION: Los sistemas expertos son utilizados para predecir resultados o deducir consecuencias futuras en base a datos y hechos.
* DIAGNOSTICO Y DEPURACION: Los sistemas expertos pueden utilizarse para detectar errores y sugerir acciones correctivas.
* CONTROL: Se utilizan sistemas expertos para el control de procesos.
* DISEÑO: Se refiere a la creación de un nuevo producto, dispositivo o procedimiento. (ejem.Programas CAD (diseño asistido por computadora)).
* PLANIFICACION: Elaborar un plan significa construir una serie de acciones para alcanzar una meta.

Estructura básica de un SE
Un Sistema Experto está conformado por:
  • Base de conocimientos (BC): Contiene conocimiento modelado extraído del diálogo con un experto.
  • Base de hechos (Memoria de trabajo): contiene los hechos sobre un problema que se ha descubierto durante el análisis.
  • Motor de inferencia: Modela el proceso de razonamiento humano.
  • Módulos de justificación: Explica el razonamiento utilizado por el sistema para llegar a una determinada conclusión.
  • Interfaz de usuario: es la interacción entre el SE y el usuario, y se realiza mediante el lenguaje natural.
Tipos de SE
Principalmente existen tres tipos de sistemas expertos:
  • Basados en reglas previamente establecidas. 
  • Basados en casos o CBR (Case Based Reasoning).
  • Basados en redes bayesianas
En cada uno de ellos, la solución a un problema planteado se obtiene:
  • Aplicando reglas heuristicas apoyadas generalmente en lógica difusa para su evaluación y aplicación.
  • Aplicando el razonamiento basado en casos, donde la solución a un problema similar planteado con anterioridad se adapta al nuevo problema.
  • Aplicando redes bayesianas, basadas en estadistica y el teorema de bayes.

Tareas que realiza un Sistema Experto

La monitorización es un caso particular de la interpretación, y consiste en la comparación continua de los valores de las señales o datos de entrada y unos valores que actúan como criterios de normalidad o estándares. En el campo del mantenimiento predictivo los Sistemas Expertos se utilizan fundamentalmente como herramientas de diagnóstico. Se trata de que el programa pueda determinar en cada momento el estado de funcionamiento de sistemas complejos, anticipándose a los posibles incidentes que pudieran acontecer. Así, usando un modelo computacional del razonamiento de un experto humano, proporciona los mismos resultados que alcanzaría dicho experto.
Diseño es el proceso de especificar una descripción de un artefacto que satisface varias características desde un número de fuentes de conocimiento.
El diseño se concibe de distintas formas:
  • El diseño en ingeniería es el uso de principios científicos, información técnica e imaginación en la definición de una estructura mecánica, máquina o sistema que ejecute funciones específicas con el máximo de economía y eficiencia.
  • El diseño industrial busca rectificar las omisiones de la ingeniería, es un intento consciente de traer forma y orden visual a la ingeniería de hardware donde la tecnología no provee estas características.
Los SE en diseño ven este proceso como un problema de búsqueda de una solución óptima o adecuada. Las soluciones alternas pueden ser conocidas de antemano o se pueden generar automáticamente probándose distintos diseños para verificar cuáles de ellos cumplen los requerimientos solicitados por el usuario, ésta técnica es llamada “generación y prueba”, por lo tanto estos SE son llamados de selección. En áreas de aplicación, la prueba se termina cuando se encuentra la primera solución; sin embargo, existen problemas más complejos en los que el objetivo es encontrar la solución óptima.

 

La planificación es la realización de planes o secuencias de acciones y es un caso particular de la simulación. Está compuesto por un simulador y un sistema de control. El efecto final es la ordenación de un conjunto de acciones con el fin de conseguir un objetivo global.
Los problemas que presentan la planificación mediante SE son los siguientes:
  • Existen consecuencias no previsibles, de forma que hay que explorar y explicar varios planes.
  • Existen muchas consideraciones que deben ser valoradas o incluirles un factor de peso.
  • Suelen existir interacciones entre planes de subobjetivos diversos, por lo que deben elegirse soluciones de compromiso.
  • Trabajo frecuente con incertidumbre, pues la mayoría de los datos con los que se trabaja son más o menos probables pero no seguros.
  • Es necesario hacer uso de fuentes diversas tales como bases de datos.

 

Un sistema de control participa en la realización de las tareas de interpretación, diagnóstico y reparación de forma secuencial. Con ello se consigue conducir o guiar un proceso o sistema. Los sistemas de control son complejos debido al número de funciones que deben manejar y el gran número de factores que deben considerar; esta complejidad creciente es otra de las razones que apuntan al uso del conocimiento, y por tanto de los SE.
Cabe aclarar que los sistemas de control pueden ser en lazo abierto, si en el mismo la realimentación o el paso de un proceso a otro lo realiza el operador, o en lazo cerrado si no tiene que intervenir el operador en ninguna parte del mismo. Reparación, correcta o terapia.
La reparación, corrección, terapia o tratamiento consiste en la proposición de las acciones correctoras necesarias para la resolución de un problema. Los SE en reparación tienen que cumplir diversos objetivos, como son: Reparación lo más rápida y económicamente posible. Orden de las reparaciones cuando hay que realizar varias. Evitar los efectos secundarios de la reparación, es decir la aparición de nuevas averías por la reparación.
La simulación es una técnica que consistente en crear modelos basados en hechos, observaciones e interpretaciones sobre la computadora, a fin de estudiar el comportamiento de los mismos mediante la observación de las salidas para un conjunto de entradas. Las técnicas tradicionales de simulación requieren modelos matemáticos y lógicos, que describen el comportamiento del sistema bajo estudio.
El empleo de los SE para la simulación viene motivado por la principal característica de los SE, que es su capacidad para la simulación del comportamiento de un experto humano, que es un proceso complejo.
En la aplicación de los SE para simulación hay que diferenciar cinco configuraciones posibles:
  1. Un SE puede disponer de un simulador con el fin de comprobar las soluciones y en su caso rectificar el proceso que sigue.
  2. Un sistema de simulación puede contener como parte del mismo a un SE y por lo tanto el SE no tiene que ser necesariamente de simulación.
  3. Un SE puede controlar un proceso de simulación, es decir que el modelo está en la base de conocimiento del SE y su evolución es función de la base de hechos, la base de conocimientos y el motor de inferencia, y no de un conjunto de ecuaciones aritmético – lógicas.
  4. Un SE puede utilizarse como consejero del usuario y del sistema de simulación.
  5. Un SE puede utilizarse como máscara o sistema frontal de un simulador con el fin de que el usuario reciba explicación y justificación de los proces
Un sistema de instrucción realizara un seguimiento del proceso de aprendizaje. El sistema detecta errores ya sea de una persona con conocimientos e identifica el remedio adecuado, es decir, desarrolla un plan de enseñanza que facilita el proceso de aprendizaje y la corrección de errores.
Los Sistemas Expertos, con su capacidad para combinar información y reglas de actuación, han sido vistos como una de las posibles soluciones al tratamiento y recuperación de información, no sólo documental. La década de 1980 fue prolija en investigación y publicaciones sobre experimentos de este orden, interés que continua en la actualidad.
Lo que diferencia a estos sistemas de un sistema tradicional de recuperación de información es que éstos últimos sólo son capaces de recuperar lo que existe explícitamente, mientras que un Sistema Experto debe ser capaz de generar información no explícita, razonando con los elementos que se le dan. Pero la capacidad de los SE en el ámbito de la recuperación de la información no se limita a la recuperación. Pueden utilizarse para ayudar al usuario, en selección de recursos de información, en filtrado de respuestas, etc. Un SE puede actuar como un intermediario inteligente que guía y apoya el trabajo del usuario final.

Ventajas de los Sistemas Expertos

  • Permanencia: A diferencia de un experto humano un SE (sistema experto) no envejece, y por tanto no sufre pérdida de facultades con el paso del tiempo.
  • Replicación: Una vez programado un SE lo podemos replicar infinidad de veces.
  • Rapidez: Un SE puede obtener información de una base de datos y realizar cálculos numéricos mucho más rápido que cualquier ser humano.
  • Bajo costo: A pesar de que el costo inicial pueda ser elevado, gracias a la capacidad de duplicación el coste finalmente es bajo.
  • Entornos peligrosos: Un SE puede trabajar en entornos peligrosos o dañinos para el ser humano.
  • Fiabilidad: Los SE no se ven afectados por condiciones externas, un humano sí (cansancio, presión, etc.).
  • Consolidar varios conocimientos.
  • Apoyo Académico.