http://b.hatena.ne.jp/entry/d.hatena.ne.jp/halhorn/20100904/1283612722
これを真似しようとしていて。Project EulerのProblem 309で素直に解くとソートが遅いので、並列処理で速くならないか、じゃあ配列を4等分して、それぞれ並列でソートして、それをマージしてやればいいじゃん、と思ってやってみたらうまくいかなくて、プロセスが大量発生していました。それを一つずつ殺していたら、ときどきいっぺんにたくさんプロセスを殺せるときがありました。
それでこんな問題を思いつきました。
プロセスは子プロセスをM個生成する。発生したプロセスから順に子プロセスを発生する。プロセスは全部でN個発生する。この状態からプロセスを一つずつ殺していく。ただし、そのプロセスを殺したら子プロセスも再帰的に殺すことになる。平均何回でプロセスを全て殺せるか。
例えば、N=5、M=2なら、
0 / \ 1 2 / \ 3 4
そして、1を殺したら、
0 \ 2
こうなることになります。0を殺したら全て殺すことになります。
まだ全然コード書けてません。