Lecture Notes
Semester 1
Discrete Mathematics
Lecture 10: Graph Theory pt. 1

Lecture 10: Graph Theory pt. 1

Based on Discrete Mathematics and Its Applications (opens in a new tab) by Kenneth H. Rosen, 7th Edition.


Sebuah graf G=(V,E)G = (V, E) terdiri dari VV, yaitu himpunan non kosong dari suatu titik (vertice or node) dan EE, yaitu himpunan dari pasangan tak terurut dari elemen-elemen VV yang disebut sisi (edge atau arc).

graf

Graf Tak Berarah

Tetangga dan Insiden

Dua titik uu dan vv dikatakan bertetanggaan (adjacent) di GG jika (u,v)E(u, v) \in E. Sisi ee dikatakan insiden dengan titik uu dan vv jika e=(u,v)e = (u, v) atau e=(v,u)e = (v, u).

Derajat

Derajat dari sebuah titik dalam graf tak berarah adalah jumlah sisi yang insiden dengan titik tersebut yang dinotasikan dengan deg(v)\text{deg}(v).

⚠️

Jika terdapat loop pada titik vv, maka loop tersebut dihitung dua kali.

Handshaking Theorem

Jumlah derajat dari semua titik dalam graf tak berarah adalah dua kali jumlah sisi.

vVdeg(v)=2EE=12vVdeg(v)\begin{align*} \displaystyle\sum_{v \in V} \text{deg}(v) &= 2|E|\\ |E| &= \displaystyle\frac{1}{2}\sum_{v \in V} \text{deg}(v) \end{align*}

*bahkan ini berlaku jika terdapat beberapa sisi dan loop dalam graf.

Handshaking theorem menyebabkan terdefinisinya teorem berikutnya:

Graf tak berarah memiliki [titik berderajat ganjil] yang [berjumlah genap].

Graf Berarah

Tetangga dan Terminal

Ketika (u,v)(u, v) adalah sisi berarah dari graf GG, uu dikatakan bertetangga dengan vv. Titik uu adalah titik mula-mula dan titik vv dikatakan sebagai titik terminal. Titik permulaan dan terminal dalam loop adalah sama.

Derajat Masuk dan Keluar

Dalam sebuah graf berarah, terdapat derajat masuk yang dinotasikan dengan deg(v)\text{deg}^-(v), adalah jumlah sisi dengan vv sebagai titik terminal. Lalu derajat keluar dinotasikan dengan deg+(v)\text{deg}^+(v) adalah jumlah sisi dengan vv sebagai titik mula-mula.

Loop memiliki 1 derajat masuk dan 1 derajat keluar.

Dalam sebuah graf berarah, jumlah derajat masuk sama dengan jumlah derajat keluar.

vVdeg(v)=vVdeg+(v)=E\displaystyle\sum_{v \in V} \text{deg}^-(v) = \displaystyle\sum_{v \in V} \text{deg}^+(v) = |E|

Graf Spesial

Graf Lengkap

Sebuah graf lengkap dengan nn titik yang dinotasikan dengan KnK_n adalah sebuah graf tak berarah dengan nn titik yang setiap pasangan titiknya bertetanggaan atau setiap pasangan titiknya memiliki tepat satu sisi yang menghubungkan keduanya.

graf lengkap

Sebuah graf lengkap dengan nn titik memiliki n(n1)2\displaystyle\frac{n(n-1)}{2} sisi.

Graf Siklik

Sebuah graf siklik dengan nn titik yang dinotasikan dengan CnC_n adalah sebuah graf berarah dengan nn titik yang memiliki himpunan sisi E={(v1,v2),(v2,v3),,(vn1,vn),(vn,v1)}E = \{(v_1, v_2), (v_2, v_3), \dots, (v_{n-1}, v_n), (v_n, v_1)\}.

graf siklik

Sebuah graf siklik dengan nn titik memiliki nn sisi.

Wheels

Sebuah graf roda dengan nn titik yang dinotasikan dengan WnW_n adalah sebuah graf siklik dengan n1n-1 titik yang memiliki satu titik tambahan yang bertetanggaan dengan semua titik lainnya.

graf roda

Sebuah graf roda dengan nn titik memiliki 2(n1)2(n-1) sisi.

n-dimensional Hypercube

Sebuah n-dimensional hypercube dengan 2n2^n titik yang dinotasikan dengan QnQ_n adalah sebuah graf berarah dengan 2n2^n titik yang memiliki nn himpunan sisi E1,E2,,EnE_1, E_2, \dots, E_n dengan EiE_i adalah himpunan sisi yang terdiri dari sisi-sisi yang menghubungkan titik-titik yang berbeda pada dimensi ke-ii.

hypercube

Sebuah n-dimensional hypercube dengan 2n2^n titik memiliki n2n1n2^{n-1} sisi.

Graf Bipartite

Sebuah graf bipartite G=(V,E)G = (V, E) adalah sebuah graf tak berarah yang dapat dipartisi menjadi dua himpunan titik V1V_1 dan V2V_2 sehingga setiap sisi dalam EE menghubungkan titik dari V1V_1 dan V2V_2.

⚠️

Cara mudah menentukan apakah sebuah graf bipartite adalah dengan mewarnai graf tersebut dengan dua warna sehingga setiap titik berwarna berbeda dengan tetangganya.

Secara umum, graf dapat diwarnai dengan kk minimum warna sehingga setiap titik berwarna berbeda dengan tetangganya. Graf yang dapat diwarnai dengan kk warna dapat dipartisi dalam kk himpunan VkV_k.

Graf bipartite lengkap dengan nn titik yang dinotasikan dengan Km,nK_{m, n} adalah sebuah graf bipartite dengan dua himpunan titik V1V_1 dan V2V_2 yang masing-masing memiliki mm dan nn titik sehingga setiap titik di V1V_1 bertetangga dengan setiap titik di V2V_2.

Hall's Marriage Theorem

Sebuah graf bipartite G=(V,E)G = (V, E) dengan dua himpunan titik V1V_1 dan V2V_2 memiliki matching yang sempurna jika dan hanya jika untuk setiap himpunan titik SV1S \subseteq V_1, N(S)S|N(S)| \geq |S|.

Representasi Graf

Representasi Adjacency Matrix

Sebuah graf G=(V,E)G = (V, E) dengan nn titik dapat direpresentasikan dengan matriks n×nn \times n yang dinotasikan dengan AA dengan Aij=1A_{ij} = 1 jika (i,j)E(i, j) \in E dan Aij=0A_{ij} = 0 jika (i,j)E(i, j) \notin E.

Aij={1jika (i,j)E0jika (i,j)EA_{ij} = \begin{cases} 1 & \text{jika } (i, j) \in E\\ 0 & \text{jika } (i, j) \notin E \end{cases}

Example

Graf W6W_6 dapat direpresentasikan dengan matriks 6×66 \times 6 sebagai berikut:

[010011101001010101001011100101111111]\begin{bmatrix} 0 & 1 & 0 & 0 & 1 & 1\\ 1 & 0 & 1 & 0 & 0 & 1\\ 0 & 1 & 0 & 1 & 0 & 1\\ 0 & 0 & 1 & 0 & 1 & 1\\ 1 & 0 & 0 & 1 & 0 & 1\\ 1 & 1 & 1 & 1 & 1 & 1 \end{bmatrix}

Representasi Adjacency List

Sebuah graf G=(V,E)G = (V, E) dengan nn titik dapat direpresentasikan dengan array nn elemen yang dinotasikan dengan AA dengan A[i]A[i] adalah himpunan titik yang bertetanggaan dengan titik ii.

Example

Graf W6W_6 dapat direpresentasikan dengan array sebagai berikut:

[{2,5,6}{1,2,6}{2,4,6}{3,5,6}{1,4,6}{1,2,3,4,5}]\begin{bmatrix} \{2, 5, 6\}\\ \{1, 2, 6\}\\ \{2, 4, 6\}\\ \{3, 5, 6\}\\ \{1, 4, 6\}\\ \{1, 2, 3, 4, 5\} \end{bmatrix}

Representasi Incidence Matrix

Sebuah graf G=(V,E)G = (V,E) tak berarah dapat direpresentasikan dalam matriks insiden dengan mengurutkan VV dan EE untuk n×mn\times m matriks M=mijM = m_{ij}.

mij={1jika vi insiden dengan ej0jika vi tidak insiden dengan ejm_{ij} = \begin{cases} 1 & \text{jika } v_i \text{ insiden dengan } e_j\\ 0 & \text{jika } v_i \text{ tidak insiden dengan } e_j \end{cases}

Example

Graf W6W_6 dapat direpresentasikan dengan matriks 6×106 \times 10 sebagai berikut:

[100011000001001010000010011000000100011010000001010100000011]\begin{bmatrix} 1 & 0 & 0 & 0 & 1 & 1 & 0 & 0 & 0 & 0\\ 0 & 1 & 0 & 0 & 1 & 0 & 1 & 0 & 0 & 0\\ 0 & 0 & 1 & 0 & 0 & 1 & 1 & 0 & 0 & 0\\ 0 & 0 & 0 & 1 & 0 & 0 & 0 & 1 & 1 & 0\\ 1 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 1\\ 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 1 \end{bmatrix}

Isomorphism

Dua graf G1=(V1,E1)G_1 = (V_1, E_1) dan G2=(V2,E2)G_2 = (V_2, E_2) dikatakan isomorfik jika terdapat bijeksi f:V1V2f: V_1 \rightarrow V_2 sehingga (u,v)E1(u, v) \in E_1 jika dan hanya jika (f(u),f(v))E2(f(u), f(v)) \in E_2.

⚠️

Graph isomorphism is considered as NP-complete problem.

Bagaimana mencari isomorfisme antara dua graf?

Isomorfisme dapat diperkirakan dengan menghitung:

  1. Kesamaan jumlah vertices
  2. Kesamaan jumlah edges
  3. Kesamaan derajat vertices
  4. Kesamaan jumlah subgraf

Namun, hal ini tidak cukup untuk menentukan isomorfisme.

Adjacency Matrix

Dua graf G1=(V1,E1)G_1 = (V_1, E_1) dan G2=(V2,E2)G_2 = (V_2, E_2) isomorfik jika dan hanya jika terdapat permutasi π\pi dari V2V_2 sehingga A1=πA2π1A_1 = \pi A_2 \pi^{-1}.

Example

Apakah kedua graf dibawah isomorfik?

graf isomorfik

Menggunakan adjacency matrix, kita dapat memperoleh:

A1=[010101101001010110101010001101110010]A_1 = \begin{bmatrix} 0 & 1 & 0 & 1 & 0 & 1\\ 1 & 0 & 1 & 0 & 0 & 1\\ 0 & 1 & 0 & 1 & 1 & 0\\ 1 & 0 & 1 & 0 & 1 & 0\\ 0 & 0 & 1 & 1 & 0 & 1\\ 1 & 1 & 0 & 0 & 1 & 0 \end{bmatrix} A2=[010110101010010101101001110001001110]A_2 = \begin{bmatrix} 0 & 1 & 0 & 1 & 1 & 0\\ 1 & 0 & 1 & 0 & 1 & 0\\ 0 & 1 & 0 & 1 & 0 & 1\\ 1 & 0 & 1 & 0 & 0 & 1\\ 1 & 1 & 0 & 0 & 0 & 1\\ 0 & 0 & 1 & 1 & 1 & 0 \end{bmatrix}

Jika kita "geser" u1u_1 ke v5v_5 dan u4u_4 ke v6v_6, kita dapatkan fungsi bijeksi

f(u1)=v5f(u2)=v2f(u3)=v3f(u4)=v6f(u5)=v4f(u6)=v1f(u_1) = v_5\\ f(u_2) = v_2\\ f(u_3) = v_3\\ f(u_4) = v_6\\ f(u_5) = v_4\\ f(u_6) = v_1

Karena terdapat fungsi bijeksi yang memenuhi, maka kedua graf tersebut isomorfik.