Blog / Turnuvalar / Eşitlikçi Fikstür Tasarımı: Küçük Liglerde Seed, Bye ve Rematch’lerde Adaleti Sağlayacak 7 Matematiksel Kural (Rehber)
Eşitlikçi Fikstür Tasarımı: Küçük Liglerde Seed, Bye ve Rematch’lerde Adaleti Sağlayacak 7 Matematiksel Kural (Rehber)
Turnuvalar

Eşitlikçi Fikstür Tasarımı: Küçük Liglerde Seed, Bye ve Rematch’lerde Adaleti Sağlayacak 7 Matematiksel Kural (Rehber)

Küçük ligler (6–20 takım/oyuncu arası) için adil fikstür tasarımı, hem rekabet kalitesini hem de katılımcı memnuniyetini doğrudan etkiler. Seed, bye ve rematch kararları rastgele veya sezgisel alındığında bazı takımlar art arda avantaj ya da dezavantaj yaşayabilir. Bu rehberde, gerçek verilere dayanarak uygulanabilecek 7 matematiksel kural sunuyorum. Her kuralın mantığı, formülü, pratik örneği ve uygulanırken dikkat edilmesi gereken noktalar yer alıyor.

Giriş: Neden matematiksel kurallar?

Fikstür tasarımı sadece eşleştirme meselesi değildir; adalet, tekrar oynama (rematch), dinlenme süresi (bye) ve sezgisel önyargılarla başa çıkmayı gerektirir. Matematiksel kurallar, subjektif kararlardan kaçınarak tutarlı, tekrarlanabilir ve ölçülebilir çözümler sunar.

Ön koşullar ve terimler

  • Seed: Takımların başlangıç sıralaması.
  • Bye: Tur atlayarak dinlenme hakkı (genellikle tek sayılı takımlar için).
  • Rematch: Aynı iki takımın yeniden eşleşmesi.
  • Hash fonksiyonu/puanlama: Eşitliği bozmak için kullanılabilecek deterministik ama rastgele görünen sıra.

Genel prensipler

  1. Adilliği ölçülebilir kıl: Her takım için beklenen avantajı (E[A]) hesapla.
  2. Aşırı avantajları minimize et: Bye/seed kombinasyonlarının standart sapmasını küçült.
  3. Rematch'leri sınırlı ve dengeli yap: Aynı rakiple tekrar sıklığını ortalamaya yakın tut.

7 Matematiksel Kural

Kural 1 — Bye Atama: Minimum Varians Kuralı

Açıklama: Bye'lerin dağılımı, oyuncuların/ takımların beklenen dinlenme avantajlarının varyansını minimize edecek şekilde yapılmalıdır.

Formül (basit): minimize Var(B_i) where B_i = number of byes team i receives.

Uygulama: 7 takımlı ligi ele alalım (tek sayıdır, 1 bye gerekir). Eğer lig 3 tur oynuyorsa bye'leri 3 farklı takıma dağıtın; aynı takımın iki bye almasını engelleyin. Eğer zorunluysa, seed'ler kullanılarak en az avantajlı seed'lere öncelik verin.

Kural 2 — Seed Etkisini Normalize Etme

Açıklama: Seed yüksekliği doğal bir avantaja dönüşebilir. Seed etkisini normalleştirmek için maç ağırlıkları kullanın.

Formül: Ağırlık w_ij = 1 + alpha*(seed_j - seed_i), burada alpha küçük bir katsayıdır (0.05–0.2 arası önerilir).

Uygulama: Daha yüksek seed'in lige getirdiği avantajı azaltmak için alpha'yı deneysel olarak ayarlayın. Örneğin alpha=0.1 ile seed farkı 3 ise ağırlık farkı %30'u geçmeyecektir.

Kural 3 — Rematch Azaltma: İstenen Frekans Eşiği

Açıklama: Aynı iki takımın bir sezonda birden fazla kez karşılaşma sıklığı için üst sınır belirleyin.

Formül: f_ab ≤ ceil(E_rounds * target), where target ~ 1 / (total_possible_pairs_fraction).

Pratik: 10 takımlı çift devre ligde, her takımın aynı rakiple en fazla 2 kez karşılaşması makul. Planlama algoritması, eşleşme havuzunu kontrol ederek rematch'leri sınırlamalıdır.

Kural 4 — Lokal Denge: Komşu Seed'lerle Çaprazlama

Açıklama: Seed sırasını kullanarak üst ve alt seed'lerin dengeli karşılaşmasını sağlayın (örn. 1vs8, 2vs7 yerine 1vs5 gibi).

Uygulama: Küçük liglerde sürekli çiftleşme yerine, seed bloklarını kaydırarak (rotation) karşılaşma dağılımını düzeltin. Böylece en üst seed'in yalnızca düşük seedlerle karşılaşması engellenir.

Kural 5 — Deterministik Rastgelelik (Hash Seeding)

Açıklama: Tam rastgelelik öngörülemez; deterministik bir hash fonksiyonu kullanarak tekrar üretilebilir ama önyargısız sıralama oluşturun.

Uygulama: Takım ID + sezon ID + sabit tuz kullanarak SHA benzeri bir hash alın; elde edilen değere göre eşleştirme önceliği belirleyin. Bu, favoritizmi azaltır ve herkes için tekrar üretilebilir sonuç verir.

Kural 6 — Dinlenme-Frekans Dengesi (Rest-Balance)

Açıklama: Bye veya ardışık zorlu rakiplerin dağılımı, oyuncuların performansını etkiler. Her takım için beklenen zorluk toplamını (D_i) hesaplayın ve maks-min farkını sınırlandırın.

Formül: minimize (max_i D_i - min_i D_i) where D_i = sum(opponent_strengths over schedule).

Örnek hesaplama: Eğer takım A ardışık üç zorlu rakiple oynuyorsa, D_A yüksek çıkar. Planlayıcı, zorlukları yayarak D_i'leri dengelemeli.

Kural 7 — Şeffaf Puanlama ve İtiraz Mekanizması

Açıklama: Matematiksel kurallar uygulansın ama sonuçlar şeffaf olmalı. Her sezon sonu, beklenen avantajların (E[A_i]) raporu yayınlanmalı.

Adalet yalnızca uygulanmakla kalmaz; anlaşılır ve denetlenebilir olması gerekir.

Uygulama: Her takıma maç dağılımının tablo halinde gösterildiği, byelerin, rematch sayılarının ve beklenen zorluk puanlarının raporu sunulmalı. İtirazlar için sınırlandırılmış bir süreç olmalı (ör. 72 saat içinde başvuru).

Pratik Örnek: 8 Takımlı Lig, 3 Tur

8 takım çift devre oynamıyor; 3 tur var. Gerekenler:

  • Toplam 12 maç olacak (takım başı 3 maç).
  • Bye yok (çift sayı), rematch sınırlı.

Uygulama adımları:

  1. Seed'leri normalize et (Kural 2, alpha=0.1).
  2. Hash seeding ile deterministik ilk turu oluştur (Kural 5).
  3. Tur 2 ve Tur 3'te rematch kontrolü yap; önceki rakiple eşleşmeyi azalt (Kural 3).
  4. Zorluk toplamını hesapla ve gerekiyorsa Tur 3'te swap yap (Kural 6).

Sonuç olarak, her takımın E[A_i] değerleri çok yakın olmalı; byesiz ligde varyans minimal olur.

Uygulama Notları ve Yazılım Önerileri

  • Basit ligler için Excel + solver iş görebilir: değişkenler (who plays who in which round), kısıtlar (rematch limit, bye dağılımı) ve amaç fonksiyonu (varyans minimize).
  • Orta ölçekli ihtiyaçlarda ILP (integer linear programming) ya da MIP kullanın. Açık kaynak: CBC, GLPK veya OR-Tools uygundur.
  • Seed hashing ve deterministik seçim için kriptografik hash (SHA-256) kullanılabilir; sonuç mod N ile haritalanır.
  • Simülasyon: Sezon başlamadan önce Monte Carlo ile 1000 senaryo çalıştırıp kuralların etkisini ölçün.

Sonuç ve Özet

Eşitlikçi fikstür tasarımı, küçük liglerde rekabetin değeri ve katılımcı memnuniyeti için kritiktir. Bu rehberde sunduğum 7 kural; bye dağılımı, seed etkisi, rematch sınırları, lokal denge, deterministik rastgelelik, dinlenme-frekans dengesi ve şeffaf raporlama etrafında şekillendi.

Uygulamada basit araçlarla başlayıp, lig büyüdükçe ILP ve simülasyonlara geçin. En önemlisi, kuralları sezon başında ilan edin ve sonuçları şeffaf şekilde paylaşın—adalet algısı da matematik kadar önemlidir.

Uygulama kontrol listesi:

  • Bye dağılımı varyansını hesapla ve minimize et.
  • Seed etkisini alpha ile normalize et.
  • Rematch limitlerini belirle ve kontrol et.
  • Hash seeding ile deterministik ama adil başlangıç sıralaması oluştur.
  • Zorluk dengesini (D_i) hesapla ve gerekiyorsa tur değişiklikleri yap.
  • Sezon sonunda E[A_i] raporlarını yayınla.

Bu kuralları uygulayıp küçük ayarlamalarla liginizde adaleti kayda değer şekilde artırabilirsiniz. Gerektiğinde örnek hesaplamalar veya kod parçacıkları içeren bir uygulama rehberi de hazırlayabilirim.