Pemograman Dinamis merupakan teknik pemrograman komputer dimana masalah algoritmik dipecah terlebih dahulu menjadi sub-masalah,hasilnya disimpan,kemudian sub-masalah tersebut di optimalkan untuk menemukan solusi menyeluruh – yang biasanya berkaitan dengan pencarian rentang maksimum dan minimum dari kueri algoritmik
Misalnya,saat menggunakan teknik pemrograman dinamis untuk mencari tahu semua kemungkinan hasil dari sekumpulan angka,saat pertama kali hasilnya dihitung, hasilnya akan disimpan dan dimasukkan ke dalam persamaan nanti,alih-alih dihitung lagi
Pemrograman dinamis dapat dicapai dengan menggunakan dua pendekatan:
1.Pendekatan top-down
•Pendekatan top-down mudah dipahami dan diterapkan.Dalam pendekatan ini,masalah di pecah menjadi bagian-bagian yang lebih kecil,yang membantu pengguna mengidentifikasi apa yang perlu dilakukan.
2.Pendekatan bottom-up
Dalam metode bawah-atas,setelah solusi suatu masalah ditulis dalam bentuk submasalahnya sedemikian rupa sehingga berulang kembali pada dirinya sendiri,pengguna dapat menulis ulang masalah tersebut dengan memecahkan submasalah yang lebih kecil terlebih dahulu, kemudian menggunakan solusi tersebut untuk memecahkan submasalah yang lebih besar.
Contoh Pemrograman Dinamis
1.Mengidentifikasi jumlah cara untuk menempuh jarak tertentu
Manfaatkan ruang ekstra berdimensi n saat menggunakan metode bottom-up dan hitung nilai status yang dimulai dengan 1,2,…,n
2.Mengidentifikasi strategi permainan yang optimal
Untuk mengetahui strategi setiap pemain, tetapkan nilai pada koin yang mereka pilih dan nilai koin lawan
3.Menghitung jumlah kemungkinan hasil dari lemparan dadu tertentu
Dengan cara ini,algoritme memerlukan waktu yang jauh lebih sedikit untuk dijalankan dengan kompleks waktu,dengan t sebagai jumlah sisi, n sebagai jumlah dadu, dan m sebagai jumlah yang diberikan.

Tidak ada komentar