?- X is 3+5.
X = 8
?- X
= 3+5.
X =
3+5
?-
3+5 =:= 2+6.
yes
?-
3+5 == 2+6.
no
?-
3+5 == 3+5.
yes
Es
más fácil entender la forma de una estructura complicada si la escribimos como
un árbol en el que el nombre es un nodo y los componentes son las ramas.
Numéricos
Arboles
Listas
Arboles
La representación de hechos simples no es lo común
en la clasificación de elementos, sino que se agrupan los elementos de un mismo
tipo en una lista.
Las listas son colecciones de elementos en PROLOG.
Una lista se divide en dos partes:
• Cabeza. Es el primer elemento de la lista.
• Cola. Es una lista con el resto de los elementos
de la lista.
La cabeza y la cola de una lista se separan con el
símbolo "|".
La representación de hechos simples no es lo común
en la clasificación de elementos, sino que se agrupan los elementos de un mismo
tipo en una lista.
Las listas son colecciones de elementos en PROLOG.
Una lista se divide en dos partes:
• Cabeza. Es el primer elemento de la lista.
• Cola. Es una lista con el resto de los elementos
de la lista. La cabeza y la cola de una lista se separan con el símbolo
"|".
Si definimos:
masuno(X, Y): - Y is X+1.
xmasuno (X, Y): - Y = X+1.
Observaremos el siguiente comportamiento:
?- masuno (,5).
Yes
?- xmasuno(4,5)
No
Numericos
En
PROLOG los objetos numéricos pueden corresponder a tipos integer o float de C.
Para
realizar operaciones numéricas, se tiene el predicado is, que se comporta como
una asignación en un lenguaje imperativo.
Así,
el objetivo X is <expresión> será verdadero cuando X unifique con el
resultado numérico de evaluar <expresión>.
Expresiones
Una
representación declarativa es aquélla en la que el conocimiento está
especificado, pero en la que la manera en que dicho conocimiento debe ser usado
no viene dado. El más popular de los sistemas de programación lógica es el
PROLOG.
PROLOG
cuenta con operadores para la unificación y comparación, sea con evaluación o
sea simbólica, como los siguientes:
• X
is Y %unificación con evaluación.
• X =
Y %unificación simbólica
•
X=:=Y %comparación con evaluación
• X
== Y %comparación simbólica.
Se puede establecer que el
lenguaje PROLOG está orientado a la Inteligencia Artificial, usando la
programación lógica.
También utiliza pocos
comandos en comparación con otros lenguajes de programación. Sólo hemos
comenzado a explorar el poder que viene de la modelización de cálculo dentro de
la lógica de predicados.