Tema 2: Diseño y Construccion de Sistemas de Ayuda a la Decision



Documentos relacionados
INTRODUCCION AL DISEÑO EDUCATIVO Andrea Paola Leal Rivero. La Academia al servicio de la Vida

M.C. Mariano Larios G. 3 de diciembre de 2009

Inteligencia Artificial. Sistemas Expertos. Presentado por: Marcel Castro

Intensificación en "Lenguajes e Inteligencia Artificial"

Arquitectura Sistema Experto

Inteligencia Artificial (EC5)

Tecnología hardware y software

Implementación en la UV de un Sistema Experto para el apoyo en la solución de problemas en un sistema de educación en línea

Perfil de la carrera Licenciatura en Computación Inteligencia Artificial

Construcción ágil de la Usabilidad

Pruebas de Software. Agenda. Pruebas de Programas Los Niveles de Prueba Diseño de Casos de Prueba

Proceso Unificado de Desarrollo de Software. 13 de sep de 2006

SISTEMA EXPERTO (SE)

INTERFACES INTELIGENTES. ING. MA. MARGARITA LABASTIDA ROLDÁN E mail:

FACULTAD DE INGENIERÍA

ANÁLISIS DE SISTEMAS. Prof. Eliz Mora

Comunicación Hombre Máquina

Matriz de Competencias THEME Mecatrónica con Competencias Parciales/ Unidades de Resultados de Aprendizaje

Resolución general de problemas

Introducción a la Ingeniería de Software. Informática Empresarial, UCR IF 7100 Ingeniería de Software

Ingeniería a de Software CC51A

CAPITULO I... 1 INTRODUCCION ANTECEDENTES Y ORIGENES DE LA ROBOTICA LEYES PARA LA ROBOTICA... 4

La Inteligencia de Negocios y la Gerencia Estrategica

LABORATORIO DE INTERACCION HUMANO COMPUTADORA MANUAL DE PRÁCTICAS. Practica #1. Identificación del proyecto a Desarrollar

INGENIERIA DE SOFTWARE ING. FRANCISCO RODRIGUEZ

Calendario escolar y períodos para administrar las unidades de aprendizaje Calendario escolar anual, con dos períodos regulares y un intensivo

Índice general. Introducción... 23

Capítulo 3 CICLO DE VIDA DE UN PROGRAMA. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

PATRONES DE DISEÑO FRAMEWORKS

Universidad de Costa Rica Facultad de Ingeniería Escuela de Ciencias de la Computación e Informática Licenciatura en Computación e Informática

INDICE Parte Uno. Fundamentos de Análisis de Sistemas 1. Asumiendo el Papel del Análisis de Sistemas Conceptos de Diseño y Análisis de Sistemas

ASIGNATURA: INTELIGENCIA ARTIFICIAL

Modelo Neuronal de Estimación para el Esfuerzo de Desarrollo en Proyectos de Software (MONEPS)

Programación Orientada a Objetos

Fundamentos de Programación. Resolución de Problemas y Diseño de Programas. Fundamentos de Programación. Página 0 de 27

PROCESOS PARA LA INGENIERÍA DE SOFTWARE. Facultad de Estadística e Informática

Ing. Juan Carlos Sabido Alcántara Ingeniero Petrolero Facultad de Ingeniería UNAM

Especialista en Inteligencia Artificial para Desarrolladores

Especialista en Inteligencia Artificial para Desarrolladores

El e-learning se define como un sistema de aprendizaje a través de la utilización de medios electrónicos. Este método se basa en la utilización, por

Ingeniero en Informática (BOE: )

Línea de Especialización Control de Sistemas

TEMA 4. PROCESO UNIFICADO

M. C. Felipe Santiago Espinosa

Grado en Ingeniería de Computadores por la Universidad de Málaga Módulo I: Formación Básica

Sistemas Expertos de Primera Generación (I) Introducción a los sistemas expertos

ARQUITECTURA Y DISEÑO DE SISTEMAS CONCEPTOS GENERALES

Software. Programa Paradigmas de programación Cómo se produce software Modelos de procesos Atributos del buen software

Documento de Arquitectura

Representación de Conocimientos

Tema 1: Introduccion a los Sistemas de Ayuda a la Decision

Departamento de Informática Universidad de Valladolid Campus de Segovia TEMA 7, SECCIÓN 1: REQUISITOS SOFTWARE

Representación del conocimiento. Lógica y representación del conocimiento.

CAPÍTULO 2. METODOLOGÍA Y MARCO TEÓRICO. La metodología a seguir en este proyecto se muestra a continuación:

Perfil Profesional en formato de la SETEC

SOFTWARE EDUCATIVO: Clasificación por su función

Programación de la lógica: Se programa el funcionamiento de la aplicación, haciendo uso de los diagramas de clases y de actividad.

Rational Unified Process

Fundamentos de la Ingeniería del Software

Ciclos, Procesos y Metodologías de Desarrollo de Software. Análisis y Diseño de Sistemas de Información UNIDAD 2

SÍLABO DE SISTEMAS EXPERTOS

Tema 3: Decisiones y Decisores

Arquitectura de Software El Rol del Arquitecto de Software

MANUAL DE TALLERES INGENIERÍA DE SOFTWARE

Especialidades en GII-TI

PROCESOS PARA LA INGENIERÍA DE SOFTWARE. Facultad de Estadística e Informática

INFORMACION GENERAL DEL PROGRAMA DE FORMACION DENOMINACIÓN DEL PROGRAMA: PROGRAMACION DE SOFTWARE. Productiva 6 MESES

Máster en Tecnologías de la Información

INTRODUCCIÓN AL DISEÑO DEL SOFTWARE EDUCATIVO. Jakelyne Pineda Liliana Silva

INGENIERÍA DEL SOFTWARE

Experto en Ingenieria Software para la Web

Patrones Arquitectónicos de Software

octubre de 2007 Arquitectura de Software

Tipos de problemas en SBC

Licenciatura en informática

SISTEMAS DE INFORMACIÓN III LABORATORIO

2021: Odisea del Ciberespacio

ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL Facultad de Ingeniería en Electricidad y Computación SYLLABUS DEL CURSO Sistemas de toma de Decisiones

INGENIERÍA DE SOFTWARE. Sesión 8: Tipos de diagramas

JUSTIFICACIÓN: PRE-REQUISITOS: OBJETIVOS GENERALES: * Programa de asignatura propuesto por los Prof. Malinda Coa y Angel Zambrano.

Unidad I: Fundamentos de Ingenieria de Software

Objetivos. Plan. Cambios de grupos Prof. sustituto: Alicia Villanueva

PROFESIONALES [PRESENCIAL]

UNIVERSIDAD SALESIANA DE BOLIVIA ESCUDO DE LA UNIVERSIDAD NOMBRE DEL PROYECTO DE SOFTWARE

Diagramas De Casos De Uso

recomendaciones acerca de la memoria de un PFC

f) Calendario escolar y periodos para administrar las unidades de aprendizaje Calendario escolar anual, con dos periodos regulares y un intensivo

PROYECTO DOCENTE ASIGNATURA "Sistemas multiagente e inteligencia distribuida"

Redes Neuronales Artificiales El Perceptrón

INGENIERÍA DEL SOFTWARE

INSTITUTO TECNOLÓGICO DE TIJUANA

Modulo I: Introducción a las Metodologías

CICLO ESCOLAR ENERO JULIO 2011 (2011-2)

MODELOS PRESCRIPTIVOS

Sistemas Expertos Unidad 3

Solución al parcial 14

Guía para la documentación de proyectos de software

Especificación de requisitos de software

Transcripción:

Tema 2: Diseño y Construccion de Sistemas de Ayuda a la Decision

Procesos de desarrollo de SAD Hay dos formas de desarrollar SAD: Programar un SAD a medida: se puede emplear un lenguaje convencional como C++ o uno de cuarta generacion como Delphi or Visual C. En este caso se puden desarrollar interficies especiales entre el SAD y otras aplicaciones. Emplear un generador de SAD: hay un amplio rango que va desde las hojas de calculo tales como Excel, con alguna adenada, hasta generadores muy sofisticados como MicroStrategy s DSS Architect.

El Proceso de Desarrollo del SAD Cuando el problema esta estructurado se pueden aplicar diversos enfoques al proceso de desarrollo de un SAD: Sistema de desarrollo por el ciclo de vida emplea una serie de fases recursivas, cada una con sus propios inputs, actividades y outputs. Estas fases son Definicion del problema Analisis de factibilidad, Implementacion, y Mantenimiento

El Proceso de Desarrollo del SAD La ventaja mas importante de usar el sistema de desarrollo por el ciclo de vida es la estructura y disciplina que este conlleva. Actualmente es muy usado, sobre todo cuando existe alguna relacion contractual entre el desarrollador del SAD y sus usarios finales La desventaja mas destacable de usar el sistema de desarrollo por el ciclo de vida es su rigidez, ya que los requerimientos en un SAD suelen variar muy rapidamente.

Proceso de Desarrollo Analitico del SAD Ademas del enfoque basado en el ciclo de vida, hay otros dos enfoques de desarrollo relevantes: Analisis ROMC este enfoque pregunta al ingeniero por las representaciones (R), las operaciones (O), los recursos de memoria (M), y los controles (C). Por representaciones entendemos modelos, diagramas y tablas. Analisis de Categorias Funcionales el ingeniero identifica las funciones especificas necesarias para un SAD concreto a partir de una larga lista de funciones disponibles.

Categorias funcionales Seleccion coloca conocimiento dentro de la base de conocimiento para que se pueda usar como input Agregacion creacion u obtencion de estadisticas resumen, tales como promedios o totales Estimacion creacion de modelos de estimacion de parametros Simulacion creacion de conocimiento sobre resultados esperados o consecuencias de acciones especificas Ecualizacion creacion de conocimiento referente a las condiciones necesarias para mantener niveles de consistencia Optimizacion obtencion de los valores de los parametros que verifican mejor un conjunto de medidas de rendimiento

Proceso de Desarrollo de un SAD Para problemas no estructurados, empleamos una estrategia de desarrollo alternativa. Hay siete actividades basicas en este proceso (no todas pueden realizarse en cualquier proyecto). 1. Diagnostico del Problema identificacion formal del contexto del problema 2. Identificacion de objetivos y recursos deben describirse los objetivos especificos y facilitar e identificar los recursos disponibles 3. Analisis del Sistema se establecen tres categorias de exigencias para requerimientos funcionales, de interficie y de coordinacion).

Proceso de Desarrollo de un SAD Las restantes etapas son: 4. Diseño del Sistema se determinan componentes, estructura y plataforma 5. Construccion del Sistema se hace un enfoque prototipico iterativo, con pequeños pero constantes refinamientos 6. Implementacion del Sistema se efectua el testeo, la evaluacion y el despliegue 7. Adaptacion Incremental esta etapa final es el refinamiento continuo de las otras seis anteriores.

Herramientas de Desarrollo de SAD Aunque hay una gran variedad de herramientas para desarrollar SAD, todas ellas pueden ajustarse a tres categorias: 1. Herramientas de desarrollo primario incluyen lenguajes de programacion y mecanismos de consultas a bases de datos. 2. Generadores de SAD estan en un nivel tecnologico superior incorporando distintas funcionalidades, modelizacion de las decisiones y sofisticados metodos de informacion y de gestion de bases de datos. 3. Aplicaciones especificas de los SAD para algunos problemas especificos puede encontrase una gran variedad de paquetes comerciales que pueden adecuarse a las necesidades concretas de cada caso.

Considerar en la Interficie del Usuario Comision de errores que tipo de errrores podra cometer el usuario? Grado de adaptabilidad del sistema servira para usuarios individuales? Gestion de sobrecarga de conocimiento en que medida el SAD necesita recordar cosas en tanto que las esta usando? Grado de comodidad personal en que medida se disfruta del SAD cuando se usa? Grado de tutoria en que medida la interficie tiene que proporcionar consejos, guia y tutoria al usuario?

Secuencia Recomendada para el desarollo de la Interficie Las etapas principales son las siguientes: Etapa 1: conocer los usuariose, que es lo que haran y como haran las tareas que se les encomienden. Etapa 2: Desarrollas un diagrama en el que se incluyan estas tareas, y estudiar como interactuan. Etapa 3: Seleccionar una serie de enfoques para construir interficies basicas e implementarlos. Etapa 4: testear, analizar, actualizar, y prevenir la posibilidad de aparicion de tareas no previstas.

Cabe el razonamiento en los SAD? Cuando el problema, independientemente de su grado de estructura, es repetitivo, conciso, basado en la experiencia y con necesidad de emplear sentido comun, la categoria de los SAD se amplia a la de los Sistemas Expertos El marco teorico se cambia al de la Inteligencia Artificial Se necesitan algunos conceptos nuevos

El Concepto de Experiencia Experiencia: es un conocimiento extenso en un campo muy especifico Sistemas Expertos: Son aplicaciones informáticas que emplean un conjunto de reglas basadas en la experiencia humana para resolver problemas que requieren la experiencia de las personas Inteligencia Artificial: El conjunto de mecanismos practicos que capacitan a los computadores para simular el razonamiento humano

La Inteligencia de la Inteligencia Artificial Como razonan las personas? Categorizacion Reglas especificas Heuristicas Experiencia pasada (casos) Deseos

Como razonan los computadores? Razonamiento basado en reglas: las reglas IF-THEN representan el conocimiento codificado como reglas Marcos: representaciones de situaciones estereotipicas que son tipicas para alguna categoria Razonamiento basado en casos: adapta las soluciones previas al problema que se esta considerando Reconocimiento de patrones: detecta señales (sonidos), formas o secuencias largas

Otras formas de IA Machine learning Redes neuronales y Algoritmos Geneticos Programacion Automatica mecanismos que generan un programa para realizar una tarea especifica (permite a los no programadores programar ) Vida Artificial intenta recrear los fenomenos biologicos con sistemas basados en el uso de Tecnologias de la Informacion y las Comunicaciones

Estructura de un Sistema Experto La estructura basica de un SE es como la estructura generica de un SAD El conocimiento basico es especifico del dominio del problema particular asociado al SE La principal diferencia entre SE y SAD es que el SE contiene conocimiento adquirido a partir de expertos en el dominio de la aplicacion considerada

Arquitectura general de un SE Usuario Ingeniero del Conocimiento Interficie a la Organizacion del Sistema Interficie del Usuario Motor de Inferencia Conocimiento Experto Herramientas Conocimiento Base de Coocimiento Contexto del Usuario Contexto de Desarrollo

Interficie del Usuario en un SE El diseño de esta interficie considera aspectos del usuario como la facilidad de uso, fiabilidad, reduccion de la fatiga Ergonomia El diseño deberia facilitar distintos modos de interaccion (input, control y preguntas) Los mecanismos deberian incluir pantallas tactiles, mandatos por voz,

La Base de Conocimientos Contiene el conocimiento que se ha adquirido de los expertos en un dominio concreto Puede incluir descripciones de objetos, conductas de resolucion de problemas, restricciones, heuristicas e incertidumbres El exito de un SE estriba en lo buena que sea su Base de Conocimiento

El Motor de Inferencia Aqui es donde el conocimiento disponible produce soluciones El motor es capaz de llevar a cabo deducciones o inferencias basadas en reglas o hechos Tambien es capaz de realizar razonamientos inexactos o aproximados basados en otros tipos de informaciones (fuzzy)

Realización de inferencias Hay 3 etapas principales 1. Asociar reglas con los hechos dados 2. Seleccionar la regla que se va a ejecutar 3. Ejecutar la regla añadiendo el consecuente obtenido a la forma de trabajo

Encadenamiento El encadenamiento es un metodo simple usado en los motores de inferencia para producir una linea de razonamiento Encadenamiento hacia adelante: el motor comienza desde el principio de la base hasta que llega a una conclusion final Encadenamiento hacia atras: el motor comienza con un consecuente y obtiene conocimiento que justifica esa conclusion

Ejemplo de encadenamiento hacia adelante Supongamos tres reglas: R1: SI A y B ENTONCES D R2: SI B ENTONCES C R3: SI C y D ENTONCES E Si A y B estan presentes, inferimos D de R1 e inferimos C de R2. Con D y C inferidos, inferimos E de R3.

Ejemplo de ecadenmaiento hacia atras Con las mismas 3 reglas: R1: SI A y B ENTONCES D R2: SI B ENTONCES C R3: SI C y D ENTONCES E Si conocemos E, entonces R3 implica que C y D son ciertas. Por tanto R2 implica que B es cierta (de C) y R1 implica que A y B son ciertas (de D).

Diseño y Construccion de SE Shells de Sistemas Expertos: son sistemas genericos que contienen mecanismos de razonamiento pero que no llevan incorporado ningun conocimiento especifico de ningun dominio Las shells modernas contienen dos modulos basicos: un constructor de reglas y un motor de inferencia Algun ejemplo en http://www.fuzzytech.com

Construccion de un SE Una primera etapa consiste en identificar los tipos de tareas que el sistema realizara (interpretacion, prediccion, monitorizacion, etc.) Otra etapa importante es la eleccion de los expertos que aportaran el conocimiento: lo mas comun es que uno o dos de esos expertos esten integrados en el equipo de desarrollo A diferencia de otros proyectos de diseño de sistemas de informacion mas generales, las plataformas hardware y las herramientas software se seleccionan muy al principio

El factor clave Sea el tipo de sistema que sea (SAD, SE, SIG, ) nunca se pierda la perspectiva de que el factor clave es el usuario del mismo Convendria hacer algunas consideraciones acerca de los decisores y las decisiones, Tipos Contextos Naturaleza de la informacion