• Tidak ada hasil yang ditemukan

Abstraksi. Abstraksi. Abstraksi. Property SP (single short shortest path) 4/29/2010. Berapa pa th yang mungkin dari garaph G tadi?

N/A
N/A
Protected

Academic year: 2021

Membagikan "Abstraksi. Abstraksi. Abstraksi. Property SP (single short shortest path) 4/29/2010. Berapa pa th yang mungkin dari garaph G tadi?"

Copied!
10
0
0

Teks penuh

(1)

Single

 

source

 

shortest

 

path

dijkstra

j

wijanarto

Terminologi

• Dijkstra’s algorithm di pakai untuk menemukan shortest path dari satu source ke seluruh vertek dalam graph.

• Algo ini menggunakan 2 himp node yaitu S dan C. 

• Pada himp. S berisi node yang terpilih yang 

memiliki jarak minimal dari source.

• Pada himp. C berisi node selain yang terpilih dalam S, yang belum di ketahui dan merupakan kandidat yang akan di pilih pada langkah berikutnya

Terminologi

• Dengan demikian kita akan peroleh N=S∪C • Pada saat algoritma berhenti, S berisi seluruh

node dari G dan masalah terselesaikan.

i l k h ilih d l C k

• Tiap langkah yang terpilih dalam C merupakan jarak terkecil pada source dan di tambahkan ke S

Abstraksi

• Diberikan G={V,E}, directed graph dengan fungsi l:EÆR+ 0.5 5

• Problem mencari jalur terpendek dari S ke T

1.1 2 3 3.1 7 S source T (destination)

(2)

Abstraksi

• Berapa pa th yang mungkin dari garaph G  tadi? 8 6 • Shortest path = 7.2 8.6 7.2 8.1 9 8.6

Abstraksi

• Dapatkah kita mencari SP dengan cara seperti sebelumnya ??? Kenapa ??

• Sebab dalam praktek, mungkin terdapat G  yang besar dengan path yang tidak di ketahui yang besar dengan path yang tidak di ketahui,  misal :

• Jika terdapat k diamond, berapa vertek‐nya • Berapa Path?? 

S T

3k+1

2kdiantara S dan T

Abstraksi

• Sehingga jika terdapat n vertek, maka terdapat 2 n/3path

• Lalu bagaimana kita mencari SP pada problem  seperti ini??

seperti ini??

• Untuk melakukannya kita harus tahu property  dari SP S T 0.5 1 1.1 0.2 0.3 0.4 0.5 0.8

Property

 

SP

 

(single

 

short

 

shortest

 

path)

• Di berikan path dalam G, dari s ke t

s x t

• X salah satu vertek dalam path s‐t, sehingga terdapat path s‐x dalam s‐t, dimana merupakan SP

Jadi Algoritma yang akan di bicarakan adalah

(3)

contoh

• Misal l1<l2<l3, merupakan adj vertek dari s ke v1,v2,v3

• Dikatakan bahwa sp dari s –v1 adalah l1, dan berlaku untuk semua path dari s ke setiap v berlaku untuk semua path dari s ke setiap v  dalam G, karena l adalah bernilai positive • Dinotasikan distance/jarak pada

d[v1]=l1,d[v2]<=l2, dst s l3 l2 l1 v1 v2 v3

IDE

 

SSSP

s 2.3 1.1 0.7 v1 v2 3 v4 v5 0.4 0.5 0.5 0.3

• D[v1]=0.7, karena hanya terdapat 1 path

• D[2]=1.1Î1.2, ada path lain (s‐v1‐v2) tp tdk update

• D[3]=2.3 Î1,ada path lain(s‐v1‐v3) 

–Path d[2] dan d[3] mengalami update utk mendapatkan shortest path • D[4]=1.1 • D[5]=1.2 v3

Algoritma

procedureDijkstra;

{ Dijkstra menghitung cost shortest path dr vertex 1 ke tiap vertex dr directed graph }

begin

1. S := {1}; 2. for i := 2 to n do

3. D[i] := C[1, i]; { inisialkan D },

4. for i := 1 to n-1 do begin

5. Pilih vertex w dlm V-S sedemikian sehingga D[w] adlh minimum;

6. Tambahkan w ke S;

7. for tiap vertex v dlm V-S do 8. D[v] := min(D[v], D[w] + C[w, v]) end end;{ Dijkstra}

SSSP

 

Manual

• Misalkan source 1, maka 1 2 5 45 4 1 2 5 3 50 35 15 20 3 6 10 10 20 15 30

(4)

SSSP

 

Manual

• Cari Source Ke Akhir simpul, ternyata ada: –1‐2,1‐3,1‐4,1‐5

• Cari jalur terpendek dari tiap‐tiap simpul yang  berhubungan dr source ke akhir

berhubungan dr source ke akhir –1‐2 •1‐2 =50 •1‐3‐4‐2 =45, terpendek •1‐5‐4‐2 =95

SSSP

 

Manual

–1‐3 •1‐3 =10 •1‐2‐3 =65, terpendek •1‐2‐5‐4‐2‐3 =125 •1 5 4 2 3 110 •1‐5‐4‐2‐3 =110 –1‐4 •1‐3‐4 =25, terpendek •1‐2‐5‐4 =90 •1‐2‐3‐4 =80 •1‐5‐4 =75

SSSP

 

Manual

–1‐5 •1‐5 =45,terpendek •1‐2‐5 =60 •1‐3‐4‐2‐5 =65 •1‐3‐4‐5 =60

• Kumpulkan jalur terpendek dari masing‐ masing simpul yang berhubungan dr source ke akhir

SSSP

 

Manual

Hasil Akhir

Jalur Jarak 1‐3 10 1‐3‐4 25 1‐3‐4‐2 45 1‐5 45 45 4 1 2 5 3 20 10 15 45

(5)

Problem

• Di ketahui G=(V,E), directed and weighted.

• Hitung panjang (cost) shortest path darinode 1 ke setiap node dalam G.

• source node 1 ke 3. Ada beberapa pathsp p  (1(  ‐> 4 ‐ > 3, 1 ‐> 2 ‐> 3, dst.), tetapi shortest dari path tsb adalah 1 ‐> 4 ‐> 2 ‐>3 dg panjang 9. 

Tugas kita adalah bagaimana menemukan .

Algoritma Semi

Greedy

• KompleksitasO(n*lg(lg(n))) hingga O(n2). • Ambil cost dari shortest path ke seluruh node 

dan tandai dengan infinity (∞). Dan..

d i j ( ) h h d

• Tandai panjang (cost) shortest path pada source dengan0.

Algoritma (lanj.)

• Pilih node yg terdekat dg source dan blm optimal dan yang menjanjikan adalah path ke node 2 dan 4.

• Update cost∞pada 2 dan 4 • Update cost ∞pada 2 dan 4

–2Î0+10=10

–4Î0+5=5 (node terpilih)

• Dari 4 kita akan update cost node 2, 3 dan 5,  yaitu:  • 2Î5+2=7 (node terpilih) 3Î 9

Algoritma (lanj.)

• 3Î5+9=14 • 5Î5+2=7

(6)

Algoritma (lanj.)

• Dari 2 kita akan update cost node 3 :  • 2Î5+2=7 (node terpilih)

• 3Î5+9=14 • 5Î5+2=7

Algoritma (lanj.)

• Algoritma berhenti karena semua node sudah di kunjungi dan terupdate optimal cost • Panjang (cost) optimal =1‐4‐2‐3Î8 step Dari AÎ 1 2 3

SSSP

 

Greedy

A B 50 F C 10 10 20 40 10 20 20 A 80 A 90 A ∞ ∞ ∞ ∞ A B 20 A 30 B80A 90 A ∞ Cost selected

Current lowest cost

B C D E F G H F 20 40 70 30 90 3 4 5 6 7 8 E G D H 50 30 90 20 20 80 10 10 20 A F F B A C 60 C 50 C 20 A 40 F30 B 90 A D 70 D 20 A 40 F 50 C30 B 60 C H 70 D 20 A 40 F 50 C30 B 60 C G 70 D 20 A 40 F 50 C30 B 60 C

E=∞artinya tidak ada path lagi,walau ada edge Total cost=

Algoritma

 

Knapsack

• Ada beberapa versi dari masalah klasik ini. Salah satunya bisa 

diilustrasikan sebagai berikut. Diberikan n objek dan sebuah 

ransel (knapsack). Masing‐masing objek i mempunyai berat 

widan viRansel tersebut bisa memuat objek maksimal  seberat W. Masalah y gyang harus dipecahkanp  adalah bagaimanag  

mengisi ransel dengan objek yang nilai maksimal tanpa 

melewati batas kapasitas dari ransel. Dalam versi ini, 

diasumsikan bahwa masing‐masing objek dapat dibagi 

menjadi bagian yang lebih kecil, sehingga kita dapat 

memutuskan untuk hanya membawa sebagian objek i 

sebanyak x1. Dengan demikian, algoritma untuk masalah ini 

(7)

Algoritma

• n adalah jumlah objek wiadalah variabel yang 

menyatakan berat dari objek i, vi adalah 

variabel yang menyatakan nilai dari objek i, xi adalah pecahan yang menyatakan beberapa adalah pecahan yang menyatakan beberapa  bagian dari objek i yang dimasukkan dalam  ransel. Variabel berat menyatakan jumlah  berat objek yagn sudah dimasukkan dalam  ransel, sedangkan W adalah kapasitas dari  ransel. 

Secara

 

Matematis

• Fungsi Utama/Tujuan/Objektif

–Fungsi yg mjd penyelesaian masalah dengan 

mendapatkan solusi optimal, yaitu mendapatkan 

nilai pprofit ygyg maksimal utk sejumlahj  obyeky  yangy g 

akan di muat dalam ransel yg sesuai kapasitasnya

• Fungsi Pembatas/Subyektif

–Bertujuan memberikan batas maksimal setiap 

obyek untuk di muatkan dalam ransel sesuai 

kapasitasnya

rumus

=

i

n

i

i

X

P

1

Fungsi Tujuan

=

X

M

W

n

i

i

1

Fungsi Pembatas

0

,

0

,

1

0

X

i

P

i

>

W

i

>

Solusi

 

Greedy

• Pilih obyek dengan nilai Pimaksimal • Pilih obyek dengan bobot Wiminimal • Pilih obyek dengan perbandingan Pi/Wi b terbesar

(8)

Algoritma

 

Knapsack

 

Greedy

void GREEDY(int n,int c, int p[],int w[]){

int cc,jj,j; cc=c; zg=0; jj=1; for(j=1;j<n;j++){ if (w[j]>cc) x[j]=0; else { x[j] = 1; cc=cc-w[j]; zg=zg+p[j];g g p[j]; } if (p[j]>p[jj]) jj=j; } if (p[jj]>zg){ zg=p[jj]; for (j=1;j<n;j++) x[j]=0; x[jj]=1; } }

Psuedocode

 

Algoritma

–Inisiasi 

•Untuk setiap i, set xi= 0

•Set berat = 0 

–Selama berat < W lakukan  

•Pilih i, yaitu objek yang paling potensial (lihat keterangan di 

bawah) dari objek yang tersisa. 

•Jika berat + wi≤ maka   xi= 1

Berat = berat + wi Jika tidak maka 

xi= (W – berat) / wi berat = W

Contoh

 

Soal

• Diketahui

–n=3 dengan Wi(18,15,10) dan Pi(25,24,15) dan M=20

• Ditanyakan • Ditanyakan

–Tentukan berat tiap‐tiap barang yang dpt di muat dalam ransel dengan kapasitas M ?

Secara

 

Matematika

=

i

i

i

X

P

3

1

i

1

=

20

3

1

i

i

X

W

0

,

0

,

1

0

X

i

P

i

>

W

i

>

(9)

Step

 

1

• Tentukan solusi feasibel yaitu 2 X n dari batas  bawah dan atas, lalu hitung sesuai kapasitas  M<=20, untuk masing masing bobotnya X 0 X 1 X ? X 1 X 0 X ? X =1 X =? X =0 X1=0,X2=1,X3=? 18X1+15X2+10X3≤20 18.0+15.1+10.X3≤20 10X3≤20-15 X3=1/2 X1=1,X2=0,X3=? 18X1+15X2+10X3≤20 18.1+15.0+10.X3≤20 10X3≤20-18 X3=1/5 X1=1,X2=?,X3=0 18X1+15X2+10X3≤20 18.1+15X2+10.0 ≤20 15X2≤20-18 X2=2/15 X1=0,X2=?,X3=1 18X1+15X2+10X3≤20 18.0+15. X2+10.1 ≤20 15X2≤20-10 X2=2/3 X1=?,X2=1,X3=0 18X1+15X2+10X3≤20 18X1+15.1+10.0 ≤20 18X1≤20-15 X1=5/18 X1=?,X2=0,X3=1 18X1+15X2+10X3≤20 18X1+15.0+10.1 ≤20 18X1≤20-10 X1=5/9

Step

 

2

• Buat tabel Untuk solusi fisibel Solusi ke (X1,X2,X3) ΣWiXi ΣPiXi

Profit 1 (0 1 1/2) 20 31 5 solusi fisibel 1 (0,1,1/2) 20 31.5 2 (1,0,1/5) 20 28 3 (1,2/15,1) 20 28.2 4 (0,2/3,1) 20 31 5 (5/18,1,0) 20 30.9 6 (5/9,0,1) 20 28.8 solusi fisibel

Metode

 

Greedy

• Pilih barang dengan nilai profit Maksimal

–P1=25 Î x1=1, batas atas fungsi

–P2=24  Î x2=2/15, hasil perhit. fungsi pembatas

–P3=15  Î x3=0, batas bawah fungsi

• Pilih barang dengan berat Minimal

–W1=18  Îx1=0, batas bawah fungsi

–W2=15 Î x2=2/3, hasil perhit. fungsi pembatas

–W3=10 Î x3=1, batas atas fungsi

• Hitung Wi/Pi

– P1/W1=25/18 Î karena terkecil, makax1=0batas bawah fungsi – P2/W2=24/15 Î karena terbesar, makax2=1batas atas fungsi – P3/W3=15/10 Î di hit dengan F pembatasx3=1/2

0

,

0

,

1

0

X

i

P

i

>

W

i

>

F pembatas

Metode

 

Greedy

• Buat Tabel

Solusi ke (X1,X2,X3) ΣWiXi ΣPiXi Profit

Pi max (1 2/15 0) 20 28 2

Pi max (1,2/15,0) 20 28.2

Wi min (1,2/3,1) 20 31

(10)

Algortima

 

Greedy

• Sorting Descendingthd Pi/Wi –P1/W1=25/18 =1.39 Î urutan 3

–P2/W2=24/15 =1.60 Î urutan 1 P3/W3 15/10 1 50Î urutan 2

–P3/W3=15/10 =1.50 Î urutan 2

–Shg di peroleh urutan terhadap P dan W sbb:

•W1,W2,W3 Æ 15,10,18 

•P1,P2,P3 Æ 24,15,25

Running

 

Algorithm

• Di Inputkan ke algo Knapsak Greedy

X(1:n)Å0 IsiÅ20 Mulai iterasi i=1

W(i)>isi ? Î15>20, tidak, maka (1)Å1 brg dpt dim at sel r hn a dari W(1) 15 x(1)Å1, brg dpt dimuat seluruhnya dari W(1)=15 isi=20‐15, kapasitas ransel berkuran mjd 5 i=2

W(2)>isi ? Î5>10, ya, maka

x(2)Å5/10=1/2, brg dpt dimuat sebanyak ½ bagian saja dari W(2)=10 isi=5‐5, kapasitas ransel habis

i=3, X(3)=0, isi=0, selesai, karena isi=0

• Menghitung Profit 

Referensi

Dokumen terkait

PEMERINTAH I(ABUPATBN INDRAGIRI HULU SEKRETARTAT

[r]

Call IABC Secretariat for sponsorship package and to reserve your spot Tel: 521 1540 or E-mail: director@iabc.or.id. • You are subscribed to IABC

Materi perkuliahan pertemuan 1-7 Mengerjakan Ujian UTS 9 Mahasiswa dapat memahami tentang: analisis dan analisis sistem, tugas, tanggung jawab, dan kedudukan analisis

Hasil variabel kontrol pendidikan yang tidak berpengaruh secara signifikan mendukung hasil penelitian sebelumnya yang dilakukan oleh Chan, Troutman, dan O’Bryan

perlampuan di Indonesia menunjukan adanya tindakan Panitia Pengadaan yang memfasilitasi pelaku usaha yang mewakili pabrikan Philips, GE, Panasonic dan Osram, dan dengan

Salah satu faktor penting untuk membantu manajemen dalam membuat keputusan yang tepat adalah dengan memanfaatkan informasi akuntansi yang tersedia dan disajikan dengan baik,

“Database Microsoft Access Sebagai E-Arsip Untuk Mempermudah Kegiatan Administrasi Di Organisasi” merupakan sebuah program yang akan digunakan untuk mempermudah melakukan