Diseño de Sistemas Expertos

18
UNIVERSIDAD NACIONAL “PEDRO RUIZ GALLO” INGENIERIA ELECTRONICA SISTEMAS EXPERTOS Y ROBOTICA DISEÑO DE SISTEMAS EXPERTOS DOCENTE: DR. QUISPE ROJAS JULIO INTEGRANTES: FARROÑAN CHAPOÑAN, DENNY ZAMORA VENTURA, JHOSSEP JOSSIMAR

description

DISEÑO DE SISTEMAS EXPERTOS, INGENIERIA ELECTRONICA, UNPRG, 2015-I, SISTEMAS EXPERTOS Y ROBOTICA

Transcript of Diseño de Sistemas Expertos

UNIVERSIDAD NACIONALPEDRO RUIZ GALLOINGENIERIA ELECTRONICASISTEMAS EXPERTOS Y ROBOTICA

DISEO DE SISTEMAS EXPERTOS

DOCENTE: DR. QUISPE ROJAS JULIOINTEGRANTES:FARROAN CHAPOAN, DENNYZAMORA VENTURA, JHOSSEP JOSSIMAR

Lambayeque, 04 de Mayo del 2015DISEO DE SISTEMAS EXPERTOS

I. INTRODUCCION:

En este apartado se presenta las pautas generales para la construccin de sistemas expertos prcticos diseados para aplicaciones del mundo real, no prototipos de investigacin. Una metodologa de ingeniera de software se describe de modo que un sistema experto puede ser un producto de calidad desarrollado de una manera costo-efectiva y oportuna.

II. SELECCIN DEL PROBLEMA APROPIADO:

Antes de poder construir un sistema experto se debe seleccionar un problema de forma apropiada. Como con cualquier proyecto de software hay una serie de consideraciones generales que deben realizarse antes de un gran compromiso con la gente, los recursos y el tiempo estn comprometidos con un sistema experto propuesto. Estas consideraciones generales son tpicas de las preocupaciones de la gestin de proyectos en los programas convencionales, pero deben ser personalizadas para los requerimientos especiales de los sistemas expertos. Un punto de vista general de gestin de desarrollo de sistemas expertos se muestra en la Figura 2.1. Las tres etapas generales tienen consideraciones ms especficas, que se muestra debajo de ellos. Estas consideraciones ms especficas sern discutidas en forma de preguntas y respuestas que sirvan de gua para los proyectos de sistemas expertos.

Seleccin del paradigma apropiado.Por qu estamos construyendo un sistema experto?Esta es probablemente la pregunta ms importante a preguntarse en cualquier proyecto. La respuesta a esta pregunta con el tiempo se debe dar a los propietarios o accionistas de la financiacin del desarrollo. Antes de comenzar, debe haber una clara identificacin del problema, expertos y usuarios.

RentabilidadCul 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. 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 2.1: Tareas de administracin del proyecto.

HerramientasQu 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.

CostoCunto 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.

III. ETAPAS EN EL DESARROLLO DE UN SISTEMA EXPERTO:

De qu manera el sistema se desarrollar?En gran medida, el desarrollo de un sistema experto depende de los recursos aportados, sin embargo, como cualquier otro proyecto, el desarrollo tambin depender de la forma en que el proceso est organizado y dirigido.

Gestin de ProyectosLa 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 actividadesEspecificar la prioridad de las actividadesRequerimientos de los recursosHitos 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 Configuraciones del Producto Gestin de Productos Gestionar las diferentes versiones del producto. Gestin de Cambios Gestionar las propuestas de cambio y las evaluaciones de impacto.Asignar personal para realizar cambiosInstalar nuevas versiones del producto.

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 3.2 muestra una vista general de las actividades necesarias para producir un sistema en trminos de las etapas que atraviesa un sistema.

Figura 3.1: Etapas generales del 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.

IV. ERRORES DURANTE LA ETAPA DE DESARROLLO:

Los errores de mayor potencial del desarrollo de sistemas expertos se pueden clasificar por las etapas ms probables en que se producen, como se ilustra en la Figura 4.3. Estos errores son los siguientes:

Errores de expertos en el conocimiento: El experto es la fuente de conocimiento del sistema experto. Si el conocimiento del experto es errneo, los resultados pueden ser propagados a travs del proceso de desarrollo. Un beneficio secundario de la construccin de un sistema experto es la deteccin potencial de conocimiento errneo cuando el conocimiento del experto, se hace explcito. Para los proyectos de misin crtica en la que la vida humana y la propiedad estn en riesgo, puede ser necesario establecer procedimientos formales para certificar los conocimientos de un experto. Uno de los enfoques que la NASA ha utilizado con xito para los vuelos espaciales son los paneles de tcnicas de vuelo, que revisan regularmente soluciones a los problemas y las tcnicas de anlisis utilizadas para desarrollar las soluciones (Culbert87). Los paneles consisten en usuarios del sistema, independientemente del dominio de los expertos, desarrolladores de sistemas y administradores para asegurar la cobertura de todas las reas que afectan el desarrollo.La ventaja de un panel de enfoque es que el conocimiento del experto se encuentra bajo estrecha vigilancia en el comienzo del proceso de desarrollo, cuando el conocimiento es errneo es ms fcil de corregir. Cuanto ms tiempo el conocimiento errneo pasa desapercibido, ms caro que es corregirlo. Si el conocimiento del experto no es inicialmente verificado, la prueba definitiva es la validacin del sistema experto. La validacin final del sistema experto demuestra que el sistema satisface los requisitos, especialmente la exactitud e integridad de las soluciones.La desventaja de un panel de enfoque es sobre todo el costo involucrado. Sin embargo, este costo puede ser compensado por una mayor eficiencia del proceso de desarrollo.

Errores semnticos: Un error de semntica se produce cuando el significado del conocimiento no est bien comunicado. Como un ejemplo muy sencillo, supongamos que un experto dice que "usted puede apagar un fuego con el agua" y el ingeniero del conocimiento interpreta esto como "Todos los fuegos puede ser extinguido por el agua." Los errores semnticos ocurren si el ingeniero del conocimiento malinterpreta las respuestas de los expertos, o el experto interpreta mal la pregunta del ingeniero del conocimiento, o ambos.

Los errores de sintaxis: Estos son simples errores que ocurren cuando se introduce de forma incorrecta una regla o un hecho. Las herramientas de sistemas expertos deben marcar estos errores y emitir el mensaje apropiado. Otros errores que se producen en la fase de construccin de la base de conocimiento se deben a errores de la fuente del conocimiento que no se han detectado en las etapas anteriores.

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 monotona.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. 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.Figura 4.3: Principales errores en los sistemas expertos y algunas de sus causasV. INGENIERIA DE SOFTWARE Y SISTEMAS EXPERTOS

Ahora examinaremos las etapas de desarrollo de sistemas expertos, desde el punto de vista ms tcnico, del ingeniero en conocimiento, que es en realidad quien construye el sistema experto.La metodologa aceptada para el desarrollo de software de calidad de acuerdo con las normas comercial, industrial y de gobierno es la ingeniera de software. Por lo general, la tecnologa de los sistemas expertos tiene la seria misin de proporcionar experiencia en situaciones de alto desempeo y posiblemente arriesgadas.Los sistemas expertos son sistemas de alto desempeo que deben tener alta calidad o estarn propensos a errores. Por eso la ingeniera de software proporciona metodologas para construir software de calidad. Como se muestra en la Figura 5.1Figura 5.1: Metodologa de la Ingeniera de software

A continuacin se presenta una lista de verificacin para evaluar la calidad de un sistema experto:

Salidas correctas dada una entrada correcta Salida completa dada una entrada correcta Salida congruente dada una misma entrada otra vez Confiable de modo que no se bloquee debido a errores Para que lo use la gente y preferiblemente amigable con el usuario Con posibilidades de darle mantenimiento Mejorable Validado para probar que satisface las necesidades y los requisitos del usuario Probado para comprobar que es correcto y est completo Redituable Cdigo reutilizable para otras aplicaciones Mudable a otros ambientes de software y hardware Sirve como interfaz para otro software Cdigo comprensible Exacto Preciso Degradacin suave de sus lmites de conocimiento Capacidad de insertarse en otros lenguajes Base de conocimientos verificada Medio de explicacin

VI. EL CICLO DE VIDA DEL SISTEMA EXPERTO:

El ciclo de vida es el periodo que empieza con el concepto inicial del software y termina con su retiro del uso.

Costos de mantenimientoPara software convencional, el mantenimiento suele representar 60% a 80% de todos los costos y con frecuencia es de dos o cuatro veces el costo original de desarrollo.

Modelo de cascadaFue el modelo original de ciclo de vida. Aqu cada etapa termina con una actividad de verificacin y validacin para minimizar algunos problemas en esa etapa y unas flechas que van hacia adelante y hacia atrs para reducir el costo.Figura 6.1

Modelo de procesoEs una meta metodologa por que determina el orden en el que se aplican los mtodos para el software comn, y su duracin. Mtodos especficos que utiliza:

Planeacin Requisitos Adquisicin de conocimiento Pruebas Representacin de productos de etapa Documentacin Cdigo Diagramas Figura 6.1: Modelo de cascada para el ciclo de vida del software

Modelo de cdigo y reparacin Con l se escribe algo de cdigo y luego se repara cuando no trabaja de forma correcta. Este suele ser el mtodo que eligen los nuevos estudiantes de programacin.

Modelo progresivoEs un refinamiento del modelo de cascada y progresivo, cuya idea es producir software en incrementos de su capacidad funcional. Cuyos incrementos principales son de asistente a colega y de colega a especialista; los incrementos menores corresponden al aumento de experiencia dentro de cada nivel y el micro incremento es el cambio de experiencia al agregar o refinar una regla individual. La principal ventaja de este modelo es que cada incremento de capacidad funcional resulta ms fcil de probar, verificar y validar. Modelo en espiralCada circuito de la espiral agrega alguna capacidad funcional al sistema. En la figura 6.2 observamos el modelo espiral.

Figura 6.2: Modelo en espiral del desarrollo de sistemas expertos

VII. MODELO DETALLADO DEL CICLO DE VIDA:

Formado por varias etapas, que van de la planeacin a la evaluacin de sistemas, se usa para el mantenimiento y la evolucin posteriores del sistema. Cada etapa est formada por tareas.

Planeacin: Su propsito es producir un plan de trabajo, para desarrollar un sistema experto.

Tareas: Valoracin de factibilidad, Administracin de recursos, Determinacin de las fases de las tareas, Calendarizacin, Disposicin funcional preliminar, Requisitos de alto nivel.

Definicin de conocimiento: Su objetivo es definir el conocimiento requerido por el sistema experto.

Tareas: Identificacin y seleccin del origen del conocimiento; Adquisicin, anlisis y extraccin del conocimiento.

Diseo del conocimiento: Su objetivo es producir el diseo detallado para un sistema experto.

Tareas: Definicin del conocimiento y diseo detallado.

Cdigo y verificacin: Inicia la implantacin del cdigo actual.

Tareas: Codificacin, pruebas, listados de origen, manual de usuario, gua de instalacin/ operaciones, documento de descripcin de sistema.

Verificacin del conocimiento: El objetivo de esta etapa es determinar si el sistema es correcto, sea completo y congruente.

Tareas: Pruebas formales, anlisis de prueba.

Evaluacin del sistema: su propsito es resumir lo que se ha aprendido con las mejores y correcciones recomendadas.

Tareas: Evaluacin de resultados, recomendaciones, validacin, informe provisional o final.

Figura 7.1: Modelo lineal del ciclo de vida para desarrollar sistemas expertos