Sistemas Expertos


Definicion y componentes
Un Sistema Experto es aquel capaz de almacenar el conocimiento de un experto en una especialidad determinada y limitada, y a su vez de solucionar problemas mediante la inducción- deducción lógica.
Los sistemas expertos son programas de computación que capturan el conocimiento de un experto y tratan de imitar su proceso de razonamiento cuando resuelven los problemas en un determinado dominio.



Los sistemas expertos incorporan en la base de conocimiento del sistema el conocimiento de un experto e intentan simular el razonamiento humano por medio de un conjunto de programas de computación.



Un sistema experto se compone de:

  • Base de hechos
  • Base de conocimientos
  • Motor de inferencia
  • Módulos de comunicación o de entrada-salida que se subdivide en:
    • Módulo de consulta o del usuario
    • Módulo de trabajo o del experto

O sea que podemos esquematizar un sistema experto de la siguiente manera:


 Base de hechos:

Contiene la información que permanece invariable y que recibe el nombre de hecho.
Podemos decir que constituye la memoria de trabajo del sistema experto.
Los hechos representan la estructura dinámica del conocimiento ya que su número puede verse incrementado a medida que se van relacionando las reglas.



Case de conocimientos:


Contiene el conocimiento del dominio. Este conocimiento debe representarse a fin de que pueda incluirse en el sistema.
Se lo representa lo más sencillamente posible y se lo hace de un modo relacional entre los mismos, mediante las reglas.
O sea la base de conocimientos contiene reglas.

Las mismas toman la forma de:

 IF < premisa THEN < conclusión >
Motor de inferencia:
Es el corazón del sistema experto.
Concretiza el conocimiento abstracto que posee el sistema, para obtener las conclusiones y tomar lasdecisiones correspondientes.
Es el intérprete de las reglas y por lo tanto nos da la estrategia general de resolución.


Comparacion entre un sistema experto y un programa tradicional:

Un programa tradicional puede esquematizarse de la siguiente manera:




Mientras que un sistema experto estaría definido de la siguiente forma:




Del esquema se desprende que la base de hechos es en un sistema experto, lo que los datos son en un programa tradicional.


De la misma manera la base de conocimientos reemplaza al algoritmo.


El motor de inferencia es el programa.

Proceso logico de carga:

 Para esquematizar el proceso lógico de carga, recurriremos a la cascada de órdenes. Así tenemos:

 PROCESO LOGICO DE CARGA DE LA BASE DE CONOCIMIENTO
En esta fase se determinan las reglas y se incorporan a la base de conocimientos

 PROCESO LOGICO DE CARGA DE LA BASE DE HECHOS
En esta fase se detectan los hechos y se incorporan a la base de hechos.
Si no existe al menos una regla que contenga ese hecho debemos determinarla ya que de no ser así, ese hecho estaría de más en la base de hechos.


Proceso de inferencia:

 Durante la inferencia puedo verificar o deducir hechos. En la verificación de un hecho el proceso está dirigido por los objetivosmientras que en la deducción está dirigido por los datos.
Por medio de cascadas de órdenes, veremos ambos casos.

VERIFICACIÓN DE UN HECHO
En este proceso, una vez tomado un hecho, se produce el encadenamiento hacia atrás. Es decir, se parte de la premisa para llegar a los datos.

DEDUCCIÓN DE UN HECHO
En este proceso, primero se requieren los datos para analizar la premisa. O sea, partimos del:

 IF < condición >
para tomar luego la decisión de continuar o no con él:

 THEN < conclusión >

La 
conclusión de una regla puede constituirse en condición de la premisa necesaria para otra regla y seguir así sucesivamente. Hasta llegar al resultado final de la inferencia.

La explosion combinacional y el uso de metarreglas:

Entrando en la táctica de la resolución, uno de los problemas de los sistemas expertoses encontrarse con una gran cantidad de reglas que están en condiciones de ser utilizadas y que obliga al mismo a idas y venidas por las mismas para encontrar un camino lógico. Este conjunto de reglas que en un mismo momento son candidatas a ser aplicadas recibe el nombre de conjunto de conflicto.
Se necesita, al igual que en las decisiones humanas, tener hipótesis más relevantes que vayan reduciendo ese conjunto, o sea unconocimiento de mayor nivel. Estamos en presencia de metaconocimientos, que reciben el nombre de metarreglas.

¿Qué son entonces las metarreglas?
Las metarreglas son aquellas reglas de mayor nivel que varían la estrategia de resolución según sea el problema o según sean los resultados que se van obteniendo. Por lo tanto, simplifican el camino inductivo-deductivo, orientando al motor de inferencia sobre el conocimiento que debe ser seleccionado y consecuentemente aplicado en cada momento.
El uso de metarreglas, que comenzó con la llamada segunda generación de sistemas expertos, necesita un motor de inferencia que las interprete. A su vez, el conocimiento debe estar agrupado por clases, que posibiliten el accionar de las metarreglas.
Por lo tanto, en un sistema experto que utilice metarreglas, el conocimiento deberá estar estructurado como:
De control (metarreglas)
De dominio (reglas)

El razonamiento aproximado:

Dado un problema, el razonamiento a efectuarse depende del conocimiento con que contamos.
Si es parcialel razonamiento será por defecto.
Si es conflictivoel razonamiento será no monotónico.
Si el conocimiento es incierto o el lenguaje en que se representa es impreciso, estamos en presencia de un razonamientoaproximado.
Vemos entonces que un conocimiento puede ser impreciso sin ser incierto o ser incierto sin ser impreciso. Veremos ambos casos.

¿Cuándo un conocimiento es incierto?
Un conocimiento es incierto cuando está expresado con predicados precisos, pero donde no puede establecerse el valor de verdad.
Ejemplos de lo anterior están constituidos por predicados del tipo:

Creo que ...


Es posible que...



¿Cuándo un conocimiento es impreciso?
Un conocimiento es impreciso cuando cuenta solamente con predicados vagos, o sea que las variables no reciben un valor preciso, sino que solamente se especifica un subconjunto al que pertenecen.
Ejemplo de esto sería:

Carlos es alto.


Juan tiene entre 30 y 35 años.


El uso de este tipo de conocimiento nos adentra en la lógica difusa, dado que se recurre a la utilización de coeficientes. Este, es un factor que se agrega para representar la incertidumbre o la imprecisión que el experto asigna a este conocimiento.
Este factor recibe el nombre de coeficiente de refinamiento y por lo general se mide en una escala de 0 a 1 e implica una modificación al principio de inferencia. Por lo tanto la regla tomaría la siguiente forma:

 IF < premisa THEN < conclusión > < coeficiente >
Este coeficiente de refinamiento constituye un modificador de la conclusión en la regla y, por lo tanto, es luego utilizado por el motor de inferenciapara la gestión del razonamiento aproximado.


Conclusion:

Los sistemas expertos capturan y utilizan el conocimiento de un experto humano para la solución de problemas en un área determinada y limitada del saber.


Emplean un razonamiento de tipo simbólico a diferencia del algorítmico que utilizan los programas tradicionales.


Por esta razón brindan resultados aproximados y no resultados exactos. Es decir, no determinan el resultado óptimo sino solamente uno satisfactorio, dado que manejan conocimientos imprecisos e inciertos.



Ese resultado brindado, debe ser justificado, indicando el camino lógico seguido.
Este tipo de sistemas se diferencia de los sistemas de apoyo para las decisiones (enlace) en que está capacitado para seleccionar una solución al problema y no deja la decisión final al usuario.


Felix Rojas. Con la tecnología de Blogger.