En aquest tema, aprendrem els conceptes fonamentals de Prolog: fets, regles i consultes. Aquests elements són la base de qualsevol programa en Prolog i ens permeten definir coneixement i realitzar inferències.
Fets
Els fets són afirmacions bàsiques sobre el món que es consideren veritables. En Prolog, els fets es defineixen utilitzant predicats. Un predicat és una relació entre objectes. A continuació, es mostra un exemple de fets en Prolog:
En aquest exemple, germà/2
i pare/2
són predicats amb dos arguments. Els fets indiquen que Joan és germà de Maria, Pere és germà de Joan, i Joan és pare d'Anna.
Exercici 1: Definint Fets
Defineix els següents fets en Prolog:
- Maria és mare de Joan.
- Anna és germana de Joan.
- Pere és pare de Maria.
Solució:
Regles
Les regles permeten definir relacions més complexes basades en altres fets o regles. Una regla té la forma Cap :- Cos
, on Cap
és el que volem demostrar i Cos
és una llista de condicions que han de ser veritables perquè Cap
sigui veritable.
Exemple de regla:
Aquesta regla diu que X
és avi de Y
si X
és pare de Z
i Z
és pare de Y
.
Exercici 2: Definint Regles
Defineix una regla àvia/2
que indiqui que X
és àvia de Y
si X
és mare de Z
i Z
és pare de Y
.
Solució:
Consultes
Les consultes són preguntes que fem al sistema Prolog per verificar si certs fets o regles són veritables. Les consultes es fan utilitzant els predicats definits.
Exemple de consulta:
Aquesta consulta pregunta si Joan és germà de Maria. Prolog respondrà true
o false
segons els fets definits.
Exercici 3: Realitzant Consultes
Utilitzant els fets i regles definits anteriorment, realitza les següents consultes:
- És Joan pare d'Anna?
- Qui és germà de Joan?
- Qui és avi d'Anna?
Solució:
Resum
En aquest tema, hem après els conceptes bàsics de Prolog: fets, regles i consultes. Els fets són afirmacions bàsiques, les regles defineixen relacions complexes i les consultes ens permeten verificar la veracitat de fets i regles. Aquests elements són fonamentals per a la programació en Prolog i ens permeten construir programes que poden realitzar inferències basades en el coneixement definit.
En el següent tema, aprofundirem en la definició de fets i veurem com utilitzar-los per construir bases de coneixement més complexes.
Curs de Programació en Prolog
Mòdul 1: Introducció a Prolog
- Què és Prolog?
- Instal·lant Prolog
- Primers Passos en Prolog
- Sintaxi i Estructura Bàsiques
- Fets, Regles i Consultes
Mòdul 2: Programació Bàsica en Prolog
Mòdul 3: Estructures de Dades en Prolog
Mòdul 4: Programació Avançada en Prolog
- Unificació Avançada
- Tall i Negació
- Meta-Programació
- Gramàtiques de Claus Definides (DCGs)
- Programació Lògica amb Restriccions
Mòdul 5: Prolog en la Pràctica
- Entrada/Sortida de Fitxers
- Depuració de Programes Prolog
- Biblioteques Prolog
- Interfície amb Altres Llenguatges
- Construint una Aplicació Prolog