Sistemas Basados en el Conocimiento

Anuncio
Luis Valencia Cabrera
[email protected]
(http://www.cs.us.es/~lvalencia)
Ciencias de la Computacion e IA
(http://www.cs.us.es/)
Universidad de Sevilla
Sistemas
Basados en el
Conocimiento
(2010/2011)
Índice

Resolución de problemas

Tipos de problemas a resolver

Problemas a resolver por los SBC y SE

Del problema a la solución

Tipos de SBC y SE

Componentes de un Sistema Experto

Desarrollo de un SE: ciclo de vida
Resolución de problemas



A lo largo de la vida el hombre se encuentra con
muchos problemas, de modo que para maximizar
su bienestar emplea su inteligencia con el objetivo
principal de la resolución de problemas.
El primer paso para resolver cualquier problema es
definir el área o dominio del problema.
Generalmente las prestaciones para la solución
de un problema vienen condicionadas con
frecuencia por la existencia de amplias
cantidades de conocimiento sobre la tarea en
cuestión y no por grandes colecciones de
métodos independientes del dominio.
Tipos de problemas
 Los
problemas con los que pueden tratar
los sistemas expertos pueden clasificarse
atendiendo a distintos criterios:


En función de su estructura
En función de su contexto
Clasificación de los
problemas por su estructura

Estructurados:


Semiestructurados:


Se conocen todas las componentes de una solución: los
datos que representan los estados del problema, los
operadores y los procedimientos. Son totalmente resolubles
por computador sin necesidad de ayuda humana.
Aquellos que en alguno(s) de sus sub-problema(s) no se
conoce alguna de las componentes de la solución. Por
ejemplo, los sistemas tradicionales de ayuda a la toma de
decisiones.
No estructurados:

Todas o alguna(s) componente(s) de la solución son vagas
o desconocidas; la meta no está totalmente establecida,
por lo que determinar la meta forma parte del problema.
Clasificación de los
problemas por su contexto

Independientes del contexto:




Sensibles al contexto (dependientes del contexto):




Ajedrez
Espectrografía
…
Lenguaje natural
Explicaciones cualificadas
…
Los problemas que aborda la Ingeniería del
Conocimiento son los problemas semiestructurados o
no estructurados y/o dependientes del contexto.
Problemas a resolver por los
SSBBCC y los SSEE

Los problemas con los que pueden tratar los sistemas
expertos pueden clasificarse en dos tipos:




esencialmente deterministas
esencialmente estocásticos.
Por ejemplo, aunque el ejemplo 1.1 (transacciones
bancarias) y el Ejemplo 1.2 (control de tráfico)
pueden contener algunos elementos de
incertidumbre, son esencialmente problemas
deterministas.
Sin embargo, analicemos una de las aplicaciones
más importantes en el ámbito de los sistemas
expertos: el diagnóstico médico…
SSEE de Diagnóstico Médico.
Preguntas a abordar (I)

¿Cómo se puede recoger, organizar, almacenar, poner al día y
recuperar la información médica (ej, registros de pacientes) de
forma eficiente y rápida? Suponga que un doctor en un centro
médico está interesado en conocer información sobre una
enfermedad (E) y tres síntomas asociados (S1, S2, y S3). Se puede
utilizar un sistema experto para buscar en la base de datos, extraer
y organizar la información deseada. Esta información puede
resumirse en tablas o en gráficos como los siguientes:
SSEE de Diagnóstico Médico.
Preguntas a abordar (II)



¿Cómo se puede aprender de la experiencia? Es
decir, ¿cómo se actualiza el conocimiento de los
doctores en medicina cuando el número de
pacientes que éstos tratan aumenta?
Supuesto que un paciente presenta un conjunto de
síntomas; ¿cómo se sabe o se decide qué
enfermedad es la más probable que tenga el
paciente?
¿Cuáles son las relaciones entre un conjunto
(normalmente no observable) de enfermedades y
un conjunto (observable) de síntomas? En otras
palabras, ¿qué modelos pueden utilizarse para
describir las relaciones entre los síntomas y las
enfermedades?
SSEE de Diagnóstico Médico.
Preguntas a abordar (III)


Dado que el conjunto de síntomas conocidos no es suficiente
para diagnosticar la enfermedad con cierto grado de
certeza, ¿qué información adicional debe ser obtenida (por
ejemplo, ¿qué síntomas adicionales deben ser identificados?
o ¿qué pruebas médicas deben realizarse?).
¿Cuál es el valor de cada una de estas piezas de
información? En otras palabras, ¿cuál es la contribución de
cada uno de los síntomas adicionales o pruebas a la toma de
decisión?
Como vemos, en el campo médico las relaciones entre
síntomas y enfermedades se conocen sólo con un cierto grado
de certeza (la presencia de ciertos síntomas no siempre implica
la enfermedad). Estos tipos de problemas pueden incluir
elementos deterministas, pero se trata fundamentalmente de
problemas estocásticos.
Del problema a la solución.
Ingeniería del conocimiento

Al encontrarnos con un problema de la
naturaleza anterior, hemos de encarar algunas
cuestiones iniciales:



¿Cómo adquirir y representar el conocimiento
humano mediante una representación abstracta
efectiva?
¿Cómo representar el conocimiento en términos
de una estructura de datos que una máquina
pueda procesar?
¿Cómo generar inferencias, haciendo uso de esas
estructuras abstractas para generar información
útil en el contexto de un caso específico?
Del problema a la solución.
Datos, información y agentes

Para la adquisición y representación del
conocimiento en sistemas artificiales inteligentes
hemos de tener presentes algunos conceptos
sobre los datos y la información:



Un agente es un sistema que percibe el entorno y
puede actuar sobre él con una función acotada y
específica.
Los datos son estímulos del entorno que el agente
percibe, es decir, meras entradas al sistema.
La información está formada por datos con
significado; este significado se obtiene al
interpretar el agente, mediante su conocimiento
previo, los datos que recibe.
Del problema a la solución.
Conocimiento y razonamiento



El conocimiento es la información una vez
incorporada en los mecanismos de razonamiento
del agente. Como estos mecanismos están
orientados por los objetivos del agente, la definición
concuerda con la que dice que el conocimiento es
información con propósito.
Un agente racional tiene conocimiento sobre un
dominio de competencia, mecanismos de
razonamiento y objetivos, y utiliza los dos primeros
para, en función de los datos que percibe, generar
las acciones que conducen a los objetivos.
Una representación del conocimiento es la expresión
de ese conocimiento en un lenguaje.
Del problema a la solución.
Representación del conocimiento

Requisitos de los formalismos de representación del
conocimiento:





Principales formalismos de representación





lógica
reglas de producción
redes semánticas
marcos
Cada formalismo de representación usa un método de
inferencia específico:



potencia expresiva
facilidad de interpretación
eficiencia deductiva
posibilidad de explicación y justificación
Resolución, SLD-resolución
Razonamiento hacia a delante y hacia atrás
Herencia
Tipos de SBC y SE (I)



Tomando como base los distintos tipos de problemas que
pueden plantearse y distintos esquemas de adquisición y
representación del conocimiento, mecanismos de inferencia
y razonamiento, podemos realizar una clasificación de los
distintos tipos de Sistemas Expertos (y SBC, en general).
En primer lugar, partiendo de la distinta naturaleza de los
problemas para los que están diseñados, los sistemas
expertos pueden clasificarse en dos tipos principales:
deterministas y estocásticos.
Los problemas de tipo determinista pueden ser formulados
usando un conjunto de reglas que relacionen varios objetos
bien definidos. Los sistemas expertos que tratan problemas
deterministas se suelen implementar mediante sistemas
basados en reglas, porque sacan sus conclusiones
basándose en un conjunto de reglas utilizando un
mecanismo de razonamiento lógico.
Tipos de SBC y SE (II)

En situaciones inciertas, es necesario introducir algunos
medios para tratar la incertidumbre. Algunos sistemas
expertos usan la misma estructura de los sistemas basados
en reglas, pero introducen una medida asociada a la
incertidumbre de las reglas y a la de sus premisas. Se
pueden utilizar algunas fórmulas de propagación para
calcular la incertidumbre asociada a las conclusiones.

Algunos ejemplos de estas medidas son los factores de
certeza, usados en las aplicaciones para generar sistemas
expertos tales como el sistema experto MYCIN (véase
Buchanan y Shortliffe (1984)); la lógica difusa (véase, por
ejemplo, Zadeh (1983) y Buckley, Siler, y Tucker (1986)); y la
teoría de la evidencia de Dempster y Shafer (véase Shafer
(1976)).
Tipos de SBC y SE (III)

Otra medida intuitiva de incertidumbre es la probabilidad, en la que la
distribución conjunta de un conjunto de variables se usa para describir
las relaciones de dependencia entre ellas, y se sacan conclusiones
usando fórmulas muy conocidas de la teoría de la probabilidad. Este es
el caso del sistema experto PROSPECTOR (véase Duda, Gaschnig, y Hart
(1980)), que utiliza el teorema de Bayes para la exploración de mineral.

Los sistemas expertos que utilizan la probabilidad como medida de
incertidumbre se conocen como sistemas expertos probabilísticos y la
estrategia de razonamiento que usan se conoce como razonamiento
probabilístico, o inferencia probabilística. Una visión detallada de este
tipo de sistemas se encuentra en el libro de la bibliografía:
http://personales.unican.es/gutierjm/papers/BookCGH.pdf

Otros libros que sirven para introducirse de forma general en otras
medidas de incertidumbre son Buchanan y Shortliffe (1984), Waterman
(1985), Pearl (1988), Jackson (1990), Neapolitan (1990), Castillo y Álvarez
(1991), Durkin (1994) y Jensen (1996).
Tipos de SBC y SE (IV)



Dificultad de los sistemas expertos probabilísticos anteriores:
definir la distribución de probabilidad conjunta de las
variables.
Solución: introducción de los modelos de redes probabilísticas,
que han superado el obstáculo anterior, retomándose
enérgicamente los SSEE probabilísticos.
Estos modelos, que incluyen las redes de Markov y las
Bayesianas:



Se basan en una representación gráfica de las relaciones entre las
variables.
Esta representación conduce no sólo a formas más eficientes de
definir la distribución conjunta de probabilidad sino también a una
propagación de incertidumbre muy eficiente, que permite sacar
conclusiones.
Ejemplos de este tipo de sistemas expertos son el sistema HUGIN
(véase Andersen y otros (1989)) y X-pert Nets(Enrique Castilla et al).
Resumen Tipos de SBC y SE.
Sistemas basados en reglas (I)
 Sistemas

basados en reglas:
Introducción de los sistemas de producción
de reglas:
 A.
Newell y H.A. Simon Human problem solving
(Prentice–Hall, 1972)
 Correspondencia
entre sistemas de
producción y memoria humana:


Memoria de trabajo y memoria temporal
Base de conocimiento y memoria
permanente
Resumen Tipos de SBC y SE.
Sistemas basados en reglas (II)

S.E. basados en sistemas de producción:




DENDRAL: S.E. para determinar estructuras
moleculares (Buchanan, U. Stanford, 1964)
MYCIN: S.E. para diagnosticar meningitis e
infecciones sanguíneas (Shortliffe, U. Stanford,
1972)
PROSPECTOR: S.E. para estudio de exploraciones
geológicas (Duda, Stanford Research Institute,
1978)
R1 (XCON): SE para configurar equipos VAX (McDermott, CMU y DEC, 1978)
Resumen Tipos de SBC y SE.
Sistemas basados en reglas (III)

Ejemplos:

SI el problema no me sale Y es la hora de consulta


SI la luz del semáforo es verde Y no hay peatones
cruzando


ENTONCES continúa la marcha
SI el programa Lisp no carga


ENTONCES consultar al profesor
ENTONCES comprobar paréntesis
Inferencias:


Razonamiento hacia adelante (de abajo a arriba)
Razonamiento hacia atrás (de arriba a abajo)
Resumen Tipos de SBC y SE.
Redes semánticas.
 Ejemplo:
 Inferencia:

Herencia
Resumen Tipos de SBC y SE.
Lógica (I).

Ejemplos:

Inferencia:





Deducción natural.
Cálculo de secuentes.
Regla de resolución.
Reescritura.
Razonamiento automático.
Resumen Tipos de SBC y SE.
Lógica (II). Ejemplo en Prolog

r1 # si Coche tiene cilindrada X


r2 # si Coche tiene motor inyeccion y Coche es mono-volumen












entonces Coche tiene velocidad media.
...
r9 # si Coche tiene frenos abs y Coche tiene airbag


entonces Coche tiene velocidad X.
entonces Coche tiene seguridad alta.
f1 hecho opel_astra tiene 1600 c_cubicos.
f2 hecho opel_astra tiene airbag.
f3 hecho opel_astra no_tiene frenos abs.
f4 hecho fiat_punto tiene 1400 c_cubicos.
f5 hecho fiat_punto no_tiene airbag.
f6 hecho fiat_punto no_tiene frenos abs.
f7 hecho renault_space es mono_volumen.
f8 hecho renault_space tiene motor diesel.
f9 hecho renault_space tiene frenos abs.
f10 hecho renault_space tiene airbag.
Resumen Tipos de SBC y SE.
Lógica (II). Ejemplo en Prolog (II)

?- se_deduce(opel_astra es gama X).

¿Es cierto opel_astra tiene 2000 c_cubicos?


¿Es cierto opel_astra tiene 1600 c_cubicos?







opel_astra tiene cilindrada media
Repito: ¿Es cierto opel_astra tiene 1600 c_cubicos?


opel_astra tiene 1600 c_cubicos
se tiene:


Posibles respuestas: [si, no, porque] (seguidas de un punto):
=== Porque:
La regla r7 dice que probando:


Posibles respuestas: [si, no, porque] (seguidas de un punto):
Posibles respuestas: [si, no, porque] (seguidas de un punto):
****** Se ha encontrado respuesta afirmativa:
------ Opciones:
------ 1) Ver la prueba completa y continuar.
------ 2) Navegar dentro de la prueba.
------ 3) Continuar.

Posibles respuestas: [1, 2, 3] (seguidas de un punto): 1.
Resumen Tipos de SBC y SE.
Lógica (II). Ejemplo en Prolog (III)

****** Prueba encontrada:
por usted, sabemos que opel_astra tiene 1600 c_cubicos,
 luego, segun r7 se concluye que opel_astra tiene cilindrada
 luego, segun r2 se concluye que opel_astra tiene velocidad
media,
 y
 por f3, sabemos que opel_astra no_tiene frenos abs,
 y
 por f2, sabemos que opel_astra tiene airbag,
 luego, segun r10 se concluye que opel_astra tiene seguridad
 luego, segun r1 se concluye que opel_astra es gama media,
 X = media ; %% Con el ; se está solicitando otra respuesta


¿Es cierto opel_astra tiene 1400 c_cubicos?

Posibles respuestas: [si, no, porque] (seguidas de un punto): No.
Componentes de un
Sistema Experto
Componentes de un SE(I). La
Componente Humana

Un Sistema Experto surge de la colaboración entre:







expertos humanos e
ingenieros del conocimiento
teniendo en mente a los usuarios
Los expertos humanos suministran el conocimiento básico
en el tema de interés
Los ingenieros del conocimiento trasladan este
conocimiento a un lenguaje, que el sistema experto pueda
entender.
La colaboración entre estos tres perfiles es el elemento más
importante en el desarrollo de un sistema experto.
Requiere gran dedicación, implicación por las partes y
esfuerzo de entendimiento (cada parte habla un lenguaje
diferente en base a su rol y experiencia).
Componentes de un SE(II). La
Base de Conocimiento

Especialistas/expertos  Suministrar a los ingenieros del conocimiento:




Requiere que los expertos humanos repiensen, reorganicen, y
reestructuren su conocimiento  profundiza en el conocimiento de su
propia especialidad.
Conocimiento:




Conocimiento ordenado y estructurado.
Relaciones bien definidas y explicadas.
Afirmaciones de validez general como reglas, distribuciones de
probabilidad, etc.
Este conocimiento es permanente, y se almacena en la
base de conocimiento.
Por ejemplo, los síntomas, las enfermedades y las relaciones entre ellos.
Datos:




Información relacionada con una aplicación particular.
Son efímeros, y se almacenan en la memoria de trabajo.
Todos los procedimientos de los diferentes sistemas y subsistemas que son
de carácter transitorio se almacenan también en la memoria de trabajo.
Por ejemplo, los síntomas particulares de un paciente dado.
Componentes de un SE(III).
Adquisición de Conocimiento

El subsistema de adquisición de conocimiento:


controla el flujo del nuevo conocimiento que
fluye del experto humano a la base de datos.
El sistema determina:


qué nuevo conocimiento se necesita
si el conocimiento recibido es en realidad nuevo,
es decir, si debe incluirse en la BD

en caso necesario, incorpora estos
conocimientos a la misma.
<Veremos en más detalle este mecanismo en el
siguiente tema de teoría.>
Componentes de un SE(IV).
Control de la Coherencia







Este subsistema apareció en los sistemas expertos tras un proceso de
maduración, pasando a ser esencial para un sistema experto.
Controla la consistencia de la base de datos, evitando que se
produzcan inconsistencias entre unidades de conocimiento de la
misma.
En situaciones complejas un experto humano puede formular
afirmaciones inconsistentes. Sin este subsistema, se podría encontrar
conocimiento contradictorio en la base de conocimiento, originando
un comportamiento insatisfactorio del sistema.
Ej: en sistemas con mecanismos de propagación de incertidumbre,
conclusiones absurdas como generar probabilidades mayores que la
unidad o negativas.
Comprueba e informa a los expertos de las inconsistencias.
Además, cuando solicita información de los expertos humanos, éste
subsistema informa sobre las restricciones que ésta debe cumplir para
ser coherente con la existente en la base de conocimiento.
De esta forma, ayuda a los expertos humanos a dar información fiable.
Componentes de un SE(V).
El Motor de Inferencia


Es el corazón de todo sistema experto.
Cometido principal: sacar conclusiones aplicando el conocimiento a los
datos.



Ej: En diagnóstico médico, los síntomas de un paciente (datos) son analizados
a la luz de los síntomas y las enfermedades y de sus relaciones (conocimiento).
Las conclusiones pueden basarse en conocimiento determinista o
probabilístico. El tratamiento de situaciones de incertidumbre
(probabilísticas) puede ser considerablemente más difícil que el de
situaciones ciertas (deterministas).
En muchos casos, algunos hechos (datos) no se conocen con certeza.

Ej: un paciente no está seguro de sus síntomas. Caso de trabajar con
conocimiento de tipo no determinista, se dispone sólo de información
aleatoria o difusa.
El motor de inferencia es también responsable de la propagación del
conocimiento incierto. En los SSEE basados en probabilidad, la propagación
de incertidumbre es la tarea principal del motor de inferencia, permitiendo
sacar conclusiones bajo incertidumbre. Es tan complejo que da lugar a que
ésta sea la componente más débil de casi todos los SSEE existentes.
<La mayor parte de Sistemas Expertos y Modelos de Redes Probabilísticas se
dedica al análisis y resolución de la propagación de incertidumbre.>

Componentes de un SE(VI).
Adquisición de Información


Si el conocimiento inicial es muy limitado y no se
pueden sacar conclusiones, el motor de inferencia
utiliza el subsistema de adquisición de información
para obtener la información necesaria y continuar
con el proceso de inferencia hasta que se hayan
sacado conclusiones.
En algunos casos, el usuario puede suministrar la
información requerida para éste y otros objetivos. De
ello resulta la necesidad de una interfaz de usuario y
de una comprobación de la consistencia de la
información suministrada por el usuario antes de
introducirla en la memoria de trabajo.
Componentes de un SE(VII).
Interfaz de Usuario
Enlace entre el sistema experto y el usuario.
 Para que un SE sea una herramienta efectiva, debe incorporar
mecanismos eficientes para mostrar y obtener información de forma
fácil y agradable.
 Tras el trabajo del motor de inferencia se deben mostrar las
conclusiones, las razones que expliquen las mismas y una explicación
de las acciones iniciadas por el sistema experto.
 Cuando el motor de inferencia no puede concluir debido, por ejemplo,
a la ausencia de información, la interfaz de usuario es un vehículo para
obtener la información necesaria del usuario.
 Una implementación inadecuada de la interfaz de usuario minaría
notablemente la calidad de un sistema experto.
 Los usuarios evalúan comúnmente los sistemas expertos y otros por la
calidad de la interfaz más que por la del SE mismo.
<Los interesados en el diseño de una interfaz de usuario pueden consultar
Shneiderman, B. (1987), Designing the Human Interface y Brown, J. R. and
Cunningham, S. (1989), Programming the User Interface: Principles and
Examples.>

Componentes de un SE(VIII).
El Subsistema de Ejecución de Órdenes


Componente que permite al sistema experto
iniciar acciones. Estas acciones se basan en las
conclusiones sacadas por el motor de inferencia.
Ejemplos:,



Un sistema experto diseñado para analizar el
tráfico ferroviario puede decidir retrasar o parar
ciertos trenes para optimizar el tráfico global
Un sistema para controlar una central nuclear
puede abrir o cerrar ciertas válvulas, mover
barras, etc., para evitar un accidente.
La explicación de las razones por las que se
inician estas acciones pueden darse al usuario
mediante el subsistema de explicación.
Componentes de un SE(IX).
El Subsistema de Explicación



El usuario puede pedir una explicación de las conclusiones
sacadas o de las acciones iniciadas por el sistema experto.
Es necesario un subsistema que explique el proceso seguido por el
motor de inferencia o por el subsistema de ejecución.
Ej:, si un cajero automático decide rechazar la palabra clave (una
acción), la máquina puede mostrar un mensaje (una explicación)
como la siguiente:



¡Lo siento!, su palabra clave es incorrecta tras tres intentos.
Retenemos su tarjeta para garantizar su seguridad. Póngase en
contacto con su banco.
En muchos dominios de aplicaciones, es necesaria la explicación
de las conclusiones debido a los riesgos asociados con las
acciones a ejecutar.
Ej:, en el diagnóstico médico, los doctores son responsables de los
diagnósticos. Si emplean un SE sin un subsistema de explicación, los
doctores pueden no ser capaces de explicar a sus pacientes las
razones de su diagnóstico.
Componentes de un SE(X).
El Subsistema de Aprendizaje

Una de las principales características de un sistema experto es su
capacidad para aprender. Diferenciaremos entre aprendizaje
estructural y aprendizaje paramétrico.



Por aprendizaje estructural nos referimos a algunos aspectos
relacionados con la estructura del conocimiento (reglas,
distribuciones de probabilidad, etc.). Por ello, el descubrimiento de
nuevos síntomas relevantes para una enfermedad o la inclusión de
una nueva regla en la base de conocimiento son ejemplos de
aprendizaje estructural.
Por aprendizaje paramétrico nos referimos a estimar los parámetros
necesarios para construir la base de conocimiento. Por ello, la
estimación de frecuencias o probabilidades asociadas a síntomas o
enfermedades es un ejemplo de aprendizaje paramétrico.
Otra característica de los sistemas expertos es su habilidad para
obtener experiencia a partir de los datos disponibles. Estos datos
pueden ser obtenidos por expertos y no expertos y pueden
utilizarse por el subsistema de adquisición de conocimiento y por el
subsistema de aprendizaje.
Componentes de un SE.
Resumen de tareas implicadas

Los sistemas expertos pueden realizar varias tareas entre
las que se incluyen:

Adquisición de conocimiento y verificación de su
coherencia;







Por lo que el sistema experto puede ayudar a los expertos
humanos a dar conocimiento coherente.
Almacenar (memorizar) conocimiento.
Preguntar cuándo se requiere nuevo conocimiento.
Aprender de la base de conocimiento y de los datos
disponibles.
Realizar inferencia y razonamiento en situaciones
deterministas y de incertidumbre.
Explicar conclusiones o acciones tomadas.
Comunicar con los expertos y no expertos humanos y con
otros sistemas expertos.
Desarrollo de un SE:
ciclo de vida
Desarrollo de un SE:
etapas del desarrollo (I)
Planteamiento del problema.
1.


La primera etapa consiste en la definición del problema
a resolver.
El objetivo principal de un sistema experto es responder
a preguntas y resolver problemas  Es fundamental
tener claro el problema que se trata, pues si el sistema
está mal definido podrá suministrar respuestas erróneas.
Encontrar expertos humanos que puedan resolver
el problema.
2.

En algunos casos, las bases de datos pueden jugar el
papel del experto humano proporcionando
información, si bien la experiencia del experto humano
ofrece información de carácter cualitativo que
raramente podemos encontrar en las bases de datos
usuales.
Desarrollo de un SE:
etapas del desarrollo (II)
Diseño de un sistema experto.
3.

Incluye el diseño de estructuras para almacenar el
conocimiento, el motor de inferencia, el subsistema de
explicación, la interfaz de usuario, etc.
Elección de la herramienta de desarrollo, esqueleto
o framework, o lenguaje de programación.
4.


Debe decidirse si realizar un sistema experto a medida,
utilizar un esqueleto, una herramienta, o un lenguaje de
programación.
Si existiera un framework satisfaciendo todos los
requerimientos del diseño, ésta debería ser la elección,
tanto por razones de tipo financiero como por
fiabilidad. Los frameworks y herramientas comerciales
están sujetas a controles de calidad, a los que otros
programas no lo están.
Desarrollo de un SE:
etapas del desarrollo (III)
5.
Desarrollo y prueba de un prototipo.

6.
Refinamiento y generalización.

7.
Si el prototipo no pasa las pruebas requeridas, las
etapas anteriores (con las modificaciones
apropiadas) deben ser repetidas hasta que se
obtenga un prototipo satisfactorio.
En esta etapa se corrigen los fallos y se incluyen
nuevas posibilidades no incorporadas en el diseño
inicial.
Mantenimiento y puesta al día.

En esta etapa el usuario plantea problemas o
defectos del prototipo, corrige errores, actualiza el
producto con nuevos avances, etc.
Descargar