Rastgele Takım Ayırıcı (Grup Oluşturucu)
İsim listesini yapıştırın; takım sayısına veya takım başına kişiye göre adil rastgele gruplara bölün — kriptografik karıştırma, tek tıkla kopyalama.
1.252 görüntülenme
En az 2 kişi ve geçerli bir sayı girin.
Karıştırma Aslında Nasıl Çalışır
Bir listeyi adil biçimde bölmek tek bir soruya iner: kişilerin olası her diziliminin olasılığı gerçekten eşit mi? Bu araç, şaşırtıcı derecede uzun bir geçmişi olan Fisher-Yates karıştırmasını kullanır — ilk kez 1938'de istatistikçiler Ronald Fisher ve Frank Yates tarafından, istatistik tablolarındaki satırları rastgeleleştirmek için elle, kağıt-kalemle uygulanacak bir yöntem olarak tarif edildi. 1964'te Richard Durstenfeld bunu, listeyi tek geçişte dolaşıp her elemanı henüz karıştırılmamış kalan kısımdan rastgele seçilen biriyle değiştirerek doğrusal zamanda çalışan, bilgisayara uygun verimli bir hale getirdi. Donald Knuth daha sonra bu versiyonu "The Art of Computer Programming" kitabında popülerleştirdi; bu yüzden bazen Knuth shuffle olarak da anılır.
Rastgeleliğin kendisi, çekiliş aracımızda da kullanılan, tarayıcının kriptografik olarak güvenli rastgele sayı kaynağı olan crypto.getRandomValues()'tan gelir — daha hızlı ama tahmine karşı dirençli olacak şekilde tasarlanmamış Math.random()'dan değil. Doğru uygulama burada da önemlidir: her adımda takas konumunu kalan karıştırılmamış kısım yerine listenin tamamından seçmek gibi naif bir karıştırma, sessizce istatistiksel yanlılık yaratır. Bazı nihai dizilimler diğerlerinden daha olası hale gelir — doğum günü paradoksuna ruh olarak benzeyen, gerçek olasılıkların sezginin aksine çalıştığı ince bir etki. Doğru uygulanmış bir Fisher-Yates karıştırması bunu önler: her adımda yalnızca henüz yerleştirilmemiş elemanlar arasından eşit olasılıkla seçim yapar; her olası dizilimi eşit olası kılan da budur.
Bilmeniz Gerekenler
Kişileri tam bölünmeyen gruplara ayırmak, karıştırmanın kendisinden ayrı bir tasarım kararıdır. Bir liste tam eşit takımlara bölünemediğinde, kalan kişiler tek bir takıma yığılmak yerine ilk takımdan başlayarak birer birer dağıtılır — mükemmel eşit bir cevabı olmayan kalanı çözmenin en adil yolu budur.
- Hedef takım sayısına göre mi yoksa hedef takım büyüklüğüne göre mi bölmek istediğinizi seçin — durum için hangisi önemliyse.
- Yeniden bölmek, karıştırmayı sıfırdan taze rastgelelikle tekrar çalıştırır; önceki dizilimin yeniden düzenlenmesi değil, gerçekten farklı bir sonuç üretir.
- İsimler tamamen tarayıcının içinde karıştırılır; hiçbir yere gönderilmez, bu da gizli sınıf listeleri veya takım kadroları için de uygun kılar.
Sıkça Sorulan Sorular
Liste tam bölünmezse ne olur?
Kalan kişiler Takım 1'den başlayarak birer birer dağıtılır — 11 kişi 3 takımda 4-4-3 olur, asla 5-3-3 olmaz.
Bölme gerçekten rastgele mi?
Evet — crypto.getRandomValues ile beslenen yansız Fisher-Yates karıştırması. Yeniden bölmek her seferinde gerçekten taze bir dizilim üretir.
İki kişiyi ayrı veya birlikte tutabilir miyim?
Otomatik değil — bölün, gerekirse bir çifti elle takas edin. Kısıtlı bölme fikir listemizde.
Fisher-Yates karıştırması nereden geliyor?
İlk olarak 1938'de Ronald Fisher ve Frank Yates tarafından istatistik için elle uygulanacak bir karıştırma yöntemi olarak tarif edildi. Richard Durstenfeld 1964'te bunu bugün kullanılan verimli bilgisayar algoritmasına dönüştürdü; daha sonra Donald Knuth tarafından popülerleştirildi — bu yüzden Knuth shuffle olarak da anılır.
Neden daha basit bir rastgele karıştırma kullanılmıyor?
Her elemanı, kalan karıştırılmamış kısım yerine listenin tamamından seçilen bir konumla değiştirmek gibi naif yaklaşımlar, sessizce bazı nihai dizilimleri diğerlerine kayırır. Doğru uygulanmış bir Fisher-Yates karıştırması her takası yalnızca henüz yerleştirilmemiş elemanlar arasından seçer; her olası dizilimi eşit olası kılan da budur.
Benzer Araçlar
Sorun Bildir
Rastgele Takım Ayırıcı (Grup Oluşturucu)
Yorumlar
Henüz yorum yok — ilk yorumu siz yazın!