So finden Sie die Anzahl der Inversionen in einer Liste in Prolog

Als jemand, der neu in Prolog ist, möchte ich herausfinden, wie man die Anzahl der Inversionen in einer Liste gut zählt.

Ich weiß, wie man eine Matrix mit @ abflacflatten(Matrix, FlatMatrix), wodurch eine Variable erstellt wird, die einen einzelnen Satz von Elementen in der Matrix enthält. Ich bin mir jedoch nicht sicher, wie ich die Anzahl der Inversionen in dieser Liste ermitteln soll.

Nach meinem Verständnis ist die Anzahl der Inversionen in einer Matrix von Zahlen von 0 ... n die Gesamtzahl der Elemente, die kleiner sind als die Zahl, die verglichen wird (bitte korrigieren Sie mich, wenn ich mich in dieser Frage irre).

Ich habe ein bisschen Verständnis dafür, wiesetof/3 funktioniert in Prolog, aber ich würde gerne eine effizientere Methode kennen, um die Anzahl der Inversionen in einer abgeflachten Matrix zu ermitteln. Variablen in Prolog sind mir fremd, daher sind einfache Erklärungen am besten.

Danke im Voraus

Antworten auf die Frage(6)

Ihre Antwort auf die Frage