0 calificaciones0% encontró este documento útil (0 votos)
11 vistas13 páginas
El documento describe diferentes herramientas de desarrollo para sistemas expertos, incluyendo shells de sistemas expertos, elementos clave de un sistema experto, y lenguajes de programación como OPS5 y CLIPS. También discute ambientes de desarrollo integrados y cómo proveen un marco de trabajo para programar.
El documento describe diferentes herramientas de desarrollo para sistemas expertos, incluyendo shells de sistemas expertos, elementos clave de un sistema experto, y lenguajes de programación como OPS5 y CLIPS. También discute ambientes de desarrollo integrados y cómo proveen un marco de trabajo para programar.
El documento describe diferentes herramientas de desarrollo para sistemas expertos, incluyendo shells de sistemas expertos, elementos clave de un sistema experto, y lenguajes de programación como OPS5 y CLIPS. También discute ambientes de desarrollo integrados y cómo proveen un marco de trabajo para programar.
Herramienta con propósitos especiales, diseñada para cierto tipo de aplicaciones en las que el usuario solo debe proporcionar la base del conocimiento. El ejemplo clásico de esto es el Shell de EMYCIN, este se hizo al eliminar la base del conocimiento medico del sistema experto MYCIN. Elementos de un Sistema Experto • En un sistema basado en reglas, la base de conocimientos contiene el conocimiento de dominio necesario para resolver los problemas codificados en forma de reglas; mientras que las reglas son un paradigma popular para representar conocimiento, otros tipos de sistemas expertos usan diferentes representaciones. Un sistema experto consta de los siguientes componentes: • Interfaz de usuario: el mecanismo que permite la comunicación entre el usuario y el sistema experto. • Medio de explicación: explica al usuario el razonamiento del sistema. • Memoria actica: una base de datos global de los hechos usados por las reglas. • Mecanismo de inferencia: hace inferencias al decidir cuales reglas satisfacen los hechos u objetos, da prioridad a las reglas satisfechas y ejecuta la regla con la más elevada prioridad. • Agenda: una lista con prioridades asignadas a las reglas, creada por el mecanismo de inferencia, cuyos patrones satisfacen los hechos u objetos de la memoria activa. • Medio para la adquisición de conocimiento: vía automática para que el usuario introduzca conocimientos en el sistema, sin tener al ingeniero del conocimiento para que codifique este en forma explícita. lenguajes de programación de alto nivel Se caracterizan por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de a la capacidad ejecutora de las máquinas. • En los primeros lenguajes de alto nivel la limitación era que se orientaban a un área específica y sus instrucciones requerían de una sintaxis predefinida. Se clasifican como lenguajes procedimentales. • Otra limitación de los lenguajes de alto nivel es que se requiere de ciertos conocimientos de programación para realizar las secuencias de instrucciones lógicas. • Los lenguajes de muy alto nivel se crearon para que el usuario común pudiese solucionar tal problema de procesamiento de datos de una manera más fácil y rápida. LENGUAJE OPS5
• El lenguaje OPS5 es quizás el menos conocido de
los nombrados. No obstante, su importancia en el desarrollo de la inteligencia artificial fue clave dado que fue el primer lenguaje usado con resultado de éxito en un sistema experto. • La familia de los lenguajes OPS (Oficial Production System) fue desarrollada a finales de la década de 1970 por Charles Forgy, se trata de un lenguaje para ingeniería cognoscitiva que aguanta el procedimiento de representación del conocimiento en forma de reglas. Clips • Representación del Conocimiento: CLIPS permite manejar una amplia variedad de conocimiento, soportando tres paradigmas de programación: el declarativo, el imperativo, y el orientado a objetos. Portabilidad: CLIPS fue escrito en C con el fin de hacerlo más portable y rápido, y ha sido instalado en diversos sistemas operativos (Windows 95/98/NT, MacOS X, Unix) sin ser necesario modificar su código fuente. CLIPS puede ser ejecutado en cualquier sistema con un compilador ANSI de C, o un compilador de C++. El código fuente de CLIPS puede ser modificado en caso que el usuario lo considere necesario, con el fin de agregar o quitar funcionalidades. • Integralidad: CLIPS puede ser embebido en código imperativo, invocado como una sub-rutina, e integrado con lenguajes como C, Java, FORTRAN y otros. • Desarrollo Interactivo: La versión estándar de CLIPS provee un ambiente de desarrollo interactivo y basado en texto; este incluye herramientas para la depuración, ayuda en línea, y un editor integrado. • Verificación/Validación: CLIPS contiene funcionalidades que permiten verificar las reglas incluidas en el sistema experto que está siendo desarrollado, incluyendo diseño modular y particionamiento de la base de conocimientos del sistema, chequeo de restricciones estático y dinámico para funciones y algunos tipos de datos, y análisis semántico de reglas para prevenir posibles inconsistencias. Ambientes de desarrollo de la programación • Entorno de desarrollo integrado • Un entorno de desarrollo integrado, llamado también IDE (sigla en inglés de integrated development environment), es un programa informático compuesto por un conjunto de herramientas de programación. Puede dedicarse en exclusiva a un solo lenguaje de programación o bien puede utilizarse para varios. • Dev C++, un entorno para el lenguaje de programación C++. • Un IDE es un entorno de programación que ha sido empaquetado como un programa de aplicación; es decir, que consiste en un editor de código, un compilador, un depurador y un constructor de interfaz gráfica (GUI). Los IDEs pueden ser aplicaciones por sí solas o pueden ser parte de aplicaciones existentes. • Los IDE proveen un marco de trabajo amigable para la mayoría de los lenguajes de programación tales como C++, PHP, Python, Java, C#, Delphi, Visual Basic, etc. En algunos lenguajes, un IDE puede funcionar como un sistema en tiempo de ejecución, en donde se permite utilizar el lenguaje de programación en forma interactiva, sin necesidad de trabajo orientado a archivos de texto, como es el caso de Smalltalk u Objective-C.