2.4 Minimum Spanning Tree
Definisi 2.13
Graph berjarak distance graph
Misalkan
,
G V E
kemudian terdapat sebuah fungsi
: d
E N
yang disebut fungsi jarak. Graph
G
bersama dengan fungsi jarak
: d
E N
, disebut dengan graph berjarak
distance graph.
Contoh 2.2 Diberikan sebuah graph seperti gambar di bawah ini:
Gambar 2.6 Graph
G
dengan 6 verteks dan 7
edge
distance
dari graph:
Gambar 2.7
Distance graph
mempunyai fungsi jarak
: d
E N
, di mana
1 2
1 4
2 3
2 5
3 6
4 5
5 6
, ,
, ,
, ,
, ,
, ,
, ,
,
E v v
v v v
v v
v v
v v
v v
v
dengan
1 2
1 4
2 3
2 5
3 6
4 5
5 6
, 3
, 2
, 5
, 1
, 4
, 6
, 7
d v v
d v v
d v
v d
v v
d v
v d
v v
d v
v
3
v
1
v
2
v
6
v
5
v
4
v
3
v
1
v
2
v
6
v
5
v
4
v
2 3
6 1
5
4 7
Universitas Sumatera Utara
Definisi 2.14
Jarak spanning tree distance of spanning tree
Misalkan sebuah graph
,
G V E
, bersama dengan fungsi jarak
: d
E N
. Untuk selanjutnya
G
merupakan
connected,
dan
T
merupakan
spanning tree
dari
G,
maka nilai:
e e T
d T d
merupakan penjumlahan seluruh jarak pada semua
edge
di
T,
disebut dengan jarak
spanning tree
.
Untuk setiap graph
G
adalah sebuah graph berjarak
distance graph
. Jelas, untuk setiap
spanning tree T
dari
G
akan mempunyai total jarak
d T
. Dari semua
spanning tree T
dari
G,
terdapat
spanning tree
yang mempuyai jarak
d T
minimum.
Definisi 2.15
Minimum spanning tree
Sebuah graph
,
G V E
, bersama dengan fungsi jarak
: d
E N
, membentuk sebuah
distance graph.
Selanjutnya
G connected,
sebuah
spanning tree
dengan jarak
d T
minimum dari semua
spanning tree
di
G
disebut dengan
minimum spanning tree.
Permasalahan
minimum spanning tree
bisa dirumuskan seperti di bawah ini:
m in
e e T
d T
S T G
dengan ketentuan
S T G
adalah himpunan
spanning tree
dari graph. Untuk persoalan
minimum spanning tree
akan diformulasikan dua kondisi optimal pada persoalan
minimum spanning tree.
Teorema 2.4
Kondisi optimal cut cut optimality condition Sebuah spanning tree
T
adalah minimum spanning tree jika dan hanya jika untuk setiap edge
e T
,
e f
d d
untuk setiap
, \
e e
f X
V X
.
Universitas Sumatera Utara
Bukti
Asumsikan terdapat sebuah
minimum spanning tree
T
yang tidak memenuhi kondisi ini, maka akan diperoleh sebuah
edge
e T
dan sebuah
edge
, \
e e
f X
V X
dengan
e f
d d
.
Selanjutnya
edge e
digantikan dengan
edge f,
sehingga diperoleh
sebuah
spanning tree
dengan
\
e f
d T e
f d T
d d
d T
. Hal ini kontradiktif dengan nilai optimal dari
T.
Pada bagian ini akan diperlihatkan bahwa untuk setiap
spanning tree
T
yang memenuhi kondisi di atas adalah optimal. Asumsikan
T
adalah
minimum spanning tree
dan
T T
. Kemudian terdapat paling sedikit satu
edge
e T
sehingga
e T
. Jika
edge
ini dimasukkan ke dalam
T
, maka
T e
akan membentuk
cycle
,
C T e
dengan sebuah
edge
f e
di mana
f
mempunyai satu titik di
e
X
dan
\
e
V X
. Selama
T
optimal, maka
f e
d d
.
Untuk selanjutnya
edge e
dihapus kemudian memasukkan
edge f
pada
T
,
sehingga diperoleh
\
T e
f
, dengan total jarak:
\
e f
d T d T
d d
d T e
f
Spanning tree
\
T e
f
mempunyai sebuah tambahan
edge
yang sama dengan
T
dan memenuhi kondisi optimal
cut
. Hal ini diulangi sampai akhirnya didapatkan
T T
dengan
d T d T
sehingga
T
juga
minimum spanning tree.
Dari Teorema 2.4 disimpulkan bahwa sebuah
spanning tree
mempunyai jarak minimum jika dan hanya jika tidak terdapat pertukaran
edge e
dan
edge f
yang tidak membentuk
cycle
sehingga
e f
d d
adalah negatif.
Universitas Sumatera Utara
Teorema 2.5
Kondisi optimal path path optimality condition Sebuah spanning tree
T
adalah minimum spanning tree jika dan hanya jika untuk setiap edge
,
f k l
yang tidak termasuk dalam spanning tree di mana
e f
d d
untuk setiap edge e yang merupakan bagian path di
T
yang menghubungkan k dan l.
Bukti Diberikan sebuah
minimum spanning tree
T
dan
edge
,
e i j
bagian dari
path
di
T
yang menghubungkan
k
dan
l. Edge
,
f k l
dan
f e
d d
, selanjutnya dilakukan pertukaran
edge e
dan
f.
Dari pertukaran ini dihasilkan sebuah
spanning tree
baru dengan jarak lebih pendek dari
T
.
Hal ini kontradiktif dengan optimal
T
.
Diberikan sebuah
edge
,
e i j
dan misalkan
e
X
dan
\
e
V X
merupakan himpunan verteks yang dihasilkan dengan menghapus
edge e
. Selanjutnya diberikan
edge
, k l
dengan
e
k X
dan
\
e
l V
X
. Sejak
T
memuat sebuah lintasan khusus
unique path
dari
k
ke
l
dan
e
adalah
edge
yang menghubungkan himpunan verteks
e
X
dan
\
e
V X
,
e
adalah bagian dari
path
yang menghubungkan
k
dan
l.
Dari
Kondisi optimal path
diketahui bahwa
e f
d d
di mana
,
f k l
. Kondisi ini berlaku untuk setiap
edge
,
f k l
berada dalam
cut
{ ,
\ }
e e
X V
X
untuk setiap
e T
.
Jadi
T
memenuhi kondisi optimal
cut
dan dari teorema 2.4
T
adalah
minimum spanning tree.
Secara umum ada beberapa metode penyelesaian pada
permasalahan minimum spanning tree.
Vojtech Jarnik tahun 1930 dan Robert C.Prim 1975 secara terpisah menemukan sebuah algoritma untuk menyelesaikan persoalan
minimum spanning tree.
Algoritma ini kemudian disebut dengan dengan algoritma prim. Selain algoritma prim, permasalahan
minimum spanning tree
juga bisa diselesaikan dengan algoritma Kruskal, algoritma Boruvka, algoritma Sollin yang
merupakan algoritma yang diturunkan dari algoritma Boruvka.
Universitas Sumatera Utara
2.5 Integer programming