You are on page 1of 44

Inteligencia Artificial

Ingeniera del conocimiento y metodologas de resolucin de problemas


Primavera 2009
profesor: Luigi Ceccaroni

Fases de la ingeniera del software: modelo en cascada

Fases de la ingeniera del software: modelo en espiral

Diferencias de los SBCs


Sistemas software convencionales:
Algoritmos conocidos y de uso comn Fcil estimar la naturaleza y cantidad del conocimiento

SBC:
Conocimiento:
Incompleto Impreciso Heurstico

Difcil estimar la naturaleza y cantidad del conocimiento 4

Diferencias de los SBCs


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 la implementacin se limitan al prototipo inicial. Este prototipo se completa incrementalmente Ventaja: se dispone de un sistema funcional durante todo el proceso. 5

Ciclo de vida de un SBC

Ciclo de vida de un SBC


1. Anlisis del problema: Recopilar informacin sobre el proyecto y determinar su viabilidad. 2. Especiacin 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

Ciclo de vida de un SBC


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

Ciclo de vida de un SBC


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 deben se mnimos

9. Mantenimiento del sistema


9

Una metodologa simplificada


Para aplicaciones pequeas se puede aplicar una metodologa en cascada que integra todo el proceso de desarrollo:
1. 2. 3. 4. 5. Identificacin del problema Conceptualizacin Formalizacin Implementacin Validacin y prueba
10

Fases de la ingeniera del conocimiento


[Buchanan et al., 1983] Reformulacin Inicio Identificacin Requerimientos Conceptualizacin Conceptos Rediseo Formalizacin

Estructura
Refinamiento Implementacin

Reglas
Prueba
11

Identificacin
Viabilidad de la construccin del sistema basado en el conocimiento (SBC) Bsqueda de les fuentes de conocimiento (expertos, libros, artculos) Determinacin de los datos necesarios para resolver el problema Determinacin de los objetivos (soluciones) y de los criterios que determinan la solucin
12

Conceptualizacin
Esta fase debe proporcionar la perspectiva del problema desde el punto de vista del experto:
Detallar los elementos bsicos para caracterizar el dominio (hechos relevantes) y su relaciones: borrador ontologa Detallar y distinguir entre evidencias, hiptesis y acciones y descubrir sus relaciones. Descomponer el problema en sub-problemas Caracterizar el sistema de razonamiento
13

Formalizacin
Esta fase transforma la perspectiva del experto en la perspectiva del ingeniero del conocimiento:
Determinar los esquemas de razonamiento necesarios:
clasificacin, diagnosis, planificacin temporal, estructuras causales

Identificar el espacio de bsqueda y el tipo de bsqueda Identificar la metodologa de la resolucin:


clasificacin heurstica, resolucin constructiva, hiptesis y prueba jerrquica

Analizar la necesidad de tratamiento de la inexactitud (incertidumbre, imprecisin) y la completitud


14

Implementacin
Ontologa formal y completa Base de hechos Estructura modular de la base de conocimiento Reglas de inferencia de los mdulos Decisiones sobre el control de la resolucin
Meta-reglas
15

Validacin y prueba
Determinar un conjunto de casos de prueba y resolverlos mediante el sistema. Evaluar el funcionamiento del sistema (prototipo): exactitud, completitud, credibilidad (explicaciones)

16

Clasificacin de los SBC segn las tareas


[Hayes-Roth et al., 1983]
Sistemas de interpretacin Sistemas de prediccin Sistemas de diagnstico Sistemas de diseo Sistemas de planificacin Sistemas de supervisin Sistemas de correccin/reparacin Sistemas de control
17

Clasificacin de los SBC segn las tareas


[Clancey, 1985] Operaciones de anlisis: interpretacin de un sistema
Tareas genricas

Operaciones de sntesis: construccin de un sistema

18

Metodologas de resolucin de problemas


[Jackson, 1990]
Clasificacin heurstica

Resolucin de problemas constructiva

Formacin de hiptesis y pruebas organizadas jerrquicamente 19

Clasificacin heurstica
Es una asociacin no jerrquica entre datos y soluciones, que requiere inferencias intermedias. Tiene que existir un conjunto finito de soluciones a priori. Es aplicable en operaciones de anlisis:
clasificaciones, diagnosis, identificaciones, monitoreo

Se usa en problemas complejos. Si el problema es simple, una asociacin directa entre los datos i las soluciones es suficiente.
20

Clasificacin heurstica
Datos abstractos
Asociacin heurstica

Soluciones abstractas

Abstraccin de datos

Refinamiento y adaptacin de la solucin

Datos concretos del problema

Soluciones concretas
21

Clasificacin heurstica
Abstraccin de datos
Abstraer los datos del caso concreto para obtener un caso ms general Tipos de abstraccin/generalizacin:
Abstraccin basada en la definicin: abstraer caractersticas esenciales a partir de una clase de objetos (taxonoma) Abstraccin cualitativa: abstraer sobre medidas cuantitativas para pasar a medidas cualitativas
Temperatura (P) = 38 C Si Temperatura (x) > 37.5 C entonces Temperatura (x) es alta

22

Clasificacin heurstica
Asociacin heurstica (matching)
Determinar las relaciones/coincidencias entre casos abstractos y soluciones abstractas Ejemplo:
Si Temperatura (x) es alta entonces tiene-fiebre (x)

23

Clasificacin heurstica
Refinamiento/adaptacin de la solucin
Identificar las soluciones concretas a partir de las soluciones abstractas y ciertos datos complementarios Excluir soluciones poco probables Ejemplo:
Si tiene-fiebre (x) otros datos entonces tiene-gripe (x) P tiene-gripe
24

Clasificacin heurstica: ejemplos


HUSPED PREDISPUESTO A LA INFECCIN PACIENTE INMUNODEFICIENTE Otros datos
INFECCIN POR BACTERIAS GRAMNEGATIVAS

LEUCOPENIA
NIVEL DE LEUCOCITOS BAJO

INFECCIN POR Escherichia coli

[MYCIN]
N LEUCOCITOS < 2.5 M
25

Clasificacin heurstica: ejemplos


Concesin de crditos para fundar una nueva empresa Atributos (ejemplos)

Apoyo financiero (tiene avales, es-rico...) Peticin concreta Bienes (cuentas-corrientes, casas, coches, yates...) Fiabilidad-de-la-devolucin (morosidad, cheques-sin-fondos...) Compromiso (crditos-anteriores...)
Denegacin Aceptacin Aceptacin con rebaja Aceptacin con inters preferente

Soluciones

26

Clasificacin heurstica: ejemplos


Reglas de abstraccin (ejemplos):
Bienes < 10 * peticin Bienes insuficientes Bienes 10 * peticin Bienes < 20 * peticin Bienes suficientes Bienes 20 * peticin Bienes excelentes Avales 10 * peticin Es-rico Apoyofinanciero bueno Avales < 10 * peticin Avales peticin Apoyo-financiero moderado
27

Clasificacin heurstica: ejemplos


Reglas de abstraccin (ejemplos):
Cheques-sin-fondos Moroso Fiabilidadde-la-devolucin baja Empresa es churrera Empresa es tienda de roba Viabilidad buena Empresa es hamburguesera cerca de universidad Viabilidad buena Crdito < peticin Compromiso bajo Crdito peticin Crdito < 10 * peticin Compromiso mediano
28

Clasificacin heurstica: ejemplos


Reglas de asociacin heurstica (ejemplos):
Apoyo-financiero bajo Bienes insuficientes Denegacin Apoyo-financiero moderado Bienes suficientes Aceptacin con rebaja Apoyo-financiero bueno Bienes suficientes Compromiso mediano Viabilidad buena Aceptacin Apoyo-financiero bueno Bienes excelentes Compromiso alto Viabilidad muy buena 29 Aceptacin con inters preferente

Clasificacin heurstica: ejemplos


Regles de refinamiento/adaptacin de las soluciones (ejemplos):
Aceptacin con rebaja Peticin < 500k Bienes < 5 * Peticin Rebaja a 0.6 * Peticin Aceptacin con inters preferente Peticin 500k Bienes 10 * Peticin Inters preferente: 2% inferior al del mercado

30

Clasificacin heurstica: ejemplos

Resolucin constructiva
No se pueden determinar a priori las soluciones, que pueden ser infinitas. Las soluciones se tienen que construir, y no seleccionar una entre varias posibles. Es aplicable en operaciones de sntesis:
Planificacin Diseo Diagnosis de mltiples fallos

32

Resolucin constructiva
Las soluciones son combinaciones de ciertos elementos que satisfacen unas restricciones:
Planificacin: Los elementos son acciones y las soluciones secuencias de acciones que consiguen un cierto objetivo. Diseo: Los elementos son componentes y las soluciones combinaciones de componentes que forman un objeto complejo. Diagnosis de mltiples fallos: Los elementos son fallos y las soluciones conjuntos de fallos que concuerdan con los sntomas.
33

Resolucin constructiva
La construccin de la solucin implica tener:
Un modelo de la estructura del objeto complejo Un modelo del comportamiento del objeto complejo Un conjunto de restricciones sobre el objeto complejo

34

Resolucin constructiva
Les restricciones pueden ser:
Sobre la configuracin de los componentes de la solucin
Restricciones fsicas/espaciales: cmo se puede coger un objeto, no se puede colocar un objeto en un cierto lugar,... Restricciones temporales: qu accin se hace primero...

Sobre las entradas/salidas de los procesos constructivos


Pre-condiciones y post-condiciones de operadores/acciones
35

Resolucin constructiva: ejemplo


Planificacin de la trayectoria (ptima) de un robot para salir de una habitacin con obstculos
Operadores/acciones
Avanzar (m) Girar (grados) Retroceder (m)

Restricciones
No puede chocar con ningn obstculo. Al final tiene que estar en la salida. Puede hacer slo los movimientos que indiquen los operadores.

Resolucin constructiva: ejemplo


Configurar/colocar un conjunto de muebles/objetos en una habitacin
Operadores/acciones

Wii

Colocar (mueble, posicin) Quitar (mueble, posicin) Sof Intercambiar (mueble1, mueble2) Desplazar (mueble, posicin 1, posicin 2)

Restricciones
No se pueden tapar puertas y ventanas de la habitacin Al final se tienen que haber colocado todos los muebles Delante de la pantalla de la Wii tiene que haber un espacio vaco de 10 m2.

Sub-mtodos de resolucin constructiva


Proponer y aplicar
Seleccionar un operador para extender soluciones parciales, partiendo desde cero

Menor compromiso
Seleccionar el operador de menor compromiso para extender soluciones parciales, partiendo de una solucin parcial 38 inicial o desde cero

Proponer y aplicar
Se busca en el espacio de soluciones parciales. Se parte de una solucin inicial vaca o una solucin incompleta. Cada paso va completando la solucin. Siempre se elige el mejor operador. Nos mantenemos en el espacio de soluciones.
39

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
40

Proponer y aplicar
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)

41

Proponer y aplicar
1. 2. 3. 4. 5. 6. Inicializar el objetivo (de la tarea a alcanzar): se crean los elementos necesarios para identificar el estado inicial. Proponer operadores: se proponen todos los operadores que pueden actuar sobre el estado actual. Eliminar operadores: se eliminan ciertos operadores de acuerdo con criterios globales. Evaluar operadores: se comparan los efectos de los operadores sobre la solucin. Seleccionar un operador: se selecciona el mejor de los operadores evaluados. Aplicar el operador: se aplica el operador seleccionado.

7.

Evaluar el objetivo: si ya se ha llegado al objetivo se para, si no se vuelve al paso 2.


42

Menor compromiso
En general, se explora el espacio de soluciones completas. Se modifica la solucin mejorndola o corrigindola. La eleccin del operador a aplicar la define la estrategia de mnimo compromiso. Se permite pasar entre el espacio de soluciones y no soluciones
43

Menor compromiso
1. Si es posible, comenzar con una solucin completa (o parcial) (que satisfaga las restricciones), si no comenzar desde cero. 2. Modificar la solucin parcial aplicando el heurstico del menor compromiso: escoger el operador que imponga menos restricciones sobre las acciones futuras. 3. Si la modificacin anterior viola alguna restriccin entonces proponer algn cambio deshaciendo alguno de los pasos anteriores, procurando que las modificaciones sean mnimas. 4. Si se ha llegado al objetivo se para, si no se vuelve al paso 2.
44