MT2 Asistan

Okey Kart Oyunu: kurallar ve optimal strateji

Bu sayfadaki puan tabloları doğrudan motorun kullandığı formüllerden üretiliyor; strateji bölümündeki sayılar ise motorun kendi ölçümlerinden geliyor (uydurma yok, hepsi tekrarlanabilir testlerde sabit).

Deste ve oyun akışı

Deste tam 24 karttır: 8 sayı (1–8) × 3 renk (mavi, sarı, kırmızı). Her (sayı, renk) çifti destede tam bir kez bulunur. Bunun en önemli sonucu: destenin içeriği her an tam olarak bilinir, bilinmeyen tek şey sıradır. Asistan tam olarak bunu sömürüyor — görülen kartları düşerek kalan destenin kompozisyonunu bilir.

  1. Deste ikonuna tıklarsın, el 5 karta tamamlanır (boş slot kadar, rastgele).
  2. Elden 3 kart seçerek geçerli bir kombinasyon oynarsın, puan kazanırsın.
  3. Bir kartı sağ tıklayıp atarsın — kart kalıcı olarak gider.
  4. Deste bitene kadar devam. Elde her zaman en fazla 5 kart olur.

ESC veya X ile çıkmak oyunu ödülsüz bitirir; yarım bırakılan oyunun ücreti (30.000 Yang + 1 Okey Kart Seti) iade edilmez. Puanı almak için oyunu bitir butonuyla kapatman gerekiyor.

Puanlama

Üç kombinasyon tipi var ve aralarındaki puan farkı stratejinin tamamını belirliyor.

Üçlü — aynı sayıdan 3 kart (zorunlu olarak 3 farklı renk)

Formül: sayı × 10 + 10. Destede her renkten her sayı tek olduğu için “aynı renk üçlü” diye bir şey yoktur.

Kombinasyon1-1-12-2-23-3-34-4-45-5-56-6-67-7-78-8-8
Puan2030405060708090

Aynı renk seri — 3 ardışık sayı, hepsi aynı renk

Formül: küçük sayı × 10 + 40. Oyunun en değerli hamleleri bunlar.

Seri1-2-32-3-43-4-54-5-65-6-76-7-8
Puan5060708090100

Karışık seri — 3 ardışık sayı, renkler karışık

Formül: küçük sayı × 10. Aynı kartların aynı renk hâli tam 40 puan daha fazla eder.

Seri1-2-32-3-43-4-54-5-65-6-76-7-8
Puan102030405060

Ardışıklık sarmalanmaz: 8-1-2 geçerli bir seri değildir. Bir kart aynı anda tek bir kombinasyonda kullanılır.

Ödüller — motorun hedefi bu tablodur

PuanÖdülMotorun verdiği değer
< 300Bronz Okey Sandığı0
300399Gümüş Okey Sandığı1
400+Altın Okey Sandığı3

Ödül bir basamak fonksiyonu ve bronz sandık işe yaramıyor. Bu yüzden motor ortalama puanı değil beklenen ödül değerini maksimize eder. Somut sonucu: 420 puanda durup 30 puan daha kovalamak için risk almaz (hiçbir şey kazandırmaz), ama 280'de güvenli 20 puanlık seti oynamak yerine 300'ü geçme şansı olan hamleyi seçer. Ortalama puanı yalnızca eşit faydalı hamleler arasında karar verirken kullanır.

Oyun bilgisi olarak: 500 puan yapan oyuncu sunucuda duyurulur. Bu bir ödül kademesi değil, altın sandığın üstüne gelen bir ek; motor onu hedeflemez çünkü peşine düşmek altın şansını düşürür.

Teorik tavan: 560

En iyi bölüşüm 24 kartı 8 kombinasyona şöyle dağıtır:

  • Her renkten 6-7-8 aynı renk seri → 3 × 100 = 300
  • Her renkten 3-4-5 aynı renk seri → 3 × 70 = 210
  • Kalan üçlüler: 1-1-1 (20) + 2-2-2 (30) = 50

Toplam 560. Motorun tam çözücüsü bu bölüşümü elverişli bir deste sırasında gerçekten buluyor (testle sabitlendi) ve 1000 rastgele sırada 560 hiç aşılmıyor.

Ama beklentini buna göre kurma. 560, kartların mükemmel sırada gelmesini gerektirir. Rastgele bir destede sıra baştan bilinseydi bile alınabilecek maksimum ortalama ~370 puandır ve tam bilgiyle oynayan bir hilekâr bile ancak üç oyunda bir 400 geçer. Altın bir deste şansı meselesidir; asistanın işi o şansı boşa harcamamak ve şans yokken gümüşü kurtarmak.

Atma bütçesi basamaklıdır

Oynanmamış kart sayısına T = el + deste diyelim. Oynanabilir kombinasyon sayısı ⌊T / 3⌋, kombinasyon kaybetmeden atabileceğin kart sayısı ise T mod 3.

T24232221201918
Kalan kombinasyon8777666
Bedava atış0210210

Yani oyun başında (T = 24) ilk atış bir kombinasyonu yakar — ortalama ~70 puan. Ondan sonraki iki atış bedavadır. Maliyet 1., 4., 7. atışta ortaya çıkar. Asistandaki “bedava atış” sayacı tam olarak bunu gösteriyor; tek başına oyun kalitesini değiştiren bilgi budur.

Fırsat maliyeti: ölçülmüş üç durum

Motor asla “elimdeki en yüksek puanlı kombinasyonu oyna” demez; hamlenin destede bıraktığı potansiyeli hesaplar. Aşağıdaki sayılar motorun 200 örnekli hesabından, tahmini final puan cinsinden.

1. Düşük karışık seri gerçekten tuzak

El M1 S2 K3 M7 S7: tek oynanabilir kombinasyon karışık 1-2-3, sadece 10 puan.

  • Karışık 1-2-3 oyna → tahmini final 352
  • M1'i at → tahmini final 364

Kartları harcamak yerine atmak daha iyi: 10 puanlık seri, elindeki üç kartı da yakıp aynı renk kurgusunu (50 puan) öldürüyor. Düşük karışık seriler genelde panik hamlesidir.

2. 8-8-8 sanıldığı kadar kötü değil

Yaygın kanı: “8-8-8 (90 puan) oynamak, üç ayrı 6-7-8 aynı renk serisini (3 × 100 = 300) öldürdüğü için neredeyse her zaman hatadır.” Ölçüm bunu doğrulamıyor.

El M8 S8 K8 M6 S6 (el dolu, T = 24):

  • 8-8-8 oyna → tahmini final 404, altın şansı %62
  • S6'yı at → tahmini final 381, altın şansı %30

Sebebi aritmetik:

  • Üç 6-7-8 serisini birlikte kurmak 9 kart ister; el kapasitesi 5. Üçünü aynı anda beklemek fiziksel olarak mümkün değil.
  • Bir 8 yalnızca iki kurguya girer: 8-8-8 veya x-6-7-8. Üç 8'i elde tutmak 5 slotun üçünü kilitler.
  • Atmanın kendisi bedava değil: T = 24 iken ilk atış bir kombinasyon yakar.

Peki aynı elde hem aynı renk 6-7-8 (100) hem 8-8-8 (90) varsa? El M6 M7 M8 S8 K8 için 4000 eşleştirilmiş örnekle ölçüm:

  • 8-8-8 oyna (+90) → 411,2
  • Mavi 6-7-8 oyna (+100) → 408,8
  • Fark: 2,4 ± 1,2 puan (istatistiksel olarak gerçek, ama küçük)

Yani 10 puan daha az veren hamle biraz daha iyi. Sebebi kartların esnekliği: 8-8-8 oynayınca elde M6 ve M7 kalır ve bunlar hâlâ M5-6-7 (90) yapabilir. Mavi 6-7-8 oynayınca elde S8 ve K8 kalır; bir 8 yalnızca iki kurguya girer ve 8'ler tükendiği için bu ikisi neredeyse ölü karta dönüşür. Genel ders: esnek kartları tut, esnekliği bitmiş kartları harca. Bu iki hamle pratikte denk sayılabilir — asistan kıyası her durumda kendisi yapıyor, sen ezberlemek zorunda değilsin.

3. Düşük üçlüler sorun değil

El M1 S1 K1 M7 S4: 1-1-1 yalnızca 20 puan ama ölçümde en iyi hamle — tahmini final 384, atmaya göre (370) daha iyi. Sebebi: üçlü, üç düşük değerli kartı tek hamlede temizleyip ele yer açıyor ve kombinasyon bütçesini düşürmüyor. Düşük puanlı bir kombinasyon, bedava olmayan bir atıştan neredeyse her zaman iyidir.

Motor nasıl karar veriyor

İki yöntem var, kalan deste boyutuna göre otomatik seçiliyor.

Monte Carlo (deste > 8 kart)

Kalan destenin kompozisyonu bilindiği, yalnızca sırası bilinmediği için: rastgele bir sıra karılır, o sırada problem tam bilgi problemine dönüşür ve kesin çözülür (memoize edilmiş DFS; sezgisel rollout yok). Bu, yüzlerce farklı sıra için tekrarlanır. Tüm hamleler aynı karılmış sıralarda değerlendirilir (eşleştirilmiş karşılaştırma), bu yüzden az örnekle bile sıralama kararlı çıkıyor: 9 kartlık testte Monte Carlo'nun seçimi 10 durumun 10'unda kesin optimalle aynı hamleydi.

Bu yöntemin bilinen zayıflığı strategy fusion: her örnekte sırayı biliyormuş gibi oynadığı için tahminler bir miktar iyimserdir. Tek oyuncu olduğu ve tek gizli bilgi sıra olduğu için hamle SIRALAMASINA etkisi ihmal edilebilir, ama mutlak sayıyı şişirir.

İyimserlik düzeltmesi (kalibrasyon)

Bu sapma ölçüldü: 150 oyun ve 2081 karar noktasında motorun ham tahmini ile o oyunun gerçek finali karşılaştırıldı (üç bağımsız koşu, birbirine yakın çıktı).

T (el + deste)Ham tahminGerçekDüşülenKalan hata
22–24 (ilk karar)361317−44−2
19–21322295−27−2
16–18278267−110
≤ 15sapma ölçülemiyor00

Düzeltme çarpan değil kaydırma: çarpan uygulamak dağılımın yayılımını da küçültüp oyun başında “altın şansı %0” gibi ölçümle çelişen bir sonuç veriyordu.

Bu düzeltme sadece kozmetik değil, kararı da değiştiriyor. Motor eşiklere (300/400) baktığı için mutlak seviye önemli: şişik bir altın şansı motoru “altın kolay” sanıp gereksiz risk almaya iter. Bu yüzden kaydırma her örneğe ayrı ayrı, sandık olasılıkları hesaplanmadan ÖNCE uygulanıyor. Ekranda gösterilen her sayı düzeltilmiş değerdir; ham değer parantez içinde kalır.

Bilinen sınır: uç olasılıklar (%0-10 ve %90-100 — karar noktalarının %92'si) iyi kalibre, ama orta aralıkta (%20-70) motor altını olduğundan biraz zor gösteriyor (tahmin %38, gerçekleşme %52). Yön ihtiyatlı olduğu ve karar noktalarının yalnızca %4'ünü etkilediği için tek kaydırmada kalındı; daha karmaşık bir düzeltmeyi bu kadar gürültüye uydurmak fayda getirmezdi.

Tam expectimax (deste ≤ 8 kart)

Oyunun sonuna doğru Monte Carlo'ya gerek kalmıyor: çekiş = kalan desteden düzgün rastgele altküme olduğu için tüm olasılıklar üzerinden hesap kesin yapılabiliyor. Bu modda tavsiye “kesin optimal” etiketiyle gösteriliyor ve strategy fusion yoktur. "Gümüş için 20 puan lazım" kararının verildiği an tam da burasıdır.

Buradaki hesap, Monte Carlo tarafından bir noktada ayrılıyor: fayda toplam puana baktığı için kazanılmış puan hesabın parçası olmak zorunda. Beklenen değer ile eşik fonksiyonu yer değiştirmez — ortalama puanı bulup sonra "bu ortalama altın mı?" diye sormak yanlış cevap verir. Bu, hesabı yaklaşık üç kat pahalılaştırdı; eşik ölçülerek 9 karttan 8 karta indirildi (deste 8 → 68ms, deste 9 → 250ms; bütçe 300ms). Monte Carlo tarafında ise böyle bir sorun yok: sabit bir deste sırasında faydayı maksimize etmek puanı maksimize etmekle birebir aynı şey olduğu için çözücü hiç değişmedi.

Gerçekçi beklenti

150 oyunluk eşleştirilmiş self-play ölçümü. Gerçek deste sırası motordan gizli — tıpkı senin durumun gibi. "v1" satırı aynı motorun ortalama puan hedefli eski sürümü; aynı destelerde oynatıldı, tek fark hedef fonksiyonu.

PolitikaAltın (400+)Gümüş (300–399)Bronz (boşa)Ortalama
Rastgele oynamak%0%0%10089
Açgözlü (“en yüksek puanı oyna”)%1%25%74259
v1 — ortalama puan hedefli%9%57%35323
Bu asistan (v2, sandık hedefli)%10%65%25325
Sıra baştan bilinseydi (hile, üst sınır)%34%65%1381

Açgözlü oyun dört oyundan üçünü işe yaramaz bronz sandıkla bitiriyor; asistan bunu %25'e indiriyor. Sandık hedefine geçmek boşa giden oyunları v1'e göre de belirgin biçimde azaltıyor (%35 → %25, eşleştirilmiş testte p = 0.001) ve bunu altından hiçbir şey feda etmeden, ortalamayı da düşürmeden yapıyor.

Altın oranını nihai hedef sanma. Tam bilgiyle oynayan bir hilekâr bile ancak üç oyunda bir 400 geçiyor (%34). Altın büyük ölçüde bir deste şansımeselesi; asistanın işi o şansı boşa harcamamak ve şans yokken gümüşü kurtarmak. Puanının gerçek düşmanı 400'ü ıskalamak değil, 300'ün altında bitmek.

Motor neyi maksimize ediyor

Tek hedef var, mod seçimi yok. Motor her hamle için E[fayda] hesaplar: altın 3, gümüş 1, bronz 0. Sıralama bu değere göre yapılır; eşitlik durumunda beklenen puan karar verir.

  • "Altın imkânsızsa gümüş" davranışı ayrı bir kural değil. Altın şansı sıfıra düştüğünde altın terimi her hamlede 0 olur ve sıralama kendiliğinden gümüş olasılığına geçer.
  • Altın imkânsızlığı ayrıca kesin hesaplanır. Kalan kartların en iyi bölüşümü 400'e yetmiyorsa arayüz bunu söyler — Monte Carlo gürültüsünün yanlışlıkla "hâlâ şans var" demesine karşı emniyet.
  • Beklenen puan neden hâlâ gösteriliyor: eşit faydalı hamleler arasındaki tie-break kriteri o. Bir hamlenin beklenen puanı daha yüksek ama sandık şansı daha düşük olabilir; arayüz bunu açıkça yazar.

Asistanı kullanırken

  • Kart girişi klavyeden en hızlı: m6 = mavi 6, s3 = sarı 3, k8 = kırmızı 8. İki tuşla bir kart.
  • Yanlış girdiysen Backspace veya Ctrl+Z; kart rozetinin ✕ düğmesi de o kartı desteye geri koyar.
  • Görülmüş kartlar grid'de tıklanamaz — yanlış giriş yapısal olarak imkânsız.
  • Tavsiye listesindeki her satır uygulanabilir bir hamledir. Motorun önerisini oynamak zorunda değilsin; ne seçtiğin kaydedilir ve oyun sonunda pişmanlık analizinde görünür.