Blog de libre acceso, de propósito educativo e informativo, el cual va dirigido a todo tipo de público, en especial para aquellas personas que requieran información referente a Sistemas Expertos en la Inteligencia Artificial. Cualquier usuario podrá acceder, interactuar, informarse, comentar, consultar, presentar evaluaciones y contactarse directamente con nosotros en el caso que lo requiera.

viernes, 15 de agosto de 2014

Sistemas Expertos

¿Qué es un Sistema Experto?

      Los Sistemas Expertos, rama de la Inteligencia Artificial, son sistemas informáticos que simulan el proceso de aprendizaje, de memorización, de razonamiento, de comunicación y de acción en consecuencia de un experto humano en cualquier rama de la ciencia. Estas características le permiten almacenar datos y conocimiento, sacar conclusiones lógicas, tomar decisiones, aprender de la experiencia y los datos existentes, comunicarse con expertos humanos, explicar el por qué de las decisiones tomadas y realizar acciones como consecuencia de todo lo anterior.

     Técnicamente un sistema experto, contiene una base de conocimientos que incluye la experiencia acumulada de expertos humanos y un conjunto de reglas para aplicar ésta base de conocimientos en una situación particular que se le indica al programa. Cada vez el sistema se mejora con adiciones a la base de conocimientos o al conjunto de reglas.



¿Por qué utilizar un Sistema Experto?

  • Con la ayuda de un Sistema Experto, personas con poca experiencia pueden resolver problemas que requieren un "conocimiento formal especializado.
  •  Los Sistemas Expertos pueden obtener conclusiones y resolver problemas de forma más rápida que los expertos humanos.
  •  Los Sistemas Expertos razonan pero en base a un conocimiento adquirido y no tienen sitio para la subjetividad.
  •  Se ha comprobado que los Sistemas Expertos tienen al menos, la misma competencia que un especialista humano.
  •  El uso de Sistemas Expertos es especialmente recomendado en las siguientes situaciones:
    • Cuando los expertos humanos en una determinada materia son escasos.
    • En situaciones complejas, donde la subjetividad humana puede llevar a conclusiones erróneas.
    • Cuando es muy elevado el volumen de datos que ha de considerarse para obtener una conclusión.

Usos de Un Sistema Experto


     Un sistema experto es muy eficaz cuando tiene que analizar una gran cantidad de información, interpretándola y proporcionando una recomendación a partir de la misma. Un ejemplo es el análisis financiero, donde se estudian las oportunidades de inversión, dependiendo de los datos financieros de un cliente y de sus propósitos.
        Para detectar y reparar fallos en equipos electrónicos, se utilizan los sistemas expertos de diagnóstico y depuración, que formulan listas de preguntas con las que obtienen los datos necesarios para llegar a una conclusión. Entonces recomiendan las acciones adecuadas para corregir los problemas descubiertos. Este tipo de sistemas se utilizan también en medicina (ej. MYCIN y PUFF), y para localizar problemas en sistemas informáticos grandes y complejos. 
        Los sistemas expertos son buenos para predecir resultados futuros a partir del conocimiento que tienen. Los sistemas meteorológicos y de inversión en bolsa son ejemplos de utilización en este sentido. El sistema PROSPECTOR es de este tipo. La planificación es la secuencia de acciones necesaria para lograr una meta. Conseguir una buena planificación a largo plazo es muy difícil. Por ello, se usan sistemas expertos para gestionar proyectos de desarrollo, planes de producción de fábricas, estrategia militar y configuración de complejos sistemas informáticos, entre otros.
         Cuando se necesita controlar un proceso tomando decisiones como respuesta a su estado y no existe una solución algorítmica adecuada, es necesario usar un sistema experto. Este campo comprende el supervisar fábricas automatizadas, factorías químicas o centrales nucleares. Estos sistemas son extraordinariamente críticos porque normalmente tienen que trabajar a tiempo real.
          El diseño requiere una enorme cantidad de conocimientos debido a que hay que tener en cuenta muchas especificaciones y restricciones. En este caso, el sistema experto ayuda al diseñador a completar el diseño de forma competente y dentro de los límites de costes y de tiempo. Se diseñan circuitos electrónicos, circuitos integrados, tarjetas de circuito impreso, estructuras arquitectónicas, coches, piezas mecánicas, etc.
Por último, un sistema experto puede evaluar el nivel de conocimientos y comprensión de un estudiante, y ajustar el proceso de aprendizaje de acuerdo con sus necesidades.

Sistemas Expertos en La Medicina

        Un sistema experto en medicina. La medicina atrae, por el momento, buena parte de la atención de los diseñadores de sistemas y cuenta con el mayor número de programas. El sistema INTERNIST contempla el diagnóstico de las enfermedades de medicina interna u hospitalaria. Fue desarrollado en la universidad norteamericana de Pittsburg en 1 977.

           En los centros médicos que disponen de dicho sistema, el médico acude a la consola de la computadora después de haber reconocido al paciente y haber realizado los análisis que cree pertinentes. Entonces la máquina solicita al médico información sobre el paciente, y se establece una conversación a través de la pantalla y el teclado, similar a la que se establecería entre un médico y un reputado especialista al que se acude para contrastar un diagnóstico.

           La computadora recibe el historial médico del enfermo, los síntomas y los resultados de pruebas y análisis. Con esta información, el sistema experto relaciona los datos de forma muy elaborada y comienza por desechar posibles diagnósticos hasta que llega a los que parecen más probables. Finalmente, elige uno y lo da a conocer con todo el detalle del proceso. Luego justifica su elección y el porqué de la posible enfermedad: cuadro clínico, historial, tratamiento, posibilidades de error, etc.

          El video muestra un Sistema Experto dedicado a La Medicina llamado InsightArthro.

 

 

Generalidades de los Sistemas Expertos

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 heurísticas 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 estadística y el teorema de Bayes. 

 

Ventajas y limitaciones de los Sistemas Expertos

  Ventajas

  • 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.

Limitaciones

  • Sentido común: Para un Sistema Experto no hay nada obvio. Por ejemplo, un sistema experto sobre medicina podría admitir que un hombre lleva 40 meses embarazado, a no ser que se especifique que esto no es posible ya que un hombre no puede gestar hijos.
  • Lenguaje natural: Con un experto humano podemos mantener una conversación informal mientras que con un SE no podemos.
  • Capacidad de aprendizaje: Cualquier persona aprende con relativa facilidad de sus errores y de errores ajenos, que un SE haga esto es muy complicado.
  • Perspectiva global: Un experto humano es capaz de distinguir cuales son las cuestiones relevantes de un problema y separarlas de cuestiones secundarias.
  • Capacidad sensorial: Un SE carece de sentidos.
  • Flexibilidad: Un humano es sumamente flexible a la hora de aceptar datos para la resolución de un problema.
  • Conocimiento no estructurado: Un SE no es capaz de manejar conocimiento poco estructurado.

Estructura Básica de un Sistema Experto

Un sistema experto esta conformado por:

Base de Conocimientos: Contiene conocimiento modelado extraìdo del diagolo 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 sistema experto y el usuario. y se realiza mediante el lenguaje natural.

Tareas que realiza un Sistema Experto

Monitorización

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

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.

Planificación

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.

Control

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.

Simulació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 razonamiento 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 procesos.

Instrucción

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.

Recuperación de información

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.

Arquitectura de Los Sistemas Expertos

Base de conocimientos. Es la parte del sistema experto que contiene el conocimiento sobre el dominio. Hay que obtener el conocimiento del experto y codificarlo en la base de conocimientos. Una forma clásica de representar el conocimiento en un sistema experto son lar reglas. Una regla es una estructura condicional que relaciona lógicamente la información contenida en la parte del antecedente con otra información contenida en la parte del consecuente.

Base de hechos . Contiene los hechos sobre un problema que se han descubierto durante una consulta. Durante una consulta con el sistema experto, el usuario introduce la información del problema actual en la base de hechos. El sistema empareja esta información con el conocimiento disponible en la base de conocimientos para deducir nuevos hechos.

Motor de inferencia. El sistema experto modela el proceso de razonamiento humano con un módulo conocido como el motor de inferencia. Dicho motor de inferencia trabaja con la información contenida en la base de conocimientos y la base de hechos para deducir nuevos hechos. Contrasta los hechos particulares de la base de hechos con el conocimiento contenido en la base de conocimientos para obtener conclusiones acerca del problema.

Subsistema de explicación. Una característica de los sistemas expertos es su habilidad para explicar su razonamiento. Usando el módulo del subsistema de explicación, un sistema experto puede proporcionar una explicación al usuario de por qué está haciendo una pregunta y cómo ha llegado a una conclusión. Este módulo proporciona beneficios tanto al diseñador del sistema como al usuario. El diseñador puede usarlo para detectar errores y el usuario se beneficia de la transparencia del sistema.

Interfaz de usuario. La interacción entre un sistema experto y un usuario se realiza en lenguaje natural. También es altamente interactiva y sigue el patrón de la conversación entre seres humanos. Para conducir este proceso de manera aceptable para el usuario es especialmente importante el diseño del interfaz de usuario. Un requerimiento básico del interfaz es la habilidad de hacer preguntas. Para obtener información fiable del usuario hay que poner especial cuidado en el diseño de las cuestiones. Esto puede requerir diseñar el interfaz usando menús o gráficos.



 Los Sistemas Expertos y la Robótica

      A finales de los años 70, se produjo un nuevo giro en el campo de la investigación relacionada con la inteligencia artificial: la aparición de robots. Los robots experimentales creados para estos efectos eran automatismos capaces de recibir información procedente del mundo exterior (por ejemplo,  censores, cámaras de televisión, etc.), así como órdenes de un manipulador humano (expresadas en lenguaje natural). De este modo, el robo determinaba un plan y, de acuerdo con él, ejecutaba las órdenes recibidas mediante el empleo de un modelo del universo en el que se encontraba. Era incluso capaz de prever las consecuencias de sus acciones y evitar, así, aquéllas que más tarde pudieran resultarle inútiles o, en algún momento, perjudiciales. Estos primeros robots experimentales eran bastante más inteligentes que los robots industriales, y lo eran porque disponían de un grado mucho mayor de percepción del entorno que los robots empleados en las cadenas de producción.


     
El principal problema con el que se enfrenta la inteligencia artificial aplicada a los robots es el de la visión. Mientras que la información recibida a través de censores se puede interpretar con relativa facilidad y entra a formar parte de la descripción del modelo de universo que emplea el robot para tomar decisiones, la percepción de las imágenes captadas y su interpretación correcta es una labor muy compleja. En cuanto a la interpretación de las imágenes captadas mediante cualquier sistema, se ha logrado ya el reconocimiento de formas pre programadas o conocidas, lo que permite que ciertos robots lleven a cabo operaciones de reubicación de piezas o colocación en su posición correcta a partir de una posición arbitraria. Sin embargo, no se ha logrado aún que el sistema perciba la imagen tomada mediante una cámara de ambiente y adapte su actuación al nuevo cúmulo de circunstancias que esto implica. Así, por ejemplo, la imagen ofrecida por una cámara de vídeo de las que se emplea en vigilancia y sistemas de seguridad no puede ser interpretada directamente por el ordenador.


Robótica Avanzada

En los siguientes videos tenemos una muestra de los avances tecnológicos de la humanidad en la elaboración de robots, con distintas finalidades.

Curiosity



Big Dog (Militar)



Honda ASIMO

 

PETMAN (Militar)
 

 


Sindroid (Medicina)