ちょっと不思議な村があります。
村人を、こども・成人・老人、にわけます
こどもが一人成人すると、こどもの人数が一人減り、成人の人数が一人増えます
成人が一人定年を迎えると、成人の人数が一人減り、老人の人数が一人増えます
老人が亡くなると、老人の人数が一人減り、こどもが一人増えます
(なぜか誰か亡くなるとこどもが一人生まれる)
(あと老人以外も亡くなりません、不思議ですね)
そういった村民の数が普遍の村があったとして、1年毎にそれぞれの人数を数え、記録していった場合、その記録から、1年間の成人・定年・誕生の人数を確定することができるでしょうか。
また、できない場合(一人成人した場合と、二人成人し一人定年を迎え一人死亡した場合は1年毎の人数に違いはないはずなので、おそらくできないと思うんですが)、
変化する人数を最小限にするという条件を追加すると答えを出すことは可能でしょうか。
できれば導き方もお願いします。
子供⇒成人⇒老人⇒
という状態遷移しかあり得ず、新たに加わるものも、減るものもないというモデルで
変化する人数を最小限にするという条件を追加しなければ遷移した数は特定できません。
成人= max(-子供の増減 , 成人の増減 )
定年= max(-成人の増減 , 老人の増減 )
誕生= max(-老人の増減 , 子供の増減 )
この成人、定年、誕生が、毎年必ず一つ以上は0となるのですが
記録から確定することは、出来ないと考えます。
それは、老人のなくなる年が不定であるためです。
誕生年齢、成人年齢、定年年齢は、全て一定と考えられますが、亡くなる年齢は一定ではありません。
極端に長寿命、例えば、100歳から、100000歳の間で亡くなるというようなことになれば、記録は役に立たなくなってしまいます。
みんなが超(?)寿命になれば、成人・定年・誕生は、毎年0という記録が続くことになります。
誕生、成人、定年は状態の遷移を表す例として使用しただけなので、
特に寿命みたいな話は関係ないはずなんですが、どうでしょう。
仮にだれも亡くならなくても、全員が老人になるまで成人・定年は発生しませんか?
お陰様でそこそこ理解したのですが、更に条件を加えて
記録を取るのを毎年ではなく、どんどん細分化すれば
成人・定年・誕生の人数は正確になっていくと思ってよいでしょうか。
極端に言えば、1秒以内に成人・定年・誕生が同時に発生しないとして、
毎秒人数の記録を取った場合は遷移の推移を正確に把握できるでしょうか。
また、成人数・定年数・誕生数の内、1つないし2つがわかっている場合、残りの遷移数も特定できますか?
状態の成人と遷移名の成人がかぶっていたのに今気が付きました。
2012/08/27 12:02:45ややこしいので、遷移名の方を元服に変更してよいでしょうか。
例えば
子=5、成=5、老=5
から
子=6、成=4、老=5
の場合
元服= 0
定年= 1
誕生= 1
になると思うんですが、
元服= max(-子供の増減 , 成人の増減 )
= max(-(+1) , -1 )
= -1
のような場合です。
0必要ですね
2012/08/27 22:16:33