Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

Prolog

Hallo Leute!

ich hoffe mir kann jemand weiter helfen. Ich soll in Prolog eine Regel entwickeln, mit der ein Zufallsgraph mit n Knoten erzeugt wird.

Ich hab schon Ansätze, und weiß auch dass ich das Random-Prädikat nutzen muss... allerdings klappt es nicht. :(


Antworten zu Prolog:

Am besten du beschreibst erstmal, welche Struktur der Graph haben soll und was du so probiert hast, vielleicht kann man dir dann besser helfen...

Es geht um das Problem des Traveling Salesman... also um die heuristische Wegsuche in einem Graphen
Meine Aufgabe besteht jetzt darin diesen Graphen zu erzeugen, mittels Rabdom-Funktion, wie ich denke. Es soll ein Wert n übergeben werden, der die Anzahl der Knoten darstellt.
Ich denke, dass Programm soll so ablaufen, dass Prolog immer einen Pfad (oder eine Kante) zwischen 2 Knoten erzeugt, und diese dann an die bereits vorhandene Liste von Pfaden (bzw. Kanten) aufnimmt. Und dies solange, bis es n Knoten sind.

Soweit bin ich bis jetzt... aber irgendwie ist das noch nicht das Richtige... :(

start:-retractall(kante),
       dynamic(kante/3),
       zgraph(N).
start.

zgraph(0):-!.
zgraph(N):-not(kante(_,_,_)),
           NM1 is N - 1,
           zgraph(NM1),
           assertz(kante(_,_,_)).

Hm ich hab irgendwie auch nich so den Plan von Prolog, ich krieg grad mal ne liste aus zufälligen Zahlen hin, und auch die scheint irgendwie nicht so ganz korrekt nach Liste auszusehen...

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Traveling Salesman.....I love that shit..aber das hilft hier wahrscheinlich nicht weiter.

Aber wenn jemand eine Grid-Computing-Lösung in C haben will.... ;)

Ich hab hier mal eine Regel für dich, die eine Liste von Zufallszahlen erzeugt. Und sie funktionier ;) *g*
Viel Spaß damit!

% Sortieren von Zufallszahlen

% Zufallsliste mit N Zahlen erzeugen
zliste(0,ErgL,ErgL):-!.
zliste(N,TempL,ErgL):-ZZ is random(10000),
                      N1 is N - 1,
                      zliste(N1,[ZZ|TempL],ErgL).

Hm so eine Liste könnte man ja als Graph 'uminterpretieren', indem du einfach sagst, die Zahlen L_{2k} und L_{2k+1} sind die Indizes der Knoten, zwischen denen eine Kante exisitert ... mzusst du nur noch steuern dass die Liste genau eine gerade Zahl lang ist und die zahlen im Bereich der Anzahl der Knoten liegen :-)

 ??? Hallo, wie schreibt man den text wenn man Ergebnisse von Fußballspielen per Zufallszahlen generieren kann?


« String in Integer UmwandlungFortran Format »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

| Mehr Themen zu "Prolog"
Fremdwörter? Erklärungen im Lexikon!
Internet-Zugriffsprogramm
Ein Internet-Zugriffsprogramm, auch Browser genannt, stellt Internetseiten für den Benutzer dar. Am bekanntesten ist der Microsoft Internet Explorer, gefolgt vom kos...

Programm
Siehe Software...

Grundstrich
Der Begriff des Grundstrichs im Bereich der Typografie, bezeichnet den senkrechten Strich der Buchstaben. Bei Schriftarten mit variabler Strichstärke, wie zum Beispi...