genetika, algoritma semut, logika fuzzy, jaringan syaraf tiruan, pencarian tabu, simulated annealing.
2.4.1 Algoritma Dijkstra
Algoritma dijkstra, dinamai menurut penemunya, edsger dijkstra, adalah sebuah algoritma rakus greedy algorithm dalam memecahkan permasalahan jarak
terpendek shortest path problem untuk mencari sebuah graf berarah directed graf dengan bobot-bobot sisi yang tidak bernilai negatif. Misalnya, bila vertices dari
sebuah graf melambangkan kota-kota tersebut, maka algoritma dijkstra dapat digunakan untuk menemukan jarak terpendek antara 2 kota tersebut. Input algoritma
ini adalah sebuah graf berarah yang berbobot weighted directed graf G dan sebuah sumber vertex s dalam G dan V adalah himpunan semua vertices dalam graf G. setiap
sisi dari graf ini adalah pasangan vertices u,v yang melambangkan hubungan dari vertex u ke vertex v. himpunan semua tepi disebut E.
Pseudocode
Sumber http:www.id.wikipedia.orgwikiHuffAlgoritma_dijkstra
Gambar 2.6 Pseudocode Algoritma dijkstra
Sebagai contoh, carilah lintasan terpendek dari vertex a ke z dalam graf berbobot tersambung dan tidak berarah berikut berikut:
a b
c
d e
f g
z 2
1 2
3 4
2
4
5 3
7 1
6
Gambar 2.7 Contoh Graf Berbobot Tersambung
Hasil pelaksanaan baris ke 2-4 dari algoritma 2.6, La = 0, Lb = Lc = Ld = Le = Lf = Lg = Lz =
∞
. Pada baris ke 7 z tidak dilingkari. Kita lanjutkan ke baris 9, di mana kita memilih verteks a, verteks tak dilingkari dengan label terkecil, dan
melingkarinya. Pada baris 11 dan 12 kita perbarui setiap verteks tak terlinkari, b dan f, yang berdekatan dengan a. Kita dapatlkan label-label baru
Lb = min{
∞
, 0+2} = 2, Lf = min{
∞
, 0+1} = 1. Sampai pada bagian ini, kita kembali ke baris 7. Karena z tak dilingkari, kita
lanjutkan ke baris 9, di mana kita memilih verteks f, verteks tak dilingkari dengan label terkecil, dan melingkarinya. Pada baris 12 dan 13 kita perbarui setiap label dari
verteks tak dilingkari, d dan g, yang berdekatan dengan f. Kita dapatkan label-label baru
Ld = min{
∞
, 1+3} = 4, Lf = min{
∞
, 1+5} = 6. Sampai pada bagian ini, kita kembali ke baris 7. Demikian seterusnya dan pada akhir
algoritma, z dilabeli 5, menyatakan panjang lintasan terpendek dari a ke z adalah 5. Sebuah lintasan terpendek diberikan oleh a,b,c,z.
2.4.2 Algoritma Floyd-Warshall