Linuchs: Gewichteter "Zufall"

Beitrag lesen

Hallo,

in einen Veranstaltungskalender blende ich Werbung ein und nutze eine Zufallsfunktion, um eine der möglichen Anzeigen aus der Datenbank zu holen.

Wie vom Würfeln bekannt, kommt die 6 nicht, wenn man sie braucht. Und eine bestimmte Werbung kommt nicht, wenn der Auftraggeber danach sucht und die Seite mehrfach aufruft.

Nun muss ich also dem "Zufall" auf die Sprünge helfen oder mir ein anderes Verfahren überlegen, damit die Verteilung gleichmäßiger wird.

Ich könnte jeder geholten Werbung einen Zeitstempel verpassen und die "älteren" bevorzugt behandeln. Aber wie? Einfach den ältesten zuerst? Das wäre dann kein Zufall mehr.

Veranstaltungen (und damit die Werbung) werden in einem Radius von standardmäßig 15 km um den gesuchten Ort angezeigt. Nun gibt es "Kreise" mit viel Werbung, da könnte man die "nahen" Anzeigen bevorzugen.

Irgendwie möchte ich eine Priorität ermitteln, in die der Zufall eingeht, aber auch die lange nicht gezeigten und geografisch nahen Anzeigen bevorzugt werden.

Irgendwie habe ich keine gute Idee dazu.

Linuchs