﻿rm(list = ls())  # ワークスペースをクリア
# 2人の子供の性別がどちらも男である確率(理論値)を求める関数
prob_twoboys <- function(pb, pg) {
  cond_prob <- 0.0
  prob_num <- pb * (2.0 - pb)
  prob_denom <- (pb + pg) * (4.0 - pb - pg)
  cond_prob <- (prob_num / prob_denom)
  return(cond_prob)
}
# 2人の子供の性別がどちらも男である確率(理論値)
prob_twoboys(0.05, 0)
prob_twoboys(0.05, 0.001)
prob_twoboys(0.3, 0)
prob_twoboys(0.3, 0.01)
# 3次元グラフを描画
v_prob_twoboys <- Vectorize(prob_twoboys)  # スカラー関数をベクトル化
pb <- seq(0, 1, length=51)  # 0から1までの等間隔の系列：長さ=51
pg <- seq(0, 1, length=51)  # 0から1までの等間隔の系列：長さ=51
prob_bb <- outer(pb, pg, v_prob_twoboys)
persp(pb, pg, prob_bb, expand=0.6, shade=0.2, phi=40, theta=30)