種別[gsm] 2021-06-01T15:42:00Z
セクショングローバル共有メモ
日時2021-06-01T15:42:00Z
元URL(URLなし)

[仏教の最適化プログラムの続き。] 災害のモデル化。 ダメージの計算。…

jrf> [仏教の最適化プログラムの続き。]

災害のモデル化。

ダメージの計算。

人死にのダメージを d[0]、財産のダメージを d[1]、建物へのダメージを d[2] …として、d[0]...d[n-1] を計算したい。

すべての災害について共通の 0,...,n-1 のダメージの基準値を F[0]...F[n-1] とする。そして、ある災害において、人死にのほうが財産のダメージよりも目立つというとき、p[0] = 2, p[1] = 1 などと p[] という係数で表すとする。規模の概要値は Q で表す。

このとき d[i] = F[i] * Q * p[i] / sum(p) であれば良さそうだ。

ただ、ダメージに乱数要素が欲しい。そこで乱数 r[0]...r[n-1] を考える。r[i] は正規乱数でも良いかもしれないが、上限下限がないのは扱いにくいので、-1.0 から 1.0 の一様乱数としよう。

そこで q[i] = p[i] * (1 + 0.2 * r[i]) として d[i] = F[i] * Q * q[i] / sum(q) とすれば良さそうだ。

なお F[i] は数値でなく、関数的な作用素と考えても良さそうだから…

d[i] = F[i](Q * q[i] / sum(q)) という感じで良い。

そして、この d[i] 自体が、economy に対する作用素であると考えても良い。(作用素というと話が難しくなるが、要は、economy も取る関数で求める…という話である。)

……。

ダメージは「大きさ」という一軸ではなく、「深さ」と「広さ」という二軸など複数軸を持っている可能性がある。

このとき、d(j) がある二軸変化するダメージとして、d(j) を複数に分ける、すなわち、d[k] が「深い」が「狭い」もの、d[k+1] が「浅い」が「広い」ものとする。そして、d[k] d[k+1] が乱数的に変化すれば、d[k] + d[k+1] がもともとの「広さ」「深さ」の二軸が変化するダメージ d(j) に相当するものになってると考える。

…という感じにすればいいかと思う。