Minimum Spanning Trees algorithm
Algoritma Minimum Spanning Trees algoritma Kruskal and algoritma Prim. Kedua algoritma ini berbeda dalam metodologinya, tetapi keduanya mempunyai tujuan menemukan minimum spanning algoritma Kruskal menggunakan edge, dan algoritma Prim menggunakan vertex yang terhubung
Perbedaan antara algoritma prim dan kruskal Perbedaan prinsip antara algoritma prim dan kruskal adalah, Jika pada algoritma prim sisi yang dimasukkan ke dalam T harus bersisian dengan sebuah simpul di T, maka pada algoritma kruskal sisi yang dipilih tidak perlu bersisian dengan sebuah simpul di T. asalkan penambahan sisi tersebut tidak membentuk cycle.
Kruskal's Algorithm: Pada algoritma kruskal, sisi (edge) dari Graph diurut terlebih dahulu berdasarkan bobotnya dari kecil ke besar. Sisi yang dimasukkan ke dalam himpunan T adalah sisi graph G yang sedemikian sehingga T adalah Tree (pohon). Sisi dari Graph G ditambahkan ke T jika ia tidak membentuk cycle.. T masih kosong. pilih sisi (i,j) dengan bobot minimum. pilih sisi (i,j) dengan bobot minimum berikutnya yang tidak membentuk cycle di T, tambahkan (i,j) ke T. Ulangi langkah sebanyak (n-) kali.. Total langkah (n-) kali
Kruskal's Algorithm: a d b c e 6 f Langkah Sisi bobot e-c a-b d-e c-f b-e
6 a e c b d f 6 a e c b d f 6 a e c b d f 6 a e c b d f 6 a e c b d f 6 Kruskal's Algorithm:
Contoh algoritma Kruskal
Contoh algoritma Kruskal
Contoh algoritma Kruskal Langkah Sisi bobot N,N N,N N,N N,N6 N,N 6 N,N N,N 9
Contoh algoritma Kruskal Langkah Langkah Langkah
Contoh algoritma Kruskal Langkah Langkah 6 Langkah Langkah Sisi bobot, 6,,,, 6, 6
Kruskal's algorithm(basic part) (Sort the edges in an increasing order) A:={} while E is not empty do { take an edge (u, v) that is shortest in E and delete it from E if u and v are in different components then add (u, v) to A Note: each time a shortest edge in E is considered.
Algorithma Prim Pada algoritma prim, dimulai pada vertex yang mempunyai sisi (edge) dengan bobot terkecil. Sisi yang dimasukkan ke dalam himpunan T adalah sisi graph G yang bersisian dengan sebuah simpul di T, sedemikian sehingga T adalah Tree (pohon). Sisi dari Graph G ditambahkan ke T jika ia tidak membentuk cycle. (NOTE: dua atau lebih edge kemungkinan mempunyai bobot yang sama, sehingga terdapat pilihan vertice, dalam hal ini dapat diambil salah satunya.)
Algorithma Prim. Ambil sisi (edge) dari graph yg berbobot minimum, masukkan ke dalam T. Pilih sisi (edge) (i,j) yg berbobot minimum dan bersisisan dengan simpul di T, tetapi (i,j) tidak membentuk cycle di T. tambahkan (i,j) ke dalam T. Ulangi prosedur no sebanyak (n-) kali
Algorithma Prim PROCEDURE Prim (G: weighted connected undirected graph with n vertices) BEGIN T := a minimum-weight edge FOR i := to n- DO BEGIN e := a minimum-weight edge one of whose vertices is in T, and one is not in T T := T with e added END RETURN T END
Algorithma Prim a b c Langkah Sisi bobot d e 6 f e-c d-e c-f b-e a-b 6
Algorithm Prim a e c b d f 6 a e c b d f 6 a e c b d f 6 a e c b d f 6 a e c b d f 6
Algorithm Prim LANGKAH SISI BOBOT A B H C I 6 G D F 9 E (H,G) (G,F) (F,C) (C,I) (C,D) 6 (C,B) (B,A) (D,E) 9
Algorithm Prim Langkah Langkah H G C H G F Langkah Langkah H G F I C H G F 9
Algorithm Prim E D G C B H A F I 9 D G C H F I D G C B H F I D G C B H A F I Langkah Langkah Langkah 6 Langkah
Algorithm Prim
Prim's algorithm(basic part) MST_PRIM(G,w,r). A={}. S:={r} (r is an arbitrary node in V). Q=V-{r};. while Q is not empty do { take an edge (u, v) such that () u S and v Q (v S ) and (u, v) is the shortest edge satisfying () 6 add (u, v) to A, add v to S and delete v from Q }
Problem Cari minimum spanning tree dengan menggunakan algoritma prim dan kruskal! 9 6 6
Problem Cari minimum spanning tree menggunakan Kruskal untuk graph berikut ini. Berapa costnya?
Problem Lima komputer harus dipasang di sebuah kantor dan satu sama lain saling terhubung (dapat secara langsung atau dengan melalui komputer lain, salah satu). Panjang kabel yang diperlukan untuk menghubungkan unit-unit komputer yang berdekatan diberikan dalam meter seperti pada gambar. Berapa panjang minimum kabel yang diperlukan?
Problem Kantor pusat suatu perusahaan akan membangun jaringan pos elektronik (menggunakan satelit) dengan anak-anak perusahaannya yang terbesar di tempat-tempat seperti pada gambar berikut. Biaya membangun hubungan itu tergantung pada jaraknya dan dinyatakan dalam jutaan rupiah. Berapa biaya maksimum untuk membangun jaringan itu? 6
Given a maze as shown in Fig. -, represent this maze by means of a graph such that a vertex denotes either a corridor or a dead end (as numbered). An edge represents a possible path between two vertices. (This is one of numerous mazes that were drawn or built by the Hindus, Greeks, Romans, Vikings, Arabs, etc.)
Spanning tree dengan aliran optimum
Spanning tree dengan aliran optimum Algoritma greedy Dengan t(i,j) sebagai bobot pada link (i,j), cari pohon (tree) yang memberikan nilai optimum. cara atau dasar motifasinya: meletakkan simpul-simpul yang mempunyai interaksi trafik terbesar saling berdekatan Algoritma star Bila suatu jaring bintang adalah optimum, maka simpul pusat adalah simpul yang mempunyai jumlah trafik (ke dan dari) terbesar Algoritma dekomposisi dan interkoneksi optimum 9
Spanning tree dengan aliran optimum Algoritma dekomposisi dan interkoneksi optimum Langkah : gunakan alg greedy dan star dan pilih solusi yang terbaik Langkah : pertimbangkan untuk menghapus satu per satu link secara berurutan. Bila didapat suatu hubungan baru yang memberikan pohon yg jumlah total harga aliran trafik yang dimuat pada linklinknya lebih kecil(atau sama), maka hilangkan link tsb dan pakai hubungan baru tersebut, proses diteruskan dengan cara yang sama sampai diperoleh hasil yang optimum Langkah : berhenti bila tak didapatkan lagi hubungan (interkoneksi) beru yang mempunyai harga yang lebih rebdah untuk semua (n-) link yang dipertimbangkan (dicoba)
Algoritma greedy Buat matrik bobot w dari sebuah graph G Dari matrik bobot W, buat matrik gabungan (U), dimana u(i,j)=w(i,j)+w(j,i), j>i Pilih bobot yang paling besar. Letakkan simpulsimpul yang mempunyai interaksi bobot terbesar saling berdekatan (dihubungkan dengan sebuah link) Cari pohon sedemikian rupa sehingga min ui, jdi, j w i,j
Algoritma greedy Diketahui matrik bobot w sebuah graph adalah sebagai berikut : Dari matrikbobot w, maka matrik gabungan U adalah : u(i,j)=w(i,j)+w(j,i), j>i W 6 6 U
6 meletakkan simpul-simpul yang mempunyai interaksi bobot terbesar saling berdekatan, sehingga membentuk sebuah tree Matrik jarak (d) dari pohon (tree) yg terbentuk d Algoritma greedy
Algoritma greedy 6 6...... 6.......6........... 6....6.. 6...... tot d j i, d j U i, min w i,j 6 6 U
Algoritma star Buat matrik bobot w dari sebuah graph G Dari matrik bobot W, buat matrik gabungan (U), dimana u(i,j)=w(i,j)+w(j,i), j>i Pilih bobot yang paling besar. Letakkan simpul-yang mempunyai bobot ( ke dan dari ) terbesar sebagai titik utama (pusat)
6 W Diketahui matrik bobot w sebuah graph adalah sebagai berikut : Dari matrikbobot w, maka matrik gabungan U adalah : u(i,j)=w(i,j)+w(j,i), j>i 9 9 9 6 6 6 6 U Algoritma star
Algoritma star Simpul nomer mempunyai bobot terbesar sehingga simpul ini dijadikan titik pusat 6 U 6 9 6 6 6 9 9 (w)?
soal Tentukan dan gambarkan minimum spanning tree dengan menggunakan algoritma greedy dan star Hitung nilai (t) minimum. 6 9 W
9 6 9 W 9 9 6 U d. 6.. 9...................... tot j i, d j w i, min w i,j Algoritma greedy
Algoritma star 6 9 W 9 6 9 9 6 U d. 6.. 9....... 9............... tot
ADDITIONAL
Borůvka s Algorithm
Barůvka s Algorithm. For all vertices search the edge with the smallest weight of this vertex and mark these edges. Search connected vertices (clusters) and replace them by a new vertex (cluster) C i. Remove the cycles and, if two vertices are connected by more than one edge, delete all edges except the cheapest Baruvka's Algorithm
A B 6 C D E Baruvka's Algorithm F
A B 6 C D E Baruvka's Algorithm F
A 6 B C i C D E Baruvka's Algorithm F
A B 6 C D E Baruvka's Algorithm F
A B C D E F Baruvka's Algorithm
minimum- spanning tree A B C D E F Baruvka's Algorithm
soal Tentukan minimum spanning tree dengan menggunakan algoritma kruskal, baruvka dan prim 6 6