• No se han encontrado resultados

SISTEMAS BASADOS EN EL CONOCIMIENTO

N/A
N/A
Protected

Academic year: 2021

Share "SISTEMAS BASADOS EN EL CONOCIMIENTO"

Copied!
91
0
0

Texto completo

(1)

SISTEMAS

BASADOS EN EL

CONOCIMIENTO

UNIVERSIDAD TECNOLÓGICA DE LOS ANDES

CARRERA PROFESIONAL DE INGENIERÍA DE SISTEMAS E INFORMÁTICA

(2)

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 actúa dentro de dicho ambiente para

alcanzar sus metas

• Para lograr esto, el agente puede mantener una

representación 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 acción en el futuro: aprendizaje.

(3)

Arquitectura general

(4)

Conocimiento

• Objetivo básico : Expresar conocimiento

de tal forma que sea manejable por una

computadora.

• Sintaxis: Describe las posibles

configuraciones que pueden constituir a

las sentencias.

• Semántica: Determina los hechos del

mundo a los que las sentencias se

(5)

Razonamiento

• Un agente basado en conocimiento comienza con

algún conocimiento del mundo y de sus propias

acciones.

• Entonces usa razonamiento para mantener la

descripción del mundo e infiere los cursos de acción a

tomar para alcanzar sus metas.

• El mecanismo de razonamiento debe asegurar que las

sentencias realmente sean consecuencias lógicas 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).

(6)

Aprendizaje

• La idea es no sólo razonar para tomar las mejores

decisiones y/o acciones sino también aprender para

mejorar nuestra capacidad de acción.

• El aprendizaje es resultado de la experiencia de la

interacción del agente con su medio ambiente y de la

observación 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

autonomía a los agentes, dando la posibilidad de

crear así sistemas robustos de alto rendimiento.

(7)

El Mundo de WUMPUS

• Este mundo es una cueva que está compuesta por

habitaciones conectadas mediante pasillos.

• Escondido en algún lugar de la cueva está el wumpus,

una bestia que se come a cualquiera que entre en su

habitación.

• 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.

(8)

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.

(9)
(10)

El Mundo de WUMPUS

• Su descripción REAS sería:

– Rendimiento

• +1000 oro, -1000 muerte, -1 acción, -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),

(11)
(12)
(13)
(14)
(15)
(16)

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 también [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, más 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 ningún

hoyo….

(17)

Como actuar y razonar en este

Mundo de wumpus

• ¿Cómo hacer que el agente obtenga el

tesoro y salga de la cueva?

• En cualquier caso si el agente saca una

conclusión a partir de la información que

tiene disponible, se garantiza que esa

conclusión es correcta si la información

disponible también lo es.

Propiedad

fundamental del razonamiento lógico

.

• Y ¿Qué pasa si en este mundo hay mas de 1

wumpus?

(18)

Resolución general de problemas

• Los métodos de resolución de problemas que

hemos visto son de aplicación general

• Se fundamentan en una función heurística para

obtener el orden de exploración de soluciones

• La capacidad expresiva de los heurísticos es

reducida

• Una única función no puede representar todas las

decisiones de exploración en el problema

• El ahorro en coste computacional es limitado

• Con conocimiento más específico se podrían

(19)

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 exploración

• Se puede acercar la exploración a la forma

en la que un experto elabora una solución

• Necesitaremos formalizar mejor el

conocimiento del dominio

• Deberemos integrar ese conocimiento en el

proceso de resolución

(20)

De los Sistemas Expertos a los

SBC

Sistemas Expertos

• El objetivo es emular la capacidad de resolución de expertos

humanos

• Se construyen por procesos de ingeniería del conocimiento

• Basados principalmente en sistemas de reglas de producción

• Sistemas cerrados con poca capacidad de aprendizaje

Sistemas Basados en el Conocimiento

• El objetivo es usar conocimiento del dominio para solucionar

problemas

• Incluyen procesos automáticos de adquisición del conocimiento al

proceso de ingeniería del conocimiento

• Metodologías y arquitecturas heterogéneas (reglas, casos, modelos

cualitativos, agentes inteligentes, computación emergente, ...)

(21)

Características 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

características:

– Flexibilidad para abordar diferentes problemas

– Emulación de comportamiento racional como mecanismo

de resolución

– Operar en un entorno rico y con mucha información

– Uso de información simbólica en el proceso de

razonamiento

– Uso de interfaces naturales en su comunicación con el

usuario

(22)

Características de los SBC

En la construcción de sistemas con estas

características:

• Deberemos mantener el conocimiento del

dominio y de resolución de problemas

separado del mecanismo de control de la

resolución

• Deberemos incorporar conocimiento

heurístico en la resolución (incompleto,

aproximado, no sistemático).

• Deberemos permitir una interacción estrecha

con el usuario y/o entorno

(23)

Áreas de la IA involucradas en los

SBC

Las características que buscamos en los SBC y el

tipo de habilidades que necesitan hacen que se

combinen diferentes áreas de la inteligencia

artificial en su diseño y construcción, entre ellas:

• Representación del conocimiento (conocimiento

sobre dominio, sobre la resolución, heurísticas, ...)

• Razonamiento e inferencia (lógica clásica,

incompletitud, incertidumbre, tiempo, ...)

• Búsqueda heurística/Resolución de problemas

• Tratamiento del lenguaje natural (interfaces)

• Aprendizaje automático (adquisición del

(24)

Necesidad de los SBC

• Disponer del conocimiento de expertos

altamente cualificados

• Poder ayudar/formar expertos/no expertos

• Preservar el conocimiento de expertos

• Obtener soluciones rápidas y justificadas

• Tratar grandes volúmenes de información

• Tener sistemas que tomen decisiones

(25)

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 solución mediante técnicas

tradicionales

(26)

Problemas de los SBC

• Fragilidad

• Dificultad del control del razonamiento

• Poca reusabilidad del conocimiento o las

estrategias de resolución

• Difícil integración del aprendizaje en el

sistema

• Dificultad de adquirir el conocimiento a partir

de expertos

• Dificultad en la validación de la

(27)

Áreas de aplicación de los SBC

• Se pueden encontrar en cualquier dominio en el

que se necesite un conocimiento especializado

• Existen aplicaciones en multitud de dominios

(medicina, ingeniería, predicción meteorológica,

banca, ...)

• Problemas que involucran el análisis de un

conjunto de evidencias (interpretación,

diagnóstico, supervisión, predicción, ...)

• Problemas que involucran la construcción de una

solución (diseño, planificación, configuración, ...)

(28)

Componentes de los SBC

• Queremos construir sistemas con ciertas características:

– Resolución de problemas a partir de información simbólica

– Resolución mediante razonamiento y métodos heurísticos

– Capacidad de explicación

– Sistema interactivo (con un usuario/con el entorno)

– Capaz de adaptarse al entorno

• Necesitamos un conjunto básico de componentes

– Subsistema de razonamiento

• Subsistema de almacenamiento del conocimiento

• Subsistema de uso e interpretación del conocimiento

• Subsistema de almacenamiento del estado del problema

– Subsistema de justificación e inspección de la solución

– Interfaz de comunicación

(29)
(30)

SBC basados en sistemas de

producción

• La resolución se obtiene a partir del

proceso de razonamiento de un motor de

inferencia

• El conocimiento del dominio está

expresado mediante una ontología

• El conocimiento de resolución de

problemas está almacenado

habitualmente como reglas de producción

o un formalismo equivalente

(31)

Almacenamiento del conocimiento

• Almacenará todo el conocimiento para resolver

problemas en el dominio de aplicación

• Encontraremos tres tipos de conocimiento:

– Conocimiento factual (objetos del dominio y sus

características)

– Conocimiento relacional (relaciones entre los objetos del

dominio)

– Conocimiento condicional (conocimiento deductivo sobre

el problema)

• Los dos primeros conocimientos están descritos

mediante la ontología de dominio

• El tercer conocimiento describirá el conocimiento

relacionado con la resolución

(32)

Almacenamiento del conocimiento:

Reglas

• El conocimiento condicional incluye:

– Conocimiento deductivo (estructural): Describe los procesos de

resolución de problemas como cadenas de deducción

– Conocimiento sobre objetivos (estratégico): Orienta el proceso

de resolución

– Conocimiento causal (de soporte): Apoya al proceso de

explicación de la resolución

• Módulos 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)

(33)

Almacenamiento del conocimiento:

Meta-Reglas

• Describen conocimiento a alto nivel sobre la

resolución del problema

• Permiten dirigir el control de la resolución

– Activar y desactivar reglas/módulos

– Decidir el orden de ejecución de reglas/módulos

– Decidir estrategias de resolución, tratamiento de

excepciones, incertidumbre, ...

(34)

Uso e interpretación del

conocimiento

• Es habitualmente un motor de inferencia

• Aplicará su ciclo de ejecución para

resolver el problema

– Detección de reglas aplicables

– Selección de la mejor regla (estrategia

general o guiada por el metaconocimiento)

– Aplicación de la regla

(35)

Almacenamiento del estado

• Guarda los datos iniciales del problema y los

hechos obtenidos durante el proceso de

resolución

• Puede guardar otro tipo de información necesaria

para el control de la resolución y otros

subsistemas

– Orden de deducción de los hechos

– Preferencias sobre el uso de los hechos

– Reglas que generaron los hechos

– Reglas activadas recientemente

– Puntos de backtracking

(36)

Justificación de la solución

• La posibilidad de justificar las decisiones da

credibilidad al sistema

• También permite detectar deducciones erróneas

• Un sistema debería poder contestar Porqué y

Cómo

• Diferentes niveles de justificación:

– Muestra: Traza de los pasos de resolución

– Justificación: Razones de los elementos que

aparecen en la traza de la resolución (linea de

razonamiento, preguntas, hechos, preferencias,

subproblemas, ...)

(37)

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 construcción del SBC: Se

substituye o complementa el proceso de adquisición

con métodos de aprendizaje inductivo, se construye

un modelo a partir de ejemplos

– Durante el proceso de resolución: Se detectan y

corrigen las resoluciones erróneas, se aprenden

reglas de control que mejoran la eficiencia del

proceso de resolución

(38)

Razonamiento basado en casos

• La resolución de un problema se obtiene

identificando una solución anterior similar

• Ventajas:

– Reducen el problema de extracción del

conocimiento

– Facilitan el mantenimiento/corrección/extensión

del sistema

– Permite una resolución más eficiente

– Permite explicaciones mas cercanas a la

experiencia del usuario

(39)

Ciclo de ejecución

• Consta de cuatro fases

1. Recuperación: Búsqueda de los casos

almacenados más similares

2. Reuso: Obtenemos la solución del caso

recuperado

3. Revisión: Evaluamos y adaptamos la

solución recuperada

4. Retención: Comprobamos si es

(40)
(41)

Almacenamiento del conocimiento

• El conocimiento estará formado por casos

• Un caso es una estructura compleja

(características, solución)

• Se almacenarán en la base de casos

(estructura, indexación)

• Tendremos también conocimiento para:

– Evaluar la similaridad entre los casos

– Combinar/Adaptar las soluciones recuperadas

– Evaluar las soluciones

(42)

Uso e interpretación del

conocimiento

• Se basa en el ciclo de ejecución de

razonamiento basado en casos

– Búsqueda en la base de casos de los casos

más similares

– Recuperación de las soluciones de los casos

– Combinación/adaptación de soluciones

(43)

Almacenamiento del estado

• Información del caso actual

• Cálculo de los casos más similares

• Razonamiento para la

evaluación/combinación/adaptación de las

soluciones

(44)

Justificación - Aprendizaje

• Justificación

– Es parte de la información de los casos

– Se complementará con el razonamiento sobre la

combinación/adaptación de las soluciones

• Aprendizaje

– Añadir nuevos casos (mas sencillo que en los

sistemas de reglas)

– La solución debe ser suficientemente diferente

(evaluación)

– Podemos olvidar casos (poco usados, parecidos

a otros)

(45)

Otras metodologías

• Sistemas basados en redes neuronales

• Razonamiento basado en modelos

(46)

Redes neuronales

• Dentro del área de la Inteligencia Artificial

conexionista

• El elemento base es la neurona (elemento de

cómputo)

• Neurona: Entradas, salidas, estado, funciones para la

combinación de las entradas y el estado y función

para generar la salida

• Las neuronas se organizan en redes con diferentes

capas

• La red asocia unas entradas (datos del problema) a

unas salidas (solución del problema)

• La red se debe entrenar (ejemplos resueltos) para que

aprenda a resolver el problema (asociación)

(47)
(48)
(49)

Razonamiento basado en modelos

• Construimos un modelo del comportamiento

del sistema

• Este modelo se basa en información

cualitativa

• Razonando sobre el modelo podemos

predecir las consecuencias de nuestras

acciones

• Utilizamos razonamiento de sentido común

en la resolución

(50)

Agentes inteligentes/Sistemas

multiagente

• Nos alejamos de una visión monolítica de los sistemas

inteligentes

• Un agente inteligente resuelve una tarea “sencilla”

• El problema global se resuelve en

cooperación/coordinación

• Otras áreas involucradas (organización, cooperación,

coordinación, negociación, división del trabajo,

comunicación, razonamiento sobre otros, ...)

• Ventajas: Sistemas mas flexibles,

reconfiguración/reorganización para otras tareas

(componentes)

resolver más problemas

(51)

Desarrollo de SBC

• El punto más importante del desarrollo de

SBC es la extracción del conocimiento

• Requiere la interacción entre el Ingeniero

del Conocimiento y el experto

• Las metodologías de ingeniería de software

han de encajar este proceso entre sus fases

• Las metodologías de ingeniería del software

han de adaptarse a las características

específicas de los SBC

(52)
(53)
(54)

Diferencias de los SBC

• Sistemas software convencionales

Algoritmos conocidos y de uso común

• SBC

Conocimiento incompleto,

impreciso, heurístico

• Sistemas software convencionales

Posible estimar la naturaleza y cantidad

del conocimiento

• SBC

Difícil estimar la naturaleza y

cantidad del conocimiento

(55)

Diferencias de los SBC

• Es complicado obtener un diseño adecuado en las fases

iniciales

• Decisiones iniciales erróneas pueden provocar el

replanteamiento radical del diseño durante el desarrollo

• El ingeniero del conocimiento debe realizar un proceso de

adquisición del conocimiento

Entrevistas con los expertos

– El IC debe aprender los elementos básicos del dominio

– Encontrar un formalismo representación que pueda entender el

experto

– Los expertos prefieren casos al razonamiento a partir de

definiciones generales

– A los expertos les es difícil explicitar su conocimiento en detalle

(paradoja del experto)

(56)

Diferencias de los SBC

• Solución: Diseño incremental y prototipado

rápido

• Objetivo: Desarrollar un prototipo funcional que

recoja las funcionalidades básicas del sistema

• El análisis y la especificación deben tener en

cuenta el sistema completo

• El diseño e implementación se limita al prototipo

inicial

• Este prototipo se completa incrementalmente

• Ventaja: Disponemos de un sistema funcional

(57)
(58)

Ciclo de vida de un SBC (I)

1. Análisis del problema: Recopilar información sobre

el proyecto y determinar su viabilidad.

2. Especificación de requerimientos: Fijar los

objetivos y métodos para conseguirlos.

3. Diseño preliminar: Decisiones a alto nivel sobre el

diseño (formalismo de representación del

conocimiento, herramientas, fuentes de conocimiento)

4. Prototipo Inicial y evaluación: Construir un prototipo

con cobertura limitada, evaluar las decisiones de

diseño a partir del prototipo

5. Diseño final: Validar las decisiones y proponer el

diseño del sistema de manera que permita un

(59)

Ciclo de vida de un SBC (II)

6. Implementación: Completar la adquisición

del conocimiento, ampliar incrementalmente

el prototipo inicial.

7. Validación y verificación: Comprobar que

el sistema cumple las especificaciones.

8. Ajustes de diseño: Realimentar el proceso

(los cambios en el diseño deberían se

mínimos)

(60)

Metodologías especializadas

• CommonKADS

– Ciclo de vida en espiral y modelado mediante

herramientas parecidas a UML

– Se construyen seis modelos: Organización,

tareas, agentes, comunicación, conocimiento y

diseño.

• MIKE

– Ciclo de vida en espiral: Adquisición del

conocimiento (modelo de adquisición y modelo

de estructura), diseño, implementación,

(61)

Una metodología simplificada

• Para aplicaciones pequeñas se puede

aplicar una metodología en cascada que

integra todo el proceso de desarrollo

1. Identificación del problema

2. Conceptualización

3. Formalización

4. Implementación

(62)

Identificación

• Debemos determinar si el problema es

adecuado

– ¿Hay una solución algorítmica?

– ¿Disponemos de fuentes de conocimiento?

– ¿El tamaño/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?)

(63)

Conceptualización

Esta fase nos debería dar la perspectiva del problema desde el punto

de vista del experto

• Deberemos:

– Detallar los elementos del dominio

Descripción informal de la

ontología

– 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, hipótesis y acciones y descubrir

sus relaciones

• Toda esta información la obtendremos a partir de la interacción con

el experto (entrevistas) y las fuentes de conocimiento

• El resultado será un modelo semiformal del dominio y de los

problemas y métodos de resolución

(64)

Formalización

Esta fase transformará la perspectiva del experto en

la perspectiva del ingeniero del conocimiento

• Decidir el formalismo de representación del

conocimiento adecuado

• Identificar el espacio de búsqueda

• Analizar la tipología de los problemas y bloques

de razonamiento y decidir los métodos de

resolución de problemas adecuados

• Analizar la necesidad de tratamiento de

incertidumbre y/o información incompleta

(65)

Implementación

• Construir una ontología del dominio

• Encajar los problemas identificados en las

metodologías de resolución de problemas

escogidas

• Construir los diferentes módulos que

correspondan a cada problema siguiendo el

conocimiento obtenido

• Si utilizamos una aproximación basada en

prototipado rápido construiremos el prototipo

inicial y lo iremos aumentando

(66)

Validación y Prueba

• Escoger casos representativos y resolverlos

mediante el sistema

• Los casos deberían incluir tanto casos

usados para la construcción del sistema

como casos nuevos

• Si seguimos una estrategia de construcción

incremental esta fase se irá repitiendo a

medida que se desarrolle el prototipo

• La validación de SBC es más compleja que

la de los sistemas de software habituales

(67)

Tipos de problemas en SBC

• La identificación de tipologías de problemas en

SBC facilita su desarrollo

• Cada tipo permite determinar:

– Un conjunto de tareas usuales

– Un conjunto de metodologías de resolución

específicas

– Métodos de representación del conocimiento e

inferencia adecuados

• Clasificaremos los problemas a resolver en un

SBC a partir de dos tareas genéricas:

– Tareas de análisis: Interpretación de un sistema

– Tareas de síntesis: Construcción de un sistema

(68)

Síntesis - Análisis

Ambas tareas se pueden especializar

• Tareas de análisis

– Identificación, nos dice que tipo de sistema tenemos

• Monitorización, detecta discrepancias de comportamiento

• Diagnóstico, explica las discrepancias

– Predicción, nos dice que salida podemos esperar

– Control, determina que entradas nos permiten obtener cierta

salida

• Tareas de síntesis

– Especificación, busca las restricciones que se deben satisfacer

– Diseño, genera una configuración de elementos según unas

restricciones

(69)

Métodos de resolución de

problemas

• Cada tipo de problema genérico tiene

unas características especiales

• Existen métodos de resolución adecuados

para cada tipo

• Nos centraremos en dos métodos:

– Clasificación Heurística (Heuristic

Classification)

– Resolución Constructiva (Constructive

(70)

Clasificación Heurística

• Es adecuado para tareas de análisis

• El objetivo es escoger una solución de entre

un conjunto limitado

• Asociamos los datos de entrada con las

soluciones (simple o mediante razonamiento)

• Tres fases:

1. Abstracción de datos (Definicional, cualitativa,

generalización, ...)

2. Asociación heurística

3. Refinamiento

(71)
(72)

Clasificación Heurística:

Adquisición del conocimiento

• La adquisición del conocimiento que permite resolver un

problema mediante clasificación heurística se puede hacer de

forma sistemática.

• Podremos distinguir tres conjuntos de conceptos:

– Las hipótesis: Soluciones posibles a nuestro problema

– Los síntomas: Características que describen las hipótesis

– Las causas originales: Información del problema que lleva a

los síntomas

• Entre cada conjunto de conceptos deberemos extraer el

conjunto de deducciones que llevan del uno al otro

• De las causas originales a los síntomas tendremos las reglas

de abstracción

• De los síntomas a las hipótesis tendremos las reglas de

asociación heurística

(73)

Clasificación Heurística:

Adquisición del conocimiento

• Para cada grupo de reglas deberemos:

– Obtener qué conceptos del primer conjunto

(antecedentes) están 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 deberían añadir conceptos intermedios

que lleven de los antecedentes a los consecuentes y crear

las cadenas de deducción necesarias

– Observar la confianza de las asociaciones entre

antecedentes y consecuentes (incertidumbre)

• Si las hipótesis son soluciones abstractas

(74)

Clasificación Heurística: Ejemplo

(1)

• Supongamos que queremos construir un

SBC para la concesión de créditos bancarios

• El conjunto de respuestas que puede dar el

sistema son limitadas (se concede/no se

concede)

• El objetivo es determinar, dadas la

características del cliente, si concederemos

el crédito y en que condiciones, o si no lo

concederemos.

• Es un problema de análisis que podemos

resolver mediante clasificación heurística.

(75)

Clasificación Heurística: Ejemplo

(2)

Supongamos que una solicitud contiene la siguiente

información:

• Si tiene avales bancarios.

• Si tiene familiares que puedan responder por él.

• Si tiene cuentas corrientes, casas, coches, fincas,

etc. y su valoración.

• Si tiene antecedentes de morosidad.

• Si ha firmado cheques sin fondos.

• Si tiene créditos anteriores concedidos.

• Tipo de empresa que quiere crear.

(76)

Clasificación Heurística: Ejemplo

(3)

Determinamos un conjunto de

características que definen las soluciones

• Apoyo financiero (Muy bueno, bueno,

normal, regular, malo, muy malo)

• Bienes

• Fiabilidad de devolución

• Compromiso con el cliente

• Viabilidad de la empresa

(77)

Clasificación Heurística: Ejemplo

(4)

Decidimos un conjunto de soluciones

abstractas

• Denegación

• Aceptación

• Aceptación con rebaja

(78)

Clasificación Heurística: Ejemplo

(5)

Determinamos unas reglas que nos abstraen los datos del problema

• si avales > un millón euros o tío rico entonces apoyo

financiero=bueno

• si avales < 100000 euros entonces apoyo financiero= malo

• si suma bienes < un millón entonces bienes=malo

• si suma bienes > dos millones entonces bienes=bueno

• si cheques sin fondos o moroso entonces fiabilidad=muy mala

• si hamburguesería o heladería entonces viabilidad=normal

• si grandes almacenes o proveedor de internet entonces

viabilidad=muy buena

• si concedido crédito > un millón o hermano del director entonces

compromiso=bueno

(79)

Clasificación Heurística: Ejemplo

(6)

Determinamos unas reglas que asocian las características 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 interés preferente

(80)

Clasificación Heurística: Ejemplo

(7)

Determinamos unas reglas que refinan las

soluciones que lo necesitan

• si aceptación con rebaja y petición > 500000

euros y bienes = 500000 euros entonces rebaja a

500000 euros

• si aceptación con interés preferente y petición >

un millón y bienes > un millón entonces rebaja de

un 1% de interés

• si aceptación con interés preferente y hermano del

director entonces rebaja de un 2% de interés

(81)

Clasificación Heurística: Ejemplo

(8)

(82)

Resolución constructiva

• Orientada a problemas en los que no

existe un número acotado de soluciones

• La resolución implica construir la solución

a partir de un conjunto de elementos

(acciones, componentes, fallos, ...)

• Se aplica en problemas de síntesis

• Los métodos de búsqueda son aplicables,

pero con un coste impracticable

(83)

Resolución constructiva

• La construcción de la solución necesita conocimiento sobre:

– El modelo de la estructura de la solución

– El modelo del comportamiento de los elementos de la solución

– Los operadores que permiten construir la solución

– El conjunto de restricciones entre los elementos y la solución

– La forma de evaluar las decisiones sobre la construcción de la

solución y sobre la solución total o parcial

• Las restricciones pueden ser:

– Sobre la configuración de los componentes (físicas, temporales,

...)

– Respecto a las entradas/salidas/precondiciones/postcondiciones

de los operadores de construcción

(84)

Métodos de resolución constructiva

• Proponer y aplicar (propose and apply): Partimos

desde una solución vacía. Seleccionamos el

operador de entre los posibles que nos permita

extender la solución actual hasta llegar a obtener

la solución completa

• Mínimo compromiso (Least commitment):

Partimos desde una solución inicial completa.

Seleccionamos el operador que nos permite

extender la solución actual que menos

(85)

Proponer y aplicar

• Buscamos en el espacio de soluciones

parciales

• Partimos de una solución inicial vacía o

una solución incompleta

• Cada paso va completando la solución

• Siempre elegimos el mejor operador

• Nos mantenemos en el espacio de

soluciones

(86)

Proponer y aplicar

• Necesitamos conocimiento exhaustivo sobre:

– Operadores de resolución del problema

– Restricciones y relaciones entre los componentes de la

solución

– Evaluación del efecto de los operadores en la solución

– Evaluación de la bondad de la solución

• Podemos plantear la resolución de diferentes maneras

– Construcción secuencial (necesita mucho conocimiento

para ser eficiente)

– Descomposición jerárquica de tareas (mas eficiente, pero

requiere obtener operadores de descomposición)

(87)

Proponer y aplicar: Proceso de

resolución

1.

Inicializar el objetivo: Se crea el elemento que define la

solución actual

2.

Proponer un operador: Se seleccionan operaciones

plausibles sobre la solución actual

3.

Podar operadores: Se eliminan operadores de acuerdo con

criterios globales.

4.

Evaluar operadores: Se comparan los efectos de los

operadores sobre la solución y se evalúa 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

(88)

Mínimo Compromiso

• Exploramos en el espacio de soluciones

completas

• Partimos de una solución inicial completa

(también puede ser no solución)

• Vamos modificando la solución mejorándola o

corrigiéndola

• La elección del operador a aplicar la define la

estrategia de mínimo compromiso: mínima

modificación que imponga menos restricciones

futuras.

• Permitimos pasar entre el espacio de soluciones y

no soluciones

(89)

Mínimo Compromiso: Proceso de

resolución

1.Partir de una solución inicial no óptima, si es

posible, que satisfaga las restricciones.

2.Hacer una modificación sobre la solución

usando la heurística de mínimo compromiso

(acción que menos restricciones imponga

sobre la solución)

3.Si la modificación viola alguna de las

restricciones deshacer alguno de los pasos

anteriores haciendo las mínimas

(90)

Resolución Constructiva: Ejemplo

(1)

• Queremos planificar la mejor trayectoria de un robot en una

habitación

• La habitación tiene un conjunto de obstáculos que queremos

evitar

• Disponemos de un conjunto de operadores:

– Movernos hacia adelante o hacia atrás a cierta velocidad cierta

distancia

(91)

Resolución Constructiva: Ejemplo

(2)

• Restricciones globales: llegar a la puerta de

salida, trayectoria mínima en recorrido y

tiempo

• Restricciones de elección de operadores: No

chocar con obstáculos o la pared, mantener

la distancia para poder maniobrar

• Evaluación de los operadores:

– Mover: Mejor cuanto más lejos y más deprisa nos

lleve al objetivo

– Girar: Mejor cuanto mas lejos deje los obstáculos

de nuestra trayectoria

Referencias

Documento similar

o Compromiso de los padres en apoyarlo más en casa para consolidar conocimiento de tablas de multiplicar y operaciones básicas resolución de problemas sencillos planteados a partir

A pesar de ello, el método del gradiente conjugado es mucho más robusto que otros métodos de resolución de matrices en sistemas mal condicionados, simplemente en casos de

(4ª Edición).. El conocimiento en los sistemas inteligentes ... Planteamiento general ... Representación del conocimiento ... Técnicas de representación simbólica ...

- Integra los conocimientos previos sobre álgebra y resolución de problemas y los aplica para resolver problemas de sistemas de ecuaciones lineales.. Competencia en comunicación

Artículo 58. La solicitud para instalar, construir o modificar infraestructura urbana o sus sistemas estará condicionada a la obtención de una resolución favorable en

En las clases de problemas se combinan la resolución conjunta de problemas en pizarra, con la resolución individual de problemas por parte del estudiantes, y la resolución de

Ello les permitirá: a) abordar la resolución de los problemas ambientales teniendo como referencia el funcionamiento de los sistemas naturales; b) tomar conciencia del Cambio Global

• Desarrollamos Software Inteligente con procesamiento de Lenguaje Natural mediante técnicas de Inteligencia Artificial.. • Creamos programas que actúan como una persona real