PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Prolog...


Gast
2004-09-03, 21:10:13
Ich habe mal ne Frage zu folgenden Prolog-Programmfragment...

hier_gehts_los:- anfang(Kiste), restliches_programm(Kiste).
...
...
restliches_programm(Kiste):- ...... usw usw
...
...
anfang(s(+, +, +, +, +, +, -, +, +, +, -, -, -, -, +, +, +)).



Also mir ist klar, das bei "hier_gehts_los" mit "anfang(kiste)" das "+, +, -, +, +..." Konstrukt von weiter unten im Programm später in "Kiste" zur Verfügung steht. Von nun an kann oben mit "Kiste" weitergearbeitet werden und genau das geschieht ja auch.

Meine Frage ist, wie man das im Allgemeinen nennt!!! Nicht lachen bitte...

Ist s(+, +, +, ......) eine Liste in "anfang"??? Wie kommt es das die ++++---- Geschichte später in "Kiste" steht... ???
Und wie genau funktioniert das dann mit der Unifikation... Warum schreibt man das mit den ++++----+++-+ denn nicht gleich oben bei "restliches_programm" rein.... ???

Fragen über Fragen...

Vielen Dank im Voraus...

Gast
2004-09-04, 15:01:35
ich glaube du hast falschen forum erwischt. prolog - ist das nicht diese KI sprache?

HellHorse
2004-09-04, 20:53:44
Dann wollen wir mal. Bin selbst nicht wirklich der PROLOG Hengst, aber einer muss ja wohl. ;)
Falls ich jetzt shice schreibe, bitte korrigieren.

Meine Frage ist, wie man das im Allgemeinen nennt!!! Nicht lachen bitte...
Falls du meinst, dass an Kiste ein Wert gebunden wirst, Unifikation.

Ist s(+, +, +, ......) eine Liste in "anfang"???
Für mich sieht das selbst wieder wie eine Klausel aus. Habe noch nie was ähnliches gesehen, aber have auch erst sehr wenig PROLOG Code gesehen. Hast du irgendwo ein s Klausel?

Wie kommt es das die ++++---- Geschichte später in "Kiste" steht... ???
Unifikation und Resolution.

Und wie genau funktioniert das dann mit der Unifikation...
Durch Resolution wird anfang(Kiste) ersetzt mit dem Körper der erst besten anfang/1 Klausel. Durch Unifikation wird Kiste an den Wert gebunden, damit die ensprechende Klausel zutrifft. Geht das nicht beim ersten mal, wird solange wie möglich wiederholt, bis es geht (backtracking).
Warum schreibt man das mit den ++++----+++-+ denn nicht gleich oben bei "restliches_programm" rein.... ???
Kann verschiedene Gründe haben. Falls du wirklich eine s Klausel hast, könnte dort eine Berechnung stattfinden. Oder man will, dass die Studis etwas lernen ...
ich glaube du hast falschen forum erwischt.
Was würdest du vorschlagen? Spielwiese? :biggrin:
prolog - ist das nicht diese KI sprache?
Expertensysteme, ja.