Inteligencia Artificial by 67qd0Aqf

VIEWS: 35 PAGES: 44

									         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
 Fases de la ingeniería del
software: modelo en espiral




                         3
     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
     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
Ciclo de vida de un SBC




                      6
     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
     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
     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 sistema
                                       9
 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
 Fases de la ingeniería del
      conocimiento
[Buchanan et al., 1983]              Inicio

                                  Identificación
                Reformulación
                                         Requerimientos
                                Conceptualización
                                         Conceptos

                Rediseño         Formalización
                                         Estructura
                                Implementación
                Refinamiento
                                         Reglas
                                      Prueba          11
            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
                                     12
         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
                  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
           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
        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
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
Clasificación de los SBC según
           las tareas
[Clancey, 1985]
                      Operaciones de análisis:
                    interpretación de un sistema
 Tareas genéricas



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


                                       18
 Metodologías de resolución de
          problemas
[Jackson, 1990]

                 Clasificación heurística



               Resolución de problemas constructiva



    Formación de hipótesis y pruebas organizadas
    jerárquicamente                            19
       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
    Clasificación heurística

   Datos             Asociación heurística      Soluciones
 abstractos                                     abstractas

                                       Refinamiento
       Abstracción                     y adaptación
        de datos                       de la solución


   Datos
 concretos                                      Soluciones
del problema                                    concretas

                                                        21
      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
      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
       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
    Clasificación heurística:
            ejemplos
HUÉSPED PREDISPUESTO            INFECCIÓN POR BACTERIAS
   A LA INFECCIÓN                   GRAMNEGATIVAS


      PACIENTE
  INMUNODEFICIENTE
                         Otros datos
     LEUCOPENIA
                                       INFECCIÓN POR
NIVEL DE LEUCOCITOS                     Escherichia coli
        BAJO

                                          [MYCIN]
 Nº LEUCOCITOS < 2.5 M
                                                       25
         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 preferente
                                                             26
      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
      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 mediano
                                           28
      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 →
                                            29
    Aceptación con interés preferente
      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
Clasificación heurística:
        ejemplos
       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
     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
     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
      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    35
      operadores/acciones
     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)      R
    • 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.
         Resolución constructiva:
                ejemplo
• Configurar/colocar un conjunto de
  muebles/objetos en una habitación
  – Operadores/acciones                        Wii
     •   Colocar (mueble, posición)
     •   Quitar (mueble, posición)
     •   Intercambiar (mueble1, mueble2)      Sofá
     •   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.
   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
         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
         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
          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
                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
        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
            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

								
To top