You are on page 1of 91

UNIVERSIDAD TECNOLGICA DE LOS ANDES

CARRERA PROFESIONAL DE INGENIERA DE SISTEMAS E INFORMTICA

SISTEMAS
BASADOS EN EL
CONOCIMIENTO

Ing. Ronald Rentera Ayquipa


Agentes basados en conocimiento
Un agente puede ser visto como cualquier cosa que
percibe el ambiente (y/o a otros agentes!) por medio
de sensores y acta dentro de dicho ambiente para
alcanzar sus metas
Para lograr esto, el agente puede mantener una
representacin interna del mundo o de su medio
ambiente: una base de conocimientos
Entonces el agente puede inferir nuevo conocimiento
con base en lo que percibe y conocimiento previo para
tomar decisiones y acciones: razonamiento.
Idealmente el agente incluso puede utilizar la
experiencia de sus acciones para mejorar su
capacidad de accin en el futuro: aprendizaje.

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 2


Arquitectura general
KBA (knowledge based agent)

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 3


Conocimiento
Objetivo bsico : Expresar conocimiento
de tal forma que sea manejable por una
computadora.
Sintaxis: Describe las posibles
configuraciones que pueden constituir a
las sentencias.
Semntica: Determina los hechos del
mundo a los que las sentencias se
refieren.
Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 4
Razonamiento
Un agente basado en conocimiento comienza con
algn conocimiento del mundo y de sus propias
acciones.
Entonces usa razonamiento para mantener la
descripcin del mundo e infiere los cursos de accin a
tomar para alcanzar sus metas.
El mecanismo de razonamiento debe asegurar que las
sentencias realmente sean consecuencias lgicas de
los hechos que las viejas sentencias representan.
Un procedimiento de inferencia puede:
Generar o derivar una nueva sentencia a partir de una BC
(que es producida precisamente por dicha BC).
Decidir si una sentencia dada es producida por la BC o no.

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 5


Aprendizaje
La idea es no slo razonar para tomar las mejores
decisiones y/o acciones sino tambin aprender para
mejorar nuestra capacidad de accin.
El aprendizaje es resultado de la experiencia de la
interaccin del agente con su medio ambiente y de la
observacin de su propio proceso de toma de
decisiones.
Esta capacidad de aprendizaje se vuelve muy
importante cuando el conocimiento del mundo es
incompleto
En cierto sentido entonces el aprendizaje provee
autonoma a los agentes, dando la posibilidad de
crear as sistemas robustos de alto rendimiento.

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 6


El Mundo de WUMPUS
Este mundo es una cueva que est compuesta por
habitaciones conectadas mediante pasillos.
Escondido en algn lugar de la cueva est el wumpus,
una bestia que se come a cualquiera que entre en su
habitacin.
Algunas habitaciones contienen hoyos sin fondo que
matan a aquel que va por all (excepto al wumpus
dado que es muy grande para caer en esos hoyos).
En una de las habitaciones existe una pila de oro.
Un agente se ubica en la entrada a la cueva y debe
tratar de encontrar el oro y salir de la cueva. Este
agente tiene una flecha que puede usar para matar al
wumpus.
Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 7
El Mundo de WUMPUS
En la casilla del Wumpus(W) y sus adyacentes se
percibe un fuerte mal olor (stench).
En las casillas adyacentes a los hoyos ( pits ) se
percibe una brisa (breeze)
En la casilla del oro (gold) se percibe un
resplandor (glitter).
Cuando el agente camina hacia una pared, ste
percibe un golpe (bump).
Cuando se mata al Wumpus , ste da un muy
fuerte grito (scream) que se percibe en toda la
cueva.
Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 8
El Mundo de WUMPUS

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 9


El Mundo de WUMPUS
Su descripcin REAS sera:
Rendimiento
+1000 oro, -1000 muerte, -1 accin, -10 flecha
Entorno
Matriz de 4x4, agente comienza en 1,1. Posiciones del wumpus
y oro de forma aleatoria. Probabilidad de 0.2 cada casilla puede
tener un PIT.
Actuadores (acciones)
Agente se mueve hacia adelante, gira 90 izq y der. Muere si
entra en casilla con PIT o wumpus vivo. Si hay muro en frente e
intenta avanzar no sucede nada. Agarrar, Disparar.
Sensores
Las percepciones del agente son: mal olor(Stench),
brisa(Breezee), resplandor(Glitter), golpe(Bump), grito (Scream)

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 10


Ejemplo en el mundo de WUMPUS

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 11


Ejemplo en el mundo de WUMPUS

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 12


Ejemplo en el mundo de WUMPUS

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 13


Ejemplo en el mundo de WUMPUS

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 14


Ejemplo en el mundo de WUMPUS

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 15


Como actuar y razonar en este
Mundo de wumpus
A = Agente, Breezee = Brisa, P? = Posible PIT, Glitter = Resplandor (Oro),
OK = Cuadro seguro, W? = Posible wumpus, P = Precipicio, PIT,
Stench = Hedor, V = Visitado, W = Wumpus

Partiendo de que en [1,1] no hay hedor ni brisa el agente infiere que en [1,2] y
[2,1] no hay peligros. Por ello puede marcarse estos recuadros con OK. Puesto
que el agente sigue vivo, se infiere que tambin [1,1] es un cuadro seguro por
ende se marca este recuadro con OK. Un agente cauto pasar a un cuadro
que sepa que esta marcado con OK. Si el agente continua por el cuadrante
[2,1] podr percibir una brisa por lo cual el agente infiere que existe un
precipicio PIT en [3,1] o en [2,2] por lo cual no debe continuar hacia ninguno de
estos dos recuadros puesto que no son seguros, ms bien deber marcar
ambos recuadros con P? y a [2,1] con B, puesto que es posible que en uno de
los dos primeros exista un precipicio y hay una brisa en [2,1], luego deber
regresar sobre sus pasos para optar por otro camino. Obviamente el PIT no
puede estar en [1,1] puesto que el agente ya estuvo all y no cayo en ningn
hoyo.

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 16


Como actuar y razonar en este
Mundo de wumpus
Cmo hacer que el agente obtenga el
tesoro y salga de la cueva?
En cualquier caso si el agente saca una
conclusin a partir de la informacin que
tiene disponible, se garantiza que esa
conclusin es correcta si la informacin
disponible tambin lo es. Propiedad
fundamental del razonamiento lgico.
Y Qu pasa si en este mundo hay mas de 1
wumpus?
O Qu pasa si el wumpus se mueve?
Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 17
Resolucin general de problemas
Los mtodos de resolucin de problemas que
hemos visto son de aplicacin general
Se fundamentan en una funcin heurstica para
obtener el orden de exploracin de soluciones
La capacidad expresiva de los heursticos es
reducida
Una nica funcin no puede representar todas las
decisiones de exploracin en el problema
El ahorro en coste computacional es limitado
Con conocimiento ms especfico se podran
tomar mejores decisiones

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 18


Sistemas Basados en el
Conocimiento
Buscamos construir sistemas capaces de
aprovechar mejor el conocimiento del
dominio
Este conocimiento permite analizar mejor
cada paso de la exploracin
Se puede acercar la exploracin a la forma
en la que un experto elabora una solucin
Necesitaremos formalizar mejor el
conocimiento del dominio
Deberemos integrar ese conocimiento en el
proceso de resolucin
Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 19
De los Sistemas Expertos a los
SBC
Sistemas Expertos
El objetivo es emular la capacidad de resolucin de expertos
humanos
Se construyen por procesos de ingeniera del conocimiento
Basados principalmente en sistemas de reglas de produccin
Sistemas cerrados con poca capacidad de aprendizaje
Sistemas Basados en el Conocimiento
El objetivo es usar conocimiento del dominio para solucionar
problemas
Incluyen procesos automticos de adquisicin del conocimiento al
proceso de ingeniera del conocimiento
Metodologas y arquitecturas heterogneas (reglas, casos, modelos
cualitativos, agentes inteligentes, computacin emergente, ...)
Sistemas adaptables con capacidad de aprendizaje

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 20


Caractersticas de los SBC
Los SBC se aplican a problemas complejos donde los
sistemas convencionales de software no son
suficientes.
La naturaleza de estos problemas requieren ciertas
caractersticas:
Flexibilidad para abordar diferentes problemas
Emulacin de comportamiento racional como mecanismo
de resolucin
Operar en un entorno rico y con mucha informacin
Uso de informacin simblica en el proceso de
razonamiento
Uso de interfaces naturales en su comunicacin con el
usuario
Capacidad de aprendizaje como mtodo de adaptacin
Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 21
Caractersticas de los SBC
En la construccin de sistemas con estas
caractersticas:
Deberemos mantener el conocimiento del
dominio y de resolucin de problemas
separado del mecanismo de control de la
resolucin
Deberemos incorporar conocimiento
heurstico en la resolucin (incompleto,
aproximado, no sistemtico).
Deberemos permitir una interaccin estrecha
con el usuario y/o entorno
Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 22
reas de la IA involucradas en los
SBC
Las caractersticas que buscamos en los SBC y el
tipo de habilidades que necesitan hacen que se
combinen diferentes reas de la inteligencia
artificial en su diseo y construccin, entre ellas:
Representacin del conocimiento (conocimiento
sobre dominio, sobre la resolucin, heursticas, ...)
Razonamiento e inferencia (lgica clsica,
incompletitud, incertidumbre, tiempo, ...)
Bsqueda heurstica/Resolucin de problemas
Tratamiento del lenguaje natural (interfaces)
Aprendizaje automtico (adquisicin del
conocimiento del dominio, adaptacin, ...)
Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 23
Necesidad de los SBC
Disponer del conocimiento de expertos
altamente cualificados
Poder ayudar/formar expertos/no expertos
Preservar el conocimiento de expertos
Obtener soluciones rpidas y justificadas
Tratar grandes volmenes de informacin
Tener sistemas que tomen decisiones
autnomas
Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 24
Problemas resolubles mediante
SBC
Han de tener una complejidad suficiente que
justifique el coste de su desarrollo
Han de estar correctamente dimensionados
Hemos de poder disponer del conocimiento
experto necesario
Hemos de poder plantear el problema como un
proceso de razonamiento
Han de poder estructurarse adecuadamente
No tienen una solucin mediante tcnicas
tradicionales
Tenemos expertos cooperativos

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 25


Problemas de los SBC
Fragilidad
Dificultad del control del razonamiento
Poca reusabilidad del conocimiento o las
estrategias de resolucin
Difcil integracin del aprendizaje en el
sistema
Dificultad de adquirir el conocimiento a partir
de expertos
Dificultad en la validacin de la
correctitud/completitud del sistema

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 26


reas de aplicacin de los SBC
Se pueden encontrar en cualquier dominio en el
que se necesite un conocimiento especializado
Existen aplicaciones en multitud de dominios
(medicina, ingeniera, prediccin meteorolgica,
banca, ...)
Problemas que involucran el anlisis de un
conjunto de evidencias (interpretacin,
diagnstico, supervisin, prediccin, ...)
Problemas que involucran la construccin de una
solucin (diseo, planificacin, configuracin, ...)

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 27


Componentes de los SBC
Queremos construir sistemas con ciertas caractersticas:
Resolucin de problemas a partir de informacin simblica
Resolucin mediante razonamiento y mtodos heursticos
Capacidad de explicacin
Sistema interactivo (con un usuario/con el entorno)
Capaz de adaptarse al entorno
Necesitamos un conjunto bsico de componentes
Subsistema de razonamiento
Subsistema de almacenamiento del conocimiento
Subsistema de uso e interpretacin del conocimiento
Subsistema de almacenamiento del estado del problema
Subsistema de justificacin e inspeccin de la solucin
Interfaz de comunicacin
Subsistema de aprendizaje

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 28


Componentes de los SBC

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 29


SBC basados en sistemas de
produccin
La resolucin se obtiene a partir del
proceso de razonamiento de un motor de
inferencia
El conocimiento del dominio est
expresado mediante una ontologa
El conocimiento de resolucin de
problemas est almacenado
habitualmente como reglas de produccin
o un formalismo equivalente
Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 30
Almacenamiento del conocimiento
Almacenar todo el conocimiento para resolver
problemas en el dominio de aplicacin
Encontraremos tres tipos de conocimiento:
Conocimiento factual (objetos del dominio y sus
caractersticas)
Conocimiento relacional (relaciones entre los objetos del
dominio)
Conocimiento condicional (conocimiento deductivo sobre
el problema)
Los dos primeros conocimientos estn descritos
mediante la ontologa de dominio
El tercer conocimiento describir el conocimiento
relacionado con la resolucin

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 31


Almacenamiento del conocimiento:
Reglas
El conocimiento condicional incluye:
Conocimiento deductivo (estructural): Describe los procesos de
resolucin de problemas como cadenas de deduccin
Conocimiento sobre objetivos (estratgico): Orienta el proceso
de resolucin
Conocimiento causal (de soporte): Apoya al proceso de
explicacin de la resolucin

Mdulos de reglas
Permite facilitar el desarrollo y el mantenimiento del sistema
Permite aumentar la eficiencia del proceso de razonamiento
Permite implementar estrategias de uso del conocimiento (meta-
conocimiento, meta-reglas)

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 32


Almacenamiento del conocimiento:
Meta-Reglas
Describen conocimiento a alto nivel sobre la
resolucin del problema
Permiten dirigir el control de la resolucin
Activar y desactivar reglas/mdulos
Decidir el orden de ejecucin de reglas/mdulos
Decidir estrategias de resolucin, tratamiento de
excepciones, incertidumbre, ...
Son ms difciles de obtener de los expertos

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 33


Uso e interpretacin del
conocimiento
Es habitualmente un motor de inferencia
Aplicar su ciclo de ejecucin para
resolver el problema
Deteccin de reglas aplicables
Seleccin de la mejor regla (estrategia
general o guiada por el metaconocimiento)
Aplicacin de la regla

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 34


Almacenamiento del estado
Guarda los datos iniciales del problema y los
hechos obtenidos durante el proceso de
resolucin
Puede guardar otro tipo de informacin necesaria
para el control de la resolucin y otros
subsistemas
Orden de deduccin de los hechos
Preferencias sobre el uso de los hechos
Reglas que generaron los hechos
Reglas activadas recientemente
Puntos de backtracking

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 35


Justificacin de la solucin
La posibilidad de justificar las decisiones da
credibilidad al sistema
Tambin permite detectar deducciones errneas
Un sistema debera poder contestar Porqu y
Cmo
Diferentes niveles de justificacin:
Muestra: Traza de los pasos de resolucin
Justificacin: Razones de los elementos que
aparecen en la traza de la resolucin (linea de
razonamiento, preguntas, hechos, preferencias,
subproblemas, ...)

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 36


Aprendizaje
Por lo general el conjunto de problemas que se
resuelven est acotado
En algunos dominios es necesario adaptarse al
entorno y resolver nuevos problemas
El aprendizaje puede suceder:
Durante el proceso de construccin del SBC: Se
substituye o complementa el proceso de adquisicin
con mtodos de aprendizaje inductivo, se construye
un modelo a partir de ejemplos
Durante el proceso de resolucin: Se detectan y
corrigen las resoluciones errneas, se aprenden
reglas de control que mejoran la eficiencia del
proceso de resolucin
Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 37
Razonamiento basado en casos
La resolucin de un problema se obtiene
identificando una solucin anterior similar
Ventajas:
Reducen el problema de extraccin del
conocimiento
Facilitan el mantenimiento/correccin/extensin
del sistema
Permite una resolucin ms eficiente
Permite explicaciones mas cercanas a la
experiencia del usuario

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 38


Ciclo de ejecucin
Consta de cuatro fases
1. Recuperacin: Bsqueda de los casos
almacenados ms similares
2. Reuso: Obtenemos la solucin del caso
recuperado
3. Revisin: Evaluamos y adaptamos la
solucin recuperada
4. Retencin: Comprobamos si es
interesante guardar el caso
Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 39
Ciclo de ejecucin

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 40


Almacenamiento del conocimiento
El conocimiento estar formado por casos
Un caso es una estructura compleja
(caractersticas, solucin)
Se almacenarn en la base de casos
(estructura, indexacin)
Tendremos tambin conocimiento para:
Evaluar la similaridad entre los casos
Combinar/Adaptar las soluciones recuperadas
Evaluar las soluciones

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 41


Uso e interpretacin del
conocimiento
Se basa en el ciclo de ejecucin de
razonamiento basado en casos
Bsqueda en la base de casos de los casos
ms similares
Recuperacin de las soluciones de los casos
Combinacin/adaptacin de soluciones
(procedimientos/razonamiento)

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 42


Almacenamiento del estado
Informacin del caso actual
Clculo de los casos ms similares
Razonamiento para la
evaluacin/combinacin/adaptacin de las
soluciones

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 43


Justificacin - Aprendizaje
Justificacin
Es parte de la informacin de los casos
Se complementar con el razonamiento sobre la
combinacin/adaptacin de las soluciones
Aprendizaje
Aadir nuevos casos (mas sencillo que en los
sistemas de reglas)
La solucin debe ser suficientemente diferente
(evaluacin)
Podemos olvidar casos (poco usados, parecidos
a otros)

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 44


Otras metodologas
Sistemas basados en redes neuronales
Razonamiento basado en modelos
Agentes Inteligentes/Sistemas Multiagente

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 45


Redes neuronales
Dentro del rea de la Inteligencia Artificial
conexionista
El elemento base es la neurona (elemento de
cmputo)
Neurona: Entradas, salidas, estado, funciones para la
combinacin de las entradas y el estado y funcin
para generar la salida
Las neuronas se organizan en redes con diferentes
capas
La red asocia unas entradas (datos del problema) a
unas salidas (solucin del problema)
La red se debe entrenar (ejemplos resueltos) para que
aprenda a resolver el problema (asociacin)
Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 46
Redes neuronales

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 47


Redes neuronales

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 48


Razonamiento basado en modelos
Construimos un modelo del comportamiento
del sistema
Este modelo se basa en informacin
cualitativa
Razonando sobre el modelo podemos
predecir las consecuencias de nuestras
acciones
Utilizamos razonamiento de sentido comn
en la resolucin
Fsica naf

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 49


Agentes inteligentes/Sistemas
multiagente
Nos alejamos de una visin monoltica de los sistemas
inteligentes
Un agente inteligente resuelve una tarea sencilla
El problema global se resuelve en
cooperacin/coordinacin
Otras reas involucradas (organizacin, cooperacin,
coordinacin, negociacin, divisin del trabajo,
comunicacin, razonamiento sobre otros, ...)
Ventajas: Sistemas mas flexibles,
reconfiguracin/reorganizacin para otras tareas
(componentes) resolver ms problemas
Relacionado con computacin Grid y servicios web

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 50


Desarrollo de SBC
El punto ms importante del desarrollo de
SBC es la extraccin del conocimiento
Requiere la interaccin entre el Ingeniero
del Conocimiento y el experto
Las metodologas de ingeniera de software
han de encajar este proceso entre sus fases
Las metodologas de ingeniera del software
han de adaptarse a las caractersticas
especficas de los SBC
Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 51
IS: Modelo en cascada

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 52


IS: Modelo en espiral

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 53


Diferencias de los SBC
Sistemas software convencionales
Algoritmos conocidos y de uso comn
SBC Conocimiento incompleto,
impreciso, heurstico
Sistemas software convencionales
Posible estimar la naturaleza y cantidad
del conocimiento
SBC Difcil estimar la naturaleza y
cantidad del conocimiento
Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 54
Diferencias de los SBC
Es complicado obtener un diseo adecuado en las fases
iniciales
Decisiones iniciales errneas pueden provocar el
replanteamiento radical del diseo durante el desarrollo
El ingeniero del conocimiento debe realizar un proceso de
adquisicin del conocimiento Entrevistas con los expertos
El IC debe aprender los elementos bsicos del dominio
Encontrar un formalismo representacin que pueda entender el
experto
Los expertos prefieren casos al razonamiento a partir de
definiciones generales
A los expertos les es difcil explicitar su conocimiento en detalle
(paradoja del experto)

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 55


Diferencias de los SBC
Solucin: Diseo incremental y prototipado
rpido
Objetivo: Desarrollar un prototipo funcional que
recoja las funcionalidades bsicas del sistema
El anlisis y la especificacin deben tener en
cuenta el sistema completo
El diseo e implementacin se limita al prototipo
inicial
Este prototipo se completa incrementalmente
Ventaja: Disponemos de un sistema funcional
durante todo el proceso

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 56


Ciclo de vida de un SBC

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 57


Ciclo de vida de un SBC (I)
1. Anlisis del problema: Recopilar informacin sobre
el proyecto y determinar su viabilidad.
2. Especificacin de requerimientos: Fijar los
objetivos y mtodos para conseguirlos.
3. Diseo preliminar: Decisiones a alto nivel sobre el
diseo (formalismo de representacin del
conocimiento, herramientas, fuentes de conocimiento)
4. Prototipo Inicial y evaluacin: Construir un prototipo
con cobertura limitada, evaluar las decisiones de
diseo a partir del prototipo
5. Diseo final: Validar las decisiones y proponer el
diseo del sistema de manera que permita un
desarrollo incremental.
Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 58
Ciclo de vida de un SBC (II)
6. Implementacin: Completar la adquisicin
del conocimiento, ampliar incrementalmente
el prototipo inicial.
7. Validacin y verificacin: Comprobar que
el sistema cumple las especificaciones.
8. Ajustes de diseo: Realimentar el proceso
(los cambios en el diseo deberan se
mnimos)
9. Mantenimiento: Mantener el sistema.
Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 59
Metodologas especializadas
CommonKADS
Ciclo de vida en espiral y modelado mediante
herramientas parecidas a UML
Se construyen seis modelos: Organizacin,
tareas, agentes, comunicacin, conocimiento y
diseo.
MIKE
Ciclo de vida en espiral: Adquisicin del
conocimiento (modelo de adquisicin y modelo
de estructura), diseo, implementacin,
evaluacin.
Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 60
Una metodologa simplificada
Para aplicaciones pequeas se puede
aplicar una metodologa en cascada que
integra todo el proceso de desarrollo
1. Identificacin del problema
2. Conceptualizacin
3. Formalizacin
4. Implementacin
5. Validacin y Prueba
Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 61
Identificacin
Debemos determinar si el problema es
adecuado
Hay una solucin algortmica?
Disponemos de fuentes de conocimiento?
El tamao/objetivo/complejidad del problema es
adecuado?
Buscar y evaluar las fuentes de conocimiento
Determinar el conocimiento necesario para el
sistema
Establecer los objetivos del sistema (Que
respuesta esperamos?)
Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 62
Conceptualizacin
Esta fase nos debera dar la perspectiva del problema desde el punto
de vista del experto
Deberemos:
Detallar los elementos del dominio Descripcin informal de la
ontologa
Descomponer el problema en subproblemas mediante refinamientos
sucesivos, descubriendo los bloques de razonamiento
Detallar el flujo de razonamiento y las entradas y salidas de cada
subproblema
Detallar y distinguir entre evidencias, hiptesis y acciones y descubrir
sus relaciones
Toda esta informacin la obtendremos a partir de la interaccin con
el experto (entrevistas) y las fuentes de conocimiento
El resultado ser un modelo semiformal del dominio y de los
problemas y mtodos de resolucin

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 63


Formalizacin
Esta fase transformar la perspectiva del experto en
la perspectiva del ingeniero del conocimiento
Decidir el formalismo de representacin del
conocimiento adecuado
Identificar el espacio de bsqueda
Analizar la tipologa de los problemas y bloques
de razonamiento y decidir los mtodos de
resolucin de problemas adecuados
Analizar la necesidad de tratamiento de
incertidumbre y/o informacin incompleta

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 64


Implementacin
Construir una ontologa del dominio
Encajar los problemas identificados en las
metodologas de resolucin de problemas
escogidas
Construir los diferentes mdulos que
correspondan a cada problema siguiendo el
conocimiento obtenido
Si utilizamos una aproximacin basada en
prototipado rpido construiremos el prototipo
inicial y lo iremos aumentando
incrementalmente
Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 65
Validacin y Prueba
Escoger casos representativos y resolverlos
mediante el sistema
Los casos deberan incluir tanto casos
usados para la construccin del sistema
como casos nuevos
Si seguimos una estrategia de construccin
incremental esta fase se ir repitiendo a
medida que se desarrolle el prototipo
La validacin de SBC es ms compleja que
la de los sistemas de software habituales
Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 66
Tipos de problemas en SBC
La identificacin de tipologas de problemas en
SBC facilita su desarrollo
Cada tipo permite determinar:
Un conjunto de tareas usuales
Un conjunto de metodologas de resolucin
especficas
Mtodos de representacin del conocimiento e
inferencia adecuados
Clasificaremos los problemas a resolver en un
SBC a partir de dos tareas genricas:
Tareas de anlisis: Interpretacin de un sistema
Tareas de sntesis: Construccin de un sistema

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 67


Sntesis - Anlisis
Ambas tareas se pueden especializar
Tareas de anlisis
Identificacin, nos dice que tipo de sistema tenemos
Monitorizacin, detecta discrepancias de comportamiento
Diagnstico, explica las discrepancias
Prediccin, nos dice que salida podemos esperar
Control, determina que entradas nos permiten obtener cierta
salida
Tareas de sntesis
Especificacin, busca las restricciones que se deben satisfacer
Diseo, genera una configuracin de elementos segn unas
restricciones
Ensamblaje, construye un sistema juntando elementos

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 68


Mtodos de resolucin de
problemas
Cada tipo de problema genrico tiene
unas caractersticas especiales
Existen mtodos de resolucin adecuados
para cada tipo
Nos centraremos en dos mtodos:
Clasificacin Heurstica (Heuristic
Classification)
Resolucin Constructiva (Constructive
Problem Solving)

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 69


Clasificacin Heurstica
Es adecuado para tareas de anlisis
El objetivo es escoger una solucin de entre
un conjunto limitado
Asociamos los datos de entrada con las
soluciones (simple o mediante razonamiento)
Tres fases:
1. Abstraccin de datos (Definicional, cualitativa,
generalizacin, ...)
2. Asociacin heurstica
3. Refinamiento
Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 70
Clasificacin Heurstica

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 71


Clasificacin Heurstica:
Adquisicin del conocimiento
La adquisicin del conocimiento que permite resolver un
problema mediante clasificacin heurstica se puede hacer de
forma sistemtica.
Podremos distinguir tres conjuntos de conceptos:
Las hiptesis: Soluciones posibles a nuestro problema
Los sntomas: Caractersticas que describen las hiptesis
Las causas originales: Informacin del problema que lleva a
los sntomas
Entre cada conjunto de conceptos deberemos extraer el
conjunto de deducciones que llevan del uno al otro
De las causas originales a los sntomas tendremos las reglas
de abstraccin
De los sntomas a las hiptesis tendremos las reglas de
asociacin heurstica

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 72


Clasificacin Heurstica:
Adquisicin del conocimiento
Para cada grupo de reglas deberemos:
Obtener qu conceptos del primer conjunto
(antecedentes) estn asociados con los del segundo
(consecuentes)
Escoger como antecedentes de las reglas los conceptos
que sean diferenciadores de cada consecuente
(separabilidad)
Si es necesario se deberan aadir conceptos intermedios
que lleven de los antecedentes a los consecuentes y crear
las cadenas de deduccin necesarias
Observar la confianza de las asociaciones entre
antecedentes y consecuentes (incertidumbre)
Si las hiptesis son soluciones abstractas
Determinar las reglas de refinamiento

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 73


Clasificacin Heurstica: Ejemplo
(1)
Supongamos que queremos construir un
SBC para la concesin de crditos bancarios
El conjunto de respuestas que puede dar el
sistema son limitadas (se concede/no se
concede)
El objetivo es determinar, dadas la
caractersticas del cliente, si concederemos
el crdito y en que condiciones, o si no lo
concederemos.
Es un problema de anlisis que podemos
resolver mediante clasificacin heurstica.
Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 74
Clasificacin Heurstica: Ejemplo
(2)
Supongamos que una solicitud contiene la siguiente
informacin:
Si tiene avales bancarios.
Si tiene familiares que puedan responder por l.
Si tiene cuentas corrientes, casas, coches, fincas,
etc. y su valoracin.
Si tiene antecedentes de morosidad.
Si ha firmado cheques sin fondos.
Si tiene crditos anteriores concedidos.
Tipo de empresa que quiere crear.
Cantidad de dinero que solicita.
Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 75
Clasificacin Heurstica: Ejemplo
(3)
Determinamos un conjunto de
caractersticas que definen las soluciones
Apoyo financiero (Muy bueno, bueno,
normal, regular, malo, muy malo)
Bienes
Fiabilidad de devolucin
Compromiso con el cliente
Viabilidad de la empresa
Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 76
Clasificacin Heurstica: Ejemplo
(4)
Decidimos un conjunto de soluciones
abstractas
Denegacin
Aceptacin
Aceptacin con rebaja
Aceptacin con inters preferente

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 77


Clasificacin Heurstica: Ejemplo
(5)
Determinamos unas reglas que nos abstraen los datos del problema
si avales > un milln euros o to rico entonces apoyo
financiero=bueno
si avales < 100000 euros entonces apoyo financiero= malo
si suma bienes < un milln entonces bienes=malo
si suma bienes > dos millones entonces bienes=bueno
si cheques sin fondos o moroso entonces fiabilidad=muy mala
si hamburguesera o heladera entonces viabilidad=normal
si grandes almacenes o proveedor de internet entonces
viabilidad=muy buena
si concedido crdito > un milln o hermano del director entonces
compromiso=bueno

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 78


Clasificacin Heurstica: Ejemplo
(6)
Determinamos unas reglas que asocian las caractersticas con
las soluciones
si apoyo financiero=regular y bienes=malo entonces denegar
si fiabilidad={mala, muy mala} entonces denegar
si apoyo financiero=normal y bienes=normal y
viabilidad=buena entonces aceptar con rebaja
si apoyo financiero=bueno y bienes=normal y
compromiso=normal y viabilidad=buena entonces aceptar
si apoyo financiero=bueno y bienes=bueno y
compromiso=muy bueno y viabilidad=muy buena entonces
aceptar con inters preferente

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 79


Clasificacin Heurstica: Ejemplo
(7)
Determinamos unas reglas que refinan las
soluciones que lo necesitan
si aceptacin con rebaja y peticin > 500000
euros y bienes = 500000 euros entonces rebaja a
500000 euros
si aceptacin con inters preferente y peticin >
un milln y bienes > un milln entonces rebaja de
un 1% de inters
si aceptacin con inters preferente y hermano del
director entonces rebaja de un 2% de inters
...
Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 80
Clasificacin Heurstica: Ejemplo
(8)

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 81


Resolucin constructiva
Orientada a problemas en los que no
existe un nmero acotado de soluciones
La resolucin implica construir la solucin
a partir de un conjunto de elementos
(acciones, componentes, fallos, ...)
Se aplica en problemas de sntesis
Los mtodos de bsqueda son aplicables,
pero con un coste impracticable
Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 82
Resolucin constructiva
La construccin de la solucin necesita conocimiento sobre:
El modelo de la estructura de la solucin
El modelo del comportamiento de los elementos de la solucin
Los operadores que permiten construir la solucin
El conjunto de restricciones entre los elementos y la solucin
La forma de evaluar las decisiones sobre la construccin de la
solucin y sobre la solucin total o parcial
Las restricciones pueden ser:
Sobre la configuracin de los componentes (fsicas, temporales,
...)
Respecto a las entradas/salidas/precondiciones/postcondiciones
de los operadores de construccin
Interacciones entre los tipos de restricciones anteriores

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 83


Mtodos de resolucin constructiva
Proponer y aplicar (propose and apply): Partimos
desde una solucin vaca. Seleccionamos el
operador de entre los posibles que nos permita
extender la solucin actual hasta llegar a obtener
la solucin completa
Mnimo compromiso (Least commitment):
Partimos desde una solucin inicial completa.
Seleccionamos el operador que nos permite
extender la solucin actual que menos
restricciones nos imponga a las decisiones futuras

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 84


Proponer y aplicar
Buscamos en el espacio de soluciones
parciales
Partimos de una solucin inicial vaca o
una solucin incompleta
Cada paso va completando la solucin
Siempre elegimos el mejor operador
Nos mantenemos en el espacio de
soluciones
Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 85
Proponer y aplicar
Necesitamos conocimiento exhaustivo sobre:
Operadores de resolucin del problema
Restricciones y relaciones entre los componentes de la
solucin
Evaluacin del efecto de los operadores en la solucin
Evaluacin de la bondad de la solucin
Podemos plantear la resolucin de diferentes maneras
Construccin secuencial (necesita mucho conocimiento
para ser eficiente)
Descomposicin jerrquica de tareas (mas eficiente, pero
requiere obtener operadores de descomposicin)

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 86


Proponer y aplicar: Proceso de
resolucin
1. Inicializar el objetivo: Se crea el elemento que define la
solucin actual
2. Proponer un operador: Se seleccionan operaciones
plausibles sobre la solucin actual
3. Podar operadores: Se eliminan operadores de acuerdo con
criterios globales.
4. Evaluar operadores: Se comparan los efectos de los
operadores sobre la solucin y se evala su resultado.
5. Seleccionar un operador: Se escoge el operador mejor
evaluado. Si no hay operadores adecuados se reconsideran
pasos anteriores
6. Aplicar el operador: Se aplica el operador al estado actual.
7. Evaluar el objetivo: Se para si se ha llegado al objetivo final
o se reinicia el proceso.

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 87


Mnimo Compromiso
Exploramos en el espacio de soluciones
completas
Partimos de una solucin inicial completa
(tambin puede ser no solucin)
Vamos modificando la solucin mejorndola o
corrigindola
La eleccin del operador a aplicar la define la
estrategia de mnimo compromiso: mnima
modificacin que imponga menos restricciones
futuras.
Permitimos pasar entre el espacio de soluciones y
no soluciones
Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 88
Mnimo Compromiso: Proceso de
resolucin
1.Partir de una solucin inicial no ptima, si es
posible, que satisfaga las restricciones.
2.Hacer una modificacin sobre la solucin
usando la heurstica de mnimo compromiso
(accin que menos restricciones imponga
sobre la solucin)
3.Si la modificacin viola alguna de las
restricciones deshacer alguno de los pasos
anteriores haciendo las mnimas
modificaciones (Puede no ser el ltimo paso)
Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 89
Resolucin Constructiva: Ejemplo
(1)
Queremos planificar la mejor trayectoria de un robot en una
habitacin
La habitacin tiene un conjunto de obstculos que queremos
evitar
Disponemos de un conjunto de operadores:
Movernos hacia adelante o hacia atrs a cierta velocidad cierta
distancia
Girar cierto nmero de grados

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 90


Resolucin Constructiva: Ejemplo
(2)
Restricciones globales: llegar a la puerta de
salida, trayectoria mnima en recorrido y
tiempo
Restricciones de eleccin de operadores: No
chocar con obstculos o la pared, mantener
la distancia para poder maniobrar
Evaluacin de los operadores:
Mover: Mejor cuanto ms lejos y ms deprisa nos
lleve al objetivo
Girar: Mejor cuanto mas lejos deje los obstculos
de nuestra trayectoria

Inteligencia Artificial | Ing. Ronald Rentera Ayquipa 91