Jak rotacja dobiera gry
Co optymalizuje algorytm, w jakiej kolejności rozstrzyga remisy i co się dzieje, gdy kort zwolni się wcześniej albo ktoś przyjdzie później.
Co rotacja optymalizuje
Rotacja automatyczna prowadzi jedną wspólną kolejkę dla wszystkich kortów w sesji, a nie osobną kolejkę na każdy kort. Gdy kort potrzebuje graczy, algorytm bierze pod uwagę wszystkich oczekujących, a nie tylko tych akurat stojących najbliżej.
Najmocniej chroniona jest różnorodność par: w ciągu wieczoru każdy powinien zagrać z każdym, zanim ktokolwiek zagra z tą samą osobą po raz drugi. To jest ograniczenie wiążące — pozostałe kryteria uginają się wokół niego, a nie odwrotnie.
Reguła
Pokrycie par mierzone jest względem progu okrążenia, a nie sumy od początku. Gdy każda możliwa para zagrała już razem raz, próg rośnie i cały skład zaczyna drugie okrążenie. Nikt nie gra z kimś po raz trzeci, dopóki zostaje niezrealizowana para z drugiego okrążenia.
Pełne pokrycie jest osiągalne tylko wtedy, gdy ludzie zostają do końca. Skład, który wymienia się w trakcie wieczoru — ktoś wychodzi po trzech grach, ktoś dochodzi o 21:00 — nie domknie okrążenia i algorytm będzie po prostu w jego trakcie, gdy sesja się skończy. Zmiana składu nie zeruje okrążenia.
Kolejność rozstrzygania remisów
Algorytm ocenia każdą możliwą czwórkę i każdy sposób podziału tej czwórki na dwie pary, a następnie porównuje kandydatów według poniższych kryteriów w ścisłej kolejności. Pierwsze kryterium, które rozróżnia dwóch kandydatów, rozstrzyga; dalsze nie są już w tym porównaniu brane pod uwagę.
| # | Kryterium | Preferowane |
|---|---|---|
| 1 | Nowe pary w tej grze | Więcej |
| 2 | Gracze zostawieni na lodzie — pary, które później trudno będzie ułożyć | Mniej |
| 3 | Zużyte rzadkie okazje — łączenie dwóch osób, które i tak często bywają na korcie razem, gdy dostępne są dwie rzadko się spotykające | Mniej |
| 4 | Powtórzenie dokładnie tego zestawienia para na parę | Mniej |
| 5 | Najgorsze powtórzenie wśród czterech par przeciwników | Niższe |
| 6 | Łączne powtórzenie przeciwników w grze | Niższe |
| 7 | Nowe zestawienia przeciwników w tej grze | Więcej |
| 8 | Czas gry należny wybranej czwórce | Więcej |
| 9 | Gry rozegrane pod rząd przez wybraną czwórkę | Mniej |
| 10 | Deterministyczny rozstrzygacz z ziarna sesji | — |
Dwa szczegóły tej kolejności są celowe. Powtórzenie zestawienia stoi nad kryteriami przeciwnika, bo przy małym składzie każdy zagrał już przeciwko każdemu na długo przed tym, zanim rozegrane zostaną wszystkie kombinacje para na parę — liczniki przeciwników remisują, gdy liczniki zestawień jeszcze rozróżniają, a powtórzenie dopiero co rozegranej gry to pierwsza rzecz, którą ludzie zauważają. Serie gier pod rząd stoją nisko, żeby odpoczynek rozstrzygał remis, ale nigdy nie odbudował karuzeli, którą algorytm ma likwidować.
Ponieważ kryterium 10 to hash z ziarna, a nie liczba losowa, ten sam skład z tą samą historią i tym samym ziarnem zawsze daje tę samą grę. Dzięki temu sesje są odtwarzalne i testowalne; oznacza to też, że samo „przetasowanie” nie da innego wyniku, jeśli nic w stanie faktycznie się nie zmieniło.
Zobacz też Wyrównywanie drużyn i dlaczego jest domyślnie wyłączoneSprawiedliwa rotacja — przegląd
Czas gry i odpoczynek
Dług czasu gry śledzi, ile gier należy się każdemu względem reszty składu. Stoi na pozycji 8 — poniżej wszystkich kryteriów pokrycia — więc rozstrzyga między grami równie dobrymi pod względem różnorodności, zamiast wciągać kogoś na kort kosztem powtórzonej pary.
Gdy ktoś zostanie w tyle wystarczająco mocno, algorytm przestaje traktować go jako preferencję i wstawia go do gry na stałe miejsce, a następnie dobiera najlepszą trójkę wokół niego.
Reguła
Najwyżej dwa miejsca w grze mogą zostać wymuszone długiem czasu gry. Jeśli gra należy się więcej niż dwóm osobom, są obsługiwane w kolejnych rundach, a nie wszystkie naraz.
Ten limit istnieje, bo wymuszenie wszystkich czterech miejsc wybierałoby grę wyłącznie po tym, kto czekał, ignorując to, kto już z kim grał — co przy średnim składzie zamyka wieczór w kilku powtarzających się czwórkach.
Gdy żadna legalna gra nie istnieje, ograniczenia są rozluźniane w ustalonej kolejności: najpierw odpada wymóg długu, potem zabezpieczenie przed grami pod rząd, a ręczne przypięcia ustępują na końcu. Gra powstaje zawsze — algorytm nigdy nie zwraca pustki i nie blokuje kortu.
Gdy jeden kort skończy przed pozostałymi
To przypadek, którego większość narzędzi nie opisuje, więc jest ustawiany jawnie dla sesji. Są cztery zachowania:
- Wpuść nowych graczy — zwolniony kort jest od razu uzupełniany z ławki. To ustawienie domyślne.
- Przetasuj tę samą czwórkę — ci sami gracze zostają i są dzieleni na inne pary. Przydatne, gdy grupa chce grać dalej razem, ale nie w tym samym zestawieniu.
- Czekaj na pozostałe korty — kort stoi pusty, dopóki reszta nie skończy.
- Rotuj czekające korty razem — gdy wszystkie korty czekają, wszystkie są obsadzane w jednym przebiegu, a nie kort po korcie, więc cała hala wymienia się naraz.
Wspólne obsadzenie jest dostępne tylko w trybie czekania i dopiero gdy wszystkie korty są wolne. Jeśli jedna gra wciąż trwa, pozostałe korty czekają, zamiast obsadzać się częściowo.
Spóźnieni i wychodzący wcześniej
Wieczór klubowy padla nie ma sztywnego składu, więc kolejkę edytuje się w trakcie sesji, a nie zamyka na starcie.
- Osoba, która przyszła później, jest dodawana do składu sesji i wchodzi do tej samej wspólnej kolejki co wszyscy. Nie ma długu czasu gry sprzed swojego przyjścia, więc nie należą jej się gry, które ominęła — ale ponieważ nie zagrała jeszcze nic, stoi wyżej niż osoby, które już grały.
- Osoba, która chwilowo odpoczywa, jest oznaczana jako aktualnie niegrająca. Zostaje w składzie i zachowuje historię, a algorytm ją pomija do czasu ponownego włączenia.
- Osoba wychodząca wcześniej jest oznaczana jako zakończona. Jej rozegrane gry zostają i liczą się do wszystkich statystyk; po prostu nie może już zostać wybrana.
Trwające gry nigdy nie są przepisywane przy zmianie składu. Spóźniony trafia do najbliższej gry, która potrzebuje graczy, a nie do meczu, który już jest na korcie.
Dlaczego ta gra?
Każdy kort na żywo ma przycisk „Dlaczego ta gra?”, który może otworzyć każdy, kto ogląda sesję — zarówno gracze, jak i prowadzący. Pokazuje:
- Dla każdego gracza na korcie: liczbę gier rozegranych dziś, liczbę gier z rzędu spędzonych właśnie na ławce i informację, czy była to zaległa gra.
- Osoby czekające jako następne i powód braku miejsca na korcie — więcej rozegranych gier, odpoczynek po kilku grach z rzędu albo tyle samo gier, gdy wybrana czwórka dawała lepsze nowe pary.
- Dlaczego te pary: regułę, która zdecydowała o podziale, czy któraś para gra dziś razem po raz pierwszy, czy te dwie pary grały już przeciwko sobie oraz — w sesjach z wyrównywaniem drużyn — różnicę ocen umiejętności na stronę względem limitu 150 punktów.
Reguła
Uzasadnienie jest zapisywane w chwili, gdy rotacja wybiera grę, i nigdy później nie jest przeliczane. Liczby to to, co rotacja widziała przy decyzji, a nie to, czym stały się od tamtej pory.
Jeśli osoba prowadząca zmieni skład ręcznie, uzasadnienie zostaje zastąpione informacją „Ustawione przez osobę prowadzącą” — rozumowanie rotacji tej gry już nie dotyczy, a panel mówi to wprost, zamiast tłumaczyć wybór, którego nie dokonał.
Pierwsze gry sesji online są ustawiane przy jej starcie, zanim rotacja zapisuje swoje uzasadnienie, więc nie mają wyjaśnienia. Każda kolejna gra je ma, online i offline.
Co rotacja ma sprawdzone testami
Twierdzenia o sprawiedliwości łatwo wygłosić i trudno sprawdzić, dlatego poniżej są granice, których silnik musi dotrzymać w automatycznych symulacjach swojego zestawu testów.
| Scenariusz | Gwarantowany wynik |
|---|---|
| 7 graczy, 1 kort, 11 gier | Każda z 21 możliwych par zagra razem; żadne zestawienie para na parę się nie powtarza; żadni dwaj gracze nie grają przeciwko sobie więcej niż 3 razy |
| 6 graczy, 1 kort, 24 gry | Wszystkie 15 par zagra razem; liczba wspólnych gier każdej pary różni się najwyżej o 2 przez cały wieczór; żadne zestawienie nie powtarza się więcej niż 3 razy |
| 7 graczy, 1 kort, 14 gier | Liczba rozegranych gier różni się między wszystkimi najwyżej o 1 |
| 6 graczy, siódmy dochodzi po 2. grze, 9 kolejnych gier | Każdy, kto był od początku, dostaje co najmniej 4 z tych 9 gier; nowa osoba gra w parze z co najmniej 5 z 6 pozostałych |
| 8 graczy, 2 korty, 12 rund z kortami obsadzanymi razem | Co najmniej 85% par zagrało razem; każdy miał co najmniej 5 różnych partnerów |
Najdłuższa seria gier z rzędu, którą ktoś może przesiedzieć na ławce, zależy od liczby czekających. Na jednym korcie:
| Dostępni gracze | Najdłuższa seria na ławce |
|---|---|
| 5 | 1 gra |
| 6 | 1 gra |
| 7 | 2 gry |
| 8 | 2 gry |
| 10 | 3 gry |
| 12 | 3 gry |
| 14 | 4 gry |
Reguła
Pokrycie par ma pierwszeństwo przed rozłożeniem przeciwników. Ułożenie wszystkich 21 par siedmioosobowego wieczoru w minimalnych 11 grach zużywa każdy wolny wybór algorytmu, więc przeciwników da się rozłożyć tylko na tyle, na ile to pozwala — dlatego granica dla przeciwników wynosi 3, a nie 2.
To są symulacje, w większości na jednym korcie. Prawdziwy wieczór, w którym ludzie dochodzą, wychodzą i odpoczywają, nie trafi dokładnie w te liczby i nic tutaj tego nie obiecuje.
Limit ławki dotyczy wyłącznie gier z rzędu. Nie obiecuje równego odpoczynku przez cały wieczór — od tego jest dług czasu gry.
Czego rotacja celowo nie robi
- Nie wyrównuje drużyn według oceny umiejętności, dopóki klub tego nie włączy. Uzasadnienie i próg opisuje rozdział o wyrównywaniu drużyn.
- Nie gwarantuje równej liczby gier w ciągu jednego wieczoru. Dług czasu gry wyrównuje się w trakcie, ale wieczór kończący się w połowie okrążenia może zostawić różnicę jednej gry.
- Nie wie, kto jest zmęczony, kontuzjowany albo wolałby odpuścić kolejną. Od tego są odstawienie gracza i ręczne korekty.
- Nie porównuje graczy między sobą przy doborze. Ocena umiejętności nie bierze udziału w rotacji automatycznej, dopóki wyrównywanie drużyn nie jest włączone.
