Informática


Distintas SHELL


INTRODUCCION

Un sistema experto es una clase especial de sistema basado en conocimiento capaz de resolver un tipo especifico de problema, por medio de la emulación de las capacidades de un experto humano (o en algunos casos de varios expertos humanos). Para construir tal tipo de sistema, es preciso que exista un experto en resolver problemas de algún arrea particular del conocimiento humano. Sin experto no hay sistema experto posible.

Los sistemas de conocimiento son más amplios que esta concepción: permiten representar conocimiento proveniente no solo o únicamente desde expertos humanos, sino que posibilitan integrar conocimiento público vertido en libros, artículos manuales, etc. incluso es posible construir la base de conocimiento de un sistema exclusivamente a partir de conocimiento público.

Un sistema experto permite resolver problemas no algorítmicos puros, efectuando un razonamiento similar al que seguiría el especialista del área modelada. Pueden existir tantos sistemas expertos en una disciplina limitada de conocimiento, como expertos humanos reconocidos haya. Alimentar conocimiento de diversos expertos en la resolución de problema origina contradicciones en el proceso, ya que los expertos suelen diferir en sus procedimientos. Sólo en el caso de tener que refundir en un sólo sistema conocimiento perteneciente a varios especialistas, cada uno de los cuales es la autoridad más reconocida en su área, es posible prospectar conocimiento mediante técnicas de encuestas. Aun así, se requiere definir un problema limitado, bien acotado, sin fronteras imprecisas, y sin la ambición de encerrar más conocimiento de cada sub-experto que el estrictamente necesario para el objetivo global del sistema experto.

Existe cierta tendencia a imaginar al experto como un sabio académico, un profesor universitario capaz de realizar sesudas formulaciones teóricas acerca de un problema de su área. Este tipo de conocimiento puede modelarse en un sistema de conocimiento, pero no corresponde a la tipología de sistema experto precisamente. El experto, más que caracterizarse por una formación académica (que puede tenerla sin lugar a duda), se diferencia de otros profesionales por su capacidad de resolver problemas de manera rápida y eficaz. Para ello ocupa toda sus experiencia acumulada en la resolución de problemas de la misma índole. Muchas veces los problemas se repiten y allí utilizará su heurística directamente. Otras veces deberá instruir nuevas soluciones, haciendo uso de su imaginación y visión global del problema, estas ultimas características lamentablemente no pueden ser siquiera emuladas por ninguna máquina ni software existente. Allí se encuentra el límite de los sistemas del conocimiento y del avance de la inteligencia artificial.

La tecnología de sistemas expertos ha probado su utilidad en campos muy heterogéneos del saber humano, a modo de ejemplos podemos citar algunos Sistemas Expertos:

  • DENDRAL, que fue desarrollado en la Universidad de Stanford, sobre la base de información de escenografía de masas, realiza la identificación de la estructura de algún componente orgánico complejo. Incluso es capaz de identificar los constituyentes atómicos.

  • MYCIN, construido también en Stanford, diagnostica enfermedades infecciosas de la sangre y receta los antibióticos apropiados.

  • PUFF, diagnostica enfermedades pulmonares.

  • SACON, utilizado en la ingeniería estructural.

  • DART, construido en la Universidad de Stanford con participación de IBM, diagnostica fallas en sistemas computacionales.

  • R1, desarrollado por Digital Equipment Corporation para realizar configuraciones de computadores VAX.

  • CADUCEUS, de la Universidad de Pittsburgh, para diagnosticar medicina interna.

  • CALLISTO, de la Universidad de Carbegie-Mellon, para modelar y controlar grandes proyectos.

  • PROSPECTOR, de SRI Internacional, para prospectar yacimientos minerales,(permitió descubrir un depósito de molibdeno con valor superior a MM US$ 100.)

A esta lista podríamos agregar una gran cantidad de aplicaciones militares y médicas.

La estructura de un sistema experto considera la interacción de las siguientes entidades:

  • Base de conocimientos

  • Mecanismo de Inferencia

  • Componente explicativo

  • Interfaz de usuario

  • Componente de Adquisición

  • y de lo siguientes actores:

    Ingeniero del conocimiento, Experto y Usuario

    Una Shell, en forma simple, es un sistema experto que posee una base de conocimiento vacía, y son construidas a partir de 1980 aprox. Ofrece métodos auxiliares al Ingeniero del conocimiento para el desarrollo de sistema expertos, como por ejemplo estructuras para la representación del conocimiento, mecanismo de inferencia, apoyo para un componente explicativo y a veces también la interfaz de usuario, también es llamada cápsula, caparazón de un sistema experto o ambiente de desarrollo de sistemas expertos.

    Ya que la base de conocimiento depende del problema o del grupo de problemas no existe ningún shell para todas las aplicaciones, sino hay que buscar uno para cada uno de los problemas.

    Si el Ingeniero del conocimiento conoce a cabalidad la shell con la que trabaja para implementar un sistema experto, se tendrá que limitar solamente a la creación de la base de conocimiento.

    Una ventaja adicional de la utilización de shells es que no requieren de un profundo dominio de un lenguaje de programación.

    Algunos Ambientes de desarrollo o Shells conocidos y que serán detallados posteriormente en este informe son:

    • EMYCIN o Essential Mycin.

    • OPS83.

    • ESDE/VM o Expert System Development Environment.

    • KEE o Knowledge Engineering Environment.

    • EXSYS Professional.

    • ART* ENTERPRISE.

    • S1.

    • MED1.

    • NEXPERT OBJECT

    • PCPLUS.

    • GURU.

    • HUGIN SYSTEM.

    • ICARUS, ETC.

    DESARROLLO DEL TEMA

    • EMYCIN (Essential Mycin)

    Shell construido en la Universidad de Stanford sobre la base del MYCIN, sistema de expertos que realiza diagnóstico de enfermedades infecciosas a la sangre. Posteriormente sobre el EMYCIN se construyeron otros sistemas expertos como el PUFF (que diagnostica enfermedades pulmonares) y el SACON (ingeniería estructural).

    • OPS83

    OPS83 fue desarrollado por los creadores de OPS5 como un sucesor de él.OPS83 está escrito en C y las reglas bases de OPS83 pueden ser insertadas en C. OPS83 fue el primer OPS-like lenguaje que permitió esta integración de reglas con C. OPS83 es soportado por un encadenamiento hacia adelante, una nueva estructura de control que permite a las reglas ser más expresivas; una regla de encadenamiento hacia adelante puede reemplazar varias reglas convencionales.

    La versión corriente de OPS83 usa el algoritmo propietario Rete II que le permite manejar largos y complejos set de reglas en forma eficiente. OPS83 está disponible para DOS, OS/2, UNIX, VMS, y algunos sistemas operativos propietarios.

    • ESDE/VM (Expert System Development Environment)

    Herramienta creada por IBM que funciona en ambientes MVS Y VM, con facilidades gráficas y acceso a base de datos, su elevado costo puede alcanzar precios entre US$ 25.000. y US$ 85.000.

    Utiliza la técnica de reglas para la representación del conocimiento.

    Su texto de reglas para el prototipo PROTEIN (identificación de procesos y equipos para tratamiento de proteínas) es de la forma:

    IF

    microorganismo_prod is not known

    THEN

    there is certainty 0.7 evidence that equipo is “Filtración en Filtro de Platos Enmarcados”.

    AND

    there is certainty 0.7 evidence that equipo is “Centrifugación con Centrífuga

    de Sedimentación”.

    Este tipo de bases de conocimiento que emplean reglas que son fácilmente modificables pues sólo son instrucciones declarativas de conocimientos aisladas de las demás reglas.

    Las reglas parecen coincidir con el modo usual en que los expertos formulan sus conocimientos: las típicas relaciones causa-efecto obtenidas en su accionar heurístico.

    Cuando el número de reglas se hace muy grande es conveniente agruparlas de acuerdo al aspecto particular del problema que cubren. Estas estructuras o agrupamientos de reglas son llamados bloques de control en el caso del ESDE (focus control blocks).

    • KEE (Knowledge Engineering Environment)

    Herramienta creada por IntelliCorp de gran versatilidad por lo que su costo es elevado, del orden de US$ 25.000. hasta US$ 85.000. combina las reglas y las orientada al objeto como técnicas de representación del conocimiento, por ello recibe el nombre de shell híbrido.

    Es posible codificar el conocimiento del procedimiento en LISP.

    Corre sobre estaciones de trabajo Unix.

    Las reglas utilizadas son del tipo:

    SI ENTONCES

    (conjunto de condiciones) (conjunto de acciones)

    ANTECEDENTE CONSECUENTE

    PREMISAS CONCLUSIONES

    Es un Shell que está entre los más avanzados y potentes, por lo mismo requiere de hardware de gran potencia como Xerox 11xx, Siemens APS 58xx, Symbolics y T/Explorer.

    En el KEE el objeto que es la unidad básica de representación del conocimiento es llamado Unit.

    Todos los objetos, conceptos y abstracciones de un ámbito del problema se representan en el KEE como Unit. A cada Unit pertenece una cantidad indeterminada de Slots, en los que se describen las cualidades de la Unit. Cada Slot representa un atributo de la Unit y posee varias Facets (facetas), en las que se especifica la cualidad con más detalle.

    Ejemplo de Unit:

    La Unit “Mi Caballo” podría contener un slot con el nombre “color” y con la Facet “Valor: blanco”. El valor de un slot se almacena, por tanto, en una de sus Facets y en el ejemplo, “Mi Caballo” tiene el atributo con el nombre “color” y el valor “rojo”.

    Un slot contiene algunas otras Facets más, en las que puede determinarse, por ejemplo, en qué dominio debe hallarse el valor del Slot o si están permitidos también varios valores.

    El número de valores posibles en un Slot e llama “Cardinality”, la Facet “Cardinality min” señala el límite inferior y “Cardinality max” el límite superior de los valores que puede tener un slot.

    • EXSYS Professional

    Herramienta creada por Exsys Inc. es adecuada para computadores personales, cuyo precio oscila entre US$ 3.000. y US$ 6.000., tiene diversas versiones que cubren ambientes como MS-DOS, UNIX, y sistemas operativos de mainframe, con costos que parten en los US$ 3.000.

    La representación de conocimiento utilizada por este shell, es la forma clásica de reglas de producción con sintaxis IF-THEN-ELSE. Cada una de estas partes puede estar compuesta por una o más porposiciones relacionadas entre sí mediante conectores lógicos (AND, OR), pudiendo tratarse también de condiciones de igualdad de variables (numéricas o de cadena), o expresiones que incluyen certidumbre en conclusiones intermedias. Por razones de orden lógico, el uso de OR no está permitido en las partes THEN o ELSE de las reglas.

    Tres tipos de entidades cognoscitivas son manejados por EXSYS: Calificadores (qualifiers), variables y choices(conclusiones). Los calificadores son parámetros que definen alguna característica del problema a través de un listado exhaustivo de alternativas; no admiten tratamiento de certidumbre. La noción de variable es clásica, pudiendo ser de dos tipos: numérica o de cadena. A las conclusiones pueden asociarse valores de certidumbre, los cuales pueden ser objeto de algún tratamiento específico escogido por el usuario.

    Una vez en utilización existen una serie de pantallas de inicio, al crear una aplicación nueva, que definen una cierta cantidad de opciones.

    Después de la pantalla de presentación del sistema, debe proceder al ingreso del nombre del sistema experto a cargar o crear.

    En caso de tratarse de una nueva aplicación será necesario definir una serie de parámetros:

    • Dominio de la aplicación.

    • Nombre del autor de la aplicación.

    • Definición del sistema de manipulación de la certidumbre.

    • Definir un valor límite bajo el cual las conclusiones no son consideradas para efectos de presentación de resultados

    • Antes de iniciar la ejecución del sistema experto, es conveniente entregar al usuario algunos antecedentes respecto a las modalidades de operación del mismo.

    • Al final de la ejecución del sistema, previo al despliegue de las conclusiones, es conveniente presentar una pantalla explicativa, cuyo contenido es ingresado por el desarrollador.

    • Pueden establecerse definiciones acerca del despliegue de las reglas a medida que progresa la inferencia.

    • Es posible que la aplicación se comunique para efectos de obtener y/o entregar datos con un programa externo.

    • También es necesario definir al menos un resultado o recomendación (choice) posible del sistema experto, aun cuando este pueda ser alterado posteriormente.

    Desde el menú principal del ambiente de desarrollo, pueden utilizarse una serie de comandos que se activan mediante teclas indicadas en la parte inferior de la pantalla:

    • Crear una regla.

    • Editar una regla.

    • Borrar una regla.

    • Mover una regla o rango de reglas.

    • Buscar una regla pesquisando alguna de sus partes (calificadores, variables y conclusiones).

    • Crear notas para comunicarse con otros desarrolladores o usuarios de la aplicación.

    • Imprimir la base de conocimiento.

    • Grabar la versión de la base de conocimiento.

    • Correr el sistema experto con los cambios realizados.

    • Modificar diversas características de la ejecución del sistema.

    • Salir al sistema operativo.

    • Ayuda de los principales comandos.

    • ART* ENTERPRISE

    ART es una herramienta desarrollada por Inference Corporation en los mediados de los 80 que corre sobre estaciones de trabajo Unix y series DEC VAX, cuyo rango de precio está entre US$ 60.000. y US$ 85.000.. Permite representación en tramas, reglas de producción y lógica.

    Es uno de los grandes ambientes de desarrollo, que trabaja en el orden de los miles de reglas.

    ART*Enterprise es el más último de la familia de los ambientes basados en las reglas del desarrollo que se originan con ART en los mediados de los años ochenta. Es un ambiente de desarrollo para las aplicaciones empresa-anchas, las reglas que incorporan, un sistema completo del objeto que incluya las características actualmente no presentes en C++, y una colección grande de las clases del objeto para el desarrollo de UI a través de plataformas (de Windows a OS/2 a Unix), acceso a las bases de datos (SQL-based y ODBC-based), y desarrollo de la multi-persona.

    El ambiente de ART*Enterprise proporciona un motor de encadenamiento hacia adelante donde el encadenamiento hacia atrás puede ser puesto en ejecución, aunque no se utiliza directamente.

    ART*Enterprise también proporciona un núcleo de CBR para los que estén interesados en incorporarlo en sus aplicaciones.

    • S1

    Herramienta de la cual existen dos versiones, una para el desarrollo y la consulta de sistemas expertos, y la versión de ejecución para la consulta de sistemas expertos elaborados con la primera versión. Esta última no cuenta con componente explicativo ni de adquisición, sino tan sólo una interfase de usuario sencilla y no gráfica.

    La versión de desarrollo es utilizable en Xerox 11xx, Siemens APS 58xx y Symbolics 37xx.

    La versión de ejecución puede funcionar en un gran número de aparatos Unix, así como ordenadores BS2000. Siemens comercializa el S1 para APS 58xx, PC MX-2 y sucesores y el BS2000.

    El S1 esta basado en Lisp, los campos de S1 son, ante todo, diagnósticos, recomendaciones y clasificación (por ejemplo: diagnóstico de fallos, creación de una recomendación de reparación, clasificación de una descripción de problema en clases de problemas dados previamente).

    Los objetos del dominio del problema y sus cualidades son descritos por clases y sus atributos. Mediante “Backtracking” se calculan los valores de los atributos teniendo en cuenta determinados factores de certeza. Con los bloques de control se representan el conocimiento de procedimiento y se controla el desarrollo de una consulta, es decir que se establece cuándo y qué atributos deben calcularse. La descripción del S1 acaba con la representación de la interfase de usuario y con un resumen.

    • MED1

    Este shell fue desarrollado en 1983 por F. Puppe en el marco de una tesis doctoral en la Universidad de Kaiserlautern y llevado a la práctica posteriormente en varios computadores. En adelante nos referiremos a la implementación BS2000, que funciona en los grandes computadores de Siemens. El lenguaje de programación sobre el que se basa, aunque no es accesible desde el MED1, es Interlisp. El MED1, como su nombre indica, es especialmente apropiado para sistema de diagnóstico médico. Debido al contexto de desarrollo, la interfase del usuario no es en absoluta tan cómoda como en otros Shell como el KEE y el S1, cuyo desarrollo fue orientado hacia la explotación comercial. La principal ventaja del MED1, es su gran flexibilidad en la manipulación de conocimientos difusos.

    • NEXPERT OBJECT

    Herramienta de desarrollo de menor potencia adecuada para uso de computadores personales y su precio oscila entre los US$ 6.000. y los US$ 12.000.

    NEXPERT OBJECT corre sobre más de 30 plataformas incluyendo computadores personales (US$ 5.000.),Macintosh (US$ 5000), workstations (US$ 12,000), minicomputadores, y mainframes. Nexpert Object está escrito en C, e incluye una interfaz gráfica, herramientas de adquisición de conocimiento, y sistemas formales.

    • PCPLUS

    Personal Consultant Plus, es una herramienta creada por Texas Instruments, y que utiliza a las reglas de producción como principal técnica de representación del conocimiento.

    • GURU

    Es un Sistema desarrollador de ambientes de sistemas de expertos que ofrece una gran variedad de información, procesando herramientas combinadas como encadenamiento hacia adelante, encadenamiento hacia atrás, encadenamiento mixto, multivariables, y razonamiento confuso.

    • HUGIN SYSTEM

    Es un paquete de software para la construcción de modelos basado en sietemas expertos en campos caracterizados por una inherente incerteza. El Hugin System contiene una gran probabilidad de ser usado en sistemas basados en deducción, aplicable a redes complejas con relaciones de causas efecto, relaciones casuales sometidas a incerteza.

    El Hugin System presenta un original desarrollo. La implementaron está basada sobre un mejoramiento de los premiados trabajos realizados por los Srs. Lauritzen y Spiegelhalter, tales como:

    “Local Computation with Probabilities on Graphical Structures and theirApplication to Expert Systems”.

    • ICARUS

    Es un desarrollador de reglas de sistemas expertos para PC´s. Este incluye conexiones a Lotus y archivos dBASE, encadenamiento hacia adelante y hacia atrás.

    CONCLUSIONES

    • Un Shell determinado no puede ser la base de cualquier sistema experto, sino que sólo será aplicable en determinados entornos, dependiendo de las características y herramientas con las que cuente.

    • Poseen la gran ventaja que una vez escogido el Shell más idóneo bastará conocer los conceptos básicos del lenguaje con el que trabaje para poder completar su base de conocimientos.

    • La mayoría de los Shells comerciales estudiados cuentan con los mecanismos de inferencia de “encadenamiento hacia adelante” y “encadenamiento hacia atrás”.

    • En caso de tratar de realizar modificaciones o crear nuevas funciones dentro de un Shell, implicará obligatoriamente un mayor conocimiento del lenguaje y requerirá una interfaz de usuario flexible.

    • Existen Shells desarrolladas para grandes equipos con costos muy elevados pero también existen otros Shells para ser utilizados en PC's y workstations con precios más bajos.

    • Existen Shells sencillos que sólo ofrecen ayuda en la representación del conocimiento y otros más complejos que ponen a disposición distintas formas de representación del conocimiento y diferentes estrategias de inferencia.

    • El poder acción de una Shell dependerá en gran medida del hardware utilizado.

    • Los Shells generalmente pueden ser utilizados en más de un ambiente de trabajo.

    • La mayoría de los Shells estudiados utilizan reglas de producción como herramienta para representar el conocimiento.

    • La elección de un shell más avanzado y de gran potencia no es por si sólo un indicador de conseguir el éxito a la hora de crear un sistema experto, ya que para ello también se deben cumplir de la mejor manera posible las etapas para el desarrollo de un Sistema Basado en Conocimiento

    BIBLIOGRAFÍA

    Gran parte de la información aquí expuesta ha sido producto de un gran tiempo de navegacion por Internet, y por lo que se transformo en nuestra principal fuenta de datos, aquí destacamos las direcciones de paginas web, que fueron soporte ara esta investigacion:

    http://w3.mor.itesm.mx/~emorales/Cursos/RdeC/principal.html

    http://www.aic.uniovi.es/amdia/lista-asig.HTM

    http://grial.uc3m.es/~docweb/ic/

    http://enlaces.usach.cl/~gvillarr/sis_exp/sexind.htm

    http://w3.mor.itesm.mx/~emorales/Cursos/RdeC/node70.html

    http://enlaces.usach.cl/~gvillarr/sis_exp/sex1.htm

    11




    Descargar
    Enviado por:Manuel Santiago
    Idioma: castellano
    País: Chile

    Te va a interesar