Lintasan Terpendek
Persoalan lintasan terpendek yaitu menemukan lintasan terpendek
antara dua atau beberapa simpul lebih yang berhubungan.
Bobot pada sisi graf dapat menyatakan jarak antar kota, waktu
pengiriman pesan, ongkos pembangunan, dan sebagainya.
Ada beberapa macam persoalan lintasan terpendek, antara lain:
a. Lintasan terpendek antara dua buah simpul tertentu (a pair shortest
path).
b. Lintasan terpendek antara semua pasangan simpul (all pairs
shortest path).
c. Lintasan terpendek dari simpul tertentu ke semua simpul yang lain
(singlesource shortest path).
d. Lintasan terpendekan antara dua buah simpul yang melalui
beberapa simpul tertentu (intermediate shortest path).
Contoh-contoh Algoritma Persoalan Lintasan Terpendek
1.Periksa semua sisi yang langsung bersisian (incident) dengan simpul a. Pilih sisi yang bobotnya
terkecil. Sisi ini menjadi lintasan terpendek pertama. Sebut lintasan itu L1.
2. Tentukan lintasan terpendek kedua dengan cara berikut:
(i) hitung: d1 = Panjang (L1) + bobot sisi dari simpul akhir L1 ke simpul i yang lain (simpul i
yang lain adalah simpul i yang belum termasuk di dalam L1)
(ii) (ii) pilih d1 yang terkecil bandingkan d1 dengan bobot sisi (a, i). Jika bobot (a, i) lebih kecil
daripada d1, maka lintasan terpendek kedua adalah L2 = (a, i), jika tidak, maka L2 = L1 u
(sisi dari simpul akhir L1 ke simpul i) 3. Dengan cara yang sama, ulangi langkah 2 untuk
menentukan lintasan terpendek berikutnya.
Algoritma Dijkstra
Sampai saat ini, sudah banyak algoritma mencari lintasan terpendek yang
pernah ditulis orang. Algoritma lintasan terpendek yang paling terkenal
adalah algoritma Dijkstra (sesuai dengan nama penemunya, Edsger Wybe
Dijkstra). Dari naskah aslitnya, algoritma Dijkstra diterapkan untuk mencari
lintasan terpednek pada graf berarah. Namun, algoritma ini tetap benar
untuk graf tak-berarah.
Edsger Wybe Dijkstra adalah seorang ilmuwan komputer dan ahli matematika
Jerman yang telah memberikan banyak kontribusi pada ilmu komputer. Di
antara banyak algoritma yang telah ia temukan, algoritma lintasan terpendek
yang dijelaskan di sini merupakan yang terbaik yang pernah diketahui.
Perhitungan lintasan terpendek dari simpul awal a = 1 ke semua
simpul lainnya ditabulasikan sebagai berikut (termasuk nilai-nilai
tabel S dan D):
Jadi, lintasan terpendek dari: 1 ke 3 adalah 1, 3 dengan panjang = 10 1 ke 4
adalah 1, 3, 4 dengan jarak = 25 1 ke 2 adalah 1, 3, 4, 2 dengan jarak = 45 1
ke 5 adalah 1, 5 dengan jarak = 45 1 ke 6 tidak ada
Persoalan Pedagang Keliling (travelling
salesperson problem (TSP)
Diberikan sejumlah kota dan diketahui jarak antar kota. Tentukan tur
terpendek yang harus dilalui oleh seorang pedagang bila pedagang itu
berangkat dari sebuah kota asal dan menyinggahi setiap kota tepat satu
kali dan kembali lagi ke kota asal keberangkatan.
5 9 5 9
10 8 10 8
d 15 c d 15 c d c
a 12 b a b
a b
5 9 5 9
d 15 c d c
d c
I1 = (a, b, c, d, a) à bobot = 10 + 12 + 8 + 15 = 45
I2 = (a, c, d, b, a) à bobot = 12 + 5 + 9 + 15 = 41
I3 = (a, c, b, d, a) à bobot = 10 + 5 + 9 + 8 = 32
Jadi grafnya bukan graf Euler, maka beberapa sisi di dalam graf harus
dilalui lebih dari sekali.
Mewarnai wilayah pada peta berarti mewarnai simpul pada graf yang
berkoresponden.
Untuk graf-graf yang lain tidak dapat dinyatakan secara umum bilangan
kromatiknya.
• Perkembangan teorema pewarnaan graf:
TEOREMA 1. Bilangan kromatik graf planar 6.
TEOREMA 2. Bilangan kromatik graf planar 5.
TEOREMA 3. Bilangan kromatik graf planar 4.
• Jawaban dari persoalan ini ditemukan oleh Appel dan Haken yang
menggunakan komputer untuk menganalisis hampir 2000 graf yang
melibatkan jutaan kasus
Cukup 4 warna saja untuk mewarnai sembarang peta
Aplikasi lain pewarnaan graf: penjadwalan.
Misalkan terdapat delapan orang mahasiswa (1, 2, …, 8) dan lima buah
mata kuliah yang dapat dipilihnya (A, B, C, D, E). Tabel berikut
memperlihatkan matriks lima mata kuliah dan delapan orang
mahasiswa. Angka 1 pada elemen (i, j) berarti mahasiswa i memilih
mata kuliah j, sedangkan angka 0 menyatakan mahasiswa i tidak
memilih mata kuliah j
A B C D E
1 0 1 0 0 1
2 0 1 0 1 0
3 0 0 1 1 0
4 1 1 0 0 0
5 0 1 0 1 0
6 0 0 1 1 0
7 1 0 1 0 0
8 0 0 1 1 0
Berapa paling sedikit jumlah hari yang dibutuhkan untuk jadwal ujian
tersebut sedemikian sehingga semua mahasiswa dapat mengikuti ujian
mata kuliah yang diambilnya tanpa bertabrakan waktunya dengan
jadwal ujian kuliah lain yang juga diambilnya?
Penyelesaian:
simpul mata kuliah
sisi ada mahasiswa yang mengambil kedua mata kuliah (2 simpul)
A merah A
biru E
B
B merah
merah
biru
D D
C