Grüße,
wo stammen die relationen her? kannst du uns etwas mehr verraten?
MFG
bleicher
Sicher,
ich habe einen vollständigen, gerichteten Graphen ohne Hebungen und Senkungen und die AxB-Menge ist eine andere Darstellung für die Adjazenzmatrix.
Vollständig := Jeder Knoten ist mit jedem anderen Knoten verbunden
Gerichtet := Jede Kante hat eine Richtung
Hebung := Zu einem Knoten gehen nur Kanten hin
Senkung := Von einem Knoten gehen nur Kanten weg
Ein Element aus meiner AxB-Menge, z.B. (1,2), heißt somit: Es existiert eine Kante die von Knoten 1 zu Knoten 2 geht.
Da durch die Vollständigkeit jeder Knoten mit jedem Vebunden ist, gibt es also z.B. (1,3) und (1,4), aber da die Kanten gerichtet kein (4,1) oder (3,1).
Ich suche jetzt die Hamiltonkreise in so einem Graphen. Für 4, 5, 6-Ecke ist es recht leicht, aber für 15-16 Ecke bekommt man da Probleme.
Zum Programmierproblem:
Habe jetzt einen Ansatz, der allerdings sehr statisch ist. Hier das was ich habe für die kleine Tabelle {(1,2),(1,3),(1,4),(2,3),(2,5)}, die ich in eine mysql-Tabelle geschrieben habe.
$result = mysql_query("SELECT * FROM save");
$numrows = mysql_num_rows($result);
$n = mysql_result($result, $numrows-1);
$result1 = mysql_query("SELECT * FROM save WHERE A=1");
$numrows1 = mysql_num_rows($result1);
echo "Möglichkeiten = {";
for($i=0; $i<$numrows1; $i++) {
$ausgabe1 = mysql_result($result1, $i, 'B');
$result2 = mysql_query("SELECT * FROM save WHERE A=2");
$numrows2 = mysql_num_rows($result2);
for($j=0; $j<$numrows2; $j++) {
$ausgabe2 = mysql_result($result2, $j, 'B');
$ausgabe = $ausgabe1.$ausgabe2;
$text = "{".$ausgabe."}, ";
if($ausgabe1 == $ausgabe2) { } else { echo $text; }
}
}
echo "}";
Mit der Ausgabe:
Möglichkeiten = {{23}, {25}, {35}, {43}, {45}}
Problem halt:
Wenn ich es so mache, klappt es wohl, aber ich muss das Programm immer anpassen, wenn ich das n ändere.