モデリングとはモデル化である
モデリングとはどういうものかを改めて認識してみます。
「モデル」と「モデル化」
そもそもモデルとは何か、ということに関して様々な説明がありうるが、例えば大学生向けのあるテキストでは「モデルとは、対象とするシステムを簡略化して、その本質を表したもの」「システムを理解するために用いられる」などと解説されている。
リンク: https://ja.wikipedia.org/wiki/数理モデル#モデルとは
対象の理解したい本質を表したものが「モデル」のようです。つまり「モデル化」とは、(現実世界の)対象の理解したい本質を抽出し表現する作業のことだと言えそうです。
ここで、対象の理解したい本質と言われているもののイメージを掴むために、一度システム開発から離れたモデル化を見てみます。
モデル化:グラフ(離散数学)
Alice, Bob, Carol は一緒に遊ぶことの多い 3人組です。
Bob と David は面識はありませんが、それぞれ Carol と友達です。
Elen は Alice, David とそれぞれ 2人きりで遊ぶ仲です。
この友達関係を図で表すと下になります。
これは、無向グラフとして表現されたものです。無向グラフは
-
: 頂点の集合V - 上の図の場合、
V=\{ Alice, Bob, Carol, David, Elen \}
- 上の図の場合、
-
: 辺の集合E - 上の図の場合、
E=\{ (Alice, Bob), (Alice, Carol), (Alice, Elen), (Bob, Carol), (Carol, David), (David, Elen) \}
- 上の図の場合、
これがモデル化です。友達関係に注目して、無向グラフ
モデル化:ゲーム
懲役1年で服役中の A と B は協力してある完全犯罪を成功させていたが、別々の部屋で尋問を受けている。
そこでは、それぞれ次のような提案を与えられる。
・相手が自白せずに君だけが自白をすれば、君を即釈放する
・もし逆のことが起これば相手は即釈放だが、君は懲役 10年となる
・互いに自白した場合、それぞれ懲役 5年となる
互いに自白しなければ確実にバレることはないのだが、どのような結果になるか。
これは「囚人のジレンマ」としてよく知られるもので、下のようにまとめられます。
A の選択\B の選択 | 黙秘する | 自白する |
---|---|---|
黙秘する | A:懲役 1 年, B: 懲役 1 年 | A:懲役 10 年, B: 懲役 0 年 |
自白する | A:懲役 0 年, B: 懲役 10 年 | A:懲役 5 年, B: 懲役 5 年 |
ゲーム理論の戦略形ゲームではこれを「利得表」と呼んだりします。これはゲーム
-
: プレイヤの集合N - 上の表の場合、
N=\{A, B\}
- 上の表の場合、
-
: 行動の選択肢の集合A - 上の表の場合、
A=\{ 黙秘する, \; 自白する \}
- 上の表の場合、
-
: 利得関数u - 上の表の場合、
u(a_A, a_B)=\begin{cases} (-1, -1) \;\; (a_A=黙秘する, a_B=黙秘する\;の場合)\\ (-10, 0) \;\; (a_A=黙秘する, a_B=自白する\;の場合)\\ (0, -10) \;\; (a_A=自白する, a_B=黙秘する\;の場合)\\ (-5, -5) \;\; (a_A=自白する, a_B=自白する\;の場合) \end{cases} - ただし、
はそれぞれ A, B の選択した行動を表している。a_A, a_B \in A - また、右辺の括弧内の左側がA, 右側がBの利得であり、懲役年数をマイナスの嬉しさとして表現している。
- 上の表の場合、
つまり、戦略形ゲーム
改めて「モデル化」とは
上の例から、モデル化というのはある決まった
ただし、数式として表現する必要は特にありません[2]。上の例でも、図や表を記述した時点でモデルとして十分作用しており、数式による定義まで必須ではなさそうです。特にシステム開発においては、モデル図を書くことで表現することが多いと思います。
ただ、
Discussion