Está en la página 1de 8

Sistemas expertos

Alumnos:
- Harold André Obregón Zavaleta
- Alejandro Daniel Solís Carbajal
Un sistema experto es un sistema informático que simula la toma de decisiones que
realizaría un experto en cierta área. Un sistema experto debería ser capaz de procesar y
memorizar información, aprender y razonar en situaciones deterministas e inciertas,
comunicar con los hombres y/u otros sistemas expertos, tomar decisiones apropiadas, y
explicar por qué se han tomado tales decisiones. Se puede pensar también en un sistema
experto como un consultor que puede suministrar ayuda a (o en algunos casos sustituir
completamente) los expertos humanos con un grado razonable de fiabilidad.

Principales características:
· Toma de decisiones con el mismo nivel que lo haría de un experto
· Representa el conocimiento y realiza inferencias.
· Está basado en un gran volumen de conocimiento teórico.
· Razona sobre las operaciones que realiza
· Constituye un modelo no algorítmico
· Admite una fácil modificación del conocimiento sin reprogramar el sistema.
· El usuario interactúa con el sistema empleando un lenguaje natural, a través de la
interfaz

Componentes de un Sistema Experto:


1. Componente humana: son los especialistas expertos humano (conocimiento básico
en el tema de interés) y los ingenieros del conocimiento (trasladan dicho
conocimiento a un lenguaje entendible por los sistemas expertos).

2. La Base de Conocimiento: el conocimiento es el conjunto de aquellas afirmaciones


con validez general (son permanentes), en cambio los datos es información
relacionada a algo particular (por ejemplo: los síntomas particulares de un paciente),
los datos se caracterizan por ser efímeros ya que son destruidos después de
usarlos. El conocimiento se almacena en la base de conocimiento y los datos en la
memoria de trabajo.

3. Subsistema de adquisición de conocimiento: controla el flujo del nuevo conocimiento


que va desde el experto humano a la base de datos.

4. Subsistema de control de la coherencia: evita que unidades de conocimiento


inconsistentes entren a la base de conocimiento, esto es de vital importancia ya que
puede almacenar conocimiento contradictorio en la base de conocimiento
ocasionando un comportamiento insatisfactorio del sistema, es el mismo subsistema
quien le avisa (ayuda) al experto humano de las restricciones que hay que cumplir
para ser coherente con el conocimiento que está en la base del conocimiento.

5. Motor de Inferencia: corazón de todo sistema experto, saca conclusiones a partir


aplicando el conocimiento a los datos. Tiene como tarea principal en los sistemas
expertos probabilísticos el de propagar la incertidumbre para sacar conclusiones
bajo incertidumbre.

6. Subsistema de adquisición de información: sirve en caso de que hay poco


conocimiento para poder sacar conclusiones, y es en donde este subsistema actúa
dado que el motor de inferencia lo utiliza, y este subsistema lo que hace es entregar
el conocimiento necesario que se puede obtener también por el usuario.

7. Interfase de usuario: enlace entre el sistema experto y el usuario, la interfase ayuda


a obtener información necesaria del usuario en caso de que el motor de inferencia
no pueda concluir debido a una falta de información.

8. El subsistema de ejecución de órdenes: realiza las acciones en base a las


conclusiones del motor de inferencia.

9. El subsistema de explicación: explica las razones por las que se tomaron las
acciones o las conclusiones sacadas por el sistema experto.

10. El subsistema de aprendizaje: un sistema experto tiene la capacidad de aprender de


la base del conocimiento y de los datos disponibles; y existen dos tipos: el
aprendizaje estructural y el paramétrico.

Desarrollo de un Sistema Experto:


1. Planteamiento del problema. La primera etapa en cualquier proyecto es normalmente la
definición del problema a resolver. Puesto que el objetivo principal de un sistema experto es
responder a preguntas y resolver problemas, esta etapa es quizás la más importante en el
desarrollo de un sistema experto. Si el sistema está mal definido, se espera que el sistema
suministre respuestas erróneas.
2. Encontrar expertos humanos que puedan resolver el problema. En algunos casos, sin
embargo, las bases de datos pueden jugar el papel del experto humano.
3. Diseño de un sistema experto. Esta etapa incluye el diseño de estructuras para
almacenar el conocimiento, el motor de inferencia, el subsistema de explicación, la interfase
de usuario, etc.
4. Elección de la herramienta de desarrollo, concha, o lenguaje de programación. Debe
decidirse si realizar un sistema experto a medida, o utilizar una concha, una herramienta, o
un lenguaje de programación. Si existiera una concha satisfaciendo todos los
requerimientos del diseño, esta debería ser la elección, no solo por razones de tipo
financiero sino también por razones de fiabilidad. Las conchas y herramientas comerciales
están sujetas a controles de calidad, a los que otros programas no lo están.
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
Tipos de sistemas expertos

Existen tres tipos de sistemas expertos:

· Basados en reglas: Aplicando reglas heurísticas apoyadas generalmente en lógica


difusa para su evaluación y aplicación.
· Basados en casos CBR (Case Based Reasoning): Aplicando el razonamiento
basado en casos, donde la solución a un problema similar planteado con
anterioridad se adapta al nuevo problema.
· Basados en redes: Aplicando redes bayesianas, basadas en estadística y el
teorema de Bayes.

¿Por qué utilizar un sistema experto?


Con su ayuda, personas con poca experiencia pueden resolver problemas que requieren un
"conocimiento formal especializado". Se pueden obtener conclusiones y resolver problemas
de forma más rápida que los expertos humanos. Estos sistemas razonan, pero en base a un
conocimiento adquirido y no tienen sitio para la subjetividad. Se ha comprobado que tienen
al menos, la misma competencia que un especialista humano.
Su uso 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.
SISTEMAS BASADOS EN REGLAS
Las reglas deterministas utilizada en los sistemas expertos es la metodología más sencilla,
tiene como base de conocimiento: conjunto de reglas, y su motor de inferencia es la que se
encarga de sacar conclusiones.

1. La base de conocimiento
En estos sistemas intervienen dos elementos: la base de conocimiento y los datos.

Dato:
- No es permanente
- Formado por evidencias o hechos conocidos en una situación particular (por
ejemplo: el paciente tiene el síntoma de la fiebre y náuseas)
- Se almacena en la memoria de trabajo.
- Es dinámico, porque puede cambiar de una aplicación a otra.

El conocimiento:
- Permanente
- Conjunto de objetos y conjunto de reglas que relacionan dicho conjunto (2 o más
objetos)
- Se almacena en la base del conocimiento
- Estática, porque no cambia de una aplicación a otra.

Una regla está formada por premisas (son el conjunto de afirmaciones objeto-valor que
puede estar entre las palabras clave si y entonces, estas afirmaciones están conectadas
con operadores lógicos ‘y’, ‘o’ o ‘no’) y la conclusión (es lo que viene despues del entonces
y que también contienen objetos-valores con conectores logicos).

Ejemplo:
Objeto: puesto, nota.
Valores Posibles: para puesto {0,1, …,100} y para nota {0,1, …,10}
Regla: Si puesto < 20 o nota > 7, entonces Admitir= Sí y Notificar = Sí.

Resumen de lo que es una Regla: “Si premisa, entonces conclusión”.

Reglas simples: aquellas que solo tienen expresiones lógicas simples (que solo contiene
una afirmación objeto-valor) tanto para la premisa como para la conclusión.

Reglas compuestas: aquellas que solo tienen expresiones lógicas compuestas (contraria de
las simples).

Cabe considerar que también es posible imponer restricciones a las reglas; por dos
razones, la primera es que es fácil de tratar a la hora de escribir un programa de ordenador
y la segunda, que es la más importante, es que no pierde generalidad de una regla, ya que
esta regla con restricciones puede ser escrito como una regla general también, por ejemplo
la siguiente tabla presenta equivalencias donde la primera columna presenta reglas con
restricciones, y la segunda son reglas sin restricciones, y se cumple que ambas son
equivalentes:
2. El motor de inferencia
El motor de inferencia utiliza ambos elementos mencionados anteriormente: los datos y el
conocimiento, con la finalidad de obtener conclusiones.

Si (VERDADERO), entonces (VERDADERO).

Una conclusión se puede decir que es producto de los datos iniciales, pero incrementados ;
es así que tanto los hechos o datos iniciales y las conclusiones derivadas de ellos, están
incluidos en hechos o datos que se dan en un instante dado.

Tipos de conclusiones: simples y compuestas


- Simples: las que resultan de una regla simple.
- Compuestas: las que resultan de más de una regla.

Para la obtención de estas conclusiones, los expertos utilizan ciertas reglas y estrategias de
inferencia y control.

Reglas de inferencia:
- Modus Ponens.
- Modus Tollens.
- Resolución.
Estrategias de inferencia:
- Encadenamiento de reglas.
- Encadenamiento de reglas orientado a un objetivo.
- Compilación de reglas.

Estas reglas y estrategias deben implementarse conjuntamente para que el motor de


inferencia genere tantas conclusiones como sea posible.

2.1. Modus Ponens y Modus Tollens


- Modus Ponens: se utiliza para obtener conclusiones simples. Esta regla menciona
que si la premisa es cierta o verdadera, entonces la conclusión pasa a formar
parte del conocimiento. Ejemplo:
“Si A es cierto, entonces B es cierto” y si se sabe que “A es cierto”, entonces se
concluye que “B es cierto”.

- Modus Tollens: también se utiliza para obtener conclusiones simples. En este


caso se examina la conclusión, y si es falsa, entonces la premisa es falsa.
Ejemplo:
“Si A es cierto, entonces B es cierto” y se sabe que “B es falso”, entonces por
Modus Tollens se concluye que “A es falso”.

2.2. El Mecanismo de Resolución


Estas obtienen conclusiones compuestas (aquellas que se basan de dos o más reglas).
Tiene las siguientes etapas:
1. Las Reglas son sustituidas por expresiones lógicas equivalentes.
2. Estas expresiones lógicas se combinan en otra expresión lógica.
3. Esta última expresión se utiliza para obtener la conclusión.
Como se observa en estas etapas, es necesario los conceptos de combinación y
simplificación de expresiones lógicas.

2.3. Encadenamiento de Reglas


Estrategia más utilizada para obtener conclusiones compuestas. Se aplica cuando las
premisas de ciertas reglas coinciden con las conclusiones de otras; es así cómo se
encadenan reglas; el tiempo que se consume en este proceso depende de los hechos
conocidos y de las reglas que se activan.

2.4. Encadenamiento de Reglas Orientado a un Objetivo


Esta estrategia se diferencia de las anteriores en que se requiere a un usuario seleccionar
una variable o “nodo objetivo” para que el motor de inferencia haga la búsqueda de una
conclusión para el nodo objetivo, si no se obtiene, entonces el sistema experto fuerza a
preguntar al usuario en busca de nueva información sobre los elementos que son relevantes
para obtener información sobre el objetivo.

Las estrategias de encadenamiento de reglas se utilizan en problemas en los que algunos


hechos (por ejemplo, síntomas) se dan por conocidos y se buscan algunas conclusiones
(por ejemplo, enfermedades). Por el contrario, las estrategias de encadenamiento de reglas
orientadas a un objetivo se utilizan en problemas en los que se dan algunos objetivos
(enfermedades) y se buscan los hechos (síntomas) para que estas sean posibles.

2.4. Compilación de Reglas


Otra forma de tratar con reglas encadenadas consiste en comenzar con un conjunto de
datos (información) y tratar de alcanzar algunos objetivos. Esto se conoce con el nombre de
compilación de reglas. Cuando ambos, datos y objetivos, se han determinado previamente,
las reglas pueden ser compiladas, es decir, pueden escribirse los objetivos en función de los
datos para obtener las llamadas ecuaciones objetivo.

3. Control de la coherencia
En situaciones complejas, incluso verdaderos expertos pueden dar información
inconsistente (por ejemplo, reglas inconsistentes y/o combinaciones de hechos no factibles).
Por ello, es muy importante controlar la coherencia del conocimiento tanto durante la
construcción de la base de conocimiento como durante los procesos de adquisición de
datos y razonamiento. Si la base de conocimiento contiene información inconsistente (por
ejemplo, reglas y/o hechos), es muy probable que el sistema experto se comporte de forma
poco satisfactoria y obtenga conclusiones absurdas. El objetivo del control de la coherencia
consiste en:

- Ayudar al usuario a no dar hechos inconsistentes, por ejemplo, dándole al usuario


las restricciones que debe satisfacer la información demandada.

- Evitar que entre en la base de conocimiento cualquier tipo de conocimiento


inconsistente o contradictorio.

El control de la coherencia debe hacerse controlando la coherencia de las reglas y la de los


hechos.

4. Explicando conclusiones
En los sistemas expertos basados en reglas, es fácil dar explicaciones de las conclusiones
obtenidas. El motor de inferencia obtiene conclusiones basándose en un conjunto de reglas
y, por tanto, conoce de qué regla procede cada conclusión. Por ello, el sistema puede dar al
usuario la lista de hechos concluidos junto con las reglas que se han utilizado para
obtenerlos.

SISTEMAS EXPERTOS BASADOS EN PROBABILIDAD


En los sistemas expertos basados en reglas se dice que el conjunto de reglas describe las
relaciones entre los objetos (variables), pero en los sistemas expertos basados en
probabilidad, las que describen las relaciones entre las variables es su función de
probabilidad conjunta (ya no reglas), esta función forma parte de lo que se llama
conocimiento.

1. La base de conocimiento
Consiste de un conjunto de variables {X1,X2,...,Xn}, y una función de probabilidad conjunta
definida sobre ellas p(x1,...,xn).
Entonces para poder construir la base de conocimiento de un sistema experto probabilístico,
se necesita definir la función de probabilidad conjunta de las variables. El modelo más
general posible se basa en especificar directamente la función de probabilidad conjunta; es
decir, asignar un valor numérico (parámetro) a cada una de las posibles combinaciones de
valores de las variables. Desgraciadamente, la especificación directa de la función de
probabilidad conjunta implica un gran número de parámetros. Por ejemplo, con n variables
binarias, la función de probabilidad conjunta más general tiene 2n parámetros (las
probabilidades p(x1,...,xn) para toda posible realización {x1,...,xn} de las variables), un
número tan grande que no hay ordenador en el mundo capaz de almacenarlo incluso para
un valor de n tan pequeño como 50. Esta fue una de las primeras críticas al uso de la
probabilidad en los sistemas expertos. Sin embargo, en la mayor parte de las situaciones
prácticas, muchos subconjuntos de variables pueden ser independientes o
condicionalmente independientes. En tales casos, se pueden obtener simplificaciones del
modelo más general teniendo en cuenta la estructura de independencia de las variables.
Esto suele dar lugar a una reducción importante del número de parámetros. Los modelos
para tales simplificaciones son los siguientes:
1. El Modelo de Síntomas Dependientes (MSD).
2. El Modelo de Síntomas Independientes (MSI).
3. El Modelo de Síntomas Relevantes Independientes (MSRI).
4. El Modelo de Síntomas Relevantes Dependientes (MSRD).

2. El motor de inferencia
Hay dos tipos de conocimiento en los sistemas expertos probabilísticos:
1. El conocimiento, que está formado por el conjunto de variables y el conjunto de
probabilidades asociadas necesarias para construir su función de probabilidad
conjunta. Este tipo de conocimiento se almacena en la base de conocimiento.

2. Los datos, que consisten en un conjunto de valores de algunas variables (por


ejemplo, síntomas) conocidas por el usuario. A esta información se la conoce con el
nombre de evidencia y se almacena en la memoria de trabajo.

El motor de inferencia utiliza ambos, el conocimiento y los datos para responder a ciertas
cuestiones hechas por el usuario.

3. Control de la coherencia
Uno de los problemas más serios de los sistemas expertos es la presencia de incoherencias
en su base de conocimiento y/o en su memoria de trabajo. Hay varias razones para ello. Por
ejemplo,
1. Los expertos humanos pueden suministrar conocimiento incoherente.
2. El usuario puede suministrar datos incoherentes.
3. El motor de inferencia no actualiza los hechos.
4. No hay un subsistema para controlar la coherencia que evite que llegue
conocimiento inconsistente a la base de conocimiento y/o la memoria de trabajo.

También podría gustarte