Академический Документы
Профессиональный Документы
Культура Документы
Rentabilidad
Cul es la recompensa?
Esta pregunta est relacionada con la primera pregunta. Sin embargo, sta es ms pragmtica en
que est pidiendo el retorno especfico de la inversin de las personas, recursos, tiempo y dinero. El
pago puede ser en dinero, aumentar la eficiencia, o de cualquiera de las otras ventajas de los
sistemas expertos descrito en el captulo 1. Tambin es importante recordar que si no se usa el
sistema, no habr recompensa. Debido a que los sistemas expertos es una nueva tecnologa, es
ms difcil y riesgoso responder a esta pregunta en relacin a la programacin convencional.
Figura 6.1 Tareas de Gestin de Proyectos
Herramientas
Qu herramientas se encuentran disponibles para construir el sistema?
Hay muchas herramientas de sistemas expertos disponibles en la actualidad con ventajas y
desventajas. El Apndice D resume las caractersticas de algunas herramientas. Sin embargo, esto
slo debe ser tomado como una gua, ya que las herramientas de software se desarrollan tan
rpidamente. Por lo general, usted puede contar con una mejora importante cada ao en cada
herramienta y una revisin en profundidad cada dos o tres aos.
Estas mejoras no se limitan a las herramientas de software. Muchas de los estados de herramientas
avanzadas se ejecut con $ 50.000 en mquinas LISP a mediados la dcada de 1980 fueron
reescritas ms tarde para correr en microcomputadores o microprocesadores personalizados. Esto
reduce considerablemente el costo de hardware para ejecutar las herramientas. La mejor gua es
examinar las publicaciones actuales y hablar con personas que han construido sistemas expertos.
Costo
Cunto va a costar?
El costo de la construccin de un sistema experto depende de las personas, los recursos y el tiempo
destinado a su construccin. Adems del hardware y software necesario para ejecutar una
herramienta de sistema experto, tambin puede haber un costo considerable en la capacitacin. Si el
personal tiene poca o ninguna experiencia con una herramienta, puede ser costoso capacitarlos. Por
ejemplo, la capacitacin en estados de herramientas avanzadas de sistemas expertos puede costar
$ 2500/semana por persona.
Gestin de Proyectos
La gestin de proyectos se espera que proporcione el siguiente-hecho, la gestin de proyectos ha
sido objeto de un enfoque de sistema experto (Sathi 86):
Gestin de actividades
Planificacin Definir las actividades
Especificar la prioridad de las actividades
Requerimientos de los recursos
Hitos
Duracin
Responsabilidades
Programacin Asignacin de tiempos de inicio y finalizacin.
Resolver los conflictos en la programacin de tareas con la misma
prioridad.
Crnica Monitorear desempeo del proyecto.
Anlisis Analizar planes, programas y actividades de la
crnica.
Gestin de Recursos
Previsin de las necesidades de recursos
Adquirir los recursos
Asignar responsabilidades para el uso ptimo de los recursos
Proporcionar los recursos crticos para minimizar los cuellos de botella
Para el desarrollo de un sistema experto, las actividades son las tareas necesarias para construir el
sistema. La Figura 6.2 muestra una vista general de las actividades necesarias para producir un
sistema en trminos de las etapas que atraviesa un sistema.
Figura 6.2 Etapas generales en el desarrollo de un sistema experto
El problema de la entrega.
Cmo se entregar el sistema?
Si bien es conveniente y puede reducir al mnimo el tiempo de desarrollo utilizar una estacin de
trabajo de punta, a menudo es demasiado costoso para entregar el sistema en estas estaciones de
trabajo.
Por ejemplo, una estacin de trabajo que tiene US $ 100.000 en hardware y software es bastante
cara para su uso en las oficinas una empresa. Adems, las tasas anuales de mantenimiento pueden
aumentar an ms el costo considerablemente.
Dependiendo del nmero de sistemas expertos para su implementacin, el problema de entrega de
los sistemas desarrollados puede ser un factor importante en el desarrollo. El problema de la entrega
debe ser considerado en las primeras etapas de desarrollo (Freedman 86).
Idealmente, los sistemas expertos entregados debern ser capaces de funcionar con hardware
estndar. Sin embargo, algunas herramientas de sistema experto requieren una placa especial para
un microprocesador LISP, lo que aumentar sustancialmente el costo.
En muchos casos, el sistema experto debe estar integrado con otros programas existentes. Se debe
considerar la comunicacin y la coordinacin de entrada/salida del sistema experto con estos
programas. Tambin puede ser necesario llamar a los sistemas expertos como un procedimiento de
un lenguaje de programacin convencional, y el sistema debe apoyar esto.
Mantenimiento y Evolucin.
De qu manera el sistema ser mantenido y evolucionar?
El mantenimiento y la evolucin de un sistema experto es ms de una actividad abierta que con los
programas convencionales. Debido a que los sistemas expertos no se basan en algoritmos, su
rendimiento depende del conocimiento. Como se adquieren nuevos conocimientos y el viejo
conocimiento es modificado, el rendimiento del sistema mejora.
En un producto de calidad comercial debe haber una manera sistemtica y eficaz de recopilar
informes de errores de los usuarios. Mientras que la recopilacin y reparacin de los informes de
error no es de alta prioridad en los sistemas de investigacin de calidad, es una alta prioridad en los
sistemas de calidad comercial. Un buen mantenimiento se puede hacer slo si los informes de
errores se adquieren.
La mejora de un sistema experto despus de la entrega es tambin ms de una preocupacin en un
sistema de calidad comercial. Los desarrolladores de un sistema comercial queremos que sea un
xito financiero. Esto significa escuchar lo que los usuarios quieren y estn dispuestos a pagar por
mejoras. En un sentido muy real, un sistema experto comercial nunca puede ser acabado, slo sigue
mejorando.
Figura 6.3 Errores importantes en los sistemas de expertos alguna de las causas
Errores del motor de inferencia. Al igual que con cualquier otra pieza de software, el
motor de inferencia puede tener fallos. En el momento en que una herramienta de sistema
experto es liberado para su uso general, todos los errores comunes deberan ser encontrados.
Sin embargo, puede haber errores que slo aparecen en raras circunstancias tales como
tener 159 reglas en la agenda. Algunos errores pueden ser muy sutiles y slo aparecen en
ciertas operaciones de reconocimiento de patrones.
En general, los errores del motor de inferencia pueden aparecer en reconocimiento de
patrones, resolucin de conflictos, y la ejecucin de las acciones. Estos errores pueden ser
difciles de detectar si no son consistentes. Si la herramienta de sistema experto se utiliza
para aplicaciones de misin crtica, se debe determinar cmo la herramienta fue validada.
El mtodo ms simple de comprobar si hay errores de herramienta es el clsico de
preguntar a otros usuarios y al proveedor de la herramienta. El proveedor de la herramienta
debe estar dispuesto a proporcionar una lista de clientes, informes de errores y correcciones,
y cunto tiempo la herramienta ha estado en uso. Un grupo de usuarios es una excelente
fuente de informacin.
Los errores de la cadena de inferencia. Estos errores pueden ser causados por el
conocimiento errneo, errores semnticos, errores de motor de inferencia, la especificacin
incorrecta de la prioridad de las reglas, y las interacciones no planificadas entre las reglas. Los
errores de la cadena de inferencia ms complejos se deben a la incertidumbre de las reglas y
las pruebas, la propagacin de la incertidumbre en la cadena de inferencia, y no
monotonicidad.
La eleccin de un mtodo para tratar la incertidumbre no se resuelve automticamente
todos los temas relacionados con la incertidumbre. Por ejemplo, antes de elegir la inferencia
bayesiana simple, usted debe comprobar para ver si el supuesto de independencia
condicional est garantizado.
Lmites de los errores de la ignorancia. Un problema que es comn a todas las etapas
de desarrollo es especificando los lmites de la ignorancia del sistema. Como se mencion en
el captulo 1, los expertos humanos conocen el alcance de sus conocimientos y sus
actuaciones se degradan correctamente (esperamos) en los lmites de su ignorancia. Los
expertos humanos debe ser lo suficientemente honesto como para admitir una mayor
incertidumbre en sus conclusiones cerca de las fronteras. Sin embargo, a menos que un
sistema experto est especficamente programado para admitir la incertidumbre, es posible
que siga proporcionando respuestas, incluso si la cadena de inferencia y las pruebas son
dbiles.
La calidad es un trmino difcil de describir en un sentido general, porque significa cosas diferentes
para personas diferentes. Una manera de definir la calidad es como los atributos necesarios o
deseables de un objeto determinado en alguna escala. El trmino objeto se utiliza aqu para referirse
a cualquier software o hardware. Los atributos y sus valores se llaman indicadores, ya que se
utilizan como medidas de un objeto. Por ejemplo, la fiabilidad de la medida de una unidad de disco
es un indicador de su calidad. Una medida de este atributo es el tiempo medio entre fallos (TMEF) de
la unidad. Una unidad confiable podra tener un TMEF de 1000 horas de uso entre los fallos,
mientras que una unidad poco confiable podra tener un TMEF de 100 horas.
La tabla 6.1 da una lista de algunos indicadores que pueden ser utilizados en la evaluacin de la
calidad de un sistema experto. Estas cifras slo se deben tomar como gua ya que un sistema
especfico de expertos puede tener ms o menos de estos. Sin embargo, el concepto importante es
tener una lista de indicadores necesarios que pueden ser utilizados en la descripcin de la calidad.
Una lista de indicadores le permitir con mayor facilidad un orden de prioridades dado que muchos
pueden entrar en conflicto con los dems. Por ejemplo, el aumento de las pruebas de un sistema
experto para asegurar su exactitud aumentar el costo. Decidir cundo finalizan las pruebas es
generalmente una decisin compleja que involucra los factores de horarios, costos y requisitos.
Idealmente, tres de estos requisitos deben ser satisfechos. En la prctica, algunos pueden ser
juzgados ms importantes que otros y las limitaciones de satisfacer todos los factores se debilitarn.
Costos de mantenimiento.
Para el software convencional, el mantenimiento normalmente representa alrededor de 60 a 80 por
ciento de todos los costos de software y es generalmente de dos a cuatro veces el costo de
desarrollo original. Aunque hay poca informacin sobre el mantenimiento de los sistemas expertos,
porque son tan nuevas, las cifras probablemente sern peor para los sistemas expertos. Si los
programas convencionales con algoritmos conocidos requieren un mantenimiento tanto, entonces los
sistemas expertos es probable que requieran un mayor mantenimiento ya que se basan en el
conocimiento tanto que es heurstico y experimental. Sistemas expertos que hacen un montn de
inferencia bajo incertidumbre debe ser an ms susceptibles a los altos costos de mantenimiento y
su evolucin.
Modelo de Cascada
Una cantidad de diferentes modelos de ciclo de vida se han desarrollado para el software
convencional. El modelo en cascada clsico, familiar para los programadores de software
convencional, fue el original modelo de ciclo de vida y se ilustra en la Figura 6.5 (Boehm 84).
En el modelo de cascada cada etapa termina con la verificacin y validacin (V & V) la actividad para
minimizar los problemas en esa etapa. Tambin, observe que las flechas van y vienen una sola
etapa a la vez. Esto representa el desarrollo iterativo de dos etapas adyacentes con el fin de
minimizar el costo en comparacin con el ms alto costo de la iteracin de desarrollo en varias
etapas.
Otro trmino para el ciclo de vida es el modelo de proceso, debido a que se refiere a dos aspectos
fundamentales del desarrollo de software:
(1) Qu se debe hacer a continuacin?
(2) Cunto tiempo debe la siguiente etapa en llevarse a cabo?
El modelo de proceso es en realidad un meta-metodologa, ya que determina el orden y la duracin
en el que los mtodos comunes de software son aplicados. Los mtodos comunes de software de
desarrollo (o metodologas) muestran los mtodos especficos para llevar a cabo una etapa como
Planificacin.
Requerimientos.
Adquisicin de conocimientos.
Pruebas.
Representacin de las etapas de los productos.
Documentacin.
Cdigo.
Diagramas.
Modelo Incremental
El modelo de cascada incremental es un refinamiento de la cascada y de la norma de arriba hacia
abajo. La idea bsica del desarrollo incremental es el desarrollo de software en incrementos de
capacidad funcional. El modelo incremental se ha utilizado con xito en grandes proyectos de
software convencional. El modelo incremental es til tambin para desarrollo de sistemas expertos,
en el que la adicin de reglas aumenta las capacidades del sistema de asistente a colega y por
ltimo a nivel de expertos. As, en un sistema experto los incrementos ms importantes son de
asistente, a algn conocido, y de colega a experto. Los incrementos menores corresponden a
incrementos de especializacin dentro de cada nivel que ofrecen algn aumento significativo. Un
micro incremento es el cambio en la experiencia mediante la adicin o mejoramiento de un estado
individual.
La principal ventaja del modelo incremental es que los incrementos en capacidad funcional son ms
fciles de probar, verificar y validar que los productos de las distintas fases en el modelo de cascada.
Cada incremento funcional puede ser probado, verificado y validado inmediatamente con el experto
en lugar de tratar de hacer la validacin de todo al final. Esto disminuye el costo de la incorporacin
de las correcciones en el sistema. En esencia, el modelo incremental es similar al de un prototipo
rpido continuo que se extiende sobre todo el desarrollo. Y no slo un prototipo rpido de las etapas
iniciales para determinar los requisitos en el enfoque "hacer dos veces", el prototipo en evolucin es
el sistema.
Modelo Espiral
Una forma de visualizar el modelo incremental es una adaptacin del modelo espiral convencional,
como se muestra en la Figura 6.6. Cada circuito de la espiral aade algunas capacidades
funcionales al sistema. La etiqueta de punto final "sistema Entregado" no es realmente el final de la
espiral. En cambio, una nueva espiral comienza con el mantenimiento y la evolucin del sistema. La
espiral puede ser refinada para especificar con mayor precisin las etapas generales de adquisicin
de conocimientos, de codificacin, evaluacin y planificacin.
Figura 6.7 El modelo lineal de desarrollo del ciclo de vida del sistema experto
Planificacin
El propsito de la etapa de planificacin es la de producir un plan de trabajo formal para el desarrollo
de sistemas expertos. El plan de trabajo es un conjunto de documentos que se utilizarn para
orientar y evaluar el desarrollo. En la Tabla 6.2 se muestran las tareas en esta etapa.
Tarea Objetivos
Evaluacin de Viabilidad Determinar si vale la pena construir el sistema y,
de ser as, si la tecnologa del sistema experto
debe ser utilizada.
Manejo de los Recursos Evaluar los recursos de las personas, tiempo,
dinero, software y hardware necesario. Cmo
adquirir y gestionar los recursos necesarios?
Organizar las Tareas Especificar las tareas y su orden en las etapas.
Horarios Especificar las fechas de inicio y entrega de
tareas en las etapas.
Diseo Funcional Preliminar Definir lo que el sistema debe lograr mediante la
especificacin de las funciones de alto nivel del
sistema. Esta tarea especifica el objetivo del
sistema.
Requerimientos de Alto Nivel Describir en trminos de alto nivel cmo el
funcionamiento del sistema se llevar a cabo.
Tabla 6.2 Tareas de la Etapa de Planeamiento
Cada una de estas tareas principales se compone de otras tareas. La Tabla 6.3 describe las tareas
de Identificacin de la fuente y la seleccin.
Tarea Objetivo
Identificacin de la Fuente Quin y qu son las fuentes de conocimiento, sin
tener en cuenta la disponibilidad.
Fuente Importante Lista prioritaria de fuentes de conocimiento en orden
de importancia para el desarrollo.
Fuente Disponible Listado de fuentes de conocimiento en orden de
disponibilidad. Libros y otros documentos son
generalmente mucho ms accesibles que los
expertos humanos.
Seleccin de la Fuente Seleccionar las fuentes de conocimiento basadas en
la importancia y disponibilidad.
Tabla 6.3 Identificacin de la fuente del conocimiento y las tareas de seleccin
Las estructuras internas de hechos descritos en la Tabla 6.5 se discuten con ms detalle en los
captulos de CLIPS. La idea bsica de especificar las estructuras de hechos es la adaptacin de un
buen estilo. Por ejemplo, un hecho como el "10" no es muy significativo por s mismo. Qu
representa el "10"? Si se incluye informacin adicional con el hecho como "precio es 10" o, mejor
an, "el precio del oro es 10", entonces el precio del oro es significativo. Tenga en cuenta que esta
forma de la realidad es convencional de la forma objeto-atributo-valor, lo que es conveniente a las
personas para leer y entender. CLIPS apoya esto a travs de la construccin deftemplate de las
normas, y tambin a travs de objetos.
En algunos lenguajes de sistemas expertos los campos pueden tener tipos fuertes para que slo se
permita ciertos valores, si una norma trata de especificar un valor que no est permitido, el motor de
inferencia indicar esto como un error, los detalles de la etapa de diseo del conocimiento se
muestra en la tabla 6.6.
El producto de la etapa de diseo detallada es la lnea de referencia del documento de diseo desde
el que se puede proceder la codificacin. La lnea de referencia del documento de diseo se somete
a un sistema de conocimientos de revisin del diseo como una revisin final antes de que comience
la codificacin.
Tarea Objetivo
Diseo de la Estructura Especificar cmo el conocimiento est organizado
lgicamente en la base de conocimientos y lo que
hay en la base de conocimientos.
Estrategia de la Especificar cmo el sistema se ejecutar.
Implementacin
Interfaz de Usuario Especificar la interfaz de usuario detallada despus
Detallada de recibir comentarios de los usuarios desde el
diseo preliminar de la interfaz de usuario.
Especificaciones de Diseo Documentar el diseo.
e Informe
Plan de Pruebas Detallado Especificar exactamente cmo el cdigo ser
probado y verificado.
Tabla 6.6 Tareas detalladas del diseo del conocimiento.
Cdigo y comprobacin
La tabla 6.7 describe el cdigo y la etapa de comprobacin, el cual comienza la implementacin del
cdigo actual.
Tarea Objetivo
Codificacin Implementar la codificacin.
Prueba Cdigo de ensayo a partir de datos de prueba,
pilotos de pruebas, y procedimientos de anlisis de
pruebas.
Listado de Origen Producir comentarios, cdigo fuente documentado.
Manual de Usuario Producir manual de usuario de trabajo de lo que los
expertos y los usuarios pueden proporcionar
informacin sobre el sistema.
Gua de Instalacin / Uso Documento de instalacin / funcionamiento del
sistema para los usuarios.
Documento de Descripcin Documento general del funcionamiento del sistema
del Sistema experto, las limitaciones y problemas.
Tabla 6.7 Tareas de Codificacin y Prueba
Esta etapa termina con la de prueba de revisin de Disponibilidad, que determina si el sistema
experto est listo para la siguiente etapa de la verificacin del conocimiento.
Verificacin de Conocimientos
El objetivo de la fase de verificacin del conocimiento es determinar la exactitud, integridad y
coherencia del sistema. Esta etapa se divide en dos tareas principales:
Pruebas formales.
Prueba de anlisis.
La tabla 6.8 describe las tareas de prueba formal de la etapa de verificacin del conocimiento.
Tarea Objetivo
Procedimientos de Prueba Implementar Procedimientos formales de prueba
Informes de Ensayo Documentar los Resultados de la Prueba.
Tabla 6.8 Tareas de de prueba formal de la etapa de verificacin de conocimientos
Las tareas de la prueba de anlisis se muestran en la Tabla 6.9. La prueba de anlisis busca los
siguientes problemas principales:
Respuestas incorrectas.
Respuestas incompletas.
Respuestas inconsistentes.
y determina si el problema radica en las reglas, las cadenas de inferencia, la incertidumbre, o alguna
combinacin de estos tres factores. Si el problema no puede ser precisado en el sistema experto, es
necesario analizar el sistema experto con herramientas de software para los errores.
Tarea Objetivo
Resultado de las Analizar los resultados de las pruebas
Evaluaciones
Recomendaciones Documentar recomendaciones y conclusiones de
las pruebas
Tabla 6.9 Tareas de pruebas de anlisis
Tareas Objetivos
Evaluacin de Resultados Resumir el resultado de pruebas y verificacin
Recomendaciones Recomendar modificaciones en el sistema
Evaluaciones Validar que el sistema es correcto con respecto a
las necesidades del usuario y los requisitos
Informe Previsional o Final Si el sistema est completo, emitir un informe final.
Si no es as, un informe provisional.
Tabla 6.10 Tareas de las Etapas de Evaluacin del sistema.