Uploaded by nabilaag23

Kelompok 1 Kelas A Theory Graphs

advertisement
Kelompok 1
Anggota kelompok
: Destia Anisya Ramdani (1710631140047)
Nabila Aulia Gunanti (1710631140129)
Nia fitriyah pangestu (1710631140132)
Mata Kuliah
: Sistem Transfortasi dan Distribusi
Kelas
:A
GRAPH THEORY
2.1
Graphs and Multigraphs
Graph G adalah tupel yang terdiri dari himpunan terbatas V simpul dan himpunan E tepi
berhingga dimana setiap sisi adalah sepasang simpul yang tidak berurutan. Dua simpul yang
terkait dengan sebuah tepi e disebut ujung-ujung dari e. Biasanya sering disimbolkan dengan (u,
v), tepi di antaranya dua simpul u dan v. Kita juga menyatakan himpunan simpul dari graph G
dengan V (G) dan himpunan tepi G oleh E (G). Sebuah simpul dari sebuah graph juga disebut
sebagai simpul dari sebuah graph.
Graph G biasanya digambarkan dengan merepresentasikan setiap titik dari G dengan
sebuah titik atau sebuah lingkaran kecil dan setiap tepi G oleh ruas garis atau kurva di antara
dua ujung ujungnya. Misalnya, Gambar 2.1 merepresentasikan grafik G di mana V (G) = {v 1,
v2,. . . , v11} dan E (G) = {e1, e2,. . . , e17}. Kami sering menunjukkan jumlah simpul dari sebuah
grafik G dengan n dan jumlah tepi G dengan m; yaitu, n = | V (G) | dan m = | E (G) |. Ada dua
notasi yang akan digunakan yaitu n dan m untuk menunjukkan jumlah simpul dan jumlah tepi
grafik kecuali jika timbul kebingungan. Jadi n = 11 dan m = 17 untuk grafik pada Gambar 2.1.
Gambar 2.1 Simple graph dengan 11 simpul dan 17 sisi.
Loop adalah tepi yang simpul ujungnya sama. Multiple edges adalah tepi dengan pasangan
simpul-ujung yang sama. Jika grafik G tidak memiliki loop atau banyak sisi, maka G disebut
graph sederhana (Simple Graph); jika tidak, ini disebut multigraph. Graph dalam Gambar 2.1
adalah graph sederhana (Simple Graph) karena tidak memiliki loop atau banyak sisi (Multiple
edges). Di samping itu, graph pada Gambar 2.2 berisi satu lingkaran e5 dan dua set Multiple
edges {e2, e3, e4} dan {e6, e7}.
Gambar 2.2 Multigraph.
Graph disebut sebagai directed graph atau digraph jika setiap sisi diasosiasikan dengan a
arah, seperti yang diilustrasikan pada Gambar 2.3 (a). Seseorang dapat menganggap tepi terarah
sebagai satu arah. Dengan demikian, kita dapat menganggap graph tak berarah sebagai graph di
mana setiap sisi diarahkan di kedua arah. Kami menyebut graph dengan jika bobot (weighted
graph) diberikan ke setiap simpul atau ke setiap sisi. Gambar 2.3 (b) mengilustrasikan graph
tepi-tertimbang (edge-weighted graph) di mana bobot ditetapkan ke setiap tepi.
Gambar 2.3 (a) Directed graph dan (b) edge-weighted graph.
2.2
Adjacency, Incidence, and Degree
Misalkan e = (u, v) adalah sisi dari graph G. Kemudian dikatakan dua simpul u dan v
berbatasan (Adjacency) dengan G, dan sisi e dikatakan bersisian dengan simpul u dan v simpul
u disebut juga neighbor v di G dan sebaliknya. Pada graph di Gambar 2.1, simpul v1 dan v3
berdekatan; tepi e1 bersisian dengan simpul v1 dan v3. neighbor dari simpul v1 di G adalah v2, v3
v6, v9, dan v11.
Derajat (degree) puncak v dalam graph G, dilambangkan dengan deg(v) atau d(v), adalah
bilangan edge bersisian dengan v dalam G, dengan setiap loop pada v dihitung dua kali. Derajat
dari simpul v1 pada grafik Gambar 2.1 adalah 5. Demikian pula dengan derajat dari simpul v 5 di
Grafik Gambar 2.2 juga 5.
Karena derajat dari suatu titik sudut menghitung tepi-tepi yang datangnya, maka jelaslah
bahwa penjumlahan tersebut dari derajat semua simpul dalam graph terkait dengan jumlah total
tepi pada graph. Faktanya lemma berikut ini, populer dengan sebutan “Degree-sum Formula”
menunjukkan bahwa menjumlahkan derajat dari setiap simpul dari sebuah graph dihitung setiap
tepi graph tepat dua kali.
Lemma 2.2.1 (Degree-sum Formula) Misalkan G = (V, E) adalah graph dengan tepi m.
∑
( )
Bukti Setiap sisi nonloop bersisian dengan tepat dua simpul berbeda dari G. Pada
sebaliknya, setiap tepi loop dihitung dua kali dalam derajat simpul datangnya di G. Jadi, setiap
sisi, apakah itu loop atau tidak, memberikan kontribusi dua untuk penjumlahan dari derajat
simpul G.
Lemma di atas, menurut Euler (1736), adalah alat penting dari teori graph dan kadangkadang disebut sebagai " First Theorem of Graph Theory" atau "Handshaking Lemma." Ini
menyiratkan bahwa jika beberapa orang berjabat tangan, maka jumlah tangan terguncang harus
bahkan karena setiap jabat tangan melibatkan tepat dua tangan. Pengikut akibat wajar langsung
dari degree-sum formula.
Lemma 2.2.2 Jumlah simpul ganjil dalam graph adalah bilangan genap.
Bukti Misalkan G adalah graph dengan m sisi. Misalkan x adalah jumlah dari derajat
genap simpul dan y adalah jumlah dari derajat simpul berderajat ganjil. Oleh Lemma 2.2.1 x + y
= 2m. Karena x adalah jumlah dari bilangan bulat genap, x genap, dan karenanya y = 2m – x
juga merupakan bilangan bulat genap. Karena y adalah jumlah dari bilangan bulat ganjil, jumlah
penjumlahannya jumlahnya harus genap. Jadi, jumlah simpul ganjil harus genap.
2.1.1 Maximum and Minimum Degree
Derajat maksimum (maximum degree) dari graph G, dilambangkan dengan (G),
adalah nilai maksimum di antara derajat dari semua simpul G, yaitu,
(G) =
( )
deg(v). Demikian pula, kami mendefinisikan derajat minimum (minimum degree) graph
G dan menunjukkannya dengan δ (G), yaitu, δ (G) =
( )
deg(v). Maximum and
minimum degree dari graph pada Gambar 2.1 adalah 5 dan 1, masing-masing. Misalkan G
adalah graph dengan n simpul dan m sisi. Kemudian dengan rumus derajat-jumlah,
derajat rata-rata dari sebuah simpul di G =
2.1.2 Regular Graphs
dan karenanya δ (G) ≤
≤ (G).
Jika semua simpul pada graph G memiliki derajat yang sama, maka kita menyebut
G graph beraturan (regular graph). Kita menyebutnya graph beraturan k jika derajat
persekutuannya adalah k. Gambar 2.4 mewakili beberapa regular graph.
Hanya graph dengan himpunan tepi kosong (memiliki himpunan simpul tidak
kosong) 0-regular. Ini disebut null graph. Demikian pula, graph 1-reguler terdiri dari
sekumpulan tepi sedemikian rupa sehingga tidak ada dua sisi yang bersisian dengan
simpul yang sama. Graph yang terdiri dari sebuah daftar simpul sedemikian rupa
sehingga setiap pasangan simpul yang berurutan berdekatan satu sama lain dan simpul
pertama juga berdekatan dengan simpul terakhir, seperti yang diilustrasikan pada
Gambar 2.4 (a), adalah graph 2-reguler. Graph seperti itu disebut siklus (cycle) atau
siklus sederhana (simple cycle). Graph yang merupakan kumpulan dari siklus sederhana
juga merupakan graph 2-reguler.
Graph 3-reguler juga disebut cubic graph. Graph pada Gambar 2.4 (b) sebuah cubic
graph. Graph khusus ini juga dikenal sebagai "Petersen graph" setelah nama Julius
Petersen, yang membangunnya pada tahun 1898. Graph ini memiliki 10 simpul dan 15
sisi. Simpul graph Petersen dapat diberi label oleh dua subset elemen dari himpunan {1,
2, 3, 4, 5} sedemikian rupa sehingga label dari dua simpul yang berdekatan terputusputus, seperti yang diilustrasikan pada Gambar 2.5. Grafik Petersen menunjukkan
beberapa properti yang menarik dan juga berfungsi sebagai sebuah contoh berukuran
minimum dan contoh berlawanan untuk banyak masalah dalam teori graph. Doughnut
graph [1] adalah contoh graph 5-reguler. P-doughnut graph memiliki persis 4p simpul.
Gambar 2.4 (d) mengilustrasikan grafik p-donat untuk p = 4. Lainnya Contoh penting
dari graph biasa adalah “d-dimensional hypercube” atau sederhananya “Hypercube.”
Hypercube berdimensi-d memiliki 2d simpul dan masing-masing simpulnya memiliki
derajat d. Gambar 2.4 (c) mengilustrasikan hypercube berdimensi-d untuk d = 4.
Gambar 2.4 (a) A 2-regular graph (a simple cycle), (b) a 3-regular graph (Petersen
graph), (c) a
4-regular graph (4-dimensional hypercube), dan (d) a 5-regular graph (a doughnut graph.
Gambar 2.5 A labeled Petersen graph.
Degree-sum formula menyiratkan dua corollaries berikut untuk regular graph.
Corollary 2.2.3 Setiap regular graph dengan derajat ganjil memiliki bilangan genap
sudut.
Corollary 2.2.4 K-regular graph dengan n simpul memiliki nk / 2 sisi.
2.3
Subgraphs
Sebuah subgraph dari graph G = (V, E) adalah graph G‟ = (V‟, E‟) sedemikian rupa
sehingga V ⊆ V dan E‟ ⊆ E. Misalnya, graph pada Gambar. 2.6 (b)-(e) adalah subgraph dari
graph dalam format Gambar 2.6 (a).
Subgraph dapat diperoleh dari graph G dengan menghapus beberapa simpul dan tepi G.
Misalkan e adalah tepi G. Kita menyatakan dengan G - e graph yang diperoleh dengan
menghapus tepi e dari G. Lebih umum lagi, jika F adalah himpunan sisi-sisi dari G, kita
menunjukkan graph G – F diperoleh dengan menghapus semua tepi di F dari G. Gambar 2.6 (a)
menggambarkan graph G dan Gambar 2.6 (b) mengilustrasikan graph G −e6 yang diperoleh
dengan menghapus tepi e6 dari G.
Demikian pula, kita dapat mendefinisikan penghapusan simpul dari graph. Namun,
menghapus sebuah simpul v dari graph G juga mensyaratkan bahwa kita juga menghapus sisi
yang bersisian ke v di G. Misalkan v adalah puncak dari graph G. Kita menyatakan dengan G v graph yang diperoleh menghapus simpul v dan semua tepi datangnya dari G. Lebih umum
lagi, jika W adalah himpunan dari simpul dari G, kami menunjukkan dengan G - W graph yang
diperoleh dengan menghapus simpul di W (dan semua tepi insiden) dari G. Gambar 2.6 (a)
mengilustrasikan graph G dan Gambar 2.6 (c) menggambarkan graph G - v7 yang diperoleh
dengan menghapus simpul v7 dari G.
Misalkan G = (V, E) adalah graph dan misalkan W adalah himpunan simpul dari G. A
subgraph G‟ = (V‟, E‟) dari G disebut subgraph dari G yang diinduksi oleh W jika V‟ = W dan
E‟ terdiri dari semua sisi e dari G sehingga kedua ujung ujung e berada di W. The Graph pada
Gambar 2.6 (d) adalah subgraf dari graph Gambar 2.6 (a) yang diinduksi oleh himpunan simpul
{v1, v2, v4, v6, v7}.
Misalkan G = (V, E) adalah graph dan misalkan F adalah himpunan tepi dari G. A.
subgraph G‟ = (V‟,E‟) dari G disebut subgraph dari G yang diinduksi oleh F jika E‟ = F dan V‟.
terdiri dari semua simpul dari G yang masing-masing merupakan simpul ujung dari beberapa
sisi di F. Grafik pada Gambar 2.6 (e) adalah subgraf dari grafik Gambar 2.6 (a) yang diinduksi
oleh himpunan tepi {e5, e6, e7, e9, e11}.
Gambar 2.6 (a) A Graph G, (b) - (e) subgraph dari.
2.4
Some Important Trivial Classes of Graphs
2.4.1
Null Graphs
Null Graphs merupakan sebuah grafik tanpa tepi penghubung. Null graph dengan n
simpul disimbolkan dengan Nn. Contohnya dapat dilihat pada gambar di bawah ini.
Null graph N6 dengan 6 simpul
2.4.2
Complete Graphs
Complete Graphs merupakan sebuah grafik dengan masing-masing pasangan simpul
berbeda yang berdekatan. Complete graph disimbolkan dengan Kn.
Kn memiliki n(n-1)/2 tepi. Contohnya dapat dilihat pada gambar di bawah ini.
Complete Graph K6 dengan 6 simpul
2.4.3
Independent Set and Bipartite Graphs
G = grafik (V,E). Himpunan bagian dari simpul V‟ ⊆ V disebut Independen pada G
untuk tiap pasangan simpul u dan v. Tidak ada tepi pada G yang menghubungkan 2
simpul u dan v.
Grafik G disebut bipartite apabila himpunan puncak V dari G dapat dipisah menjadi
2 himpunan-tidak-kosong V1 dan V2 dan tidak saling bergantung. V1 dan V2 disebut
himpunan partite dari G.
Tiap tepi dari grafk bipartite menggabungkan tepat 1 simpul V1 dan V2. Grafik G
digunakan untuk menguji apakah grafik G tersebut tergolong bipartite dengan
mempertimbangkan tiap kemungkinan berpartisi dari simpul G dan memeriksa
apakah kedua partisi tersebut independen atau tidak. Untuk membuktikannya gunakan
breadth first search (BFS) pada grafik G.
Gambar bipartite: simpul warna hitam dan simpul warna putih maksudnya 2
independen partite. Gambar b adalah complete bipartite simbolnya K3,4
2.4.4
Path Graphs (Grafik jalur)
Path graphs merupakan grafik G yang memiliki simpul simpul v1,v2,…vp dari G
sedemikian rupa sehingga 1<i<p-1, ada tepi (Vi, Vi+1) pada G dan ini adalah satusatunya sisi di G. Ada 2 simpul Vi dan diatasnya yang disebut akhir simpul G. Contoh
di bawah ini merupakan Path graph dengan 6 simpul, disimbolkan dengan Pn.
Perhatikan bahwa derajat tiap simpul dari path graph adalah 2 kecuali 2 ujung simpul
yang keduanya memiliki derajat satu.
2.4.5
Cycle Graphs (Grafik siklus)
Cycle graph merupakan grafik yang dihasilkan dengan menggabungkan 2 ujung
simpul dari path graph. Jadi derajat setiap simpul dari cycle graph adalah 2. Simbol
cycle graph adalag Cn.
2.4.6
Wheel Graphs (Grafik roda)
Wheel graph dengan n simpul dilambangkan dengan Wn. Diperoleh dari cycle graph
Cn-1 dengan n-1 simpul dengan menambahkan simpul baru W dan menggabungkan
tepi dari W ke masing masing simpul Cn-1.
2.5
Operations on Graphs
2.5.1
Union and Intersection of Graphs
Misalnya G1 = (V1, E1) dan G2 = (V2. E2) adalah 2 grafik. Gabungan G1 dan G2
dilambangkan dengan G1 ∪ G2 yang ini merupakan (V3, E3). Sehingga V3 = V1 ∪ V2
dan E3 = E1 ∪ E2.
(a) G1, (b) G2, (c) G1 ∪ G2, (d) G1 ∩ G2
Operasi pada grafik tersebut dapat digunakan untuk menyelesaikan banyak masalah
dengan mudah.
Misalkan ada h+g orang dalam satu pesta, h merupkan tuan rumah dan g merupakan
tamu. Setiap orang berjabat tangan satu sama lain kecuali tidak ada tuan rumah yg
berjabat tangan dengan tuan rumah lainnya. Berapa jumlah jabatan tangan? Misalnya
h = simpul hitam, g = simpul putih, tepi grafik mewakili jabat tangan
Total jabat tangan = n(n-1)/2 + m x n
2.5.2
Complement of a Graph
Komplemen dari grafik G = (V,E) adalah grafik G = (V,E) yang lain dengan
himpunan puncak yang sama, sehingga untuk sembarang pasangan simpul berbeda u,
v
V, (u, v)
̅.
(a) Grafik G, (b) complement ̅
2.5.3
Subdivisions
Membagi tep (u, v) pada grafik G merupakan operasi menghapus tepi (u, v) dan
menambahkan jalur u, w, v melalui simpul baru „w‟ derajat 2.
G‟ = subdivisi G
(a) Grafik G, (b) subdivisi grafik G atau disebut G‟
2.5.4
Contraction of an Edge
Contraction of an Edge (u, v) pada grafik G merupakan operasi penghapusan tepi (u,
v) dan mengidentifikasi 2 simpul u dan v. Setelah u dan v dihapus ditambah simpul
baru „w‟ dimana semua sisi bersisian dengan u dan v selain sisi (u, v) dibuat bersisian
dengan w.
(a) grafik G, (b) grafik yang diperoleh dari mengontrak tepi e pada grafik G, (c)
Grafik yang telah disederhanakan setelah mengontrak tepi e.
2.6
Grafik Isomorfisma
Jika terdapat isomorfisma antara dua grafik G1 dan G2, dapat dikatakan G1 isomorfik
terhadap G2 dan tulislah G1 SG2. Gambar 2.15 menunjukkan dua grafik G1 dan G2 yang
isomorfik satu sama lain. Isomorfisma ini dapat diketahui dengan memetakan simpul a,b,c,d
dan e dari G1 ke simpul u,w,y,v dan X dari G2.
Gambar 2.15 merupakan isomorfik. Grafik isomorfik ini dikenal sebagai Graf Petrsen.
Perhatikanlah kedua grafik pada gambar. Jika memetakan simpul a,b,c,d dan e dari Gi ke
simpul u,v,w,x dan y dari G2, maka kedua graf tersebut menjadi komplemen yang berbeda.
Gambar 2.15 Dua pasang grafik isomorfik
Komplemennya disebut saling melengkapi. Grafik pada gambar 2.15 bersifat mandiri.
Demikian pula, P4 juga bersifat self-compliment. Untuk melihat apakah dua grafik G1 dan G2
isomorfik atau tidak, pendekatan trival akan mengambil semua permutasi yang mungkin dari
simpul G2 untuk memeriksa apakah salah satu dari permutasi ini menginduksi isomorfisme.
Tentunya, pendekatan ini memerlukan waktu eksponensial pada jumlah simpul.mengakhiri
bagian ini dengan berikut, yang menunjukkan bahwa isomorfisme antar grafik memberikan
kelas kesetaraan dibawah hubungan isomorfisme.
Lemma 2.6.1 Relasi isomorfisme adalah relasi ekivalensi pada himpunan grafik.
Bukti Sifat refleksivitas dari isomorfisme adalah sepele karena untuk setiap grafik G =
(V,E) bijection f: V V yang memetakan setiap simpul v
V ke dirinya sendiri memberikan
isomorfisme. Kami sekarang membuktikan properti transitivitas isomorfisme. Misalkan f: V1 > V2 dan g: V2 -> V3 mendefinisikan isomorfisme dari G1 ke G2 dan dari G2 ke G3, dimana
G1 =, G2 = dan G3 = adalah tiga grafik. Jadi, g o f mendefinisikan isomorfisme dari G1 ke
G3. O
Untuk banyak masalah, kami sering hanya membutuhkan sifat struktural dari grafik.
2.7
Urutan Derajat
Bilangan bulat non negative berbeda dalam deret derajat dari suatu grafik disebut
himpunan derajatnya. Pada gambar terdapat dua grafik dengan urutan derajat yang sama
dikatakan ekivalen derajat. Setiap grafik memiliki urutan derajat. Cara mudah diperlukan
berasal dari rumus derajat jumlah. Artinya, jumlah bilangan bulat dalam urutan harus genap.
Asumsikan bahwa jumlah bilangan bulat dalam urutan tersebut genap. Buat loop di setiap
simpul untuk memenuhi persyaratan derajat dari setiap simpul.
Konstruksi grafik untuk urutan 5,4,3,2,1,1 diilustrasikan pada gambar. Memungkinkan
loop membuat realisasi urutan derajat menjadi mudah. Gambar 2.18 menunjukkan grafik
sederhana G dengan barisan grafik 3,3,3,2,1 dengan A= 3. Dapat dibuat grafik sederhana G‟
dan G dengan menambahkan simpul baru x dan menambahkan tepi x ke masing-masing A+1
simpul dengan derajat terbesar di G, seperti diilustrasikann pada gambar 2.18, dimana deret
derajat G‟ adalah 4,4,4,4,3,1. Gambar 2.16 ilustrasi untuk deret derajat
Gambar 2.17 diilustrasikan dari kontruksi urutan 5,4,3,2,,1
Gambar 2.18 (a) grafik G dengan derajat pengaruh 3,3,3,2,1 dan (b) gafik G dengan
derajat urutan 4,4,4,4,3,1.
Kemabilan dari implikasi diatas juga dianggap sebagai Havel dan Hakimi menunjukkan
bahwa d adalah grafik jika dan hanya jika d adalah grafik. Maka dari itu, berdasarkan
konstruksi diatas, kita dapat dengan mudah mengembangkan algorita rekursif unutk memeriksa
apakah salah satu deret derajat adalah grafik atau tidak. Perhatikan bahwa dı = 0 adalah satusatunya urutan grafik 1 elemen. Langkah-langkah algoritma rekursif untuk menguji urutan
grafik diilustrasikan pada gambar.
Gambar 2.19 Ilustrasi untuk menguji realisasi urutan grafik
Urutan jika d ' tidak urutan yang tidak bertambah. Misalnya, amati 1,0,1 + 1, 1,0 pada
Gambar 2.19.
2.8
Struktur Data dan Representasi Graf
Kita sudah terbiasa dengan salah satu cara merepresentasikan graf, i. Representasi grafis
ini cocok untuk visualisasi grafik, namun tidak cocok jika kita ingin menyimpan grafik di
komputer. Namun, ada cara lain untuk merepresentasikan grafik. Pada bagian ini, pertama-tama
kami memberikan penjelasan singkat tentang beberapa struktur data dasar dan kemudian kami
menunjukkan tiga metode untuk merepresentasikan grafik di komputer. Daftar adalah struktur
data yang terdiri dari catatan homogen, dihubungkan bersama secara linier. Setiap rekaman
berisi satu atau lebih item data dan satu atau lebih penunjuk.
2.8.1 Matriks Adjacency
Misalkan G adalah sebuah grafik dengan himpunan puncak V = {V1, V2, ..., Un)
dan himpunan tepi E = {C1, C2, ..., em}. Gambar 2.20 menunjukkan grafik dan Gambar
2.20 menggambarkan matriks ketetanggaannya. Perhatikan bahwa matriks ketetanggaan
grafik selalu simetris.
Jika G adalah graf sederhana, maka setiap entri A adalah nol atau satu dan
diagonal utama matriks hanya berisi nol. Gambar 2.21 mengilustrasikan matriks
ketetanggaan dari grafik sederhana pada Gambar. Matriks ketetanggaan menggunakan
ruang O untuk merepresentasikan grafik n titik. Tidaklah ekonomis jika jumlah tepi pada
grafik jauh lebih sedikit daripada jumlah maksimum n / 2.
Gambar 2.20 (a) Grafik G, (b) representasi matriks ketetanggaan G, dan (c)matriks
kejadian representasi G
Gambar 2.21 (a) A simple graph G, (b)adjacenc representasi matriks y dari G, (c)
insidensimatriks representasi G, dan (d) representasi daftar kedekatan G
2.8.2 Incidence Matrix
Misalkan G adalah grafik dengan himpunan puncak V = {V1, V2, ..., Un} dan
himpunan tepi E = {C1, C2, ..., 6m}. Gambar 2.20 menggambarkan matriks insiden dari
grafik pada Gambar 2.21 menggambarkan matriks insiden dari grafik pada Gambar
2.8.3 Daftar Ketetanggaan Daftar
Repesentasi dari G adalah larik n daftar, dimana untuk setiap simpul v dari G, ada
daftar yang sesuai dengan v, yang berisi record untuk setiap representasia dari v. Gambar
2.21 mengilustrasikan daftar ketetanggaan dari grafik pada Gambar.
Download