6-warna pohon secara didistribusikan


8

Saya mengalami beberapa kesulitan dalam memahami algoritma terdistribusi untuk pohon 6 - pewarnaan di O(logn) waktu.

Deskripsi lengkap dapat ditemukan di makalah berikut: Parallel Symmetry-Breaking in Sparse Graphs. Goldberg, Plotkin, Shannon .

Singkatnya, idenya adalah ...

Mulai dari pewarnaan yang valid yang diberikan oleh ID prosesor, prosedur iteratif mengurangi jumlah bit dalam deskripsi warna dengan mengubah warna setiap node nonroot v dengan warna yang diperoleh dengan menyatukan indeks sedikit di mana Cv berbeda dari Cparent(v)dan nilai bit ini. Akarr menggabungkan 0 dan Cr[0] untuk membentuk warna barunya.

Algoritma berakhir setelah O(logn) iterasi.

Saya tidak memiliki pemahaman intuitif mengapa itu benar-benar berakhir O(logn)iterasi. Seperti yang disebutkan dalam makalah pada iterasi akhir ada indeks terkecil di mana dua bit string berbeda paling banyak 3. Jadi bit ke-0 dan bit ke-1 bisa sama dan22=4, jadi dua bit ini akan memberi kita 4 warna + 2 warna lain untuk bit ke-3 yang berbeda, dan total 8 warna dan tidak 6 seperti di kertas, dan mengapa kita tidak bisa melanjutkan dengan 2 bit, masih mungkin untuk menemukan bit yang berbeda dan pisahkan mereka.

Saya akan menghargai sedikit lebih dalam analisis algoritma daripada di koran.


1
Ini mungkin membantu: Bagian 5.3.4 dari cs.helsinki.fi/u/josuomel/dda dan hal. 178– dari cs.helsinki.fi/u/josuomel/dda-2012/dda-lectures.pdf
Jukka Suomela

@JukkaSuomela, terima kasih banyak, catatan kuliah yang sangat bagus. Satu poin kecil, dalam catatan kuliah Coloring, halaman 11 saya menemukan bahwa warna 11 * tidak pernah dipilih, tetapi mengapa, apa alasannya?
com

Jawaban:


1

Dalam tulisannya, penulis menyebutkan bahwa setelah logniterasi, jumlah bit yang digunakan untuk mengkodekan salah satu label warna paling banyak 3. Itu berarti ada paling banyak delapan warna. Jika kita memiliki enam atau lebih sedikit warna, kita sudah selesai, dan jika tidak kita akan mengulangi loop sekali lagi.

Katakanlah kita melakukan satu iterasi loop terakhir. Root mendapat label warna 0 atau 1. Setiap node lainnya mendapat label yang sama dengan posisi bit pertama di mana label lama node tidak setuju dengan label induknya, ditambah satu bit tambahan. Sejak masuk ke iterasi ini semua warna memiliki panjang tiga bit dalam kasus terburuk, ada tiga posisi yang memungkinkan di mana bit bisa tidak setuju. Oleh karena itu, setiap warna baru dibentuk dari kombinasi satu dari tiga pilihan dan sedikit (satu dari dua pilihan), jadi pada saat keluar dari pengulangan ini hanya ada enam label warna yang mungkin, jadi kami memiliki enam warna. Jumlah total iterasi loop kemudianlogn+1=O(logn)

Semoga ini membantu!


0

Algoritma Terdistribusi untuk pohon 6 - pewarnaan dalam waktu O (log * (n)) adalah algoritma yang sangat baik.

Biarkan saya jelaskan apa itu "log * n"

log * (n) - "log Star n" atau dikenal sebagai "Iterated logarithm"

Dengan kata sederhana Anda dapat menganggap log * (n) = log (log (log (..... (log * (n)))))

log * (n) sangat kuat.

Contoh:

1) Log * (n) = 5 di mana n = Jumlah atom di alam semesta

sekarang pertanyaanmu:

Mengapa itu berakhir setelah log * n waktu?

Dalam setiap putaran ukuran ID dikurangi dengan faktor log maka jumlah warna juga berkurang: untuk mengindeks bit di mana dua label ukuran n bit berbeda + 1 bit tambahan lebih banyak.

Mengapa hanya 6 warna, mengapa tidak Lebih atau Kurang?

Mengapa tidak 4 warna: {0,1,2,3} - karena dua bit diperlukan untuk mengatasi indeks yang berbeda, ditambah menambahkan "perbedaan-bit" memberi lebih dari dua bit.

Mengapa tidak 7 warna: {0,1,2,3,4,5,6} - karena 7 = 111 (dalam Binary) dapat dijelaskan dengan 3 bit, dan untuk mengatasi indeks (0,1,2) memerlukan dua bit , ditambah satu "perbedaan-bit" memberi tiga lagi.

Mengapa 6 Warna? - warna 110 (untuk warna "6") dan 111 (untuk warna "7") tidak diperlukan, karena kita dapat melakukan putaran lain! (ID tiga bit hanya dapat berbeda pada posisi 00 (untuk "0"), 01 (untuk "1"), 10 (untuk "2").

Anda dapat mengurangi 6 warna menjadi 3 warna , yang diberikan di tautan komentar Anda di atas.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.