Mendeteksi Clique Dalam Suatu Graf

MENDETEKSI CLIQUE DALAM SUATU GRAF
TESIS Oleh WIWIN APRIANI 117021015/MT
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2013
Universitas Sumatera Utara

MENDETEKSI CLIQUE DALAM SUATU GRAF
TESIS
Diajukan Sebagai Salah Satu Syarat untuk Memperoleh Gelar Magister Sains dalam
Program Studi Magister Matematika pada Fakultas Matematika dan Ilmu Pengetahuan Alam
Universitas Sumatera Utara
Oleh WIWIN APRIANI
117021015/MT
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2013
Universitas Sumatera Utara

Judul Tesis Nama Mahasiswa Nomor Pokok Program Studi

: MENDETEKSI CLIQUE DALAM SUATU GRAF : Wiwin Apriani : 117021015 : Magister Matematika

Menyetujui, Komisi Pembimbing


(Prof. Dr. Saib Suwilo, M.Sc) Ketua

(Prof. Dr. Opim Salim S, M.Sc) Anggota

Ketua Program Studi (Prof. Dr. Herman Mawengkang)

Dekan (Dr. Sutarman, M.Sc)

Tanggal lulus : 3 Juni 2013

Universitas Sumatera Utara

Telah diuji pada Tanggal : 3 Juni 2013

PANITIA PENGUJI TESIS
Ketua : Prof. Dr. Saib Suwilo, M.Sc
Anggota : 1. Prof. Dr. Opim Salim S, M.Sc 2. Prof. Dr. Tulus, M.Si 3. Dr. Marwan Ramli, M.Si

Universitas Sumatera Utara


PERNYATAAN
MENDETEKSI CLIQUE DALAM SUATU GRAF
TESIS
Saya mengakui bahwa tesis ini adalah hasil karya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing dituliskan sumbernya
Medan, 3 Juni 2014 Penulis, Wiwin Apriani
i
Universitas Sumatera Utara

ABSTRAK
Diberikan suatu graf simple G dengan n buah verteks. Selanjutnya menjelaskan suatu algoritma untuk mendapatkan clique maksimal pada G. Semua graf G dengan n buah verteks dan derajat minimum verteks δ akan memperoleh clique maksimum yang berukuran sedikitnya ⌈n/(n−δ)⌉. Clique Q dari G merupakan suatu himpunan verteks, dimana setiap verteks saling terhubung satu sama lain. Suatu clique dikatakan clique maksimal bila sudah tidak memiliki verteks-verteks yang adjoinable lagi. Untuk mendapatkan clique maksimal Qi digunakan Algoritma Clique Maksimal. Algoritma ini dibagi menjadi dua bagian, pada masing-masing bagian tersebut terdapat dua prosedur pengerjaan yang saling berkaitan satu sama lain. Prosedur pertama adalah bertujuan untuk mencari clique maksimal Qi dan prosedur kedua bertujuan untuk mencari clique maksimal Qi lain yang masih dapat ditemukan dari prosedur pertama. Kata kunci : Clique, Clique maksimal, Verteks adjoinable
ii
Universitas Sumatera Utara

ABSTRACT Given a simple graph G with n vertices. Furthermore, describes an algorithm to get maximum clique in graph G. Every graph G with n vertices and minimum vertex degree δ must have a maximum clique of size at least ⌈n/(n − δ)⌉. Clique Q of G is a set of vertices, where each vertex are connected to each other. Clique is called maximum clique when it does not have vertices that adjoinable again. For finding maximum clique Qi used Algorithm Maximum Clique. This algorithm is divided into two parts, each part of the two procedure is that there are inter-related to each other. The first procedure to explore the maximum clique of the Qi, and the second procedure to find the another maximum clique Qi can be found from the first procedure. Keyword : Clique, Maximum clique, Adjoinable vertices
iii
Universitas Sumatera Utara

KATA PENGANTAR
Syukur Alhamdulillah kehadirat ALLAH SWT, penulis panjatkan atas limpahan Rahmat dan KaruniaNya yang telah diberikan sehingga penulis dapat menyelesaikan tesis dengan judul : ”Mendeteksi Clique Dalam Suatu Graf”. Selawat dan salam kepada junjungan Nabi Muhammad SAW beserta keluarga dan sahabat sekalian.
Tesis ini merupakan salah satu persyaratan penyelesaian studi pada Program Studi Magister Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.

Pada kesempatan ini penulis menyampaikan terima kasih dan penghargaan yang sebesar-besarnya kepada:
Prof. Dr. dr. Syahril Pasaribu, DTM&H, M.Sc(CTM), Sp.A(K) selaku Rektor Universitas Sumatera Utara
Dr. Sutarman, M.Sc selaku Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam yang telah memberikan kesempatan kepada penulis untuk mengikuti Program Studi Magister Matematika di FMIPA Universitas Sumatera Utara
Prof. Dr. Herman Mawengkang selaku ketua Program Studi Magister Matematika FMIPA Universitas Sumatera Utara yang telah banyak memberikan bantuan dan dorongan dalam penulisan tesis ini hingga selesai.
Prof. Dr. Saib Suwilo, M.Sc sebagai Sekretaris Program Studi Magister Matematika FMIPA Universitas Sumatera Utara pembimbing I dalam penulisan tesis ini, atas saran dan bantuan dari beliau hingga penulisan ini dapat diselesaikan.
Prof. Dr. Opim Salim S, M.Sc juga sebagai pembimbing II dalam penulisan tesis ini, atas saran dan bantuan dari beliau sehingga penulisan ini dapat diselesaikan.
Prof. Dr. Tulus, M.Si selaku pembanding atas saran dan bantuannya untuk kesempurnaan penulisan tesis ini.
Dr. Marwan Ramli, M.Si selaku pembanding atas saran dan bantuannya untuk kesempurnaan penulisan tesis ini.
iv
Universitas Sumatera Utara

Seluruh Staf Pengajar pada Program Studi Magister Matematika FMIPA Universitas Sumatera Utara yang telah banyak memberikan ilmu pengetahuan selama masa perkuliahan. Ibu Misiani, S.Si selaku Staf Administrasi Program Studi Magister Matematika FMIPA Universitas Sumatera Utara yang telah memberikan pelayanan yang baik kepada penulis selama mengikuti perkuliahan.
Ucapan terima kasih yang tak terhingga dan penghargaan setinggi-tingginya penulis ucapkan kepada ayahanda Suparman dan Ibunda Sugiati yang telah mencurahkan kasih sayang dan dukungan kepada penulis. Selain itu, terima kasih juga kepada suami tercinta Indra Setiawan, S. Si dan sang buah hati Qonita Alifa Najwa serta seluruh keluarga yang telah membantu, memberikan semangat dan dorongan kepada penulis hingga penulisan tesis ini selesai.
Seluruh sahabat serta rekan-rekan seperjuangan mahasiswa angkatan 2011 ganjil atas kebersamaan dan bantuan dalam mengatasi masalah selama perkuliahan berlangsung. Terima kasih juga kepada sahabat dan rekan-rekan lainnya yang tidak dapat disebutkan satu persatu, yang telah membantu dan memberikan semangat untuk penulis hingga tesis ini selesai.
Akhir kata penulis menyadari bahwa tesis ini masih jauh dari sempurna. Untuk itu penulis mengharapkan kritik dan saran untuk penyempurnaan tesis ini. Semoga tesis ini dapat bermanfaat bagi pembaca dan pihakpihak lainnya yang memerlukannya.
Medan, Juli 2013 Penulis,
Wiwin Apriani
v
Universitas Sumatera Utara


RIWAYAT HIDUP Penulis di lahirkan di Desa Purwodadi Kabupaten Aceh Tamiang pada tanggal 10 April 1986 dan merupakan anak kedua dari tiga bersaudara, dari ayah Suparman dan ibu Sugiati. Penulis menamatkan Sekolah Dasar (SD), SD Negeri 2 Kejuruan Muda, Lulus tahun 1998. Sekolah Lanjutan Tingkat Pertama (SLTP), SLTP Negeri 2 Kejuruan Muda, Lulus tahun 2001. Sekolah Menengah Atas (SMA), SMA Negeri 2 Kejuruan Muda, Lulus tahun 2004. Pada tahun 2004 penulis melanjutkan pendidikan sarjana di Universitas Syiah Kuala Banda Aceh pada Fakultas Matematika dan Ilmu Pengetahuan Alam (MIPA) jurusan Matematika dan Lulus pada tahun 2009. Tahun 2011, penulis berkesempatan untuk melanjutkan Program Master pada Program Studi Magister Matematika Universitas Sumatera Utara Medan.
vi
Universitas Sumatera Utara

DAFTAR ISI

PERNYATAAN ABSTRAK ABSTRACT KATA PENGANTAR RIWAYAT HIDUP DAFTAR ISI DAFTAR TABEL DAFTAR GAMBAR
BAB 1 PENDAHULUAN
1.1 Latar Belakang 1.2 Perumusan Masalah 1.3 Tujuan Penelitian 1.4 Manfaat Penelitian 1.5 Metode Penelitian
BAB 2 TINJAUAN PUSTAKA

Halaman i ii
iii iv vi vii ix x
1
1 2 2 2 3
4

BAB 3 LANDASAN TEORI

6


3.1 Graf 3.2 Clique 3.3 Notasi dan Definisi

6 9 11

BAB 4 MENDETEKSI CLIQUE DALAM SUATU GRAF

13

4.1 Algoritma Clique Maksimal 4.2 Keakuratan Algoritma

13 18

vii
Universitas Sumatera Utara

4.3 Kompleksitas BAB 5 KESIMPULAN DAFTAR PUSTAKA

20 22 23


viii
Universitas Sumatera Utara

DAFTAR TABEL

Nomor

Judul

4.1 Vertek-verteks yang adjoinable dengan Q3

4.2 Vertek-verteks yang adjoinable dengan Q3,5

4.3 Vertek-verteks yang adjoinable dengan Q3,5,8

4.4 Vertek-verteks yang adjoinable dengan Q3,5,8,7

Halaman 16 17 17 17

ix

Universitas Sumatera Utara

DAFTAR GAMBAR

Nomor

Judul

3.1 Contoh clique dalam graf

4.1 Graf desa-desa yang terhubung

4.2 Graph with maximal clique k = 5

Halaman 10 16 18

x
Universitas Sumatera Utara

ABSTRAK

Diberikan suatu graf simple G dengan n buah verteks. Selanjutnya menjelaskan suatu algoritma untuk mendapatkan clique maksimal pada G. Semua graf G dengan n buah verteks dan derajat minimum verteks δ akan memperoleh clique maksimum yang berukuran sedikitnya ⌈n/(n−δ)⌉. Clique Q dari G merupakan suatu himpunan verteks, dimana setiap verteks saling terhubung satu sama lain. Suatu clique dikatakan clique maksimal bila sudah tidak memiliki verteks-verteks yang adjoinable lagi. Untuk mendapatkan clique maksimal Qi digunakan Algoritma Clique Maksimal. Algoritma ini dibagi menjadi dua bagian, pada masing-masing bagian tersebut terdapat dua prosedur pengerjaan yang saling berkaitan satu sama lain. Prosedur pertama adalah bertujuan untuk mencari clique maksimal Qi dan prosedur kedua bertujuan untuk mencari clique maksimal Qi lain yang masih dapat ditemukan dari prosedur pertama. Kata kunci : Clique, Clique maksimal, Verteks adjoinable
ii
Universitas Sumatera Utara

ABSTRACT Given a simple graph G with n vertices. Furthermore, describes an algorithm to get maximum clique in graph G. Every graph G with n vertices and minimum vertex degree δ must have a maximum clique of size at least ⌈n/(n − δ)⌉. Clique Q of G is a set of vertices, where each vertex are connected to each other. Clique is called maximum clique when it does not have vertices that adjoinable again. For finding maximum clique Qi used Algorithm Maximum Clique. This algorithm is divided into two parts, each part of the two procedure is that there are inter-related to each other. The first procedure to explore the maximum clique of the Qi, and the second procedure to find the another maximum clique Qi can be found from the first procedure. Keyword : Clique, Maximum clique, Adjoinable vertices
iii
Universitas Sumatera Utara

BAB 1 PENDAHULUAN
1.1 Latar Belakang
Dalam kehidupan banyak hal yang dapat digambarkan dengan menggunakan suatu diagram yang terdiri atas sekumpulan titik, dan garis untuk menghubungkan titik tersebut. Sebagai contoh, andaikan titik-titik direpresentasikan sebagai orang, dan garis direpresentasikan sebagai tingkat pertemanan. Selain itu, juga dapat dilihat pada pusat-pusat komunikasi yang disimbolkan dengan titik, dan hubungan komunikasi disimbolkan sebagai garis yang menghubungkan tiap-tiap titik tersebut. Permasalahan tersebut dalam matematika dikenal sebagai konsep graf, karena dari titik-titik pada permasalahan tersebut dapat dilihat apakah dihubungkan dengan suatu garis ataukah tidak.
Brualdi dan Ryser (1991) merepresentasikan graf G dari suatu masalah yang digambarkan sebagai titik (verteks) yang dihubungkan dengan garis (edge). Sehingga suatu graf dapat disebut sebagai Himpunan (V, E) dimana V adalah himpunan berhingga dan tidak kosong dari verteks v1, v2, · · · , vn, dan E adalah himpunan edge yang menghubungkan verteks e1, e2, · · · , en atau dapat ditulis sebagai G = (V, E).
Diberikan suatu graf tak berarah G = (V, E), dimana V merupakan sekumpulan verteks dan E merupakan sekumpulan edge. Dua buah verteks dikatakan adjacent jika kedua verteks tersebut dihubungkan oleh sebuah edge. Suatu clique merupakan suatu subset dari verteks dalam graf G, sehingga tiap pasang verteks dalam G saling terhubung oleh edge. Permasalahan clique maksimum merupakan suatu permasalahan untuk mendapatkan clique dengan jumlah verteks terbanyak dalam suatu graf.
Permasalahan maksimum clique merupakan suatu permasalahan klasik dalam optimisasi kombinatorial. Sehingga untuk mendapatkannya belum ditemukan solusi yang sangat efektif. Pada tahun 1972, karp memperkenalkan 21 data permasalahan lengkap NP (Non Polinomial), salah satunya adalah kasus bagaimana menemukan clique maksimal dalam suatu graf.
1
Universitas Sumatera Utara

2
Permasalahan clique merupakan sebuah permasalahan graf NP-complete, dimana untuk mendapatkan penyelesaian eksak yang efisien dari permasalahan tersebut sangat susah. Clique juga merupakan suatu subgraf lengkap yang diperoleh dari suatu graf yang terdiri atas tiga atau lebih titik (verteks). Setiap titik tersebut saling berdekatan satu sama lain dengan titik lainnya. Pencarian maksimum clique telah diterapkan dalam sejumlah bidang keilmuan, keahlian teknik dan bahkan dalam bidang bisnis. Beberapa penerapan clique bahkan mencapai bidang biologi meliputi solusi permasalahan struktur molekul DNA. Clique juga digunakan dalam pemrosesan citra dalam pengaturan jarak jauh, pencocokan titik koordinat dalam system informasi, permasalahan partisi data dalam kepingan memory dan lain-lain. Permasalahan ini juga merupakan suatu permasalahan pencarian solusi yang dianggap cukup sulit, sama seperti permasalahan knapsack, pewarnaan graf, sirkuit Hamilton, n − puzzle dan Travelling Sales Person. Hingga sekarang belum ditemukan algoritma yang benar-benar sesuai untuk penyelesaian permasalahan tersebut meskipun untuk beberapa kasus telah ditemukan algoritma solusi yang mendekati hasil optimal.
1.2 Perumusan Masalah Adapun permasalahan yang akan dibahas dalam tesis ini adalah bagaimana menemukan clique maksimal pada sembarang graf simple yang terdiri dari n buah verteks berhingga.

1.3 Tujuan Penelitian Tujuan dari tesis ini adalah memperoleh clique maksimum pada suatu graf simple dengan menggunakan algoritma clique maksimal.
1.4 Manfaat Penelitian Adapun manfaat dari penelitian ini sebagai bahan untuk membantu menyelesaikan permasalahan pencarian clique maksimal dalam suatu graf, serta dapat dijadikan sebagai bahan pembelajaran untuk masalah clique. Selain itu juga dapat digunakan untuk memperkaya literatur tentang masalah clique.
Universitas Sumatera Utara

3 1.5 Metode Penelitian Penelitian ini bersifat studi literatur ataupun studi kepustakaan dengan mengacu pada jurnal-jurnal internasional yang berhubungan dengan clique. Selain itu, untuk mencari clique maksimal dapat dilakukan denga langkah-langkah sebagai berikut:
1. Menampilkan literatur-literatur yang berhubungan dengan clique. 2. Membahas masalah-masalah yang terjadi pada clique. 3. Mencari clique maksimal Qi dalam suatu graf simple. 4. Mencari clique maksimal Qi lain yang masih dapat ditemukan dari langkah 3. 5. Menampilkan hasil pencarian yang berupa clique maksimum pada suatu graf
simple.
Universitas Sumatera Utara

BAB 2
TINJAUAN PUSTAKA
Permasalahan clique maksimum merupakan suatu permasalahan klasik dalam pendekatan kombinatorial. Permasalahan ini merupakan suatu permasalahan NP-complete, dimana untuk mendapatkan penyelesaian eksak yang efisien dari permasalahan tersebut sangat susah. Bron dan Kerbosch memberikan suatu algoritma untuk mendapatkan semua clique dalam graf tak berarah (Balas dan Yu, 1986).
Pengelompokan dianggap sebagai bagian dari subgraf G yang saling terhubung (clique), misalnya mengelompokkan jumlah bobot edge yang maksimum dalam suatu graf, atau mencari total minimum bobot edge pada graf tersebut. Model uncapacitated biasa digunakan untuk analisis data kualitatif dari sejumlah item pada suatu graf, dimana item tersebut cenderung homogen dengan karakteristik yang dimiliki (Chopra dan Rao, 1991 dan 1993).
Dalam masalah pewarnaan yang dilakukan oleh Mehrotra dan Trick (1996), prosedur enumerasi di implementasikan untuk menyelesaikan masalah bobot maksimum dari clique, dimana bobot dari clique tersebut diberikan oleh bobot pada node-node dalam clique yang tidak memiliki kendala capacitated. Selain itu diberikan suatu prosedur untuk masalah pengelompokan bobot maksimum pada kendala knapsack. Dengan menggunakan metode kombinatorial, permasalahan ini dapat diselesaikan dengan menggunakan teknik innovative bounding, termasuk menggunakan prosedur tightening berdasarkan aliran maksimum. Metode ini sangat cepat dalam menyelesaikan masalah yang berukuran kecil atau sedang.
Masalah maximum weight cluster problem membagi verteks V kedalam subclique, dengan tujuan agar jumlah bobot dari edge yang memiliki dua buah titik akhir dalam subclique yang sama bernilai maksimum. Grotschel dan Wakabayasi (1989 dan 1990) mendeskripsikan secara detail beberapa jenis cutting planes, khususnya pada kendala triangle dan kendala 2-partition. Dari hasil yang diperoleh menunjukkan bahwa cukup hanya menggunakan triangle inequalities dan 2-partition inequalities. Suatu LP relaxtation terdiri dari semua triangle inequalities dan beberapa 2-partition inequalities yang keluar menjadi pengalaman yang sangat efektif. Pada kenyataannya bahwa hanya pe-
4
Universitas Sumatera Utara

5 nambahan cutting planes dari triangle inequalities yang cukup untuk mendapatkan dan membuktikan solusi optimal dalam berbagai kasus.
Universitas Sumatera Utara


BAB 3 LANDASAN TEORI
3.1 Graf
Menurut Teori Graf dalam Brualdi dan Ryser (1991) Graf G didefinisikan sebagai pasangan himpunan (V, E) dengan V adalah himpunan tak kosong dari titik (verteks), dan E adalah himpunan sisi (edge) yang menghubungkan sepasang titik pada graf G. Definisi tersebut menyatakan bahwa V tidak boleh kosong, sedangkan E boleh kosong. Dengan demikian sebuah graf dimungkinkan untuk tidak memiliki sebuah sisi pun, tetapi minimal satu buah titik harus dimiliki. Graf yang hanya memiliki sebuah titik tanpa memiliki sisi disebut graf trivial. Titik pada suatu graf dapat dinomori dengan huruf, seperti a, b, · · · , v, w, · · · , dengan bilangan asli, seperti 1, 2, 3, · · · , atau gabungan keduanya. Sedangkan sisi yang menghubungkan titik vi dan vj dinyatakan dengan pasangan vivj atau dengan lambang e1, e2, · · · , en. Dengan kata lain, jika e adalah sisi yang menghubungkan titik vi dengan vj, maka e dapat ditulis sebagai e = vivj.
Graf dapat dikelompokkan menjadi beberapa jenis tergantung sudut pandang pengelompokkannya yaitu sebagai berikut :
1. Berdasarkan ada tidaknya sisi ganda pada suatu graf
a. Graf sederhana (simple graph), berarti bahwa graf tidak mengandung loop ataupun sisi ganda.
b. Graf tak sederhana (unsimple graph), berarti bahwa graf mengandung loop ataupun sisi ganda.
2. Berdasarkan jumlah titik pada suatu graf
a. Graf berhingga (limited graph), yaitu graf yang jumlah titiknya n berhingga. b. Graf tak berhingga (unlimited graph), yaitu graf yang jumlah titiknya n tak
berhingga.
6
Universitas Sumatera Utara

7

3. Berdasarkan orientasi arah pada sisinya
a. Graf berarah (directed graph), yaitu suatu graf yang sisinya tidak memiliki arah orientasi. Pada graf tak berarah, vjvk dan vkvj adalah sisi yang sama.
b. Graf tak berarah (undirected graph), yaitu suatu graf yang sisinya diberikan arah orientasi. Pada graf berarah, vjvk dan vkvj menyatakan dua buah sisi yang berbeda, sehingga vjvk = vkvj.


Terdapat beberapa graf khusus yang sering digunakan dalam masalah teori graf, diantaranya adalah sebagai berikut:

a. Graf lengkap (Complete graph), yang berarti bahwa setiap verteks saling ter-

hubung dengan semua verteks lainnya. Biasanya graf lengkap direpresentasikan

dengan simbol Kn, dengan K adalah graf lengkap dan n adalah jumlah verteks.

Sebuah graf lengkap dengan n buah verteks akan mempunyai edge sebanyak

n(n−1) 2

.

b. Graf bipartisi (Bipartite graph), berarti bahwa graf yang satu verteksnya dibagi kedalam dua subset verteks m dan n, sedemikian sehingga tidak ada edge yang menyebabkan verteks-verteks dalam subset yang sama. Graf seperti ini biasanya direpresentasikan dengan simbol Km,n, dimana K adalah graf bipastisi dan m adalah jumlah subset verteks m, dan n adalah jumlah subset verteks n.

c. Graf lengkap bipartisi (Complete bipartite graph), yang berarti bahwa graf bipartisi yang setiap verteks dari m harus memiliki edge yang berhubungan ke semua verteks dari n. Biasanya graf ini direpresentasikan dengan simbol Km,n, sama seperti pada graf bipartisi.

d. Graf reguler (Regular graph), yang berarti bahwa graf yang setiap verteksnya memiliki derajat yang sama.

e. Tree adalah graf yang tidak memiliki cycle. Jika jumlah verteks pada Tree adalah n, maka jumlah edge pada tree adalah n − 1.

Berdasarkan orientasi arah pada sisi dan bobotnya, maka secara umum graf dapat dibedakan atas empat jenis yaitu:

Universitas Sumatera Utara

8
a. Graf tidak berarah dan berbobot: Didefinisikan sebagai suatu graf yang setiap sisinya tidak mempunyai arah anak panah, akan tetapi memiliki bobot pada setiap sisinya. Urutan pasangan verteks yang terhubung oleh setiap edge tidak diperhatikan. Sehingga (u, v) = (v, u) adalah sisi yang sama. Sehingga graf tak berarah sering dipakai pada jaringan saluran telepon karena sisi pada graf tak berarah menyatakan bahwa saluran telepon dapat beroperasi pada dua arah.
b. Graf berarah dan berbobot: Didefinisikan sebagai suatu graf yang setiap sisinya diberikan orientasi arah, yang disebut sebagai graf berarah. Secara umum sisi berarah disebut dengan busur (arc). Pada graf berarah (u, v) dan (v, u) menyatakan dua buah busur yang berbeda, dalam arti bahwa (u, v) = (v, u). Jadi untuk busur (u, v) verteks u dinamakan verteks asal dan verteks v dinamakan Verteks terminal atau verteks tujuan. Graf berarah sering dipakai untuk menggambarkan aliran proses, peta lintas kota dan lain sebagainya. Sehingga pada graf berarah gelang atau looping diperbolehkan tetapi sisi ganda tidak diperbolehkan.
c. Graf tidak berarah dan tidak berbobot: Didefinisikan sebagai suatu graf yang setiap sisinya tidak mempunyai arah dan tidak mempunyai bobot apapun.
d. Graf berarah dan tidak berbobot: Didefinisikan sebagai suatu graf yang setiap sisinya memiliki arah, akan tetapi tidak mempunyai bobot apapun.
Terdapat beberapa cara untuk mempresentasikan graf, diantaranya yang sering digunakan adalah matriks ketetanggaan, matriks bersisian dan senarai ketetanggaan.
1. Matriks ketetanggan (adjacency matrix) Misalkan G = (V, E) adalah suatu graf dengan n verteks, dimana n ≥ 1. Sehingga matriks ketetanggaan G adalah matriks yang berukuran n × n. Bila matriks tersebut dinamakan A = [aij], maka aij = 1 jika verteks i dan j bertetangga atau terhubung, sebaliknya jika aij = 0 maka verteks i dan j tidak bertetangga atau tidak terhubung. Matriks ini hanya berisi 0 dan 1, dan dapat juga dinyatakan dengan nilai false (menyatakan 0) dan true (menyatakan 1). Matriks ketetanggaan nol-satu tidak dapat digunakan untuk mempresentasikan graf yang mempunyai sisi ganda (graf ganda). Untuk graf semu, gelang pada simpul dinyatakan dengan nilai 1 pada matriks tetanggaannya. Jumlah elemen matriks ketetanggaan untuk
Universitas Sumatera Utara

9
graf dengan n buah verteks atau titik adalah n2. Jika setiap elemen membutuhkan ruang memori sebesar N, maka ruang memori yang diperlukan seluruhnya adalah N = n2.
2. Matriks bersisian (incidency matrix) Matriks bersisian menyatakan kebersisian verteks dengan edge. Misalkan G = (V, E) adalah graf dengan n buah verteks dan m buah edge. Matriks bersisian G adalah matriksn yang berukuran n × m. Baris menunjukkan label verteks, sedangkan kolom menunjukkan label edge. Bila matriks tersebut dinamakan A = [aij], maka aij = 1 jika verteks i bersisian dengan j, sebaliknya aij = 0 jika verteks i tidak bersisian dengan verteks j. Matriks bersisian dapat digunakan untuk mempresentasikan graf yang mengandung sisi ganda atau sisi gelang. Derajat setiap verteks i dapat dihitung dengan menghitung jumlah seluruh elemen pada baris i (kecuali pada graf yang mengandung gelang atau looping). Jumlah elemen matriks bersisian adalah n × m. Jika setiap elemen membutuhkan ruang memori sebesar N , maka ruang memori yang diperlukan seluruhnya adalah N = n × m.
3. Senarai ketetanggaan (adjacency list) Jika dilihat dari segi implementasinya terhadap komputer, matriks ketetanggaan memiliki kebutuhan ruang memori yang boros. Hal ini dikarenakan matriksnya memiliki banyak elemen nol, sedangkan didalam komputer elemen nol tidak perlu disimpan. Untuk mengatasi hal tersebut maka senarai ketetanggaan yang lebih baik digunakan. Senarai ketetanggaan mengurutkan verteks-verteks yang bertetangga dengan setiap verteks lainnya di dalam graf.
3.2 Clique
Sebuah subgraf G = (V, E) adalah subset dari himpunan verteks C ⊆ V sehingga setiap dua buah titik dalam C terhubungkan dengan sebuah sisi. Subgraf maksimum adalah subgraf terbesar yang dapat terbentuk dari suatu graf. Jumlah titik maksimum dari subgraf maksimum dinyatakan dalam ω(G). Salah satu contoh permasalahan dalam pencarian subgraf adalah pencarian subgraf minimum yang menghubungkan setiap titik dari suatu graf. Sebuah clique merupakan subgraf lengkap tak berarah dari suatu graf yang setiap titik saling terhubung satu sama lain. Dalam suatu graf akan terdapat
Universitas Sumatera Utara

10
sebuah clique jika dalam graf tersebut setidaknya terdapat sebuah subgraf lengkap berjumlah k buah simpul yang dapat berdiri sendiri (Regneri, 2007).

Gambar 3.1 Contoh clique dalam graf

Pada gambar di atas, diberikan dua buah contoh clique yang dapat dibentuk

dari graf tersebut. Dalam suatu graf akan terdapat sebuah clique jika dalam graf

tersebut terdapat setidaknya sebuah subgraf lengkap berjumlah k buah verteks yang

dapat berdiri sendiri. Adapun jumlah maksimum clique yang mungkin diperoleh dari

suatu graf V dengan ukuran clique k dapat dirumuskan sebagai berikut:

V k

=

V! k!(V −

k)!

(3.1)

Terdapat 4 permasalahan yang paling umum dalam masalah clique yaitu sebagai berikut:

1. Pencarian maksimum clique 2. Pencarian bobot maksimum 3. List maximal clique 4. Memecahkan masalah putusan apakah sebuah graf memiliki subgraf(clique) de-
ngan ukuran tertentu

Clique merupakan suatu algoritma yang menggabungkan pengelompokan berdasarkan grid dan density. Clique adalah suatu metode yang tepat digunakan untuk data berdimensi tinggi dalam database yang besar. Metode ini membangun pengelompokan multidimensional dalam dua tahap yaitu: Pertama, data berdimensi n dipartisi

Universitas Sumatera Utara

11
kedalam unit-unit rectangular yang tidak overlapping. Identifikasi tentang kepadatan (density) unit dilakukan untuk setiap dimensi. Unit density tersebut kemudian diuji untuk menentukan cluster. Kedua, clique membuat deskripsi minimal untuk setiap cluster. Untuk setiap cluster ditentukan daerah maksimum yang meliputi clustercluster dari unit density yang tersambung. Selanjutnya menentukan minimal cover dari setiap cluster. Adapun kelebihan dari clique yaitu secara otomatis dapat menemukan subspace dengan dimensi tertinggi sehingga cluster-cluster dengan density tinggi muncul dalam subspace tersebut, tidak sensitif terhadap urutan record yang masuk, skala inputnya linier dan skalabilitasnya baik sebagai jumlah dimensi data yang terus bertambah. Selain itu, kelemahan clique yaitu tingkat akurasinya masih rendah karena kesederhanaan dalam metode (Cavique et al, 2002).
3.3 Notasi dan Definisi
Dalam tesis ini akan menggunakan beberapa definisi dan notasi, sehingga berikut ini akan diberikan defenisi notasi yang tepat dari semua terminologi yang digunakan. Tulisan ini biasanya menggunakan notasi ⌊x⌋ untuk menyatakan bilangan bulat terbesar yang tidak lebih besar dari x dan fungsi ⌈x⌉ menunjukkan sedikitnya bilangan bulat yang tidak kurang dari x.
Sebuah simple graf G dengan n verteks yang terdiri dari suatu himpunan verteks V , dengan |V | = n, dan suatu himpunan edge E, sehingga setiap edge adalah pasangan tak berurut dari beberapa verteks yang berbeda . Pada definisi G secara eksplisit memberikan bahwa tidak membolehkan adanya loop dalam graf G tersebut, dan beberapa edge yang terhubung dengan sepasang verteks, sehingga himpunan E juga harus terbatas. Graf komplemen GC dari G adalah suatu graf simple dengan himpunan verteks yang sama pada G tapi {u, v} adalah suatu edge dalam GC jika dan hanya jika {u, v} bukan merupakan suatu edge dalam G. Dalam tesis ini dapat setiap verteks dalam G dinotasikan dengan bilangan bulat 1, 2, ..., n. Jika setiap pasangan terurut vrteks {u, v} terhubung dengan suatu edge dalam G, dapat dikatakan bahwa u merupakan tetangga dari v dan ditulis uv ∈ E. Ketetanggaan merupakan suatu hubungan yang simetris uv ∈ E jika dan hanya jika vu ∈ E. Derajat sebuah simpul v, dilambangkan dengan d(v), yang merupakan jumlah tetangga dari v. Derajat minimum verteks dari G dinotasikan dengan δ.
Universitas Sumatera Utara

12 Suatu matriks ketetanggaan dari G adalah suatu matriks n × n dengan input baris u dan kolom v, akan bernilai 1 jika uv ∈ E dan bernilai 0 jika sebaliknya. Sebuah vertex cover C dari G merupakan sekumpulan verteks, sehingga untuk setiap edge {u, v} dari G sedikitnya terdapat satu u atau v di C. Sebuah clique Q dari G adalah sekumpulan verteks sedemikian sehingga setiap pasangan terurut dari verteks tersebut di Q terhubung oleh edge. Bila terdapat suatu clique Q pada G dan terdapat suatu vertex v luar Q, dapat dikatakan bahwa v adjoinable jika Q ∪ {v} juga merupakan suatu clique pada G. Hal ini dapat dilambangkan dengan ρ(Q) yang merupakan jumlah verteks yang adjoinable dari clique Q pada G. Suatu clique maksimal tidak memiliki verteks yang adjoinable lagi. Suatu clique maksimum adalah sebuah clique dengan jumlah verteks terbanyak. Sebuah graf berarah G = (V, E) terdiri dari suatu himpunan verteks V = {1, 2, · · · , n} dan suatu himpunan edge E ⊆ V × V . Dua buah verteks v dan w dikatakan adjoinable, jika terhubung dengan sepasang edge (v, w) ∈ E. Untuk setiap verteks v ∈ V , himpunan Γ(v) merupakan suatu himpunan dari semua verteks w ∈ V yang merupakan tetangga dari verteks v. |Γ(v)| merupakan derajat dari verteks v. Andaikan G(R) = (R, E ∩ R × R) merupakan subgraf dari suatu verteks di R, dimana R adalah bagian dari V . Sehingga jumlah verteks dalam sebuah clique maksimal dilambangkan dengan ω(G) (Janezic dan Konc, 2007).
Universitas Sumatera Utara

BAB 4 MENDETEKSI CLIQUE DALAM SUATU GRAF
4.1 Algoritma Clique Maksimal
Algoritma merupakan suatu prosedur komputasi yang terdifinisi dengan baik dengan mengambil beberapa nilai atau seperangkat nilai sebagai masukan (input) dan menghasilkan beberapa nilai atau seperangkat nilai sebagai keluaran (output). Sebuah algoritma juga merupakan suatu langkah komputasi yang mengubah input menjadi output. Dengan demikian, algoritma dikatakan sebagai suatu urutan langkah-langkah logis dan sistematis untuk menyelesaikan suatu permasalahan.
Diberikan suatu graf simple G dengan n buah verteks, dimana |V | = n, dan setiap pasang verteks dihubungkan dengan sebuah edge. Suatu graf GC disebut sebagai komplemen dari graf G dengan memiliki jumlah verteks yang sama pada G. Akan tetapi {u, v} merupakan edge dalam GC jika dan hanya jika {u, v} bukan anggota edge dalam G. Jika sepasang verteks {u, v} terhubung oleh suatu edge dalam G, maka u disebut sebagai tetangga v dan dapat dinyatakan sebagai uv ∈ E. Dengan demikian neighborhood dapat dikatakan sebagai suatu hubungan simetris dari u dan v, dimana uv ∈ E jika dan hanya jika vu ∈ E. Derajat dari verteks V dinotasikan dengan d(v), yang merupakan jumlah tetangga v. Derajat minimum pada semua verteks dalam G dinotasikan dengan δ.
Suatu matriks adjacency dari G merupakan suatu matriks n × n dengan entri baris u dan kolom v, akan bernilai 1 jika uv ∈ E dan bernilai 0 jika sebaliknya. Clique Q dari G merupakan suatu himpunan verteks, dimana setiap verteks saling terhubung satu sama lain. Jika diberikan suatu clique Q pada G, dan terdapat suatu verteks v diluar Q, sehingga dapat dikatakan bahwa v adalah verteks adjoinable pada clique Q. ρ(Q) dinotasikan sebagai jumlah verteks yang adjoinable. Pada masalah maksimum clique, tidak lagi ditemukan verteks adjoinable dalam graf yang mengandung clique maksimal tersebut.
13
Universitas Sumatera Utara

14
Devinisi: Diberikan sebuah clique Q pada graf G, dan terdapat suatu verteks v diluar Q, sehingga dapat dikatakan bahwa v adjoinable ke Q jika Q ∪ {v} merupakan clique yang juga berada di G. Proposisi 4.1: Qk adalah clique maksimal dari G jika setiap v ∈ G \ Qk terhubung ke paling banyak k − 1 titik di Qk. Bukti: Apabila terdapat suatu titik v ∈ G terhubung ke paling banyak k + 1 titik di Qk, maka Qk bukanlah suatu clique maksimal di G.
Untuk mendeteksi clique maksimal dalam suatu graf tidak berbobot dapat dilakukan dengan mengikuti dua prosedur berikut: Prosedur 1:
1. Ambil sembarang graf simple G dengan n verteks, dan ambil sebuah clique Q pada G yang berukuran 2 verteks.
2. Ambil verteks awal Qi untuk memulai pencarian clique maksimal, dimana i = 1, 2, 3, ..., n.
3. Cari verteks-verteks v yang adjoinable dengan Qi. 4. Cari verteks-verteks yang adjoinable pada (Q ∪ {v}). 5. Tentukan jumlah verteks-verteks yang adjoinable ρ(Q ∪ {v}). 6. Cek letak maksimum ρ(Q ∪ {v}) di vmax pada Qi. 7. Gabungkan vmax ke Qi. 8. Ulangi langkah 3 sampai langkah 7 untuk pencarian selanjutnya. 9. Pencarian berhenti bila tidak terdapat lagi verteks yang adjoinable.
Prosedur 2:
1. Ambil sembarang graf simple G dengan n verteks, dan ambil suatu clique maksimal Qk pada G.
Universitas Sumatera Utara

15
2. Jika Qk memenuhi proposisi 4.1, maka akan diabaikan titik-titik yang tidak termasuk kedalam k − 1.
3. Cari verteks-verteks yang adjoinable dengan Qk dengan mengikuti prosedur 1.
Suatu graf simple G dengan n buah verteks disimbolkan dengan 1, 2, ..., n, akan dicari sebuah clique maksimal yang berukuran k. Pada setiap langkah, jika diperoleh clique maksimal berukuran k, maka proses pencarian berhenti. Adapun langkahlangkah algoritma dilakukan adalah:
I. Untuk i = 1, 2, ..., n Inisialkan clique Qi = {i} Lakukan prosedur 1 pada Qi Jika pada G terdapat jumlah Qmax 1, maka lakukan prosedur 2 Diperoleh hasil berupa clique maksimal Qk
II. Untuk tiap pasang maksimum clique Qi, Qj yang diperoleh pada bagian I, Inisialkan clique Qi,j = Qi ∩ Qj Lakukan prosedur 1 pada Qi,j Jika pada G terdapat jumlah Qmax 1, maka lakukan prosedur 2 Diperoleh hasil berupa clique maksimal Qki,j
Sebagi contoh andaikan terdapat 10 desa disuatu kecamatan. Desa-desa tersebut dapat dikatakan terhubung jika antar desa tersebut terdapat suatu jalan yang menghubungkan kedua desa tersebut. Setelah dilakukan pencatatan, diperoleh data desa-desa yang langsung terhubung dan desa-desa yang tidak langsung terhubung. Adapun desa-desa yang diamati adalah sebagai berikut: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. Untuk mendeteksi clique maksimal, permasalahan diatas dapat digambarkan kedalam suatu bentuk graf simple seperti yang terlihat pada gambar 4.1.
Universitas Sumatera Utara

16

Gambar 4.1 Graf desa-desa yang terhubung

Pada gambar tersebut dapat dicari verteks-verteks yang saling adjoinable dan membentuk sebuah clique. Adapun proses pencarian clique dan maksimum clique berdasarkan pada prosedur 1 dan 2. Proses pencarian dapat dilihat sebagai berikut:

1. Pada gambar 4.1 diperoleh 10 buah verteks yaitu V = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} 2. Diambil verteks awal i = 3, diperoleh clique Q3 = {i} = {3} yang berukuran 1 3. Dicari verteks-verteks yang adjoinable dengan Q3, diperoleh hasil sebagai berikut:

Tabel 4.1 Vertek-verteks yang adjoinable dengan Q3

v adjoinable pada Q3 Q3 ∪ {v} ρ(Q3 ∪ {v})

2 91

9

2,8,6,5

4

8

9,7,5,4

4

7

8,6,5,4

4

6

9,7,5

3

5

9,8,7,6,4

5

4

8,7,5

3

Dari tabel 4.1 diperoleh bahwa jumlah verteks yang adjoinable dengan Q3 yang maksimum berada pada vertek 5. Hal ini berarti bahwa verteks 5 dapat di adjoinkan dengan Q3. Sehingga diperoleh clique baru yang merupakan gabungan dari Q3 dan V = 5, dan dapat ditulis sebagai Q3,5 = Q3 ∪ {v} = {3, 5} yang berukuran k = 2.

Universitas Sumatera Utara

17

4. Dicari verteks-verteks yang adjoinable dengan Q3,5, diperoleh hasil sebagai berikut: Dari tabel 4.2 diperoleh bahwa jumlah verteks yang adjoinable dengan Q3,5 yang

Tabel 4.2 Vertek-verteks yang adjoinable dengan Q3,5

v adjoinable pada Q3,5 Q3,5 ∪ {v} ρ(Q3,5 ∪ {v})

9 8,6 2

8

9,7,4

3

7

6,8,4

3

6 9,5 2

4 8,7 2

maksimum berada pada vertek 8. Hal ini berarti bahwa verteks 8 dapat di adjoinkan dengan Q3,5. Sehingga diperoleh clique baru Q3,5,8 = Q3,5∪{v} = {3, 5, 8} yang berukuran k = 3.

5. Dicari verteks-verteks yang adjoinable dengan Q3,5,8, diperoleh hasil sebagai berikut:

Dari tabel 4.2 diperoleh bahwa jumlah verteks yang adjoinable dengan Q3,5,8 yang maksimum berada pada vertek 7. Hal ini berarti bahwa verteks 7 dapat di adjoinkan dengan Q3,5,8. Sehingga diperoleh clique baru Q3,5,8,7 = Q3,5,8 ∪ {v} = {3, 5, 8, 7} yang berukuran k = 4.

Tabel 4.3 Vertek-verteks yang adjoinable dengan Q3,5,8

v adjoinable pada Q3,5,8 Q3,5,8 ∪ {v} ρ(Q3,5,8 ∪ {v})

9

None

0

7 41

4 71

5. Dicari verteks-verteks yang adjoinable dengan Q3,5,8,7, diperoleh hasil sebagai berikut:

Tabel 4.4 Vertek-verteks yang adjoinable dengan Q3,5,8,7

v adjoinable pada Q3,5,8,7 Q3,5,8,7 ∪ {v} ρ(Q3,5,8,7 ∪ {v})

4

None

0

Dari tabel 4.3 diperoleh bahwa jumlah verteks yang adjoinable dengan Q3,5,8,7 hanya satu verteks yaitu verteks 4. Sehingga verteks 4 dapat diadjoinkan, dan diperoleh clique baru Q3,5,8,7,4 = Q3,5,8,7 ∪ {v} = {3, 5, 8, 7, 4} yang berukuran k = 5.

Universitas Sumatera Utara

18
6. Proses pencarian selesai karena tidak terdapat lagi verteks yang adjoinable, dan diperoleh clique maksimal berukuran k = 5.
Gambar 4.2 Graph with maximal clique k = 5
4.2 Keakuratan Algoritma Algoritma clique maksimal dapat diterapkan pada sembarang graf simple. Algo-
ritma ini akan berhenti apabila telah mendapatkan clique yang berukuran maksimum. Proposisi berikut menunjukkan bahwa Algoritma yang digunakan pasti akan menemukan clique maksimal bila clique ada. Selanjutnya akan dibuktikan bahwa setiap graf dengan n buah verteks dan derajat minimum δ memiliki clique maksimum berukuran sedikitnya ⌈n/(n − δ)⌉. Prinsip Sarang Merpati: jika terdapat l benda yang akan didistribusikan kedalam p sarang, maka ada sarang yang akan menerima paling sedikit ⌈l/p⌉ benda, dan ada sarang yang akan menerima paling banyak ⌊l/p⌋ benda. Proposisi 4.2.1: Diberikan sembarang graf simple G dengan n buah verteks, dan diberikan suatu clique Q. Berdasarkan prosedur 1, jika terdapat verteks l diluar Q dan derajat minimum antar vertek dalam Q lebih besar dari n − ⌈l/(n − l)⌉ − 1, maka diperoleh clique maksimal dari prosedur 1. Bukti: Andaikan Q adalah clique maksimal, maka Q tidak memiliki verteks adjoinable pada G. Pada graf komplemen Gc, setiap verteks diluar Q harus memiliki tetangga Q. Sehingga dalam graf komplemenGc paling sedikit terdapat l edge (benda) dengan satu verteks akhir diluar Q dan verteks akhir lainnya dalam Q terdapat p = n − 1 verteks dalam Q (sarang). Berdasarkan prinsip sarang merpati, ada verteks dalam Q harus masuk paling sedikit ⌈l/p⌉ edges dalam Gc. Tetapi hal ini kontradiksi, karena derajat
Universitas Sumatera Utara

19
maksimum antar verteks dalam Q lebih kecil dari ⌈l/(n − l⌉ = ⌈l/p⌉ dalam Gc, sehingga derajat minimum antar verteks dalam Q lebih besar dari n − ⌈l/(n − l)⌉ − 1 dalam G.
Proposisi 4.2.2: Diberikan suatu clique Q pada G, clique maksimal pada G akan diperoleh dari prosedur 1.
Bukti: Prosedur 1 akan berhenti pada saat tidak ada lagi verteks adjoinable. Berdasarkan definisi, hasil yang diperoleh clique harus bernilai maksimal.
Proposisi 4.2.3: Diberikan graf simple G dengan n verteks, dan terdapat clique maksimum Q. Jika terdapat m verteks diluar clique maksimal Q dan derajat minimum antar verteks dalam Q lebih besar dari n − ⌈2m/(n − m)⌉ − 1, maka terdapat verteks v diluar Q sedemikian sehingga ada satu verteks w dalam Q yang bukan tetangga v dan prosedur 2 menghasilkan clique maksimum yang berbeda dari Q dan berukuran lebih besar atau sama dengan ukuran Q.
Bukti: Pada saat Q maksimal, maka tidak ada verteks adjoinable lagi dalam G. Dalam graf komplemen Gc, setiap verteks diluar Q paling sedikit memiliki satu tetangga dalam Q. Andaikan dalam graf komplenen Gc setiap verteks memiliki lebih dari satu tetangga dalam Q, maka dalam Gc terdapat paling sedikit l = 2m edges (benda) dengan satu verteks akhir diluar Q dan verteks akhir lainnya dalam Q terdapat p = n − m verteks dalam Q (sarang). Berdasarkan prinsip sarang merpati, ada verteks dalam Q harus masuk paling sedikit ⌈l/p⌉ edges dalam Gc. Hal ini kontradiksi, karena dari hipotesis derajat minimum antar verteks dalam Q lebih besar dari n−⌈l/p⌉−1 dalam G, sehingga derajat maksimum antar verteks dalam Q lebih kecil dari ⌈l/p⌉ dalam Gc. Sedemikian sehingga dalam Gc terdapat verteks v diluar Q, dimana v memiliki satu tetangga dalam Q yaitu w. Hal ini berarti bahwa dalam G terdapat verteks v diluar Q sehingga ada satu verteks w dalam Q yang bukan tetangga v. Oleh sebab itu pada prosedur 2 menukar v dan w, dan didapat clique baru yang berbeda dari Q tetapi memiliki ukuran yang sama dengan Q. Dengan catatan bahwa dalam proses pencarian beberapa verteks diluar clique harus adjoinable. Sehingga prosedur 2 dapat diaplikasikan pada prosedur 1 yang menghasilkan clique maksimal yang berbeda dari Q dan memiliki ukuran yang lebih besar atau sama dengan ukuran Q.
Universitas Sumatera Utara

20
Proposisi 4.2.4: Diberika suatu graf simple G dengan n verteks dan derajat minimum vertek δ, Algoritma pasti mendapatkan clique maksimal yang berukuran paling sedikit ⌈n/(n − δ⌉.
Bukti: Berdasarkan tiap langkah pada bagian I dalam algoritma, jika t verteks berdampingan dengan semua n, maka ada l = n − t verteks diluar Q dan derajat minimum antar verteks dalam Q lebih besar atau sama dengan δ. Berdasarkan proposisi 4.2.1, jika δ lebih besar dari n−⌈l/(n−l)⌉−1 = n−⌈(n−t)/(n−(n−t))⌉−1 = n−⌈(n−t)/t⌉−1 = n − ⌈(n/t) − 1⌉ − 1 = n − ⌈n/t⌉, maka diperoleh clique paling besar dari penggabungan verteks yang adjoinable. Oleh karena itu, selama t kurang dari ⌈n/(n − δ)⌉, setiap verteks masih dapat digabungkan dan prosedur 1 berlanjut. Dengan demikian, paling sedikit ⌈n/(n − δ)⌉ verteks digabungkan dan menghasilkan clique ⌈n/(n − δ)⌉ berukuran paling kecil ⌈n/(n − δ)⌉. Dari proposisi 4.2.1, 4.2.2, dan 4.2.3, semua clique yang dihasilkan dari algoritma berukuran maksimum dan berukuran paling kecil ⌈n/(n −δ)⌉.
4.3 Kompleksitas
Pada bagian ini akan menunjukkan bahwa algoritma berhenti pada waktu polynomial, dengan menentukan polynomial dari jumlah n verteks pada graf G.
Proposisi 4.3.1: Diberikan graf simple G dengan n verteks dan clique Q, prosedur 1 memerlukan paling banyak n5 langkah.
Bukti: Memeriksa apakah pasangan verteks yang adjoinable membutuhkan setidaknya n2 langkah, karena verteks yang diperoleh kurang dari n verteks yang tidak bertetanggaan, dan setiap verteks yang tidak bertetanggaan membutuhkan sedikitnya n langkah untuk mengecek apakah itu ada diluar clique tersebut. Untuk clique tertentu, mendapatkan ρ pada verteks adjoinable membutuhkan n3 = nn2 langkah. Pada clique tertentu, mendapatkan verteks pada ρ maksimum membutuhkan sedikitny n4 = nn3 langkah, karena terdapat sebanyaknya n verteks diluar clique. Sehingga prosedur 1 berakhir pada saat n verteks yang terhubung paling banyak, jadi hal tersebut membutuhkan paling banyak n5 = nn4 langkah.
Proposisi 4.3.2: Diberikan suatu graf simple G dengan n verteks dan clique maksimum Q, Prosedur 2 membutuhkan paling banyak n5 + n2 + 1 langkah.
Universitas Sumatera Utara

21 Bukti: Untuk mendapatkan verteks v diluar Q dimana terdapat satu verteks w didalam Q yang bukan tetangga v membutuhkan paling banyak n2 langkah. Hal ini dikarenakan sedikitnya terdapat n verteks diluar Q dan harus mendapatnya paling tidak satu verteks v yang bukan tetangga w. Jika verteks v sudah didapat, perlu satu langkah lagi untuk menukarv dan w. Setelah itu, dengan proposisi 4.3.1 menggunakan n5 langkah untuk menggunakan prosedur 1 pada proses pencarian clique. Dengan demikian prosedur 2 memerlukan n2 + 1 + N 5
Universitas Sumatera Utara

BAB 5 KESIMPULAN Dari pembahasan yang telah dilakukan, maka dapat disimpulkan sebagai berikut: 1. Pencarian clique maksimal dapat dilakukan pada suatu graf simple yang terdiri dari n buah vertek berhingga. 2. Terdapat dua prosedur untuk mendapatkan clique maksimal, prosedur pertama bertujuan mencari clique maksimal Qi dan prosedur kedua bertujuan mencari clique maksimal Qi lain yang masih dapat ditemukan pada prosedur pertama. 3. Semua graf G dengan n buah verteks dan derajat minimum verteks δ akan memperoleh clique maksimum yang berukuran sedikitnya ⌈n/(n − δ)⌉.
22
Universitas Sumatera Utara

DAFTAR PUSTAKA
Balas, E dan Yu, C, S. (1986). Fincling a maximum clique in an arbitrary graph. SIAM J. COMPUT. 15(4) 10541068
Butenko, S dan wilhelm W. E.(2006). Clique-detection models in computational biochemistry and genomics, European Journal of Operational Research 173, 1-17
Brualdi, R.A., dan Ryser H.J. (1991). Combinatorial Matrix Theory. Cambridge University Press, Cambridge.
Chopra, S. dan Rao, M. R. (1991). On the multiway cut polyhedron. Networks 21, 51-89 Chopra, S. dan Rao, M. R. (1993). The partition problem. Mathematical programming
59, 87-116. Cavique, L., Rego. dan Themido, I. (2002). A Scatter Search Algorithm for Maximum
Clique Problem. in:Essays and Surveys in Metahauristics. Kluwer Academic Publishers. 227-244 Grotschel, M. dan Wakabayashi, Y. (1989). A cutting plane algorithm for a clustering problem. Mathematical Programming Series B 45, 59-96. Grotschel, M. dan Wakabayashi, Y. (1990). Facets of the clique partitioning polytope. Mathematical Programming, 47:367-387. Janezic, D. dan Konc, J (2007). An improved branch and bound algorithm for the maximum cliqve problem. Journal of Mathematical and Computer Chemistry 03406253. Karp, R. M. (1972). Reducibility among combinatorial problems, Research partially supported by National sciense foundation grant, University of California at Berkeley. Mehrotra, A.,dan Trick, A. M. (1996). A column generation approach for graph coloring. INFORMS J. Comput, 8:344-354. Regneri, M. (2007). Finding all cliques of an undirected graph. Current trends in IE WS 06/07
23
Universitas Sumatera Utara