Mathematik online lernen im Mathe-Forum. Nachhilfe online
Startseite » Forum » Minimaler Stammbaum mit mehreren "Akteuren"?

Minimaler Stammbaum mit mehreren "Akteuren"?

Universität / Fachhochschule

Graphentheorie

Tags: Computer, Graphentheorie, Netzwerk, Zeit

 
Antworten Neue Frage stellen Im Forum suchen
Neue Frage
lousek

lousek aktiv_icon

12:49 Uhr, 20.01.2013

Antworten
Hallo Forum

Ich sitze gerade an einem Problem fest, wo ich einfach nicht mehr weiter weiss.
Idee:
Man hat ein Computernetzwerk mit 5 Computern (= Knoten / Ecken).
Dieses Netzwerk ist voll-vermascht, d.h. jeder Computer hat mit jedem eine Verbindung (= Kante).
Siehe dazu auch die beiden Anhänge (Matrix und Graph).

Die Gewichtung der Verbindungen können als Kosten oder auch Zeit interpretiert werden. Umso tiefer, umso besser.

Das Ziel ist nun, den Baum für einen gegebenen Startpunkt (!)(= Computer) zu finden.
Dabei soll die total benötigte Zeit am kleinsten sein!
Einschränkung: es ist immer nur eine ausgehende Verbindung "gleichzeitig" erlaubt
Beispiel könnte sein: eine Datei oder Nachricht soll vom Startpunk Computer A an alle anderen Computer versendet werden.

Nun das Problem, warum der minimale Spannbaum nicht unbedingt optimal ist:
In einem minimalen Spannbaum geht man von EINEM "Akteur" aus (z.B: finde den Weg, womit der Postbote am schnellsten alle Briefkästen bedienen kann).
Hier gibt es aber zeitabhängig mehrere Akteure!
Hat z.B. der Computer B die Datei von Computer A erhalten, so wird er nach 13 Zeiteinheiten selbst zu einem Akteur und kann die Datei weiterversenden.
Vielleicht hat A die Datei aber zuerst an C weitergegeben, so wird B erst nach 16 Zeiteinheiten zum Akteur, muss die Datei dafür sicher nicht mehr an C weitergeben.

Im dritten Anhang habe ich das ganze auch mal grafisch anhand der Zeitachse dargestellt (aber mit anderen Werten).
Dabei ist das grosse T eines Knoten die Zeit die der Knoten zur Abarbeitung seiner Kinder-Knoten benötigt.
Ein kleines t ist die Zeit/Kosten der Verbindung.

Eine grosse Schwierigkeit ist, dass durch die volle Vermaschung jeder beliebige Baum möglich wäre und dass man zu Beginn somit noch keine vorgegebene Struktur (= Baum) hat.
Ebenso kann es sein, dass sich durch das Hinzufügen eines weiteren Knoten die ganze "überliegende" Struktur wieder ändert.
Beispiel:
B ist der Startpunkt.
A wird hinzugefügt
BA13
E wird hinzugefügt
BE13
AE9
Hier wird nun die Verbindung A verwendet, obwohl der schnellste Weg (Distanz-mässig) BE wäre.
ABER: Zeitlich gesehen:
BA13 und BE13 sind total 26
BA13 und AE9 sind total 22!

Fügt man nun noch C hinzu (mögliche Wege):
BC11
AC3
EC7

Der schnellste Weg wäre wiederum BC
also BC11
Nun kann aber die restliche Struktur optimiert werden!!
CA3
CE7
C benötigt also 10 ZE (Zeiteinheiten), um seine Kinderknoten zu bedienen.
BC ist 11,d.h. total also 21.
Obwohl einen Knoten dazugekommen ist, sind wir jetzt schneller fertig.
Dafür musste aber die gesamte andere Struktur nochmals überprüft werden!

Der Knoten D könnte jetzt direkt bei B angeschlossen werden, die Zeit würde sich dadurch aber trotzdem nur um eines erhöhen WEIL:
Sobald er die Datei an C übertragen hat, kann er sie an D schicken. B selbst benötigt also total nur 22(BC+BD),C hat bereits nach t=21(BC+CA+CE) seine Arbeit fertig.

Meine "Lösungsidee" bis jetzt war:
Man hängt einen Knoten immer so an, dass sich die Gesamt-Zeit am wenigsten erhöht (probiert also alle "Anschlussmöglichkeiten" aus).
Sind alle Punkte angeschlossen, so geht man für jeden Punkt nochmals durch und überprüft, ob man ihn an einem anderen Ort anschliessen könnte sodass die Gesamt-Zeit nicht zunimmt resp. sogar abnimmt.
Dies funktioniert aber nur teilweise.
Wäre bis jetzt die "oberste Struktur" ABC gewesen, so könnte es sein, dass sich aufgrund der neu angeschlossenen Knoten plötzlich die Struktur ACB ergibt, was in meinem "Algorithmus" oben nicht berücksichtigt ist.

Ah ja: Durchrechnen aller Bäume fällt wohl aus: für einen bestimmten Startknoten gibt es bei 5 Knoten bereits 6416 Möglichkeiten (wenn ich richtig gerechnet habe :-) )

So, vielleicht hat hier jemand ein paar Tipps dazu :-)
Bin sehr gespannt auf Antworten :-)

Gruss
lousek


ofrs1
ofrs2
CCI18012013_00000

Für alle, die mir helfen möchten (automatisch von OnlineMathe generiert):
"Ich möchte die Lösung in Zusammenarbeit mit anderen erstellen."
Online-Nachhilfe in Mathematik
Diese Frage wurde automatisch geschlossen, da der Fragesteller kein Interesse mehr an der Frage gezeigt hat.