Anda di halaman 1dari 14

UNIVERSIDAD NACIONAL

PEDRO RUIZ GALLO


INGENIERIA ELECTRONICA
SISTEMAS EXPERTOS Y ROBOTICA

DISEO DE SISTEMAS EXPERTOS


DOCENTE:
DR. QUISPE ROJAS JULIO
INTEGRANTES:
FARROAN CHAPOAN, DENNY
ZAMORA VENTURA, JHOSSEP JOSSIMAR

Lambayeque, 04 de Mayo del 2015

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


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.

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 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 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 cambios
Instalar 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.

V.

Figura 4.3: Principales errores en los sistemas expertos y algunas


de sus causas
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.1

Figura 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

VI.

Capacidad de insertarse en otros lenguajes


Base de conocimientos verificada
Medio de explicacin

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 mantenimiento
Para 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 cascada
Fue 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 proceso
Es 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 progresivo
Es 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 espiral
Cada 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