Apa itu Dynamic Programming ? Dynamic Programming (biasa disingkat DP) adalah suatu teknik algoritma untuk memecahkan masalah dimana solusi optimal dari masalah tersebut dapat dipandang sebagai suatu deret keputusan.
Halaman ini akan berisi kumpulan soal-soal Dynamic Programming(beserta clue) dan akan terus diupdate setiap saya menemukan soal-soal Dynamic Programming yang menarik
.
Mohon tambahkan di bagian komentar apabila kalian menemukan soal-soal Dynamic Programming yang juga menarik untuk dikerjakan ^_^.
Misalkan f(a,b) adalah cost terbaik dari sub-string yang dimulai dari posisi a dan diakhiri dengan posisi b. Yang kita ingin cari adalah f(0,N-1) dimana N adalah panjang string.
f(a,b) = 0, jika a>=b
f(a,b) = maximum( option1, option2) jika a < b
option1 = maximum( f(a,i) + f(i+1,b) ) untuk i=a sampai i=b-1.
option2 = 2 + f(a+1,b-1), jika karakter pada posisi a adalah pasangan karakter pada posisi b (Contoh: ‘[' dengan ']‘ dan ‘(‘ dengan ‘)’ ).
option2 = 0, jika karakter pada posisi a bukan pasangan karakter pada posisi b.
Kompleksitas total adalah O(N^3).
Misalkan f(a,b) adalah cost terbaik bila kita mulai dari bunch ke-a dan vase ke-b.
Yang kita ingin cari adalah f(0,0).
f(a,b) = 0, jika a==F
f(a,b) = max( f(a+1,c+1) + cost[a][c] ), dimana c dimulai dari b sampai V-(F-a).
F -> banyak bunch
V -> banyak vase
cost[i][j] -> cost bila kita menaruh bunch ke-i pada vase ke-j
Kompleksitas total adalah sekitar O(F^2 * V).
February 20, 2008 at 4:44 am |
halo mas timo,…saya akhmad…kebetulan saya pengen banget belajar n menguasai dynamic programming coz kayaknya sering keluar di ACM, so saya minta tolong donk bikin write upnya (source code (C or Java) n langkah-langkahnya dari soal 2262-Bracket) biar paham…thx b4
February 20, 2008 at 5:49 am |
Halo Akhmad, saya sudah tambahkan file bracket.jpg, kamu bisa download dan rename jadi bracket.cpp. Didalam file tersebut sudah saya berikan dokumentasi. Kalau ada yang kurang jelas bisa kamu tanyakan lagi ke email saya: timotius86@yahoo.com
- Timo
May 29, 2008 at 2:04 pm |
thx untuk mengenai dynamic programming nya… akan sangat berguna sekali.. ^^
June 24, 2008 at 3:55 am |
bang saya juga mw bljr DP. itu apa filenya yg dkirim ke mas Akhmad sy mw juga donkz.
September 5, 2008 at 3:29 pm |
ini soal DP :
http://acm.tju.edu.cn/toj/showp1057.html
tapi saya belom paham DP nya dimana?? n implementasinya ke C++
tolong pencerahannya
September 26, 2008 at 3:40 am |
wah makasih mas timo, mudah2an berguna
Tahun ini saya ikut acm icpc pertama kalinya , mudah2an bisa “survive”
^_^
October 10, 2008 at 4:47 am |
mo tanya ni mau belajar DP ada web nya ga ya?
October 10, 2008 at 4:52 am |
Ada banyak koq di internet
.
Om Google akan membantu ^^
http://www.google.co.id/search?hl=id&q=dynamic+programming+tutorial&btnG=Telusuri+dengan+Google&meta=
November 2, 2008 at 6:09 am |
Wah, DP problems nya koq ga update lagi ko? hehehe..
Rasanya bagus kalo belajar dengan problem “Undirectional TSP”
November 17, 2008 at 2:53 am |
Q dpt tgs presentasi ttng dynamic programming, Tp msh bingung moW nyaRi masalah tentang apa nieh?? HeLp Donk..!!!
January 5, 2009 at 11:27 am |
@cute
Sudah pernah selesaikan masalah Coin?
January 5, 2009 at 11:29 am |
Ko timo, ak ada 2 soal menarik dari TC yang bagus untuk belajar DP…
April 13, 2009 at 3:20 am |
saya ingin membuat optimasi lahan parkir dengan dynamic programming, kira2 garis besar programnya bagaimana ya? trims
April 15, 2009 at 12:07 pm |
mas, mo tny neh penerapan DP di soal productions and inventory scheduling, tlg jlsn donk. trims
June 13, 2009 at 5:08 pm |
Termikasih dp nya bagus artikelnya
cocok untuk pengembangan algoritmanya
soalnya mungkin bisa lebih kumplit lagi?
apa saja penerapan dp ?
ruang lingkupnya samapai sejauh mana untuk dp dan pengembangannya bagaimana?