Bethropic

Tỷ lệ Dice: cơ hội thắng thực sự đằng sau mỗi mục tiêu roll-under và roll-over, tại sao payout làm tròn xuống, và targets nào trả về đầy đủ 99%

spindle6818 lượt xem
🌐 Originally written in English· AI translationView original

Một lần roll, 9.999 kết quả

Dice là trò chơi đơn giản nhất trên trang web: chọn mục tiêu, chọn Under hoặc Over, và kết quả cuộn xuống một bên của nó hoặc không. Màn hình hiển thị cơ hội thắng và bội số cho mỗi mục tiêu, và hai số này có vẻ như nhân với nhau bằng chính xác 99% — cổ phần trở lại, trừ đi 1% house edge. Engine phức tạp hơn màn hình một chút, theo hai cách mà cả hai đều tốn tiền của người chơi, và bài viết này định giá chúng một cách chính xác.

ENGINE-VERIFIEDOriginalBaseDiceService.kt: getResult() draws nextIntBelow(9999) + 1 and divides by 100, so the result is one of the 9,999 values 0.01 to 99.99 — 0.00 excluded, 99.99 included. getWinChance() is target ÷ 100 for Under and (100 − target) ÷ 100 for Over. checkAndGetMultiplier() is (1 − house edge) ÷ win chance, floored to two decimals. getEarned() compares strictly: Under wins when the result is below the target, Over when it is above. The random number is the first 13 hex digits of HMAC-SHA256 over “clientSeed-nonce-0”, keyed by the server seed, divided by 2⁵²; the client mirror is payoutMultiplier() in dice/diceApi.ts, and diceGame.tsx limits the slider to targets 2.00–98.00.

Dịch vụ house có bài kiểm tra số học riêng của nó, DiceHouseEdgeTest, kiểm tra rằng không có mục tiêu nào bao giờ trả về hơn 99% và làm tròn xuống không bao giờ mất hơn một bước làm tròn. Cả hai đều giữ nguyên. Cái mà bài kiểm tra không in ra là mỗi mục tiêu thực sự trả về bao nhiêu, và đó là bảng mà người chơi cần.

Cơ hội hiển thị và cơ hội thực sự

Cơ hội thắng trên màn hình được tính toán như thể cuộn là một số liên tục từ 0 đến 100. Nhưng nó không phải: nó là một trong 9.999 bước. Roll under mục tiêu T thắng trên kết quả từ 0.01 đến T − 0.01, đó là 100 × T − 1 trong số chúng, vì vậy cơ hội thực sự là (100T − 1) ÷ 9.999. Ở hầu hết các mục tiêu sự khác biệt là vô hình; ở những mục tiêu nhỏ nhất nó thì không.

Roll under mục tiêu: kết quả thắng, cơ hội hiển thị và cơ hội thực sự

MỤC TIÊU (UNDER)KẾT QUẢ THẮNG CỦA 9.999CƠHỘI HIỂN THỊCƠHỘI THỰC SỰ
2.001992.00%1.9902%
5.004995.00%4.9905%
10.0099910.00%9.9910%
25.002,49925.00%24.9925%
50.004,99950.00%49.9950%
75.007,49975.00%74.9975%
90.008,99990.00%89.9990%
98.009,79998.00%97.9998%

True chance = (100 × target − 1) ÷ 9,999. Roll over a target T wins on 9,999 − 100T results, so Over T is priced exactly like Under (100 − T): Over 50 also wins on 4,999 results.

The gap is always one result. At a 50% target it costs 0.005 percentage points of chance, a hundredth of a percent of return; at the 2% target, the tightest the slider allows, one result out of 200 is about half a percent of the win chance, and the return drops from 99.00% to 98.51% for that reason alone. The same fact explains a small curiosity: a roll of exactly 50.00 loses Under 50 and Over 50 alike, because neither comparison includes the target. It happens once in 9,999 rolls.

Làm tròn đến hai chữ số thập phân

The second cost is the multiplier. The engine divides 0.99 by the win chance and keeps two decimals, always rounding down. When the division comes out exact — 0.99 ÷ 0.50 = 1.98, 0.99 ÷ 0.25 = 3.96 — nothing is lost. When it does not, the player is paid the truncated figure: 0.99 ÷ 0.80 = 1.2375, paid as ×1.23. At a high win chance the multiplier is close to 1, the hundredth that gets dropped is a large share of the profit, and the return falls much further than at the low end.

What a roll-under target pays and returns, 1% house edge

TARGET (UNDER)PAYSSHOWN CHANCE × PAYSTRUE RETURN
2.00×49.5099.00%98.51%
5.00×19.8099.00%98.81%
7.00×14.1498.98%98.85%
10.00×9.9099.00%98.91%
13.00×7.6198.93%98.86%
25.00×3.9699.00%98.97%
40.00×2.4798.80%98.79%
50.00×1.9899.00%98.99%
70.00×1.4198.70%98.70%
80.00×1.2398.40%98.40%
90.00×1.1099.00%99.00%
95.00×1.0498.80%98.80%
97.06×1.0198.03%98.03%
98.00×1.0198.98%98.98%

True return = multiplier × (100 × target − 1) ÷ 9,999. At 90.00 it is 98.999%, the highest on the slider; at 97.06 it is 98.030%, the lowest. Over targets mirror these rows: Over T returns what Under (100 − T) returns.

Read the two right-hand columns together and the two costs separate cleanly. At low targets the multiplier usually divides exactly and the whole shortfall is the missing result; at high targets the missing result is negligible and the shortfall is almost all floor. Target 80 is the clearest case: 0.99 ÷ 0.8 needs ×1.2375, the table pays ×1.23, and the return is 98.40% — a house edge of 1.6%, not 1%. Every target between 97.06 and 98.00 pays the same ×1.01, so the chance you give up by moving to 97.06 buys nothing.

Over the whole slider — every target from 2.00 to 98.00 in steps of 0.01, 9,601 settings — the true return averages 98.72%. Only 585 of those settings, 6.1%, return 98.95% or more; 1,453, 15.1%, return less than 98.50%.

Nhập multiplier, không phải phần trăm

Trò chơi có cách thứ hai để đặt cược: nhập multiplier bạn muốn và nó sẽ tính ra target. Nó chọn target có payout floored ít nhất là những gì bạn nhập, vì vậy một multiplier được nhập luôn hạ cánh trên cài đặt mà 0.99 ÷ chance chia hết. Điều đó loại bỏ chi phí floor hoàn toàn; chỉ còn khoảng cách một kết quả.

Typed multipliers và targets chúng resolve thành

NHẬPTARGET (UNDER)XÁC SUẤT THỰCTRUE RETURN
×1.1090.0089.9990%99.00%
×1.2082.5082.4982%99.00%
×1.5066.0065.9966%98.99%
×249.5049.4949%98.99%
×333.0032.9933%98.98%
×519.8019.7920%98.96%
×109.909.8910%98.91%
×204.954.9405%98.81%
×49.502.001.9902%98.51%

targetForMultiplier() trong dice/diceApi.ts làm tròn xuống target Under (hoặc làm tròn lên target Over) để tỷ lệ cơ hội không bao giờ vượt quá tỷ lệ mà multiplier được gõ vào hàm ý. Trả về làm tròn đến hai chữ số thập phân; ×1.10 là 98.999% và ×1.20 là 98.998%.

Quy tắc thực tế rất đơn giản. Nếu bạn quan tâm đến nửa điểm cuối cùng, hãy đặt multiplier thay vì phần trăm, và ưu tiên các multiplier tròn ở đầu thấp của dải payout. Một target được chọn vì nó trông tròn như một phần trăm — 80, 70, 40 — thường có giá tồi tệ hơn target cách đó một bước. Không có gì trong những điều này thay đổi hướng dài hạn: mọi cài đặt đều trả lại ít hơn số tiền cược, và martingale, được định giá và rủi ro phá sản giải thích tại sao không có chuỗi cược nào sửa được điều đó.

Limbo tránh được floor theo cách xây dựng: người chơi đặt tên payout trực tiếp và số được rút ra được so sánh với cùng một con số đó, vì vậy không có lần làm tròn thứ hai phải trả tiền. Dice trích dẫn một tỷ lệ cơ hội và suy ra payout từ nó, và sự suy ra đó là nơi floor xuất hiện.

Kiểm tra một roll của bạn

  1. Trước khi bạn chơi, bảng công bằng hiển thị dấu vân tay SHA-256 của server seed. Xoay cặp seed của bạn sau đó để tiết lộ seed và xác nhận dấu vân tay.
  2. Tính HMAC-SHA256 với server seed làm khóa và "clientSeed-nonce-0" làm thông điệp; một roll sử dụng con trỏ 0 duy nhất.
  3. Đọc 13 chữ số hex đầu tiên của digest dưới dạng số nguyên và chia cho 2⁵² để được u. Kết quả là (floor(u × 9,999) + 1) ÷ 100. So sánh chặt chẽ với mục tiêu của bạn, và bội số trên vé của bạn với 0.99 ÷ chance làm tròn xuống hai chữ số thập phân.

Nếu kết quả khớp, nó đã được cố định trước khi bạn chọn mục tiêu — như what a hash commitment proves giải thích, đó là những gì cam kết đảm bảo và tất cả những gì nó đảm bảo. Giá của mục tiêu không có trong hash. Nó nằm trong hai dòng phép tính ở trên, đó là lý do bài viết này tồn tại.

FAQ

Tỷ lệ thực tế trong trò chơi xúc xắc cuộn từ 0 đến 100 là bao nhiêu?

Ở đây cuộn là một trong 9,999 kết quả từ 0.01 đến 99.99. Roll under T thắng trên 100 × T − 1 trong số chúng, vì vậy roll under 50 là 49.995%, roll under 10 là 9.991% và roll under 2 là 1.990%.

Lợi thế nhà cái trong dice là bao nhiêu?

Lợi thế được nêu là 1%, nhưng lợi nhuận thực tế phụ thuộc vào mục tiêu: từ 99.00% tại mục tiêu 90 đến 98.03% tại 97.06. Trung bình trên mọi cài đặt thanh trượt từ 2.00 đến 98.00, nó là 98.72%, với lợi thế hiệu quả là 1.28%.

Tại sao bội số dice của tôi có vẻ bị làm tròn xuống?

Engine trả 0.99 ÷ cơ hội thắng làm tròn xuống hai chữ số thập phân. Tại mục tiêu 80%, đó là 1.2375, được trả là ×1.23, trả về 98.40% thay vì 99%.

Mục tiêu tốt nhất để chọn trong dice là gì?

Bất kỳ mục tiêu nào mà 0.99 ÷ cơ hội chia hết chính xác, chẳng hạn như 50 (×1.98), 25 (×3.96), 90 (×1.10) hoặc 66 (×1.50). Nhập bội số thay vì phần trăm sẽ tìm thấy một cái tự động. Không có mục tiêu nào trả lại hơn 99%.

Điều gì xảy ra nếu cuộn xúc xắc rơi chính xác vào mục tiêu của tôi?

Nó thua. Under chỉ thắng dưới mục tiêu và Over chỉ thắng trên nó, vì vậy cuộn chính xác 50.00 thua cả Under 50 và Over 50. Nó xảy ra một lần trong 9,999 lần cuộn.

Tôi có thể xác minh một cuộn dice không?

Có. HMAC-SHA256 của "clientSeed-nonce-0" được khóa bằng server seed được tiết lộ; 13 chữ số hex đầu tiên trên 2⁵² cho u, và (floor(u × 9,999) + 1) ÷ 100 là kết quả.

NGUỒN & TÀI LIỆU THAM KHẢO

  • Mã nguồn engine Betkyo, dịch vụ nhà: OriginalBaseDiceService.kt — getResult() (nextIntBelow(9999) + 1, over 100), getWinChance() (4-decimal floor), checkAndGetMultiplier() ((1 − house edge) ÷ win chance, 2-decimal floor), getEarned() (strict comparison); SeedPairRandom và PfHashUtils.normalize() (13 chữ số hex đầu tiên ÷ 2⁵²); DiceHouseEdgeTest.kt
  • Mã nguồn engine Betkyo, gương phía khách: payoutMultiplier() và targetForMultiplier() trong dice/diceApi.ts; giới hạn thanh trượt 2.00–98.00 trong diceGame.tsx
  • Tính toán chính xác được viết cho bài viết này: (100T − 1) ÷ 9,999 cơ hội thắng và bội số làm tròn xuống cho tất cả 9,601 mục tiêu thanh trượt, lợi nhuận thực tế và phân phối của chúng; kiểm tra chéo bằng cách phát lại 400,000 lần cuộn của luồng HMAC qua dẫn xuất kết quả (roll under 50: 49.88% mô phỏng so với 49.995% chính xác; kết quả trải dài từ 0.01 đến 99.99)

CÁC TRÒ CHƠI TRONG BÀI VIẾT NÀY

Dice — rules & free play →

Tỷ lệ Dice: cơ hội thắng thực sự đằng sau mỗi mục tiêu roll-under và roll-over, tại sao payout làm tròn xuống, và targets nào trả về đầy đủ 99%

Bình luận (0)

Chưa có bình luận nào.