Descargar

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.

edu.red

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.

edu.red

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.

edu.red

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.

edu.red

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.

edu.red

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.

edu.red

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.

edu.red

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.

edu.red

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