Losowy podział na grupy i drużyny

Podaj listę osób i liczbę grup. Podział jest losowy, a grupy różnią się liczebnością najwyżej o jedną osobę.

Wszystko liczy się w Twojej przeglądarce - dane nie są wysyłane na nasz serwer.

Lista uczestników

0 osób

Sposób podziału
Tryb

Grupy będą się różnić liczebnością najwyżej o jedną osobę.
Wpisz osoby, które mają zostać rozdzielone do osobnych grup. Muszą występować na liście uczestników, a kapitanów nie może być więcej niż grup.
Jedna para w wierszu, imiona oddzielone przecinkiem, średnikiem albo kreską pionową. Losujemy do skutku, maksymalnie tysiąc razy.
Wynik podziału

Kliknij „Podziel”, żeby rozlosować uczestników.

Podsumowanie
Uczestników0
Grup0
Liczebności grup-
Prób losowania-

Nazwy grup są edytowalne - kliknij nagłówek karty grupy i wpisz własną nazwę. Zmiana obejmie też kopiowanie, plik TXT i wydruk.

Jak używać

  1. Wklej listę uczestników, po jednej osobie w wierszu. Pod polem zobaczysz, ile osób wykryliśmy.
  2. Wybierz tryb. Możesz podać liczbę grup, liczbę osób przypadających na grupę albo od razu poprosić o podział na pary.
  3. Wpisz odpowiednią liczbę i kliknij „Podziel”. Lista zostaje przetasowana, a osoby trafiają do grup po kolei. Liczebności różnią się wtedy najwyżej o jedną osobę.
  4. Jeśli w zespołach mają być kapitanowie, wypisz ich w osobnym polu, a każdy z nich zajmie miejsce w innej grupie, zanim rozdamy resztę uczestników.
  5. Gdy jakieś dwie osoby nie powinny trafić razem, dopisz je jako parę w polu wykluczeń. Losujemy wtedy do skutku, najwyżej tysiąc razy, a jeśli się nie uda, dostaniesz jasny komunikat zamiast błędnego wyniku.
  6. Wynik możesz skopiować, pobrać jako plik tekstowy albo wydrukować. Nazwę grupy zmienisz w nagłówku jej karty.

Wskazówki

  • Round-robin oznacza, że osoby rozdajemy kolejno do grupy pierwszej, drugiej, trzeciej i znowu pierwszej. Przy dziesięciu osobach i trzech grupach daje to układ 4 + 3 + 3, a nie 4 + 4 + 2.
  • Po wyłączeniu wyrównywania liczebności powstają równe bloki, a reszta dokleja się do ostatniej grupy. Bywa to wygodniejsze przy stanowiskach o stałej pojemności.
  • W trybie par nieparzysta liczba uczestników daje jedną trójkę zamiast osoby bez pary. Przy siedmiu osobach powstaną trzy zespoły: 3 + 2 + 2.
  • Wykluczenia porównujemy bez rozróżniania wielkości liter, ale reszta pisowni musi się zgadzać z listą uczestników. Imię wpisane w wykluczeniach, którego nie ma na liście, zostanie zgłoszone jako błąd.
  • Przy dużej liczbie wykluczeń podział bywa niewykonalny, bo trzy osoby wzajemnie się wykluczające nie zmieszczą się w dwóch grupach. Limit tysiąca prób chroni przed zawieszeniem przeglądarki.

Losujesz jedną osobę zamiast dzielić wszystkich? Skorzystaj z losowania z listy albo koła fortuny. Punkty drużyn policzysz licznikiem punktów.

Dlaczego najpierw tasowanie, potem round-robin

Najprostszy podział tnie listę na kawałki. Pierwsze cztery osoby idą do grupy pierwszej, kolejne cztery do drugiej i tak dalej. Problem w tym, że listy rzadko są losowe, bo najczęściej układa je alfabet albo kolejność zapisów. Cięcie takiej listy daje grupy skorelowane z tym porządkiem, a przy nierównym podziale ostatnia grupa bywa dużo mniejsza.

Dlatego kolejność jest odwrotna. Najpierw całą listę tasuje algorytm Fisher-Yates, a dopiero potem uczestnicy wędrują po kolei do kolejnych grup i po dojściu do końca rozdanie wraca na początek. Metoda round-robin wyrównuje liczebności z definicji: przy n osobach i g grupach każda grupa dostaje albo ⌊n/g⌋, albo ⌈n/g⌉ osób, więc różnica między największą a najmniejszą nigdy nie przekracza jednego.

Kapitanowie i wykluczenia

Kapitanów obsadzamy przed rozdaniem reszty. Ich lista też idzie do przetasowania, a potem każdy z nich zajmuje pierwsze miejsce w kolejnej grupie. Żadnych dwóch kapitanów nie zobaczysz więc w tym samym zespole. Pozostałych uczestników rozdaje round-robin, który startuje od grupy z najmniejszą liczbą osób.

Wykluczenia działają metodą prób i błędów. Narzędzie losuje podział, sprawdza, czy któraś zakazana para znalazła się razem, i przy trafieniu na taką parę losuje od nowa. Limit tysiąca prób bierze się z dwóch stron tego samego problemu, bo przy typowych zestawach wykluczeń poprawny układ trafia się w kilku pierwszych podejściach, a przy zestawie sprzecznym pętla kończy się w ułamku sekundy zamiast blokować przeglądarkę na dobre. Komunikat mówi wtedy wprost, że przy tych ograniczeniach podziału nie da się wykonać.

Ile grup wybrać

Przy pracy warsztatowej typowa grupa liczy od trzech do pięciu osób, bo w większych część uczestników przestaje się odzywać. Przy grach zespołowych o liczbie grup decyduje zwykle regulamin rozgrywki. Gdy zależy Ci na konkretnej liczebności zespołu, przełącz tryb na „Liczba osób w grupie”. Liczbę grup policzymy wtedy jako sufit z dzielenia i nadal wyrównamy ich składy.

Podział na pary to szczególny przypadek tego trybu. Przy nieparzystej liczbie uczestników jedna para zamienia się w trójkę. Trójka jest lepsza od samotnej osoby, bo w ćwiczeniach na dwoje ktoś bez partnera po prostu nie ma co robić.

Co dzieje się z wpisanymi imionami

Nic poza wyświetleniem na ekranie, bo lista nie trafia na serwer i nie ląduje w pamięci trwałej przeglądarki. Po odświeżeniu strony pole jest puste. To świadoma decyzja, bo imiona uczestników zajęć czy pracowników są danymi osobowymi, a narzędzie do losowania nie ma powodu, żeby je gdziekolwiek przechowywać.

Jeśli chcesz zachować podział, użyj przycisku „Pobierz TXT” albo „Drukuj”. Plik powstaje w Twojej przeglądarce i trafia bezpośrednio na Twój dysk.

Najczęstsze pytania

Czy podział jest naprawdę losowy?

Tak, lista jest tasowana algorytmem Fisher-Yates, w którym każdy losowy indeks pochodzi z crypto.getRandomValues. Nie ma tu sortowania po losowej wartości ani Math.random, bo obie metody dają rozkład obciążony.

Dlaczego grupy nie są dokładnie równe?

Bo liczba uczestników rzadko dzieli się bez reszty. Przy dziesięciu osobach i trzech grupach jedyne sensowne układy to 4 + 3 + 3. Round-robin pilnuje, żeby różnica między największą a najmniejszą grupą nie przekroczyła jednej osoby.

Co zrobić, gdy dostaję komunikat o niemożliwym podziale?

Oznacza to, że przy podanych wykluczeniach nie da się rozdzielić uczestników. Najczęściej dzieje się tak wtedy, gdy osób wzajemnie się wykluczających jest więcej niż grup. Zwiększ liczbę grup albo usuń część wykluczeń.

Czy imiona są gdzieś zapisywane?

Nie, lista żyje wyłącznie w pamięci otwartej karty przeglądarki i znika po jej zamknięciu albo po odświeżeniu strony. Nic nie idzie na nasz serwer ani do pamięci lokalnej.

Jak zmienić nazwy grup?

Kliknij w nagłówek karty grupy i wpisz własną nazwę, bo pole jest edytowalne bezpośrednio na stronie. Nowa nazwa przechodzi do kopiowanego tekstu i do pliku TXT. Ten sam podpis zobaczysz na wydruku.

Czy da się podzielić klasę tak, żeby te same osoby nie trafiały razem co tydzień?

Nie automatycznie, bo narzędzie nie pamięta poprzednich podziałów. Możesz jednak wpisać najczęściej dobierające się osoby jako pary wykluczone, a wtedy każdy nowy podział je rozdzieli.