
9.3
三角法
■
107
部屋は、幅
30
フィート、長さ
50
フィートなので、スイートを作るコードは次のよう
になる。
alphas = range(0, 31)
betas = range(1, 51)
locations = range(0, 31)
suite = Paintball(alphas, betas, locations)
この事前確率は、部屋の中のすべての位置が同じ確率だと仮定している。部屋の地
図が与えられれば、もっと詳細な事前確率を選ぶことができるが、まず単純なところか
ら始める。
9.3
三角法
相手の位置が与えられたときに、壁に沿って的を撃つ正確さを処理するため、ここ
で尤度関数が必要になることを意味する。
単純なモデルとして、相手は旋回砲塔のようなもので、どの角度へも同じ確率で撃
つものと想定する。その場合に、相手は位置
alpha
の壁を撃つ確率が最も高く、
alpha
から遠く離れた壁を撃つ確率は低い。
三角法を使えば、壁に沿ったどの位置についても撃たれる確率を計算できる。例え
ば射撃手が角度
θ
で撃ち、弾が位置
x
の壁に当たったとすると、
x
−
α
=
β
tan
θ
となる。
この方程式を
θ
について解くと、次になる。
θ
=
tan
−1
(
x
−
α
)
β
そこで、壁の任意の位置について、
θ
を探すことができる。
最初の式を
θ
について微分すれば、次になる。
dx
=
β
dθ
cos
2
θ