Está en la página 1de 28

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
z Definicion del problema
z Analisis de factibilidad,
z Implementacion, y
z 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:
z Etapa 1: conocer los usuariose, que es lo que
haran y como haran las tareas que se les
encomienden.
z Etapa 2: Desarrollas un diagrama en el que se
incluyan estas tareas, y estudiar como
interactuan.
z Etapa 3: Seleccionar una serie de enfoques para
construir interficies basicas e implementarlos.
z 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?


z Categorizacion

z Reglas especificas

z Heuristicas

z Experiencia pasada (casos)

z 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
Ingeniero del
Usuario Conocimiento

Interficie Conocimiento
del Usuario Experto

Interficie a la
Organizacion Motor de Herramientas
del Sistema Inferencia 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,
z Tipos
z Contextos
z Naturaleza de la informacion
z…

También podría gustarte