Generalidades y Componentes de Los Sistemas Expertos

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 10

Escuela Profesional de Matemática Aplicada INTELIGENCIA ARTIFICIAL

GENERALIDADES DE LOS SISTEMAS EXPERTOS


Introducción:
Desde su aparición, a mediados de 1960, los Sistemas Expertos se han definido como
aquellos programas que se basan en el conocimiento y tratan de imitar el
razonamiento de un experto para resolver un problema de un tópico definido.
Su comportamiento se basa generalmente en reglas, es decir, se basa en
conocimientos previamente definidos, y mediante estos conocimientos, los SE son
capaces de tomar decisiones. Sería ilógico pensar que solo existe una definición de
Sistemas Expertos, ya que tanto los SE como la propia IA han ido evolucionando a la par a
través de los años22.

Definición de Sistema Experto:


En el Congreso Mundial de IA Feigenbaum se definió a los SE como:
• Un programa de computador inteligente que usa el conocimiento y
procedimientos de inferencia para resolver problemas que son lo
suficientemente difíciles como para requerir la intervención de un experto
humano para su resolución.

Sin embargo con los avances conseguidos hasta ahora esta definición ha cambiado,
actualmente un SE define de la siguiente manera:

• Un SE es un sistema informático que simula los procesos de aprendizaje,


memorización, razonamiento, comunicación y acción de un experto humano
en una determinada rama de la ciencia, suministrando, de esta forma, un
consultor que puede sustituirle con unas ciertas garantías de éxito23.

Podemos agregar otro concepto actual, dado por la Asociación Argentina de


Inteligencia Artificial:

• Los Sistemas Expertos permiten el desarrollo de otros sistemas que


representan el conocimiento como una serie de reglas. Las distintas
relaciones, conexiones y afinidades sobre un tema pueden ser compiladas en
un Sistema Experto pudiendo incluir relaciones altamente complejas y con
múltiples interacciones24.

Las características mencionadas en las definiciones anteriores le permiten a un


Sistema Experto almacenar datos y conocimiento, sacar conclusiones lógicas, ser
capaces de tomar decisiones, aprender, comunicarse con expertos humanos o con otros
Sistemas Expertos, explicar el razonamiento de su decisión y realizar acciones como
consecuencia de todo lo anterior25.

22
DE ÁVILA Ramos, Jorge. Op. cit.
23
Ibid.
24
ASOCIACIÓN ARGENTINA DE LA INTELIGENCIA ARTIFICIAL. Glosario.
URL(http://www.lafacu.com/apuntes/ingenieria/asocoacion_argentina_de_inteligencia_artificial.html
25
DE ÁVILA Ramos, Jorge. Op. Cit.

_________________________________________________________________________
Mo. Castañeda Samanamú Miguel Angel SISTEMAS EXPERTOS
Escuela Profesional de Matemática Aplicada INTELIGENCIA ARTIFICIAL

Un problema se presta a ser resuelto usando un Sistema Experto cuando:

• Una solución del problema tiene una rentabilidad tan alta que justifica el
desarrollo de un sistema, pues las soluciones son necesidades del área y no
se ha trabajado en otros métodos para obtenerla.

• El problema puede resolverse sólo por un conocimiento experto que puede


dar forma a los conocimientos necesarios para resolver el problema, y la
intervención de experto dará al sistema la experiencia que necesita.

• El problema puede resolverse solamente por un conocimiento experto en vez


de usar algoritmos particulares.

• Se tiene acceso a un experto que puede dar forma a los conocimientos


necesarios para resolver el problema. La intervención de este experto dará al
sistema la experiencia que necesita.

• El problema puede o no tener una solución única. Los Sistemas Expertos


funcionan mejor con problemas que tienen un cierto número de soluciones
aceptables.

• El problema cambia rápidamente, o bien el conocimiento es el que cambia


rápidamente, o sus soluciones son las que cambian constantemente.

• El desarrollo de un Sistema Experto no se considera que está acabado una


vez que funciona este, sino que continúan desarrollando y actualizando tanto
el conocimiento del sistema como los métodos de procesamiento, quedando
reflejados los progresos o modificaciones en el campo, área o sistema26.

Los expertos humanos:


Un experto humano es una persona que es competente en un área determinada
del conocimiento o del saber. Un experto humano es alguien que sabe mucho
sobre un tema determinado y que puede dar un consejo adecuado. Esta
experiencia sólo se adquiere tras un largo aprendizaje y a base de mucha
experiencia27. Los expertos humanos tienen las siguientes características generales:

• Son personas raras, tanto por su escaso número como su comportamiento


poco “ortodoxo” y e “incomprensible” frente a los problemas con los que se
enfrentan.
• Son caros por dos motivos: por su escaso número y por necesitar un largo
periodo de aprendizaje.

26
GONZÁLEZ Ayala, Luis Enrique. Sistemas Expertos.
URL(http://www.prodigyweb.net.mx/enrayala/Sistemas.htm)
27
BRIAN Keith y Steven Brain, Inteligencia artificial en el dragón.

_________________________________________________________________________
Mo. Castañeda Samanamú Miguel Angel SISTEMAS EXPERTOS
Escuela Profesional de Matemática Aplicada INTELIGENCIA ARTIFICIAL

• No están siempre disponibles, pues son humanos y cuando se jubilan o


mueren se llevan con ellos todos sus conocimientos. Es por eso que
tradicionalmente están acompañados de un “aprendiz”.

• Hay expertos que tienen mal carácter, son informales o poco comunicativos,
lo que a veces les hace antipáticos.
La forma más rápida de formar a un experto es mediante el aprendizaje formal
o académico (“conocimiento profundo”) en un principio, y posteriormente un
aprendizaje informal o práctico (“conocimiento informal”).28

Diferencias entre un experto y un no experto humano:

Experto No experto
Tiempo de Resolución Pequeño Grande
Eficacia Resolutiva Alta Baja
Organización Alta Baja
Estrategias y Tácticas Sí No
Búsqueda de Soluciones Heurística No Heurística
Cálculos Aproximados Sí No
Tabla 2.1 Diferencias entre un experto y un no experto humano.

El uso de heurísticas contribuye grandemente a la potencia y flexibilidad de los SE y


tiende a distinguirlos aún mas del software tradicional.29

Diferencias entre un Sistema Experto y un programa tradicional:


Sistema Experto Programa Tradicional
Conocimiento En programa e independiente En programa y circuitos
Tipo de datos Simbólicos Numéricos
Resolución Heurística Combinatoria
Def. problema Declarativa Procedimental
Control Independiente. No secuencial Dependiente. Secuencial
Conocimientos Imprecisos Precisos
Modificaciones Frecuentes Raras
Explicaciones Sí No
Solución Satisfactoria Optima
Justificación Sí No
Resolución Área limitada Específico
Comunicación Independiente En programa
Tabla 2.2 Diferencias entre un Sistema Experto y un Programa Tradicional.

28
SÁNCHEZ y Beltrán, Juan Pablo. Sistemas expertos: Una metodología de programación.
29
ROLSTON, David W. Op. cit.

_________________________________________________________________________
Mo. Castañeda Samanamú Miguel Angel SISTEMAS EXPERTOS
Escuela Profesional de Matemática Aplicada INTELIGENCIA ARTIFICIAL

Diferencias entre un sistema experto y un experto humano:

Sistema experto Experto humano


Conocimiento Adquirido Adquirido + Innato
Adquisición del conocimiento Teórico Teórico + Práctico
Campo Único Múltiples
Explicación Siempre A veces
Limitación de capacidad Sí Sí, no valuable
Reproducible Sí, idéntico No
Vida Infinita Finita
Tabla 2.3 Diferencias entre un Sistema Experto y un Experto Humano.

Ventajas de los Sistemas Expertos:


Las ventajas que se presentan a continuación son en comparación con los expertos
humanos:

• Están siempre disponibles a cualquier hora del día y de la noche, y de forma


interrumpida.
• Mantiene el humor.
• Pueden duplicarse (lo que permite tener tantos SE como se necesiten).
• Pueden situarse en el mismo lugar donde sean necesarios.
• Permiten tener decisiones homogéneas efectuadas según las directrices que se les
fijen.
• Son fáciles de reprogramar.
• Pueden perdurar y crecer en el tiempo de forma indefinida.
• Pueden ser consultados por personas u otros sistemas informáticos.30

Forma en que los usuarios interactúan con los Sistemas Expertos:

El usuario de un Sistema Experto puede estar operando en cualquiera de los


siguientes modos:

Verificador: El usuario intenta comprobar la validez del desempeño del sistema.

Tutor: El usuario da información adicional al sistema o modifica el conocimiento que


ya está presente en el sistema.

Alumno: El usuario busca rápidamente desarrollar pericia personal relacionada con el área
específica mediante la recuperación de conocimientos organizados y condensados del
sistema.

30
SÁNCHEZ y Beltrán, Juan Pablo. Op. cit.

_________________________________________________________________________
Mo. Castañeda Samanamú Miguel Angel SISTEMAS EXPERTOS
Escuela Profesional de Matemática Aplicada INTELIGENCIA ARTIFICIAL

Cliente: El usuario aplica la pericia del sistema a tareas específicas reales.


El reconocimiento de las caracterizaciones anteriores contrasta con la percepción de un
simple papel (el cliente) de los sistemas tradicionales de software.31

Sistema Experto vs. Sistema Clásico:

La siguiente tabla compara las características de ambos tipos de sistemas.32

Sistema Clásico Sistema Experto


Conocimiento y procesamiento Base de conocimiento separada del
combinados en un programa mecanismo de procesamiento
No contiene errores Puede contener errores
No da explicaciones, los datos sólo se usanUna parte del sistema experto consiste en
o escriben el módulo de explicación
Los cambios son tediosos Los cambios en las reglas son fáciles
El sistema puede funcionar con pocas
El sistema sólo opera completo
reglas
Se ejecuta paso a paso La ejecución usa heurísticas y lógica
Necesita información completa para operar Puede operar con información incompleta
Representa y usa datos Representa y usa conocimiento
Tabla 2.4 Comparativa entre un Sistema Clásico y un Sistema Experto

31
ROLSTON, David W. Op. cit. 32
DE ÁVILA Ramos, Jorge. Op. cit.

_________________________________________________________________________
Mo. Castañeda Samanamú Miguel Angel SISTEMAS EXPERTOS
Escuela Profesional de Matemática Aplicada INTELIGENCIA ARTIFICIAL

COMPONENTES DE UN SISTEMA EXPERTO


Los Sistemas Expertos, como ya se ha mencionado, son sistemas diferentes a los
tradicionales, ya que estos son basados en conocimiento y por tal razón la arquitectura y
funcionalidad es diferente, incluso la fabricación de estos es mucho más complicada
y laboriosa que los sistemas algorítmicos tradicionales.
La arquitectura de un Sistema Experto está constituida por dos componentes
principales de cualquier Sistema Experto son una Base de conocimientos y un
Programa de inferencia, o también llamado Motor de inferencias.47

Base de conocimiento:
1. La base de conocimientos del Sistema Experto con respecto a un tema específico
para el que se diseña el sistema. Este conocimiento se codifica según una notación
específica que incluye reglas, predicados, redes semánticas y objetos.

2. Las bases de conocimiento (KB: Knowledge Base) pertenecen a una etapa muy
posterior. Surgieron a partir de la investigación en IA como respuesta a las
necesidades que las aplicaciones de esta disciplina planteaban. Las bases de
conocimiento son la evolución lógica de los sistemas de bases de datos
tradicionales, en un intento de plasmar no ya cantidades ingentes de datos, sino
elementos de conocimiento (normalmente en forma de hechos y reglas) así como la
manera en que estos elementos han de ser utilizados. 48

También se les trata de dotar de conocimiento sobre sí mismas, es decir, una KB ha de


"saber lo que sabe". Por ejemplo, ante una consulta determinada, una base de
datos accederá a los datos almacenados en ella y dará una respuesta afirmativa o
negativa, independientemente de que tenga o no la información relevante; en
cambio, una KB respondería "sí", "no" o "no lo sé", en el caso de carecer de todos los
datos pertinentes a la consulta.

Se dice que una base de datos almacena únicamente hechos, que son un reflejo de
universo, llamado Universo de Discurso (UoD) determinado. Las funciones que el gestor de
base de datos se limita a facilitar son, fundamentalmente, las de edición y consulta de
los datos. Una base de conocimiento, por otra parte, puede almacenar, además de hechos,
un conjunto de reglas que se sirven de esos hechos para obtener información que
no se encuentra almacenada de forma explícita. El tipo de base de conocimiento al que se
dota de una considerable capacidad de deducción a partir de la información que
contiene se denomina sistema experto.

Ambos sistemas de información cuentan con sus correspondientes gestores para


simplificar al administrador las tareas comunes de mantenimiento: el sistema gestor
de bases de datos (DBMS: Database Management System) y el sistema gestor de
bases de conocimiento (KBMS: Knowledge Base Management System).

47
DE MIGUEL González, Luis Javier. Op. cit
48
CRIADO Briz, José Mario. Sistemas Expertos. Op. cit.

_________________________________________________________________________
Mo. Castañeda Samanamú Miguel Angel SISTEMAS EXPERTOS
Escuela Profesional de Matemática Aplicada INTELIGENCIA ARTIFICIAL
También encontramos diferencias sustanciales en este aspecto. Básicamente los DBMSs
actuales se encuentran perfectamente estandarizados, ofreciendo un número de
características y metodologías comunes que posibilitan la comunicación entre
diversos tipos y productos comerciales. La comercialización de los
KBMSs es prácticamente anecdótica, y los esfuerzos en cuanto a su
estandarización se están produciendo en estos momentos, en lo que se ha
dado en denominar KIF (Knowledge Interchange Format) (Genesereth & Fikes
1992).

Motor de inferencia:
El motor de inferencia, que es el que combina los hechos y las preguntas
particulares, utilizando la base de conocimiento, seleccionando los datos
y pasos apropiados para presentar los resultados.

Componentes detallados de un Sistema Experto:


Esta definición de las partes de un Sistema Experto es muy general, ahora se
presenta una serie de componentes más detallados de un SE:

Subsistema de control de coherencia:


Este componente previene la entrada de información incoherente en la base de
conocimiento. Es un componente muy necesario, a pesar de ser un componente reciente.

Subsistema de adquisición de conocimiento:

Se encarga de controlar si el flujo de nuevo conocimiento a la base de datos es


redundante. Sólo almacena la información que es nueva para la base de datos.

Motor de inferencia:

Este componente es básico para un Sistema Experto; se encarga de obtener


conclusiones comenzando desde el conocimiento abstracto hasta el conocimiento concreto.
Si el conocimiento inicial es muy poco, y el sistema no puede obtener ninguna conclusión,
se utilizará el subsistema de demanda de información.

Subsistema de demanda de información:

Completa el conocimiento necesario y reanuda el proceso de inferencia hasta


obtener alguna conclusión válida. El usuario puede indicar la información necesaria
en este proceso ayudado de una interfase de usuario (la cual facilita la
comunicación entre el Sistema Experto y el usuario).

Subsistema de incertidumbre:

Se encarga de almacenar la información de tipo incierto y propaga la incertidumbre


asociada a esta información.
_________________________________________________________________________
Mo. Castañeda Samanamú Miguel Angel SISTEMAS EXPERTOS
Escuela Profesional de Matemática Aplicada INTELIGENCIA ARTIFICIAL

Subsistema de ejecución de tareas:


Permite realizar acciones al Sistema Experto basadas en el motor de inferencia.

Subsistema de explicación:
Este componente entra en ejecución cuando el usuario solicita una explicación de las
conclusiones obtenidas por el SE. Esto se facilita mediante el uso de una interfase.49

Arquitectura de un Sistema Experto:


No existe una estructura de sistema experto común. Sin embargo, la mayoría de los
sistemas expertos tienen unos componentes básicos: base de conocimientos,
motor de inferencia, base de datos e interfaz con el usuario. Muchos tienen, además, un
módulo de explicación y un módulo de adquisición del conocimiento. La figura 4.1
muestra la estructura de un sistema experto ideal.

Figura 4.1 Estructura de un Sistema Experto.

La base de conocimientos contiene el conocimiento especializado extraído del


experto en el dominio. Es decir, contiene conocimiento general sobre el dominio en el
que se trabaja. El método más común para representar el conocimiento es mediante
reglas de producción. El dominio de conocimiento representado se divide, pues, en
pequeñas fracciones de conocimiento o reglas.

Una característica muy importante es que la base de conocimientos es independiente del


mecanismo de inferencia que se utiliza para resolver los problemas. De esta forma,
cuando los conocimientos almacenados se han quedado obsoletos, o cuando se dispone
de nuevos conocimientos, es relativamente fácil añadir reglas nuevas, eliminar las
antiguas o corregir errores en las existentes. No es necesario reprogramar todo el Sistema
Experto.
49
SELL, Peter. Sistemas Expertos para principiantes.

_________________________________________________________________________
Mo. Castañeda Samanamú Miguel Angel SISTEMAS EXPERTOS
Escuela Profesional de Matemática Aplicada INTELIGENCIA ARTIFICIAL
Las reglas suelen almacenarse en alguna secuencia jerárquica lógica, pero esto no es
estrictamente necesario. Se pueden tener en cualquier secuencia y el motor de
inferencia las usará en el orden adecuado que necesite para resolver un problema.50

La base de datos o base de hechos es una parte de la memoria la computadora que se


utiliza para almacenar los datos recibidos inicialmente para la resolución de un
problema. Contiene conocimiento sobre el caso concreto en que se trabaja. También
se registrarán en ella las conclusiones intermedias y los datos generados en el proceso
de inferencia. Al memorizar todos los resultados intermedios, conserva el vestigio de
los razonamientos efectuados; por lo tanto, se puede utilizar explicar las deducciones
y el comportamiento del sistema.

El motor de inferencias es un programa que controla el proceso de razonamiento


que seguirá el Sistema Experto. Utilizando los datos que se le suministran, recorre la
base de conocimientos para alcanzar una solución. La estrategia de control puede
ser de encadenamiento progresivo o de encadenamiento regresivo. En el primer caso se
comienza con los hechos disponibles en la base de datos, y se buscan reglas que satisfagan
esos datos, es decir, reglas que verifiquen la parte SI. Normalmente, el sistema
sigue los siguientes pasos:

• Evaluar las condiciones de todas las reglas respecto a la base de datos, identificando
el conjunto de reglas que se pueden aplicar (aquellas que satisfacen su parte
condición).
• Si no se puede aplicar ninguna regla, se termina sin éxito; en caso contrario se elige
cualquiera de las reglas aplicables y se ejecuta su parte acción (esto último genera
nuevos hechos que se añaden a la base de datos).
• Si se llega al objetivo, se ha resuelto el problema; en caso contrario, se vuelve al
paso 1

A este enfoque se le llama también guiado por datos, porque es el estado de la base de
datos el que identifica las reglas que se pueden aplicar. Cuando se utiliza este método, el
usuario comenzará introduciendo datos del problema en la base de datos del sistema.

Al encadenamiento regresivo se le suele llamar guiado por objetivos, ya que, el sistema


comenzará por el objetivo (parte acción de las reglas) y operará retrocediendo para ver
cómo se deduce ese objetivo partiendo de los datos. Esto se produce directamente o a
través de conclusiones intermedias o subobjetivos. Lo que se intenta es probar una
hipótesis a partir de los hechos contenidos en la base de datos y de los obtenidos en
el proceso de inferencia.

En la mayoría de los Sistemas Expertos se utiliza el encadenamiento regresivo. Este


enfoque tiene la ventaja de que el sistema va a considerar únicamente las reglas que
interesan al problema en cuestión. El usuario comenzará declarando una expresión E y el
objetivo del sistema será establecer la verdad de esa expresión.
50
SAMPER Márquez, Juan José. Op. cit.

_________________________________________________________________________
Mo. Castañeda Samanamú Miguel Angel SISTEMAS EXPERTOS
Escuela Profesional de Matemática Aplicada INTELIGENCIA ARTIFICIAL

Para ello se pueden seguir los siguientes pasos:


1. Obtener las reglas relevantes, buscando la expresión E en la parte acción (éstas
serán las que puedan establecer la verdad de E)

2. Si no se encuentran reglas para aplicar, entonces no se tienen datos suficientes para


resolver el problema; se termina sin éxito o se piden al usuario más datos.

3. Si hay reglas para aplicar, se elige una y se verifica su parte condición C con
respecto a la base de datos.

4. Si C es verdadera en la base de datos, se establece la veracidad de la expresión E y


se resuelve el problema.

5. Si C es falsa, se descarta la regla en curso y se selecciona otra regla.

6. Si C es desconocida en la base de datos (es decir, no es verdadera ni falsa), se le


considera como sub-objetivo y se vuelve al paso 1 (C será ahora la expresión E).

Existen también enfoques mixtos en los que se combinan los métodos guiados por datos
con los guiados por objetivos.

La interfaz de usuario permite que el usuario pueda describir el problema al Sistema


Experto. Interpreta sus preguntas, los comandos y la información ofrecida. A la
inversa, formula la información generada por el sistema incluyendo respuestas a las
preguntas, explicaciones y justificaciones. Es decir, posibilita que la respuesta
proporcionada por el sistema sea inteligible para el interesado. También puede solicitar
más información al SE si le es necesaria. En algunos sistemas se utilizan técnicas de
tratamiento del lenguaje natural para mejorar la comunicación entre el usuario y el SE.

La mayoría de los sistemas expertos contienen un módulo de explicación, diseñado para


aclarar al usuario la línea de razonamiento seguida en el proceso de inferencia. Si el
usuario pregunta al sistema cómo ha alcanzado una conclusión, éste le presentará la
secuencia completa de reglas usada. Esta posibilidad de explicación es especialmente
valiosa cuando se tiene la necesidad de tomar decisiones importantes amparándose en el
consejo del SE. Además, de esta forma, y con el tiempo suficiente, los usuarios
pueden convertirse en especialistas en la materia, al asimilar el proceso de razonamiento
seguido por el sistema. El subsistema de explicación también puede usarse para
depurar el SE durante su desarrollo.

El módulo de adquisición del conocimiento permite que se puedan añadir, eliminar


o modificar elementos de conocimiento (en la mayoría de los casos reglas) en el SE. Si el
entorno es dinámico, entonces este componente es muy necesario, puesto que el sistema
funcionará correctamente sólo si se mantiene actualizado su conocimiento. El módulo de
adquisición permite efectuar ese mantenimiento, anotando en la base de conocimientos los
cambios que se producen.51

51
SAMPER Márquez, Juan José. Op. cit.

_________________________________________________________________________
Mo. Castañeda Samanamú Miguel Angel SISTEMAS EXPERTOS

También podría gustarte