Saya mencari algoritme untuk menangani masalah berikut, yang saya (untuk saat ini) menyebut algoritma "apel buruk".
Masalah
- Saya memiliki N proses yang berjalan di kotak pasir M, di mana N >> M.
- Tidak praktis untuk memberikan setiap proses kotak pasirnya sendiri.
- Setidaknya salah satu dari proses tersebut berperilaku buruk, dan menjatuhkan seluruh kotak pasir, sehingga membunuh semua proses lainnya di kotak pasir yang sama.
Jika itu adalah satu proses berperilaku buruk, maka saya bisa menggunakan pembelahan sederhana untuk meletakkan setengah dari proses dalam satu kotak pasir, dan setengah di kotak pasir lain, sampai saya menemukan pelakunya.
Pertanyaan
Jika lebih dari satu proses berperilaku buruk - termasuk kemungkinan bahwa mereka semua berperilaku buruk - apakah algoritma naif ini "bekerja"? Apakah dijamin bekerja dalam batas yang masuk akal?
Penyederhanaan
Demi argumen, mari kita asumsikan bahwa proses yang buruk menjatuhkan kotak pasirnya secara instan, dan proses yang baik tidak pernah terjadi.