Vous êtes sur la page 1sur 6

8.1.

4 Algoritma Pewarna Titik Pada Graph

Dalam pewarna titik, belum ada algoritma yang efisien untuk memperoleh sebuah
pewarnaan titik dengan banyak warna minimum pada sebuah graph. Akibatnya belum ada
algoritma yang efisien untuk menentukan bilangan khromatik dari sebuah graph. Beberapa
algoritma berikut hanyalah merupakan algoritma pendekatan dan tidak menjamin
diperolehnya pewarnaan dengan banyak warna minimum.

8.1.4.1 Algoritma Pewarna Barisan – Sederhana


Algoritma ini dimulai dengan melabel titik-titik graph G dengan
v 1 , v 2 , … , v n . Mula-mula warnai titik v 1 dengna warna 1 , selanjutnya warnai
titik v 2 dengan warna 1, jika v 2 tidak berhubungan langsung dengan v 1 ,
jika v 2 berhubungan langsung dengan v 1 , maka warnai titik v 2 dengan
warna 2. Proses dilanjutkan ke titik v 3 , warnai v 3 dengan warna 1, jika tidak
berhubungan langsung dengan v 1 , jika v 3 berhubungan langsung dengan
v 1 , maka warnai titik v 3 dengan warna 3. Proses ini dilanjutkan terus sampai
semua titik graph G mendapat warna Algoritma Barisan-sederhana, secara sistematis
dapat disajikan sebagai berikut:
INPUT : Graph G dengan n titik

STEP 1 : Label titik-titik graph G dengan v1 , v2 , … , vn

Label warna yang ada dengan 1,2, … , n .

STEP 2 : ∀ i=1,… ,n Ci ={ 1,2, … , i }


misal daftar warna yang dapat
digunakan untuk mewarnai titik v i

STEP 3 : Tulis i=1

STEP 4 : Misalkan c i warna pertama di Ci , warnailah v i dengan c i .

STEP 5 : Untuk setiap j i< j dan v i berhubungan langsung


dengan
dengan v j di G tulis C j=C i−( c i) . (ini berarti, v j tidak akan
mendapatkan warna yang sama dengan v i ).

STEP 6 : Catat setiap titik dan warnanya.

STOP.

Sebagai contoh penerapan algoritma diatas, perhatikan graph G pada gambar


berikut:
Gambar 8.5

STEP 1 : Pertama-tama label titik-titik G dengan v 1 , v 2 , v 3 , v 4 , v 5 , v 6 seperti


tampak pada gambar 8.5. label warna yang tersedia : 1, 2, 3, 4, 5, 6.

STEP 2 : C1 ={ 1 } , C 2={ 1,2 } ,C 3= {1,2,3 } , C 4= {1,2,3,4 } , C 5={ 1,2,3,4,5 } dan


C6 ={ 1,2,3,4,5,6 }

STEP 3 : i=1

STEP 4 : i adalah warna pertama di C1 . Warnai titik v 1 dengan warna 1.

STEP 5 : v 4 berhubungan langsung dengan v 1 , diperoleh


C 4= {1,2,3,4 }−{ 1 }= {2,3,4 }

i=1+1=2

STEP 4 : 1 adalah warna pertama di C2 . Warnai titik v 2 dengan warna 1.

STEP 5 : v 3 berhubungan langsung dengan v 2 , diperoleh


C3 ={ 1,2,3 }− {1 } ={ 2,3 }

i=2+1=3

STEP 4 : 2 adalah warna pertama di C3 . Warnai titik v 3 dengan warna 2.

STEP 5 : v 4 dan v 6 berhubungan langsung dengan v 3 , diperoleh


C 4= {2,3,4 }− {2 } ={ 3,4 } dan C6 ={ 1,2,3,4,5,6 }− {2 }={ 1,3,4,5,6 }

i=3+1=4

STEP 5 : v 5 berhubungan langsung dengan v 4 , diperoleh


C5 ={ 1,2,3,4,5 }− {3 }={ 1,2,4,5 }

i=4 +1=5

STEP 4 : 1 adalah warna pertama di C5 . Warnai titik v 5 dengan warna 1.

STEP 5 : tidak ada titik yang indeks labelnya lebih besar dari yang berhubungan
langsung dengan v 5

i=5+1=6

STEP 4 : 1 adalah warna pertama di C6 . Warnai titik v 6 dengan warna 1.

STEP 5 : i=6+1=7>6=n . lanjut ke Step 6

STEP 6 : Tabel titik-titik G dan warnanya.

V (G) v1 v2 v3 v4 :
v5 v6
v i Warna : 1 1 2 3 1 1

CATATAN: Dengan menggunakan algoritma diatas kita hanya memperoleh sebuah


pewarnaa -3 pada graph G. Perhatikan bahwa graph G merupakan graph
bipartisi , menurut teorema bilangan khromatik G adalah 2.

8.1.4.2 Algoritma Pewarnaan Barisan-Besar-Utama

Urutan dalam pelabelan titik pada graph dapat mempengaruhi banyak warna
yang diperlukan mewarnai semua titik G. Algoritma berikut disusun oleh Welsh dan
Powell, merupakan modifikasi dari Algoritma Barisan-Sederhana. Modifikasi yang
dilakukan terletak pada STEP 1, dimana urutan label titik pada graph mengikuti
derajat titik pada graph, yaitu mulai dari titik berderajat terbesar sampai kederajat
terkecil. Oleh karena itu, algoritma ini dikenal dengan nama Algoritma Barisan
Besar – Utama. Berikut disajikan secara lengkap langkah-langkah algoritma
tersebut.

INPUT : Graph G dengan n titik.

STEP 1: Label titik-titik graph G dengan v 1 , v 2 , … , v n sedemikian.

v
v
v
Hingga d (¿¿ n) .
d (¿¿ 2)≥ … ≥ ¿
d ( ¿¿ 1)≥¿
¿
Label warna-warna yang ada dengan 1,2, 3, … , n .

STEP 2 : ∀ i=1,2, … , n misal Ci ={ 1,2, … , i } daftar warna yang dapat


digunakan untuk mewarnai titik v i

STEP 3 : Tulis i=1

STEP 4 : Misalkan c i warna pertama di Ci , warnailah v i dengan c i .

STEP 5 : Untuk setiap j dengan i< j dan v i berhubungan langsung


dengan v j di G tulis C j=C i−( c i) . (ini berarti, v j tidak akan
mendapatkan warna yang sama dengan v i ).

STEP 6 : Catat setiap titik dan warnanya STOP.

Mari kita terapkan algoritma ini untuk mengkonstruksi sebuah pewarnaan


graph G pada gambar 8.5 diatas.
STEP 1 : Label titik-titik G dengan v 1 , v 2 , v 3 , v 4 , v 5 , v 6 seperti tampak pada
gambar 8.6 berikut

Gambar 8.6 Pelabelan titik-titik G diurut dimulai maksimum sampai titik berderajat
minimum.

STEP 2 : C1 ={ 1 } , C 2={ 1,2 } ,C 3= {1,2,3 } , C 4= {1,2,3,4 } , C 5={ 1,2,3,4,5 } dan


C6 ={ 1,2,3,4,5,6 }

STEP 3 : i=1

STEP 4 : i adalah warna pertama di C1 . Warnai titik v 1 dengan warna 1.

STEP 5 : v 2 , v 4 dan v 6 berhubungan langsung dengan v 1 , diperoleh


C2 ={ 1,2 }−{ 1 }= {2 } ; C 4= {1,2,3,4 }−{ 1 }= {2,3,4 } ;
C6 ={ 1,2,3,4,5,6 }− {1 }={ 2,3,4 , 5,6 }

i=1+1=2

STEP 4 : 2 adalah warna pertama di C2 . Warnai titik v 2 dengan warna 2.

STEP 5 : v 3 dan v 5 berhubungan langsung dengan v 2 , diperoleh


C3 ={ 1,2,3 }− {2 } ={ 1, 3 } dan C5 ={ 1,2,3,4,5 }− {2 } ={ 1,3 , 4,5 }

i=2+1=3

STEP 4 : 1 adalah warna pertama di C3 . Warnai titik v 3 dengan warna 1.

STEP 5 : tidak ada titik yang berindeks lebih dari 3 yang berhubungan langsung
dengan v 3

i=3+1=4

STEP 4 : 2 adalah warna pertama di C 4 . Warnai titik v 4 dengan warna 2.

STEP 5 : tidak ada titik yang berindeks lebih dari 4 yang berhubungan langsung
dengan v 4

i=4 +1=5

STEP 4 : 1 adalah warna pertama di C5 . Warnai titik v 5 dengan warna 1.

STEP 5 : tidak ada titik yang berindeks lebih dari 5 yang berhubungan langsung
dengan v 5
i=5+1=6

STEP 4 : 2 adalah warna pertama di C6 . Warnai titik v 6 dengan warna 2.

STEP 5 : tidak ada titik yang berindeks lebih dari 6 yang berhubungan langsung
dengan v 6

i=6+1=7 . karena i> n , lanjut ke Step 6.

STEP 6 : Tabel titik-titik G dan warnanya.

V (G) v 1 v 2 v 3 v4 :
v5 v6
v i Warna : 1 2 1 2 1 2

Gambar 8.7 : Sebuah pewarnaan -2 pada graph G

CATATAN : Terlihat bahwa dengan algoritma ini hanya dua warna yang diperlukan untuk
mewarnai semua titik graph G, lebih sedikit dibandingkan dengan menggunakan algoritma
sebelumnya.
STEP 2 : Ci ={ 1,2, … , i } daftar warna yang dapat digunakan untuk mewarnai titik
vi

STEP 3 : Tulis i=1

STEP 4 : Misalkan c i warna pertama di Ci , warnailah v i dengan c i .

STEP 5 : Untuk setiap j dengan i< j dan v i berhubungan langsung dengan


v j di G tulis C j=C i−(c i) . (ini berarti, v j tidak akan mendapatkan
warna yang sama dengan v i ).

STEP 6 : Catat setiap titik dan warnanya STOP.

Mari kita terapkan algoritma ini untuk mengkonstruksi sebuah pewarnaan graph G
pada gambar 8.5 diatas.

STEP 1 : Label titik-titik G dengan v 1 , v 2 , v 3 , v 4 , v 5 , v 6 seperti tampak pada gambar


8.6 berikut

Vous aimerez peut-être aussi