Hi,
On Thu, November 3, 2016 12:30, Thomas Schmidt wrote:
Ich brauche einen Algorithmus, der zu jeder Zeit einen Wert x zwischen 1 und n liefert, damit ein Eintrag data[ x-1 ] ausgegeben werden kann.
Der Sinn ist, Fotos auf mehreren Bildschirmen laufen zu lassen. Ich habe zueinander passende Bilder in data[] zusammengestellt, die synchron angezeigt werden sollen. Es gibt keine Zentrale, daher muss jeder Raspberry Pi aus dem Algorithmus und der Zeit wissen, welche Aufnahme gerade dran ist.
Meine Idee ist, mit ât modulo nâ Gruppen zu bilden, in denen jedes x genau einmal vorkommt. Die Reihenfolge innerhalb der Gruppe wird dann mit einem Chaos-Generator ausgewürfelt, der mit t initialisiert wird. Ich könnte mir vorstellen, dass es eine viel elegantere Lösung gibt.
Du suchst keinen Zufallsgenerator, sondern einen Hash über die Zeit.
1) lass Dir die aktuelle Zeit geben (kompletter String mit Datum, damit es sich nicht wiederholt) 2) lege MD5 drueber (oder MD4, SHA ist hier nur CPU-Verschwendung) 3) nimm die letzten (oder ersten, egal) 32 bit 4) modulo n
Die wichtigere Frage ist: wie willst Du die Uhren der RPi's synchron halten wenn es keine Verbindung gibt?
Konrad