Prolog-Akkus. Sind sie wirklich ein "anderes" Konzept?

Ich lerne Prolog aus der Quelle in meinem Labor für künstliche IntelligenzLerne jetzt Prolog!.

Im 5. Kapitel lernen wir etwas überAkkus. Als Beispiel werden diese beiden Codeausschnitte angegeben.So ermitteln Sie die Länge einer Liste

ohne akkumulatoren:

len([],0).
len([_|T],N) :- len(T,X), N is X+1.

mit akkus:

accLen([_|T],A,L) :- Anew is A+1, accLen(T,Anew,L).
accLen([],A,A).

Ich kann nicht verstehen, wie sich die beiden Ausschnitte konzeptionell unterscheiden. Was genau macht ein Akku anders? Und was sind die Vorteile?

Akkus klingen wieZwischenvariablen. (Korrigieren Sie mich, wenn ich falsch liege.) Und ich habe sie bereits in meinen Programmen verwendet, ist es also wirklich ein so großes Konzept?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage