You are on page 1of 10

MİNİMAL (EN KÜÇÜK) KAPSAYAN AĞAÇ PROBLEMİ

Yönlendirilmiş ve bağlı bir ağ ele alalım. Burada verilenler:


- Bu ağın düğüm noktaları (arkları değil);
- Pozitif uzunluklu potansiyel arklar.
Amaç: Her düğüm noktasından herhangi bir düğüm noktasına yolun olduğu bir ağ
inşa edilmesi talep ediliyor (bu kapsayan ağacın tanımıdır). Bu ağı oluşturacak
arkların toplam uzunluğunun minimize edilmesi gerekiyor.
- n düğüm noktasından oluşan bir ağ için n-1 tane ark kullanılması talep
edilmektedir (çünkü, n adet düğüm noktasını sadece n-1 tane arkla döngü olmadan
bağlı bir ağ haline getirmek mümkündür. Bunun tersi doğru değildir, yani, n tane
düğüm noktası için n-1 adet arkın oluşturduğu ağ her zaman minimal kapsayan ağaç
olmaya bilir).
7
A
D
2 2 4 5 T
O 5 B 4
4 1 3 1 7
C 4 E

A
a)
O B D
T
C
E
Bu bir ağaçtır. Fakat bağlı olmadığı için bağlı ağaç değildir.
b)
A
D T
O B

C E

Bu da kapsayan ağaç değil. Çünkü, ağda döngü vardır.


c)
A T
T
D
O B D O A
veya
C E
E B
C

Bu ağaçlar birer kapsayan ağaçtır.


Bu kapsayan ağaçların minimal olması için bir algoritmaya ihtiyaç duyulur.
Minimal kapsayan ağaç problemi için bazı uygulamalar:
- Telefon ağları;
- Şehirlerarası yolların oluşturduğu ağlar;
- Elektrik hatlarının oluşturduğu ağlar;
- Kablo ağları;
- Boru hatları.
MİNİMAL KAPSAYAN AĞAÇ ALGORİTMASI
1. Keyfi olarak herhangi bir düğüm noktası seçiliyor ve bu düğüm noktasına en
yakın düğüm noktalarından biri arkla birleştiriliyor. Bu noktalar çözülmüş düğüm
noktaları olarak belirleniyor.
2. Sonra çözülmemiş düğüm noktaları içerisinden çözülmüşlerin herhangi birine
uzaklığı en küçük olan düğüm noktası seçiliyor ve arkla birleştiriliyor. Yeni
düğüm noktası da çözülmüş düğüm noktaları kümesine ilave edilir ve süreç tüm
noktalar çözülmüş noktalar olana kadar devam ediyor.
3. Çözülmemiş düğüm noktaları içerisinde çözülmüş düğüm noktalarına uzaklığı en
küçük olan birden fazla düğüm noktası olduğu durumlarda bunlardan biri keyfi
olarak seçiliyor. Bu durum alternatif çözümlerle sonuçlanabilir.
ÖRNEK: (Seervada Park)

2 A 7 D 5
2 B 4 1 T
O
5 3 7
4 1
C E
4

1. iterasyon:
İlk «O» düğümünü seçelim. Bu düğümden çıkan arklardan en kısa olanı O-A (2) arkıdır.
Bu durumda O ve A düğüm noktaları çözülmüş düğüm noktaları oluyor.
2. iterasyon:
«O» ve «A» noktalarından çıkan en küçük mesafeli düğüm noktasını seçiyoruz: «B».
A-B (2) arkını birleştiriyoruz ve «B» düğüm noktasını da çözülmüş düğüm noktası olarak
kaydediyoruz.
3. iterasyon:
O, A ve B düğüm noktalarından en küçük uzaklıktaki düğüm noktasını seçiyoruz: «C».
B-C (1).
4. iterasyon:
Çözülmüş O, A, B, C noktalarından en küçük mesafedeki düğüm noktasını seçiyoruz:
«E». B-E (3).
5. iterasyon:
O, A, B, C ve E çözülmüş düğüm noktalarından en küçük mesafedeki düğüm noktasını
seçiyoruz: «D». E-D (1).
6. iterasyon:
O, A, B, C, E, ve D çözülmüş düğüm noktalarından en küçük mesafedeki düğüm
noktasını seçiyoruz: «T». D-T (5).
Bu durumda minimal kapsayan ağaç problemindeki toplam en küçük mesafe:
2+2+1+3+1+5=14 birimdir.
ÖRNEK: (sayfa 430, örnek 9.4-2)
Kereste şirketi 8 tane ağaç korusu yapmak istiyor. Bu korular arasında çakıl
yollar (patika) oluşturulacaktır. Böyle ki, her ağaçlıktan diğerine geçiş yolu
olması gerekmektedir. Korular arasındaki mesafeler aşağıdaki tabloda
verilmiştir. Şirket yönetimi toplam uzunluğu minimum olacak şekilde hangi
korular arasında yol yapılması gerektiğine karar verecektir.
Bu problemi minimal kapsayan ağaç problemi şeklinde
çözümlenebileceğini yorumlayınız ve algoritmayı kullanarak problemi
çözünüz:
KORULAR KORULAR ARASINDAKİ MESAFELER

1 2 3 4 5 6 7 8

1 - 1.3 2.1 0.9 0.7 1.8 2.0 1.5

2 1.3 - 0.9 1.8 1.2 2.6 2.3 1.1

3 2.1 0.9 - 2.6 1.7 2.5 1.9 1.0

4 0.9 1.8 2.6 - 0.7 1.6 1.5 0.9

5 0.7 1.2 1.7 0.7 - 0.9 1.1 0.8

6 1.8 2.6 2.5 1.6 0.9 - 0.6 1.0

7 2.0 2.3 1.9 1.5 1.1 0.6 - 0.5

8 1.5 1.1 1.0 0.9 0.8 1.0 0.5 -


En kısa yol:
1
0.7

0.7 0.8
4 8
1.0 0.5

3 7

0.9 0.6
2 6

Toplam mesafe: 5.2 birimdir.

You might also like