*All archives* |  *Admin*

<<05  2011/12  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31  01>>
誤差の分割
誤差に関して数式で表してみます。

まず記号定義

・n…シミュレーションの回数
・S_i…i回目のシミュでの得点を表す確率変数。
・T…n回のシミュから出てきた平均得点
この定義より
122501.png
であり、
誤差を標準偏差(または分散)で表すものとすると、それはVar(T)で表せます。
122502.png
(2行目から3行目は各S_iが独立同分布より。)

以降S_iを単にSとおいてVar(S)について考えていきます。

記号定義続き
・A_1…1局がロン和了で終わる事象
・A_2…1局がツモ和了で終わる事象
・A_3…1局が放銃で終わる事象
・A_4…1局が被ツモで終わる事象
・A_5…1局が横移動で終わる事象
・A_6…1局が聴牌流局で終わる事象
・A_7…1局がノーテン流局で終わる事象
各A_iは排反事象です。

・K_1…1局がロン和了時の得点
・K_2…1局がツモ和了時の得点
・K_3…放銃時の得点
・K_4…被ツモ時の得点
・K_5…横移動時の得点
・K_6…聴牌流局時の得点
・K_7…ノーテン流局時の得点
Kについて、失点の場合は負の値をとります。

これらを使うと、
122401.png
(1_{A_i}は事象A_iが起こったとき1、そうでないとき0となる確率変数)

・p_i=Pr(A_i)…各事象が起こる確率(真値)

すると、
122504.png
(2行目から3行目は期待値を条件付き期待値に分割の公式?より、3行目から4行目はi≠jのとき1_{A_i}の部分が0になることから)

というわけで、
p_iとかE[K_j^2|A_j]とかE[S]とかがわかれば誤差が大体出ます。

このうち、p_iとE[S]についてはシミュで出てきたロン和了率等(p_i^~)、や得点期待値Tで代用します。
そのこころは、

・p_i(真値)とp_i^~(標本値)との誤差は10%以内ぐらいには収まってくれるであろうという希望的観測(十分なシミュレーション回数をとっていれば標本ロン和了率が20%なら18%~22%ぐらいに真値は入ってるであろう)
ということからこの部分で誤差の誤差が10%くらいの範囲に収まってくれるだろうということ(誤差の厳密な値はそれほど重要でなく、有効一桁くらいで求まってくれれば十分だろうという思想。)

・数値的にはE[S]^2よりE[K_j^2|A_j]たちの方が大きくなりやすいので、E[S]の部分の誤差は大したことない

というところです。

あとはE[K_j^2|A_j]のところですが、これはシチュエーションによって異なってきますが、
各事象に分割してる分、見積もるのは(データと集計用プログラムがあれば)比較的高精度かつ容易にできます。

具体的な計算は…

今日は飽きたのでまた次回ということで。(たぶん年末年始の休み中に。)
スポンサーサイト
一応生きてます。
気が付けば、半年以上ブログを更新していなかったと。

あまり余裕がなくて麻雀のこと考えてる時間がほとんどなかったとの残念さ。

こんな放置状態のブログになんとコメントが来ていたので、

今日はそれに答える形で更新をしておきましょう。

2010/5/22の記事にて

1つ目はこの記事の放銃率に関することなのですが、平均的な立直のランダム牌和了率は(巡目によりますが)約6%のようです。
しかし、この記事の「全押し」のデータでは、一巡あたりの放銃率が5%強とやや低めになっていて、6%より低くなっていますがどうしてでしょうか。


問題のこの表
121001.png

全押し放銃率をΣ(あるカテゴリの牌を切った時の放銃率×そのカテゴリの牌をツモる確率)

として計算しているので、「あるカテゴリの牌を切った時の放銃率」のところにそれなりに人の意思が入っちゃてるところがありそうです。
たとえば、同じ無筋19でも通ってない筋が多ければ押すけれども、少なければ引くといったことで、単純にその牌をツモ切りよりも放銃率が低く出やすいということだと思います。(この点質問者の方もご指摘されてました。)

これはきわめてまずいですね。もはやこのデータをどこで使ったのかも忘れてしまったので、ここに書いてる内容がかなり怪しいレベルになりそう。

ちゃんとランダム牌和了率を集計してみると次のようになりました。
ghgj.png


もう一つは

シミュレーションの誤差についてですが、麻雀局内数値シミュレーションでは400点程度の期待値差がないと「こうするべき」とは言えないようですが、これを一向聴の対立直スジまで押しなどにそのまま適用すると、和了率が10%を切ることもあり、この場合は必要打点に4000点以上もの誤差が生じてしまいます。
一向聴の対立直押し引きのシミュレーションで生じる誤差についても、nisiさんの考え方をお聞きしたいです。


これはたぶん誤解が入ってると思います。
期待値の誤差は期待値の計算に出てくる、和了率・和了時得点期待値・放銃率・放銃時失点期待値…etc
といったものの誤差が源泉になってるはず。
たとえば実際和了率とシミュでの和了率の誤差が1%で和了時得点期待値が6000点ならこの部分で誤差60点とかなっていて、そういったものの積み上げが400点とかになってるのでしょう。(各項目の相関とかもあるので、実際はもうちょっと複雑。数式でも示せるけど、今日は眠いからやらないです。)

400点は打点だけの問題じゃないです。放銃率とか放銃時失点とか誤差あってようわからんけれど、高確率でトータルの誤差は400点で収まる、だから400以上差があったら優劣がついてるといって問題ないです、ということなんでしょう。もちろんこの400という数字は考えてるケースとかシミュレーションの質によって変わってきます。

わけわからないことを言い始めてきた来た気がするので、もう今日はここで終わります。
誤差を数式で表すくらいは今度きがむいたらやろうかなあ。
プロフィール

Author:nisi5028
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
FC2カウンター
フリーエリア
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード