Prilagajanje
Iz E-študij, proste zakladnice študentskega znanja
Prilagajanje je edina operacija, ki jo pozna čisti logični prolog. Je implementacija unifikacije v računalniški logiki.
otrok(tine,mojca). otrok(tine,cene). otrok(cene,micka). ?- otrok(X,cene). %spremenljivka X se opredeli X = tine
- Neopredeljena spremenljivka se lahko prilagodi čemurkoli
- Po operaciji je spremenljivka opredeljena in njena vrednost je izraz, kateremu se je prilagodila. Če se prilagajata dve neopredeljeni spremenljivki, postaneta identičnil.
- Dve konstanti se prilagodita, če sta identični.
- Dve strukturi se prilagodita, če imata isti funktor* in če se lahko argumenti med seboj paroma prilagodijo
- *(če imata isto ime in enako število argumentov)
Pri prilagajanju se strukturi prilagodita vedno najbolj splošno. To pomeni da je prilagajanje čimmanjše potrebno.
Primeri
?- datum(Dan,11,1986) = datum(Dan1,Mesec,Leto). Dan = Dan1 Mesec = 11 Leto = 1986
?- X = 1+2. %na levi neopredeljena spremenljivka, na desni struktura X=1+2 yes
?- X+Y = 1+2 X=1 Y=2 yes
?- f(X) = f(g(1)). X=g(1) yes
?- X = f(X). %ciklična struktura, ob izpisu se zacikla ker kliče sam sebe X=f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(f(....