Sistemas Basados en Conocimiento

7
SISTEMAS BASADOS EN CONOCIMIENTO/ SISTEMAS EXPERTOS DESARROLLO DE SISTEMAS EXPERTOS. Para el desarrollo de un sistema experto, se recomienda utilizar un esquema “incremental de prototipos”, en el cual el sistema experto resuelve primeramente un problema simple. La evaluación del sistema permite refinar la Base de Conocimientos y desarrollar una segunda versión, capaz de resolver problemas de mayor complejidad o enfrentarlas en forma más apropiada. El desarrollo incremental presenta la siguiente evolución: - Prototipo inicial - Prototipos intermedios - Prototipo de trabajo - Modelo productivo - Sistema comercial. • El desarrollo de un sistema experto comprende las siguientes etapas (si bien en casos especiales algunas pueden no considerarse): - Identificación - Conceptualización - Formalización - Implementación - Prueba - Integración - Mantenimiento. Identificación. Los desarrolladores y expertos identifican los problemas y subproblemas, formulan los objetivos globales del sistema y definen las necesidades de hardware y software. En esta etapa se estudia también la relación costo-beneficio esperada. Conceptualización. A partir de su interacción con el experto, el desarrollador define los objetos y sus

Transcript of Sistemas Basados en Conocimiento

Page 1: Sistemas Basados en Conocimiento

SISTEMAS BASADOS EN CONOCIMIENTO/ SISTEMAS EXPERTOS

DESARROLLO DE SISTEMAS EXPERTOS.

• Para el desarrollo de un sistema experto, se recomienda utilizar un esquema “incremental de prototipos”, en el cual el sistema experto resuelve primeramente un problema simple. La evaluación del sistema permite refinar la Base de Conocimientos y desarrollar una segunda versión, capaz de resolver problemas de mayor complejidad o enfrentarlas en forma más apropiada.

• El desarrollo incremental presenta la siguiente evolución:

- Prototipo inicial

- Prototipos intermedios

- Prototipo de trabajo - Modelo productivo - Sistema comercial.

• El desarrollo de un sistema experto comprende las siguientes etapas (si bien en casos especiales algunas pueden no considerarse):

- Identificación

- Conceptualización

- Formalización

- Implementación

- Prueba - Integración

- Mantenimiento.

• Identificación. Los desarrolladores y expertos identifican los problemas y subproblemas, formulan los objetivos globales del sistema y definen las necesidades de hardware y software. En esta etapa se estudia también la relación costo-beneficio esperada.

• Conceptualización. A partir de su interacción con el experto, el desarrollador define los objetos y sus interrelaciones, los mecanismos de solución de problemas y los datos que el experto utiliza en dichas soluciones.

• Formalización. Los conceptos y relaciones identificados se expresan formalmente

utilizando algún mecanismo de representación dado por las herramientas disponibles y las características propias del problema.

• Implementación. El conocimiento formalizado se incorpora al sistema experto, utilizando alguna herramienta de desarrollo, para convertir el conjunto de reglas en un programa computacional. El conocimiento almacenado se organiza de forma de reflejar el mecanismo de razonamiento del experto. El resultado de esta etapa es un programa factible de ser probado.

Page 2: Sistemas Basados en Conocimiento

• Prueba. Se evalúa el desempeño del sistema experto, revisando su capacidad para plantear soluciones a problemas y cumplir los requisitos impuestos por los expertos. La evaluación la llevan a cabo los expertos quienes sugieren aspectos en que el sistema debe ser mejorado. En esta etapa se inicia el desarrollo incremental. Dependiendo del resultado de las pruebas, será necesario volver a la Implementación o inclusive a etapas anteriores.

• Integración. Una vez terminado el desarrollo del sistema experto comercial, éste se integrará a su entorno de trabajo, lo cual incluye la conexión a bases de datos, equipos e instrumentos, y la capacitación de los usuarios.

• Mantenimiento. Esta etapa considera la modificación de la Base de Conocimientos, lo que dependiendo del sistema puede ser realizado por un usuario experto o el desarrollador.

VENTAJAS DE LOS SE.

Estos programas proporcionan la capacidad de trabajar con grandes cantidades de información, que son uno de los grandes problemas que enfrenta el analista humano que puede afectar negativamente a la toma de decisiones pues el analista humano puede depurar datos que no considere relevantes, mientras un SE debido a su gran velocidad de proceso analiza toda la información incluyendo las no útiles para de esta manera aportar una decisión más sólida.

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.

Duplicación: Una vez programado un SE lo podemos duplicar 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: Nos permiten conformar una base de conocimiento.

Apoyo Académico: La Inteligencia Artificial siempre ha recibido un buen apoyo académico.

Page 3: Sistemas Basados en Conocimiento

CARACTERÍSTICAS DE LOS SE.

Intensivos en conocimiento: Utilizan grandes cantidades de datos en forma de bases de conocimiento para producir ciertas salidas, como recomendaciones de acción o diagnósticos.

Usan diferentes tipos de datos: Almacenan y procesan ambos cantidad y calidad de datos más que números o caracteres asociados con el procesamiento tradicional de datos.

Habilidad de razonamiento: Examinan los detalles de una situación, usan hechos y premisas y generan una conclusión.

Son heurísticos: Razonan usando reglas dadas por los expertos que saben que son útiles para resolver ciertas situaciones.

Explican el razonamiento: A diferencia de los DS y los MIS explican el razonamiento utilizado para formular su recomendación.

Funcionan cuando faltan datos: Pueden trabajar aun cuando les falten detalles para lograr en impacto esperado y recomiendan estrategias.

Se enfocan en un dominio limitado: Están diseñados para resolver ciertos problemas o situaciones.

Toleran la ambigüedad: Pueden evaluar el significado de los términos o condiciones que son vagos o no específicos examinando el contexto de su uso.

DOMINIOS DE APLICACIÓN.

Los SE se aplican a una gran diversidad de campos y/o áreas. A continuación se listan algunas de las principales:

Militar Informática Telecomunicaciones

Química Derecho Aeronáutica

Geología Arqueología Agricultura

Electrónica Transporte Educación

Medicina Industria Finanzas y Gestión

Page 4: Sistemas Basados en Conocimiento

PREGUNTAS PARA RECONOCER QUE UN PROBLEMA PUEDE SER RESUELTO COMO S.E.

Antes de empezar a construir un sistema experto, es esencial decidir si es el paradigma apropiado. Por ejemplo, una preocupación es si debe usarse un sistema experto en lugar de un paradigma alternativo, como la programación convencional. El dominio apropiado de un sistema experto depende de varios factores:

- ¿Puede solucionarse eficazmente el problema con programación convencional? Si la respuesta es sí, entonces un sistema experto no es la mejor elección. Los sistemas expertos son más adecuados para situaciones en las que no hay una solución algorítmica eficiente. A esos casos se les llama problemas de estructura nociva y solo el razonamiento puede ofrecer esperanzas de una solución adecuada.

- ¿Está bien delimitado el dominio? Es importante tener límites bien definidos en lo que se espera que sepa el sistema experto y en las aptitudes que debe tener. Cuantos más dominios haya, más complejo se volverá el sistema experto.

- ¿Hay la necesidad y el deseo de tener un sistema experto? Aunque es una gran experiencia construir un sistema experto, no tiene caso si nadie está dispuesto a usarlo.

- ¿Hay al menos un especialista que esté dispuesto a cooperar? Debe haber un perito que esté dispuesto a aplicar y de preferencia entusiasmado, con el proyecto. Aunque haya muchos dispuestos a cooperar en el desarrollo, quizá sea sabio limitar el número de especialistas que participan en él, ya que pueden tener distintos puntos de vista. Tratar de codificar varios métodos para resolver problemas en una sola base de conocimiento puede crear conflictos internos e incompatibles.

- ¿Puede el experto explicar el conocimiento en forma comprensible al ingeniero del conocimiento? Aunque el especialista esté dispuesto a cooperar, puede tener dificultades al expresar el conocimiento en términos explícitos. Puede tomar un año o más para que el ingeniero del conocimiento entienda de que está hablando el perito, sin contar con la traducción del conocimiento a código explícito de computadora.

- ¿El conocimiento para resolver el problema es principalmente heurístico e incierto? Los sistemas expertos son apropiados cuando el conocimiento del especialista es muy heurístico e incierto. Es decir, el conocimiento puede estar basado en la experiencia, lo que se llama conocimiento empírico, y el especialista puede probar varios métodos en caso de que uno no funcione. Si el problema puede resolverse únicamente con la lógica y los algoritmos, es mejor manejarlo con un programa convencional.

Page 5: Sistemas Basados en Conocimiento

CARACTERIZACIÓN DE LOS SISTEMAS EXPERTOS.

Base de conocimiento del mecanismo de procesamiento. Pude contener errores. Una parte del sistema experto la forma el módulo de explicación. Los cambios en las reglas son fáciles. El sistema puede funcionar con pocas reglas. La ejecución usa heurística y lógica. Puede funcionar con información incompleta. Representa y usa conocimiento.

ARQUITECTURA DE LOS SISTEMAS EXPERTOS.

La arquitectura de un sistema experto está basada en una entrada de datos realizada por el usuario a fin de efectuar la oportuna consulta. Las entradas no solamente están compuestas de estas consultas. El aprendizaje del sistema y las condiciones específicas del problema a tratar también han de encontrarse en la entrada.

Junto a ello, se encuentra la administración del sistema, compuesta por un interfaz encargado del manejo de la sintaxis del lenguaje y de la máquina de inferencias, que se encarga de efectuar la búsqueda en la base de conocimientos y en la base de datos. Por último, se tienen los resultados. En la fig. 4 se refleja la arquitectura de un SE.