A través del tiempo los ordenadores han cambiado de forma, tamaño, capacidad,
composición y han adquirido nuevas funciones para resolver diferentes tipos de problemas o
facilitar tareas específicas.
Abaco (5,000 años atrás) - Surgió en Asia Menor y se utiliza actualmente. Se utilizó
originalmente por mercaderes para llevar a cabo transacciones y contar los días. Comenzó a
perder importancia cuando se inventó el lápiz y el papel.
Calculadora de Pascal (1642)- Blaise Pascal inventó una máquina de sumar mecánica para
ayudar a su padre a calcular impuestos.
“Arithnometer”(1820)- Charles Xavier Thomas de Colmar inventó una calculadora que podía
llevar a cabo las cuatro operaciones matemáticas básicas (sumar, restar, dividir y multiplicar).
Máquina de telar de Jacquard- Artefacto controlado por tarjeta en las cuales los huecos
estaban estratégicamente perforados.
Máquina diferencial de Babbage (1822)- Diseñada para trabajar con vapor, era una máquina
amplia del tamaño de una locomotora. Tenía como función resolver ecuaciones diferenciales.
Durante el transcurso del tiempo Babbage comenzó a trabajar en la primera computadora de
uso general o máquina analítica.
Primer uso de la programación (1832)-Lady Ada Lovelace creó instrucciones rutinarias para
controlar la computadora, sugirió que las tarjetas perforadas podían prepararse para repetir
ciertas instrucciones.
Invención del ratón (mouse) y la interface gráfica (1970)-Por la compañía Xerox PARC.
Apple (1976)- Crearon las computadoras Apple I y II y las máquinas Macintosh en 1984. Se
comenzó a utilizar las computadoras personales en las oficinas y hogares.
La computadora fue utilizada para fines militares durante la Seguna Guerra Mundial.
Se crearon los lenguajes de alto nivel como COBOL (Common Business-Oriented Language) y
FORTRAN (Formula Translator).
Sistemas operativos.
Internet
A. Clases
Análoga-Son usadas mayormente para el control de procesos, trabajan con variables que son
medidas a lo largo de una escala continua con cierto grado de veracidad.
Digital-Opera directamente con cómputos de dígitos, que representan letras, números y
símbolos especiales.
B. Categorías
Minicomputadoras- Son de propósitos generales, más poderosas y costosas que que las
microcomputadoras.
Servidor-Se diseñó para apoyar una red de computadoras permitiendo a los usuarios compartir
archivos, programas de aplicaciones y “hardware”, como por ejemplo las impresoras.
Una de las principales características que comparten los lenguajes LISP y PROLOG, como
derivación de su respectiva estructura, es que logran ser utilizados para escribir programas
capaces de examinar a otros programas, incluyendo a ellos mismos.
LISP: Su nombre viene de List Processor. LISP fue el primer lenguaje para procesamiento
simbólico. Fue desarrollado en 1958, en el Instituto de Tecnología de Massachusetts
PROLOG: PROgramming in LOGic (PROLOG), es otro de los lenguajes de programación
utilizados en IA. PROLOG fue desarrollado en Francia, en 1973 en la Universidad de Marseilles.
OPS5: Official Production System 5 (OPS5), es un lenguaje para ingeniería cognoscitiva que
aguanta el procedimiento de representación del conocimiento en forma de reglas.
Entre las aplicaciones de la Inteligencia Artificial (IA) Tenemos:
Lingüística computacional: la lingüística y la informática que utiliza la informática para estudiar
y tratar el lenguaje humano.
Minería de datos (Data Mining): se puede definir como "extracción no trivial de información
implícita, desconocida previamente, y potencialmente útil desde los datos", y consiste en el
conjunto de técnicas avanzadas para la extracción de información escondida en grandes bases
de datos.
Mundos virtuales : es un campo relacionado con la inteligencia artificial. Se trata de la
simulación de mundos o entornos, denominados virtuales, en los que el hombre interacciona
con la máquina en entornos artificiales semejantes a la vida real.
Procesamiento de lenguaje natural : es una subdisciplina de la Inteligencia Artificial y la rama
ingenieril de la lingüística computacional. El PLN se ocupa de la formulación e investigación de
mecanismos eficaces computacionalmente para la comunicación entre personas o entre
personas y máquinas por medio de lenguajes naturales.
Robótica: es una ciencia o rama de la tecnología, que estudia el diseño y construcción de
máquinas capaces de desempeñar tareas realizadas por el ser humano o que requieren del uso
de inteligencia.
Sistemas de apoyo a la decisión: son sistemas de tipo OLAP o de minería de datos que
proporcionan información y soporte para tomar decisiones.
Videojuegos: es un programa informático, creado expresamente para divertir, basado en la
interacción entre una persona y un aparato electrónico donde se ejecuta el videojuego. Estos
recrean entornos virtuales en los cuales el jugador puede controlar a un personaje o cualquier
otro elemento de dicho entorno, para conseguir uno o varios objetivos por medio de unas
reglas determinadas.
Sistemas inteligentes: definición y concepto
Filed under: Uncategorized — Deja un comentario 6 noviembre, 2011
Podemos definir un sistema inteligente como un programa de computación que cuenta con
características y comportamientos similares a los de la inteligencia humana o animal, es decir,
que cuenta con la capacidad de decidir por sí mismo qué acciones realizará para alcanzar sus
objetivos basándose en sus percepciones, conocimientos y experiencias acumuladas.
Para hablar de sistema inteligente debe existir un entorno con el cual el sistema interactúe y,
además, el sistema inteligente debe incluir “sentidos” que le permitan recibir comunicaciones
de dicho entorno y así transmitir información.
El sistema actúa continuamente y cuenta con una memoria para archivar el resultado de sus
acciones. Tiene un objetivo y, para alcanzarlo, debe seleccionar la respuesta adecuada.
Además, a través de su memoria, durante su existencia, aprende de su experiencia, logrando
mejorar tanto su rendimiento como su eficiencia. Por último, consume energía, la cual utiliza
para sus procesos internos y para actuar.
Concepto
La Inteligencia Artificial es una combinación de la ciencia del computador, fisiología y filosofía,
tan general y amplio como eso, es que reune varios campos (robótica, sistemas expertos, por
ejemplo), todos los cuales tienen en común la creación de máquinas que pueden pensar.
La de idea construir una máquina que pueda ejecutar tareas percibidas como requerimientos
de inteligencia humana es un atractivo. Las tareas que han sido estudiadas desde este punto
de vista incluyen juegos, traducción de idiomas, comprensión de idiomas, diagnóstico de fallas,
robótica, suministro de asesoría experta en diversos temas.
Es así como los sistemas de administración de base de datos cada vez más sofisticados, la
estructura de datos y el desarrollo de algoritmos de inserción, borrado y locación de datos, así
como el intento de crear máquinas capaces de realizar tareas que son pensadas como típicas
del ámbito de la inteligencia humana, acuñaron el término Inteligencia Artificial en 1956.
La Inteligencia Artificial trata de conseguir que los ordenadores simulen en cierta manera la
inteligencia humana. Se acude a sus técnicas cuando es necesario incorporar en un sistema
informático,conocimiento o características propias del ser humano.
Podemos interrogar a algunas bases de datos de Internet en lenguaje natural, o incluso charlar
con ellas nuestro idioma, porque por detrás se está ejecutando un programa de Inteligencia
Artificial.
Otras herramientas inteligentes pueden utilizarse para escrutar entre los millones de datos
que se generan en un banco en busca de patrones de comportamiento de sus clientes o para
detectar tendencias en los mercados de valores.
Aplicabilidad a datos y problemas mal estructurados, sin las técnicas de Inteligencia Artificial
los programas no pueden trabajar con este tipo de problemas. Un ejemplo es la resolución de
conflictos en tareas orientadas a metas como en planificación, o el diagnóstico de tareas en un
sistema del mundo real: con poca información, con una solución cercana y no necesariamente
exacta.
Diferentes metodologías:
1.La lógica difusa: permite tomar decisiones bajo condiciones de incerteza.
2.Redes neuronales: esta tecnología es poderosa en ciertas tareas como la clasificación y el
reconocimiento de patrones. Está basada en el concepto de "aprender" por agregación de un
gran número de muy simples elementos.
Este modelo considera que una neurona puede ser representada por una unidad binaria: a
cada instante su estado puede ser activo o inactivo. La interacción entre las neuronas se lleva a
cabo a través de sinapsis. Según el signo, la sinapsis es excitadora o inhibidora.
El perceptrón está constituido por las entradas provenientes de fuentes externas, las
conexiones y la salida. En realidad un perceptrón es una Red Neuronal lo más simple posible,
es aquella donde no existen capas ocultas.
Para cada configuración de los estados de las neuronas de entrada (estímulo) la respuesta del
perceptrón obedece a la siguiente dinámica: se suman los potenciales sinápticos y se
comparan con un umbral de activación. Esta suma ponderada es también llamada campo. Si el
campo es mayor que un umbral, la respuesta de la neurona es activa, si no, es inactiva.
Con una arquitectura tan simple como la del perceptrón no se puede realizar más que una
clase de funciones "booleanas" muy simples, llamadas linealmente separables. Son las
funciones en las cuales los estados de entrada con salida positiva pueden ser separados de
aquellos a salida negativa por un hiperplano. Un hiperplano es el conjunto de puntos en el
espacio de estados de entrada, que satisfacen una ecuación lineal. En dos dimensiones, es una
recta, en tres dimensiones un plano, etc.
Si se quieren realizar funciones más complejas con Redes Neuronales, es necesario intercalar
neuronas entre las capas de entradas y de salida, llamadas neuronas ocultas. Una red
multicapas puede ser definida como un conjunto de perceptrones, ligados entre si por sinapsis
y dispuestos en capas siguiendo diversas arquitecturas. Una de las arquitecturas más
comúnmente usada es llamada feedforward: con conexiones de la entrada a las capas ocultas
y de éstas hacia la salida.
El funcionamiento de una Red Neuronal es gobernado por reglas de propagación de
actividades y de actualización de los estados.
Experiencia, Habilidades y Conocimiento
Los tipos de experiencia que son de interés en los sistemas basados en conocimiento, pueden
ser clasificados en tres categorías: asociativa, motora y teórica.
Los sistemas basados en conocimiento son excelentes para representar conocimiento
asociativo. Este tipo de experiencia refleja la habilidad heurística o el conocimiento que es
adquirido mayoritariamente, a través de la observación. Puede ser que no se comprenda
exactamente lo que ocurre al interior de un sistema (caja negra), pero se pueden asociar
entradas o estímulos con salidas o respuestas, para resolver problemas que han sido
previamente conocidos.
La experiencia motora es más física que cognitiva. La habilidad se adquiere fundamentalmente
a través del ejercicio y la práctica física constante. Los sistemas basados en conocimiento no
pueden emular fácilmente este tipo de experiencia, principalmente por la limitada capacidad
de la tecnología robótica.
La experiencia teórica y el conocimiento profundo permite que los humanos puedan resolver
problemas que no se han visto antes, es decir, no existe una posibilidad asociativa. El
conocimiento teórico y profundo se adquiere a través de estudio y entrenamiento formal, así
como por medio de la resolución directa de problemas.
Debido a su naturaleza teórica, este conocimiento se puede olvidar fácilmente, a no ser que se
use en forma continua. Al momento, los sistemas convencionales basados en conocimiento
tienen muchas dificultades para duplicar este tipo de experiencia. Sin embargo, los Sistemas
de Razonamiento Basado en Modelos representan un notable intento de encapsular este
conocimiento profundo y razonar con él.
Por Alan Lazalde 18/11/11 - 04:00
Inteligencia Artificial: Arquitectura automática
Si nos ponemos reduccionistas, la inteligencia artificial puede considerarse como un montón
de algoritmos especializados en la creación de máquinas inteligentes (lo que sea que
"inteligencia" signifique). Y un algoritmo no es más que matemática pura. Dicho esto, si
agregamos unos toques de inteligencia artificial al diseño de formas arquitectónicas, entonces
tendremos arquitectura artificial o algorítimica o automática, el nombre da un poco lo mismo,
pero de este tema quiero contarles a continuación. 2
Diseño algorítmico
No, no estoy hablando del diseño de algoritmos, que es toda una rama de las ciencias de la
computación, sino de la aplicación de algoritmos en el proceso creativo del diseño gráfico. Un
ejemplo claro de esto es el logotipo del MIT Media Lab, que puede recrearse de forma única
para cada persona como se muestra en el vídeo:
Al final de día tenemos una máquina de software que automatiza la tarea de diseñar. Si la
automatización está guiada por algoritmos inteligentes entonces los resultados pueden ser
más interesantes, incluso inesperados.
Arquitectura algorítmica
Consiste en tres aspectos básicos:
Desarollo de algoritmos que automatizan tareas de diseño arquitectónico o urbano (atención
con el trabajo de Kokkugia más abajo)
Creación de modelos de conocimiento arquitectónico computables; es decir que pueden ser
resueltos por una computadora en un tiempo y forma razonable
Generación automática de variaciones de las características de una arquitectura, en particular
de sus estructuras y objetos; en este sentido puede verse como una extensión especial, incluso
más compleja, del diseño algorítmico
El libro Algorithmic Architecture (2006) de Kostas Terzidis, profesor de Harvard Graduate
School of Design es referencia en el tema que nos ocupa, aunque no se enfoca del todo a
algoritmos de inteligencia artificial. Terzidis utiliza el término algotectura para referirse a la
misma cosa. Por otra parte,la tesis doctoral de Fco. Javier Fernández Herrero (2002), graduado
de la E.T.S. de Arquitectura de Madrid, es pionera en el área: Arquitectura Artificial o
Manierismo por Computadora (PDF, 13MB). Aquí hay un vídeo de su trabajo:
Trabajos
A continuación una pequeña muestra de trabajos arquitectónicos inspirados/creados con
algoritmos de inteligencia artificial. Es difícil encontrarlos como tales, muchas veces están
mezclados con otro tipo de algoritmos (geométricos, topológicos, por ejemplo). La
arquitectura artificial es un campo emergente e interdisciplinario que nos ofrecerá
interesantes sorpresas en el futuro.
Antes les dejo esta reflexión de Rodney A. Brooks en su Cambrian Intelligence, sobre la
vinculación entre inteligencia (artificial o no), la arquitectura y su interacción con el mundo:
A partir de ese momento dedicaría parte de su vida al estudio de la sustancia y sus posibles
usos en terapias paliativas.
Volviendo a la historia entre Jobs y Hofmann, el científico se preguntó tras leer la entrevista
hasta qué punto había influido en la vida de Jobs y en el crecimiento de Apple tras su pasado
con el ácido.
Este hecho le recordó al científico la entrevista a Jobs y se decidió a contactar con el gurú de
Apple. Con 101 años cumplidos, el inventor del LSD escribía la siguiente nota personal a Jobs.
Si una persona tan relacionada al éxito como Jobs pudiera apoyar los últimos estudios o la
importancia positiva que había tenido en su vida, Hofmann habría contribuido por última vez
al desarrollo de la misma:
Soy Albert Hofmann. Entiendo lo que has contado a los medios de comunicación sobre cómo el
LSD ayudó en tu creatividad y en el desarrollo de Apple Computers, en tu búsqueda espiritual
personal. Estoy interesado en aprender más sobre cómo el LSD te fue útil.
Te estoy escribiendo ahora, poco después de mi 101 cumpleaños, para solicitarte el apoyo en
el estudio propuesto por el psiquiatra suizo Dr. Peter Gasser sobre el LSD como ayuda de la
psicoterapia en pacientes con ansiedad asociada a una enfermedad potencialmente terminal.
El estudio se convertirá en la primera psicoterapia asistida por LSD en más de 35 años y será
patrocinada por MAPS.
Sinceramente
Albert Hofmann
Nos quedaremos toda la vida con las ganas de saber la respuesta de Jobs. Hofmann moriría
meses después de enviarle la carta, la cual ha visto la luz este año. Nunca sabremos hasta qué
punto influyó en Jobs el consumo del LSD ni la importancia (o no) que tuvo para Apple. Para
Hofmann si hubo premio antes de su muerte. La sustancia a la que le dedicó parte de su vida
tuvo una última victoria a finales del 2007. Las autoridades suizas permitieron que se llevaran a
cabo experimentos en psicoterapia con pacientes que sufren de enfermedades físicas
terminales. Se trataba del primer estudio sobre los efectos terapéuticos del LSD tras 35 años.
Inteligencia Artificial
Juan Ramón Peguero.
E-mail: jpeguero@unicaribe.edu.do
Lic. Informática,
Master en Gerencia y Productividad,
Master en BI y Big Data,
Grado Asociado en Tecnología Electrónica.
[Inteligencia Artificial]
Sistemas basados en Reglas (Sistemas Expertos)
Introducción
Representación del conocimiento
Estructura de un sistema basado en reglas
Base de hechos
Base de conocimientos
Motor de inferencias
Formas de inferencia
Propósito:
Entender los conceptos fundamentales de los Sistemas Expertos.
Comprender la estructura del sistema, así como conocer las técnicas
y herramientas básicas de los mismos.
Introducción.
El objetivo de la IA es la construcción de sistemas, tanto
hardware como software, que sean capaces de replicar aspectos
de lo que se suele considerar inteligencia.
“José T. Palma Méndez y Roque Marín Morales”
[Inteligencia Artificial]
Pensamiento Humano e Inteligencia Artificial
La IA es el conjunto de técnicas, métodos, herramientas y
metodologías que nos ayudan a construir sistemas que se
comportan de manera similar a un humano en la resolución
de problemas.
Representación del conocimiento &
Razonamiento lógico.
[Inteligencia Artificial]
Se llama razonamiento lógico al proceso mental de realizar
una inferencia a partir de un conjunto de premisas.
La representación del conocimiento y el razonamiento es un
área de la inteligencia artificial cuyo objetivo fundamental es
representar el conocimiento de una manera que facilite la
inferencia (sacar conclusiones) a partir de dicho
conocimiento.
Representación del conocimiento &
Razonamiento lógico.
Los investigadores en el ampo de IA se han ocupado de analizar
y generar técnicas y métodos que permiten la representación
simbólica del conocimiento humano de manera que pueda ser
aplicado al ámbito del computador.
[Inteligencia Artificial]
Representación del conocimiento &
Razonamiento lógico.
La representación debe ser:
Esencial .- (Abstracción de lo importante)
Formal .- Símbolos iguales tienen igual significado o
semántica.
[Inteligencia Artificial]
Cómo llegar de la
puerta del conde a la
catedral por la ruta más
corta.
Razonamiento lógico.
Al conjunto de (lenguaje + semántica), que sirven para
representar el conocimiento relacionado con la capacidad de
realizar ciertos razonamientos se llama lógica.
[Inteligencia Artificial]
La lógica es una ciencia formal que estudia los principios de
la demostración e inferencia válida.
La inferencia es el proceso por el cual se derivan
conclusiones a partir de premisas.
Razonamiento lógico.
Silogismo aristotélico.
[Inteligencia Artificial]
Todos los
hombres son
mortales
Sócrates es
un hombre
Sócrates es
mortal
Lógica proposicional.
Es un sistema formal cuyos elementos más simples representan
proposiciones, y cuyas constantes lógicas, llamadas conectivas,
representan operaciones sobre proposiciones, que a su vez
pueden formar otras proposiciones de mayor complejidad.
[Inteligencia Artificial]
Representación del conocimiento
Una proposición es una expresión en lenguaje natural que sólo
puede ser falsa o verdadera.
El suelo está mojado
Vs
Cuando terminamos la clase.
Las conectivas de la Lógica proposicional.
[Inteligencia Artificial]
Representación del conocimiento
Mediante la utilización de la lógica proposicional, podemos
expresar ciertos razonamientos.
Por ejemplo:
El objeto A se encuentra en el suelo.
El objeto B se encuentra en el suelo.
Entonces, si el robot levanta del suelo el objeto A o
puede levantar también el objeto B si brazo no lleno.
[Inteligencia Artificial]
Representación del conocimiento
p Brazo lleno p Brazo no lleno
rA V rB p
Para decidir la validez de una fórmula se suele utilizar lo que se
conoce como Arbol semántico o tablero semántico.
[Inteligencia Artificial]
Representación del conocimiento
La lógica de primer orden o lógica de predicados.
Es un sistema formal diseñado para estudiar la inferencia en los
lenguajes de primer orden.
Introduce variables para denotar elementos del dominio,
cuantificadores y predicados.
[Inteligencia Artificial]
Representación del conocimiento
En la representación del conocimiento, un dominio es un
fragmento del mundo acerca del que deseamos expresar un
determinado conocimiento.
La lógica de primer orden incorpora además las conectivas de la
lógica proposicional.
Combinando las conectivas con los predicados, constantes,
variables y cuantificadores, es posible formalizar oraciones más
completas.
Los predicados son tratados como funciones.
Esta función recibe un conjunto de cosas, las procesa, y
devuelve como resultado una única cosa.
A los elementos que entran a las funciones se las llama
argumentos.
A los que salen, valores o imágenes.
[Inteligencia Artificial]
Representación del conocimiento
Los cuantificadores serán símbolos:
= Cuantificador universal
∃ = Cuantificador existencial
Retomando el ejemplo del robot:
El objeto A se encuentra en el suelo.
El objeto B se encuentra en el suelo.
Entonces, si el robot levanta del suelo el objeto A o
puede levantar también el objeto B si brazo no lleno
Lo podríamos representar como:
∃x(q(x) → ¬p)
[Inteligencia Artificial]
Representación del conocimiento
Premisa todos los hombres son mortales
x(Hombre(x) mortal(x))
Socrates es un hombre
Hombre(Socrates)
Conclusión: Socrates es mortal
mortal(Sócrates)
[Inteligencia Artificial]
Representación del conocimiento
El profesor Edward Feigenbaum de la Universidad de Stanford
define sistemas expertos como:
“Un programa de computación inteligente que usa el
conocimiento y los procedimientos de inferencia para
resolver problemas que son lo suficientemente difíciles como
para requerir significativa experiencia humana para su
solución”
[Inteligencia Artificial]
Sistema Experto
[Inteligencia Artificial]
Sistema Experto
Dominio de problema .-
Es el área específica de
problema, como medicina, finanzas,
ciencias, ingeniería….
Dominio de conocimiento .-
Conocimiento del especialista
para resolver problemas específicos.
En su dominio de conocimiento, el sistema experto razona
o hace inferencias de la misma forma que un especialista
humano inferiría la solución.
El conocimiento de un sistema experto puede representarse
como:
Reglas, (sistema basado en reglas) .
Estos sistemas trabajan en ambiente determinista.
Sistemas expertos basados en probabilidad.
Estos son enfocados a situaciones de incertidumbre.
[Inteligencia Artificial]
Sistema basado en reglas.
[Inteligencia Artificial]
Sistema basado en reglas.
Estructura de un sistema basado en reglas
[Inteligencia Artificial]
Sistema basado en reglas.
Base de hechos (BH) o memoria de trabajo contiene
toda la información actual del problema o tarea a
resolver y aquellos que se van creando en el proceso
de inferencia.
Contiene las reglas utilizadas para representar el
conocimiento disponible de un determinado dominio.
La condición de la regla expresa algún tipo de test sobre
el contenido de la BH que se puede verificar o no.
Motor de inferencias (MI) la estrategia de
control o el interprete de reglas es el
mecanismo que sirve para examinar la BH
y decidir que reglas se deben disparar.
La búsqueda del conjunto de reglas que se pueden aplicar a la BH
se denomina equiparación.
El conjunto de reglas que se obtienen durante el proceso de
equiparación se denomina conjunto conflicto.
Cuando se selecciona una regla de todo el conjunto se llega a la
fase que se conoce como resolución del conjunto conflicto.
[Inteligencia Artificial]
Sistema basado en reglas.
[Inteligencia Artificial]
[Sistemas Expertos basados en reglas]
Regla 1: Si nota > 9, entonces calificación = sobresaliente
Regla 2: Si puesto < 20 o nota > 7, entonces Admitir = sí y
Notificar = sí.
[Inteligencia Artificial]
Formas de inferencia
El proceso de inferencia ha de establecer la verdad de
determinadas conclusiones a partir de la información que se
tiene en la base de hechos y la base de conocimientos.
Este proceso lo realiza el motor de inferencia lo realiza
generalmente siguiendo una de estas formas:
Encadenamiento hacia adelante
Se ejecutan las reglas cuyo antecedente sea cierto a
partir de la información que hay en sistema.
Encadenamiento hacia atrás.
Selecciona las reglas cuyo consecuente permite
demostrar cierta condición.
[Inteligencia Artificial]
Formas de inferencia
Tenemos un animal con las siguientes características:
• Tiene pelos
• Garras
• No se reproduce por huevos
• Dientes afilados
• Ojos sobresalientes
• Come carne
• En su cuerpo tiene rayas
• Es rápido
Tratar de determinar que animal es utilizando encadenamiento
hacia delante.
Determinar sus características a partir de la conclusión utilizando
encadenamiento hacia atrás.
[Inteligencia Artificial]
[Sistemas Expertos]
Cuando el conocimiento es difícil de adquirir o se basa
en reglas que sólo pueden ser aprendidas de la
experiencia.
Cuando la mejora continua del conocimiento es
esencial y/o cuando el problema está sujeto a reglas o
códigos cambiantes.
Cuando el conocimiento de los usuarios sobre el tema
es limitado.
Situaciones en las que se recomienda el uso de los
sistemas expertos.
[Inteligencia Artificial]
[Sistemas Expertos]
Campos de aplicación de los sistemas expertos.
[Inteligencia Artificial]
[Características de un Sistemas Expertos]
Alto desempeño .- Debe tener la capacidad de
responder a un nivel de competencia igual o superior al
de un especialista en el campo.
Tiempo de respuesta adecuado.- Debe actuar en un
tiempo razonable.
Confiabilidad.- Debe ser confiable.
Comprensible.- Debe ser capaz de explicar los pasos de
su razonamiento mientras se ejecutan de manera
comprensible.
Lectura recomendada
Capítulo 3, del libro:
Inteligencia Artificial, técnicas, métodos y aplicaciones.,
De José T. Palma Méndez y Roque Marín Morales.
----------------------------------------------------------------------------
Lectura adicional opcional:
Capítulo 2, del libro:
Inteligencia Artificial, técnicas, métodos y aplicaciones.,
De José T. Palma Méndez y Roque Marín Morales.
6. Sistemas Basados en Conocimiento (SBC)
(Knowledge-Based Systems: KBS)
Los SBC o Sistemas Expertos son sistemas de apoyo a la solución de
problemas cuyo desempeño está primordialmente en conocimiento “declarado” o
“explícito” (en contraposición al conocimiento “operativo” o “algorítmico”). Estos
sistemas derivan sus conclusiones de conocimiento almacenado en bases de
conocimiento, más que de algún algoritmo prefijado.
Una distinción entre SBC y programas convencionales es la separación
explícita de conocimiento y control. En un programa algorítmico típicamente el
flujo de control está entrelazado con la información en que se basa el algoritmo.
En cambio, en un SBC se distinguen 3 componentes distintivos:
1. Base de Conocimiento (BC, ó en inglés, KB)
2. Memoria de Trabajo (MT, ó en inglés, WM)
3. Máquina de Inferencia (MI, ó en inglés, IE).
Base de Conocimiento (BC):
Es un conjunto de reglas (u otro tipo de estructuras de representación,
como los “frames” o marcos), que representan el conocimiento de la materia de
interés.
Memoria de Trabajo (MT):
Contiene la información del problema específico que se trata, compuesto
por los datos de entrada originales y todas las inferencias hechas por el sistema a
partir de los datos.
Maquina de Inferencia:
La máquina de inferencia accesa los elementos de la MT, explora la BC,
identifica las reglas que son relevantes y las ejecuta, para generar una o más
conclusiones asociadas al problema específico (instancia).
Los SBC se clasifican en generaciones de acuerdo a su capacidad de
razonamiento y control.
6.1. Ejemplos de SBC
6.1.1. SBC de primera generación
Generalmente se enfoca a tareas bien definidas y limitadas, con énfasis en
rendimiento (basados en modelos “superficiales”), más que en entendimiento
(basados en modelos “profundos”). Los problemas típicos que resuelven esta
tecnología más limitada se describe con el concepto de “Problemas de
Clasificación” (Introducido por Clancey, 1984).
Los Problemas de Clasificación consisten en reconocer una situación a
partir de una colección de datos, y seleccionar la respuesta mas adecuada de
acuerdo a ciertos objetivos.
Figura 6.1. Esquema de solución de problemas de clasificación.
En la Figura 6.1 de puede apreciar un esquema mediante el cual se
pueden resolver los problemas en cuestión. En dicha figura se pueden mencionar
los siguientes aspectos relevantes para solucionar los problemas:
1. Los datos: que se generan desde varias fuentes y se interpretan como un
patrón predefinido.
2. El patrón reconocido: el cual se mapea a un conjunto de soluciones posibles.
3. Una de sus soluciones: la que se selecciona como la más apropiada para el
caso dado.
Gestión de actividades
Planificación Definir las actividades
Especificar la prioridad de las actividades
Requerimientos de los recursos
Hitos
Duración
Responsabilidades
Programación Asignación de tiempos de inicio y finalización.
Resolver los conflictos en la programación de tareas con la misma
prioridad.
Crónica Monitorear desempeño del proyecto.
Análisis Analizar planes, programas y actividades de la
crónica.
Gestión de Recursos
Previsión de las necesidades de recursos
Adquirir los recursos
Asignar responsabilidades para el uso óptimo de los recursos
Proporcionar los recursos críticos 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 términos de las etapas que atraviesa un sistema.
Figura 6.2 Etapas generales en el desarrollo de un sistema experto
El problema de la entrega.
¿Cómo se entregará el sistema?
Si bien es conveniente y puede reducir al mínimo el tiempo de desarrollo utilizar una estación
de
trabajo de punta, a menudo es demasiado costoso para entregar el sistema en estas
estaciones de
trabajo.
Por ejemplo, una estación de trabajo que tiene US $ 100.000 en hardware y software es
bastante
cara para su uso en las oficinas una empresa. Además, las tasas anuales de mantenimiento
pueden
aumentar aún más el costo considerablemente.
Dependiendo del número de sistemas expertos para su implementación, 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 deberán ser capaces de funcionar con hardware
estándar. 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 comunicación y la coordinación de entrada/salida del sistema experto con estos
programas. También puede ser necesario llamar a los sistemas expertos como un
procedimiento de
un lenguaje de programación convencional, y el sistema debe apoyar esto.
Mantenimiento y Evolución.
¿De qué manera el sistema será mantenido y evolucionará?
El mantenimiento y la evolución de un sistema experto es más 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 sistemática y eficaz de recopilar
informes de errores de los usuarios. Mientras que la recopilación y reparación de los informes
de
error no es de alta prioridad en los sistemas de investigación de calidad, es una alta prioridad
en los
sistemas de calidad comercial. Un buen mantenimiento se puede hacer sólo si los informes de
errores se adquieren.
La mejora de un sistema experto después de la entrega es también más de una preocupación
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 están dispuestos a pagar
por
mejoras. En un sentido muy real, un sistema experto comercial nunca puede ser acabado, sólo
sigue
mejorando.
6.4 ERRORES EN LAS ETAPAS DE DESARROLLO
Los errores de mayor potencial del desarrollo de sistemas expertos se pueden clasificar por las
etapas más probables en que se producen, como se ilustra en la Figura 6.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 erróneo, los resultados pueden ser
propagados a través del proceso de desarrollo. Como se mencionó en el capítulo 1, un
beneficio secundario de la construcción de un sistema experto es la detección potencial de
conocimiento erróneo cuando el conocimiento del experto, se hace explícito.
Para los proyectos de misión crítica en la que la vida humana y la propiedad están 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 técnicas de vuelo, que revisan regularmente soluciones
a los problemas y las técnicas de análisis utilizadas para desarrollar las soluciones (Culbert
87). 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
erróneo es más fácil de corregir. Cuanto más tiempo el conocimiento erróneo pasa
desapercibido, más caro que es corregirlo. Si el conocimiento del experto no es inicialmente
verificado, la prueba definitiva es la validación del sistema experto. La validación 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 semánticos. Un error de semántica 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
semánticos 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
construcción de la base de conocimiento se deben a errores de la fuente del conocimiento que
no se han detectado en las etapas anteriores.
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 deberían ser encontrados.
Sin embargo, puede haber errores que sólo aparecen en raras circunstancias tales como
tener 159 reglas en la agenda. Algunos errores pueden ser muy sutiles y sólo aparecen en
ciertas operaciones de reconocimiento de patrones.
En general, los errores del motor de inferencia pueden aparecer en reconocimiento de
patrones, resolución de conflictos, y la ejecución de las acciones. Estos errores pueden ser
difíciles de detectar si no son consistentes. Si la herramienta de sistema experto se utiliza
para aplicaciones de misión crítica, se debe determinar cómo la herramienta fue validada.
El método más simple de comprobar si hay errores de herramienta es el clásico 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 cuánto tiempo la herramienta ha estado en uso. Un grupo de usuarios es una excelente
fuente de información.
Los errores de la cadena de inferencia. Estos errores pueden ser causados por el
conocimiento erróneo, errores semánticos, errores de motor de inferencia, la especificación
incorrecta de la prioridad de las reglas, y las interacciones no planificadas entre las reglas. Los
errores de la cadena de inferencia más complejos se deben a la incertidumbre de las reglas y
las pruebas, la propagación de la incertidumbre en la cadena de inferencia, y no
monotonicidad.
La elección de un método para tratar la incertidumbre no se resuelve automáticamente
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.
Límites de los errores de la ignorancia. Un problema que es común a todas las etapas
de desarrollo es especificando los límites de la ignorancia del sistema. Como se mencionó en
el capítulo 1, los expertos humanos conocen el alcance de sus conocimientos y sus
actuaciones se degradan correctamente (esperamos) en los límites 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é específicamente programado para admitir la incertidumbre, es posible
que siga proporcionando respuestas, incluso si la cadena de inferencia y las pruebas son
débiles.
6.5 INGENIERÍA DE SOFTWARE Y SISTEMAS EXPERTOS
En las secciones anteriores hemos hablado de las consideraciones generales en el uso del
paradigma de los sistemas expertos. Ahora vamos a examinar las etapas de desarrollo de
sistemas
expertos desde la perspectiva más técnica del ingeniero del conocimiento que de hecho
construye el
sistema.
Dado que los sistemas expertos se han trasladado fuera de la fase de investigación existe una
necesidad real para entregar software de calidad a los estándares del software convencional.
La
metodología aceptada para el desarrollo de software de calidad para los estándares
comerciales,
industriales, y el gobierno es la ingeniería de software.
Es importante seguir los buenos estándares en el desarrollo de un producto o el producto
probablemente no será de buena calidad. Los sistemas expertos ahora deben considerarse un
producto como cualquier otro producto de software, tales como un procesador de textos,
programa
de nóminas, juego de ordenador, y así sucesivamente. Sin embargo, existe una diferencia
significativa de la misión entre los sistemas expertos y los productos típicos de consumo, tales
como
procesadores de texto y video juegos. La misión se refiere a la finalidad general de un proyecto
o
una tecnología. La tecnología de sistemas expertos en general, tiene una misión seria de ser
fuente
de conocimientos técnicos en situaciones de alto rendimiento y posiblemente peligrosa en
donde la
vida humana y la propiedad están en juego. Estas son las aplicaciones de misión crítica que se
mencionó en la sección anterior.
Aplicaciones de misión crítica son diferentes de la más relajada misión de los procesadores de
texto
y videojuegos, que es aumentar la eficiencia y las actividades recreativas. La vida humana no
puede
depender de un error en un procesador de textos o un videojuego (o al menos no debería).
Los sistemas expertos son sistemas de alto rendimiento que deben ser de alta calidad o serán
propensos a errores. La ingeniería de software ofrece metodologías para la construcción de
software
de calidad, como se ilustra en la Figura 6.4.
Figura 6.4 Metodología de la Ingeniería de Software
La calidad es un término difícil 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 término 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 podría tener un TMEF de 1000 horas de uso entre los fallos,
mientras que una unidad poco confiable podría tener un TMEF de 100 horas.
La tabla 6.1 da una lista de algunos indicadores que pueden ser utilizados en la evaluación de
la
calidad de un sistema experto. Estas cifras sólo se deben tomar como guía ya que un sistema
específico de expertos puede tener más o menos de estos. Sin embargo, el concepto
importante es
tener una lista de indicadores necesarios que pueden ser utilizados en la descripción 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 demás. Por ejemplo, el aumento de las pruebas de un
sistema
experto para asegurar su exactitud aumentará el costo. Decidir cuándo finalizan las pruebas es
generalmente una decisión compleja que involucra los factores de horarios, costos y
requisitos.
Idealmente, tres de estos requisitos deben ser satisfechos. En la práctica, algunos pueden ser
juzgados más importantes que otros y las limitaciones de satisfacer todos los factores se
debilitarán.
Salidas correctas dado una entrada correcta.
Salida completa dado una entrada correcta.
Salida consistente, dada la misma entrada de nuevo.
Confiable para que no falle (a menudo) debido a los errores.
Útil para las personas y, preferiblemente, de fácil uso.
Mantenible.
Mejorable.
Validado para demostrar que satisface necesidades y peticiones del usuario.
Prueba para demostrar exactitud e integridad.
Rentable.
Código reutilizable para otras aplicaciones.
Portable a otros hardwares / software de entorno.
Compatible con otros programas.
Código comprensible.
Preciso.
Degradación elegante en los límites del conocimiento.
Capacidad incorporada con otros idiomas.
Base de conocimiento verificado.
Explicación de instalación.
Planificación.
Requerimientos.
Adquisición de conocimientos.
Pruebas.
Representación de las etapas de los productos.
Documentación.
Código.
Diagramas.
Modelo Código y corregir
Una serie de modelos de procesos se han utilizado para el desarrollo de software. El primer
"modelo''
es el famoso modelo código y corregir, en el que parte del código está escrito y luego se
corrige
cuando no funciona bien (Boehm 88). Este suele ser el método de elección para los nuevos
estudiantes de programación tanto en la programación convencional y sistemas expertos.
En 1970 las deficiencias en el enfoque de código y corregir eran tan evidentes que el modelo
de
cascada fue desarrollado para proporcionar una metodología sistemática que fue
especialmente útil
para grandes proyectos. Sin embargo, hubo dificultades con el modelo de cascada, ya que
asume
que toda la información necesaria para una etapa era conocida. En la práctica, a menudo no
era
posible escribir los requisitos completos hasta que el prototipo había sido construido. Esto
llevó al
concepto "hacerlo dos veces", en el cual se construyó un prototipo, los requisitos
determinados, y
entonces el sistema final fue construido.
Modelo Incremental
El modelo de cascada incremental es un refinamiento de la cascada y de la norma de arriba
hacia
abajo. La idea básica 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 también para desarrollo de sistemas
expertos,
en el que la adición 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 más importantes son de
asistente, a algún conocido, y de colega a experto. Los incrementos menores corresponden a
incrementos de especialización dentro de cada nivel que ofrecen algún aumento significativo.
Un
micro incremento es el cambio en la experiencia mediante la adición o mejoramiento de un
estado
individual.
La principal ventaja del modelo incremental es que los incrementos en capacidad funcional son
más
fáciles 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 validación de todo al final. Esto disminuye el costo de la
incorporación
de las correcciones en el sistema. En esencia, el modelo incremental es similar al de un
prototipo
rápido continuo que se extiende sobre todo el desarrollo. Y no sólo un prototipo rápido de las
etapas
iniciales para determinar los requisitos en el enfoque "hacer dos veces", el prototipo en
evolución es
el sistema.
Modelo Espiral
Una forma de visualizar el modelo incremental es una adaptación del modelo espiral
convencional,
como se muestra en la Figura 6.6. Cada circuito de la espiral añade 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 evolución del
sistema. La
espiral puede ser refinada para especificar con mayor precisión las etapas generales de
adquisición
de conocimientos, de codificación, evaluación y planificación.
Planificación
El propósito de la etapa de planificación 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 utilizarán para
orientar y evaluar el desarrollo. En la Tabla 6.2 se muestran las tareas en esta etapa.
Tarea Objetivos
Evaluación de Viabilidad Determinar si vale la pena construir el sistema y,
de ser así, si la tecnología del sistema experto
debe ser utilizada.
Manejo de los Recursos Evaluar los recursos de las personas, tiempo,
dinero, software y hardware necesario. ¿Cómo
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.
Diseño Funcional Preliminar Definir lo que el sistema debe lograr mediante la
especificación de las funciones de alto nivel del
sistema. Esta tarea especifica el objetivo del
sistema.
Requerimientos de Alto Nivel Describir en términos de alto nivel cómo 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 Identificación de la fuente y la selección.
Tarea Objetivo
Identificación de la Fuente Quién 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 más accesibles que los
expertos humanos.
Selección de la Fuente Seleccionar las fuentes de conocimiento basadas en
la importancia y disponibilidad.
Tabla 6.3 Identificación de la fuente del conocimiento y las tareas de selección
Las estructuras internas de hechos descritos en la Tabla 6.5 se discuten con más detalle en los
capítulos de CLIPS. La idea básica de especificar las estructuras de hechos es la adaptación 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 información adicional con el hecho como "precio es 10" o,
mejor
aún, "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 través de la construcción deftemplate de las
normas, y también a través de objetos.
En algunos lenguajes de sistemas expertos los campos pueden tener tipos fuertes para que
sólo 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 diseño del conocimiento se
muestra en la tabla 6.6.
El producto de la etapa de diseño detallada es la línea de referencia del documento de diseño
desde
el que se puede proceder la codificación. La línea de referencia del documento de diseño se
somete
a un sistema de conocimientos de revisión del diseño como una revisión final antes de que
comience
la codificación.
Tarea Objetivo
Diseño de la Estructura Especificar cómo el conocimiento está organizado
lógicamente en la base de conocimientos y lo que
hay en la base de conocimientos.
Estrategia de la
Implementación
Especificar cómo el sistema se ejecutará.
Interfaz de Usuario
Detallada
Especificar la interfaz de usuario detallada después
de recibir comentarios de los usuarios desde el
diseño preliminar de la interfaz de usuario.
Especificaciones de Diseño
e Informe
Documentar el diseño.
Plan de Pruebas Detallado Especificar exactamente cómo el código será
probado y verificado.
Tabla 6.6 Tareas detalladas del diseño del conocimiento.
Código y comprobación
La tabla 6.7 describe el código y la etapa de comprobación, el cual comienza la
implementación del
código actual.
Tarea Objetivo
Codificación Implementar la codificación.
Prueba Código de ensayo a partir de datos de prueba,
pilotos de pruebas, y procedimientos de análisis de
pruebas.
Listado de Origen Producir comentarios, código fuente documentado.
Manual de Usuario Producir manual de usuario de trabajo de lo que los
expertos y los usuarios pueden proporcionar
información sobre el sistema.
Guía de Instalación / Uso Documento de instalación / funcionamiento del
sistema para los usuarios.
Documento de Descripción
del Sistema
Documento general del funcionamiento del sistema
experto, las limitaciones y problemas.
Tabla 6.7 Tareas de Codificación y Prueba
Esta etapa termina con la de prueba de revisión de Disponibilidad, que determina si el sistema
experto está listo para la siguiente etapa de la verificación del conocimiento.
Verificación de Conocimientos
El objetivo de la fase de verificación del conocimiento es determinar la exactitud, integridad y
coherencia del sistema. Esta etapa se divide en dos tareas principales:
Pruebas formales.
Prueba de análisis.
La tabla 6.8 describe las tareas de prueba formal de la etapa de verificación 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 verificación de conocimientos
Las tareas de la prueba de análisis se muestran en la Tabla 6.9. La prueba de análisis 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
combinación 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
Evaluaciones
Analizar los resultados de las pruebas
Recomendaciones Documentar recomendaciones y conclusiones de
las pruebas
Tabla 6.9 Tareas de pruebas de análisis
Tareas Objetivos
Evaluación de Resultados Resumir el resultado de pruebas y verificación
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 Evaluación del sistema.