representasi graph isomorfisme - heri risdianto's weblog filerepresentasi graph: 1. adjacency...

25
Isomorfisme Representasi Graph sub-bab 8.3

Upload: duongthien

Post on 03-Apr-2019

232 views

Category:

Documents


0 download

TRANSCRIPT

Isomorfisme

sub-bab 8.3

Representasi Graph

Isomorfisme

sub-bab 8.3

Representasi graph:

1. Adjacency list

2. Adjacency matrix

3. Incidence matrix

Contoh:

undirected graph

Adjacency list

1: 2 tiap vertex v

2: 1, 3, 4 di-link dengan

3: 2, 4, 5 semua vertex yang

4: 2, 3, 5 adjacent dengan v

5: 3, 4

Representasi graph:

1. Adjacency list

2. Adjacency matrix

3. Incidence matrix

Contoh:

undirected graph

110000

101100

011010

000111

000001

01100

10110

11010

01101

00010

2

4

1

e6

5

3

e3 e5

e4

e1

e2

Adjacency matrix

baris : vertexkolom: vertex

Incidence matrix

baris: vertexkolom: edge

Representasi graph:

1. Adjacency list

2. Adjacency matrix

Contoh:

directed graph

Adjacency list

1: -- tiap vertex v

2: 1 di-link dengan

3: 2, 4 semua vertex yang

4: 2, 5 adjacent to v

5: 3

Representasi graph:

1. Adjacency list

2. Adjacency matrix

Contoh:

directed graph

2

4

1

e6

5

3

e3 e5

e4

e1

e2

Adjacency matrix

baris : vertexkolom: vertex

00100

10010

01010

00001

00000

Isomorfisme: G1 = (V1, E1) dan G2 = (V2, E2)disebut isomorfik jika ada

f : V1 V2 (f disebut isomorfisme)

Fungsi f adalah 1-1 correspondence jika dan hanya jika

vertex a adjacent to vertex b di G1

vertex f(a) adjacent to vertex f(b) di G2

Isomorfisme: G1 = (V1, E1) dan G2 = (V2, E2)disebut isomorfik jika ada

f : V1 V2 (f disebut isomorfisme)

Fungsi f adalah 1-1 correspondence jika dan hanya jika

vertex a adjacent to vertex b di G1

vertex f(a) adjacent to vertex f(b) di G2

ap

bq

Contoh: isomorfisme

graph G = (V1, E1) graph H = (V2, E2)

c d r s

a

b

c

d

p = f(a)

s = f(b)

r = f(c)

q = f(d)

(a, b) (p, s)

(a, c) (p, r)

(b, d) (s, q)

(c, d) (r, q)

fV1

V2

q

r

p

s

u1u2

u3

u5 u6

v1 v3

v2v6

Graph G Graph H

e1

e2

e3

e4

e5

e6

u3u4 v4

v5

v2

v4

v3v6

v5

v1

e7

e6

e3

e7

e4e2

e5

e1

u1u2

u3u4

u5 u6

v1v3

v2 v6

v4

Graph G Graph H

v5

v2

v4

v3v6

v5

v1

010010

101000

010101

001010

100101

001010

010010

101000

010101

001010

100101

001010v6

v3

v4

v5

v1

v2

u1

u2

u3

u4

u5

u6

adjacency matrix G adjacency matrix H

v6 v3 v4 v5 v1 v2

Invariance dari dua simple graphs yang isomorfik:

1. Banyaknya vertex dalam kedua graphs harus sama

2. Banyaknya edge dalam kedua graphs harus sama

3. Derajat (degree) dari vertex v = derajat dari vertex f(v)

di sini f adalah isomorfisme (fungsi) kedua graphs tersebut

Invariance dari dua simple graphs yang isomorfik:

1. Banyaknya vertex dalam kedua graphs harus sama

2. Banyaknya edge dalam kedua graphs harus sama

3. Derajat (degree) dari vertex v = derajat dari vertex f(v)

di sini f adalah isomorfisme (fungsi) kedua graphs tersebut

Keterhubungan(connectivity)

Sub-bab 8.4

Keterhubungan(connectivity)

Sub-bab 8.4

Graph G = (V, E)di mana V = {x0, x1, x2, … , xn } dan E = { e1, e2, …, en }

Lintasan (path):Yang disebut lintasan dalam graph G adalah e1, e2, …, en di mana f(e1) = {x0,x1}, f(e2) = {x1, x2}, …, f(en) = {xn-1, xn }

x0 x1 xn-1 xnx0 x1 xn-1 xn

e1 …..… en

Circuit (cycle) : lintasan {x0, x1}, {x1, x2}, …, {xn-1, x0 }

x0

x1

x2

xn-1

Catatan:

1. Lintasan / cycle melewati vertices x1, x2, …, xn-1

atau melakukan traversal sepanjang edges e1, e2, …, en

2. Panjang lintasan / cycle = n

3. Lintasan / cycle disebut simple jika tidak berisi suatuedge lebih dari satu kali

Catatan:

1. Lintasan / cycle melewati vertices x1, x2, …, xn-1

atau melakukan traversal sepanjang edges e1, e2, …, en

2. Panjang lintasan / cycle = n

3. Lintasan / cycle disebut simple jika tidak berisi suatuedge lebih dari satu kali

Connectivity:

Undirected graph:

antara setiap pasangan vertex terdapat suatu lintasan (path)

Directed graph:

1. Strong connection: ada lintasan antara vertex a dan vertex b,sebaliknya ada juga lintasan antara vertex b dan vertex a.

2. Weak connection: ada lintasan antara dua vertex dalamunderlying undirected graph-nya.

Connectivity:

Undirected graph:

antara setiap pasangan vertex terdapat suatu lintasan (path)

Directed graph:

1. Strong connection: ada lintasan antara vertex a dan vertex b,sebaliknya ada juga lintasan antara vertex b dan vertex a.

2. Weak connection: ada lintasan antara dua vertex dalamunderlying undirected graph-nya.

Komponen sebuah graph:

1. Graph G = (V, E) tidak terhubung

2. Masing-masing subgraph yang terhubung disebut komponendari graph G

Contoh: a b e

Komponen sebuah graph:

1. Graph G = (V, E) tidak terhubung

2. Masing-masing subgraph yang terhubung disebut komponendari graph G

Contoh: a b

c

e

fd

G = (V, E); V = { a, b, c, d, e, f }

Ada 2 komponen G: G1 dan G2

G1 G2

Cut vertex:

Sebuah vertex v dengan semua edges yang incident pada vdihapus dari sebuah graph G = (V, E)

Hasilnya adalah graph G’ dengan komponen lebih banyak daripada komponen graph G

Maka v disebut cut vertex

Bridge:

Sebuah edge e dihapus dari sebuah graph G = (V, E)

Hasilnya adalah graph G’ dengan komponen lebih banyak daripada komponen graph G

Maka e disebut bridge

Cut vertex:

Sebuah vertex v dengan semua edges yang incident pada vdihapus dari sebuah graph G = (V, E)

Hasilnya adalah graph G’ dengan komponen lebih banyak daripada komponen graph G

Maka v disebut cut vertex

Bridge:

Sebuah edge e dihapus dari sebuah graph G = (V, E)

Hasilnya adalah graph G’ dengan komponen lebih banyak daripada komponen graph G

Maka e disebut bridge

Contoh:

a

b c e

f g

h

d

d

cut vertex: e

a

b c

f

h

g

Contoh:

a

b c e

fd

g

h

bridge: { c, e }

da f g

cb e h

Isomorfisme dan lintasan:

Salah satu cara mendeteksi isomorfisme antara dua graphs adalahdengan memeriksa apakah kedua nya memiliki cycle denganpanjang berbeda.

Contoh:

Graph G Graph H

cycle-1 cycle-1

cycle-2

cycle-2

Invariance dua graphs yang isomorfik:

1. Banyaknya vertex dalam kedua graphs harus sama

2. Banyaknya edge dalam kedua graphs harus sama

3. Derajat (degree) dari vertex v = derajat dari vertex f(v)

di sini f adalah isomorfisme (fungsi) kedua graphs tersebut

4. Jika dalam graphs terdapat cycle, maka panjang cycle yangbersesuaian dalam kedua graphs harus sama

Invariance dua graphs yang isomorfik:

1. Banyaknya vertex dalam kedua graphs harus sama

2. Banyaknya edge dalam kedua graphs harus sama

3. Derajat (degree) dari vertex v = derajat dari vertex f(v)

di sini f adalah isomorfisme (fungsi) kedua graphs tersebut

4. Jika dalam graphs terdapat cycle, maka panjang cycle yangbersesuaian dalam kedua graphs harus sama

Banyaknya lintasan dalam sebuah graph dapat ditentukan olehadjacency matrix graph tersebut.

Artinya:

Dalam matriks A : aij = 1 berarti ada 1 lintasan dengan panjang 1(ada 1 edge) antara vertex-i dan vertex-j

Dalam matriks A2 : aij = k berarti ada k lintasan dengan panjang 2antara vertex-i dan vertex-j

Dalam matriks A3 : aij = m berarti ada m lintasan dengan panjang 3antara vertex-i dan vertex-j

Demikian seterusnya.

Banyaknya lintasan dalam sebuah graph dapat ditentukan olehadjacency matrix graph tersebut.

Artinya:

Dalam matriks A : aij = 1 berarti ada 1 lintasan dengan panjang 1(ada 1 edge) antara vertex-i dan vertex-j

Dalam matriks A2 : aij = k berarti ada k lintasan dengan panjang 2antara vertex-i dan vertex-j

Dalam matriks A3 : aij = m berarti ada m lintasan dengan panjang 3antara vertex-i dan vertex-j

Demikian seterusnya.

Contoh:

ba

d c

A =

0110

1001

1001

0110

A2 = A3 =

2002

0220

0220

2002

0440

4004

4004

0440A2 = A3 =

2002

0220

0220

2002

0440

4004

4004

0440

2002

0220

0220

2002

Contoh:

ba

d c

A =

0110

1001

1001

0110A2 = =

0110

1001

1001

0110

0110

1001

1001

0110

ada 2 lintasan dari a ke a dengan panjang 2

2002

0220

0220

2002

0110

1001

1001

0110A2 = =

0110

1001

1001

0110

Lintasan dari a ke a dengan panjang 2: a-b-a, a-c-a

Lintasan dari c ke b dengan panjang 2: c-d-b, c-a-b

panjang

lintasan

Contoh:

ba

d c

A =

A3 = =

0110

1001

1001

0110

0110

1001

1001

0110

2002

0220

0220

2002

0440

4004

4004

0440A3 = =

0110

1001

1001

0110

2002

0220

0220

2002

0440

4004

4004

0440

ada 4 lintasan dari a ke b dengan panjang 3:

a-b-a-b a-c-d-b a-b-d-b a-c-a-b

Tree/ Pohon

• Tree/ Pohon adalah sebuah graph yangmempunyai n buah vertex, n – 1 edge dan tidakmempunyai cycle serta merupakan graphterhubung.

• Hubungan antara tree/pohon(T), titik(V), danrusuk(E) dapat dinyatakan dengan E = V - T

• Tree/ Pohon adalah sebuah graph yangmempunyai n buah vertex, n – 1 edge dan tidakmempunyai cycle serta merupakan graphterhubung.

• Hubungan antara tree/pohon(T), titik(V), danrusuk(E) dapat dinyatakan dengan E = V - T

Spanning Tree

Sebuah pohon katakanlah T disebutspanning tree dari sebuah graph G, jika Tadalah subgraph dari G yang mencakupsemua titik graph G

G T

Sebuah pohon katakanlah T disebutspanning tree dari sebuah graph G, jika Tadalah subgraph dari G yang mencakupsemua titik graph G

G Tv

Minimal Spanning TreeSebuah pohon katakanlah T disebut Minimalspanning tree dari sebuah graph G, jika T adalahsubgraph dari G yang mencakup semua titik graphG dan memiliki jumlah bobot/label minimal

Sebuah pohon katakanlah T disebut Minimalspanning tree dari sebuah graph G, jika T adalahsubgraph dari G yang mencakup semua titik graphG dan memiliki jumlah bobot/label minimal

v

4 112 6 7 5

11 148 13 3 9

2 10

d e f

g h i

4 16

8 3 92

5