UNIVERSIDAD TECNOLÓGICA DE PANAMÁFACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES LICENCIATURA EN INGENIERIA DE SISTEMAS Y COMPUTACIÓN SISTEMAS BASADOS EN CONOCIMIENTO ASIGNACIÓN #1 TEMA: “HERRAMIENTAS PARA LA SBC” PREPARADO POR: CHANAPÍ, ARISNETH 9-740-2472 PROFESOR: NICHOLAS BELIZ GRUPO: 1IL-131 AÑO: 2014 INTRODUCCIÓN El aporte del presente trabajo es investigar sobre el diferente software que se utilizan para la creación de un sistema basado en conocimiento (SBC) y en ontologías. La base de conocimiento será alimentada permanentemente por reglas estándares y mejores prácticas existentes. HERRAMIENTA PARA EL DESARROLLO DE SBC Y SE EN SISTEMA BASADO EN CONOCIMIENTO: Para pasar de una mera idea de un sistema a un sistema real, se debe expresar de una forma que la computadora lo entienda, es decir que se tiene que programar. Los lenguajes más comunes para el desarrollo de sistemas basados en conocimiento son: Imperativos: PASCAL: Pascal es un lenguaje de programación desarrollado con el objetivo de que fuese un lenguaje que facilitara el aprendizaje de programación a sus alumnos, utilizando la programación estructurada y estructuración de datos. Sin embargo con el tiempo su utilización excedió el ámbito académico para convertirse en una herramienta para la creación de aplicaciones de todo tipo. C/C++: Se trata de un lenguaje de tipos de datos estáticos, débilmente tipificado, de medio nivel pero con muchas características de bajo nivel. Dispone de las estructuras típicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo nivel. Los compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar código en ensamblador con código C o acceder directamente a memoria o dispositivos periféricos. Funcionales: LISP: Su nombre se deriva de LISt Processor. Es un lenguaje de programación con el cual los investigadores pueden implementar eficientemente programas de computadora capaces de razonar. Rápidamente LISP se ha hecho popular por su capacidad de manipular símbolos y fue escogido para el desarrollo de muchos sistemas de IA. Existen varios dialectos de LISP en el mercado informático, sin embargo COMMON LISP puede considerarse como el estándar de facto. Actualmente, LISP se lo utiliza en varios dominios que incluyen la escritura de compiladores, sistemas para diseño VLSI, sistemas para diseño mecánico asistido por computadora (AUTOCAD), animaciones gráficas y sistemas basados en conocimiento. Declarativos: PROLOG: PROgramming in LOGic (PROLOG), es otro de los lenguajes de programación ampliamente utilizados en IA. Es utilizado para el procesamiento de lenguaje natural, se populariza entre los desarrolladores de aplicaciones de IA por su capacidad de manipulación simbólica. PROLOG se utiliza para el desarrollo de sus sistemas de computación de quinta generación. Actualmente existen varios dialectos del PROLOG para diferentes plataformas. CHIP: CHIP-8 es un lenguaje de programación interpretado, inicialmente usado en los microcomputadores de 8 bits COSMAC VIP y Telmac 1800 a mediados de 1970. Los programas de CHIP-8 corren sobre una máquina virtual de CHIP-8. Esto se hizo así para que los video juegos fueran más fáciles de programar en otros computadores. OPS5: Official Production System 5 (OPS5), es un lenguaje para ingeniería cognoscitiva que soporta el método de representación del conocimiento en forma de reglas. Incorpora un módulo unificador, un intérprete que incluye un mecanismo de encadenamiento progresivo, y herramientas para edición y depuración de los programas. Orientados a objetos: SMALLTALK: es un lenguaje reflexivo de programación, orientado a objetos y con tipado dinámico. Por sus características, Smalltalk puede ser considerado también como un entorno de objetos, donde incluso el propio sistema es un objeto. Metafóricamente, se puede considerar que un Smalltalk es un mundo virtual donde viven objetos que se comunican entre sí, mediante el envío de mensajes. HYPERCARD: HyperCard fue una aplicación informática de Apple Computer que se contó entre los primeros sistemas hipermedia con éxito anteriores a la World Wide Web. Conceptualmente se acerca a una base de datos, pues almacena información, siendo además gráfico, flexible y capaz de crear ficheros fáciles de modificar. CLOS: es el acrónimo inglés de Common Lisp Object System y es una extensión de ANSI Common Lisp para permitir la programación orientada a objetos que ha sido adoptada por otros dialectos de Lisp como EuLisp o Emacs Lisp.1 Inicialmente fue propuesta como un añadido (add-on) del lenguaje, pero posteriormente CLOS fue adoptado como parte de estándar ANSI de Common Lisp. CLOS es un lenguaje de programación dinámico dirigido a objetos que difiere mucho de lo que podemos encontrar en lenguajes de programación estáticos orientados a objetos como C++ o Java. CLOS está inspirado en sistemas Lisp orientados a objetos anteriores como MIT Flavors o Common LOOPS, aunque es más general que éstos. EN SISTEMAS EXPERTOS (SE) Desde el punto de vista de la especificidad del conocimiento, los sistemas basados en conocimiento ocupan un lugar intermedio entre los sistemas originales de IA débil, en los que el conocimiento utilizado es de carácter general, y los Sistemas Expertos (SE) que operan en un dominio muy restringido, utilizando conocimiento altamente especializado. A la luz de esta cadena de desarrollo, un sistema experto puede ser definido como un sistema basado en conocimiento que emula la competencia de un experto, dentro de un campo de aplicación bien delimitado. También puede ser definido como un conjunto de programas de computadora cuyo comportamiento es similar al que tendría un experto humano. CUADRO COMPARATIVO Herramientas Similitudes Diferencias Pascal lenguaje una herramienta para la creación de aplicaciones de todo tipo. Los compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar código en ensamblador con código C o acceder directamente a memoria o dispositivos periféricos. . Su nombre se deriva de LISt Processor. Es un lenguaje de programación con el cual los investigadores pueden implementar eficientemente programas de computadora capaces de razonar. Se utiliza en la IA PROLOG: PROgramming in LOGic (PROLOG), es otro de los lenguajes de programación ampliamente utilizados en IA. PROLOG se utiliza para el desarrollo de sus sistemas de computación de quinta generación. Actualmente existen varios dialectos del PROLOG para diferentes plataformas. CONCLUSIÓN Son muy importantes para la creación de sistemas inteligentes en una rama específica de la ingeniería o conocimiento humano. La utilización de herramientas les facilita el desarrollo e implementación de los sistemas expertos.