martes, 2 de agosto de 2011

LENGUAJES DE PROGRAMACION DE LOS SISTEMAS EXPERTOS

Son programas que se han diseñado principalmente para emular un comportamiento inteligente. Incluyen algoritmos de juego tales como el ajedrez, programas de comprensión del lenguaje natural, visión por computadora, robótica y "sistemas de expertos". responde a una interfaz ensamblador, el segundo a interfaz compilador y el ultimo a interfaz interprete.
Un Lenguaje de Programación se basa en  reglas de acción (silogismos), y el análisis de posibilidades  dándonos  una ayuda muy útil en todas las ramas de la acción humana. Es así como los Sistemas Expertos desarrollan una Función muy importante  "Realizar  tareas genéricas: es decir para la monitorización y el diagnóstico, además de los trabajos de simulación de la realidad  (Realidad Virtual en la actualidad).
Algunos lenguajes son lenguajes principalmente interpretados, como APL, PROLOG y LISP.
APL (A Programing Language). Diseñado para tablas, vectores y matrices; utiliza símbolos especiales, distintos que el ASCII..
El nombre LISP es la abreviatura de List-Processing, ya que el LISP fue desarrollado para el procesamiento de listas. La lista es la estructura más importante de LISP. El lenguaje LISP fue diseñado ya a finales de los años 50 por McCarthy. A lo largo de los últimos años se han desarrollado muchos dialectos, por ejemplo MACLISP, COMMONLISP, INTERLISP, ZETALISP, donde el COMMONLISP se está imponiendo cada vez más como estándar.


Mecanismos Del Prolog
La Recursividad representa la estructura más importante en el desarrollo del programa. En la sintaxis del PROLOG no existen los bucles FOR ni los saltos; los bucles WHILE son de difícil incorporación, ya que las variables sólo pueden unificarse una sola vez. La recursión es más apropiada que otras estructuras de desarrollo para procesar estructuras de datos recursivas como son las listas y destacan en estos casos por una representación más sencilla y de mayor claridad.
La Instanciación es la unión de una variable a una constante o estructura. La variable ligada se comporta luego como una constante.
La Verificación es el intento de derivar la estructura a comprobar de una pregunta desde la base de conocimientos, es decir, desde los hechos y reglas. Si es posible, la estructura es verdadera, en caso contrario es falsa. 
La Unificación es el componente principal de la verificación de estructuras. Una estructura estará comprobada cuando puede ser unificada con un hecho, o cuando puede unificarse con la cabecera de una regla y las estructuras del cuerpo de dicha regla pueden ser verificadas.
En LISP se dan los siguientes conceptos característicos:
  • Listas y Átomos: La estructura más importante es la lista. Los átomos pueden subordinarse a cualidades.
  • La Función: Cada función LISP y cada programa LISP tiene estructura de lista. Los programas no pueden distinguirse sintácticamente de los datos. LISP ofrece sus propias funciones básicas.
  • Forma de Trabajo: LISP es un lenguaje funcional. Ofrece la posibilidad de realizar definiciones recursivas de funciones. La unión de procedimientos se realiza de forma dinámica, es decir en plena ejecución, y no como en otros lenguajes de programación. El sistema realiza automáticamente una gestión dinámica de memoria.
Componentes de un sistema LISP.
Un componente importante de un sistema LISP es la gestión dinámica de la memoria. El sistema administrará el espacio en la memoria para las listas en constante modificación, sin que el usuario lo deba solicitar. Libera los espacios de memoria que ya no son necesarios y los pone a disposición de usos posteriores. La necesidad de este proceso se deriva de la estructura básica de LISP, las listas, que se modifican de forma dinámica e ilimitada.
Además un sistema LISP abarca bastante más que el solo intérprete del lenguaje LISP. Consta de algunos cómodos módulos que ofrecen ayuda en el desarrollo y control del progreso en programas, como son el Editor, el File-System y el Trace.Por supuestos estos módulos sólo están en versiones de LISP que contengan la conocida interfaz gráfica IDE típica de los modernos lenguajes visuales.(IDE = entorno de desarrollo integrado).
PROLOG es la abreviatura de PROgramación LOGica, con lo que hacemos mención a la procedencia del lenguaje: Es una realización de lógica de predicados, como lenguaje de programación.
En la actualidad, el PROLOG se aplica como lenguaje de desarrollo en aplicaciones de Inteligencia Artificial en diferentes proyectos de Europa. En los Estados Unidos, el LISP está más extendido que el PROLOG. Pero para la mayoría de los terminales de trabajo de Inteligencia Artificial se ofrece también el PROLOG.
Como una especie de semiestándar se han establecido el DECsystem-10 PROLOG de Edimburgo y el PROLOG descrito en el libro "PROGRAMMING IN PROLOG" de W.F.Clocksin y C.S.Melish. La mayoría de los dialectos PROLOG se basan en este y contienen el DECsystem-10 PROLOG en su ámbito linguístico.
Al contrario que el LISP (y otros lenguajes), en el PROLOG los programas son confeccionados de forma distinta. A los interesados en pueden leer a Kowalski que escribió un articulo con el título" Algorithm = Logic + Control". Con esto pretende decirnos que los algoritmos pueden ser divididos en su lógica y en sus mecanismos de control.
La lógica se representa en forma de predicados. Estos predicados aparecen en tres formas distintas: como hechos, como reglas y como preguntas. La lógica formulada como hechos y reglas se define como base de conocimientos. A esta base de conocimientos se le pueden formular preguntas.
Los mecanismos importantes del PROLOG son: recursividad, instanciación, verificación, unificación, backtracking e inversión.
  • La Recursividad representa la estructura más importante en el desarrollo del programa. En la sintaxis del PROLOG no existen los bucles FOR ni los saltos; los bucles WHILE son de difícil incorporación, ya que las variables sólo pueden unificarse una sóla vez. La recursión es más apropiada que otras estructuras de desarrollo para procesar estructuras de datos recursivas como son las listas y destacan en estos casos por una representación más sencilla y de mayor claridad.
  • La Instanciación es la unión de una variable a una constante o estructura. La variable ligada se comporta luego como una constante.
  • La Verificación es el intento de derivar la estructura a comprobar de una pregunta desde la base de conocimientos, es decir, desde los hechos y reglas. Si es posible, la estructura es verdadera, en caso contrario es falsa.
  • La Unificación es el componente principal de la verificación de estructuras. Una estructura estará comprobada cuando puede ser unificada con un hecho, o cuando puede unificarse con la cabecera de una regla y las estructuras del cuerpo de dicha regla pueden ser verificadas.

1 comentario:

  1. es interesante como ha evolucionado estos tipos de lenguajes de programacion desde el inicio de la invencion de la informatica

    ResponderEliminar