Está en la página 1de 42
Luis Valencia Cabrera lvalencia@us.es (http://www.cs.us.es/) Sistemas Basados en el Conocimiento (
Luis Valencia Cabrera lvalencia@us.es (http://www.cs.us.es/) Sistemas Basados en el Conocimiento (
Luis Valencia Cabrera lvalencia@us.es (http://www.cs.us.es/)
Luis Valencia Cabrera
lvalencia@us.es
(http://www.cs.us.es/)
Valencia Cabrera lvalencia@us.es (http://www.cs.us.es/) Sistemas Basados en el Conocimiento (

Sistemas Basados en el Conocimiento

Ciencias de la Computacion e IA

(2010/2011)

Universidad de Sevilla

en el Conocimiento ( http://www.cs.us.es/~lvalencia ) Ciencias de la Computacion e IA (2010/2011) Universidad de Sevilla

Índice

Resolución de problemas

Tipos de problemas a resolver

Problemas a resolver por los SBC y SE Del problema a la solución

Tipos de SBC y SE

Componentes de un Sistema Experto Desarrollo de un SE: ciclo de vida

SE Del problema a la solución Tipos de SBC y SE Componentes de un Sistema Experto
SE Del problema a la solución Tipos de SBC y SE Componentes de un Sistema Experto

Resolución de problemas

A lo largo de la vida el hombre se encuentra con muchos problemas, de modo que para maximizar su bienestar emplea su inteligencia con el objetivo principal de la resolución de problemas. El primer paso para resolver cualquier problema es definir el área o dominio del problema. Generalmente las prestaciones para la solución de un problema vienen condicionadas con frecuencia por la existencia de amplias cantidades de conocimiento sobre la tarea en cuestión y no por grandes colecciones de métodos independientes del dominio.

de conocimiento sobre la tarea en cuestión y no por grandes colecciones de métodos independientes del
de conocimiento sobre la tarea en cuestión y no por grandes colecciones de métodos independientes del

Tipos de problemas

Los problemas con los que pueden tratar los sistemas expertos pueden clasificarse

atendiendo a distintos criterios:

En función de su estructura
En función de su contexto

clasificarse atendiendo a distintos criterios:  En función de su estructura  En función de su
clasificarse atendiendo a distintos criterios:  En función de su estructura  En función de su

Clasificación de los

problemas por su estructura

Estructurados:

Se conocen todas las componentes de una solución: los

datos que representan los estados del problema, los

operadores y los procedimientos. Son totalmente resolubles por computador sin necesidad de ayuda humana.

Semiestructurados:

Aquellos que en alguno(s) de sus sub-problema(s) no se conoce alguna de las componentes de la solución. Por

ejemplo, los sistemas tradicionales de ayuda a la toma de

decisiones.

No estructurados:

Todas o alguna(s) componente(s) de la solución son vagas o desconocidas; la meta no está totalmente establecida, por lo que determinar la meta forma parte del problema.

    
la meta no está totalmente establecida, por lo que determinar la meta forma parte del problema.

Clasificación de los

problemas por su contexto

Independientes del contexto:

Ajedrez

Espectrografía

Sensibles al contexto (dependientes del contexto):

Lenguaje natural

Explicaciones cualificadas

Los problemas que aborda la Ingeniería del Conocimiento son los problemas semiestructurados o no estructurados y/o dependientes del contexto.

la Ingeniería del Conocimiento son los problemas semiestructurados o no estructurados y/o dependientes del contexto .
la Ingeniería del Conocimiento son los problemas semiestructurados o no estructurados y/o dependientes del contexto .

Problemas a resolver por los

SSBBCC y los SSEE

Los problemas con los que pueden tratar los sistemas expertos pueden clasificarse en dos tipos:

esencialmente deterministas

esencialmente estocásticos.

Por ejemplo, aunque el ejemplo 1.1 (transacciones bancarias) y el Ejemplo 1.2 (control de tráfico) pueden contener algunos elementos de

incertidumbre, son esencialmente problemas

deterministas. Sin embargo, analicemos una de las aplicaciones más importantes en el ámbito de los sistemas expertos: el diagnóstico médico…

analicemos una de las aplicaciones más importantes en el ámbito de los sistemas expertos: el diagnóstico
analicemos una de las aplicaciones más importantes en el ámbito de los sistemas expertos: el diagnóstico

SSEE de Diagnóstico Médico.

Preguntas a abordar (I)

¿Cómo se puede recoger, organizar, almacenar, poner al día y

puede recoger , organizar , almacenar , poner al día y recuperar la información médica (ej,
puede recoger , organizar , almacenar , poner al día y recuperar la información médica (ej,

recuperar la información médica (ej, registros de pacientes) de

forma eficiente y rápida? Suponga que un doctor en un centro

médico está interesado en conocer información sobre una enfermedad (E) y tres síntomas asociados (S1, S2, y S3). Se puede utilizar un sistema experto para buscar en la base de datos, extraer y organizar la información deseada. Esta información puede resumirse en tablas o en gráficos como los siguientes:

y organizar la información deseada . Esta información puede resumirse en tablas o en gráficos como
y organizar la información deseada . Esta información puede resumirse en tablas o en gráficos como
y organizar la información deseada . Esta información puede resumirse en tablas o en gráficos como

SSEE de Diagnóstico Médico.

Preguntas a abordar (II)

¿Cómo se puede aprender de la experiencia? Es decir, ¿cómo se actualiza el conocimiento de los

doctores en medicina cuando el número de

pacientes que éstos tratan aumenta? Supuesto que un paciente presenta un conjunto de síntomas; ¿cómo se sabe o se decide qué enfermedad es la más probable que tenga el paciente?

¿Cuáles son las relaciones entre un conjunto

(normalmente no observable) de enfermedades y un conjunto (observable) de síntomas? En otras palabras, ¿qué modelos pueden utilizarse para describir las relaciones entre los síntomas y las enfermedades?

otras palabras, ¿qué modelos pueden utilizarse para describir las relaciones entre los síntomas y las enfermedades?
otras palabras, ¿qué modelos pueden utilizarse para describir las relaciones entre los síntomas y las enfermedades?

SSEE de Diagnóstico Médico.

Preguntas a abordar (III)

Dado que el conjunto de síntomas conocidos no es suficiente para diagnosticar la enfermedad con cierto grado de

certeza, ¿qué información adicional debe ser obtenida (por

ejemplo, ¿qué síntomas adicionales deben ser identificados? o ¿qué pruebas médicas deben realizarse?).

¿Cuál es el valor de cada una de estas piezas de información? En otras palabras, ¿cuál es la contribución de cada uno de los síntomas adicionales o pruebas a la toma de decisión?

Como vemos, en el campo médico las relaciones entre síntomas y enfermedades se conocen sólo con un cierto grado de certeza (la presencia de ciertos síntomas no siempre implica la enfermedad). Estos tipos de problemas pueden incluir elementos deterministas, pero se trata fundamentalmente de problemas estocásticos.

tipos de problemas pueden incluir elementos deterministas, pero se trata fundamentalmente de problemas estocásticos .
tipos de problemas pueden incluir elementos deterministas, pero se trata fundamentalmente de problemas estocásticos .

Del problema a la solución.

Ingeniería del conocimiento

Al encontrarnos con un problema de la naturaleza anterior, hemos de encarar algunas cuestiones iniciales:

¿Cómo adquirir y representar el conocimiento humano mediante una representación abstracta efectiva?

¿Cómo representar el conocimiento en términos

de una estructura de datos que una máquina

pueda procesar? ¿Cómo generar inferencias, haciendo uso de esas estructuras abstractas para generar información útil en el contexto de un caso específico?

haciendo uso de esas estructuras abstractas para generar información útil en el contexto de un caso
haciendo uso de esas estructuras abstractas para generar información útil en el contexto de un caso

Del problema a la solución.

Datos, información y agentes

Para la adquisición y representación del conocimiento en sistemas artificiales inteligentes

hemos de tener presentes algunos conceptos

sobre los datos y la información:

Un agente es un sistema que percibe el entorno y puede actuar sobre él con una función acotada y específica.

Los datos son estímulos del entorno que el agente

percibe, es decir, meras entradas al sistema.

La información está formada por datos con significado; este significado se obtiene al interpretar el agente, mediante su conocimiento previo, los datos que recibe.

significado; este significado se obtiene al interpretar el agente, mediante su conocimiento previo, los datos que
significado; este significado se obtiene al interpretar el agente, mediante su conocimiento previo, los datos que

Del problema a la solución.

Conocimiento y razonamiento

El conocimiento es la información una vez incorporada en los mecanismos de razonamiento

del agente. Como estos mecanismos están

orientados por los objetivos del agente, la definición

concuerda con la que dice que el conocimiento es información con propósito. Un agente racional tiene conocimiento sobre un dominio de competencia, mecanismos de

conocimiento sobre un dominio de competencia, mecanismos de razonamiento y objetivos, y utiliza los dos primeros

razonamiento y objetivos, y utiliza los dos primeros

para, en función de los datos que percibe, generar las acciones que conducen a los objetivos. Una representación del conocimiento es la expresión de ese conocimiento en un lenguaje.

que conducen a los objetivos. Una representación del conocimiento es la expresión de ese conocimiento en
que conducen a los objetivos. Una representación del conocimiento es la expresión de ese conocimiento en

Del problema a la solución.

Representación del conocimiento

Requisitos de los formalismos de representación del conocimiento:

potencia expresiva

facilidad de interpretación eficiencia deductiva posibilidad de explicación y justificación

Principales formalismos de representación

lógica reglas de producción redes semánticas marcos

Cada formalismo de representación usa un método de inferencia específico:

Resolución, SLD-resolución

Razonamiento hacia a delante y hacia atrás

Herencia

          
 Razonamiento hacia a delante y hacia atrás  Herencia      

Tipos de SBC y SE (I)

Tomando como base los distintos tipos de problemas que pueden plantearse y distintos esquemas de adquisición y

representación del conocimiento, mecanismos de inferencia

y razonamiento, podemos realizar una clasificación de los distintos tipos de Sistemas Expertos (y SBC, en general). En primer lugar, partiendo de la distinta naturaleza de los problemas para los que están diseñados, los sistemas expertos pueden clasificarse en dos tipos principales:

deterministas y estocásticos.

Los problemas de tipo determinista pueden ser formulados

usando un conjunto de reglas que relacionen varios objetos bien definidos. Los sistemas expertos que tratan problemas

deterministas se suelen implementar mediante sistemas basados en reglas, porque sacan sus conclusiones basándose en un conjunto de reglas utilizando un mecanismo de razonamiento lógico.

, porque sacan sus conclusiones basándose en un conjunto de reglas utilizando un mecanismo de razonamiento
, porque sacan sus conclusiones basándose en un conjunto de reglas utilizando un mecanismo de razonamiento

Tipos de SBC y SE (II)

En situaciones inciertas, es necesario introducir algunos medios para tratar la incertidumbre. Algunos sistemas

expertos usan la misma estructura de los sistemas basados

en reglas, pero introducen una medida asociada a la incertidumbre de las reglas y a la de sus premisas. Se pueden utilizar algunas fórmulas de propagación para calcular la incertidumbre asociada a las conclusiones.

Algunos ejemplos de estas medidas son los factores de

certeza, usados en las aplicaciones para generar sistemas

expertos tales como el sistema experto MYCIN (véase Buchanan y Shortliffe (1984)); la lógica difusa (véase, por ejemplo, Zadeh (1983) y Buckley, Siler, y Tucker (1986)); y la teoría de la evidencia de Dempster y Shafer (véase Shafer

(1976)).

(1983) y Buckley, Siler, y Tucker (1986)); y la teoría de la evidencia de Dempster y
(1983) y Buckley, Siler, y Tucker (1986)); y la teoría de la evidencia de Dempster y

Tipos de SBC y SE (III)

Otra medida intuitiva de incertidumbre es la probabilidad, en la que la

distribución conjunta de un conjunto de variables se usa para describir

las relaciones de dependencia entre ellas, y se sacan conclusiones

usando fórmulas muy conocidas de la teoría de la probabilidad. Este es el caso del sistema experto PROSPECTOR (véase Duda, Gaschnig, y Hart (1980)), que utiliza el teorema de Bayes para la exploración de mineral.

Los sistemas expertos que utilizan la probabilidad como medida de incertidumbre se conocen como sistemas expertos probabilísticos y la estrategia de razonamiento que usan se conoce como razonamiento

probabilístico, o inferencia probabilística. Una visión detallada de este

tipo de sistemas se encuentra en el libro de la bibliografía:

de sistemas se encuentra en el libro de la bibliografía: http://personales.unican.es/gutierjm/papers/BookCGH.pdf

Otros libros que sirven para introducirse de forma general en otras

medidas de incertidumbre son Buchanan y Shortliffe (1984), Waterman (1985), Pearl (1988), Jackson (1990), Neapolitan (1990), Castillo y Álvarez

(1991), Durkin (1994) y Jensen (1996).

(1985), Pearl (1988), Jackson (1990), Neapolitan (1990), Castillo y Álvarez (1991), Durkin (1994) y Jensen (1996).
(1985), Pearl (1988), Jackson (1990), Neapolitan (1990), Castillo y Álvarez (1991), Durkin (1994) y Jensen (1996).

Tipos de SBC y SE (IV)

Dificultad de los sistemas expertos probabilísticos anteriores:

definir la distribución de probabilidad conjunta de las

variables.

Solución: introducción de los modelos de redes probabilísticas, que han superado el obstáculo anterior, retomándose enérgicamente los SSEE probabilísticos. Estos modelos, que incluyen las redes de Markov y las Bayesianas:

Se basan en una representación gráfica de las relaciones entre las

variables.

Esta representación conduce no sólo a formas más eficientes de definir la distribución conjunta de probabilidad sino también a una propagación de incertidumbre muy eficiente, que permite sacar conclusiones. Ejemplos de este tipo de sistemas expertos son el sistema HUGIN (véase Andersen y otros (1989)) y X-pert Nets(Enrique Castilla et al).

tipo de sistemas expertos son el sistema HUGIN (véase Andersen y otros (1989)) y X-pert Nets
tipo de sistemas expertos son el sistema HUGIN (véase Andersen y otros (1989)) y X-pert Nets

Resumen Tipos de SBC y SE.

Sistemas basados en reglas (I)

Sistemas basados en reglas:

Introducción de los sistemas de producción de reglas:

A. Newell y H.A. Simon Human problem solving (PrenticeHall, 1972)

Correspondencia entre sistemas de

producción y memoria humana:

Memoria de trabajo y memoria temporal
Base de conocimiento y memoria permanente

producción y memoria humana:  Memoria de trabajo y memoria temporal  Base de conocimiento y
producción y memoria humana:  Memoria de trabajo y memoria temporal  Base de conocimiento y

Resumen Tipos de SBC y SE.

Sistemas basados en reglas (II)

S.E. basados en sistemas de producción:

DENDRAL: S.E. para determinar estructuras moleculares (Buchanan, U. Stanford, 1964)
MYCIN: S.E. para diagnosticar meningitis e infecciones sanguíneas (Shortliffe, U. Stanford,

1972)

PROSPECTOR: S.E. para estudio de exploraciones geológicas (Duda, Stanford Research Institute,

1978)

R1 (XCON): SE para configurar equipos VAX (Mc- Dermott, CMU y DEC, 1978)

Stanford Research Institute, 1978)  R1 (XCON): SE para configurar equipos VAX (Mc- Dermott, CMU y
Stanford Research Institute, 1978)  R1 (XCON): SE para configurar equipos VAX (Mc- Dermott, CMU y

Resumen Tipos de SBC y SE.

Sistemas basados en reglas (III)

Ejemplos:

SI el problema no me sale Y es la hora de consulta

ENTONCES consultar al profesor

SI la luz del semáforo es verde Y no hay peatones cruzando

ENTONCES continúa la marcha

SI el programa Lisp no carga

ENTONCES comprobar paréntesis

Inferencias:

Razonamiento hacia adelante (de abajo a arriba)

Razonamiento hacia atrás (de arriba a abajo)

       
adelante (de abajo a arriba)  Razonamiento hacia atrás (de arriba a abajo)   

Resumen Tipos de SBC y SE.

Resumen Tipos de SBC y SE. Redes semánticas.  Ejemplo :  Inferencia :  Herencia

Redes semánticas.

Ejemplo:

Inferencia:

Herencia

Resumen Tipos de SBC y SE. Redes semánticas.  Ejemplo :  Inferencia :  Herencia
Resumen Tipos de SBC y SE. Redes semánticas.  Ejemplo :  Inferencia :  Herencia
Resumen Tipos de SBC y SE. Redes semánticas.  Ejemplo :  Inferencia :  Herencia

Resumen Tipos de SBC y SE.

Resumen Tipos de SBC y SE. Lógica (I). Deducción natural. Cálculo de secuentes. Regla de resolución.

Lógica (I).

Resumen Tipos de SBC y SE. Lógica (I). Deducción natural. Cálculo de secuentes. Regla de resolución.

Deducción natural. Cálculo de secuentes. Regla de resolución. Reescritura.

Razonamiento automático.

 Ejemplos:  Inferencia:    
 Ejemplos:
 Inferencia:
Regla de resolución. Reescritura.  Razonamiento automático.  Ejemplos:  Inferencia:    

Resumen Tipos de SBC y SE.

Lógica (II). Ejemplo en Prolog

r1 # si Coche tiene cilindrada X

entonces Coche tiene velocidad X.

r2 # si Coche tiene motor inyeccion y Coche es mono-volumen

entonces Coche tiene velocidad media.

r9 # si Coche tiene frenos abs y Coche tiene airbag

entonces Coche tiene seguridad alta.

f1 hecho opel_astra tiene 1600 c_cubicos. f2 hecho opel_astra tiene airbag.

f3 hecho opel_astra no_tiene frenos abs.

f4 hecho fiat_punto tiene 1400 c_cubicos. f5 hecho fiat_punto no_tiene airbag. f6 hecho fiat_punto no_tiene frenos abs. f7 hecho renault_space es mono_volumen. f8 hecho renault_space tiene motor diesel.

f9 hecho renault_space tiene frenos abs.

f10 hecho renault_space tiene airbag.

            
frenos abs.  f10 hecho renault_space tiene airbag.        

Resumen Tipos de SBC y SE.

Lógica (II). Ejemplo en Prolog (II)

?- se_deduce(opel_astra es gama X).

¿Es cierto opel_astra tiene 2000 c_cubicos?

Posibles respuestas: [si, no, porque] (seguidas de un punto):

¿Es cierto opel_astra tiene 1600 c_cubicos?

Posibles respuestas: [si, no, porque] (seguidas de un punto):

=== Porque:

La regla r7 dice que probando:

opel_astra tiene 1600 c_cubicos

se tiene:

opel_astra tiene cilindrada media

Repito: ¿Es cierto opel_astra tiene 1600 c_cubicos?

Posibles respuestas: [si, no, porque] (seguidas de un punto):

****** Se ha encontrado respuesta afirmativa:

------ Opciones:

------ 1) Ver la prueba completa y continuar.

------ 2) Navegar dentro de la prueba.

------ 3) Continuar.

Posibles respuestas: [1, 2, 3] (seguidas de un punto): 1.

        
3) Continuar.  Posibles respuestas: [1, 2, 3] (seguidas de un punto): 1.   

Resumen Tipos de SBC y SE.

Lógica (II). Ejemplo en Prolog (III)

****** Prueba encontrada:

por usted, sabemos que opel_astra tiene 1600 c_cubicos,

luego, segun r7 se concluye que opel_astra tiene cilindrada

luego, segun r2 se concluye que opel_astra tiene velocidad media,

y

por f3, sabemos que opel_astra no_tiene frenos abs,

y

por f2, sabemos que opel_astra tiene airbag,

luego, segun r10 se concluye que opel_astra tiene seguridad

luego, segun r1 se concluye que opel_astra es gama media,

X = media ; %% Con el ; se está solicitando otra respuesta

¿Es cierto opel_astra tiene 1400 c_cubicos?

Posibles respuestas: [si, no, porque] (seguidas de un punto): No.

 
cierto opel_astra tiene 1400 c_cubicos?  Posibles respuestas: [si, no, porque] (seguidas de un punto): No.

Componentes de un

Componentes de un Sistema Experto

Sistema Experto

Componentes de un Sistema Experto
Componentes de un Sistema Experto
Componentes de un Sistema Experto

Componentes de un SE(I). La

Componente Humana

Un Sistema Experto surge de la colaboración entre:

expertos humanos e

entre:        expertos humanos e ingenieros del conocimiento teniendo en
entre:        expertos humanos e ingenieros del conocimiento teniendo en

ingenieros del conocimiento

teniendo en mente a los usuarios

Los expertos humanos suministran el conocimiento básico en el tema de interés Los ingenieros del conocimiento trasladan este conocimiento a un lenguaje, que el sistema experto pueda entender. La colaboración entre estos tres perfiles es el elemento más importante en el desarrollo de un sistema experto. Requiere gran dedicación, implicación por las partes y esfuerzo de entendimiento (cada parte habla un lenguaje diferente en base a su rol y experiencia).

por las partes y esfuerzo de entendimiento (cada parte habla un lenguaje diferente en base a
por las partes y esfuerzo de entendimiento (cada parte habla un lenguaje diferente en base a

Componentes de un SE(II). La

Base de Conocimiento

Especialistas/expertos Suministrar a los ingenieros del conocimiento:

Conocimiento ordenado y estructurado.

Relaciones bien definidas y explicadas.

Requiere que los expertos humanos repiensen, reorganicen, y reestructuren su conocimiento profundiza en el conocimiento de su propia especialidad. Conocimiento:

Afirmaciones de validez general como reglas, distribuciones de probabilidad, etc.

Este conocimiento es permanente, y se almacena en la base de conocimiento.

Por ejemplo, los síntomas, las enfermedades y las relaciones entre ellos.

Datos:

Información relacionada con una aplicación particular.

Son efímeros, y se almacenan en la memoria de trabajo.

Todos los procedimientos de los diferentes sistemas y subsistemas que son de carácter transitorio se almacenan también en la memoria de trabajo.

Por ejemplo, los síntomas particulares de un paciente dado.

se almacenan también en la memoria de trabajo.  Por ejemplo, los síntomas particulares de un
se almacenan también en la memoria de trabajo.  Por ejemplo, los síntomas particulares de un

Componentes de un SE(III).

Adquisición de Conocimiento

El subsistema de adquisición de conocimiento:

controla el flujo del nuevo conocimiento que fluye del experto humano a la base de datos.

El sistema determina:

qué nuevo conocimiento se necesita
si el conocimiento recibido es en realidad nuevo, es decir, si debe incluirse en la BD

en caso necesario, incorpora estos conocimientos a la misma.

<Veremos en más detalle este mecanismo en el siguiente tema de teoría.>

estos conocimientos a la misma. <Veremos en más detalle este mecanismo en el siguiente tema de
estos conocimientos a la misma. <Veremos en más detalle este mecanismo en el siguiente tema de

Componentes de un SE(IV).

Control de la Coherencia

Este subsistema apareció en los sistemas expertos tras un proceso de maduración, pasando a ser esencial para un sistema experto.

Controla la consistencia de la base de datos, evitando que se

produzcan inconsistencias entre unidades de conocimiento de la misma.

En situaciones complejas un experto humano puede formular afirmaciones inconsistentes. Sin este subsistema, se podría encontrar conocimiento contradictorio en la base de conocimiento, originando un comportamiento insatisfactorio del sistema. Ej: en sistemas con mecanismos de propagación de incertidumbre,

en sistemas con mecanismos de propagación de incertidumbre, conclusiones absurdas como generar probabilidades mayores

conclusiones absurdas como generar probabilidades mayores que la

unidad o negativas. Comprueba e informa a los expertos de las inconsistencias. Además, cuando solicita información de los expertos humanos, éste subsistema informa sobre las restricciones que ésta debe cumplir para ser coherente con la existente en la base de conocimiento. De esta forma, ayuda a los expertos humanos a dar información fiable.

con la existente en la base de conocimiento. De esta forma, ayuda a los expertos humanos
con la existente en la base de conocimiento. De esta forma, ayuda a los expertos humanos

Componentes de un SE(V).

Componentes de un SE(V). El Motor de Inferencia Es el corazón de todo sistema experto .

El Motor de Inferencia

Es el corazón de todo sistema experto.

Cometido principal: sacar conclusiones aplicando el conocimiento a los

Ej: En diagnóstico médico, los síntomas de un paciente (datos) son analizados a la luz de los síntomas y las enfermedades y de sus relaciones (conocimiento).

Las conclusiones pueden basarse en conocimiento determinista o probabilístico. El tratamiento de situaciones de incertidumbre (probabilísticas) puede ser considerablemente más difícil que el de situaciones ciertas (deterministas). En muchos casos, algunos hechos (datos) no se conocen con certeza.

Ej: un paciente no está seguro de sus síntomas. Caso de trabajar con

conocimiento de tipo no determinista, se dispone sólo de información aleatoria o difusa.

El motor de inferencia es también responsable de la propagación del conocimiento incierto. En los SSEE basados en probabilidad, la propagación de incertidumbre es la tarea principal del motor de inferencia, permitiendo sacar conclusiones bajo incertidumbre. Es tan complejo que da lugar a que ésta sea la componente más débil de casi todos los SSEE existentes.

dedica al análisis y resolucn de la propagacn de incertidumbre.>

  datos.     
datos.
reso l uc ió n d e l a propagac ió n d e i ncert

Componentes de un SE(VI).

Adquisición de Información

Si el conocimiento inicial es muy limitado y no se pueden sacar conclusiones, el motor de inferencia

utiliza el subsistema de adquisición de información

para obtener la información necesaria y continuar con el proceso de inferencia hasta que se hayan sacado conclusiones. En algunos casos, el usuario puede suministrar la información requerida para éste y otros objetivos. De

ello resulta la necesidad de una interfaz de usuario y

de una comprobación de la consistencia de la información suministrada por el usuario antes de introducirla en la memoria de trabajo.

de la consistencia de la información suministrada por el usuario antes de introducirla en la memoria
de la consistencia de la información suministrada por el usuario antes de introducirla en la memoria

Componentes de un SE(VII).

Interfaz de Usuario

Enlace entre el sistema experto y el usuario. Para que un SE sea una herramienta efectiva, debe incorporar

mecanismos eficientes para mostrar y obtener información de forma

fácil y agradable. Tras el trabajo del motor de inferencia se deben mostrar las conclusiones, las razones que expliquen las mismas y una explicación de las acciones iniciadas por el sistema experto. Cuando el motor de inferencia no puede concluir debido, por ejemplo, a la ausencia de información, la interfaz de usuario es un vehículo para obtener la información necesaria del usuario.

Una implementación inadecuada de la interfaz de usuario minaría

notablemente la calidad de un sistema experto. Los usuarios evalúan comúnmente los sistemas expertos y otros por la calidad de la interfaz más que por la del SE mismo.

<Los interesados en el diseño de una interfaz de usuario pueden consultar Shneiderman, B. (1987), Designing the Human Interface y Brown, J. R. and Cunningham, S. (1989), Programming the User Interface: Principles and

Examples.>

Interface y Brown, J. R. and Cunningham, S. (1989), Programming the User Interface: Principles and Examples
Interface y Brown, J. R. and Cunningham, S. (1989), Programming the User Interface: Principles and Examples

Componentes de un SE(VIII).

El Subsistema de Ejecución de Órdenes

Componente que permite al sistema experto iniciar acciones. Estas acciones se basan en las

conclusiones sacadas por el motor de inferencia.

Ejemplos:,

Un sistema experto diseñado para analizar el tráfico ferroviario puede decidir retrasar o parar ciertos trenes para optimizar el tráfico global
Un sistema para controlar una central nuclear puede abrir o cerrar ciertas válvulas, mover barras, etc., para evitar un accidente.

La explicación de las razones por las que se inician estas acciones pueden darse al usuario mediante el subsistema de explicación.

de las razones por las que se inician estas acciones pueden darse al usuario mediante el
de las razones por las que se inician estas acciones pueden darse al usuario mediante el

Componentes de un SE(IX).

El Subsistema de Explicación

El usuario puede pedir una explicación de las conclusiones sacadas o de las acciones iniciadas por el sistema experto.

Es necesario un subsistema que explique el proceso seguido por el

motor de inferencia o por el subsistema de ejecución. Ej:, si un cajero automático decide rechazar la palabra clave (una acción), la máquina puede mostrar un mensaje (una explicación) como la siguiente:

¡Lo siento!, su palabra clave es incorrecta tras tres intentos. Retenemos su tarjeta para garantizar su seguridad. Póngase en contacto con su banco.

En muchos dominios de aplicaciones, es necesaria la explicación

de las conclusiones debido a los riesgos asociados con las acciones a ejecutar. Ej:, en el diagnóstico médico, los doctores son responsables de los diagnósticos. Si emplean un SE sin un subsistema de explicación, los doctores pueden no ser capaces de explicar a sus pacientes las razones de su diagnóstico.

subsistema de explicación, los doctores pueden no ser capaces de explicar a sus pacientes las razones
subsistema de explicación, los doctores pueden no ser capaces de explicar a sus pacientes las razones

Componentes de un SE(X).

El Subsistema de Aprendizaje

Una de las principales características de un sistema experto es su capacidad para aprender. Diferenciaremos entre aprendizaje

estructural y aprendizaje paramétrico.

entre aprendizaje estructural y aprendizaje paramétrico. Por aprendizaje estructural nos referimos a algunos

Por aprendizaje estructural nos referimos a algunos aspectos relacionados con la estructura del conocimiento (reglas, distribuciones de probabilidad, etc.). Por ello, el descubrimiento de nuevos síntomas relevantes para una enfermedad o la inclusión de una nueva regla en la base de conocimiento son ejemplos de aprendizaje estructural.

Por aprendizaje paramétrico nos referimos a estimar los parámetros necesarios para construir la base de conocimiento. Por ello, la

estimación de frecuencias o probabilidades asociadas a síntomas o

enfermedades es un ejemplo de aprendizaje paramétrico.

Otra característica de los sistemas expertos es su habilidad para obtener experiencia a partir de los datos disponibles. Estos datos pueden ser obtenidos por expertos y no expertos y pueden utilizarse por el subsistema de adquisición de conocimiento y por el subsistema de aprendizaje.

  
y pueden utilizarse por el subsistema de adquisición de conocimiento y por el subsistema de aprendizaje.

Componentes de un SE.

Resumen de tareas implicadas

Los sistemas expertos pueden realizar varias tareas entre las que se incluyen:

Adquisición de conocimiento y verificación de su

coherencia;

Por lo que el sistema experto puede ayudar a los expertos humanos a dar conocimiento coherente.

Almacenar (memorizar) conocimiento. Preguntar cuándo se requiere nuevo conocimiento.

Aprender de la base de conocimiento y de los datos

disponibles. Realizar inferencia y razonamiento en situaciones deterministas y de incertidumbre. Explicar conclusiones o acciones tomadas. Comunicar con los expertos y no expertos humanos y con otros sistemas expertos.

conclusiones o acciones tomadas. Comunicar con los expertos y no expertos humanos y con otros sistemas
conclusiones o acciones tomadas. Comunicar con los expertos y no expertos humanos y con otros sistemas

Desarrollo de un SE:

Desarrollo de un SE: ciclo de vida

ciclo de vida

Desarrollo de un SE: ciclo de vida
Desarrollo de un SE: ciclo de vida
Desarrollo de un SE: ciclo de vida

Desarrollo de un SE:

etapas del desarrollo (I)

1. Planteamiento del problema.

2.

La primera etapa consiste en la definición del problema

a resolver.

El objetivo principal de un sistema experto es responder a preguntas y resolver problemas Es fundamental tener claro el problema que se trata, pues si el sistema está mal definido podrá suministrar respuestas erróneas.

Encontrar expertos humanos que puedan resolver

el problema.

En algunos casos, las bases de datos pueden jugar el papel del experto humano proporcionando información, si bien la experiencia del experto humano ofrece información de carácter cualitativo que raramente podemos encontrar en las bases de datos usuales.

experto humano ofrece información de carácter cualitativo que raramente podemos encontrar en las bases de datos
experto humano ofrece información de carácter cualitativo que raramente podemos encontrar en las bases de datos

Desarrollo de un SE:

etapas del desarrollo (II)

3. Diseño de un sistema experto.

4.

Incluye el diseño de estructuras para almacenar el

conocimiento, el motor de inferencia, el subsistema de

explicación, la interfaz de usuario, etc.

Elección de la herramienta de desarrollo, esqueleto o framework, o lenguaje de programación.

Debe decidirse si realizar un sistema experto a medida,

utilizar un esqueleto, una herramienta, o un lenguaje de

programación.

Si existiera un framework satisfaciendo todos los requerimientos del diseño, ésta debería ser la elección, tanto por razones de tipo financiero como por fiabilidad. Los frameworks y herramientas comerciales están sujetas a controles de calidad, a los que otros programas no lo están.

Los frameworks y herramientas comerciales están sujetas a controles de calidad, a los que otros programas
Los frameworks y herramientas comerciales están sujetas a controles de calidad, a los que otros programas

Desarrollo de un SE:

etapas del desarrollo (III)

5. Desarrollo y prueba de un prototipo.

Si el prototipo no pasa las pruebas requeridas, las etapas anteriores (con las modificaciones apropiadas) deben ser repetidas hasta que se obtenga un prototipo satisfactorio.

6.

Refinamiento y generalización.

En esta etapa se corrigen los fallos y se incluyen nuevas posibilidades no incorporadas en el diseño inicial.

7.

Mantenimiento y puesta al día.

En esta etapa el usuario plantea problemas o defectos del prototipo, corrige errores, actualiza el producto con nuevos avances, etc.

el usuario plantea problemas o defectos del prototipo, corrige errores, actualiza el producto con nuevos avances,
el usuario plantea problemas o defectos del prototipo, corrige errores, actualiza el producto con nuevos avances,