Monografias.com > Educación
Descargar Imprimir Comentar Ver trabajos relacionados

Herramientas para el desarrollo de Sistemas Expertos: guía evaluativa




Enviado por MARCO QUIJADA



Partes: 1, 2

  1. Introducción
  2. Sistemas Expertos
  3. Características de un Sistema
    Experto
  4. Capacidades de los Sistemas
    Expertos
  5. ¿Cuándo usar Sistemas
    Expertos?
  6. Componentes de los Sistemas
    Expertos
  7. Conclusiones
  8. Recomendaciones
  9. Bibliografía

Introducción

Resulta difícil cambiar el pensamiento de la
sociedad al establecer las nuevas tecnologías que sirven
de apoyo hoy día para el hombre en la realización
de diversas actividades que en tiempos pasados requerían
de mucha entrega y dedicación. Más aun con la
aparición de diversas metodologías que hacen de
estos aportes un instrumento indispensable para muchas
organizaciones e instituciones que se basan en estas herramientas
inteligentes para crear, diseñar, establecer, y
estructurar diferentes posturas que le ayudan en la toma de
decisiones.

Durante años la actividad de la Inteligencia
Artificial estuvo dedicada a las investigaciones teóricas
y al desarrollo de experimentos a través de programas que
demostraran actitudes inteligentes. Quizás al principio
este tipo de herramientas estaban destinadas para actuar por si
solos, pero en el camino el hombre le encontró una
utilidad que las caracteriza como sistemas que ayudan a mejorar
la eficacia de las organizaciones en el desempeño de sus
actividades.

Actualmente cada vez es mayor el número de
usuarios que utilizan sistemas expertos, en diversos campos,
tales como en el análisis financiero,
interpretación de imágenes, pronóstico de
tiempo, auditoría e impuestos, planeación de
operaciones, diagnóstico médico, diseño de
redes, etc. Las utilizan instituciones como Microsoft que
incorpora en sus paquetes sistemas expertos de ayuda al usuario,
la NASA para apoyar el lanzamiento de sus cohetes, Digital
Equipment Corp. para el diagnóstico de fallas de equipos,
etc. Tomando en cuenta el ejemplo de la NASA, cuántos no
hemos visto en la televisión como los sistemas son
lanzados por ellos al espacio para la realización de
estudios astronómicos, y el control que tienen sobre los
mismos para su actuación a través de comandos ya
preestablecidos lo cual ayuda en la recolección de
muestras y así obtener resultados más eficientes,
reemplazando por completo al hombre en la realización de
este tipo de actividades.

Surgió la inquietud de elaborar el presente
trabajo monográfico, con el que se busca ofrecer a los
profesionales informáticos, y a todo aquel que le interese
el mundo de la tecnología, una serie de fundamentos de
carácter evaluativo de diversas aplicaciones o
herramientas utilizadas para el desarrollo de sistemas expertos,
a fin de poder elegir más conocimiento para su
aplicación en un futuro proyecto de sistemas basados en el
conocimiento.

El estudio monográfico se enfocó en las
herramientas que se utilizan para crear sistemas expertos y
presentando un guía evaluativa que ayude en la toma de
decisiones. El mismo presenta en su primera parte conceptos
relacionados a los sistemas expertos, historia,
características, trascendencias y limitaciones que estos
poseen. Podemos encontrar además en una segunda parte
herramientas utilizadas para el desarrollo de sistemas expertos,
características, descripción general,
descripción y los requisitos del sistema para su posterior
uso. En una tercera parte podemos encontrar una guía
evaluativa para las herramientas que se utilizan para desarrollar
sistemas expertos y en cual se detallan aspectos como las
métricas, las características funcionales,
contextos, metodologías, siendo una modelo efectivo de
evaluación.

Sistemas
Expertos

Concepto.

Un sistema experto o sistema basado en el conocimiento
es un sistema informático capaz de emular las prestaciones
de un experto humano en un área concreta de conocimiento
especializado.

Los Sistemas expertos sirven para resolver cuestiones
complejas, en las cuales hay muchos factores involucrados, se
necesita tener en cuenta una amplia base de datos
históricos, y donde se puede definir alguna regla que
permita la toma de decisiones rápida. Actualmente son
aplicados con éxito en: medicina, química,
biología, administración, industria,
etc.

Los Sistemas Expertos están basados en
conocimientos porque se desarrollan para asignarles tareas
específicas que requieren una gran cantidad de
conocimiento de un dominio de experiencia particular,
proporcionan experiencia en forma de diagnósticos,
instrucciones, predicciones o consejos ante situaciones reales
que se planteen y pueden servir también como herramientas
de entrenamiento. Son aplicables a numerosos campos de
experiencia, como medicina, actividades militares,
económicas financieras e industriales, ciencia,
ingeniería, y derecho. Más concretamente, el
sistema experto debe ser capaz de llevar a cabo las siguientes
tareas:

  • Aceptar las consultas que el usuario realice acerca
    de una situación dada del mundo real.

  • Aceptar los datos proporcionados por el usuario
    acerca de esta situación, y solicitar otros datos que
    el sistema estime relevantes.

  • Procesar esta información, en busca de una
    respuesta a la consulta planteada.

  • Emitir la respuesta hallada, que debe ser
    análoga en la mayor parte de los casos a la respuesta
    que daría un experto humano.

  • Justificar la respuesta finalmente emitida, siempre
    que el usuario así lo solicite.

Reseña histórica.

Aunque la idea de construir una máquina pensante
o por lo menos un autómata que incorporare capacidades
asociadas al ser humano han existido desde la antigüedad.
Las investigaciones para dotar a los ordenadores de
características semejantes a las que presenta la
inteligencia humana, se han desarrollado en los últimos 30
años.

Como hitos más importantes en este periodo
podemos señalar los siguientes:

1950: Alan Turing presentó un estudio
sobre la Inteligencia Artificial, "Computing Machinery and
Intel1igence". En este documento, propuso su test (Turing test)
para determinar cuándo una máquina posee
inteligencia artificial. En un primer documento, Turing
había sugerido la posibilidad de simular el comportamiento
del cerebro humano.

1955: IPL-II (Information Processing Language II)
Lenguaje de Procesamiento de Información, primer lenguaje
de Inteligencia Artificial. Fue creado por Alien Newell, J.C.
Shaw y Herbert Simón. IPL es un lenguaje basado en proceso
de listas y puede considerarse como un antecesor del LISP,
lenguaje más usado actualmente en Inteligencia
Artificial.

1956: La Conferencia de Darmouth sobre
Inteligencia Artificial, organizada por John McCarthy, Marvin
Minsky, Mathaniel Rochester y Claude Shannon con fondos de la
Fundación Rockefeller, reunió a profesionales que
habían trabajado en el campo de la Inteligencia
Artificial.

1957: Newell, Shaw y Simón comienzan el
desarrollo del GPS (General Problem Solver) Solución
General de Problemas. Con este sistema que puede ser considerado
como el arquetipo del "paradigma del poder" se pretendió,
como su nombre indica, construir un sistema de propósito
general que resolviera cualquier tipo de problema.

1981: Japón anuncia su proyecto de Quinta
Generación de Ordenadores.

1982: Inicia en Tokio sus actividades el ICOT
(Instituto para la Nueva Generación de Ordenadores). Como
respuesta al programa de la Quinta Generación
japonesa:

Estados Unidos, crea MCC (Microelectronics and Computer
Technology Corporation) Corporación Tecnológica de
Computadores Micro-electrónicos, y el (strategic Computer
Project) Proyecto Informático
Estratégico.

Inglaterra inicia el programa Alvey de tecnología
avanzada para investigar sobre la Quinta
Generación.

1983: La Comunidad Europea crea el proyecto
ESPRIT para competir en la carrera por el ordenador de la Quinta
Generación.

El Instituto Turing en la Universidad de Strathclyde en
Edimburgo (Escocia), ofrece formación en temas relativos a
la Inteligencia Artificial.

1984: Comienza la explotación comercial de
los desarrollos tecnológicos alcanzados dentro de la
Inteligencia Artificial.

Trascendencia de los Sistemas
Expertos.

La Inteligencia Artificial es una de las áreas de
la Tecnología de la Información que más
expectativas está despertando en el momento actual,
quizás esperando unas realidades a corto plazo que
difícilmente podrán verse realizadas, si antes no
se consiguen mejores "herramientas", más adecuados
métodos y se establecen más sólidos
principios teóricos que los actuales.

Sin embargo, una de las razones de que se haya
despertado el mayor interés en el área, es debido a
la creación de los llamados Sistemas Expertos,
especialmente por las aplicaciones prácticas que
están produciéndose en todos los
sectores.

Estos sistemas cuentan con el apoyo del almacenamiento
del conocimiento relativo a un campo muy concreto y que, mediante
una serie de inferencias, producen la respuesta que un experto
daría en la materia.

Esta tecnología ha demostrado sus posibilidades
en áreas como el diagnóstico y tratamiento de
infecciones para ayudar a los médicos a elegir la terapia
adecuada, o que combinan el diagnóstico y
facturación para hospitales, o la exploración de
minerales, o el diseño de ordenadores, o el
diagnóstico de fallos de maquinaria, etc. En cambio, no
han visto su extensión en el grado que sería
previsible a las áreas económicas, con lo cual se
conseguiría una mayor generalización de los mismos.
Una de las razones importantes es que, detrás de todo
Sistema Experto hay un experto de carne y hueso.

Características de un Sistema
Experto

  • Pueden explicar su razonamiento o decisiones
    sugeridas.
    La capacidad de explicar cómo se
    llegó a una decisión o
    solución.

  • Puede mostrar un comportamiento
    "inteligente".
    Al examinar un grupo de datos, un SE puede
    proponer nuevas ideas o métodos para la
    solución del problema, o proporcionar asesoramiento en
    el trabajo para los trabajadores.

  • Puede obtener conclusiones de relaciones
    complejas.
    Evaluar relaciones complejas para llegar a
    conclusiones y solucionar problemas, por ejemplo: un SE
    propuesto trabajará con un sistema de
    fabricación flexible para determinar la mejor
    utilización de las herramientas, y otro
    sugerirá los mejores procedimientos de control de
    calidad.

  • Puede proporcionar conocimientos acumulados.
    Se puede usar para capturar conocimientos de humanos que de
    lo contrario podrían perderse. Ejemplo es el SE
    denominado DELTA (Diesel Electronic Locomotive
    Troble-shooting Aid), desarrollado para conservar el
    conocimiento de David Smith, único ingeniero
    competente para manejar muchas reparaciones extremadamente
    técnicas de esas máquinas, cuando llegó
    el momento de su jubilación.

  • Puede hacer frente a la incertidumbre. Una de
    las características más importantes de un SE es
    su capacidad para enfrentar conocimientos incompletos o
    inexactos en su totalidad. Mediante el uso de las
    probabilidades, las estadísticas y las
    heurísticas.

  • 1. Características que limitan su
    utilidad.

  • No se han usada o probado en forma extensa.
    Los SE no se emplean en un gran número de
    organizaciones.

  • Dificultad de uso. Algunos sistemas expertos
    son difíciles de controlar y usar. En algunos casos se
    requiere del uso de personal de computación, o del
    personas capacitadas en el uso de SE, para ayudar al usuario
    a obtener todo lo más posible de estos
    sistemas.

  • Están limitados a problemas relativamente
    sencillos.
    Algunos sistemas expertos pueden realizar
    análisis de datos complejos, otros están
    limitados a problemas sencillos.

  • No pueden enfrentar con facilidad conocimientos
    "mixtos":
    Un SE en una aplicación quizá no
    pueda hacer frente a conocimientos que combinen tanto reglas
    como casos.

  • Posibilidad de error: Algunos sistemas
    expertos tienen capacidades limitadas para aprender de la
    experiencia, la fuente principal de conocimientos es un
    experto humano. Si este conocimiento es incorrecto o
    incompleto, afectará al sistema en forma
    negativa.

  • Dificultad de mantenimiento: Los SE pueden
    ser difíciles de actualizar. Algunos no responden o no
    se adaptan a condiciones cambiantes.

  • Pueden tener costo altos de desarrollo:
    Cuando se usan los lenguajes y métodos de
    programación tradicionales. Se puede lograr una
    reducción considerable en los costos de desarrollo si
    se emplea software para el desarrollo de SE.

  • Ocasionan preocupaciones legales y
    éticas:
    Las personas que toman decisiones y llevan
    a cabo acciones son responsables, desde el punto de vista
    legal y ético, por su comportamiento. Por ejemplo, una
    persona puede ser procesado y condenada por un
    delito.

Capacidades de los
Sistemas Expertos

En comparación con otros tipos de sistemas de
información, los SE ofrecen varias capacidades poderosas y
beneficios. Por ejemplo, con frecuencia se usa un SE denominado
XCON para diseñar configuraciones de sistemas de
computación, pues realiza, en forma consistente, un mejor
trabajo que los seres humanos.

Los Sistemas Expertos se pueden usar para solucionar
problemas en todos los campos y disciplinas y ayudar en la
totalidad de las etapas del proceso de solución de
problemas.

  • Fijación de objetivos
    estratégicos.
    Un SE puede ayudar a los
    administradores de alto nivel de la compañía a
    determinar los costos y beneficios que existen en producir
    vinos de mayor calidad y cambiar su imagen en el
    mercado.

  • Planeación. Un SE puede ayudar a este
    proceso mediante la sugerencia de factores que se deben
    considerar al tomar la decisión final, sobre la base
    de datos proporcionados por la
    administración.

  • Diseño. Estos SE usan principios
    generales de diseño, comprensión de los
    procedimientos de fabricación y un grupo de reglas de
    diseño.

  • Toma de decisiones. Pueden sugerir posibles
    alternativas, formas de contemplar los problemas y
    métodos lógicos al proceso de toma de
    decisiones. Además, los Sistemas Expertos pueden
    mejorar el proceso de aprendizaje para aquellos que no tienen
    tanta experiencia en tomar decisiones.

  • Control y supervisión de calidad. Los
    SE computarizados pueden ayudar a supervisar varios sistemas
    y proponer soluciones a problemas que se presenten en ellos.
    Los SE también se pueden usar para supervisar la
    calidad de los productos. Cuando las máquinas
    funcionan en forma deficiente, el SE puede ayudar a
    determinar las causas posibles.

  • Diagnóstico. Puede proporcionar al
    médico la probable causa de enfermedad y proponer
    tratamientos u operaciones. En los negocios también
    diagnóstica posibles problemas y
    soluciones.

¿Cuándo
usar Sistemas Expertos?

El desarrollo de Sistemas Expertos complejos puede ser
difícil, costoso y requerir de tiempo y además de
saber cuándo utilizarlo, por lo tanto, es importante
asegurarse de que los posibles beneficios valen el esfuerzo y que
las diversas características de los Sistemas Expertos se
equilibren, en términos de costo, control y
complejidad.

  • Cuando proporciona un alto potencial de rendimiento
    o reduce el riesgo

  • Cuando captura y conserva conocimientos humanos
    irremplazables.

  • Cuando desarrolla un sistema más consistente
    que los expertos humanos.

  • Cuando proporcionar los conocimientos necesarios en
    varias ubicaciones al mismo tiempo o en un ambiente hostil
    peligroso para la salud humana.

  • Cuando proporciona conocimientos costosos y poco
    comunes.

  • Cuando proporciona los conocimientos necesarios para
    la capacitación y el desarrollo con el
    propósito de compartir los conocimientos y la
    experiencia de expertos humanos con un gran número de
    personas.

Componentes de los
Sistemas Expertos

  • La base de conocimientos. Almacena toda la
    información, datos, reglas, casos y relaciones
    importantes que utiliza el SE. Para cada aplicación
    única se tiene que desarrollar una base de
    conocimientos. Por ejemplo, un SE médico
    contendrá hechos sobre enfermedades y síntomas.
    La base de conocimientos puede incluir conocimientos
    genéricos provenientes de teorías que se han
    establecido con el tiempo y conocimientos específicos
    que provienen de experiencias más recientes y de
    reglas prácticas.

El propósito de una base de conocimientos es
contener los hechos y la información pertinentes para el
SE específico. Una base de conocimientos es similar a la
suma total de los conocimientos y experiencias de los expertos
humanos que se obtienen a través de años de trabajo
en un área o disciplina específica.

Una base que contiene información proporcionada
por diversos expertos puede ser extremadamente eficiente y exacta
desde el punto de vista de sus sugerencias y
pronósticos.

Otro reto para los diseñadores y desarrolladores
de Sistemas Expertos es capturar conocimientos y relaciones que
no son precisos o exactos.

  • El uso de reglas. Una regla es una
    instrucción condicionada que enlaza determinadas
    condiciones con acciones o resultados. La regla se crea por
    medio de construcciones de si-entonces.

  • El uso de casos. Un SE puede usar casos al
    desarrollar la solución a un problema o
    situación actual. El proceso incluye: encontrar casos
    almacenados en la base de conocimientos, que sean similares
    al problema y poder modificar las soluciones a los casos para
    adaptarlas, o acomodarlas, al problema o la situación
    actual.

  • El motor de inferencias. El propósito
    general de un motor de inferencias es buscar
    información y relaciones en la base de conocimientos,
    y proporcionar respuestas, pronósticos y sugerencias
    en la misma forma en que lo haría un experto humano.
    En otras palabras, el motor de inferencias es el que
    proporciona el consejo experto.

  • Encadenamiento inverso. Es el proceso de
    comenzar con conclusiones y trabajar hacia atrás hasta
    los hechos de soporte. Si los hechos no apoyan la
    conclusión, se elige y prueba otra.

  • Encadenamiento hacia delante. Se inicia con
    los hechos y trabajo hacia delante hasta las
    conclusiones.

  • Comparación del encadenamiento inverso y
    el encadenamiento hacia delante.
    El encadenamiento hacia
    delante puede llegar a conclusiones y producir más
    información con menos consultas para el usuario que el
    encadenamiento inverso, pero este método requiere
    más procesamiento y un mayor grado de
    sofisticación.

  • Los recursos de explicaciones. Una parte
    importante del Sistemas Expertos son los recursos de
    explicaciones que le permiten al usuario, o al responsable de
    tomar las decisiones comprender en que forma llegó el
    Sistemas Expertos a ciertas conclusiones o
    resultados.

  • Los recursos de adquisición de
    conocimientos.
    Una tarea difícil en el desarrollo
    de un sistema experto es el proceso de crear y actualizar la
    base de conocimientos. En la actualidad, existe software
    especializado que les permite a los usuarios y a quienes
    toman las decisiones crear y modificar sus propias bases de
    conocimientos.

  • La interfaz del usuario. Sirve para
    diseñar, crear, actualizar y usar los Sistemas
    Expertos. El propósito general de la interfaz del
    usuario es facilitar a los usuarios y a los que toman las
    decisiones el desarrollo y el uso de un Sistema
    Experto.

B. Herramientas para el desarrollo de
sistemas expertos.

Herramientas utilizadas para desarrollar
sistemas expertos.

La construcción de un Sistema Experto no es una
tarea sencilla, debido a que involucra mucha participación
de distintas personas, cada una de las cuales aportará
algo para que el Sistemas Expertos a desarrollar sea robusto y
fácil de usar y mantener. Además se deben hacer
varias elecciones en cuanto al desarrollo del Sistema Experto una
de ellas es elegir que herramienta utilizar para su
estructuración.

A continuación una lista de las herramientas que
se pueden utilizar para desarrollar un Sistema
Experto:

  • ART-IM

  • CBR Express v.1.1.

  • Nex – Expert Object v.2.0.

  • Exsys Corvid

  • Xpertrule

  • G2

  • Visual Prolog

  • Jess

  • Winprolog

  • Clisps

  • Expert System Builder

Ya que hemos conocido algunos nombres de estas
herramientas veamos en el siguiente punto una descripción
general de algunas de ellas, para así tener una idea de la
capacidad y la utilidad que se le puede dar a este tipo de
sistemas.

Nexpert Objects: descripción
general.

Monografias.com

Dado que los sistemas expertos normalmente contienen
conocimiento sobre los objetos del mundo real, las herramientas
destinadas a tal fin deben contener mecanismos que ayuden al
ingeniero del conocimiento a representar el conocimiento de estos
objetos. Nexpert Objects se caracteriza por su capacidad de
representar un mundo de objetos sobre el cual actuará el
conocimiento.

En Nexpert, el conocimiento básicamente se
expresa mediante reglas. Una aplicación desarrollada con
esta herramienta puede limitarse a usar solamente reglas o bien
incorporar otro mecanismo de representación.

Características.

  • Potencia de representación del
    conocimiento.

  • Flexibilidad para modificar y adaptar la
    herramienta.

  • Comodidad y sencillez de la Interfaz de
    Usuario.

  • Eficiencia.

  • Robustez.

  • Traza y depuración que explica como se ha
    llegado a la conclusión.

  • Interfaces de usuario, bases de datos, lenguajes de
    programación, sistemas operativos, etc.

Monografias.com

Figura 1: Plataforma de Nexpert
Objects

Elementos de Nexpert Objects.

La herramienta Nexpert Object incorpora los siguientes
componentes en el entorno de desarrollo:

• Interface de usuario gráfíca
(GUI).
Nexpert está desarrollado sobre el entorno
gráfico OpenWindows, el cual se caracteriza por el uso de
ventanas, iconos, punteros. Esta interface gráfica tiene
la ventaja de estar estandarizada y tener la misma apariencia,
independientemente del hardware sobre el que esté
ejecutándose. Las características de una interface
gráfica ayudan al usuario en la construcción y
depuración de la aplicación.

• Herramientas de razonamiento y
representación.
Es el núcleo (kernel) de
Nexpert en forma de funciones y algoritmos y que evidentemente se
utiliza para ejecutar las aplicaciones basadas en el
conocimiento.

Además estas funciones se distribuyen en forma de
librerías "C" y permiten desde el acceso a la
representación de los objetos hasta la interacción
con los mecanismos de inferencia.

• Interface para programar aplicaciones
(API).
Esta interface permite llamar desde Nexpert a rutinas
externas y programas escritos en lenguajes de programación
estándar (C, Pascal, Fortran…). También permite,
que programas de aplicaciones a gran escala, puedan combinar
facilidades de inteligencia artificial con las de
programación clásica.

Descripción funcional.

En la literatura, se suele hablar de Nexpert Objects
como un sistema híbrido en el ámbito de las
herramientas de sistemas expertos. Esto es debido a que utiliza
dos mecanismos de representación de conocimiento
diferentes.

Por un lado, para permitir los mecanismos de
razonamiento, Nexpert Objects utiliza reglas. Estas son las
estructuras de conocimiento más básicas que nos
encontramos en esta herramienta. Mediante estas reglas, el
sistema realiza el proceso de conocimiento utilizando
técnicas como encadenamientos hacia atrás o hacia
delante, para obtener las conclusiones solicitadas.

Por otro lado, el dominio sobre el que operan las reglas
tiene una variada gama de estructuras de representación.
El mundo es modelado en términos de objetos, clases y
propiedades. Los valores de las propiedades específicas de
los objetos y clases se almacenan en los slots. Son las variables
de Nexpert, en ellos se almacena toda la información que
se recolecta del entorno.

Además, los slots poseen meta-slots, los cuales
describen el comportamiento de los primeros. Las posibilidades
que ofrecen los meta-slots van desde la definición del
mensaje que se le presenta al usuario, para preguntarles el valor
del slot (prompt), hasta los métodos que se deben seguir
en la búsqueda del valor de un
parámetro.

También existe la posibilidad de crear objetos y
clases dinámicamente, así como crear las relaciones
de herencia entre ellos. De esta forma un objeto puede nacer como
hijo de una clase y morir como hijo de otra.

Existen otras facilidades a incluir como parte operativa
dentro de las reglas, éstas son el pattem-matching y la
interpretación, que permiten referenciar y comparar
objetos y clases.

Capacidades de la herramienta.

Nexpert Objects implementa los hechos como objetos
(Objeto. Propiedad).

En general , se utiliza todo el potencial de la
programación orientada a objetos (clases , subclases ,
métodos , objetos , hipótesis , herencia ,
polimorfismo ,etc. ) .

Nexpert Objects utiliza encadenamiento hacia adelante y
hacia atrás para razonar.

Nexpert Objects permite tratar de forma restringida los
sucesos de carácter temporal (los que se pueden cambiar en
tiempo de ejecución) y en cierta medida, también
permite el tratamiento de la incertidumbre. Este entorno permite
modificar la interacción con el usuario.

Requisitos del sistema.

  • Versión: 1.2.0.1

  • Fecha de Publicación:
    6/24/2010

  • Lenguaje: Inglés

  • Nombre del Archivo:
    neXpertV1.2.msi

  • Tamaño: 391 KB

  • Requiere Internet para su
    instalación

  • Autor Microsoft

CBR Express: descripción
general.

Monografias.com

CBR Express es una herramienta de construcción de
sistemas expertos que se basa en la existencia de una
librería de situaciones o 'casos' resueltos. Ante la
aparición de una nueva situación, el sistema se
encarga de recuperar el caso o los casos que mejor la identifique
de forma que el usuario pueda interpretar o ajustar la
solución.

Inicialmente el operador suministra una
descripción del problema en lenguaje natural. A partir de
esta, el sistema se encarga de seleccionar una serie de casos que
podrían ser similares al nuevo problema. Cada caso de esta
lista de preseleccionados aporta una batería de preguntas
que se hacen al usuario, de forma que las respuestas de este
refuerzan o descalifican la aplicabilidad del caso asociado a la
nueva situación. Cada caso posee una medida de similaridad
que varía desde -100 hasta +100. La búsqueda de la
mejor solución termina cuando algún o algunos casos
superan un determinado umbral. El orden en el que se van
contestando las preguntas lo decide el usuario en función
de sus preferencias, oportunidad, disponibilidad de la
información, etc. Después de cada respuesta el
sistema actualiza la lista de casos preseleccionados, sus medidas
de aplicabilidad, y la lista de cuestiones relevantes.

Cada caso en memoria se compone de una breve
descripción del caso, una descripción más
detallada del mismo, una batería de cuestiones relevantes,
y una serie de acciones recomendadas.

Interfaz.

CBR Express posee tres modos de funcionamiento
dependiendo de los diferentes tipos de usuarios: búsqueda,
mantenimiento y autor.

En modo de búsqueda (search mode) la interface
ofrece un pantalla para realizar búsquedas en la base de
casos, y opcionalmente una segunda pantalla para realizar un
seguimiento de los clientes.

En modo de mantenimiento (maintenance mode) el
administrador de la base de casos tiene acceso a editores
adicionales; uno para definir casos, otro para definir
cuestiones, y otro para especificar las acciones.

En modo de autor (author mode) la propia interface se
puede adaptar a las necesidades particulares de cada
aplicación, disponiendo de doce pantallas adicionales, que
contienen scripts, buffers y utilidades de
depuración.

Cada uno de estos modos de funcionamiento pueden (y
deben) protegerse mediante el uso de claves de acceso a dichos
modos.

Búsqueda.

El objetivo de la búsqueda en la base de casos es
el de localizar un conjunto de casos que se asemejen al descrito
por el operador. Este proceso se compone de diversos
pasos.

Primero, el operador teclea una descripción del
caso actual en lenguaje natural. CBR Express realiza una
búsqueda inicial de esta descripción buscando casos
que posean descripciones similares a la misma (normalmente se
muestran los cinco mejores casos). Cada caso se muestra con su
medida de similaridad, un número entre -100 y 100 que
muestra en qué medida se ajusta el caso la
descripción de búsqueda. También se
recuperan un conjunto de cuestiones para cada uno de los casos
seleccionados. Estas cuestiones sirven para centrar el objetivo
de la búsqueda y para ayudar a diferenciar entre los casos
competidores.

Respuestas incorrectas pueden eliminar casos de la lista
e incluir otros. Su efecto real consiste en modificar la medida
de similaridad asociada al caso.

A medida que el usuario responde más preguntas,
el sistema actualiza la búsqueda. Las cuestiones pueden
responderse en cualquier orden y no es necesario responder a
todas ellas.

El usuario continuará respondiendo preguntas
hasta que alguno de los casos tenga una medida de similaridad
suficientemente alta, o hasta que todas las preguntas hayan sido
resueltas. Entonces el operador puede visualizar el caso ganador
y sus acciones correspondientes.

Descripción funcional.

Esta herramienta utiliza un algoritmo de reconocimiento
de texto para comparar la descripción del caso actual con
las descripciones de los casos de la base de casos. Este
algoritmo ignora la mayoría de las palabras usuales y se
concentra en las palabras de la descripción que aportan
una mayor descripción. CBR está configurado para
reconocer texto en inglés (realmente americano), aunque
puede modificarse para acomodarse a otro lenguaje.

Para escribir una buena descripción es necesario
utilizar un lenguaje específico. Debe ser un conjunto de
términos y frases comprensibles y consistentes con el
vocabulario existente en la base de casos y en las descripciones
de búsqueda. También es importante escribir una
descripción completa, que defina la situación clara
y completamente (no utilizar descripciones demasiado
cortas).

Requisitos del sistema.

  • Tamaño del archivo: 2.29MB

  • Licencia y precio: Shareware, B/. 89.95

  • Relacionados con: Outlook Express Backup – Copia de
    seguridad de Outlook Express – Outlook Express
    Restauración – Dvd Express Backup – Copia de seguridad
    de DVD Polar Express – Outlook Express Email – Expertos de
    Foxmail de copia de seguridad – Outlook Express de archivos
    PST – Outlook Backup – Copia de seguridad de
    Outlook

  • Plataforma: Windows2000, Win98, WinME, WinNT 4.x,
    2000, 95/98, NT, XP, WinXP

  • Categoría: Desktop Contabilidad y
    Finanzas

SWI-PROLOG: descripción
general.

Monografias.com

PROgramming in LOGic (PROLOG), es otra herramienta que
implementa lenguajes de programación ampliamente
utilizados en Inteligencia Artificial. PROLOG fue desarrollado en
Francia en 1973 por Alain Colmenauer y su equipo de
investigación en la Universidad de Marseilles.
Inicialmente fue utilizado para el procesamiento de lenguaje
natural, pero posteriormente se popularizó entre los
desarrolladores de aplicaciones de IA por su capacidad de
manipulación simbólica. Utilizando los resultados
del grupo francés, Robert Kowalski de la Universidad de
Edimburgo, en Escocia, desarrolló la teoría de la
programación lógica. La sintaxis propuesta por
Edimburgo, se considera el estándar de facto del
PROLOG.

Monografias.com

Figura 2: Plataforma del PROLOG. Para
crear Sistemas Expertos

A partir de 1981 tuvo una importante difusión en
todo el mundo, especialmente porque los japoneses decidieron
utilizar PROLOG para el desarrollo de sus sistemas de
computación de quinta generación. Actualmente
existen varios dialectos del PROLOG para diferentes
plataformas.

Características
principales.

  • Una de las principales características de los
    PROLOG, como consecuencia de su respectiva estructura, es que
    pueden ser utilizados para escribir programas capaces de
    examinar a otros programas, incluyendo a ellos mismos. Esta
    capacidad se requiere, por ejemplo, para hacer que el
    programa explique sus conclusiones. Esto sólo puede
    hacerse si el programa tiene la capacidad de examinar su
    propio modo de operación.

  • Basado en lógica y programación
    declarativa.

  • No se especifica cómo debe hacerse, sino
    qué debe lograrse.

  • Una característica importante en ProLog y que
    lo diferencia de otros lenguajes de programación, es
    que una variable sólo puede tener un valor mientras se
    cumple el objetivo.

  • El programador se concentra más en el
    conocimiento que en los algoritmos.

  • En ProLog, se llega a una solución
    infiriéndola desde algo ya conocido.

Monografias.com

Figura 3: Swi-Prolog, y sus
características

Los predicados.

Los predicados son los elementos ejecutables en ProLog.
En muchos sentidos se asemejan a los procedimientos o funciones
típicos de los lenguajes imperativos. Una llamada concreta
a un predicado, con unos argumentos concretos, se denomina
objetivo. Todos los objetivos tienen un resultado de éxito
o fallo tras su ejecución, indicando si el predicado es
cierto para los argumentos dados, o por el contrario, es falso.
Cuando un objetivo tiene éxito, las variables libres que
aparecen en los argumentos pueden quedar ligadas. Estos son los
valores que hacen cierto el predicado. Si el predicado falla, no
ocurren ligaduras en las variables libres.

Se utilizan para expresar propiedades de los objetos, y
relaciones entre ellos. En ProLog se conocen como hechos. Se debe
tener en cuenta que:

  • Los nombres de todos los objetos y relaciones deben
    comenzar con una letra minúscula.

  • Primero se escribe la relación o propiedad
    (predicado).

  • Los objetos se escriben separándolos mediante
    comas y encerrados entre paréntesis
    (argumentos).

  • Al final del hecho debe ir un punto
    (".").

Variables.

Las variables se utilizan para representar objetos
cualesquiera del Universo u objetos desconocidos en ese momento,
es decir, son las incógnitas del problema. Se diferencian
de los átomos en que empiezan siempre con una letra
mayúscula o con el signo de subrayado (_). Así, se
debe ir con cuidado, ya que cualquier identificador que empiece
por mayúscula, será tomado por ProLog como una
variable. En una consulta simple, las variables nos pueden servir
para que ProLog encuentre un dato. Por ejemplo: 'tiene' (persona,
libro) devuelve en la variable 'persona' el nombre de la que
tiene un libro (o de las personas que lo tienen, si hay
más de una).

Estructura para programas.

Programar en ProLog consiste en dar al ordenador un
Universo finito en forma de hechos y reglas, proporcionando los
medios para realizar inferencias de un hecho a otro. La
programación en ProLog consiste en:

  • Declarar algunos HECHOS sobre los objetos y sus
    relaciones.

  • Definir algunas REGLAS sobre los objetos y sus
    relaciones.

  • Hacer PREGUNTAS sobre los objetos y sus
    relaciones.

Un programa ProLog es un conjunto de afirmaciones
(hechos y reglas) con los que se representan los conocimientos
que poseemos en un determinado dominio o campo de nuestra
competencia. La estrategia de resolución particular que
utiliza ProLog es una forma de resolución de entrada
lineal (árbol de búsqueda estándar). Para la
búsqueda de cláusulas alternativas para satisfacer
el mismo objetivo, ProLog adopta una estrategia de primero hacia
abajo (recorrido del árbol en profundidad). Por todo esto,
el orden de las cláusulas (hechos y reglas) de un
determinado procedimiento es importante en ProLog, ya que
determina el orden en que las soluciones serán
encontradas. Una cláusula de Horn es una regla de
inferencia lógica con una serie de premisas (cero, una o
más), y un único consecuente. Las cláusulas
de Horn son las instrucciones básicas del lenguaje de
programación ProLog. La sintaxis de una cláusula de
Horn en ProLog tiene el siguiente aspecto: dividir (X,
Y):-par(X), suma (X,Y).

Requisitos del sistema.

  • SWI-Prolog ofrece un entorno de Software Libre de
    Prolog, bajo Licencia Pública GNU.

  • versiones disponibles:

  • Fuentes versión estable y ejecutables para
    MS-Windows, Linux y MacOS X versión 5.10.x

  • Las fuentes de desarrollo y liberación de los
    ejecutables de MS-Windows y MacOS X versión
    5.11.x

  • Algunas versiones viejas populares

  • GIT acceder, navegar repositorio GIT

  • Creador: OpenSource

Expert System Builder.

Monografias.com

Expert System Builder (ESB) es un programa
gratuito destinado a simplificar el desarrollo de sistemas
expertos que apoyan los procesos de toma de decisiones de una
organización. El sistema puede ser implementado de forma
local en un solo ordenador o en el Internet.

En qué consiste la
herramienta.

El Expert System Builder es un kit de herramientas de IA
implementado en Common Lisp en estaciones de trabajo dentro de
Symbolics ESPRIT Proyecto 96. El sistema Expert System Builder
tiene la intención de industrializar el proceso de
construcción de sistemas expertos, proporcionando a los
desarrolladores el modelado y varias instalaciones
arquitectónicas que no se encuentran en la mayoría
de kits de herramientas de Inteligencia Artificial.

Objetivo del Expert System
Builder.

Para alcanzar el objetivo que tiene este tipo de
herramienta, el apoyo a la modularización y
reutilización del conocimiento fueron incluidos en el
sistema. El proceso de transferencia de conocimiento se examina,
así como el razonamiento y el control en el
sistema.

Monografias.com

Figura 4: Expert System Builder 4.3:
Main window

Requisitos del sistema.

  • Licencia Tipo: Freeware

  • Versión: 4.4

  • Última Actualización :
    octubre de 2008

  • El sistema resultante puede ser
    implementado de forma local en un solo ordenador o que se
    instale en la internet

C. Guía evaluativa de herramientas
para crear S.E.

Partes: 1, 2

Página siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter