Lenguaje Fril

Lenguaje Fril

Lenguaje Fril

Fril es un lenguaje de programación para el cálculo de predicados de primer orden. Trabaja con un subconjunto de la semántica del lenguaje Prolog pero no del estándar ISO-PROLOG, sino con la sintaxis de micro-Prolog, un dialecto desarrollado a principios de la década de 1980, añadiéndole soporte para conjuntos difusos, lógica de apoyo y metaprogramación.

Las primeras versiones de Fril fueron originalmente desarrolladas por Trevor Martin y Jim Baldwin en la Universidad de Bristol en torno a 1980. En 1986, pasó a manos del Equipu AI Research, que más tarde se convirtió en Fril Systems Ltd., que se encargó de la implementación y desarrollo de las versiones actuales del lenguaje. El nombre Fril era originalmente un acrónimo de Fuzzy Relational Inference Language (en español "Lenguaje de inferencia difusa relacional").

Contenido

Prolog y Fril comparados

Aparte de la gestión de lógica difusa, característica de Fril, hay algunas diferencias de menor importancia en la aplicación a Fril de características estándar de Prolog.

Tipos

Los tipos básicos en Fril son similares a los de Prolog, con una excepción importante: el tipo de dato compuesto en Prolog es el término compuesto, listas de átomos usando un átomo como "functor" y el resto como "argumentos", definidas usando ".", en Fril, el tipo compuesto es la propia lista, lo que constituye la base para la mayoría de las construcciones. Las variables se distinguen por los identificadores de las mismas, que se escriben en su totalidad en letras mayúsculas (mientras que en Prolog sólo se requiere que la primera letra del nombre de la variable sea en mayúsculas). Como en Prolog, el carácter "_" está reservado para significar "ningún valor", lo que se traduce en que puede haber múltiples apariciones de "_" sustituyendo a diferentes variables indistintamente.

Sintaxis

Comparadas las sintaxis del Prolog y el Fril, este último tiene una sintaxis más simple y en algunos aspectos similar a la de Lisp. Una cláusula proposicional es una lista compuesta de un predicado seguido de sus argumentos (si los hubiera). Entre los tipos de construcciones de nivel superior son las reglas y los comandos de modo directo.

Reglas

Una regla es una lista que consiste en una conclusión seguida de la hipótesis (objetivos). Tienen en general el siguiente aspecto:

((dato))
((conclusion objetivo_1 ... objetivo_n))

La construcción equivalente en Prolog sería:

dato.
conclusion :- objetivo_1, ..., objetivo_n.

Por ejemplo, el predicado member en Prolog:

member(E, [E|_]).
member(E, [_|T]) :- member(E, T).

En Fril, esto sería:

((member E (E|_)))
((member E (_|T)) (member E T))

Relación

Algunos datos pueden ser representados en forma de relaciones. Una relación es equivalente a un conjunto de hechos con el mismo nombre de predicado y de aridad constante, salvo que ninguno de los hechos se pueden quitar (excepto con el comando kill, que elimina la relación); como representación consume menos memoria interna. Una relación está escrita, literalmente, como una lista compuesta por el nombre del predicado seguido por una o varias tuplas de la relación (todos los argumentos de un hecho equivalente, sin el nombre del predicado). Un predicado también puede ser declarado una relación mediante una llamada al predicado def_rel, aunque esto sólo funciona si el nombre propuesto no existe en la base de conocimientos. Una vez que un predicado es una relación, normalmente se añade una regla y si no viola las restricciones de las relaciones, se agrega automáticamente una tupla a la relación en su lugar.

He aquí un ejemplo. El siguiente conjunto de hechos:

((menor-que 2 3))
((menor-que 8 23))
((menor-que 42 69))

puede ser reescrito como una relación:

(menor-que
    (2 3)
    (8 23)
    (42 69))

Disyunción

Para este propósito Prolog usa un signo de puntuación ";". Fril usa el predicado orr.

Referencias

Enlaces externos

Obtenido de "Lenguaje Fril"

Wikimedia foundation. 2010.

Игры ⚽ Поможем написать курсовую

Mira otros diccionarios:

  • Fril — Este artículo está huérfano, pues pocos o ningún artículo enlazan aquí. Por favor, introduce enlaces hacia esta página desde otros artículos relacionados. Fril es u …   Wikipedia Español

  • Lógica difusa — La lógica difusa o lógica heuristica se basa en lo relativo de lo observado como posición diferencial. Este tipo de lógica toma dos valores aleatorios, pero contextualizados y referidos entre sí. Así, por ejemplo, una persona que mida 2 metros es …   Wikipedia Español

  • Micro-PROLOG — es el nombre de una variante o dialecto del lenguaje PROLOG, inicialmente creada para microordenadores de 8 bits, popularizada a principios de la década de 1980. Fue usado en la enseñanza pública, normalmente como introducción a la programación… …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”