Mini-Scheduler: Berechnung

Da ich momentan (mal wieder) in den Tiefen des Mini-Schedulers tauche und dabei auch im Log nach Verbesserungen suche, ist mir etwas aufgefallen, das mich verwirrt hat:

001593  Pick random item from folder "fillmeup" (788), item count: 153, pick idx: 2
001593  
001593  1/153: ID 8966, artist "Alan Parsons", title "L'Arc En Ciel"
001593  Last use: 25.09.2019 05:00:00
001593  Track separation is 2552
001593  Artist separation for "ALAN PARSONS" is 7
001593  Artist separation for "THE ALAN PARSONS PROJECT" is 7
001593  Title separation for "L'ARC EN CIEL" is 2552
001593  Overall penalty is 0
001593  
001593  2/153: ID 5640, artist "Kosmonova", title "Ayla"
001593  Last use: 25.09.2019 06:00:00
001593  Track separation is 2551
001593  Artist separation for "KOSMONOVA" is 7
001593  Title separation for "AYLA" is 1989
001593  Overall penalty is 0
001593  
001593  3/153: ID 6416, artist "Safri Duo", title "Played-A-Live"
001593  Last use: 25.09.2019 08:00:00
001593  Track separation is 2549
001593  Artist separation for "SAFRI DUO" is 7
001593  Title separation for "PLAYED-A-LIVE" is 2549
001593  Overall penalty is 0
001593  
001593  Pick index reached
001593  
001593  End of search, i=3, Count=153, minPenalty=0, minPenaltyListCount=3
001593  
001593  Picked: ID 6416, artist "Safri Duo", title "Played-A-Live"

Der Logik zufolge, die @Torben im Bereich 5.x beschrieben hat:

… hätte eigentlich “L’Arc En Ciel” von Alan Parsons zum Zuge kommen müssen, da dieser Titel von den dreien die höchste Track separation hat. Ist ja auch sehr leicht am “Last use” zu erkennen.
Statt dessen wird Safri Duo mit der kleinsten Track separation der drei Titel ausgewählt, und das erscheint mir momentan nicht logisch.

Ansonsten sind die drei gleichberechtigt: Artist separation sowie Overall penalty sind identisch, da klemmt es nicht.

Okay, die Title separation bei Kosmonova (1989) bekomme ich noch nicht so richtig auf die Reihe, sollte in dem Fall aber keinen Einfluss haben, denn der “Last use” ist imho entscheidend.

Warum also wurde Safri Duo ausgewählt, wenn doch eigentlich Alan Parsons an der Reihe gewesen wäre? :thinking:
Vielleicht weiĂź es ja die Community, und Torben kann weiter in Ruhe an der v6.3 Beta schrauben. :sunglasses:

Die Track Separation ist nicht unmittelbar relevant für die Reihenfolge, in der die Songs gespielt bzw. wiederholt werden. Sie dient nur als zusätzlicher Schutz gegen eine verfrühte Wiederholung.

Wenn du weiter oben im Log schaust, siehst du eine Liste des Inhalt des fraglichen Ordners, aufsteigend sortiert nach Datum/Stunde des letzten Einsatzes (genauer: des letzten geplanten Einsatzes). Diese Reihenfolge stellt die “Rotation” dar, nach der die Titel nun ausgewählt werden.

Für die Auswahl kommen alle Titel in Betracht, die den niedrigsten Penalty-Wert haben (im Idealfall natürlich 0). Wobei der Scheduler mit einer Wahrscheinlichkeit von 1/2 den ersten Titel in dieser “Warteschlage” auswählt, mit einer Wahrscheinlichkeit von 1/4 den zweiten, mit 1/8 den dritten usw. Damit wird die Rotation bei jeder “Umrundung” etwas gemischt, und die Songs laufen nicht immer in exakt derselben Reihenfolge.

Diese Auswahl wird ĂĽbrigens schon vorab getroffen, bevor die in Frage kommenden Titel ĂĽberhaupt ermittelt werden - das ist der pick idx, den du siehst (0-basiert).

Im gezeigten Beispiel hat der Scheduler also ausgewürfelt, dass er von alle in Frage kommenden “idealen” (mit minimalen Strafpunkten) Songs aus der Warteschleife den dritten nehmen wird (pick idx=2). Und das war eben das Safri Duo.

Da Allan Parsons ganz vorne in der Warteschlage steht, und der erste Song immer die größte Wahrscheinlichkeit (0,5) hat, ist die Chance sehr groß, dass er bei dem nächsten (0,5) oder übernächsten (0,75) oder überübernächsten (0,875) Durchgang an der Reihe ist.

2 Likes

Geile Sache… Der zusätzliche Würfel. :game_die:
Muss man auch erst mal drauf kommen.

Vielen Dank!

Wie verhält sich eigentlich der Scheduler, wenn ich nur einmal die Woche, 2 Sendestunden planen lasse und nicht täglich 24h?

Kommt da eine brauchbare Mischung bei raus Order würden da mehr oder weniger, immer die gleichen Titel gewählt?

Oder was passiert, wenn ich noch größere Abstände habe?

Der Mini-Scheduler orientiert sich dabei natürlich an der vorgegebenen Musikvorlage und listet, wie von Torben bereits geschrieben, alle passenden Titel auf - nach “zuletzt geplant” (älteste zuerst).
Dann filtert er noch die heraus, die nicht in die Stundeneinschränkung passen, so vorhanden, und dann schnappt er sich alle passenden Titel mit Overall penalty = 0. Darauf wird gewürfelt.

Insofern dĂĽrfte die seltenere Planung keinen Einfluss haben. Es werden halt zuerst die Titel mit Last use = never genommen, bis auch die mal gespielt wurden - sofern erlaubt - usw.

Soweit zumindest mein ständiges Lernen zum Scheduler (weil ich halt auch immer mal wieder Logs auswerte).