Graf dan Dijkstra

Ringkasan

Graf wakili pengetahuan relasional dan ruang keadaan search. Algoritma Dijkstra cari jarak terpendek di graf berbobot (bobot non-negatif) dari satu sumber ke semua simpul. Materi: definisi formal , jenis graf, inisialisasi, relaksasi, dua contoh hitung (SF-Boston = 2715, B-E-C-F = 9.1), peta graf B-F.


Konsep Kunci

1. Definisi formal

graf, himpunan simpul (vertex/node), himpunan sisi (edge) hubungkan dua simpul. Contoh: , .

2. Jenis graf

  • Directed (digraph): sisi berpanah satu arah; tak berarti .
  • Undirected: sisi tanpa arah, dua arah.
  • Weighted: sisi berlabel bobot; panjang lintasan = jumlah bobot. Contoh = .
  • Unweighted: tanpa bobot; panjang = jumlah sisi.
  • Cyclic: ada siklus. Acyclic: tanpa siklus (pohon salah satunya).

3. Algoritma Dijkstra: inisialisasi

Jarak sumber ke diri sendiri , ke semua lain . Tandai sumber dikunjungi. Ulangi sampai semua dikunjungi atau tujuan ketemu.

4. Relaksasi

Untuk tiap tetangga simpul kini dengan bobot , hitung jarak sementara . Bila lebih kecil dari tersimpan, perbarui:

Lalu pilih simpul belum dikunjungi dengan terkecil sebagai simpul kini. Syarat optimal: bobot non-negatif.

5. Metode graf terkait

Shortest path: Dijkstra, A*. Traversal: BFS, DFS.


Contoh (dengan perhitungan)

SF ke Boston (jarak terpendek 2715)

SF proses tetangga: LA = 349. LA → Denver (lebih pendek dari LA → NY ) → Denver 1183. Denver → Chicago , tapi langsung SF → Chicago 1855 lebih pendek → Chicago 1855. Chicago → Atlanta (vs Chicago → NY , Chicago → Boston ) → Atlanta 2461. Atlanta → Miami , Atlanta → NY ; Chicago → Boston 2715 paling pendek. Rute menang: SF – Chicago – Boston = .

B ke F (total 9.1, 6 iterasi)

Bobot: B-A 3, B-D 3.5, B-E 2.8, E-C 2.8, E-D 3.1, E-G 7, A-C 3, D-G 10, C-F 3.5 F-G 2.5.

IterasiKunjungiUpdate
0—{A:∞, B:0, C:∞, D:∞, E:∞, F:∞, G:∞}
1BA=3, D=3.5, E=2.8
2EC=, D coba tolak, G=
3AC coba tolak
4DG coba tolak
5CF=
6Ftujuan, selesai

Rute menang: B → E → C → F = .

Transclude of excalidraw/graf-dijkstra-be-cf.excalidraw


Keterkaitan