Bütün oyun tek bir kesir
Fugu bir mayın tarlası: yirmi beş kare, bunların bir kısmı balık saklıyor ve her açtığın güvenli karede yükselen bir çarpan var. Çarpan elle tasarlanmış gibi görünüyor. Değil. Tek bir kesir, ve motor onu basıyor.
MOTOR DOĞRULAMALImines/minesApi.ts dosyasından: MINES_CELLS = 25 (5×5). minesMultiplier() adil oranı tek bir tam kesir olarak hesaplar — açılan her kare için ∏(cells−i) / ∏(cells−mines−i) — bunu iki ondalığa yuvarlar, tablonun geri dönüş katsayısıyla çarpar ve tekrar yuvarlar. Faktöriyel çarpımlar, oran taşmadan çok önce double'ları taşırır, bu yüzden motor bunları BigInt olarak tutar. Geri dönüş katsayısı coinGame.ts'te varsayılan olarak 0.99'dur; canlı bir masa kendi rakamını sunucudan alır.
O kesir aslında bir olasılığın tersinden başka bir şey değil. İlk k seçiminin, 25 karede m mayın varken, hepsinin güvenli olma şansı, her adımda (kalan güvenli kareler) ÷ (kalan kareler) çarpımıdır — ve motorun kesri tam olarak bu çarpımın ters çevrilmiş hali. Yani herhangi bir karedeki çarpan 1 ÷ (oraya ulaşma olasılığı), × 0.99'dur.
Bunu böyle yazınca, insanların Fugu hakkında şaşırtıcı bulduğu iki şey hemen ortaya çıkıyor.
On mayın neden on beş mayınla aynı ödemeyi veriyor
Tüm tahtayı temizlemek, her güvenli kareyi açmak demektir ve bunu yapma şansı, mayınların dizilebileceği farklı yol sayısının 1 bölü'sidür: 1 ÷ C(25, m). Yani tam temizleme ödemesi C(25, m) × 0.99'dur ve binom katsayıları simetriktir — hangi 10 karenin mayın tuttuğunu seçmek, hangi 15 karenin tutmadığını seçmekle aynı sayıdadır.
| MAYINLAR | TEMİZLENECEK GÜVENLİ KARELER | TAM TEMİZLEME ORANI | ADİL ÖDEME | MOTORUN ÖDEDİĞİ |
|---|---|---|---|---|
| 1 | 24 | 25'te 1 | ×25 | ×24.75 |
| 2 | 23 | 1 in 300 | ×300 | ×297.00 |
| 3 | 22 | 1 in 2,300 | ×2,300 | ×2,277.00 |
| 5 | 20 | 1 in 53,130 | ×53,130 | ×52,598.70 |
| 10 | 15 | 1 in 3,268,760 | ×3,268,760 | ×3,236,072.40 |
| 15 | 10 | 3.268.760'da 1 | ×3.268.760 | ×3.236.072,40 |
| 20 | 5 | 53.130'da 1 | ×53.130 | ×52.598,70 |
| 24 | 1 | 25'te 1 | ×25 | ×24,75 |
Tabloyu hem yukarıdan aşağıya hem de aşağıdan yukarıya okuyun: aynı sayı sütunudur. On mayın ile on beş mayın birbirinin aynası, beş ile yirmi de öyle, bir ile yirmi dört de öyle.
Yani sitenin gösterebileceği en büyük sayı — ×3.236.072,40 — aynı anda iki farklı tahtaya ait, ve bu en zor tahta da değil. On iki veya on üç mayın daha fazla öderdi (C(25,12) = C(25,13) = 5.200.300), ama bunlar seçilemez ve rehber, ödemenin bu rakamların hiçbirine ulaşmadan çok önce tablonun maksimum kâr sınırına bağlı olduğunu açıkça belirtiyor. Tam temizleme sayısı, kimsenin kazandığı bir ödül değil, formülün bir özelliğidir.
Merdivenin diğer ucu
Aynı oran ilk karonun fiyatını da belirler ve burada mayın sayısı, tam temizleme tablosunun önerdiğinin tam tersini yapar: mayın ne kadar çoksa, ilk adım o kadar büyük olur.
| MAYIN | İLK SEÇİMİN GÜVENLİ OLMA ŞANSI | MOTOR ÖDEMELERİ |
|---|---|---|
| 1 | 96.0% | ×1.02 |
| 3 | 88.0% | ×1.11 |
| 5 | 80.0% | ×1.23 |
| 10 | 60.0% | ×1.64 |
| 15 | 40.0% | ×2.47 |
| 20 | 20.0% | ×4.95 |
| 24 | %4.0 | ×24.75 |
24 mayınla tam olarak bir güvenli kare vardır, yani ilk seçim tam temizlemedir — ve satır olması gerektiği gibi üst tabloyla eşleşir.
Bir mayın, neredeyse hiç erken bitmeyen yavaş bir merdivendir; yirmi dört mayın ise mayın tarlası kılığına girmiş tek bir 1/25 çekilişidir. Tahta her iki durumda da aynı görünür. Ama oran öyle değildir.
Her seçimin bedeli ne
İşte makaleden çıkarılması gereken kısım burası. Eğer çarpan 0.99 bölü oraya ulaşma olasılığıysa, herhangi bir karede çekilme yapmanın beklenen değeri olasılık × (0.99 ÷ olasılık) = 0.99 olur. Her kare. Her mayın sayısı. İster tek seçimden sonra ister yirminciden sonra çek, ister bir mayınlı tahtada ister yirmi mayınlı tahtada, ortalama getiri her zaman dolar başına 99 centtir.
Bu, Limbo'nun her hedefte uyguladığı aynı sabit ücrettir ve Koban'ın merdiveninin yaptığının tam tersidir — orada ücret her basamakta birikir çünkü her basamak ayrı ayrı ×1.96 üzerinden fiyatlandırılır. Fugu ise tüm yolu, oranlar üzerinden bir kerede fiyatlandırır, bu yüzden daha derine inmek ücreti artırmaz. Sadece varyansı artırır, yalnızca varyansı.
Motordaki iki taban değer — biri adil oran üzerinde, biri ×0.99'dan sonra — bazı basamaklardan yüzde birlik bir dilim keser, bu yüzden kesin rakam tam %99 yerine ondan biraz daha aşağıda kalır. Motor, çarpımları BigInt olarak tutar; böylece oranın kendisi yuvarlanan şey olmaz.
Yani mayın seçicisini okumanın dürüst yolu "hangi tahta en iyi öder" değil — hepsi aynı öder — "her karede bahsimin ne kadarını riske atmak istiyorum" sorusudur. Düşük mayın sayısı birçok küçük adımdır; yüksek mayın sayısı ise birkaç şiddetli adımdır. Batma riski (risk of ruin) içindeki boyutlandırma matematiği kararın tamamıdır ve motorun oranı bunu temiz bir karar haline getiren şeydir.
SSS
Fugu'daki en yüksek çarpan nedir?
On veya on beş mayınla tüm güvenli kareleri temizlemek için ekranda ×3.236.072,40 görünür — C(25,10) × 0.99. Bu, ödüllendirilen bir ödülden çok formülün bir özelliğidir: rehber, ödemelerin tablonun maksimum karıyla sınırlı olduğunu belirtir.
On mayın ile on beş mayın neden aynı ödemeyi veriyor?
Çünkü tam temizleme ödemesi, mayınları yerleştirmenin yol sayısı olan C(25, m) çarpı 0.99'dur — ve C(25,10), C(25,15)'e eşittir. Aynı simetri 5'i 20 ile ve 1'i 24 ile eşleştirir.
Hangi mayın sayısının şansı daha iyidir?
Hiçbiri. Çarpan, her kareye ulaşma olasılığına bölünen 0.99'dur, yani herhangi bir yerde çekilme yapmanın beklenen getirisi her tahtada %99'dur. Mayın sayısı, oyunun hissettirdiği şeyi değiştirir, maliyetini değil.
Fugu çarpanı nasıl hesaplanır?
Tek bir kesin oran olarak — açığa çıkan her kare boyunca (kalan kareler) çarpımı bölü (kalan güvenli kareler) çarpımı — iki ondalığa yuvarlanarak (aşağı), tablonun getiri faktörüyle (varsayılan olarak 0.99) çarpılarak, tekrar aşağı yuvarlanarak. Motor, çarpımları BigInt olarak hesaplar çünkü bunlar sıradan sayıları taşırır.
KAYNAKLAR VE REFERANSLAR
- Betkyo motor kaynağı: mines/minesApi.ts içindeki MINES_CELLS ve minesMultiplier(); _shared/coinGame.ts içindeki varsayılan 0.99 dönüş faktörü. Tablolardaki her rakam bu fonksiyonun hesaplanmış hali, yayınlanmış bir ödeme tablosu değil
- Binom katsayıları ve simetrileri C(n,k) = C(n,n−k) — herhangi bir kombinatorik kitabında standart
BU MAKALEDEKİ OYUNLAR
Fugu — kurallar ve ücretsiz oyna →Koban Flip — kurallar ve ücretsiz oyna →