Ich habe N
Anzahl der Knoten an Start und Ende, wo sie als N
Anzahl der Sätze (1 to 1, .., n to n, .., N to N
) gepaart werden können. Ich habe jedoch M
Stufen (kann als parallele Stufen angenommen werden) zwischen dem Start und Ende, und jede Stufe hat R
Anzahl der Knoten, wo R>=N
.Finden Sie alle möglichen Pfade zwischen N Knotensatz
Wenn ich anfangen betrachten n
Knoten n
Knoten (d.h. n to n
pair) zu beenden, muss ich passieren (M+1)
hops Endknoten zu erreichen, und es gibt R^M
mögliche Pfade. Somit sind alle möglichen Pfade für alle Paare N*R^M
.
gewichten jeden Link I als: die Verbindung zwischen Knoten in der Stufe i
m
und Knoten j
in Stufe m+1
als w_{i,j}^{m,m+1}
.
Ich möchte einen MATLAB-Code schreiben, um alle möglichen Pfade jedes Paares zu erzeugen, d. H. N Paare. Kann mir bitte jemand helfen?
Ich versuchte es nur mit erschöpfende Suche nur für 2 Start-und Endknoten mit 2 Stufen, die 3 Knoten haben. Aber ich weiß nicht, wie man das für ein allgemeines Netzwerk mit einem effektiven Weg schreibt. Bitte hilf mir !!!
Hinzugefügt: Zum Beispiel: N = M = 2, R = 3
Ich habe R^M=2^3=9
mögliche Pfade für jedes Paar. Für beide Paare habe ich 18
. Für 1 to 1
Paar eingestellt mögliche Pfade ist:
{1-1-1-1, 1-1-2-1,1-1-3-1
1-2-1-1, 1-2-2-1,1-2-3-1
1-3-1-1, 1-3-2-1,1-3-3-1}
und die entsprechenden Gewichte eingestellt ist (0
bedeutet Start):
{w_{1,1}^{0,1}-w_{1,1}^{1,2}-w_{1,1}^{2,3}; w_{1,1}^{0,1}-w_{1,2}^{1,2}-w_{2,1}^{2,3}; w_{1,1}^{0,1}-w_{1,3}^{1,2}-w_{3,1}^{2,3}, ........., w_{1,3}^{0,1}-w_{3,3}^{1,2}-w_{3,1}^{2,3}}
Same folgt für das 2 to 2
Paar.
Eigentlich meine ausführliche Suche erzeuge ich jeden Sprung als Matrix mit zufällig erzeugten Gewichten. Vom Anfang bis zum ersten Hop: A=rand(2,3)
, dann 1. Hop bis 2. Hop: B=rand(3,3)
, und 2. beenden: C=rand(3,2)
Es ist mir nicht wirklich klar, was genau das Szenario ist. Sie erwähnen hier einige Kantengewichte, aber sie scheinen mit dem Problem der Aufzählung von Pfaden nichts zu tun zu haben. Auch die Auswahl der Anfangs- und Endknoten scheint keine Rolle zu spielen, da Sie keine Einschränkungen angeben, mit welchen Knoten Sie verbunden werden können. Könnten Sie vielleicht die gewünschte Ausgabe für sagen, N = M = 2, R = 3? –
Danke @Daniel McLaury, ich möchte sowohl 1) die möglichen Wege und 2) entsprechende Gewichte schreiben. Sie haben recht, dass genug, um ein Set zu wissen, aber ich mache mir Sorgen über das entsprechende Gewicht auch gesetzt. Wie Sie kommentieren, aktualisiere ich die Probleme mit Beispiel N = M = 2, R = 3. – Frey
Vielleicht kann Ihnen das helfen - http: // stackoverflow.com/questions/9535819/find-all-paths-zwischen-zwei-graph-nodes – StefanM