TRPGのための数学知識の部屋 LOG 001

TRPGのための数学知識の部屋の1996年12月26日から2001年01月14日までのログです。


2001年01月14日:21時08分59秒
対抗判定の場合 / 混沌太郎
期待値が必要ということは、目標値に達したダイスの個数ではなく、振った出目の中の最大値を問題とするようですね。
してみると、対立する二者の間で対抗ロール的な使い方をするのではないかと思われますので、
「6面体ダイスを各々が決められた数だけ振って、それぞれ一番高い目に
修正値を加えて比較した時に、相手の値を上回る確率、及び引き分けになる確率」
を求めてみました。参考にしてみてください。

これもExcelを使って近似値で出したので、とりあえずそのワークシートの作り方から。
まず以下の様に入力します(A10〜A17は省略しても構いません)。

A1 自分が振るダイスの数
A2 相手が振るダイスの数
A3 修正
A5 勝つ確率
A6 引き分けの確率
A7 互角以上の確率
A8 負ける確率
A10 項番号
A11 自分の達成値=項番号となる確率
A12 相手の達成値=項番号となる確率
A13 相手の達成値≦項番号となる確率
A14 特定の達成値で勝つ確率
A15 勝つ確率の小計
A16 特定の達成値で引き分ける確率
A17 引き分ける確率の小計
B5 =MAX(15:15)
B6 =MAX(17:17)
B7 =B5+B6
B8 =1-B7
B10 1
B11 =((1+(MOD(B10,6)-6)/6^(ROUNDDOWN(B10/6,0)+1))^$B1-(1+(MOD((B10-1),6)-6)/6^(ROUNDDOWN((B10-1)/6,0)+1))^$B1)
B12 =((1+(MOD(B10,6)-6)/6^(ROUNDDOWN(B10/6,0)+1))^$B2-(1+(MOD((B10-1),6)-6)/6^(ROUNDDOWN((B10-1)/6,0)+1))^$B2)
B13 =SUM($B12:B12)
B14 =IF($B3<=1,OFFSET(C11,0,-$B3,1,1)*B13,C11*OFFSET(B13,0,$B3,1,1))
B15 =SUM($B14:B14)
B16 =IF($B3<=0,OFFSET(B11,0,-$B3,1,1)*B12,B11*OFFSET(B12,0,$B3,1,1))
B17 =SUM($B16:B16)

次に、B11〜B17をコピーし、C11〜C17にペーストします。それから、C10に=B10+1と入力します。
あとは、C10〜C17をコピーして、右方向に好きなだけコピーすれば完成です。
B1とB2に各々が振るダイスの数を入れ、
B3に(自分が出目に足すことができる修正値)−(相手が出目に足すことができる修正値)を入れれば、
B5〜B8にそれぞれの結果が示されます。

試みに修正=0の場合と、修正=1の場合について求めてみたので、表にまとめてみます。

修正値=0の場合に、「勝つ」確率(%)
自分が振る
ダイスの数
相手が振るダイスの数
101112
  1 42.927.620.215.913.211.39.948.888.037.346.766.26
  2 60.143.033.427.423.320.418.116.414.913.712.711.8
  3 69.252.942.936.231.427.825.022.720.919.317.916.7
  4 74.859.950.043.138.034.030.828.226.124.222.621.1
  5 78.765.155.648.743.439.335.933.030.628.526.725.1
  6 81.669.160.153.448.143.840.237.334.732.430.528.7
  7 83.872.463.957.352.047.744.141.038.335.933.832.0
  8 85.675.067.060.655.451.147.544.341.539.136.934.9
  9 87.077.369.663.558.454.150.547.344.441.939.737.6
  10 88.279.171.966.061.056.853.149.947.144.542.240.1
  11 89.280.873.968.263.459.255.552.349.446.944.542.4
  12 90.182.175.670.165.461.357.754.551.649.046.744.5

修正値=+1の場合に、「勝つ」確率(%)
自分が振る
ダイスの数
相手が振るダイスの数
101112
  1 57.139.930.825.221.318.416.214.413.011.810.89.91
  2 72.457.047.140.134.930.927.625.022.720.919.217.9
  3 79.866.657.150.044.439.936.133.030.428.126.124.4
  4 84.172.663.856.951.346.642.739.436.534.031.829.9
  5 86.876.768.662.056.651.948.044.641.639.036.634.6
  6 88.779.672.266.060.756.252.348.945.943.240.838.7
  7 90.181.975.069.264.159.855.952.549.546.944.542.3
  8 91.183.677.371.867.062.759.055.752.750.147.745.5
  9 92.085.179.173.969.465.361.758.555.652.950.648.4
  10 92.786.380.775.871.567.664.160.958.155.553.151.0
  11 93.287.382.177.473.369.566.263.160.357.855.553.3
  12 93.788.283.378.974.971.368.065.162.459.957.655.5

これを見ると、ダイスの数に結構差があっても割と勝負になってしまうことがわかります。
大雑把な見方をすれば、ダイス数の比によって、勝つ確率はある程度決まってくるようです。
また、出目に修正をつけると、+1程度でもかなり効果が大きいようです。
2001年01月11日:17時18分25秒
RE:オープンテストの期待値 / やまがた
面白そうなので私もコンピータにさいころ振らせてみました。
で、その結果。
試行回数=100000
ダイス=1個, 平均=4.20532, 最大=44
ダイス=2個, 平均=5.80312, 最大=41
ダイス=3個, 平均=6.8517, 最大=40
ダイス=4個, 平均=7.63756, 最大=52
ダイス=5個, 平均=8.28882, 最大=41
ダイス=6個, 平均=8.85874, 最大=45
ダイス=7個, 平均=9.30773, 最大=45
ダイス=8個, 平均=9.73977, 最大=53
ダイス=9個, 平均=10.12389, 最大=45
ダイス=10個, 平均=10.48352, 最大=52
ダイス=11個, 平均=10.77807, 最大=52
ダイス=12個, 平均=11.0576, 最大=45
ダイス=13個, 平均=11.32933, 最大=46
ダイス=14個, 平均=11.55661, 最大=47
ダイス=15個, 平均=11.78231, 最大=52
ダイス=16個, 平均=12.02051, 最大=51
ダイス=17個, 平均=12.22445, 最大=53
ダイス=18個, 平均=12.36476, 最大=58
ダイス=19個, 平均=12.58788, 最大=47
ダイス=20個, 平均=12.74348, 最大=50

プログラムの正当性は確認してませんが、混沌太郎さんの近似値に沿っているようなので、たぶん大丈夫かと(笑)


> 擬似乱数を使って検定してみたんですが…、振る個数nが大きくなるとぜんぜんだめでした。

試行回数が少なかったんじゃないでしょうか。
Nd6のように最頻値と期待値が一致していればすぐに収束すると思いますが、 このケースでは確率分布が非常に広いので、100回くらいでは収束しないかもしれません。

しかし…宮本さんもおっしゃってますが、実際の運用では期待値よりも確率の方が重要ですよね。オープンテストだと、期待値に届く確率って半分も無いんじゃなかろーか?
2001年01月11日:12時41分25秒
ありがとうございます。 / みっちゃ
>宮本 隆志さん、混沌太郎さん
回答ありがとうございます。

私も計算してみて、確か混沌太郎さんのような形の式になったと思います(式が今手元にないのでわかりませんが)。 そのままでは計算できませんので、無限個の項を消すために適当に近似して、計算可能な式を出してみました。 その後に擬似乱数を使って検定してみたんですが…、振る個数nが大きくなるとぜんぜんだめでした。
それで、正確な値が知りたいと思ったのですが(確かに、正確な値は必要ないのですが…それを求めてしまうというのは私のサガです(^^;)できないのですか…。
…残念です。
2001年01月11日:12時38分21秒
蛇足ながら / 混沌太郎
先の書き込みの式を、ブラウザからExcelのシートに貼り付ける場合の話。
書き込んだ後実際に自分で、改めて一からシートを作ってみたのですが、
ブラウザによっては必要な部分だけをきれいに選択できないようですね。
この場合直接ペーストしてから修正しようとすると、何故かセルが大きくなってしまい、
きれいにいかないようです(Excel 97の場合)。
私の場合は、一旦上の「数式バー」にカーソルを置いてからペーストしたら解決しました。
2001年01月11日:07時45分28秒
Excelで近似値(Re: オープンテストの期待値) / 混沌太郎
弄り回している内に、数式のような形にはなりました(検証はしてません)。
ダイスをn個振ったとすると、期待値E(n)は、
E(n)=limm→∞[6m[1+(-6)/6^(m+1)]^n-Σk=1m[(1-1/6^k)^n+(1-2/6^k)^n+(1-3/6^k)^n+(1-4/6^k)^n+(1-5/6^k)^n+(1-6/6^k)^n]]。
…limだのΣだの残ってて、ダメダメな感じです。 もう少しなんとかなりそうな気がしないでもありませんが…
まあ私の貧弱な数学能力ではもはや限界ということだと思うので、(楽に近似値を出すために)素直に表計算ソフトを使うことにしましょう。

***********************

さて、どうやって結果を出したのか気になると思うので、入力した式も全て書いておきましょう。
今回使用したのは、MicrosoftのExcelです(Excelを持ってない人にはうざったいだけかもしれません。悪しからず)。

ついでですので、まずは通常のShadowrunで必要となる成功確率を出しましょう。
何も書き込まれてないシートを用意して、
A1に、目標値
A2に、振るダイスの個数
A3に、成功数
A4に、一個以上成功確率
A5に、指定した成功数が出る確率
A6に、同上、但し出目は目標値に一致
B4に、=1-(1+(MOD((B1-1),6)-6)/6^(ROUNDDOWN((B1-1)/6,0)+1))^B2
B5に、=COMBIN(B2,B3)*(-(MOD((B1-1),6)-6)/6^(ROUNDDOWN((B1-1)/6,0)+1))^B3*(1+(MOD((B1-1),6)-6)/6^(ROUNDDOWN((B1-1)/6,0)+1))^(B2-B3)
B6に、=COMBIN(B2,B3)*(IF(MOD(B1,6)=0,0,1/6^ROUNDUP(B1/6,0)))^B3*(1+(MOD((B1-1),6)-6)/6^(ROUNDDOWN((B1-1)/6,0)+1))^(B2-B3)
と入力します。

B1に目標値、B2に振るダイスの個数を入れると、B4は一個以上がその目標値以上である確率となります。
また、B3に数値を入れると、B5は「B3の値に等しい個数のダイス(のみ)が目標値以上である」確率を表し、
B6は「B3の値に等しい個数のダイスが目標値に等しく、残りのダイスは全て目標値未満である」確率を示しています。
B6はShadowrunには関係ありませんが、おまけです。
なお、B1=B2=B3=1を入れると0^0が発生して #NUM! とか出るかもしれませんが気にしないでください。

***********************

それでは、期待値の計算の方に入りましょう。
なお始めに言っておきますがこれはあくまで近似値です。生のままの無限に続く多項式ですので、気の済む所で切らなければなりません。
しかし計算するのはコンピュータですので、ゲーム上問題ないくらいの精度は労せずして得ることが可能です。

新しいシートを用意して、
A1に、ダイスの個数
A2に、項番号
A3に、(最高値=項番号、の確率)*項番号
A4に、累計期待値
B1に、=C1
B2に、1
B3に、=B2*((1+(MOD(B2,6)-6)/6^(ROUNDDOWN(B2/6,0)+1))^B1-(1+(MOD((B2-1),6)-6)/6^(ROUNDDOWN((B2-1)/6,0)+1))^B1)
B4に、=SUM($B3:B3)
と入力します。

続いて、B1〜B4を選択してコピーし、C1〜C4にペーストし、C2を=B2+1に書き換えます。
そうしたら今度はC1〜C4をコピーし、D1、E1、F1…と続けて右方向に、気が済むまでペーストしてください。
それなりの精度が欲しかったら、40項くらいは用意すべきかもしれません。

任意に入力するのはダイスの個数のみですが、それを入力するのは表の1行目の一番右のセルです。
例えば、もし上記に従って39個コピーしていたら、AO列までが埋まっているはずですので、
その場合にはAO1(またはAP1)を使用することになります。
結果(期待値)は、4行目の一番右のセルに示されています。

では結果です。
n=1:E(n)=4.2、n=2:E(n)=5.8、n=3:E(n)=6.85、n=4:E(n)=7.65、n=5:E(n)=8.30、n=6:E(n)=8.85、n=7:E(n)=9.33、n=8:E(n)=9.75、n=9:E(n)=10.13、n=10:E(n)=10.47、n=11:E(n)=10.78、n=12:E(n)=11.07、…
因みに、一応60項目まで出しました。
2001年01月10日:00時54分11秒
Re:オープンテストの期待値 / 宮本 隆志
オープンダイスの期待値ですが、結論から言ってしまうと簡単な計算方法は無いと思います。「N個のものがある分布をしている時に、そのN個の最大値とか最小値の分布(とかその分布の期待値や分散)を求めよ」な類の問題は、通常簡単な形で解が求められないからです。
#大学の図書館とかで数学の本を借りて読める立場にあるとか、自分で購入してでも読みたいというのなら、その手のことが書いてある本の書名を紹介してもいいですが。
みっちゃさんの目的として、自作ゲームシステムのルールに使いたいのだと推察しますが、その使われ方を推測するに、「目標値5とか10とかの代表的な難易度に対して、技能値Nだったら、どのくらいの成功率があるのか」という値が分かればほぼ目的を達することが出来るのではないかと思います。この計算だったら高校数学の範囲内の計算だからそんなに難しくないですよね。
あるいはちょっとプログラムを書いてパソコンとかで数値実験する、というのが一番手軽かも。厳密な値が必要な訳じゃなくて、大体の値が分かればいいんじゃないでしょうか。
2001年01月09日:12時51分26秒
RE:十面体 / myrt
 「駒みたいに回る」場合は、十面体より八面体のほうが良く回るような 気がします。正多面体が確率的に正しいダイスであると認識が得られているので あれば、四面体や二十面体で振り方によってはランダム化されてな いような気がする例を出してみてはどうでしょうか。六面体だって転がし方に よっては目が調整できますから(横転させるのでしたっけ??)。

 手の中できちんと振り回した場合には、重心と接地時の形状の合同性が 証明されている形態のダイスは確率的に正しいような気がしますが... 手の中に十分におさまるとは言えない上に、つぎ目が気になってしまったりする 百面体はどう解釈すべきでしょうか??
2001年01月08日:09時44分44秒
オープンテストの期待値 / みっちゃ
はじめまして、みっちゃと申します。
みなさんの知恵を拝借させていただきたいのですが…。

シャドウランのオープンテストの期待値がわからないのです。
シャドウランのオープンテストは、複数個(技能レベルと同じ数だけの)のD6を 振り、出た目のうちで一番大きいものをテストの最終的な値として採用するもので す(6が出たダイスは、目を振り足します。これは6が出続ける限り繰り返します)。

具体例を上げますと…5個のD6を振って、2、3、5、6、6が出たとします。 二つ6があるので、そのD6を振りなおして、1、6が出ました。 再びひとつ6が出たので、それを振り直しますと2が出ました。 結局、出た目は2,3,5,7(=6+1),14(=6+6+2)です。 一番大きい値は14ですので、このテストの最終的な値は14となります。

自作ゲームで使ってみようかと思い、「n個のD6を振ったときのオープンテスト の期待値」のように一般的な形で計算しようとしたのですが…近似値しか出ませ んでした、それもあまりいいとはいえない(^^;

どなたさまか近似でない値、そうでなければ出来るだけ質がいい近似値を計算する 式を教えてください。
2001年01月05日:22時41分42秒
RE:十面体 / 吟遊奇人
>混沌太郎さん、ELさん
おそらく、お二人の言うような証明になるのでしょう。多分友人たちは、「正」多面体と言う言葉から感覚的に疑いを抱いていたのだと思います。わたしも重心の話を持ち出そうとしたのですが、その中で数学にかなり苦手意識を持っている人に、まず重心が何かわからないと言われてしまったので・・・。さらには、「振り方によって駒みたいに回ったときには、上になった角錐の目しか出ないじゃん」と議論の前提を崩して反論されてしまったためそのときはもうあきらめました(笑)
2001年01月05日:18時10分09秒
ツクダのD10 / 宮本 隆志
ツクダのRPGに付属されていた、D10(正方形の面が2つと、台形の面が8つあるやつ)は、等確率じゃなくて、正方形の面が出やすかったという記憶があります。 もうずうぅと前に、試験勉強で検定のやり方を勉強した頃に、100回振って5%の危険率がどうのこうので、有意に差が出た(正方形の目が期待値の20回より多かった)という経験があるんだが。
2001年01月04日:20時24分13秒
34面体ダイスの場合 / 西上 柾
 極端なケースで考えると。
 
 世の中には解けない謎がたくさんありますが、私が所持している「34面体ダイス」という用途不明なダイスもそのひとつです。これは構造的にはD10と同じで、十七角錐を二つくっつけたよーな形をしています。
 
 で、このダイスを転がした場合、「どちらの十七角錐が接地するか」は実はダイスの転がし方によって偏りがでるんじゃないか、と言う気がするのです。
 
 ダイスの振り方の癖がD10に対しても有意かどうかは 不明ですが、例えばD20などに比べると影響は大きいように思います。
#最近出てきたクォーツ型のD10とかの方が影響は少ないんだろうか。
2001年01月04日:19時19分30秒
Re: D10は乱数発生装置として適切か? / 田人
 小生は数学が苦手なのであまり適当な事はいいたくないが、正多面体の全ての面が出る確率が等確率かどうか、その人に証明させてみればいいのではなかろうか?

 この証明は、高校程度の数学力(というか物理知識)では不可能だと思うのだが。

 もし、中心からの全ての面の条件が同じ、という条件を持ってくれば、それは既存のD10に関しても言えることであろう。

 そもそも、正多面体とは「全ての面が正n角形で構成される立体」であったと思うのだが、正n角形にこだわらねばならない理由は何処にあるのだろうか?

 いかにもな穴にはまっている気がする今日このごろである。
2001年01月04日:19時04分00秒
Re: D10は乱数発生装置として適切か? / d-mura
実際に回数振って証明してやればどうでしょう(曝)?

100回振ってそれぞれの目の出た回数が5〜15回におさまっていれば充分なのですが…
(母比率10%を有意確率5%で検定)


問題点1:上記の検定で充分であることを納得してもらえるかどうか。
問題点2:一般にゲーム用に市販されているダイスの品質が実は大したものではないと露見した場合どうするのか(曝)

2001年01月04日:17時05分02秒
十面体 / ありよし
MERPやBeRtoLに付属してきた立方体に近い形の10面体のことをいわれているのでしょうか?
アレの証明を誰かやってください(爆)
2001年01月04日:13時06分02秒
十面体 / 09
 私も、ダイスとして使われている十面体の各面の出る確率は、理論上は同じだと思います。
 しかし、統計のサンプリングでランダムに0〜9を得るためのダイスは、0〜9を二面ずつに記入した正二十面体のダイスのようです。
2001年01月04日:05時02分34秒
10面体 / 混沌太郎
>「D10は正多面体ではないから、すべての数字が平等な確率で出ているはずが無い」
証明する義務があるのはその友人達の方だと思いますが…

良くある五方両錘型の10面体の10個の面は、全て同じ形で、重心から等距離、かつ等角度にあります。
そして、この立体はどの面を下にしていても全く同じ形であり、回転させなくても完全に重ね合わせることができます。
つまり、それぞれの面の関係は完全に平等なわけです。
確率が等しくならない理由はありません。

一つ疑問なのですが、その友人の方々は一体どの目が出る確率が一番高いと思っているのでしょうか。


さて今更ですが…(Mad-Pさんは既に知っているでしょうが)
n d kの分散は、n*(k^2-1)/12、のはず(昔の計算で、詳細は忘れました)です。
下の方に書いてありますです。実は。
2001年01月04日:00時09分14秒
D10の出目が等しい訳? / EL。
 全ての面が同じ面積をもっているので、すべての面に掛る比重が同じだから、いずれかの面が上になる確率は全て同じ、ってなもんなんじゃないですかね?
 わしは、高校1年生程度の数学知識しかないので、専門的なことはからきしだめですが。
2001年01月03日:23時30分16秒
D10は乱数発生装置として適切か? / 吟遊奇人
以前友人(複数)が、「D10は正多面体ではないから、すべての数字が平等な確率で出ているはずが無い」と言い出しました。私はそれに「正多面体ではないけど、すべての面が合同だから、どの面も平等に上になるはずだ」と反論したのですが、「じゃあ何でその定義は成り立つの?」と言われて詰まってしまいました。四面楚歌状態(笑)
もうそれ以上は、「明らかなこと」であって僕には証明できなかったのですが・・・どなたか、この問題に回答を出せる方はいますか?
ちなみに当方、受験数学はそれなりに優秀でしたが、大学からは授業をサボりまくった上、生物を専攻しているため数学力は高校止まりです。
2000年03月29日:12時26分48秒
n d kの分布 / Mad-P
gooで検索してここを見つけました。 基本的なことなのですが、 n d k (k面体ダイスをn個振った合計) は、nが大きくなると正規分布に近くなります。 n==8くらいで実用的には 正規分布になると思いますが、このときの
平均値と分散は簡単な式になるでしょうか。 とりあえず平均はn(k+1)/2とすぐわかったのですが。 ちなみにダイスが2面体(コイン)の場合は二項分布ですよね。
99年10月28日:20時07分20秒
自己フォロー>Re:誰かお知恵を・・・ シ / 広田
 広田です。
 HUBさんにもアルゴリズムに関する説明についてソースと一緒にメイルで 送ったのですが、他にも知りたいひとがいるかも知れないのでこちらにも投 稿しておきます。
 
 −−−−
 
 いきなりソースを読めというのも乱暴なので、基本的なアイデアについて説 明します。
 
 まず、複数のダイスの目をどのように表現するかですが、出た目の個数を数 えることにします。1の目の出た数をn1。2の目の出た数をn2というよ うにしてn1〜n6までの数で全体の出目を表現します。
 
 例えば、ダイス5個(N=5)を振ってその出目が
   1,2,2,5,6
 の場合、(1,2,0,0,1,1)と表現します。
 
 これがk=7になるかどうかの判定は簡単で、n1とn6、n2とn5, あるいはn3とn4が同時に1以上であるかどうかをチェックすればよいわ けです。k=8ならばn4が2以上かどうかをチェックします。
 
 問題は上記のように表現した場合、組合せはいくつあるのかですが、 n1〜n6の和をNとしたとき階乗をつかって
 
 N!/(n1!n2!…n6!)
 
 で計算できます。
 あとは適当なループをくんで、k=7になる場合の組合せの数を足し上げて いけば、全体の場合の数が得られます。
 
 実際に私が組んだプログラムでは、実行速度と簡潔さのためにちょっとトリッ クをつかっていますが、汎用性を考えれば上記のようなものを素直に組んだ
方が良いかも知れません。
99年10月28日:09時26分14秒
ありがとうございます / HUB
 広田様、早速のご回答ありがとうございます。
 すぐにメイルいたしますので、まことに図々しいですが、お言葉に甘えさせていただきましてソースコードを頂いて参考にしたいと思います。
 自分でもいろいろと考えていきますので、またわかったことがあればこの掲示板に書きこんでいきたいと思います。
 今後ともよろしくお願いいたします。
99年10月27日:20時17分15秒
Re:誰かお知恵を・・・ / 広田
 はじめまして。広田といいます。
 私はBeastBindのルールは全然知らないのでダイスブーストとはどういう ものかわからないのですが、おもしろそうなんで計算してみました。
 「nD6(n≧2)を振ってそのうち2個のダイスを選んだときに合計 をk(2≦k≦12)とすることができる確率」 をとりあえずP(n,k) とします。
 で、この問題で厄介なのは、あるnに対してP(n,k)をk(2≦k≦ 12)について和をとっても合計が1にならないってことですよね。
 例えば、ダイス5個(n=5)を振ってその出目が
  1,2,2,5,6
 だとすると、k=7でも8でも11でもいいですからね。nD6の出目の 和とかみたいに簡単にはいかないです。
 それでまあいろいろ考えたんですけど、エレガントな方法が見つからなかっ たのでプログラムをCで組んで場合の数を数えてみました。
 
 すると、例えば、ダイス3個(n=3)の場合だと、
 k
  2 -count: (16/216)probabirity: 0.074074
  3 -count: (30/216)probabirity: 0.138889
  4 -count: (46/216)probabirity: 0.212963
  5 -count: (60/216)probabirity: 0.277778
  6 -count: (76/216)probabirity: 0.351852
  7 -count: (90/216)probabirity: 0.416667
  8 -count: (76/216)probabirity: 0.351852
 以下略
 
 ダイス5個(n=5)の場合だと、
 k
  2 -count: (1526/7776)probabirity: 0.196245
  3 -count: (2550/7776)probabirity: 0.327932
  4 -count: (3816/7776)probabirity: 0.490741
  5 -count: (4620/7776)probabirity: 0.594136
  6 -count: (5626/7776)probabirity: 0.723508
  7 -count: (6210/7776)probabirity: 0.798611
  8 -count: (5626/7776)probabirity: 0.723508
 
 以下略
 
 と出力されました。検算は簡単なものしかやってません。というか不可能。
 
 具体的なアルゴリズムについてはソースプログラムを読んでいただきたいのです が、この掲示版だとCのソースはアップしづらいのでアップロードはしません。
 e-mail:hirotam@yahoo.co.jpまでメイルを下さればソースファイルと計算結果 をお送り致します。(n=11までは計算できます。それ以上になると階乗 を使っている関係上32bitだとオーバーフローを起こします)
99年10月25日:20時10分05秒
誰かお知恵を・・・ / HUB
 はじめまして。HUBと申します。
 私は今、BeastBindのダイスブーストの効果を考えようと思い、確率計算をしようとしているのですが、どう考えればよいのか皆目見当がつきません。
 想定している事象は、
   「nD6(n≧2)を振ってそのうち2個のダイスを選んだときに合計をk(2≦k≦12)とすることができる確率」
 です。
 例えば、ダイス5個(n=5)を振ってその出目が
  1,2,2,5,6
 であった場合、2個のダイスを選んで合計を7とする(k=7)ことはできますが(1+6または2+5)、5とする(k=5)ことはどうやってもできません。
 k=2、k=12のときは1ゾロ・6ゾロですから簡単なのですが、3≦k≦11のときはとたんに難しくなり、私の手には負えません。
 どなたかお知恵を拝借できますでしょうか。
 
 ※合計するダイスはあくまで「2個」です。
 ※「2個以上」でも「2個以下」でもありません。
99年07月20日:15時35分33秒
シュレーディンガーの猫 / レイナス
 はじめまして
 シュレーディンガーの猫についてですが、
 ほっとけば毒になる物質を密室に放ち、そこに一匹の猫を入れます。
 そして、計算すれば、いつ猫が死ぬかは分かりますが、その前の状態ではそれを人間が確かめるまでは極めて不確定な状態にあり、どちらであるとも言えない状態にあります。
 その状態において、人間が観測を行えばどちらかはっきりしますよね?つまり、不確定は人間の目(観測)で1つの状態へと収束出来ると言う事を言った人がいて、シュレーディンガーはそれに異論を唱えた、と言う話だったと思います。間違ってたらすみません。
98年11月29日:00時08分02秒
re:シューレディンガーの猫 (シュレーディンガーですか?) / ヌケサク
シュレーディンガーの猫のパラドックスがいいかな……ちょっと自信がありません。うーむ、どうしてちゃんとした説明をしているサイトがぜんぜんないんでしょう。GOOで検索したんですが、どうもはかばかしくありませんでした。
98年11月27日:17時48分02秒
re:シューレディンガーの猫 / TTB
>みおさんへ
 ちょっと、お尋ねの意図がくみかねるので、役に立つかどうかわかりませんが。
 量子論と複雑系のパラダイムくらいから、ご覧になってはいかがですか。
98年11月27日:16時23分05秒
シューレディンガーの猫 / みお
量子力学の話しらしいのですが、どなたか、簡単に教えて下さいませんでしょうか。 シューレディンガー・ホエールの元ネタが知りたいという、しょうもない理由なんですけどね。

(sf:重複削除しました)


98年10月19日:18時58分12秒
数学 / ken
はじめまして。
数学といえばルールになってしまう様ですが、
お話に生かせる数学ってのは無いのでしょうか。
悪魔に曲解されないための論理学とか。
でも、ルイス・キャロルになってしまうか。

98年09月11日:16時26分03秒
プログラムの事 / KZ
> 質問:
> 『確率』は、100倍すると%表示になる。
> でOKですか?

オッケイです。
ただ、確率計算がちゃんと出来てるか不安なのです・・・
2D6は多分大丈夫だと思いますが

98年09月11日:13時49分01秒
有り難うございます。 / ソード
有り難うございます。KZさん。
使ってみました。
なんとなくですが、分かったような気がします。

質問:
『確率』は、100倍すると%表示になる。
でOKですか?
98年09月10日:21時15分15秒
確率計算 / KZ
始めまして、ソードさん。

ソードワールド雑談所の方は見ていませんが、

『N個のM面体ダイスを振り合い、Lの差を成功させる』確率
を計算するプログラムを考えてみました。
よかったら、参考にしてみてください。

確率計算
Javascriptでかいたので行けばたいていのブラウザなら 使えると思います。

98年09月09日:13時18分27秒
始めまして&お願い / ソード
始めまして、ソードと申します。
実は、現在、「ソードワールド雑談所」の方で、
軽戦士と重戦士の戦闘能力の差を予想する事を
しているのです。

そこで、皆様にぶしつけで申し訳無いのですが、

『N個のM面体ダイスを振り合い、Lの差を成功させる』確率を教えてください。

例)ソードワールドで、能力同じ、武装同じの
2LVと4LVファイターのそれぞれの攻撃成功率など

この場合、『2個の6面体ダイスを振り合い、2の差を成功させる』
となります。

どうか、よろしくお願いします。
98年01月19日:17時42分15秒
re:もっと緊張感のでる振り方 / 安藤さん
ども。こんにちは。佐々木さん。
この振り方はもう既にあるんですね(涙)
しかし、なかなか振り方としてはよさそうですし、実績もあるみたいなので、いっそ「蒸気システム」とか名付けてまるまる使っちゃおうかしらん<だめだって。
98年01月16日:18時59分05秒
re:もっと緊張感のでる振り方 / 佐々木康成
佐々木です
 一度にD6のサイコロの数をポイントの範囲で自由に足して 振っても良いというルールは、既に自作のTRPGで使用してます。 1のゾロ目が出たらポイントを全て失うというファンブルの しかたです。
  >r = 2 程度が一番スリルがあっていいですね。
 というのも同じ判断で、選択しております。
 
 ミソは、「同時にいくつで振るかをプレイヤーが判断する点ですね。 これは安藤さんのおっしゃる通りです。
 なお、6年間以上使ってますが、その緊張感&エキサイティングな プレイに変化はありません。
 参考としては、『蒸気!』に どうぞ。システムも公開してます。
98年01月16日:14時57分42秒
もっと緊張感のでる振り方 / 安藤さん
以下、長文ですみません。

思い付いたんですけど、

『最初は 2d6 。 以降何度でも 1d6 が自由に振り足せる(自己申告クリティカル)が、 1 の目が r 個出たらその時点でファンブル(合計値ほど酷い結果に)』
なんてのはどうでしょうか。分かり易いですよね。

# もし、同じシステムがどこかにあったらごめんなさい。m(_._)m
振り足しすればどんどんファンブル率が上昇し、 より『自業自得』感がでる気がするのですが。

『ちょっと出目を付け足そう』ってときにも対応できるかと。

えーっと。1 回の試行の期待値を Ea、 n 個ダイスの出目の期待値を En とすれば、En = n*Ea、 1 の目が出る確率を p、 n 個のダイスで 1 の出目が r 個出る確率(ファンブルする確率)を Pa(n,r) 、
n 個のダイスで 1 の出目が r 個以上出る確率(ファンブルする確率)を P(n,r) とすれば、
Pa(n,r) = nCr*p^r*(1-p)^(n-r)  (高校の本から持って来た)
Pa(n,r) = n!/((n-r)!*r!)*p^r*(1-p)^(n-r)
P(n,r) = Σn!/((n-i)!*i!)*p^i*(1-p)^(n-i)
P(n,r) = Σn!/((n-i)!*i!)*p^i*(1-p)^(n-i)

    (for i = r , r+1 , ... , n)
これからまだ展開できそうな気がするのですが、 面倒なので計算機の力を借りると、
n= 2:En= 7.0:p1=0.3056:p2=0.0278:p3=0.0000:p4=0.0000:
n= 3:En=10.5:p1=0.4213:p2=0.0741:p3=0.0046:p4=0.0000:
n= 4:En=14.0:p1=0.5177:p2=0.1319:p3=0.0162:p4=0.0008:
n= 5:En=17.5:p1=0.5981:p2=0.1962:p3=0.0355:p4=0.0033:
n= 6:En=21.0:p1=0.6651:p2=0.2632:p3=0.0623:p4=0.0087:
n= 7:En=24.5:p1=0.7209:p2=0.3302:p3=0.0958:p4=0.0176:
n= 8:En=28.0:p1=0.7674:p2=0.3953:p3=0.1348:p4=0.0307:
n= 9:En=31.5:p1=0.8062:p2=0.4573:p3=0.1783:p4=0.0480:
n=10:En=35.0:p1=0.8385:p2=0.5155:p3=0.2248:p4=0.0697:
r = 2 程度が一番スリルがあっていいですね。
さらに付け加えるなら、スキルレベルを設定してそれを超えると r が -1 or -2 されるとか……
ファンブルを考えないときの総合の期待値 Er は、
Er = Ea*(1 回目の試行で中断しない確率 = 1.0)
+ Ea*(2 回目の試行で中断しない確率 = 1.0)
+ Ea*(3 回目の試行で中断しない確率 = 1 - Pa(3,r))
+ ... + Ea*(n 回目の試行で中断しない確率 = 1 - Pa(n,r))
だから、
Er = Ea*2 + Ea*Σ1-Pa(n,r)

    (for n = 3 , 4 , ... , ∞)
だと思うけど……(たぶん)。やっぱり面倒なのでここから計算機の力を借りると、 E1=10.1、E2=17.9、E3=28.0、……
まぁ、こんなものですかねぇ。
98年01月16日:14時48分44秒
RE:こんなダイスの振り方 / 安藤さん
どうも混沌太郎さん。詳しい解説ありがとうございます。
やっぱり私が予想したのは違うんですね。

もともとこの振り方は、 非戦闘系の人とか、物語がメインのシナリオのときに、 戦闘に大きく時間を裂くと面白くない、面白くなかったので、 ダイスの振り方を工夫して簡単で一撃必殺で倒せて、 時間を短縮させながら、かつ緊張感を出す(戦闘好きな人も満足させる)、 という欲張りなことを考えて作りました。
その緊張感を出すためにクリティカル宣言(nを下げると宣言する)を用意して、 戦闘などでは互いにダイスを振りあって(nを下げあって) 相手のダイス目爆発させて破滅に誘うようなプレイ、 戦略ができれば最高かな、 戦闘好きな人も(ダイスがいっぱい振れて)満足せれれるかな、 とも考えました。
戦闘が長引く原因となるヒットポイント制は使ってません。
そのかわり、出目の総計だけ自分のマジックポイントが減るというのを ペナルティーにしていて、勝っても敗けても出目が大きいと相当の代償を
払わないといけないくさせています。


> こうして見ると、パワープレイ程には無理したときにファンブルが 足を引っ張ることはなさそうですね。
う……。パワープレイはちょっとやったことないので分からないのですけど、 どんなものでしょうか。

>このロールでそれを行なう場合、 目標値(これは効果的成功の目標値、といったものでもよいのですが)が 13以上にないと活きてきません。

> ただ気になるのは、何回も振った末に2を出してファンブルでは、 徒労感で嫌になってしまうのではないか、ということです。
だからこれは望むところであったりします。 もっと正確には『nを下げたせいで何回も振らされた末に』です。

『出目が大きければ大きいほどファンブルは酷いものになる』 とした方がよりスリリングでいいかもしれません。
が、しかし、

> つまり、どうせだめだろうけどやってみる場合や、何回も再挑戦の機会がある 場合には足しになるけれども、確実に成功したいという場合には何の足しにもな らないわけです。まあ、その目的にはまた別途に修正値を上乗せできるシステム を追加するという手はあります。
この場合には無力ですよね。
両方を満たすようなうまいシステムがあれば完璧なんですけどね。
しかし『別途に上乗せ』となるとルールがかなり複雑になるし、 能力値、レベル調整として既に修正値の方は使っているので、 いっそ、新しいシステムを導入した方がいいかもしれません。
でも単純に『最初の出目nを倍にする』だと、 計算が繁雑になりそうですし……
98年01月15日:00時18分04秒
RE:こんなダイスの振り方 / 混沌太郎
 どうも。先日醜態をさらした混沌太郎です。めげずに安藤さん殿へのレスを返します。
 要するに、振り足しの範囲を自由に設定できる2d6ですね。
 とりあえず、ファンブルを“2”として扱うのはやめましょう。とはいえ−∞では期待値が計算できないので、ここでは0として扱うことにします。
 2d6で、n以上が出たら振り足し、という条件とします。振り足し無しで普通に振った出目がn以上の確率をPa、その出目の期待値をEaとします。n未満3以上が出る確率をPb、その出目の期待値をEbとします。
 で、期待値を出す前にまずはファンブルの起こる確率(Pfとします)の計算をしてみましょう。振り足しの確率の上昇にともない増大するので、気になるところです。
 Pf=1/36+Pa/36+Pa^2/36+Pa^3/36+・・・
  =1/36+(1/36)(1/(1/Pa-1))
  =1/(36(1-Pa))
 これを含めて表にしてみます。
 n  Pa  Ea    Pb   Eb  Pf 
  ( /36)       ( /36)
 12   1   12/  1   34 238/34 0.0285714
 11   3   34/  3   32 216/32 0.0303030
 10   6   64/  6   29 186/29 0.0333333
   9 10 100/10   25 150/25 0.0384615
   8 15 140/15   20 110/20 0.0476190
   7 21 182/21   14   68/14 0.0666666
   6 26 212/26     9   38/  9 0.1
   5 30 232/30     5   18/  5 0.1666666
   4 33 244/33     2     6/  2 0.3333333
   3 35 250/35     0   -----  1
 こうして見ると、パワープレイ程には無理したときにファンブルが足を引っ張ることはなさそうですね。
 さて肝心の期待値(Eとおきましょう〉ですが、次のように考えます。
 
 1回も振り足ししない確率はPbで、期待値はEb。1回だけ振り足す確率は、Pa*Pbで、期待値はEa+Eb。2回だけ振り足す確率は、Pa*Pa*Pbで、期待値はEa+Ea+Eb。以下同様にすると、
 E=[Pb*Eb]+[PaPb*(Ea+Eb)]+[Pa^2Pb*(2Ea+Eb)]+[Pa^3Pb*(3Ea+Eb)]+?
 Eaが増えるのが嫌なので引き算で消します。
 E-Pa*E= [Pb*Eb]+[PaPb*Ea]+[Pa^2Pb*Ea]+[Pa^3Pb*Ea]+
 E=[(Pb*Eb)+(Pb*Ea)*(Pa+Pa^2+Pa^3+?)]/(1-Pa)
   =[(Pb*Eb)+[(Pb*Ea)/(1/Pa-1)]]/(1-Pa)
   =Pb[Ea/(1-Pa)+PaEa/(1-Pa)^2]
 ついでに、ダイスを振る回数(何回振り足しするか+1)の期待値(E#とおきます)を求めてみましょう。正確には、自動的失敗が起きなかったときに何回振っているか、の回数とします。但し、自動的失敗のときも1回なので、Pbf=Pb+1/36を用います。(Pbf=1-Paになります)
 E#=Pbf+2PbfPa+3PbfPa^2+4PbfPa^3+
 E#-PaE#=PbfPa+2PbfPa^2+3PbfPa^3+
 E#=Pbf/(1-Pa)^2    =1/(1-Pa)
 表にするとこうなります。(こっちは四捨五入してます)
 n  E      E#
 12    7.13306    1.028571
 11    7.54454    1.090909
 10    8.26222    1.2
   9    9.46746    1.384615
   8  11.58730    1.714286
   7  15.85778    2.4
   6  22.88          3.6
   5  35.22222    6
   4  56.22222  12
   3    0             36
 因みに、「成功した場合の期待値」は、1-Pfで割れば出ます。
 
 一見かなり良さそうです。nを低くすると目に見えて有利になるのでそれなりの代償を払ってもらう必要はありそうですが、n=8くらいまではそれほど壊れている感じはしません。
 しかし、です。この期待値は、必要以上に高い目が出る可能性によってつり上げられていることを考慮すべきです。大体RPGの判定では、いくつ以上を出すと成功、未満なら失敗、というケースが多いと思われます。このロールでそれを行なう場合、目標値(これは効果的成功の目標値、といったものでもよいのですが)が13以上にないと活きてきません。
 例えば、目標値が10であるとしましょう。これはかなりきついので、nを下げることで何とかしたいと思った場合、少なくともnを9にまで下げなければ全く無意味です。目標値8なら7以下です。
 つまり、どうせだめだろうけどやってみる場合や、何回も再挑戦の機会がある場合には足しになるけれども、確実に成功したいという場合には何の足しにもならないわけです。まあ、その目的にはまた別途に修正値を上乗せできるシステムを追加するという手はあります。
 このロールによく適合した戦闘ルールとしては、やはりヒットポイントを多めにして、出目が低くてもダメージが少しは入るし、高い出目が出ればそれに応じて高いダメージが与えられるシステムが考えられます。そうすれば「必要以上に高い出目」、ということはなくなり、しかも膠着状態も避けられます。
 ただ気になるのは、何回も振った末に2を出してファンブルでは、徒労感で嫌になってしまうのではないか、ということです。どうせ期待値とファンブル確率はつり合いがとれてないのだから、振り足し後は2でもOKにして、ほかでつり合いをとってはいかがでしょうか。
 
 ところで、皆さんの画面上ではちゃんと表示されてますか(特に表)? やや不安があるのですが
 長文になってしまい、誠にご迷惑をおかけしました。

(sf:文字化け部分をできるだけ修正したつもりです)


98年01月07日:18時40分53秒
1 - (1-r/t)^n / 安藤さん
ども、こんにちは。


【 100% − 2回とも失敗する確率 】

思いっきりあってると思います。
だから、『1Dt で n 回の試行の内、 r 以上が1回でも出れば成功』は、
1 - (1 - r / t)^n
でしょう。

1D100 でよく蒼森でお世話になってます。
でも、確率的にどんなに成功しやすくても、 出ないときは出ないんものなんですよねぇ(涙)。
98年01月07日:16時23分07秒
1/3 + 1/3 = 2/3 ? / YAN
初歩的な質問だとは思うのですが…
 
 1/3の確率で起りうる現象…例えば 「1D6で5以上が出れば成功」 という判定において、
 2回判定して、そのうち1回でも成功する確率は、
 
 1/3 + 1/3 = 2/3  …ではなくて、
 
 1/3 + ( 2/3 * 1/3 ) = 5/9
 
 【 1回目で成功する確率 + 1回目は失敗したが2回目で成功する確率 】 または
 
 1 − ( 2/3 * 2/3 ) = 5/9
 
 【 100% − 2回とも失敗する確率 】
 
 で、いいんですよね?
 
 「複数のダイスを振る時、前に振ったダイスの目は、次に振るダイスの目に影響を与えない」
 
 という話は良く聞きますが、それは上の例で言えば
 「1回目が失敗であっても、2回目にダイスを振って成功する確率(1/3)が増えるわけではない」
 ということで、2回連続で振る事を前提にして、確率計算する場合には考えなくても良いんですよね…?
98年01月07日:12時29分29秒
間違えた... / 混沌太郎
 重ね重ねすみません。やはりあってます。
 
 その、はじめに考えたのは、2つの六面ダイスの差を出すものでして、最初見間違えて正解と思い、つぎにそれに気がついて07日00時53分26秒にあんなことを書きましたが、よく考えてみたら同じことでした。
 大変失礼いたしました。
 
 やれやれ...
98年01月07日:00時53分26秒
間違えた! / 混沌太郎
 d-muraさん、すみません。不正解です。時間がないところで早とちりしてしまった。
 もうばればれかな?でもまあ一応正解は伏せておきます。だいぶヒントが出ましたね。
 
 ああ、なんてそそっかしいんだろう...
98年01月06日:21時40分35秒
六面ダイスふたつで十二面体の代用とする方法 / sf
 日経サイエンス1998年2月号の146ページ、数学レクリエーションは、さいころの話でした。そこで六面ダイスふたつで十二面体の代用とする方法について書かれていたので紹介します。 二つのさいころを用意して、片方は普通に考え、もう片方は、奇数がでたら0、偶数がでたら6と考え、加算するだけです。考えてみれば簡単な話で、片方のさいころで(コインでもいいけど)1から6の6つと7から12の6つとに場合わけして、つぎに普通にさいころを振って6つのうちどれかを選んでいるわけですね。
98年01月06日:11時47分25秒
正解 / 混沌太郎
 d-muraさんの答案は正解です。お見事。
 ちなみに、ゾロ目のときはそのダイスの1個分に振り足しですので、おまちがえなきよう。
 
 どなたか検算してみませんか?(笑)
97年12月27日:18時11分08秒
こんなダイスの振り方 / 安藤さん
クイズでもりあがってるところ失礼します。

現在私はオリジナルな RPG システムを作ってまして、 そこで以下のようなダイスの振り方をさせてるのですが、 同じような振り方をしているシステムってどこかにありますでしょうか?
どこかで既に使われているようだと嫌なので。
使ってなかったら安藤システムとか名付けちゃおう(笑)。
  1. 2D + 修正値 による上方無限ルール。
  2. n ( 2 < n ≦ 12 ) 以上でクリティカルによる振り足し。通常は 12 。 PC は n を自由に下げる事が出来るが一度下げると その判定が終るまで再び上げてはならない。
  3. 出目『2』が出た時点でファンブル。行為は『派手に』失敗する。( −∞ )
で、この振り方の期待値は、ファンブルを考慮しない場合、
Sn = a + r*(a + r*(a + r*(a + r*(a + ... ))))
Sn = 7 / ( 1 - r)
で合ってるのでしょうか?

(r は n 以上の出目が出る確率( 0 < r ≦ 1 )、 a は一回の出目の期待値 = 7)
なんとなく a を 7 と決めつけているあたりが違う気がするのですが……
97年12月27日:10時23分27秒
Re: クイズ:一体どんな振り方でしょう / d-mura
なんか、『フォーリナー』を彷彿とさせる分布だなぁ。
#確率分布として面白いことは認めるけど…

答案。
『d6を2個振って低い方の目を採用。
ゾロ目振り足し。』
#検算してません(笑)
97年12月27日:09時05分45秒
いやいや / タイガ
>低いほど出やすいと言う事は割り算か引き算しなくちゃいかんのだが、
>(分布が中太りでないということはこういう事でしょう?)
(後略)
 
 複数のダイスを振って小さい方を選択。
 と、言う可能性もありますよ。
 それと、6と7の順番が正しいとしたら、多分振り足しがあるからでしょう。
 
 ……まだ、どんなやるのか分かりませんが。
 (D6を使うんではないかと推測していますが……)
97年12月27日:08時30分39秒
6と7、順番正しい? / クワバラ
6と7、順番正しい?

あと、これって何の役に立つの?

ゲームにおいて、例えば2d6なら平均値は7であるってのを数式にしたところで、知らない人間もいないと思うし、考えて分からない人間もいないだろう。


平均値かける個数が期待値。これで十分でしょう?

せいぜい、一個しか振らないときは、期待値も平均もアテにならないよ。と言えばいいんじゃないの?
逆に、式をみたら混乱するのが関の山でしょう。

ちなみに、答えは全然分からん。

低いほど出やすいと言う事は割り算か引き算しなくちゃいかんのだが、
(分布が中太りでないということはこういう事でしょう?)
最低値を1とすると言われない限り、大きな引き算は出来ない。
振った個数マイナス1より引けない訳だ。
でないとマイナスになるからな。

割り算と引き算の複合だろうか・・・
う〜ん、全然わからん。
どこからがオープンエンドなのかも分からん。13からだと思うけどさ。

97年12月27日:00時55分40秒
クイズ:一体どんな振り方でしょう / 混沌太郎
 問題。
 次のような確率分布を与えるダイスロールはどのようなものでしょうか。
 確率の値は四捨五入してあります。振り足しを含むので無限大まで有り得ますが、1〜12までの確率を示します。
 
 値 その値を得る確率  値 その値を得る確率
  1  27.7778%     7   2.5609%
  2  22.9938%     8   1.8605%
  3  18.0770%     9   1.2734%
  4  13.0236%     10   0.8067%
  5   7.8298%     11   0.4673%
  6   2.4917%     12   0.2628%
 
 ちなみに、チャートを参照したり、複雑な計算を要求したりするようなことはありません。市販のダイスで十分可能です。
 
 正解者が出なければ、多分1〜2か月後位に正解を発表します。
 残念ながら賞品はありません。
 つまらん事に掲示板を使うな、って怒られそうですけど、でもこの確率分布って結構使えそうな気がしませんか?
 
 P.S. 分散の計算の例
 2D6の分散は、2*(6*6−1)/12=70/12=5.83
 となります。
97年12月26日:19時59分18秒
訂正 / 混沌太郎
失礼。mとnが逆でした。
97年12月26日:19時54分36秒
m面ダイスをn個降った場合の分散 / 混沌太郎
 m面ダイスをn個降った場合の分散は、
 
 m*(n^2−1)/12
 
 になります。
97年12月12日:17時25分52秒
下の記述に誤りがあります / テン・スッテン
誤:m×(1+n)/2
  例:10面ダイスを3個振った場合
  3×(1+10)/2=16.5
正:n×(1+m)/2
  例:10面ダイスを3個振った場合
  3×(1+10)/2=16.5
97年12月12日:17時23分07秒
m面ダイスをn個振ったときの出目合計の期待値 / テン・スッテン
m×(1+n)/2
例:10面ダイスを3個振った場合
3×(1+10)/2=16.5
97年10月14日:12時55分57秒
言わずもがな(半ば茶々) / d-mura
陽陰さん> 前提条件をおかなかった

いや、わざわざあの2条件を書いたのは、話題の発端だったTRPG-
FREETALKに(ちょっとだけ)絡めようとしたからです。

#あの2条件が成り立たないセッション…
97年10月14日:11時55分45秒
Re: RE:Re:囚人のジレンマ(繰り返し版)/TFT戦略とその限界 / d-mura
付け焼き刃が剥がれた d-mura です。

陽陰さん> >ただ、『<必ず>協力する集団』が進化的に安定とは限らない
陽陰さん> >
陽陰さん> おっしゃるとおり、進化的に安定というのは、囚人のジレンマとは完全に別問題で
陽陰さん> す。

いや、私が言おうとしたのはちょっと違っていて、TFT戦略はESS
になり得ないということなんです。
もちろん、ESSが最善かと言えばそうでもないことは、

陽陰さん> 要はみんなで破滅に向かう可能性があるということです。

ご指摘のとおりです。

ESSの観点から見たときの、TFF他「礼儀正しい」戦略の弱点は、
他の「礼儀正しい」戦略を排除できないことですよね。

「意地悪」戦略を根こそぎにしてしまった後、「絶対協調」戦略等
の侵入を撃退する手段が無い。
#なんか、寄生虫がいないと免疫が退化していくみたいだ
だから、わずかな「意地悪」戦略と「礼儀正しい」戦略
(おそらく、「意地悪」戦略の作用を吸収するためTFT
以上に寛容でなきゃなるまい)との混合戦略が、ESSだろ
う。

というところで、私の知識は止まってます(笑)。

sfさん> 情報伝達の不確実性が入った場合には、壊滅的に成績が悪くなるそうです。

勉強不足でした。TFTT戦略でも吸収できませんかね?

sfさん> このあたりのことは

早速見に行きます。
97年10月14日:00時38分36秒
TFT戦略とその限界 / sf
 うーん、たぶんあまりに有名になりすぎて伝説化されているTFT戦略に話を持っていきたいんだと思いますが……。協調型が絶対に有利というわけでも無いんですよね、実は。
 TFT戦略、俗にしっぺ返しとか言われるもの(この辺の人間ならサイバーナイトで四行原則として出てきたのを知っているかも知れませんね)。これは、実は相手の行動を繰り返すだけなんですが、協調には協調で応じ、裏切りには裏切りで応じるというものです。
 これは簡単明快なのに協調型の戦略を取るメンバーがそれなりに存在する場合には有利であることが多い(最善ではないんです、実は)戦略です。ただし裏切り型が圧倒的多数だと、じり貧になります。また、実際の事象にありがちな情報伝達の不確実性が入った場合には、壊滅的に成績が悪くなるそうです。
 ……このあたりのことは(不達につきURL削除)集団におけるゲーム理論や筑波大学自由科目 知的ソフトウェアコンテスト 囚人のディレンマゲーム コンテスト(IPD)部門ゲームプログラミングと人工生命に詳しくかかれていますね。
#わたしはbitや学会誌で読んだ記憶があります。
97年10月14日:00時24分49秒
RE:Re:囚人のジレンマ(繰り返し版) / 陽陰
 どうも、d−muraさん。
 私のつたない文のフォローありがとうございます。
 
 >ただ、『<必ず>協力する集団』が進化的に安定とは限らない
 
 仰るとおり、進化的に安定というのは、囚人のジレンマとは完全に別問題です。
 全体主義を例に取るまでもなく、協力したからといって、進む方向が<正しい>とは限りません。
 要はみんなで破滅に向かう可能性があるということです。
 
 ま、ただ、進化の淘汰の中で、残りやすいことは確かなようですが、カタストロフも同時に来るでしょうね。(人間のように)
 
 多数は常に正しいなどという幻想は、ファシズムに染まっている人がよく持っていますね。
 
 ま、数学の問題で、前提条件をおかなかった私が全面的に悪いのですが、モデル(というより、話)を単純にするため、あえて書きませんでした。(悪い癖ですね)
97年10月13日:22時14分30秒
Re:囚人のジレンマ(繰り返し版) / d-mura
> 自分の損害を最小限に押さえ、利益を最大限に得るため

という純粋に利己的な動機からでも、

> <必ず>協力するという集団

いわば互恵主義が誕生し、栄えていく。
いったん互恵主義者達の集団が(どんなに少数でも)確立されてし
まえば、それ以外の集団は彼らに太刀打ちできない。
これが「囚人のジレンマ(繰り返し版)」の、最も単純化した結論
です。>一般向け

#もちろん大前提として、
#『裏切りあうよりは協調しあう方が、双方にとって有利』
#中前提として、
#『ゲームの終りが何時やって来るのか、双方とも判らない』
#という条件はあります。

ただ、『<必ず>協力する集団』が進化的に安定とは限らないです。
陽陰さんはおそらく判って言ってらっしゃるのだと思いますが。
97年10月13日:16時25分57秒
マルチ・囚人のジレンマ(繰り返し版) / d-mura
さらに、『参加プレイヤーが多人数で、色々な相手とゲームする
=1対1の「囚人のジレンマ」を、対戦相手を変えつつ何度も行う
(時には以前戦った相手と再戦することもありうる)』、
という条件も入れて考慮して見てください>考えてみようという方々

ブッチャケて言ってしまうと、

1.協調こそ最善の生存戦略である(事が多い(笑))。
2.でも、裏切りに報復しないようなお人好しでは話にならない。
3.しかし、古い恨みをいつまでも根に持っては自分の首を絞める。
4.以上の事(=こっちの出方は君の出方によって変わる)を、
  相手に明瞭に示すことが肝心。
97年10月12日:02時59分34秒
Re:囚人のジレンマ(繰り返し版) / 陽陰
初めまして、d−muraさん。
 ご推察の通りです。
 もし、<必ず>裏切る人Bが居るのならば、 そのほかの集団は、その人を、<必ず>裏切るでしょう。
 これは、自分の損害を最小限に押さえ、利益を最大限に得るためで、その人が嫌いとか好きとかの感情とは無縁の物です。
 つまり、一度目のゲームに於いてBは、最大利益を得るかもしれませんが、それ以外のゲームでは<必ず>最下位になるでしょう。
 <必ず>というのは、極端な例ですが、もしそれが、<殆ど>裏切るだった場合は最悪になります。(判りますよね)
 つまり、もっとも望ましいのは、<必ず>協力する、という集団で、それぞれが最大限の利益を継続的に受けることになり、最初に、最上位となったBを、抜くことになるのです。
 ##関係ないですが、「メタマジックゲーム」は面白いですよね。ちょっと高いですが。
97年10月11日:20時32分05秒
囚人のジレンマ(繰り返し版) / d-mura
「囚人のジレンマ」において、双方の利得行列はそのまま
(協調すれば双方の利益の合計は最大になるが、裏切った方が自分 一人の利益は大きくなる)で、しかし同じプレイヤー同士が再度
(あるいは何度も)同じゲームを繰返す場合、いかなる戦略が望まし いでしょうね? TRPG-FREETALKでの陽陰さんの発言は、こちらの方を念頭に置いて いると思う。
#「協調の発生」アクセルロッド著
##書名はうろ覚えです。「利己的遺伝子」や「メタマジックゲーム」
##でも1章以上を割いて言及されてたと思う。
97年10月07日:02時45分40秒
返事:ゲーム理論関連URL / KZ
参考になりました。

フリートークとかでゲーム理論とか出てきても知識のない僕にはその理論の根幹が分かりませんでしたので読んでいく事すら辛かったです。

自分で調べろっていう話もありますが示してもらえたりすると嬉しいモノです。

僕としては「共有地での悲劇問題について」のページが 参考になりました。

自分でも探しましたがたいしてページはありませんでした。やはり参考文献に従って本を読むか海外のモノを読むしかないですね。

こんな感じで、難しい単語を載せるときは参考リンクや参考文献を示してもらえると嬉しいです。


(やはり自分で調べろって感じですね)
KZ


97年10月06日:09時41分16秒
ゲーム理論関連URL / sf
 日本語で読める関係っぽいのを幾つか集めてみました。
 うーむ、(不達につきURL削除)Global Simulation Gaming - Think Globally Act Locally -なんかも、TRPGの目で見ると意味深かも。(;^^)
97年10月06日:06時51分34秒
TRPGのためのゲーム理論 / sf
 ……フリートークよりもこっちのほうが適任かな。せっかくあるんですし、ゲーム理論は応用数学のサブジャンルでもあるわけですし。
 ゲーム理論自体は専門でないんで通俗書をかじった程度ですが、なかなか奥の深い問題ですね。
 おそらく利得の数値化はしないでも比較は出来ます(典型的にはルールベースの定性判断とか、一対比較行列を使用したりすればいいはずファジィ論理を加えたりニューラルネットでも別にいいかも)から、交渉ゲームの分析にゲーム理論でのどのタイプに相当するかを考察することは興味深いものだと思います。
 ただ、TRPGはいろいろなやりかたがありますが、不完全情報で伝達も不完全とみなすと、解析困難なしろものかもしれない……。(;^^) あるていど限定した状況での考察しかできないでしょうね。
97年01月21日:12時38分46秒
振り足しの期待値の計算プログラムについて / 彬兄
レスありがとうございました。
いろいろやってみたんですが、期待値の計算をプログラムする事ができそうです。
2Dの時の期待値を出して、3Dの結果をしらみつぶしに調べて振り足しが出たら2Dの期待値を足して…

ちなみに、実際にBASICで100万回振ってみたところ、大体の値を得ることはできました。
プログラムの組みかたが悪いのか処理が遅く、ペンタ75でもかなり時間がかかりましたけど。
我が愛機v7は、今ごろ10Dの振り足しを300万回ほど計算しているはずです。

97年01月11日:04時03分33秒
振り足しの期待値 / sf
 個数ごとにやれば……って、良く考えると振り足しのときの個数は変動しているんだった。(;^^) 一個の場合から場合を積み上げていくしかないのか。確かにめんどくさい……。
 しかもさいころの個数が増えてくると組み合わせ爆発があるし。
 こういったのはランダムサンプリングで推定するという彬兄さんの戦略が実は一番妥当なのかな……。
97年01月11日:00時50分57秒
振り足しの期待値 / malraux
ううーん、1個の期待値をαと置いて方程式を立てるのは振り足しがある場合の常套手段だけど、 この場合は全体の期待値が個数に比例しない(ゾロ目の出る確率が上がる)ので、多分その手は使えないと思う。
考えられる手としては、サイコロn個の時の期待値をPnと置いて、PnとPn+1の漸化式を導いて、 さらに1個のときと2個のときの期待値を初期条件として入れてやって、とかいうやつ。
でも面倒なので自分ではやりたくない。
97年01月10日:18時54分28秒
re:振り足しはしんどい / 漆黒の破壊者
 確かに、私は確立の方の数学II(b)だったけ捨てて卒業した口なんで...
 でも、振り足しは途中である程度で切らないと計算するの(と言うか考えを
 まとめるの)が面倒でしょ。それにシステムにも依るけど成功度を出さない
 システムでは、あまり意味無いんではないですか?
 成功or失敗だけならねぇ。
 むかしなら、Basicでプログラム書いてある程度の回数廻しての傾向は見れた
 んですけどねぇ。
 職業ほとんどプログラマー化してても、プログラムが書けない男(笑)
97年01月10日:14時47分06秒
振り足しはしんどい / sf
 振り足しがあったり振りなおしがあったりすると、急に期待値計算がめんどくさくなりますよね。ダイス数が固定でなくなったりしたらもう、大変。
 一ゾロの後のゾロ目の扱いが分からないのですが、とりあえず計算しやすいように一ゾロの後のゾロ目はさらに減らすように振りなおし、一ゾロのあとの一ゾロは振り足しになるようにしています。
 一ゾロ、その他のゾロ目、そろわない目の三種の出目のグループがあり、場合は全部で6通り(一ゾロだけ、一ゾロとゾロ目、一ゾロとゾロ目とそろわない目、一ゾロとそろわない目、ゾロ目とそろわない目、そろわない目だけ)ある、と。それぞれについて生起確率と期待値の計算式を求めて、全体の期待値を出せばいいのかな。
 全体の期待値を6αと置くと、一ゾロは1×一ゾロの個数−一ゾロの個数×α、ゾロ目は各ゾロ目のパターンごとにゾロ目の出目×ゾロ目の個数+ゾロ目の個数×α、そろわない目は各出目のパターンごとにそろわない目の出目×そろわない目の個数、でいいのかな。あー、めんどくさい。これだと6の6乗のパターンすべてを出して足すのか。
 やはり振り足しがあると、プログラムを起こして収束するまでまわさないと駄目なのかな。語り部ではそうやったけど。(;^^)
97年01月10日:11時41分01秒
確率論 / 彬兄
なんか、統計学とかいろいろあるみたいですが、ゲームを自分でデザインするまで その重要性なんてあんまり気づいてませんでした。
最近になって自作ゲームを作りはじめたのですが、もう、わからないことだらけです。高校数学程度の確率統計でも、役には立つと思うのですが、何を、どう応用すればいいのやら…。
とりあえず、既製品のアレンジでロール方法を作ったのですが、自分の作ったルールなのに期待値が求まらない…。
結局、自分でダイスを100回以上振ってどんな値が出るかを表にするという原始的な方法でおおよその期待値を出したのですが、すごく面倒くさかったです。

ハイパーT&Tのようなゾロ目振り足しルールなのですが、1ゾロだった場合はその次に振った値を足さずにひく(この時のぞろ目は無視する)というルールなのですが、これを6D6でやるときの期待値ってどれくらいでしょう?
96年12月26日:06時54分35秒
TRPGのための数学知識の部屋 / sf
 確率論をはじめとして、TRPGに数学を役に立てるための話をしましょう。
 以前からの企画として「TRPGデザイナーのための確率論講座」が必要だと考えていて、少しは書いていたんですが……確率論はつっこんでやっていないんですよね、私も。良くポカやらかしたし。(;^^)
 主観確率やなんかをからめるとより楽しいかもしれない:けど、私は勉強してないのであった。 

TRPGのための数学知識の部屋ログ / TRPG.NETホームページ / Web管理者連絡先