6. Sistemas Basados en Conocimiento (SBC) - U

Anuncio
6. Sistemas Basados en Conocimiento (SBC)
(Knowledge-Based Systems: KBS)
Los SBC o Sistemas Expertos son sistemas de apoyo a la solución de
problemas cuyo desempeño está primordialmente en conocimiento “declarado” o
“explícito” (en contraposición al conocimiento “operativo” o “algorítmico”). Estos
sistemas derivan sus conclusiones de conocimiento almacenado en bases de
conocimiento, más que de algún algoritmo prefijado.
Una distinción entre SBC y programas convencionales es la separación
explícita de conocimiento y control. En un programa algorítmico típicamente el
flujo de control está entrelazado con la información en que se basa el algoritmo.
En cambio, en un SBC se distinguen 3 componentes distintivos:
1. Base de Conocimiento (BC, ó en inglés, KB)
2. Memoria de Trabajo (MT, ó en inglés, WM)
3. Máquina de Inferencia (MI, ó en inglés, IE).
Base de Conocimiento (BC):
Es un conjunto de reglas (u otro tipo de estructuras de representación,
como los “frames” o marcos), que representan el conocimiento de la materia de
interés.
Memoria de Trabajo (MT):
Contiene la información del problema específico que se trata, compuesto
por los datos de entrada originales y todas las inferencias hechas por el sistema a
partir de los datos.
Maquina de Inferencia:
La máquina de inferencia accesa los elementos de la MT, explora la BC,
identifica las reglas que son relevantes y las ejecuta, para generar una o más
conclusiones asociadas al problema específico (instancia).
Los SBC se clasifican en generaciones de acuerdo a su capacidad de
razonamiento y control.
6.1. Ejemplos de SBC
6.1.1. SBC de primera generación
Generalmente se enfoca a tareas bien definidas y limitadas, con énfasis en
rendimiento (basados en modelos “superficiales”), más que en entendimiento
(basados en modelos “profundos”). Los problemas típicos que resuelven esta
tecnología más limitada se describe con el concepto de “Problemas de
Clasificación” (Introducido por Clancey, 1984).
Los Problemas de Clasificación consisten en reconocer una situación a
partir de una colección de datos, y seleccionar la respuesta mas adecuada de
acuerdo a ciertos objetivos.
Relación heurística
Datos abstractos
(Heuristic Match)
Soluciones abstractas
(Data abstraction)
Abstracción de
datos
Refinación
(Refinament)
R
DATOS
SOLUCIONES
Figura 6.1. Esquema de solución de problemas de clasificación.
En la Figura 6.1 de puede apreciar un esquema mediante el cual se
pueden resolver los problemas en cuestión. En dicha figura se pueden mencionar
los siguientes aspectos relevantes para solucionar los problemas:
1. Los datos: que se generan desde varias fuentes y se interpretan como un
patrón predefinido.
2. El patrón reconocido: el cual se mapea a un conjunto de soluciones posibles.
3. Una de sus soluciones: la que se selecciona como la más apropiada para el
caso dado.
Este proceso se considera un problema de clasificación estático, ya que
supone que los datos de entrada son invariantes en el tiempo, al menos durante
el lapso necesario para resolver el problema.
Los SBC de Primera Generación resolvieron estos problemas usando
razonamiento monotónico, y formas primitivas de representación de incertidumbre
(si es que incorporaban algo de incertidumbre). La representación del
conocimiento era plana más que jerárquica. Ejemplo de SBC de 1ª Generación
son Mycin, XCON, Prospector, y DELTA-CATS.
6.1.2. SBC de segunda generación
Los SBC de 2ª generación son capaces de manejar tareas menos
delimitadas que los de la 1ª Generación (o “Clasificadores”). Los típicos
problemas que corresponden a estos sistemas fueron descritos como “Problemas
de Clasificación Dinámicos” (PCD). A diferencia del anterior, en este caso el
medio del que se colecta datos cambia a una tasa comparable al tiempo
requerido para obtener una solución refinada, requiriendo respuesta en tiempo
real. Ejemplos de PCD incluyen análisis de situación (p.ej. control de tráfico
aéreo), diagnostico en tiempo real (p.ej. diagnóstico de motores de avión en
vuelo), planificación en tiempo real, y “selección de catálogo” en tiempo real (p.ej.
selección de inversiones durante fluctuaciones de mercado). Existen “shells” para
manejar algunos de estos casos, como KEE, ARF y RUM/RUM runner.
6.2. Representación del conocimiento
Ya se mencionó la importante característica de los SBC: su separación
explícita entre conocimiento y control. Es crucial seleccionar un lenguaje
adecuado de representación del conocimiento. De acuerdo a la información
estructural disponible, se han usado 3 tipos de representaciones del conocimiento
para definir el lenguaje de representación: cálculo predicativo, reglas de
producción, y marcos (frames).
Estas representaciones son todas equivalentes en el sentido de la
Máquina de Turing. El cálculo predicativo es adecuado para tareas muy poco
estructuradas, en tanto las reglas de predicción (con clases de reglas), y los
sistemas de marcos (frames) van incorporando en forma creciente la estructura
intrínseca del dominio del problema. Cada vez más las implementaciones
incluyen tipos híbridos, como por ejemplo el uso de reglas aplicadas a objetos
complejos descritos por frames.
Descargar