うわさが、大きさ一定の集団の中で、拡散する様を表現するモデルを構築し、その様子を解析する。
モデル構築にあたって、次のように考える。
うわさを耳にした人間の数が少なければ、うわさの拡がりは低い。
また、うわさを耳にした人の数がある数を超えたらならば、うわさは急速に広がる。
つまり、うわさの拡散モデルは、うわさを耳にした人の数が単調に増加するモデルとはならないことが予想出来る。
集団の人口をN、時刻tのときに、うわさを耳にした人の数をy(t)、うわさを耳にしていない人の数をx(t)とする。
このとき、下式が成り立つ。
........式(1)
うわさの拡がり具合は、下記に従うと仮定する。
うわさを耳にした人が耳にしていない人との接触回数に比例する。
つまり、x(t)y(t)で、うわさを耳にした人と、耳にしていない人との接触回数を表し、
それに、係数kを乗算し噂の拡散率とする。
また、噂の拡散率をdy(t)/dtとおけば、このモデルの微分方程式は下記のようになる。
........式(2)
ここで、うわさを耳にした人の初期値をY0と与え下式を得る。
........式(3)
式(2)は、単純な変数分離形の微分方程式で、解析解が存在するが今回は、
scilab&Xcosを使って、
式(2)をブロック線図で記述し、シミュレーションで数値解を求めグラフ表示する。
ここで、シミュレーションの初期条件として、
集団の人数Nを1000
係数kを0.01
シミュレーション時間(=積分終了時間)を1.5
Activation Clockを間隔0.01、初期時間0
初期値Y0は、Integrationブロックにおいて、
Initial Condition = 1, 500, 800、3つの値をそれぞれ与えた結果をシミュレーションする。
シミュレーションの環境として、
Mac OS X lion
Scilab 5.3.3 & Xcos
上でシミュレーションを行う。
シミュレーション結果
Y0=1のときのうわさの拡散結果
Y0=500のときのうわさの拡散結果
Y0=800のときのうわさの拡散結果
本シミュレーションに使ったXcosファイル(rumor-expansion.xcos)を下記に添付する。