It is a continuation from yesterday.
今回、「1億人シミュレータ」を作っているのは、「数式モデル」を作るのが面倒になったからです。
Now, the reason why I am making the 100,000,000 person's simulator is to want to avoid make a mathematical formula.
簡単に言いますと、世の中には、未婚→結婚→離婚→再婚→離婚→再婚→・・・というサイクルを、繰り返す方が一定数います。
In short, there are some persons who repeat a cycle of unmarried ->married -> divorce -> remarriage -> divorce -> remarriage.
で、調べてみると、こういう方の人口は、「無視できるほどには小さくない」のですよ。
On investigation, the population of this pattern is not small vanishingly.
とすると、「1億人シミュレータ」に、この挙動を組み込む必要があるのですが、その為には統計値が必要になります。
We have to embed the behavior as a formula to my simulator, and I need to know statistic values before.
例えば、
For example,
I have to make the followings,
■既婚者のN年目の離婚確率 divorce(N)という関数
- A function "divorce (N)" that means the divorce possibility, marriage N years ago.
■離婚した人がN年目に再婚する確率、remarriage(N)という関数
- A function "remarriage (N)" that means the divorce possibility, divorce N years ago.
を作る必要があるのですが、
―― そんな基礎データは、どこにもない。
"There is no basic data nowhere."
そもそも、この divorce(N)、remarriage(N)を、平均値や標準偏差という概念で数式化できると問われれば、「そりゃ無理だろう」と自分でも思います。
However, if someone asks me whether I can make such functions by myself, I should answer "it is impossible for me"
離婚時の子どもの数や、出会いの場所、地域、年齢、持っているお金によって、この値がコロコロと変わるのは、簡単にイメージできます。
It is easier for us to understand that the divorce rate is going to change easily against numbers of children, address, area, age, property.
つまり、「数式モデル」を作るのは、面倒という理由だけでなく、そもそも現実的ではないのです。
In short, making such formulas is not only complicated but also unrealistic.
-----
だから「力ずく」です。
Therefore "it is force".
1億人の挙動を、国勢調査などのデータに「無理やり嵌め込む」。
Apply 100 million people's behavior to national censuses by force.
■なんの関連もない、結婚の意志を表明していない男女(のオブジェクト)を「強制的に結婚」させて、
- Let make one couple marry enforcedly even if they have no intention of marriage.
■ポインタリンクされた男女のペア(のオブジェクト)を、有配偶者離婚率で「無理矢理、離婚」させます。
- Let make one couple divorce enforcedly without their hope.
加えて、100歳以上のオブジェクトは、全部 "free"します(つまり『抹殺』)。計算が面倒だからです。
In addition, I make the object free (delete), whose age is more than 100 years. The calculation is troublesome.
-----
問題は、このシミュレータが本当に上手く動いているかどうか、分からないということです。
The problem is that I cannot know whether the simulator works well or not.
コンパイルエラーなら構いませんが、計算自体が間違っていた場合(バグの場合)は、計算結果から、間違いを見つけ出さなければなりません。
If it is just a compile error, it is O.K. But if the algorism is wrong (it is bug), I have to find the mistake from the output numeric.
―― 1億行の計算結果
More than 100 million data.
読めるか。そんなもん。
Who can read them?
(続く)
(To be continued)