View
217
Download
0
Category
Preview:
Citation preview
CommonKADS course Template knowledge models 1
Modelos genéricos de conocimiento
Reutilización de elementos del modelo de conocimiento
CommonKADS course Template knowledge models 2
Lecciones
Los modelos de conocimiento pueden ser parcialmente reutilizados en otras aplicaciones
El tipo de la tarea constituye la principal guía para la reutilización
Catálogo de plantillas de tareas Algunas aparecen en el libro de texto Existen otras bases de datos de plantillas
CommonKADS course Template knowledge models 3
La utilidad de la ‘reutilización’
Evitar la ‘reinvención’ de la rueda Aumentar la eficiencia coste/tiempo Disminuir la complejidad Garantizar la calidad del software
CommonKADS course Template knowledge models 4
Plantillas de tareas
Son combinaciones reusables de elementos del modelo de conocimiento Estructuras de inferencias Estructuras típicas de control Esquemas usuales del conocimiento del
dominio desde el punto de vista de la tarea Específico para un tipo de tarea Facilita el modelado del conocimiento
top-down
CommonKADS course Template knowledge models 5
Tipologías de tareasTareas analíticas versus sintéticas
Tareas analíticas El sistema (la solución) preexiste
– Aunque usualmente no sea conocido completamente
Entrada: algún dato acerca del sistema, Salida: alguna caracterización del sistema
Tareas sintéticas El sistema (la solución) no existe antes del
desarrollo Entrada: requisitos acerca del sistema a
construir Salida: descripción del sistema construido
CommonKADS course Template knowledge models 6
Jerarquía de tareas
CommonKADS course Template knowledge models 7
Tareas analíticas
Tipo Entrada Salida Conocimiento Características
Analítica Observaciones del sistema
Caracterización del Sistema
Modelo del Sistema
Se proporciona la descripción del Sistema
Clasificación Características del objeto
Clase del Objeto Asociaciones Clase-Característica
El conjunto de clases está predefinido
Diagnosis Síntomas/quejas
Categoría del fallo
Modelo de comportamiento del Sistema
El formato de salida es variable (modelo causal, estado, componente) y depende del uso que se vaya a hacer
Valoración Descripción del Caso
Clase de decisión Criterios, normas Se realiza en un momento concreto
Monitorización
Datos del sistema
Clase de discrepancia
Comportamiento normal del Sistema
El Sistema evoluciona en el tiempo. La tarea se ejecuta repetidamente
Predicción Datos del Sistema
Estado del Sistema
Modelo de comportamiento del Sistema
El estado de salida consiste en una descripción del Sistema en algún punto temporal futuro
CommonKADS course Template knowledge models 8
Tareas Sintéticas
Tarea Entrada Salida Conocimiento CaracterísticasSintéticas Requisitos Estructura
del SistemaElementos, restricciones, preferencias
Es preciso generar la descripción del Sistema
Diseño Requisitos Descripción del artefacto
Componentes, restricciones, preferencias
Puede incluir el diseño creativo de componentes
Diseño de configuraciones
Requisitos Descripción del artefacto
Componentes, estructuras de diseño restricciones, preferencias
Subtipo de diseño en el que todos los componentes vienen predefinidos
Asignación Dos conjuntos de objetos, requisitos
Asignación del conjunto 1 sobre el 2
Restricciones y preferencias
La asignación no tiene porqué ser ‘uno a uno’
Planificación Metas, Requisitos
Plan de acción Acciones, restricciones, preferencias
Las acciones se ordenan (parcialmente) en el tiempo
Programación Actividades de trabajo,Recursos, Ranuras de tiempo, requisitos
Las actividades se distribuyen en las ranuras de tiempo de los recursos
Restricciones, preferencias Se distingue de la asignación en su orientación temporal
Modelado Requisitos Modelo Elementos de modelado, plantillas de modelos, restricciones, preferencias
Podría incluir síntesis ‘creativa’
CommonKADS course Template knowledge models 9
Estructura de la descripción de las plantillas en el catálogo
Caracterización general Características
Método por defecto Papeles, subfunciones, estructura de control,
estructura de inferencia Variaciones típicas
Cambios y refinamientos más usuales Esquema típico para el conocimiento del
dominio Suposiciones acerca de la estructura subyacente del
conocimiento del dominio
CommonKADS course Template knowledge models 10
Clasificación
Establecer la clase correcta para un objeto El objeto debe estar disponible para su
inspección Ejemplos: clasificación de rocas, manzanas, ... Terminología: objeto, clase, atributo,
característica Es una de las tareas analíticas más sencillas Otras tareas analíticas se ven usualmente
reducidas a un problema de clasificación (especialmente la diagnosis)
CommonKADS course Template knowledge models 11
Clasificación: método de poda
Generar todas las clases a las que pudiera pertenecer el objeto
Especificar un atributo del objeto Obtener el valor del atributo Eliminar todas las clases que son
inconsistentes con este valor
CommonKADS course Template knowledge models 12
Clasificación: estructura de inferencia
CommonKADS course Template knowledge models 13
Clasificación: control del método
while new-solution generate(object -> candidate) docandidate-classes := candidate union candidate-classes;
while new-solution specify(candidate-classes -> attribute) and length candidate-classes > 1 do
obtain(attribute -> new-feature);current-feature-set := new-feature union current-feature-
set;for-each candidate in candidate-classes do
match(candidate + current-feature-set -> truth-value);if truth-value = false;then candidate-classes := candidate-classes subtract
candidate;
CommonKADS course Template knowledge models 14
Clasificación: variaciones del método
Generación de candidatos limitada Formas diferentes de selección del
atributo Árbol de decisión Teoría de información Control del usuario
Búsqueda jerárquica en la estructura de clases
CommonKADS course Template knowledge models 15
Clasificación: Esquema del conocimiento del dominio
CommonKADS course Template knowledge models 16
Valoración
Encontrar una categoría de decisión para un caso apoyándose en normas específicas del dominio
Dominio ejemplo: aplicaciones financieras (créditos)
Terminología: caso, decisión, norma Presenta algunas similitudes con la
monitorización Diferencias
– Temporización: la valoración es más estática– Salida diferente: decisión versus discrepancia
CommonKADS course Template knowledge models 17
Valoración: método abstraer & ajustar (match)
Abstraer los datos del caso Especificar las normas aplicables al caso
Ej. ‘la renta se ajusta a los ingresos’, ‘tamaño adecuado de vivienda’
Seleccionar una única norma Calcular un valor de verdad para la norma con
relación al caso Comprobar si esto conduce a una decisión Repetir la selección y evaluación de normas
hasta que se alcance una decisión
CommonKADS course Template knowledge models 18
Valoración:Estructura de inferencia
CommonKADS course Template knowledge models 19
Valoración: control del método
while new-solution abstract(case -> abstracted-feature) docase := abstracted-feature union case;
end whilespecify(case -> norms);
repeatselect(norms -> norm);evaluate(case + norm -> norm-value);evaluation-results := norm-value union evaluation-
results;
until has-solution match(evaluation-results -> decision);
CommonKADS course Template knowledge models 20
Valoración: variaciones del método
Las normas pueden ser específicas del caso
La abstracción del caso puede no ser necesaria
Selección de normas intensiva en conocimiento Aleatoria, heurística, estadística Puede ser la clave de la eficiencia En ocasiones es dictada por la experiencia
experta– Aunque sólo es aceptable si se realiza de forma
entendible para los expertos
CommonKADS course Template knowledge models 21
Valoración: esquema del conocimiento del dominio
CommonKADS course Template knowledge models 22
Diagnosis
Encontrar un defecto que provoca una disfunción en el sistema Ejemplo: diagnosis de una fotocopiadora
Terminología: queja/ síntoma, hipótesis, diferencial, hechos/evidencias, defecto
Debe existir algún modelo del comportamiento del sistema
Método por defecto: modelo causal simple En ocasiones se reduce a una tarea de
clasificación Asociación directa entre síntomas y defectos
La automatización es viable en dominios técnicos
CommonKADS course Template knowledge models 23
Diagnosis: método de recubrimiento causal
Encontrar causas candidatas (hipótesis) para la queja utilizando una red causal
Seleccionar una hipótesis Especificar un dato observable para esta
hipótesis y obtener su valor Verificar cada hipótesis para ver si es
consistente con los nuevos datos Continuar este proceso hasta que sólo quede
una única hipótesis o no existan más datos disponibles al problema
CommonKADS course Template knowledge models 24
Diagnosis:estructura de inferencia
CommonKADS course Template knowledge models 25
Diagnosis: method control
while new-solution cover(complaint -> hypothesis) dodifferential := hypothesis add differential;
end whilerepeat
select(differential -> hypothesis);specify(hypothesis -> observable);obtain(observable -> finding);evidence := finding add evidence;foreach hypothesis in differential do
verify(hypothesis + evidence -> result);if result = false then differential := differential subtract hypothesis
until length differential =< 1 or “no observables left”
faults := hypothesis;
CommonKADS course Template knowledge models 26
Diagnosis: variaciones del método
Inclusión de abstracciones Métodos de simulación
CommonKADS course Template knowledge models 27
Diagnosis: esquema del conocimiento del dominio
CommonKADS course Template knowledge models 28
Monitorización
Analizar el proceso en marcha para encontrar si se comporta según las expectativas
Terminología Parámetro, norma, discrepancia, datos históticos
Principales características Naturaleza dinámica del sistema Ejecución cíclica de la tarea
La salida “sólo” es la discrepancia (sin justificación) Suele complementarse con la diagnosis
La salida de la monitorización es la entrada a la diagnosis
CommonKADS course Template knowledge models 29
Monitorización:método dirigido por datos
Comienza cuando se reciben nuevos datos Se selecciona un parámetro y un valor de
norma para dicho parámetro Se compara el dato encontrado con la
norma y se genera una descripción de la diferencia
Esta diferencia se clasifica como una discrepancia utilizando datos de ciclos de monitorización previos
CommonKADS course Template knowledge models 30
Monitorización: estructura de inferencia
CommonKADS course Template knowledge models 31
Monitorización: control del método
receive(new-finding);select(new-finding -> parameter) specify(parameter -> norm);compare(norm + finding -> difference);classify(difference + historical-data ->
discrepancy);historical-data := finding add historical-data;
CommonKADS course Template knowledge models 32
Monitorización: variaciones del método
Monitorización dirigida por modelos El sistema tiene la iniciativa Normalmente se ejecuta a intervalos regulares de
tiempo Ejemplo: software para la dirección de proyectos
La función de clasificación puede ser por sí misma una tarea Habría que aplicar algún método de clasificación
CommonKADS course Template knowledge models 33
Predicción
Tarea analítica con algunas características de las sintéticas
Analiza el comportamiento actual del sistema para construir una descripción de un estado del sistema en un punto temporal futuro
Ejemplo: predicción meteorológica Puede ser una subtarea en diagnosis También se encuentra en módulos de
conocimiento intensivos en sistemas de enseñanza (ej. Física)
Inverso: retrodicción: teoría del big-bang
CommonKADS course Template knowledge models 34
Síntesis
Dados un conjunto de requisitos, construir una descripción del sistema que los verifique
CommonKADS course Template knowledge models 35
Método ideal para la síntesis
Operacionalizar los requisitos Preferencias y restricciones
Generar todas las estructuras de sistema posibles
Seleccionar un sub-conjunto de estructuras del sistema válidas Verificando las restricciones
Ordenar las estructuras válidas Apoyándose en las preferencias
CommonKADS course Template knowledge models 36
Síntesis:Estructura de inferencia
CommonKADS course Template knowledge models 37
Diseño
Tarea sintética El sistema a construir es un artefacto físico Ejemplo: diseñar un vehículo Puede incluir el diseño creativo de los
componentes el diseño creativo es demasiado complejo para
el estado tecnológico actual Configuración: subtipo del diseño que excluye
la creatividad
CommonKADS course Template knowledge models 38
Configuración
Dado un conjunto de componentes predefinido, encontrar una combinación que se ajuste a los requisitos y que verifique las restricciones
Ejemplo: configuración de un ascensor o un PC Terminología: componente, parámetro,
restricción, preferencia, requisito (hard & soft) Forma de diseño que es automatizable Exige una elevada potencia computacional
CommonKADS course Template knowledge models 39
Configuración:método proponer y revisar
Bucle básico Proponer una extensión del diseño Verificar el nuevo diseño Si falla la verificación, revisar el diseño
Requisitos específicos del conocimiento del dominio Estrategias de revisión
Este método también puede usarse para otras tareas sintéticas Asignación con vuelta atrás (backtracking) Planificación con estructuras de planes estándar
CommonKADS course Template knowledge models 40
Configuración: descomposición del método
CommonKADS course Template knowledge models 41
Configuración: control del método
operationalize(requirements -> hard-reqs + soft-reqs);specify(requirements -> skeletal-design);
while new-solution propose(skeletal-design + design +soft-reqs -> extension) dodesign := extension union design;verify(design + hard-reqs -> truth-value + violation);if truth-value = false then
critique(violation + design -> action-list);repeat select(action-list -> action);
modify(design + action -> design);
verify(design + hard-reqs -> truth-value + violation);
until truth-value = true;
end while
CommonKADS course Template knowledge models 42
Configuración: variaciones del método
Ejecutar una verificación y una revisión sólo cuando se ha propuesto un valor para todos los elementos del diseño Puede tener un gran impacto en la competitividad
del método Evitar la utilización de conocimiento de
reparación Las reparaciones son heurísticas de búsqueda para
recorrer el espacio de diseños alternativos que puede ser muy grande potencialmente
Alternativa: vuelta atrás cronológica
CommonKADS course Template knowledge models 43
Configuración: esquema del conocimiento del dominio
CommonKADS course Template knowledge models 44
Asignación
Crear una correspondencia entre dos conjuntos de objetos Asignación de despachos a los empleados Asignación de puertas de embarque a los aviones
La asignación tiene que satisfacer los requisitos y ser consistente con las restricciones
Terminología Actor, recurso, asignación
Puede verse como una forma degenerativa del diseño de configuraciones
CommonKADS course Template knowledge models 45
Asignación:método sin vuelta atrás
Ordenar la asignación de actores a recursos mediante la selección, primero, de un subconjunto de actores
Si fuera necesario: agrupar los actores en grupos de actores para la asignación conjunta de recursos Requiere de un tipo especial de restricciones y
preferencias Tomar un (grupo de) actor y asignarle un recurso Repetir este proceso hasta que todos los actores
tengan un recurso
CommonKADS course Template knowledge models 46
Asignación:Estructura de inferencia
CommonKADS course Template knowledge models 47
Asignación:control del método
while not empty actors do select-subset(actors -> actor-set); while not empty actor-set do
group(actor-set -> actor-group);assign(actor-group + resources + current-allocations -
> resource);current-allocations := < actor-group, resource >
union current-allocations;actor-set := actor-set/actor-group;resources := resources/resource;
end while actors := actors/actor-set;
end while
CommonKADS course Template knowledge models 48
Asignación:variaciones del método
Asignaciones previas existentes Entrada adicional
Restricciones y preferencias específicas del actor Ver la tarea de síntesis y diseño de
configuraciones
CommonKADS course Template knowledge models 49
Planificación
Comparte muchas características con los sistemas de diseño
La principal diferencia consiste en que el sistema se compone de actividades y de dependencias temporales
Ejemplos: planificador de viajes; planificación de las actividades de edificación
La automatización sólo es viable si los elementos básicos de construcción están predefinidos
Considerar el uso del método genérico de sistemas sintéticos o el de diseño de configuraciones
CommonKADS course Template knowledge models 50
Programación de carga de trabajos/ horarios (Scheduling)
Dado un conjunto de trabajos predefinidos, consistiendo cada uno de ellos de una secuencia temporal de actividades denominadas unidades, asignar recursos en intervalos de tiempo a todas las unidades Programación de la producción en fábricas
Terminología: trabajo, unidad, recurso, programa
Se suele realizar después de la planificación (= especificación de trabajos)
Cuidado: los términos ‘planificación’ y ‘programación’ son diferentes
CommonKADS course Template knowledge models 51
Programación: método de envío/expedición temporal
Especificar una programación inicial Seleccionar una unidad candidata para
ser asignada Seleccionar un recurso para esta unidad Asignar la unidad al recurso seleccionado Evaluar la programación actual Modificar la programación si fuera
necesario
CommonKADS course Template knowledge models 52
Programación:estructura de inferencia
CommonKADS course Template knowledge models 53
Programación:control del método
specify(jobs -> schedule);
while new-solution select(schedule -> candidate-unit) do select(candidate-unit + schedule -> target-resource); assign(candidate-unit + target-resource -> schedule); evaluate(schedule -> truth-value); if truth-value = false then
modify(schedule -> schedule);end while
CommonKADS course Template knowledge models 54
Programación: variaciones del método
Método constructivo versus de reparación
El refinamiento es a menudo necesario
CommonKADS course Template knowledge models 55
Programación: esquema típico de conocimiento del dominio
CommonKADS course Template knowledge models 56
Combinaciones típicas de tareas
Monitorización + diagnosis Monitorización + valoración Diagnosis + planificación Planificación + programación Valoración + planificación Clasificación + planificación
Recommended