Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas...

44
Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni

Transcript of Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas...

Page 1: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Inteligencia Artificial Ingeniería del conocimiento y

metodologías de resolución de problemas

Primavera 2009

profesor: Luigi Ceccaroni

Page 2: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Fases de la ingeniería del software: modelo en cascada

2

Page 3: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Fases de la ingeniería del software: modelo en espiral

3

Page 4: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Diferencias de los SBCs

• Sistemas software convencionales:– Algoritmos conocidos y de uso común– Fácil estimar la naturaleza y cantidad del

conocimiento

• SBC:– Conocimiento:

• Incompleto• Impreciso•Heurístico

– Difícil estimar la naturaleza y cantidad del conocimiento

4

Page 5: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Diferencias de los SBCs

• 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 la implementación se limitan al prototipo inicial.

• Este prototipo se completa incrementalmente• Ventaja: se dispone de un sistema funcional

durante todo el proceso. 5

Page 6: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Ciclo de vida de un SBC

6

Page 7: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Ciclo de vida de un SBC

1. Análisis del problema: Recopilar información sobre el proyecto y determinar su viabilidad.

2. Especiació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 7

Page 8: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Ciclo de vida de un SBC

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 desarrollo incremental.

8

Page 9: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Ciclo de vida de un SBC

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 deben se mínimos

9. Mantenimiento del sistema9

Page 10: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

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

5. Validación y prueba

10

Page 11: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

11

Fases de la ingeniería del conocimiento

Prueba

Identificación

Conceptualización

Formalización

Implementación

Requerimientos

Conceptos

Estructura

Reglas

Reformulación

Rediseño

Refinamiento

[Buchanan et al., 1983] Inicio

Page 12: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

12

Identificación

• Viabilidad de la construcción del sistema basado en el conocimiento (SBC)

• Búsqueda de les fuentes de conocimiento (expertos, libros, artículos)

• Determinación de los datos necesarios para resolver el problema

• Determinación de los objetivos (soluciones) y de los criterios que determinan la solución

Page 13: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Conceptualización

• Esta fase debe proporcionar la perspectiva del problema desde el punto de vista del experto:– Detallar los elementos básicos para

caracterizar el dominio (hechos relevantes) y su relaciones: borrador ontología

– Detallar y distinguir entre evidencias, hipótesis y acciones y descubrir sus relaciones.

– Descomponer el problema en sub-problemas– Caracterizar el sistema de razonamiento

13

Page 14: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Formalización

• Esta fase transforma la perspectiva del experto en la perspectiva del ingeniero del conocimiento:– Determinar los esquemas de razonamiento

necesarios:• clasificación, diagnosis, planificación temporal, estructuras

causales

– Identificar el espacio de búsqueda y el tipo de búsqueda

– Identificar la metodología de la resolución:• clasificación heurística, resolución constructiva, hipótesis y

prueba jerárquica

– Analizar la necesidad de tratamiento de la inexactitud (incertidumbre, imprecisión) y la completitud

14

Page 15: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Implementación

• Ontología formal y completa• Base de hechos• Estructura modular de la base de

conocimiento• Reglas de inferencia de los módulos• Decisiones sobre el control de la

resolución– Meta-reglas

15

Page 16: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

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

Page 17: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Clasificación de los SBC según las tareas

[Hayes-Roth et al., 1983] – Sistemas de interpretación– Sistemas de predicción– Sistemas de diagnóstico– Sistemas de diseño– Sistemas de planificación– Sistemas de supervisión– Sistemas de corrección/reparación– Sistemas de control

17

Page 18: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Clasificación de los SBC según las tareas

[Clancey, 1985]

18

Tareas genéricas

Operaciones de análisis: interpretación de un sistema

Operaciones de síntesis:construcción de un sistema

Page 19: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Metodologías de resolución de problemas

[Jackson, 1990]

19

Clasificación heurística

Formación de hipótesis y pruebas organizadas jerárquicamente

Resolución de problemas constructiva

Page 20: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Clasificación heurística

• Es una asociación no jerárquica entre datos y soluciones, que requiere inferencias intermedias.

• Tiene que existir un conjunto finito de soluciones a priori.

• Es aplicable en operaciones de análisis:– clasificaciones, diagnosis, identificaciones, monitoreo

• Se usa en problemas complejos.• Si el problema es simple, una asociación directa

entre los datos i las soluciones es suficiente.

20

Page 21: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Clasificación heurística

21

Datos concretos

del problema

Datos abstractos

Soluciones abstractas

Solucionesconcretas

Asociación heurística

Abstracción de datos

Refinamiento y adaptación de la solución

Page 22: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Clasificación heurística

• Abstracción de datos– Abstraer los datos del caso concreto para

obtener un caso más general– Tipos de abstracción/generalización:

•Abstracción basada en la definición: abstraer características esenciales a partir de una clase de objetos (taxonomía)

•Abstracción 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

Page 23: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Clasificación heurística

• Asociación heurística (matching)– Determinar las relaciones/coincidencias entre

casos abstractos y soluciones abstractas– Ejemplo:

•Si Temperatura (x) es alta entonces tiene-fiebre (x)

23

Page 24: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Clasificación heurística

• Refinamiento/adaptación de la solución– 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

Page 25: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Clasificación heurística: ejemplos

25Nº LEUCOCITOS < 2.5 M

LEUCOPENIA

NIVEL DE LEUCOCITOSBAJO

PACIENTE INMUNODEFICIENTE

HUÉSPED PREDISPUESTOA LA INFECCIÓN

INFECCIÓN POR BACTERIASGRAMNEGATIVAS

INFECCIÓN POREscherichia coli

[MYCIN]

Otros datos

Page 26: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Clasificación heurística: ejemplos

Concesión de créditos para fundar una nueva empresa

• Atributos (ejemplos)– Apoyo financiero (tiene avales, es-rico...)

– Petición concreta

– Bienes (cuentas-corrientes, casas, coches, yates...)

– Fiabilidad-de-la-devolución (morosidad, cheques-sin-fondos...)

– Compromiso (créditos-anteriores...)

• Soluciones– Denegación

– Aceptación

– Aceptación con rebaja

– Aceptación con interés preferente26

Page 27: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Clasificación heurística: ejemplos

• Reglas de abstracción (ejemplos):– Bienes < 10 * petición → Bienes insuficientes– Bienes ≥ 10 * petición Bienes < 20 * ∧

petición → Bienes suficientes– Bienes ≥ 20 * petición → Bienes excelentes– Avales ≥ 10 * petición Es-rico → Apoyo-∨

financiero bueno– Avales < 10 * petición Avales ≥ petición → ∧

Apoyo-financiero moderado

27

Page 28: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Clasificación heurística: ejemplos

• Reglas de abstracción (ejemplos):– Cheques-sin-fondos Moroso → Fiabilidad-∨

de-la-devolución baja– Empresa es churrería Empresa es tienda de ∨

roba → Viabilidad buena– Empresa es hamburguesería cerca de

universidad → Viabilidad buena– Crédito < petición → Compromiso bajo– Crédito ≥ petición Crédito < 10 * petición → ∧

Compromiso mediano28

Page 29: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Clasificación heurística: ejemplos

• Reglas de asociación heurística (ejemplos):– Apoyo-financiero bajo Bienes insuficientes ∧

→ Denegación– Apoyo-financiero moderado Bienes ∧

suficientes → Aceptación con rebaja – Apoyo-financiero bueno Bienes suficientes ∧

Compromiso mediano Viabilidad buena ∧ ∧→ Aceptación

– Apoyo-financiero bueno Bienes excelentes ∧ Compromiso alto Viabilidad muy buena ∧ ∧

→ Aceptación con interés preferente 29

Page 30: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Clasificación heurística: ejemplos

• Regles de refinamiento/adaptación de las soluciones (ejemplos):– Aceptación con rebaja Petición < 500k € ∧ ∧

Bienes < 5 * Petición → Rebaja a 0.6 * Petición

– Aceptación con interés preferente Petición ≥ ∧500k € Bienes ≥ 10 * Petición → Interés ∧preferente: 2% inferior al del mercado

30

Page 31: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Clasificación heurística: ejemplos

Page 32: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Resolución 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 síntesis:– Planificación– Diseño– Diagnosis de múltiples fallos – …

32

Page 33: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Resolución constructiva

• Las soluciones son combinaciones de ciertos elementos que satisfacen unas restricciones:– Planificación: Los elementos son acciones y

las soluciones secuencias de acciones que consiguen un cierto objetivo.

– Diseño: Los elementos son componentes y las soluciones combinaciones de componentes que forman un objeto complejo.

– Diagnosis de múltiples fallos: Los elementos son fallos y las soluciones conjuntos de fallos que concuerdan con los síntomas.

33

Page 34: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Resolución constructiva

• La construcción de la solución 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

Page 35: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Resolución constructiva

• Les restricciones pueden ser:– Sobre la configuración de los componentes de

la solución• Restricciones físicas/espaciales: “cómo se puede

coger un objeto”, “no se puede colocar un objeto en un cierto lugar”,...

• Restricciones temporales: qué acción se hace primero...

– Sobre las entradas/salidas de los procesos constructivos• Pre-condiciones y post-condiciones de

operadores/acciones35

Page 36: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Resolución constructiva: ejemplo

• Planificación de la trayectoria (óptima) de un robot para salir de una habitación con obstáculos– Operadores/acciones

•Avanzar (m)•Girar (grados)•Retroceder (m)

– Restricciones•No puede chocar con ningún obstáculo.•Al final tiene que estar en la salida.•Puede hacer sólo los movimientos que indiquen los

operadores.

R

Page 37: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Resolución constructiva: ejemplo

• Configurar/colocar un conjunto de muebles/objetos en una habitación– Operadores/acciones

• Colocar (mueble, posición)

• Quitar (mueble, posición)

• Intercambiar (mueble1, mueble2)

• Desplazar (mueble, posición 1, posición 2)

– Restricciones• No se pueden tapar puertas y ventanas de la habitación

• Al final se tienen que haber colocado todos los muebles

• Delante de la pantalla de la Wii tiene que haber un espacio vacío de 10 m2.

Wii

Sofá

Page 38: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Sub-métodos de resolución 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 solución parcial inicial o desde cero 38

Page 39: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Proponer y aplicar

• Se busca en el espacio de soluciones parciales.

• Se parte de una solución inicial vacía o una solución incompleta.

• Cada paso va completando la solución.• Siempre se elige el mejor operador.• Nos mantenemos en el espacio de

soluciones.

39

Page 40: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

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

40

Page 41: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Proponer y aplicar

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

41

Page 42: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Proponer y aplicar

1. Inicializar el objetivo (de la tarea a alcanzar): se crean los elementos necesarios para identificar el estado inicial.

2. Proponer operadores: se proponen todos los operadores que pueden actuar sobre el estado actual.

3. Eliminar operadores: se eliminan ciertos operadores de acuerdo con criterios globales.

4. Evaluar operadores: se comparan los efectos de los operadores sobre la solución.

5. Seleccionar un operador: se selecciona el mejor de los operadores evaluados.

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

Page 43: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Menor compromiso

• En general, se explora el espacio de soluciones completas.

• Se modifica la solución mejorándola o corrigiéndola.

• La elección del operador a aplicar la define la estrategia de mínimo compromiso.

• Se permite pasar entre el espacio de soluciones y no soluciones

43

Page 44: Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2009 profesor: Luigi Ceccaroni.

Menor compromiso

1. Si es posible, comenzar con una “solución” completa (o parcial) (que satisfaga las restricciones), si no comenzar desde cero.

2. Modificar la solución parcial aplicando el heurístico del menor compromiso: “escoger el operador que imponga menos restricciones sobre las acciones futuras”.

3. Si la modificación anterior viola alguna restricción entonces proponer algún cambio deshaciendo alguno de los pasos anteriores, procurando que las modificaciones sean mínimas.

4. Si se ha llegado al objetivo se para, si no se vuelve al paso 2.

44