Dengan asumsi ujung-ujungnya tidak diarahkan, memiliki bobot yang unik, dan tidak ada jalur negatif, apakah algoritma ini menghasilkan Pohon Pembentang Minimum yang sama?
Dengan asumsi ujung-ujungnya tidak diarahkan, memiliki bobot yang unik, dan tidak ada jalur negatif, apakah algoritma ini menghasilkan Pohon Pembentang Minimum yang sama?
Jawaban:
Menemukan ini yang menyatakan bahwa jika semua kondisi yang saya sebutkan di atas terpenuhi, grafik tentu memiliki MST yang unik. Oleh karena itu, dalam hal pertanyaan saya, algoritma Kruskal dan Prim tentu menghasilkan hasil yang sama.
Jika MST itu unik, semua algoritme akan terpaksa memproduksinya.
Jika MST tidak unik, output mungkin berbeda karena pesanan pemrosesan simpul yang berbeda (bahkan dua implementasi berbeda dari algoritma yang sama dapat), tetapi bobot total akan sama. Dalam hal ini, MST adalah istilah yang salah.
Untuk menambahkan jawaban Yves Daoust , grafik berikut
Dalam grafik ini, kami memiliki 3 node dan 3 edge, masing-masing memiliki bobot yang sama. Jelas setiap 2 tepi akan membentuk MST untuk grafik ini. Namun, dua sisi yang dipilih akan bergantung pada tidak hanya algoritma, tetapi implementasi algoritma. Misalnya, jika saya menyimpan node dalam daftar, saya dapat mengunjungi mereka dalam urutan yang berbeda daripada jika saya menyimpan node dalam satu set, bahkan jika saya menggunakan algoritma MST yang sama sejak saat itu.
Bahkan, jika implementasi saya bergantung pada aritmatika pointer (yang dilakukan beberapa wadah dalam beberapa bahasa), saya bahkan dapat memilih MST yang berbeda setiap kali saya menjalankan algoritme!
set
atau dict
dalam Python 3.3+: hash digarami dengan nilai yang berbeda untuk setiap proses untuk membuat serangan denial-of-service lebih sulit.