SHORTEST PATH ALGORITHM (Dijkstra, Bellman-Ford)

dokumen-dokumen yang mirip
ALGORITMA BELLMAN-FORD DALAM DISTANCE VECTOR ROUTING PROTOCOL

IKI 20100: Struktur Data & Algoritma

Chapter 3 part 3. Internetworking (Routing) Muhammad Al Makky

GRAF. V3 e5. V = {v 1, v 2, v 3, v 4 } E = {e 1, e 2, e 3, e 4, e 5 } E = {(v 1,v 2 ), (v 1,v 2 ), (v 1,v 3 ), (v 2,v 3 ), (v 3,v 3 )}

BAB 2 LANDASAN TEORI. Algoritma adalah urutan atau deskripsi langkah-langkah untuk memecahkan suatu masalah.

Implementasi Graf dalam Penentuan Rute Terpendek pada Moving Object

Algoritma Dijkstra dan Bellman-Ford dalam Pencarian Jalur Terpendek

Algoritma Bellman-Ford dalam Distance Vector Routing Protocol

TIP 163. Game Engine. Topik 5 (Pert 6) Graf, Representasi Dunia, dan Algoritma Pencari Jalur (Pathfinding) Dosen: Aditya Wikan Mahastama

Aplikasi Algoritma Dijkstra dalam Pencarian Lintasan Terpendek Graf

Minimum Spanning Trees algorithm

STUDI DAN IMPLEMENTASI ALGORITMA DIJKSTRA, BELLMAN-FORD DAN FLOYD-WARSHALL DALAM MENANGANI MASALAH LINTASAN TERPENDEK DALAM GRAF

Routing: Algoritma Routing (Dinamis) :

ALGORITMA DJIKSTRA, BELLMAN-FORD, DAN FLOYD-WARSHALL UNTUK MENCARI RUTE TERPENDEK DARI SUATU GRAF

APLIKASI TEORI GRAF DALAM JARINGAN (NETWORKING)

Perbandingan Algoritma Dijkstra dan Algoritma Bellman Ford pada Routing Jaringan Komputer

BAB II STUDI LITERATUR

BAB IV ANALISIS PEMILIHAN ALGORITMA LINTASAN TERPENDEK DAN PENYELESAIAN KASUS RUTE PENERBANGAN DOMESTIK

Aplikasi Graf pada Persoalan Lintasan Terpendek dengan Algoritma Dijkstra

Aplikasi Teori Graf dalam Manajemen Sistem Basis Data Tersebar

Mata kuliah Jaringan Komputer Jurusan Teknik Informatika - UNIKOM ROUTING DINAMIK

ANILISIS JARINGAN DENGAN ROUTING PROTOKOL BERBASIS SPF (SHORTEST PATH FIRST) DJIKSTRA ALGORITHM

IP Routing. Olivia Kembuan, M.Eng PTIK -UNIMA

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORITIS

Elvira Firdausi Nuzula, Purwanto, dan Lucky Tri Oktoviana Universitas Negeri Malang

STUDI DAN IMPLEMENTASI PERSOALAN LINTASAN TERPENDEK SUATU GRAF DENGAN ALGORITMA DIJKSTRA DAN ALGORITMA BELLMAN-FORD

Pengaplikasian Algoritma Dijkstra Dalam Pembuatan Agenda Penerbangan

PENENTUAN RUTE TERPENDEK PADA OPTIMALISASI JALUR PENDISTRIBUSIAN BARANG DI PT. X DENGAN MENERAPKAN ALGORITMA FLOYD-WARSHALL

PATH KUAT TERKUAT DAN JARAK KUAT TERKUAT DALAM GRAF FUZZY. Lusia Dini Ekawati 1, Lucia Ratnasari 2. Jl. Prof. H. Soedarto, S. H, Tembalang, Semarang

Routing Algorithm* *J.F Kurose and K.W. Ross, All Rights Reserved. Industrial Engineering Faculty System Information Program 2015

INTRODUCTION TO GRAPH THEORY LECTURE 2

1. Pendahuluan Salah satu contoh perkembangan teknologi adalah teknologi dalam pencarian rute terpendek. Kehadiran teknologi pencarian rute dapat

Aplikasi Graf dalam Jaringan Komputer

William Stallings Data and Computer Communications 7 th Edition. Bab 12 Routing

Bagaimana merepresentasikan struktur berikut? A E

Struktur dan Organisasi Data 2 G R A P H

PENYELESAIAN MASALAH LINTASAN TERPENDEK FUZZY DENGAN MENGGUNAKAN ALGORITMA CHUANG KUNG DAN ALGORITMA FLOYD

PEMBERIAN NOMOR VERTEX PADA TOPOLOGI JARINGAN GRAF WHEEL, GRAF HELM DAN GRAF LOLLIPOP

Pencarian Jalur Terpendek dalam GPS dengan Menggunakan Teori graf Using Graph Theory for Finding Shortest Path in GPS

Penerapan Teori Graf Pada Algoritma Routing

BAB I PENDAHULUAN. Di tengah masyarakat dengan aktivitas yang tinggi, mobilitas menjadi hal yang penting.

Penggunaan Algoritma Dijkstra dalam Penentuan Lintasan Terpendek Graf

BAB 2 LANDASAN TEORI

Pencarian Jalur Terpendek dengan Algoritma Dijkstra

Prodi D3 Teknik Telekomunikasi 2014

ALGORITMA DOUBLE SCALING UNTUK MENYELESAIKAN PERMASALAHAN MINIMUM COST FLOW DAN IMPLEMENTASINYA PADA PROGRAM KOMPUTER

DIMENSI METRIK KUAT PADA BEBERAPA KELAS GRAF

Graph seperti dimaksud diatas, ditulis sebagai G(E,V).

I. PENDAHULUAN. Bellman-Ford, Dijkstra, Floyd-Warshall, link-state routing protocol.

Deadlock. Pada kasus ini juga bisa terjadi kelaparan, yaitu ada proses yang tidak terlayani

NETWORK LAYER : Routing

PENYELESAIAN MASALAH ALIRAN MAKSIMUM MENGGUNAKAN EDMONS KARP ALGORITHM

Pertemuan 11 GRAPH, MATRIK PENYAJIAN GRAPH

BAB II TINJAUAN PUSTAKA

ANALISA DAN IMPLEMENTASI ALGORITMA BELLMAN FORD DALAM MNENTUKAN JALUR TERPENDEK PENGANTARAN BARANG DALAM KOTA

Konstruksi Pelabelan- Pada Line Digraph dari Graf Lingkaran Berarah dengan Dua Tali Busur

BAB II TINJAUAN PUSTAKA

Dwiprima Elvanny Myori

ROUTING. Budhi Irawan, S.Si, M.T

BAB II LANDASAN TEORI

BAB II TINJAUAN PUSTAKA. a) Purwadhi (1994) dalam Husein (2006) menyatakan: perangkat keras (hardware), perangkat lunak (software), dan data, serta

DIMENSI METRIK PADA BEBERAPA KELAS GRAF

PENERAPAN ALGORITMA RELAKSASI PADA PERMASALAHAN MINIMUM COST FLOW

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI. Teori graf dikenal sejak abad ke-18 Masehi. Saat ini teori graf telah

x 6 x 5 x 3 x 2 x 4 V 3 x 1 V 1

DIMENSI METRIK PADA GRAF LOLLIPOP, GRAF MONGOLIAN TENT, DAN GRAF GENERALIZED JAHANGIR

ALGORITMA ROUTING DI LINGKUNGAN JARINGAN GRID MENGGUNAKAN TEORI GRAF

BAB II LANDASAN TEORI

Penerapan Algoritma A* dalam Penentuan Lintasan Terpendek

Optimasi Jaringan. Masalah Optimasi Jaringan Model Optimasi Jaringan Penyelesaian Optimasi Jaringan dengan Simpleks

PENENTUAN RUTE TERPENDEK DENGAN METODE FLOYD WARSHALL PADA PETA DIGITAL UNIVERSITAS SUMATERA UTARA SKRIPSI DHYMAS EKO PRASETYO

PERBANDINGAN KOMPLEKSITAS ALGORITMA DIJKSTRA, BELLMAN-FORD DAN JOHNSON PADA SDN (SOFTWARE-DEFINED NETWORKING)

Digraph eksentris dari turnamen transitif dan regular (Eccentric digraph of transitive and regular tournaments)

UJM 2 (1) (2013) UNNES Journal of Mathematics.

PENGEMBANGAN SHORTEST PATH ALGORITHM (SPA) DALAM RANGKA PENCARIAN LINTASAN TERPENDEK PADA GRAF BERSAMBUNG BERARAH BERUNTAI

1/5. while and do Loops The remaining types of loops are while and do. As with for loops, while and do loops Praktikum Alpro Modul 3.

JARINGAN KOMPUTER : ANALISA TCP MENGGUNAKAN WIRESHARK

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

PERENCANAAN RUTE PERJALANAN DI JAWA TIMUR DENGAN DUKUNGAN GIS MENGGUNAKAN METODE DIJKSTRA S

Pelabelan Pseudo Edge-Magic dan Pseudo Vertex-Magic pada Graf Sebarang

DIMENSI PARTISI DARI GRAF LOLLIPOP, GRAF GENERALIZED JAHANGIR, DAN GRAF C n 2 K m

Line VS Bezier Curve. Kurva Bezier. Other Curves. Drawing the Curve (1) Pertemuan: 06. Dosen Pembina Danang Junaedi Sriyani Violina IF-UTAMA 2

RANCANG BANGUN APLIKASI MINIMUM SPANNING TREE (MST) MENGGUNAKAN ALGORITMA KRUSKAL

IMPLEMENTASI ALGORITMA DIJKSTRA UNTUK MENENTUKAN JALUR TERPENDEK WILAYAH PISANGAN DAN KAMPUS NUSA MANDIRI TANGERANG

BAB 2 LANDASAN TEORI

DIMENSI METRIK DAN DIAMETER DARI GRAF ULAT C m, n

PENERAPAN TEORI GRAF UNTUK MENYELESAIKAN MASALAH MINIMUM SPANNING TREE (MST) MENGGUNAKAN ALGORITMA KRUSKAL

JARINGAN KOMPUTER. 2. What is the IP address and port number used by gaia.cs.umass.edu to receive the file. gaia.cs.umass.edu :

MODEL NETWORK. Prof. Dr. Ir. ZULKIFLI ALAMSYAH, M.Sc. Program Magister Agribisnis Universitas Jambi

Chapter 3 part 1. Internetworking (Switching and Bridging) Muhammad Al Makky

Preorder Tree Traversal

BAB 2 LANDASAN TEORI

MEMBANDINGKAN KEMANGKUSAN ALGORITMA PRIM DAN ALGORITMA KRUSKAL DALAM PEMECAHAN MASALAH POHON MERENTANG MINIMUM

Sistem Operasi. Deadlock & Penanganannya. Aditya Wikan Mahastama

APLIKASI ALGORITMA BELLMAN FORD

BAB 2 TINJAUAN PUSTAKA

Konsep graph Struktur data graph Implementasi graph dengan matriks dan linked list dalam Bahasa C

Transkripsi:

SHORTEST PATH ALGORITHM (Dijkstra, Bellman-Ford)

SHORTEST PATH ALGORITHM Macam macam shortest Path Shortest path dapat dibedakan menjadi : Single Source Shortest Path Menentukan shortest path dari verteks sumber s Є V ke setiap verteks v Є V Algoritma Dijkstra, Algoritma Bellman Ford Single Destination Shortest Path Menentukan shortest path ke suatu tempat t dari tiap verteks v Single Pair shortest path Menentukan shortest path dari u ke v jika diketahui pasangan u dan v All pair shortest path Untuk semua pasangan (u,v) ditentukan kemungkinan shortest pathnya. Floyd-Warshall 2

Masalah Shortest Path Terdapat sebuah graph berbobot (weighted graph) dan dua vertices u dan v, kita ingin menemukan sebuah path dengan bobot minimum antara u dan v. panjang path adalah penjumlahan dari bobot sisi-sisinya (edges). Contoh : Shortest path antara jakarta surabaya Aplikasi Internet packet routing Flight reservations Driving directions 3

Pengertian Shortest Path Misalkan sebuah directed graph G V, E Bobot dari sebuah path p v v,..., 0, 1 v k adalah w p i k 1 w v i 1, v i Bobot shotest path dari u ke v adalah 4

Shortest Path Properties Jika G tidak memiliki bobot, maka shortest pathnya diperoleh dari panjang path yang paling minimal (jumlah edgenya paling sedikit). Jika G merupakan graph dengan bobot tertentu, maka bobot dari p adalah w p u, v w u, v p 5

Shortest Path Properties Property 1: Sebuah subpath dari sebuah shortest path adalah sebuah shortest path Property 2: Terdapat sebuah tree dari shortest paths dari start vertex ke seluruh vertex lainnya 6

Syarat Syarat yang harus dipenuhi oleh sebuah shortest path: Shortest path tidak memiliki cycle. Sebuah shortest path memiliki V 1 edge. 7

algoritma single source shortest path Ada 2 macam algoritma yang digunakan dalam memecahkan masalah single source shortest path, yaitu: Algoritma Bellman Ford ialah algoritma yang digunakan untuk memecahkan masalah single shortest path yang memiliki edge dengan bobot negatif. Algoritma Djikstra ialah algoritma yang digunakan untuk memecahkan masalah single shortest path yang memiliki edge dengan bobot positif. 8

DJIKSTRA Edsger Wybe Dijkstra lahir di Rotterdam 11 May 1930. ibunya seorang ahli metematika dan ayahnya seorang ahli kimia. th 1956 Dijkstra lulus dari Universitas Leiden dalam bidang mathematika dan teori fisika Th 1959 Dijkstra menerima PhD Universitas Amsterdam untuk thesisnya yg berjudul Communication with an Automatic Computer, 9

algoritma DIJKSTRA Algoritma dijkstra adalah salah satu algoritma untuk memecahkan masalah single source shortest path Pada algoritma dijkstra pemecahan masalah diperuntukkan untuk sebuah Graph G=(V,E) yang berbobot non negatif. Diasumsikan w(i,j) 0 untuk masing-masing edge (i,j) Є E 10

Metode algoritma DIJKSTRA 1. Inisialisasi s (sumber) Pilih salah satu vertex sebagai sumber Maka d(s) = 0 Beri label 0 pada vertex s 2. Untuk masing-masing edge e Є E Jika i adalah endpoint dari e yang sudah diberi label dan j adalah endpoint yang belum diberi label maka p(i,j) adalah = d(i) + w(i,j) 11

Metode algoritma DIJKSTRA 3. e adalah edge untuk T yang mempunyai nilai P terkecil Jika i adalah endpoint dari e yang sudah diberi label dan j adalah endpoint yang belum diberi label maka tambahkan e dan vertex j ke tree T d(j)=p(ij) Beri label d(j) pada vertex j 4. Kembali ke no 2 12

Metode dijkstra Metode algoritma DIJKSTRA menggunakan metode relaksasi Relaksasi (i,j,w) Jika d(j)>d(i)+w(i,j) Maka d(j) adalah d(i) + w(i,j) Beri label d(j) pada j 13

Metode algoritma DIJKSTRA Output algoritma dijkstra adalah spanning tree T, dimana path dari vertex s (sumber) ke masing-masing vertex v adalah sebuah shortest path dari s ke v dalam sebuah graph G. Label pada sebuah vertex adalah jarak dari s ke masingmasing vertex 14

Contoh 1 Tentukan shortest path dari A ke setiap v pada graph G berikut: A 10 B 7 C 9 15 5 2 D 6 8 E 4 15

Contoh 1(cont) d(a)=0 A 7 C 9 15 8 10 5 2 E 4 B 6 D Spanning tree T kosong 1. Inisialisasi s (sumber) pilih vertex A sebagai sumber. S=A, maka d(a)=0. beri label 0 pada A 2. Untuk semua edge Є E, i adalah endpoint yg sudah di label, i = A j adalah endpoint yg belum dilabel j= B,C,D,E P(AB)=10, P(AC)=7, P(AE)=15 16

Contoh 1(cont) d(a)=0 A 7 C d(c)=7 9 15 8 10 E 5 2 4 B D 3. AC yang mempunyai nilai P terkecil sehingga C ditambahkan ke spanning tree T d(c)=p(ac)=7 6 Beri label d (c) pada vertex c 17

Contoh 1(cont) d(a)=0 A 7 C d(c)=7 9 15 8 10 B 6 5 D 2 E 4 d(d)=9 4. Kembali ke no 2 P(AB)=10,P(AE)=15, P(CB)=22,P(CD)=9,P(CE)=15 CD yg mempunyai nilai P terkecil, sehingga D ditambahkan ke T Beri label d(d)=9 18

Contoh 1(cont) d(a)=0 A 7 C d(c)=7 9 15 8 10 B 6 5 D 2 E 4 d(b)=10 d(d)=9 5. Kembali ke no 2 P(AB)=10,P(AE)=15, P(CB)=22,P(CE)=15,P(DB)=15,P(DE)=13 AB yg mempunyai nilai terkecil,sehingga B ditambahkan ke T Beri label d(b) =10 19

Contoh 1(cont) d(a)=0 d(b)=10 10 A B 15 6 7 5 9 C D 2 d(c)=7 d(d)=9 8 E 4 d(e)=13 5. Kembali ke no 2 P(AE)=15, P(CB)=22, P(CE)=15,P(DB)=15, P(DE)=13, P(BE)=18 DE yg mempunyai nilai terkecil,sehingga E ditambahkan ke T Beri label d(e) =13 6. Semua vertex sudah diberi label 7. selesai 20

Aplikasi dijkstra Dijkstra's algorithm determines the distances (costs) between a given vertex and all other vertices in a graph.this may be useful to determine alternatives in decision making. Dijkstra's algorithm is almost identical to that of Prim's.The algorithm begins at a specific vertex and extends outward within the graph, until all vertices have been reached. The only distinction is that Prim's algorithm stores a minimum cost edge whereas Dijkstra's algorithm stores the total cost from a source vertex to the current vertex. More simply, Dijkstra's algorithm stores a summation of minimum cost edges whereas Prim's algorithm stores at most one minimum cost edge. 21

22 contoh

23 contoh

24 contoh

25 contoh

26 contoh

27 contoh

soal Tentukan shortest path dari A ke semua node pada graph berikut : 28

BELLMAN FORD Algoritma ini merupakan pengembangan dari algoritma Djikstra, Algoritma Bellman Ford akan benar jika dan hanya jika graph tidak terdapat cycle dengan bobot negatif yang dicapai dari sumber s. No cycle Diasumsikan shortest paths tidak mempunyai cycles. shortest path maksimum mempunyai V -1 edge 29

Ciri ciri Algoritma Bellman-Ford : Bekerja walaupun terdapat edge dengan bobot negative. Harus directed edge (jika tidak graph akan memiliki cycle dengan bobot negatif) Iterasi i menemukan seluruh shortest path dengan menggunakan i edge. Dapat mendeteksi cycle dengan bobot negatif jika ada. 30

Contoh algoritma bellman ford BF(G,w,s) // G = Graph, w = weight, s=source Determine Single Source(G,s); set Distance(s) = 0; Predecessor(s) = nil; for each vertex v in G other than s, set Distance(v) = infinity, Predecessor(v) = nil; for i <- 1 to V(G) - 1 do // V(G) Number of vertices in the graph for each edge (u,v) in G do if Distance(v) > Distance(u) + w(u,v) then set Distance(v) = Distance(u) + w(u,v), Predecessor(v) = u; for each edge (u,r) in G do if Distance(r) > Distance(u) + w(u,r); return false; //This means that the graph contains a cycle of negative weight //and the shortest paths are not well defined return true; //Lengths of shortest paths are in Distance array 31

Algoritma : Bellman-Ford(G,w,s) Inisialisasi single source(g,s) for i=1 to V[G] -1 do for each edge (u,v) E[G] do RELAX(u,v) for each edge (u,v) E[G] ; untuk mencek apakah ada atau tidak cycle dgn bobot negatif do if d[v] > d[u] +w ((u,v)) ; jika hasil algoritma yang diinginkan belum didapat then return FALSE return TRUE; 32

Teknik relaksasi Untuk setiap vertex v Є V, d (v) adalah bobot upper bound sebuah shortest path dari s ke v, d(v) disebut estimasi shortest-path 33

relaksasi 1. pada algorithm Dijkstra dan algoritma shortest-paths untuk directed acyclic graphs (DAG), setiap edge direlaksasi sekali. 2. pada algoritma Bellman-Ford, setiap edge direlaksasi beberapa kali. 34

Triangle Inequality Lemma 1 Untuk setiap edge (u; v) Є E, mempunyai δ(s;v) δ(s;u)+w(u;v) 35

Upper-bound Property Lemma 2 Kita selalu mempunyai d[v] (s;v) untuk seluruh vertices vєv dan satu d[v] achieves the value (s;v), yang tidak pernah berubah Corollary 1 Jika tidak terdapat path dari s ke v, maka kita selalu mempunyai d[v] = δ(s;v) =. 36

Convergence Property Lemma 3 If s u v is a shortest path in G for some u; v ЄV and if d[u] = δ(s;u) at any time prior to relaxing edge (u;v), then d[v] = δ(s;v) at all times afterward. 37

38 Path-relaxation Property

Applications in routing A distributed variant of Bellman-Ford algorithm is used in the Routing Information Protocol (RIP). The algorithm is distributed because it involves a number of nodes (routers) within an Autonomous system, a collection of IP networks typically owned by an ISP. It consists of the following steps: Each node calculates the distances between itself and all other nodes within the AS and stores this information as a table. Each node sends its table to all neighbouring nodes. When a node receives distance tables from its neighbours, it calculates the shortest routes to all other nodes and updates its own table to reflect any changes. 39

Applications in routing The main disadvantages of Bellman-Ford algorithm in this setting are Does not scale well Changes in network topology are not reflected quickly since updates are spread node-by-node. Counting to infinity 40

algoritma Bellman Ford Ada dua hal yang harus menjadi catatan pada algoritma Bellman-Ford, yaitu : Shortest path tidak akan terdiri lebih dari V-1 edge dari graph yang bersangkutan, dengan asumsi tidak ada negative cycle.jika terdapat lebih dari V-1 edge pada shortest path, maka ada node yang dilewati lebih dari satu kali.hal tersebut akan mengakibatkan shortest path tidak optimal. Pada tiap iterasi, harus dipertimbangkan edge mana yang akan digunakan terlebih dahulu. 41

contoh develop algorithm using the following working example use a table to show changes in estimates of distances and predecessors initialize table no predecessors 42

contoh Revise estimates of distances Ulangi sebanyak v-1 kali Untuk masing-masing edge (u, v) dalam graph, set d(v) = min[d(v), d(u) + w(u, v)] Jika jarak direvisi, tentukan vertex predecessor baru edges dapat diambil dengan berbagai cara misalnya sesuai dengan urutan abjad: (a, b), (a,c), (a, d), (b, a), (c, b),..., (s, b) 43

contoh show how we can use predecessor information to trace paths from source 44

45 penjelasan

46

47

48

49

50

51

52

HAPPY LEARNING!!