次の問題を処理するためのアルゴリズムを探しています。これは(今のところ)「悪いリンゴ」アルゴリズムと呼んでいます。
問題
- M個のサンドボックスでN個のプロセスを実行しています。N>> Mです。
- 各プロセスに独自のサンドボックスを与えることは実際的ではありません。
- これらのプロセスの少なくとも1つが正しく動作せず、サンドボックス全体を停止させているため、同じサンドボックス内の他のすべてのプロセスが強制終了されています。
単一の不適切な動作のプロセスである場合は、単純な二分法を使用して、プロセスの半分を1つのサンドボックスに入れ、残りの半分を別のサンドボックスに入れて、不正なものが見つかるまで続けます。
質問
場合は、複数のプロセスがひどく行儀である-彼らはしているという可能性を含め、すべてのひどく行儀-この素朴なアルゴリズム「仕事」をしますか?いくつかの賢明な範囲内で動作することが保証されていますか?
簡略化
議論のために、悪いプロセスがサンドボックスを瞬時にダウンさせ、良いプロセスが決してダウンさせないと仮定しましょう。