Sie sind auf Seite 1von 45

Sistemas basados en el

conocimiento
DRA. KARIN SUPO GAVANCHO

Sistemas basados en el conocimiento


Los SBCs (tambin conocidos como sistemas

expertos) son programas para interrogar o


extender una base de conocimiento (BC):
Capacitad

de resolucin similar a las de los


humanos y utilizacin de las mismas fuentes de
conocimiento
Dominios especficos
Ontologa de propsito general para organizar y
unir varios dominios de conocimiento especficos.

Caractersticas de BCs y SBCs


Separacin entre el conocimiento y los elementos

de control (meta-conocimiento)
Incorporacin de la experticia humana en un
cierto dominio
Elevada interactividad
Interfaz agradable para el usuario
Compatibilidad con informacin no numrica
Tratamiento de informacin inexacta
Capacidad de autoexplicacin y autojustificacin

Caractersticas de los SBCs


Resuelven un tipo especfico de tareas:

requieren una especializacin para


realizarlas con competencia (experticia).
Llevan a cabo tareas cognitivas.
Pueden tomar decisiones aunque el
conocimiento sea incierto, impreciso o
incompleto.

Tareas cognitivas en las BCs y los SBCs


Adquisicin del conocimiento
Representacin del conocimiento
Razonamiento e inferencia
Resolucin de problemas y bsqueda
Interaccin con el usuario
Aprendizaje
Explicacin

SBCs: definicin
Sistemas que resuelven problemas:
muy

especializados (dominio restringido)


complejos
basndose en una representacin formal
del conocimiento
Problemas para cuya resolucin se confa

habitualmente en expertos humanos

Por qu surgieron los sistemas expertos y los SBCs?


Necesidades econmicas

Disponer de expertos humanos altamente cualificados es caro y


no siempre posible.
Uso como herramientas baratas de aprendizaje para otros
expertos / no expertos
Preservacin del conocimiento de los expertos

Necesidades de eficiencia computacional

Los mtodos generales de resolucin de problemas son muy


ineficientes (mtodos dbiles).

Caractersticas de los problemas resolubles con SBCs


Necesidad de que la complejidad del problema

justifique el desarrollo del SBC


Necesidad de una resolucin experta
Problema bien dimensionado y definido
No necesidad de razonamiento de sentido comn
Problema no fcilmente resoluble con mtodos
tradicionales
Existencia de expertos cooperativos (para el
desarrollo)

SBCs para tareas de anlisis


Orientados a diagnosis

Diagnosis mdica, diagnosis de averas

Orientados a clasificacin

Identificacin de perfiles de clientes


Identificacin de especies animales

Orientados a supervisin/control

Supervisin de procesos en tiempo real

Orientados a prediccin

Prediccin meteorolgica, de bolsa, de quinielas

SBCs para tareas de sntesis


Orientados a planificacin

Planificacin de trayectorias de robots

Orientados a diseo

Diseo de planos de edificios, pisos

Orientados a configuracin

Configuracin de redes de ordenadores


Configuracin de equipos informticos

Orientados a construccin de especificaciones

Construccin de especificaciones software

Ventajas ms comunes de los SBCs


Muy eficaces en tareas de anlisis:
diagnosis,

clasificacin, interpretacin

Con capacidad de autoexplicacin


Con facilidad de comunicacin con el

usuario
Fcilmente extensibles
Con capacidad de razonamiento
aproximado

Inconvenientes ms comunes de los SBCs


Problemtica de la adquisicin del

conocimiento
Fragilidad / sensibilidad
Dificultad con el control del razonamiento
Problemtica de la validacin de las reglas
Bajo coeficiente de reutilizacin de las
reglas
Incapacidad de aprender

Historia de los sistemas expertos y de los SBCs


Los ms antiguos 1965
DENDRAL (1965-1970)

Interpretacin de espectrografa de masa y resonancia


magntica de molculas orgnicas

META-DENDRAL (1970)

Construccin de regles heursticas a partir de datos

MACSYMA (1971-1977) @ MIT

Manipulacin de frmulas algebraicas

Historia de los sistemas expertos y de los SBCs


MYCIN (1972-1976)

Diagnosis de enfermedades infecciosas en la sangre


400 reglas
Razonamiento con incertidumbre

HEARSAY-II (1975) @ Carnegie-Mellon

Interpretacin del LN (hear + say)


1000 palabras

EMYCIN (1980)

Generaliza el sistema de control de MYCIN


Primer entorno de SE (shell)

Historia de los sistemas expertos y de los SBCs


PROSPECTOR (1977)

Prospecciones mineras
Otro mtodo de razonamiento con incertidumbre

R1/XCON (1980) @ DEC

Sistema de configuracin de entornos


computacionales en Digital Equipment Corporation
200.000 reglas

INTERNIST (1982)

Diagnosis en medicina interna


1.000.000 reglas

Historia de los sistemas expertos y de los SBCs


CENTAUR (1983)

Diagnosis de infecciones pulmonares

MOLE (1986)

Entorno de SE para clasificacin

TEST (1987)

Localizador de averas (Troubleshooting Expert System


Tool)
Diagnosis / clasificacin

VT (1988)

Diseo de sistemas elevadores (Vertical Transportation)

Historia de los sistemas expertos y de los SBCs


Guerra del Golfo Prsico (1990-1991)

Cargamento de aviones de transporte


Programacin y coordinacin de la operacin Tormenta del
Desierto
Proyecto Pilot's Associate (copiloto electrnico)
Proyecto Battle Management System (sistema experto militar)
Ingeniera gentica (90s)
Manipulacin de BCs gigantescas para hacer mapas del ADN
humano (bioinformtica)
Deep Blue (1997) @ IBM
IBM RS/6000 SP de 32 nodos con computacin altamente
paralela gana a Gary Kasparov.

Historia de los sistemas expertos y de los SBCs


Remote Agent (1999)

Control primario de una nave espacial (Deep Space 1) por primera vez
Aplicaciones de sistemas expertos (00s)
Software de ordenacin de tareas para crear automticamente mejores
planificaciones de proyecto
Programa de reconocimiento continuo del discurso que transforman
exactamente el habla en texto
Software para gestionar la informacin, que encuentren slo los
documentos necesitados en cada momento entre millones de
documentos y automticamente los resuman
Sistemas de reconocimiento facial
Lavadoras que se ajustan automticamente a diferentes condiciones de
lavado
Sistemas automticos de evaluacin de hipotecas

Componentes de SBC

usuario

Hechos

Interfaz
usuario

Base de
conocimiento

Reglas
Explicacin

Plan
pizarra Agenda
Solucion

Intrprete

Planificador

Mantenimiento
consistencia

Explicacin componentes
Interfaz de usuario: El usuario interacta con el SE en un lenguaje propio

del tipo de problema


Pizarra: almacena hiptesis y decisiones intermedios que manipula el SE

Plan: Plan general de solucin del problema.


Agenda : Reglas relevantes para la situacin en curso .
Solucin: Hiptesis candidatas y decisiones generadas hasta el momento

Planificador: Determina cual es la accin pendiente que se ejecutar a

continuacin. El intrprete: Ejecuta la regla escogida.


Mantenimiento de la consistencia: Mantiene una representacin consistente

de la solucin mediante:

Revisin de la probabilidad de una solucin cuando se introducen nuevos


hechos.
Sistemas de mantenimiento de la verdad cuando las soluciones son
deducciones lgicas

El modulo de explicacin: Explica el porqu de las acciones del sistema


Reglas y hechos: Registran reglas, hecho e informacin del dominio

Componente de Explicacin
Un SE debe contar con una componente de explicacin

La respuesta puede ser potencialmente daina


Es una forma comprensible de chequear el comportamiento
Tutores

SE
R.I
.P.

Una componente de SE debe idealmente


Poder responder a preguntas como las siguiente
Cmo se tom o no cierta decisin? Cuando, cmo y porqu
se utiliza una informacin determinada? Qu decisin se tomo
ante un subproblema?

Ser fcil de usar


Dar respuestas comprensibles y completas

Programas convencionales y SBC


Programas: Sentencias sobre datos que se realizan en un
orden predeterminado.
Solucin nica
Para el usuario el programa es una caja negra

Programas = Estructuras de Datos + Algoritmos


SBC: Se distingue el conocimiento del dominio de la
estrategia de control
Esto permite la incorporacin de ms conocimiento sin
manipular la estructura global del sistema
Se pueden obtener varias soluciones
El programa puede explicar como llega a su solucin.

SBC = Conocimiento + Control

Desarrollo de un SBC
Se pueden clasificar las aplicaciones de SEs sobre la

base de caractersticas de las tareas o del dominio?


Se pueden identificar mtodos de resolucin de
problemas bien diferenciados que sean tiles para
ciertas clases de aplicaciones de SEs?
Podemos identificar estilos de representacin e
inferencia ms adecuados para un mtodo de
resolucin de problemas dado?

Niveles de descripcin

Especificacin
Especificacin

Solucin

Tarea
Configuracin
...

Diagnstico

Definicin del
Problema

Clasificacin

Mtodo de resolucin
Objetivos
y datos

Abstracciones

Simulacin
cualitativa

Seleccionar
tipo de problema
Seleccionar
mtodo

...
Seleccionar
Representacin

Base de conocimiento
Heursticas

Relaciones
causales

Cuantitativa

Herramienta
Orientada
a Objeto

..

Basada en
reglas

Seleccionar
paradigma

Niveles de descripcin
El desarrollo de un SBC puede verse como un proceso

de transformacin desde el nivel de especificacin al de


herramienta

Nivel de Especificacin: Se describe el problema, las restricciones


sobre el problema y la solucin.
Nivel de Tarea: Se describe los tipos de problemas, como
diagnstico, planificacin, etc.
Nivel de resolucin del Problema: Estrategias de resolucin que
se utilizan para resolver las diferentes tareas
Nivel de Base de conocimiento: Heursticas, asociaciones
causales, relaciones matemticas describiendo fenmenos fsicos.
Nivel de Herramienta: Implementacin del SBC

Clasificacin de las tareas


Clasificacin de Hayes-Roth y col (1983)

Interpretacin: Anlisis de datos para determinar su significado. Con


frecuencia la informacin lleva asociada incertidumbre

Prediccin: Inferir el

Diagnstico: Deduce fallos a partir de sntomas. Incluye un amplio

futuro a partir de situaciones o eventos. Por


ejemplo, prediccin del tiempo o prediccin financiera.
espectro de aplicaciones mdicas, mecnicas, y electrnicas.

Diseo: Desarrolla configuraciones de objetos que satisfacen ciertas


restricciones. Por ejemplo, diseo de circuitos, o disposicin de maquinaria en
un espacio reducido.

Planificacin: Genera secuencias de acciones para lograr objetivos.


Monitorizacin: Observacin del comportamiento del sistema.
Depuracin y Reparacin: Generar remedios para fallos de
sistemas.

Instruccin: Sistemas tutores


Control: Se anticipa a problemas, planifica soluciones y monitoriza.

Clasificacin por operaciones genricas

Clancey (1985) Propone un anlisis alternativo en

trmino de operaciones genricas sobre el sistema:

Operaciones sintticas que construyen un sistema


Diagnstico
Diagnstico
Operaciones
analticas que interpretan un sistema
Interpretacin
Interpretacin
Monitorizacin
Monitorizacin

Planificacin
Planificacin

Diseo
Diseo

Control
Control
Educacin
Educacin
Simulacin
Simulacin
analticas
analticas

Constructivas
Constructivas

Clasificacin
Clasificacin: Proceso que selecciona soluciones, entre un conjunto de soluciones
preestablecidas, a partir de datos reconocidos.
Se utiliza en gran cantidad de tareas como diagnstico de enfermedades o
evaluacin prospectiva de depsistos de minales.

Datos
Abstraidos

Emparejamiento

Abstraccin
Datos

Datos

Soluciones
Abstraidas

Refinamiento
Solucin

Soluciones

Configuracin
Configuracin:Selecciona partes y los junta.
Se utiliza para construir planes de fabricacin o recomendaciones de terpias
Emparejamiento
especificacin/estructura
Especificaciones

Soluciones
Abstraidas y parciales

Especificaciones
Adicionales

Submodelo
funcionalidades

Soluciones
Refinadas y Expandidas
Submodelo
de Partes
Especificaciones

Espacio de configuracin

Submodelo
de configuracin

Nivel de resolucin de Problemas

Tcnicas
Tcnicasde
deresolucin
resolucin
yyarquitecturas
arquitecturas
Basadas
Basadasen
en
Bsqueda
Bsqueda

Simple
Simple

Basadas
Basadasen
en
elelConocimiento
Conocimiento
*Profundidad
*Profundidad
*Anchura
*Anchura
*Genete-and-Test
*Genete-and-Test
*Satisfaccin
*Satisfaccin
restricciones
restricciones
*Aleatoria
*Aleatoria

*Forward
*ForwardChainig
Chainig
*Backward
*BackwardChainig
Chainig
*Prueba
*PruebaTeoremas
Teoremas
*GPS
*GPS(MEA
(MEA++OS)
OS)

No
NoEstoctica
Estoctica

Evaluacin
Evaluacin

*Escalada
*Escalada
*Primero
*Primeroelelmejor
mejor
**A*
A*
Estoctica
Estoctica
*Simulated
*SimulatedAnnealing
Annealing
*Algo.
Genticos
*Algo. Genticos

Juegos
Juegos

*FC
*FC
*Bayes
*Bayes
*Fuzzy
*Fuzzy
*Dempster-Shaper
*Dempster-Shaper

Objetivos
Objetivos
yydatos
datos

*TMS
*TMS
*Manejo
*Manejo
restricciones
restricciones

Mantenimiento
Mantenimiento
consistencia
consistencia

*Refinamiento
*Refinamiento
Jerrquico
Jerrquico
*Heuristic-inc*Heuristic-incgenerate&test
generate&test

Abstracciones
Abstracciones

Inexacto
Inexacto

Otros
Otros

Nivel de resolucin de Problemas

f(n) = d(n) + h(n)

Bsquedas

Bsquedas ciega

Direccin:
Dirigida por objetivo, Dirigida por datos, Bidireccional
Orden sistemtico de visita de nodos: Profundidad y Anchura

Bsqueda heurstica

Informacin especfica del dominio que gua la bsqueda

Funcin de evaluacin que da una estimacin del esfuerzo que


supone
seguir un camino.
Las funciones. de evaluacin deben caracterizar el espacio de estados
adecuadamente

Es engaoso pensar que una simple funcin aritmtica como estilo de


representacin del conocimiento es suficiente. Los sistemas expertos utilizan
grandes cantidades de conocimiento simblico
.

Razonamiento Basado en el
Conocimiento

Razonamiento basado en el conocimiento

El razonamiento basado en el conocimiento suele ser no


montono

Requiere razonar con conocimiento impreciso


Considerar Justificaciones y hacer tentativas sobre creencias
Este razonamiento dinmico requiere gran cantidad de
regla 101
conocimiento
comida
Si huele a queso por aqui y
no veo trampas
entonces merodear cerca

queso
Emmental
Bola

regla 103
Si ya he pasado por aqui
entonces intentar otra alternativa

Razonamiento BC (cont.)

Suposiciones y compromisos

Los expertos actan con recursos de tiempo y


conocimiento
limitado
El sentido comn permite extraer conclusiones a partir
de
informaciones parciales, y la gente acepta
conclusiones aceptables para las cuales no tiene
prueba.
El sentido comn requiere que el sistema sea capaz de
revisar sus creencias a la luz de nueva informacin
=> Razonamiento No monoto

Sistema de razonamiento no
montono

Dependencias y Justificaciones

Para revisar sus creencias frente a nuevas informaciones, el resolutor debe razonar sobre
dependencias entre sus
creencias.
Estas tcnicas son una extensin del backtraking en bsqueda
Un fallo en la bsqueda da lugar a backtracking:
Eliminacin de todas las acciones e inferencias desde el punto de eleccin ms reciente y
continuar con la siguiente alternativa.
Debido al orden LIFO del backtraking la memoria de las creencias activas se puede implementar
como una pila.
Backtraking cronolgico es ineficiente porque la razn del fallo se olvidan cuando se
abandona el camino

Ejemplo del robot Robie

El robot tiene como objetivo coger un bloque. Levanta la mano derecha. Se mueve hasta
donde est el bloque. Coge el bloque con su mano derecha, pero est muy calienta y se quema la
mano. Deja el bloque, baja la mano y retrocede. Levanta la mano izquierda, se mueve hasta
donde est el bloque. Coge el bloque con su mano izquierda, pero ...

Sistema de razonamiento no
montono
Desafortunadamente, en muchos dominios de problemas no es

posible crear modelos completos, consistentes e inalterables

La historia del asesino ABC ilustra con claridad muchos aspectos


fundamentales que estas tcnicas deben proporciona [The Web of Belief de
Quine y Ullian 1978]:
Sean Abbott, Babbitt y Cabot los sospechosos en un caso de asesinato. Abbott
tiene una coartada en el registro de un respetable hotel de Albany. Babbitt
tambin tiene una coartada, la de su cuado, al cual estaba viendo en
Brooklyn en el momento del crimen. Cabbott defiende tambin su coartada,
asegurando que se encontraba viendo un campeonato de esqu en Catskills,
pero slo puede aportar su propio testimonio. Por lo tanto, creemos:
(1) Que Abbot no cometi el crimen
(2) Que Babbit no lo hizo
(3) Que o Abbott o Babbitt o Cabot lo hizo

Sistema de razonamiento no
montono
En principio el sospechoso principal es Cabot, pero ...

... Cabot puede posteriormente presentar pruebas de su coartada. Tuvo


muy buena suerte y fue captado por las cmaras de TV en las gradas de
la pista. De esta forma aparece una
nueva creencia que es:

(4) Cabot no lo hizo.

Las creencias (1) a (4) son inconsistentes, por lo que una

debe desestimarse. Cul es la evidencia ms dbil?

La base de (1) en un hotel es buena, ya que se trata de un hotel prestigioso.

La base (2) es ms dbil, ya que puede ser que el cuado de Babbitt est mintiendo.

La base de (3) es doble: No existen signos de robo y slo Abbott, Babbitt y Cabot parecen salir
beneficiados con el asesinato.

La base de (4) es concluyente

Dependencias y Justificaciones

Se debe seguir la pista de los pasos de inferencia que dieron lugar a errores e
inconsistencias
Registro de los paso inferenciales => Registros de dependencia

Un mtodo de bsqueda que analice dependencias y decide qu


invalidar se llama no cronolgica o dirigida por dependencias.
Elementos de los registros de dependencia: Creencias, reglas de inferencia y
justificaciones
Si se encuentra que q es falso el sistema permitir eliminar p o
( p v
q)

verdad

p v q

justificacin

verdad

justificacin

regla
pvq

verdad
justificacin

Tcnicas de razonamiento Avanzadas

Razonamiento basado en el modelo

Representan los sistmas fsicos mediante su estructura y


funcionalidad. Razona utilizando principios bsicos de ingeniera y
ciencias
Tipos de modelos: Ecuaciones, Estocsticos, y modelos causales
(Centrados en dispositivos).
Conocimiento profundo en lugar de conocimiento
superficial sobre el comportamiento del sistema.
EJEMPLO Aplicacin tpica: Diagnstico de circuitos digitales. Un
tcnico de reparacin de televisores expertimentado utiliza:
*Unas pocas medidas en los dispositivos
* Con su conocimiento de dispositivos puede mirar un
esquema de la televisin e identificar el componente que falla

Tcnicas de razonamiento Avanzadas

Razonamiento Cualitativo

Simulacin cuantitativa: Modelado del comportamiento exacto


mediante la descripcin completa y determinista de sus
parmetros.
Simulacin cualitativa de un sistema: Determina slo sus posibles
estados generales basndose en algunas restricciones.

Razonamiento basado en casos

Objetivo: Reemplazar el conocimiento de un experto con una base


de datos de casos

Proceso de desarrollo
Adecuacin de una aproximacin basada en el

conocimiento

No hay una solucin algortmica


La tarea del dominio la realizan expertos
Los expertos no son simples aficionados
La tarea no debe ser ni muy difcil ni muy complicada para el
experto
El problema no debe requerir sentido comn
La utilizacin del SBC reportar beneficios

Proceso de desarrollo
IDENTIFICACIN
IDENTIFICACIN
Cules
son
Cules sonlas
lascaractersticas
caractersticasdel
deldominio?
dominio?
Cul
es
su
mbito?
Cul es su mbito?
Quienes
participarn
Quienes participarnyycon
conque
querecursos?
recursos?
CONCEPTUALIZACIN
CONCEPTUALIZACIN
Qu
Quinformacin
informacinyytcnicas
tcnicasutiliza
utilizaelelexperto?
experto?
FORMALIZACIN
FORMALIZACIN
Cmo
encajan
Cmo encajanestas
estastcnicas
tcnicasen
enlas
lasestructuras
estructuras
yyestrategias
de
los
sistemas
expertos?
estrategias de los sistemas expertos?
IMPLEMENTACIN
IMPLEMENTACIN
Acquiere
Acquiereyycomprueba
compruebaiterativamente
iterativamente
las
lashabilidades
habilidadesdel
delsistema
sistema
CHEQUEO
CHEQUEO
Test
Testde
decomprobacin
comprobacinfinal
final

Proceso de desarrollo
Pasos principales:

Identificacin: Caracterizacin de los aspectos ms importantes del dominio del


problema

Conceptualizacin: Se extraen los conceptos, subtareas y restricciones


necesarias para resolver el problema.

Ingeniero del Conocimiento: Persona que traslada el


conocimiento de un experto a algn formalismo.
Modelo conceptual (mental) entre el experto y el
Es til un Conceptual
modelo
Programacin
Sistema
implementador.
Implementado

Adquisicin del
conocimiento

Conocimiento
del
Experto

if p(x) ^ q(x, y)
then r(y)
if u(x) ^ v(x, y)
then s(y)
if r(x) ^ sq(x, y)
then t(y)

motor de inferencia

Proceso de desarrollo

Formalizacin: Los conceptos de la etapa de conceptualizacin se representan


con las herramientas y esquemas de representacin disponibles.

Implementacin:

Herramienta de adquisicin?, chequeos de la base de datos?,


Reglas? Redes semnticas?, Frames?, Esquema de
razonamiento?, Mdulo de explicacin? ...
Desarrollo de una herramienta de propsito especfico
Utilizacin de algn shell para el desarrollo de SEs.

Verificacin y refinamiento:

El prototipo es comprobado con el experto.

Proceso de desarrollo
Dos aproximaciones

Prototipado:

Es el mtodo ms popular para el desarrollo de SBC


- Depende mucho ms de la involucracin de los usuarios
- Necesidad de comprobar el comportamiento del sistema segn se
desarrolla
- Adquisicin del conocimiento y desarrollo del software se pueden
combinar en el prototipado
Problemas: Desarrollo ad hoc e indisciplinado

Estructurado:

KADS (Knowledge Acquisition and Design process):


- Metodologa de modelado, con una fase rigurosa de anlisis antes del
diseo
- El prototipado se utiliza para experimentar, no como metodoga

Herramientas
Lisp
C
Ada

Lenguajes
tradicionales

Reglas
OPS5
Lgica:
PROLOG
Objetos:
Smalltalk-80
C++
Java
Un paradigma de
programacin

Cmo hacer una tarea

LOOPS
CLIPS
K-CRAFT
ART
NEXPERT
KAPPA
CLOS

Integran distintos
paradigmas

KEE
VPEXPERT
PC+

Shells

Qu tarea hacer

Das könnte Ihnen auch gefallen