verteilt gleich schätzen < Numerik < Hochschule < Mathe < Vorhilfe
|
Aufgabe | Hallo zusammen,
ich habe ein algorithmisches Problem, bei dem ich hoffe, dass ich es mit ein paar Mathekniffen von Euch gelöst bekomme.
Es sei ein asynchrones Kommunikationssystem gegeben, welches aus zwei Peers [mm] P_1 [/mm] und [mm] P_2 [/mm] bestehe. Jeder Peer hat einen Ressourcenwert, welche zwischen 0 und 100 liegen kann und eine reale Zahl ist. Jeder Peer hat eine Liste RL, welche einem Peer einen Ressourcenwert zuordnet. Beide Peers tauschen sich ihre Ressourcenwerte initial aus. und kommunizieren danach nicht mehr miteinander.
Anschließend schätzen beide Peers periodisch den Ressourcenwert aller Peers in der Liste, durch eine einfache Reduktion um den Faktor 0.2. Die Schätzung startet nach dem Austausch der Ressourcenwerte. Aufgrund der Latenz in der initialen Kommunikation startet [mm] P_1 [/mm] die Schätzung eher und ist immer eine Runde vor [mm] P_2. [/mm] Somit sehen zum Zeitpunkt [mm] t_0 [/mm] die Ressourcenlisten der einzelnen Peers wie folgt aus:
[mm] P_1: [/mm] RL= [1 -> 99.6, 2 -> 99.7]
[mm] P_2: [/mm] RL= [1 -> 99.8, 2 -> 99.7]
Eine Funktion m(), welche die Nummer des Peers zurückliefert, welcher den größten Ressourcenwert hat, ergibt somit:
[mm] P_1: [/mm] m(RL)=2
[mm] P_2: [/mm] m(RL)=1
Die Frage ist nun, wie kann man die Ressourcenwerte so runden, dass m() bei [mm] P_1 [/mm] und [mm] P_2 [/mm] auf das selbe Ergebnis kommt? Geht dies überhaupt? Einfach abschneiden oder round_half_up klappt nicht.
Jemand einen Tipp??? |
Ich weiß übrigens nicht, ob dies das richtige Forum ist, daher im Zweifelsfall verschieben.
Für Hilfe und Anregung schon einmal danke. :)
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 19:20 Fr 04.07.2014 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|