Upload
muhammad-alfiansyah
View
350
Download
26
Embed Size (px)
Citation preview
Kelompok IV
1. Muh. Alfiansyah 161050701024
2. Nurqiyamah Hamid 1610507010XX
3. Asmaun 1610507010XX
Sebuah Graph berarah D adalah suatu pasangan berurutan dari dua himpunan V(D) yaitu himpunan berhingga
tak kosong yang anggota-anggotanya disebut titik dan π€(D) yaitu himpunan berhingga (boleh kosong) yang
anggota-anggotanya disebut busur sedemikian sehingga setiap busur merupakan pasangan berurutan
dari dua titik di V(D).
Contoh:
Graph berarah πΏ = π πΏ , π€(πΏ)
πΏ = ( π£1, π£2, π£3, π£4, π£5 , { π£1, π£2 , π£2, π£3 , π£2, π£5 , π£3, π£4 , π£4, π£5 , π£5, π£1 , π£5, π£3 }
JALANKonsep: JEJAK LINTASAN SIRKUIT SIKEL
Istilah sisi pada graph tak berarah diganti dengan istilah busur pada graph berarah
π£1
π£2
π£3
π£4π£5π
π£1
π£2
π£3
π£4π£5π
πΆ4 = (π£2, π£3, π£4, π£5, π£2)
π£1
π£2
π£3
π£4π£5 π
πΆ4 adalah sikel berarah dengan
panjang 4 pada graph berarah R.
πΆ5 = (π£1, π£2, π£3, π£4, π£5, π£1)
πΆ5 adalah sikel berarah dengan
panjang 5 pada graph berarah P.
Sikel Hamilton adalah sebuah
sikel yang memuat semua
titik sebuah graph.
Graph Hamilton adalah
graph yang memuat sikel
hamilton.
Konsep keterhubungan
pada graph berarah
Terhubung Lemah jika graph
dasarnya terhubung.
Terhubung Kuat jika untuk setiap dua
titik π£π dan π£π di suatu graph berarah
terdapat lintasan berarah dari π£π ke π£π.
Misalkan D sebuah graph berarah dan π£ β π π·
Derajat keluar titik v, dilambangkan dengan od(v)
adalah banayaknya busur pada graph berarah D yang
keluar dari titik v.
Derajat masuk titik v, dilambangkan dengan id(v)
adalah banayaknya busur pada graph berarah D yang
menuju ke titik v.
π£1
π£2
π£3π£4
π£5
π·
ππ(π£1) = 2 ππ(π£1) = 2
ππ(π£2) = 1 ππ(π£2) = 1
ππ(π£3) = 1 ππ(π£3) = 1
ππ(π£4) = 2 ππ(π£2) = 2
ππ(π£5) = 1 ππ(π£5) = 1
TEOREMA 10.1:
Jika π· = (π π· , π€ π· ) graph berarah maka
π£βπ(π·)
ππ π£ = π€ π· =
π£βπ(π·)
ππ π£
π£1
π£2
π£5
π£3
π£4
π£7π£6 π
Misalkan Q sebuah graph berarah terhubung
lemah. Sebuah sirkuit berarah yang memuat semua
busur Q disebut sirkuit euler berarah.
Jika D memuat sirkuit euler berarah maka D
disebut graph euler.
TEOREMA 10.2:
Misalkan graph-berarah π· terhubung lemah
dengan paling sedikit satu busur. π· graph
euler jika dan hanya jika ππ π£ = ππ π£
β π£ β π π· .
π£1
π£2
π£3π£4
π£5
π·
π£1
π£2
π£3
π£4π£5π
Misalkan G sebuah graph (tak berarah). Jika dibentuk graph berarah D dari graph G dengan cara mengganti
setiap sisi G dengan sebuah busur atau dengan cara memberi βarahβ pada setiap sisi G, maka graph berarah D
disebut sebuah orientasi G.
π£1
π£2
π£5π£3
π£4
π£6
πΊ
π£1
π£2
π£5π£3
π£4
π£6
π·1
π£1
π£2
π£5π£3
π£4
π£6
π·2
π·1 dan π·2 dua orientasi graph G yang berbeda
Sebuah orientasi dari graph komplit disebut graph turnamen. Jadi turnamen adalah graph berarah tanpa gelung
sedemikian hingga setiap dua titik yang berbeda π’ dan π£ dihubungkan oleh busur (π’, π£) saja atau busur (π£, π’)
saja.
Hanya ada 2 turnamen dengan
tiga titik yang non-isomorfik dan
hanya ada 4 turnamen dengan
empat titik yang non-isomorfik.
Contoh:
Suatu pertandingan sepak bola diikuti oleh enam tim yakni A, B, C, D, E dan F, dalam pertandingan ini setiap
dua tim harus bertanding tepat satu kali dan tidak boleh ada seri. Hasil pertandingan yang diperoleh yakni A
menang melawan B dan D, B menang melawan C, D dan F, C hanya menang melawan A, D menang melawan E
dan F, E hanya kalah melawan D serta F menang melawan A dan C.
πΉ πΈ
π·
πΆπ΅
π΄
TEOREMA 10.3:
Misalkan T sebuah turnamen dan π’ adalah
sebuah titik di T dengan ππ(π’) maksimum. Maka
setiap titik π£ di T, terdapat lintasan berarah dari π’
ke π£ di T dengan panjang maksimum dua.
Akan dibuat sistem alur lalulintas satu arah sedemikian sehingga dari
setiap tempat (persimpangan) seorang pengendara dapat mengakses
tempat yang lain lewat sistem yang dibuat.
Dalam konteks teori graph masalah di atas dapat dirumuskan menjadi
sebagai berikut: diberikan sebuah graph (tak berarah) G. Adakah sebuah
orientasi G merupakan graph beraharah terhubung kuat?
Permasalahan
Solusi
Sebuah graph G dikatakan terorientasi jika terdapat sebuah orientasi G yang terhubung kuat.
TEOREMA 10.4:
Sebuah graph G terorientasi jika dan hanya jika graph G terhubung dan tidak memiliki sisi pemutus.
ALGORITMA HOPCROFT DAN TARJAN
Input : Graph G terhubung dan tidak memiliki sisi pemutus.
Step 1 : Pilih π£ β π(πΊ), dan label titik π£ dengan Ξ» π£ = 1. Tulis πΏ = {π£} dan π = π πΊ β {π£}. (L adalah
himpunan titik-titik terlabel. U adalah himpunan titik-titik tak terlabel). Tulis π€ = β (adalah himpunan
busur yang diperoleh dari pemberian orientasi pada sisi graph G).
Step 2 : Pilih titik π₯ di L dengan label maksimum dan berhubungan langsung ke sebuah titik π¦ di U.
Lebel titik π¦ dengan Ξ» π¦ = Ξ» π₯ + 1. Ganti L dengan πΏ βͺ {π¦} dan π dengan π β {π¦}. Beri orientasi
(arah sis π₯π¦ dari titik π₯ ke titik y). Ganti π€ dengan π€ βͺ π₯, π¦ .
Step 3 : Jika πΏ β π(πΊ) kembali ke step 2.
Step 4 : πΏ = π πΊ (Dalam hal ini, semua titik πΊ telah dilabel; dan graph dasar dari graph berarah yang
dibangun oleh semua busur π€ merupakan sebuah pohon rentang dari graph πΊ. Lebih jauh, sisi-sisi πΊyang belum diberi orientasi menghubungkan dua titik dengan nilai label berbeda).
Untuk setiap sisi π€π§ pada graph πΊ yang belum diorientasi, jika Ξ» π€ > Ξ» π§ , maka beri orientasi sisi
π€π§ dari titik π€ ke titik π§.STOP: βDiperoleh sebuah orientasi graph πΊβ.
Contoh: (Soal Latihan Nomor 10)
Gunakan algoritma Hopcroft dan Tarjan untuk memberi orientasi
pada setiap sisi graph G berikut agar diperoleh graph berarah
terhubung kuat.
π£1
π£2
π£5
π£3
π£4
π£6
Sebuah Network π΅ = (π½ π΅ , π€ π΅ ) adalah sebuah graph berarah sederhana terhubung lemah yang setiap
busurnya dikaitkan dengan bilangan real non-negatif.
Selanjutnya, bilangan real non-negatif yang dikaitkan pada busur (π£π , π£π) atau disingkat π, π pada Network
N disebut Kapasitas Busur (π£π , π£π) dan dilambangkan dengan c(π£π , π£π) atau c π, π
Sebuah titik π di network π disebut titik sumber
jika ππ π = 0.
Sebuah titik π‘ di network π disebut titik tujuan jika
ππ π‘ = 0.
Sedangkan, titik yang lain disebut titik antara.
π£1 π£2
π£5
π£3
π£4π£6
Misalkan π dan π dua himpunan bagian π(π) padan network π.
Himpunan semua busur π yang berawal di π dan berujung di π dilambangkan dengan π΅ π, π .
Total kapasitas semua busur di π΅(π, π) dilambangkan dnegan π(π, π). Dengan demikian: π π, π =
πβπ΅(π,π)
π(π)
Misalnya dari graph πΊ:
Jika π = {π£π , π£1, π£3} dan π = π£2, π£4, π£5, π£6, π£π‘
Maka π΅ π, π = { π , 6 , 1,2 , 1,5 , 3, π‘ }
Dan π π, π = π π, 6 + π 1,2 + π 1,5 + π 3, π‘
= 5 + 8 + 5 + 5 = 23
π£1 π£2
π£5
π£3
π£4π£6
πΊ
π£ π£
Misalkan π sebuah network dengan titik sumber π dan titik tujuan π‘.
Misalkan himpunan π adalah himpunan bagian tak kosong dari π(π) dan πβ² = π π β π.
Jika π β π dan π‘ β πβ² maka himpunan busur π΅(π, πβ²) disebut sebuah pemutus (s,t) dari network π.
Misalkan π΄ adalah himpunan titik antara pada network π dan π΄β² adalah sebuah himpunan bagian π΄.
Jika π = {π‘} βͺ π΄ maka π΅(π, πβ²) sebuah pemutus (π , π‘) pada network π.
Jadi banyaknya pemutus (π , π‘) pada network π sama dengan banyaknya himpunan bagian dari
himpunan A yaitu 2π dengan π = π΄ .
Disebut demikian, karena penghapusan semua busur π΅(π, πβ²) dari π, memutus semua lintasan
berarah dari titik π ke titik π‘ pada network π.
π£1
π£2
π£π‘π£π
3
6
5
2
4π
Graph π diketahui memiliki dua titik antara
Sehingga terdapat 22 = 4 pemutus (s,t) pada π
π΅ = π£π , {π£1, π£2, π£π‘} = π , 1 , (π , 2)
π΅ = π£π , π£1 , {π£2, π£π‘} = π , 2 , 1,2 , (1, π‘)
π΅ = π£π ,π£2 , {π£1, π£π‘} = π , 1 , (2, π‘)
π΅ = π£π , π£1, π£2 , {π£π‘} = 1, π‘ , (2, π‘)
Setiap pemutus (π , π‘) pada network π mempunyai kapasitas.
Pemutus (π , π‘) yang mempunyai kapasitas terkecil disebut
pemutus (π, π) minimum
Kapasitas dari keempat pemutus tersebut adalah:
c π£π , {π£1, π£2, π£π‘} = π π , 1 + π π , 2 = 3 + 4 = 7
c π£π , π£1 , {π£2, π£π‘} = π π , 2 + π 1,2 + π 1, π‘ = 4 + 2 + 5 = 11
π π£π ,π£2 , {π£1, π£π‘} = π , 1 + 2, π‘ = 3 + 6 = 9
π π£π , π£1, π£2 , {π£π‘} = 1, π‘ + (2, π‘) = 5 + 6 = 11
Tampak bahwa π΅ = π£π , {π£1, π£2, π£π‘} = π , 1 , (π , 2)
Dengan kapasitas 7 merupakan sebuah pemutus (π , π‘)
minimum pada network π.
Misalkan π sebuah network dengan titik sumber π dan titik tujuan π‘.
Jika π£ adalah sebuah titik π, maka himpunan semua busur π yang keluar dari titik π£ (meninggalkan titik π£)
dilambangkan dengan πΆ(π) dan himpunan semua busur π yang menuju ke titik π£ dilambangkan dengan π°(π).
π£5 π£4
π£3
π£2π£1
π£π‘π£π
πΉ
20
15
21
9
42
24
104 10
Untuk titik π£π
π π£π = π π = {(π£π , π£1), (π£π , π£5)}={(s,1),(s,5)}
πΌ(π£π ) = πΌ π = { }
Untuk titik π£3
π π£3 = π 3 = {(π£3, π£2), (π£3, π£4)}={(3,2),(3,4)}
πΌ(π£3) = πΌ 3 = {(π£1, π£3), (π£5, π£3)}={(1,3),(5,3)}
Sebuah flow di network π dari titik sumber π ke titik
tujuan π‘ adalah suatu fungsi π yang memetakan
setiap busur (π, π) di π dengan sebuah bilangan non-
negatif yang memenuhi syarat-syarat berikut:
β’ 0 β€ π π, π β€ π π, π β(π, π) β π€(π) (disebut
βkapasitas pembatasβ).
β’ (π,π)βπ(π ) π π, π = (π,π)βπΌ(π‘) π π, π (disebut
βnilai flow fβ)
β’ (π,π)βπ(π₯) π π, π = (π,π)βπΌ(π₯) π π, π βπ₯ β
π π β {π , π‘} (disebut βkonservasi flowβ)
π£5 π£4
π£3
π£2π£1
π£π‘π£π
Flow π pada π΅ dengan nilai 12
20 : 7
15 : 5
21 : 2
9 : 3
8 : 52 : 1
24 : 3
10 : 9
4 : 2 10 : 6
π£5 π£4
π£3
π£2π£1
π£π‘π£π
Flow π pada π΅ dengan nilai 27
20 : 20
15 : 7
21 : 16
9 : 3
8 : 42 : 2
24 : 18
10 : 9
4 : 4 10 : 6
π£5 π£4
π£3
π£2π£1
π£π‘π£π
Flow π pada π΅ dengan nilai 12
20 : 7
15 : 5
21 : 2
9 : 3
8 : 52 : 1
24 : 3
10 : 9
4 : 2 10 : 6
Jika π = π£π , π£1 = π , 1 dan πβ² = {π£2, π£3, π£4, π£5, π£π‘} = {2,3,4,5, π‘}
Maka π΅ = π, πβ² = { π , 5 , 1,2 , 1,3 ) sebuah pemutus (π , π‘) di N
Kapasitas π π, πβ² = π π , 5 + π 1,2 + π 1,3 = 15 + 21+4=30
Terlihat bahwa nilai flow f yaitu 12, tidak melebih kapasitas
pemutus π, π π©(πΏ, πΏβ²).
TEOREMA 10.5:
Misalkan π sebuah network dengan titik sumber π dan titik tujuan π‘. Jika π adalah sebuah flow
dan π ke π‘ pada π dengan nilai ππ ,π‘ dan π΅(π, πβ²) sebuah pemutus π , π‘ pada π, maka ππ ,π‘ =
π π, πβ² β π(πβ², π) β€ π(π, πβ²).
Teorema 10.5 menjamin bahwa nilai sebarang flow
pada suatu network π dari titik sumber π ke titik tujuan
π‘ tidak akan melebihi kapasitas sebarang pemutus (π , π‘)
pada π.
Jadi, jika terdapat suatu flow π di π yang nilainya sama
dengan kapasitas suatu pemutus π , π‘ , maka flow f
tersebut adalah flow maksimum dan pemutus (π , π‘)
tersebut adalah sebuah pemutus (π , π‘) minimum. Jadi
flow π bernilai ππ ,π‘ dari titik sumber s ke tujuan π‘ pada
network π dikatakan Flow Maksimum jika
ππ ,π‘ = πππ{π(π, π1)/π΅ π, π1 suatu pemutus (π , π‘)
pada network π}.
π£4
π£3
π£2
π£1
π£π‘π£π 3 : 0
5 : 4
6 : 5
4 : 1
4 : 4
2 : 2
8 : 7
3 : 23 : 3
Flow π2
Perhatikan flow π2 yang bernilai 9.
Jika π = π , 2 dan π1 = {1,3,4, π‘},
maka π΅ π, π1 = { π , 1 , 2,3 , 2,4 } adalah
pemutus (π , π‘) pada π dengan kapasitas
π π, π1 = π π , 1 + π 2,3 + π 2,4 = 4 + 2 + 3
= 9 = πππππ ππππ€π2
Misalkan N sebuah network dan G adalah graph dasar N. Misalkan pada graph G terdapat lintasan π =
(π£1, π£2, π£3,...,π£π , π£π+1, β¦ , π£π).
Jika (π£π , π£π+1) sebuah busur pada N maka busur tersebut dinamakan busur maju terhadap P.
Sebaliknya jika (π£π+1, π£π) sebuah busur pada N maka busur tersebut dinamakan busur balik terhadap P.
π£4
π£3
π£2
π£1
π£π‘π£π 3 : 0
5 : 4
6 : 5
4 : 1
4 : 4
2 : 2
8 : 7
3 : 2
3 : 3
Flow π2
Jadi, apakah suatu busur pada N termasuk busur maju atau busur balik, sangat tergantung pada
lintasan P pada graph dasarnya.
Sebagai contoh: misalkan G graph dasar dari network N
pada gambar di samping, maka π = (π£π , π£2,π£1, π£3,π£4, π£π‘)adalah sebuah lintasan (π£π , π£π‘) pada G (perlu dicatat
bahwa P bukan lintasan berarah pada N).
Sehingga terdapat P, busur-busur (π£π , π£2) , (π£1, π£3) dan
(π£4, π£π‘) merupakan busur-busur maju.
Sementara (π£2, π£1) dan (π£4, π£3) merupakan busur balik
Misalkan f adalah sebuah flow dari titik sumber s ke titik tujuan t pada network N, dan misalkan G adalah
graph dasar N. Pikirkan sebuah lintasan P pada G. Inkremen sebuah busur a pada N yang berkorespondensi
dengan sebuah sisi P pada G, dilambangkan dengan i(a) dan didefinisikan sebagai berikut:
Jika a busur maju maka π π = π π β π(π)
Jika a busur balik maka π π = π(π)
Inkremen lintasan π disimbolkan dengan π(π) didefinisikan sebagai berikut:
π π = min{π π βπ πππππβ ππ’π π’π π π¦πππ ππππ ππ π’ππππ ππππππ π ππ π π}
Sebuah lintasan P dengan i(P) positif disebut lintasan augmentasi.
Selanjutnya lintasan augmentasi P dari titik s ke titik tujuan t dinamakan
sebuah lintasan peningkatan. Sebagai contoh perhatikan flow f dari titik
sumber s ke titik tujuan t di network N pada gambar disamping. Pikirkan
lintasan π = (π£π , π£2,π£1, π£3,π£4, π£π‘) .
π£4
π£3
π£2
π£1
π£π‘π£π 3 : 1
5 : 2
6 : 2
4 : 1
4 : 3
2 : 1
8 : 4
3 : 13 : 2
Flow π
Lemma 10.6: misalkan f sebuah flow bernilai ππ ,π‘ dari titik sumber s ke titik tujuan t pada network N. Jika
terdapat lintasan P dari titik s ke titik t dengan π π = πΏ > 0, didefinisikan fungsi π1 pada himpunan π€(π)
sebagai berikut: jika a busur maju terhadap P maka π1 π = π π + πΏ sedangkan jika a busur balik terhadap
P maka π1 π = π π β πΏ, sertaπ1 π = π(π) untuk busur a lainnya. Maka π1 adalah flow dari titik s ke titik t
pada N dengan nilai ππ ,π‘ + πΏ
π£4
π£3
π£2
π£1
π£π‘π£π 3 : 1
5 : 2
6 : 2
4 : 1
4 : 3
2 : 1
8 : 4
3 : 13 : 2
Flow ππ£4
π£3
π£2
π£1
π£π‘π£π 3 : 0
5 : 3
6 : 3
4 : 0
4 : 3
2 : 1
8 : 4
3 : 23 : 2
Flow πβ²
Algoritma Flow Maksimum
Input: Network π = (π, πΊ) dengan titik sumber s dan titik
tujuan t.
Step 1: Misalkan f sebuah flow dari s ke t pada N (Boleh
dimulai dengan flow bernilai nol, yaitu π π, π = 0β(π, π) β πΌ) dilanjutkan ke routin pelabelan.
Step 2: Routin Pelabelan.
1. label π£π = (π , +, ν π = ~) titik π£π telah terlabel dan
belum teramati. (Note: sebuah titik v dikatakan telah
teramati jika semua titik yang dapat dilabel dari titik v
sudah terlabel).
2. Pilih sebarang titik yang terlabel tetapi belum teramati,
misalkan titik tersebut π£π₯. βπ£π¦β π¦, π₯ β π€, π£π¦ belum
berlabel dan π π¦, π₯ > 0 maka label π£π¦ = (π₯,β, ν π¦ )
dengan ν π¦ = min{ν π₯ , π π¦, π₯ }. Sekarang titik π£π¦telah terlabel, tetapi belum teramati. βπ£π¦β π₯, π¦ β
π€, π£π¦ belum berlabel dan c π₯, π¦ > π(π₯, π¦) maka
label π£π¦ = (π₯, +, ν π¦ ) dengan ν π¦ = min{ν π₯ ,
π π₯, π¦ β π π₯, π¦ } . Sekarang titik π£π¦ telah terlabel,
tetapi belum teramati. Ubahlah label π£π₯ dengan cara
melingkari tanda + atau -.
3. Ulangi step 2.2 sampai:
a. Titik π£π‘ terlabel atau
b. Semua titik teralabel telah teramati tetapi titik π£π‘ tak
terlabel.
a. Jika titik π£π‘ terlabel, lanjut ke step 3.
b. Jika semua titik terlabel telah teramati tetapi titik π£π‘ tak
terlabel maka STOP: βflow f adalah flow maksimum pada
network Nβ.
Step 3: dengan prosedur βbalikβ tentukan lintasan peningkatan
P dengan i(P) adalah label π£π‘.Step 4: tingkatkan nilai flow f sebesar label π£π‘ berdasarkan
lintasan peningkatan-P dengan menggunakan routine
peningkatan.
1. Misal Z=t lanjutkan ke step 4.2.
2. Jika label π£π§ = (π,+, ν π‘ ) tingkatkan nilai π(π, π§) dengan
ν π‘ = π(π) . Jika label π£π§ = (π,β , ν π‘ ) turunkan nilai
π(π, π§) dengan ν π‘ = π(π)3. Jika π = π hapus semua label. Pada tahap ini diperoleh flow
f baru dengan nilai π π + πππππ ππππ€ ππππ. Ganti flow f
dengan flow f yang baru dan kembali ke step 1.
π£4
π£3
π£2
π£1
π£π‘π£π 3 : 1
5 : 2
6 : 2
4 : 1
4 : 3
2 : 1
8 : 4
3 : 1
3 : 2
Flow π0
Tentukan flow maksimum dari ππ!
π£4
π£3
π£2
π£1
π£π‘π£π 3 : 1
5 : 3
6 : 2
4 : 1
4 : 4
2 : 1
8 : 5
3 : 1
3 : 2
Flow π1
π£4
π£3
π£2
π£1
π£π‘π£π 3 : 1
5 : 3
6 : 3
4 : 1
4 : 4
2 : 2
8 : 6
3 : 1
3 : 2
Flow π2
π£4
π£3
π£2
π£1
π£π‘π£π 3 : 1
5 : 3
6 : 4
4 : 1
4 : 4
2 : 2
8 : 6
3 : 2
3 : 3
Flow π3
ππ
ππ
ππ
ππ
ππππ 3 : 0
5 : 4
6 : 5
4 : 1
4 : 4
2 : 2
8 : 7
3 : 2
3 : 3
Flow ππ