Bienvenida al blog sobre Prolog

 


Bienvenidos al blog sobre Prolog. Un blog especializado donde hablaremos de este lenguaje de programación.

Prolog (PROgrammation en LOGique) es un lenguaje de programación lógica creado en 1972 por Alain Colmerauer y Philippe Roussel en la Universidad de Aix-Marseille, Francia.

Está diseñado para trabajar con hechos y reglas, y es ampliamente usado en inteligencia artificial, sistemas expertos y procesamiento de lenguaje natural.

Supongamos que queremos representar relaciones familiares (relaciones.pl):

% Hechos
padre(juan, maria).
padre(juan, pedro).
madre(ana, maria).
madre(ana, pedro).

% Regla
hermano(X, Y) :- padre(P, X), padre(P, Y), madre(M, X), madre(M, Y), X \= Y.

Este programa no permite establecer una especie de árbol familiar. Donde hay padres(juan y ana) e hijos(maria y pedro).

Y al ejecutar su consulta:

?- hermano(maria, pedro).

Nos daría como resultado un ``true``. Ya que maria y pedro son hermanos.

Definamos ahora qué es un hecho y una regla en Prolog.

Hecho

Un hecho representa una afirmación simple que se considera verdadera. Describe una relación o propiedad sin condiciones. Ejemplo:

gusta(maria, chocolate).

Aquí decimos que a maria le gusta el chocolate. Es una verdad que se almacena tal cual en la base de conocimiento.

Regla

Una regla define una relación que depende de otras condiciones. Se usa para inferir nuevos hechos a partir de hechos existentes. Ejemplo:

amigo(X, Y) :- confia_en(X, Y), ayuda(X, Y).

Esto se lee como: X es amigo de Y si X confía en Y y X ayuda a Y. La parte antes de :- es la conclusión, y lo que sigue son las condiciones que deben cumplirse.

Resumiendo:

  • Hecho = algo que se sabe directamente. 
  • Regla = algo que se deduce si se cumplen ciertas condiciones.

Más adelante continuaremos dando más detalles.

Desde como instalar el lenguaje y primeros programas.

Enlaces:

https://www.swi-prolog.org/
https://www.azulweb.net/prolog-un-ejemplo-del-paradigma-de-la-programacion-logica/
https://github.com/Santiosoji/Proyectos-Programaci-n-III
https://github.com/jElhamm/100-Projects-for-Prolog
https://gist.github.com/asaeldev/991e65bcf1203b75fa7ca444e4f1367b
https://alquimistadecodigo.blogspot.com/2022/05/un-vistazo-prolog.html
https://alquimistadecodigo.blogspot.com/2024/04/mas-sobre-prolog-el-lenguaje-de.html

Comentarios