profesor: Luigi Ceccaroni

Slides:



Advertisements
Presentaciones similares
MOVIMIENTO JOVENES DE LA CALLE CIUDAD DE GUATEMALA chi siamo quienes-somos qui sommes-nous who we are attività actividades activités activities scuola.
Advertisements

SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR
ESTUDIOS DE LINEA DE BASE Metodologías Participativas II Reunión Anual de la Red Latinpapa Cochabamba-Bolivia, 25 al 28 Febrero del 2009 Grupo de impacto.
Jacqueline Chávez Cuzcano
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS ( Resumen PYMES ) Noviembre de 2004.
TEMA 2 MÚLTIPLOS Y DIVISORES
02- Plan Organización Docente v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
02- PLAN DOCENTE Febrero 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
01- OFERTA FORMATIVA v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
Programación entera En muchos problemas reales las variables sólo pueden tomar valores enteros Ejemplos: decisiones sobre inversiones, compras, arranques,
Inteligencia Artificial
Fundamentos de Diseño de Software INFT.1
Metodología de la Investigación Social
CICLO DE VIDA DEL DESARROLLO DE SOFTWARE
CICLO DE VIDA DE LOS SISTEMAS DE INFORMACIÓN
ESTIMACIÓN DEL ESFUERZO EN EL DESARROLLO DE SOFTWARE
PROCESO Y MODELOS EN LA INGENIERIA DE SOFTWARE
ANÁLISIS DE REQUERIMIENTOS
GESTION por COMPETENCIAS
Resolución de Problemas
50 principios La Agenda 1.- Presentar un único interlocutor a los clientes. 2.- Tratar de modo distinto a las diferentes clases de clientes. 3.- Saber.
COLEGIO DE CONTADORES DE CHILE
EL OSO APRENDIZ Y SUS AMIGOS
50 principios 1. Los clientes asumen el mando.
Capítulo: 9 Inventarios.
Juan Andrada Romero José Domingo López López
Proceso de Originación de Crédito: Banco de los Alpes
Investigación Algorítmica
CONCEPTOS Y PRINCIPIOS DE DISEÑO
Proyecto Fin de Carrera E.T.S. Ingeniería Informática 26 de Septiembre de 2006 DESARROLLO DE UN COMPONENTE TECLADO ALUMNO: Fco. Javier Sánchez Ramos TUTORES:
Inteligencia Artificial Búsqueda informada y exploración
Ingeniería del Software
Ingeniería del Software
Inteligencia Artificial Adquisición automática del conocimiento
Reunión de los requerimientos de la red
La transformada de Laplace
M.S.C. Ivette Hernández Dávila
1 ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL PRESENTACIÓN DE LA TESIS Presentada por: Guayaquil, Noviembre 2007 ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL.
1 Escenarios Futuros Ingeniería de Requisitos. 2 Obtener Requisitos Explícitos Comprender el UdeD Actual Definir Requisitos del SW Comprender el UdeD.
Inteligencia Artificial Resolver problemas mediante búsqueda
Inteligencia Artificial Resolver problemas mediante búsqueda
Recursos humanos y responsabilidad social corporativa
1 LOS PROBLEMAS DE DISEÑO EN INGENIERÍA: CONCEPTO Y FORMULACIÓN NELSON VÍLCHEZ UNIVERSIDAD TECNOLÓGICA DEL CENTRO COORDINACIÓN DE INGENIERÍA.
Derivación de Contraejemplos para Model Checking Cuantitativo
FUNDAMENTOS DE CALIDAD EN LA GESTIÓN PÚBLICA
profesor: Luigi Ceccaroni
CONCEPTOS BÁSICOS Diseño de Sistemas.
Administración Proyectos Jorge Baracaldo Robin Ochoa.
Sistemas Basados en Conocimiento (Knowledge Based Systems) Lic. Mario G. Oloriz Agosto 2004.
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
Estudio de Viabilidad del Sistema (EVS)
Diseño de Sistemas Expertos
Capitulo 1 Roger S. Presman
METODOLOGIAS DE DESARROLLO DE SOFTWARE
Introducción al proceso de verificación y validación.
INGENIERIA DEL CONOCIMIENTO Toribio Sarmiento Miguel Sesarego Cruz Rosmery.
Actividades en el Proceso de desarrollo de Software
Modelo Prescriptivos de proceso
Ramas de I.A. ROBOTICA SISTEMAS DE VISION SISTEMAS EXPERTOS
Ciclo de Vida del Software
Proceso de desarrollo de Software
CONCEPTO DE CICLO DE VIDA 1 En los departamentos de Sistemas se debe definir un marco de referencia común que debe ser:  Pueda ser empleado por todos.
República Bolivariana de Venezuela Universidad Nacional Experimental Politécnica de la Fuerza Armada (UNEFA) Carrera: Ingeniería de Sistemas Cátedra: Análisis.
60´s Inicio de los Sistemas Expertos Se buscaban soluciones generales 70´s Los sistemas son más eficientes en dominios acotados La calidad y cantidad.
Fundamentos de Computación
ANALISIS DE SISTEMAS PROFESOR HECTOR ARCIA.
Modelo de procesos de software
Inteligencia Artificial Ingeniería del conocimiento y metodologías de resolución de problemas Primavera 2008 profesor: Luigi Ceccaroni.
Transcripción de la presentación:

profesor: Luigi Ceccaroni 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

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

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

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.

Ciclo de vida de un SBC

Ciclo de vida de un SBC Análisis del problema: Recopilar información sobre el proyecto y determinar su viabilidad. Especiación de requerimientos: Fijar los objetivos y métodos para conseguirlos. Diseño preliminar: Decisiones a alto nivel sobre el diseño formalismo de representación del conocimiento herramientas fuentes de conocimiento

Ciclo de vida de un SBC Prototipo inicial y evaluación: Construir un prototipo con cobertura limitada; evaluar las decisiones de diseño a partir del prototipo. Diseño final: Validar las decisiones y proponer el diseño del sistema de manera que permita un desarrollo incremental.

Ciclo de vida de un SBC Implementación: Completar la adquisición del conocimiento, ampliar incrementalmente el prototipo inicial. Validación y verificación: Comprobar que el sistema cumple las especificaciones. Ajustes de diseño: Realimentar el proceso. Los cambios en el diseño deben se mínimos Mantenimiento del sistema

Una metodología simplificada Para aplicaciones pequeñas se puede aplicar una metodología en cascada que integra todo el proceso de desarrollo: Identificación del problema Conceptualización Formalización Implementación Validación y prueba

Fases de la ingeniería del conocimiento Inicio [Buchanan et al., 1983] Identificación Reformulación Requerimientos Conceptualización Conceptos Formalización Rediseño Estructura Implementación Refinamiento Reglas Prueba

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

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

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

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

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)

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

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

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

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.

Clasificación heurística Datos abstractos Soluciones abstractas Asociación heurística Refinamiento y adaptación de la solución Abstracción de datos Datos concretos del problema Soluciones concretas

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

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)

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

Clasificación heurística: ejemplos HUÉSPED PREDISPUESTO A LA INFECCIÓN INFECCIÓN POR BACTERIAS GRAMNEGATIVAS PACIENTE INMUNODEFICIENTE Otros datos LEUCOPENIA INFECCIÓN POR Escherichia coli NIVEL DE LEUCOCITOS BAJO [MYCIN] Nº LEUCOCITOS < 2.5 M

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

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

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

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

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

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 …

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.

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

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

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á

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

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.

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

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)

Proponer y aplicar 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 solución. Seleccionar un operador: se selecciona el mejor de los operadores evaluados. Aplicar el operador: se aplica el operador seleccionado. Evaluar el objetivo: si ya se ha llegado al objetivo se para, si no se vuelve al paso 2.

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

Menor compromiso Si es posible, comenzar con una “solución” completa (o parcial) (que satisfaga las restricciones), si no comenzar desde cero. Modificar la solución parcial aplicando el heurístico del menor compromiso: “escoger el operador que imponga menos restricciones sobre las acciones futuras”. 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. Si se ha llegado al objetivo se para, si no se vuelve al paso 2.