Rで麻雀
- 13. 麻雀のルール 和了(あがり)の形 14枚 3枚 3枚 3枚 3枚 2枚 順子(シュンツ) 刻子(コウツ) 雀頭(アタマ) 種類が同じで、 数字が3つ連続するような 3枚の牌の組み合わせ 同じ牌を3枚 同じ牌を2枚
- 16. 麻雀のルール 一翻役 平和 断ヤオ九 一盃口 立直 門前清自摸 翻牌 海底摸月 河底撈魚 嶺上開花 搶槓 一発 ドラ 二翻役 三色同順 一気通貫 対々和 七対子 全帯ヤオ 混老頭 三暗刻 三色同刻 三槓子 小三元 ダブルリーチ 三翻役 純全帯ヤオ 混一色 二盃口 役満 九連宝燈 緑一色 四暗刻 四槓子 清老頭 国士無双 大三元 小四喜 大四喜 字一色 天和 地和 人和 キレイな手ほど 点数が高い。 六翻役 清一色
- 18. 「階乗」をRでやると・・・ 𝑛! > n <- 5 > prod(1:n)# 0! = 1 にならない [1] 120 > gamma(n+1) [1] 120 > factorial(1:5) # R 1.9 より登場 [1] 120
- 20. 「順列」をRでやると・・・ 𝑛𝑃𝑟=𝑛!𝑛−𝑟! > r <- 2 > factorial(n) / factorial(n-r) [1] 20 > perm <- function(n, r) + factorial(n) / factorial(n-r) > perm(n, r) [1] 20
- 22. 【問題】 袋の中に全部で m 個のボールが入っており、 そのうち、アタリが t 個、ハズレが m-t 個とする。 この中から無作為に 1 個のボールを取り出し、 袋には戻さないという操作を k 回行う時、 k 回目で初めて当たりを引く確率は?
- 23. 【答え】 k-1 回連続でハズレを引く確率は、 k 回目でアタリを引く確率は、 求める確率は、 𝑃1=(𝑚−𝑡)𝑃(𝑘−1) 𝑚𝑃(𝑘−1) 𝑃2=𝑡 (𝑚−(𝑘−1)) 𝑃𝑎𝑡𝑎𝑟𝑖(𝑚,𝑡,𝑘)=𝑃1∗𝑃2=𝑚−𝑡𝑃𝑘−1∗𝑡 𝑚𝑃𝑘
- 24. Rでやると・・・ 𝑃𝑎𝑡𝑎𝑟𝑖(𝑚,𝑡,𝑘)=𝑚−𝑡𝑃𝑘−1∗𝑡 𝑚𝑃𝑘 > Patari <- function(m, t, k) { + if ((m-t) < (k-1) || m < k) 0 # エラー処理 + else perm(m-t, k-1) * t / perm(m, k) # main + } 5個(アタリは 2 個)から、3 回目ではじめてアタリを引く確率 > Patari(5, 2, 3) [1] 0.2
- 39. こう考える。 3枚の有効牌を含む133枚の牌の中から i 回目ではじめて有効牌を引き、かつ 2枚の有効牌を含む133-i 枚の牌の中から j 回目ではじめて有効牌を引く。 求める確率は、1≦i<10, 1≦j≦10-iとなる すべての i, j についての確率の総和なので、 𝑃=𝑖=19𝑗=110−𝑖𝑃𝑎𝑡𝑎𝑟𝑖(133,3,𝑖)𝑃𝑎𝑡𝑎𝑟𝑖(133−𝑖,2,𝑗)
- 40. Rでやると・・・ 𝑃=𝑖=19𝑃𝑎𝑡𝑎𝑟𝑖(133,3,𝑖)𝑗=110−𝑖𝑃𝑎𝑡𝑎𝑟𝑖(133−𝑖,2,𝑗) > Pkotu <- function(zen, yuko, kaisu) { + sum(sapply(1:(kaisu-1), function(i) { + sum(sapply(1:(kaisu-i), function(j) { + Patari(zen, yuko, i) * Patari(zen-i, yuko-1, j) + })) + })) + } > Pkotu(133,3,10) [1] 0.01475323
- 41. 試行回数別に確率を見てみる > ( result <- sapply(2:133, + function(x) Pkotu(133,3,x)) ) [1] 0.0003417635 0.0010200727 0.0020297099 0.0033654574 0.0050220972 [6] 0.0069944118 0.0092771832 0.0118651939 0.0147532259 0.0179360615 [11] 0.0214084830 0.0251652727 0.0292012126 0.0335110851 0.0380896725 : [121] 0.9820639385 0.9852467741 0.9881348061 0.9907228168 0.9930055882 [126] 0.9949779028 0.9966345426 0.9979702901 0.9989799273 0.9996582365 [131] 1.0000000000 1.0000000000