Wizardに尋ねる #221
ライブポーカートーナメントで勝ったプレイヤーは、トーナメント開始時に「ディーラーのアドオン」を購入した場合、追加のチップを渡すべきだと思いますか? 私は、こうしたアドオンを使用する少額バイイントーナメントによく参加していますが、勝者には必ず「チップは大歓迎です」と注意されます。入賞しなかったトーナメントでも、既にチップを渡しているような気がします。追加のチップは、(「ヴィグ」やスキルの重要性を軽視するフォーマットなどにより)既に勝つのが難しいギャンブルにおいて、私が持っているわずかな優位性を損なうだけです。とはいえ、ケチだと思われたくはありません。何かアドバイスはありますか?
私はあまりポーカーをしないので、 デイビッド・マシューズに「ディーラーのアドオン」とは何なのか聞いてみました。彼の答えは次のとおりです。
ディーラーアドオンは、登録時にお支払いいただく追加オプション料金です。このアドオン料金は、トーナメントのディーリングにかかった時間に対する報酬としてディーラーに支払われます。通常、開始チップが2000枚ではなく2500枚追加されます。デイブさんの意見に賛成です。さらに付け加えると、トーナメントでリバイやワイルドカード購入といったオプション料金でプレイヤーを巻き上げることにも反対です。ただし、これらの料金が何らかの形でプレイヤーに返金される場合を除きます。通常は返金されません。もしトーナメントがカジノにとって利益にならないのであれば、見せかけの行為はやめて、プレイヤーに前払いで参加費を支払わせるだけで十分です。アドオンを購入するかどうかに関わらず、チップを渡すかどうかは常に任意であるべきです。もしアドオンを購入していたら、チップを渡す気持ちは薄れていたでしょう。ちなみに、私はいつもアドオンを購入しています。EVの観点から数学的に正しいかどうかは分かりませんが、そもそもトーナメントに参加するのであれば、そうするのが良いように思えます。
ディーラーへの追加チップがなければ、勝者がディーラーにチップを渡すのは適切だと思います。強いて言えば、勝ち金の1~2%程度で、勝ち金が少ないほど割合は大きくなります。今回の状況では、ディーラーへの追加チップの合計額と私の勝ち金の合計額に対する割合を掛け合わせた額だけチップを差し引きます。もしチップがゼロ、あるいはマイナスになってしまうなら、それはジレンマです。レストランで18~20%のチップを義務付けている時と同じように、見た目だけのために少額を渡すのが私のやり方でしょう。
2つの都市間の距離が1,000マイルだとします。無風状態では、飛行機は時速500マイルで飛行できます。無風の場合と、片方向に時速100マイルの追い風、反対方向に同じ速さの向かい風が吹いている場合では、往復にかかる時間はどちらが長くなりますか?
無風の場合、片道2時間で、合計4時間かかります。追い風の場合、飛行機は時速600マイルで飛行し、1000/600 = 1.667時間かかります。向かい風の場合、飛行機は時速400マイルで飛行し、1000/400 = 2.5時間かかります。つまり、風がある場合、合計時間は4.167時間、つまり10分長くなります。
これは、平均値を平均化することが危険であることを示しています。片道が時速400マイル、反対側が時速600マイルの場合、平均速度が時速500マイルとは言えません。時速400マイルの区間の方が長い期間にわたっているからです。
これが直感的に分かりにくい場合は、時速500マイル(約800キロメートル)の風を考えてみてください。風だけで飛行機は1時間で移動しますが、逆方向だと止まってしまい、永遠にかかることになります。
ビデオポーカーでロイヤルフラッシュが 3 枚配られる確率はどれくらいですか?
3がロイヤルになる確率は4つのスーツから選べます。5つのランクから3を選ぶ方法は、(5,3)=10通りあります。残りの2枚を選ぶ方法は、(47,2)=1,081通りあります。52枚から5枚を選ぶ方法は、(52,5)=2,598,960通りあります。つまり、3がロイヤルになる確率は、4×10×1081/2,598,960 = 1.66%です。
「ギャンブルの基本公式」ってご存知ですか?あなたのサイトでは全く触れられていないので、ぜひご意見をお聞かせください。その公式は以下の通りです。
N = log(1 - DC)/ log(1 - p)、ここで
DC = イベントが発生する確実性の度合い
P = イベントの確率
N = 試行回数
これはlog(a b )=b×log(a)という法則の明らかな拡張に過ぎません。特別な用語を使う必要はありません。この式は、連続して負ける確率に関するいくつかの疑問に答えるのに役立つかもしれません。例えば、ビデオポーカープレイヤーが、ロイヤルドラウトの確率がちょうど5%になるように、何ハンドプレイする必要があるかを知りたいとします。最適な戦略を用いた9/6ジャックス・オア・ベターで、1ハンドあたりロイヤルが出現する確率は0.00002476です。少なくとも1つのロイヤルが出現する確実性は95%です。したがって、5%のロイヤルドラウトのハンド数は、log(1-.95)/log(1-0.00002476) = 120,989となります。
しかし、その問題を解くのに必ずしもその式を使う必要はありません。次のように設定することもできます。
.05 = (1-0.00002476) n
n
log(.05) = n × log(1-.00002476)
-1.301 = n × -0.000010753
n = 120,989
52 枚のカードのデッキから任意の 5 枚のカードを 0 から 2,598,959 までの整数にマッピングする関数を推奨できますか?
はい。まず、各カードに0から51までの値を割り当てます。カードをc1からc5と呼び、c1を最低、c5を最高として並べます。次に、次の関数を呼び出します。
int GetIndex(int c1, int c2, int c3, int c4, int c5)
{
return combin(c5,5) + combin(c4,4)+ combin(c3,3) + combin(c2,2) + combin(c1,1);
}
combin は従来の値を返しますが、最初の値が 2 番目の値より小さい場合を除き、次のように 0 を返します。
int 結合(int x, int y)
{
もし (y>x)
0を返します。
それ以外
{
整数 i,n;
1 の場合
(i=x-y+1; i<=x; i++) の場合
n*=i;
(i=2; i<=y; i++) の場合
n/=i;
n を返します。
}
}
配列要素にアクセスするためにこれを行う場合は、次のように配列をロードします。
カウント=0;
(c5 = 4; c5 < 52; c5++) の場合
{
(c4 = 3; c4 < c5; c4++) の場合
{
(c3 = 2; c3 < c4; c3++) の場合
{
(c2 = 1; c2 < c3; c2++) の場合
{
(c1 = 0; c1 < c2; c1++) の場合
{
index_array[count]=WhateverYouWish;
カウント++;
}
}
}
}
}