Pada grafik , kami melakukan proses berikut:
- Awalnya, semua node di berwarna.
- Sementara ada node yang tidak berwarna dalam , setiap node yang tidak berwarna melakukan hal berikut:
- Memilih bilangan real acak dan mengirimkannya ke semua tetangganya;
- Membandingkan jumlahnya dengan jumlah tetangganya; jika nomornya sendiri benar-benar terkecil, maka tetangganya dicat merah dan memberitahukan semua tetangganya.
- Jika tetangga menjadi merah, maka simpul ini melukis dirinya sendiri hitam.
Sebagai contoh:
- Misalkan grafik adalah jalur: abcde.
- Misalkan angka pada langkah pertama adalah: 1-2-0-3-4.
- Node a dan c dicat merah; node b dan d dicat hitam.
- Pada langkah kedua, hanya simpul e yang tetap tidak berwarna; itu minimal sepele sehingga cat itu sendiri merah.
PERTANYAAN SAYA ADALAH: berapa jumlah rata-rata langkah yang dilakukan proses ini sebelum semua node diwarnai?
Perhitungan saya saat ini membawa saya ke perkiraan , yang tampaknya terlalu bagus untuk menjadi kenyataan. Berikut perhitungannya:
Pertimbangkan simpul dengan tetangga. Probabilitas bahwa akan menjadi yang terkecil di antara tetangganya adalah . Jika ini terjadi, maka dan semua tetangganya akan diwarnai. Jadi jumlah yang diharapkan dari simpul yang diwarnai setiap langkah adalah per node . Oleh karena itu jumlah total simpul yang diharapkan yang diwarnai setiap langkah adalah , jadi dalam waktu semua simpul akan diwarnai.
Jika analisis ini salah (yang mungkin merupakan penyebabnya), lalu berapakah jumlah langkah aktual?
EDIT: Seperti dicatat oleh @JukkaSuomela, algoritma yang dijelaskan di atas adalah karena Metivier et al, 2011 dan dijelaskan dan dianalisis dalam catatan kuliah ini . Mereka membuktikan bahwa waktu menjalankan adalah .
Tapi, saya masih belum yakin bahwa analisis ini ketat. Dalam semua grafik yang saya periksa, tampaknya algoritma tersebut selesai dalam waktu yang diharapkan.
Pertanyaan saya sekarang: apakah grafik kasus terburuk di mana algoritma ini memang membutuhkan langkah-langkah ?