Losowy generator drużyn
Wpisz listę imion, a losowy generator drużyn błyskawicznie podzieli je na wyrównane drużyny — wybierz liczbę drużyn lub osób na drużynę, wyrównaj sumaryczny poziom umiejętności i skopiuj wynik jednym kliknięciem.
Podziel listę imion na losowe drużyny
Wzór generatora drużyn
Gdzie:
- \(n\) — liczba osób na liście
- \(T\) — liczba drużyn
- \(s_i\) — liczebność drużyny \(i\) (wielkości drużyn różnią się najwyżej o 1 osobę)
- \(P\) — zadana liczba osób na drużynę, gdy dzielimy według wielkości drużyny
- \(S_{\max}\), \(S_{\min}\) — najwyższa i najniższa suma umiejętności; \(\Delta\) to podany rozrzut umiejętności
Pierwszy wiersz gwarantuje, że liczebności drużyn są maksymalnie wyrównane: każda drużyna otrzymuje \(\text{podstawa}\) członków, a pierwsze \(\text{reszta}\) drużyn — dodatkowo po jednej osobie. Rozrzut umiejętności \(\Delta\) pokazuje, jak bardzo różnią się najsilniejsza i najsłabsza drużyna; przy włączonym balansowaniu umiejętności generator stara się sprowadzić \(\Delta\) do 0.
Generator drużyn – przykład obliczenia
Przykład: sześcioro osób z ocenami umiejętności — Alicja 9, Bob 7, Karolina 8, Dan 5, Ewa 6, Franek 4 — dzielonych na 3 drużyny o nazwach Rekiny, Wilki, Orły, z zaznaczoną opcją Wyrównaj poziomy umiejętności (domyślne wartości kalkulatora).
\[ n = 6, \quad T = 3 \quad \Rightarrow \quad \text{podstawa} = \left\lfloor \tfrac{6}{3} \right\rfloor = 2, \quad \text{reszta} = 0 \Rightarrow s_i = 2 \]
\[ \text{suma umiejętności} = 9 + 7 + 8 + 5 + 6 + 4 = 39, \quad \text{sprawiedliwy udział} = \tfrac{39}{3} = 13 \]
Po posortowaniu od najwyższej do najniższej i przydzieleniu każdej osoby do drużyny z najmniejszą bieżącą sumą pary wyglądają tak: \(9+4\), \(8+5\), \(7+6\):
\[ 9 + 4 = 13, \quad 8 + 5 = 13, \quad 7 + 6 = 13 \quad \Rightarrow \quad \Delta = 13 - 13 = 0 \]
Wynik: Rekiny — Alicja (9), Franek (4); Wilki — Karolina (8), Dan (5); Orły — Bob (7), Ewa (6). Każda drużyna liczy 2 osoby i ma sumę umiejętności równą dokładnie 13, więc rozrzut umiejętności wynosi 0 — idealnie wyrównany podział.
Jak korzystać z kalkulatora
- Wpisz imiona w pole Imiona, po jednym w wierszu. Aby skorzystać z balansowania umiejętności, dodaj po przecinku lub średniku liczbę, np.
Alicja, 9(liczby dziesiętne wpisujesz z kropką, np.Alicja, 8.5). Puste wiersze są pomijane. - Wybierz Podziel według: Liczba drużyn lub Liczba osób na drużynę. Pod tą opcją pojawi się odpowiednie pole (Liczba drużyn albo Liczba osób na drużynę).
- Opcjonalnie wpisz rozdzielone przecinkami Nazwy drużyn (opcjonalnie), np.
Rekiny, Wilki, Orły. Drużyna bez nadanej nazwy otrzyma domyślną: Drużyna 1, Drużyna 2… - Jeśli przy imionach podajesz poziomy umiejętności, zostaw zaznaczone Wyrównaj poziomy umiejętności, aby wyrównać sumy umiejętności drużyn; odznacz tę opcję, jeśli zależy Ci na czysto losowym podziale.
- Swoje drużyny znajdziesz w sekcji Twoje drużyny, wraz z liczbą drużyn, liczbą osób na drużynę i rozrzutem umiejętności. Naciśnij Losuj ponownie, aby wylosować od nowa, albo Kopiuj jako tekst, aby przenieść całą listę do schowka.
Czym jest losowy generator drużyn?
Losowy generator drużyn pobiera listę imion i dzieli ją na drużyny bez żadnych uprzedzeń — to cyfrowy odpowiednik losowania imion z kapelusza, tylko szybszy i sprawiedliwszy. Przydaje się do podziału klasy na grupy projektowe, organizacji potyczki sportowej, przydzielania stolików na warsztatach czy tworzenia losowych par do turnieju lub tajnego Mikołaja.
Sprawiedliwość oznacza tu dwie rzeczy. Po pierwsze, żadna osoba ani żaden podział nie jest faworyzowany: lista tasowana jest algorytmem Fishera–Yatesa z użyciem kryptograficznie bezpiecznych liczb losowych (crypto.getRandomValues), więc każdy możliwy podział na drużyny jest tak samo prawdopodobny. Po drugie, drużyny są równe liczebnie: wielkości nigdy nie różnią się o więcej niż jedną osobę, więc nikt nie zostaje w samotnej jednoosobowej drużynie, podczas gdy inni grają w licznej ekipie.
Opcjonalne balansowanie umiejętności dodaje trzeci poziom sprawiedliwości. Każda osoba może mieć przypisaną liczbę — ocenę, handicap, wynik z zeszłego tygodnia, ranking pingponga — a generator rozdziela ludzi tak, aby sumy umiejętności drużyny były możliwie zbliżone. Osoby sortowane są od najsilniejszej do najsłabszej, a każda trafia do pasującej drużyny o najmniejszej sumie bieżącej. Wartość Rozrzut umiejętności w wynikach (różnica między najsilniejszą a najsłabszą drużyną) pokazuje, jak dobrze to zadziałało: 0 oznacza idealnie równe sumy, a małe wartości — że pojedynek powinien być wyrównany.
Zwróć uwagę, że przy włączonych umiejętnościach losowanie jest tylko częściowo losowe: liczebności i wyrównanie drużyn są gwarantowane, a sumy są wy-balansowane, ale czysta losowość przestaje być celem. Jeśli wolisz całkowicie nieprzewidywalny wynik — na wzór losowego koła fortuny czy rzutu monetą — odznacz opcję balansowania albo wypróbuj nasz wirtualny rzut kostką do szybkich losowych decyzji.
Ograniczenia i praktyczne wskazówki
- Lista przyjmuje od 2 do 200 imion, maksymalnie 120 znaków na wiersz. Liczby umiejętności muszą mieścić się w przedziale od 0 do 1000 i mogą być dziesiętne (z kropką).
- Imiona bez przypisanej liczby liczone są w sumach jako 0. Jeśli mieszasz imiona z ocenami i zwykłe imiona, rozrzut nie może być zbyt mały — dla najlepszych efektów przypisz liczbę każdej osobie.
- Balansowanie umiejętności to szybka metoda zachłanna, a nie pełne przeszukiwanie possibilities. W typowych listach trafia na wyrównany podział, ale przy bardzo przewrotnych kombinacjach liczb może istnieć matematycznie idealny podział, którego kalkulator minimalnie nie dostrzeże.
- Gdy dzielisz według Liczby osób na drużynę, a lista nie dzieli się równo, ostatnia drużyna po prostu dostaje pozostałe osoby — wynik wyraźnie o tym informuje.
- Drużyny zachowują skład, dopóki coś się nie zmieni: edycja imienia, zmiana sposobu podziału lub naciśnięcie Losuj ponownie powoduje nowy podział. Dzięki temu możesz skopiować lub zrobić zrzut ekranu wyniku bez obawy, że się zmieni.
- Ponieważ tasowanie korzysta z kryptograficznego źródła losowości przeglądarki, wyniki są nieodtwarzalne, a lista imion nigdzie nie jest zapisywana — wszystko dzieje się lokalnie w Twojej przeglądarce.
- Do wyłonienia pojedynczego zwycięzcy — wyciągnięcia jednego imienia z kapelusza, ustalenia, kto zaczyna — lepiej niż dzielenie na drużyny sprawdzi się rzut monetą lub narzędzie do losowania imion.
Najczęściej zadawane pytania
Jak losowo podzielić listę na drużyny bez żadnego narzędzia?
Zapisz każde imię na karteczce, wrzuć karteczki do kapelusza i losuj po jednej: pierwsza karteczka otwiera drużynę 1, następna drużynę 2 i tak dalej, a po wyczerpaniu drużyn wracasz do drużyny 1. Takie „rozdawanie w rundach
Czy losowanie jest naprawdę losowe i sprawiedliwe?
Tak. Generator używa tasowania Fishera–Yatesa opartego na kryptograficznym źródle losowości Twojej przeglądarki (crypto.getRandomValues) — tej samej jakości losowości, której używa się w zadaniach związanych z bezpieczeństwem. każdy możliwy podział na drużyny jest tak samo prawdopodobny — żadne imię, pozycja ani drużyna nie jest faworyzowana. Pamiętaj tylko, że przy włączonym balansowaniu umiejętności losowanie celowo jest tylko częściowo losowe, bo celem przestaje być nieprzewidywalność, a staje się nim wyrównanie siły drużyn.
Jaka wartość rozrzutu umiejętności jest dobra?
Rozrzut umiejętności to różnica między sumą najsilniejszej i najsłabszej drużyny. Wartość 0 jest idealna — sumy są identyczne — natomiast to, jaki rozrzut jest jeszcze akceptowalny, zależy od Twoich ocen: przy umiejętnościach rzędu 5–10 rozrzut 1–2 zwykle nadal daje wyrównany pojedynek, a przy ocenach rzędu 100 ten sam rozrzut jest pomijalny. Jeśli rozrzut wydaje się duży, dopisz liczby umiejętności osobom, które ich nie mają, ponieważ brakujące liczby liczą się jako 0.
Dlaczego przy balansowaniu umiejętności wciąż dostaję te same lub bardzo podobne drużyny?
To normalne. Przy włączonym balansowaniu osoby są sortowane według umiejętności, a każda dołącza do drużyny z najniższą sumą bieżącą, więc strukturę podziału w dużej mierze wyznaczają same liczby — zmienia się jedynie kolejność wśród równych umiejętności i kolejność przydzielania do drużyn. Jeśli chcesz, by każdy los był zupełnie inny, odznacz opcję „Wyrównaj poziomy umiejętności