Also ich beginne mit Prolog und hatte eine Beispielaufgabe, wo ich einige Punkte habe, die ein Labyrinth bilden und ich will alle Knoten wissen, die zu Knoten 1 führen können .Wie bekomme ich alle Antworten, die zu einer bestimmten Ausgabe führen
connected(1,2).
connected(3,4).
connected(5,6).
connected(7,8).
connected(9,10).
connected(12,13).
connected(13,14).
connected(15,16).
connected(17,18).
connected(19,20).
connected(4,1).
connected(6,3).
connected(4,7).
connected(6,11).
connected(14,9).
connected(11,15).
connected(16,12).
connected(14,17).
connected(16,19).
reachable(X,Z) :- connected(X,Z).
reachable(X,Z) :- connected(X,Y),reachable(Y,Z).
habe ich die folgende Abfrage: reachable(X,1).
, die in einem einfachen falsch und nicht alle Knoten geführt, die auf der anderen Seite zu erwarten, so etwas zu 1. ich führe:
x = 4;
Es sollte b Ich habe bemerkt, dass dies ein gerichteter Graph ist.
Bitte geben Sie das Problem genauer an. Derzeit ist mir unklar, was Sie erreichen wollen. –
ist der Graph gerichtet, oder sollte es ungerichtet sein? Für ein gerichtetes Diagramm funktioniert Ihr Prädikat korrekt. –