Saya membaca tentang Pemrograman Dinamis ketika saya menemukan kutipan berikut
Algoritma pemrograman dinamis akan memeriksa semua cara yang mungkin untuk menyelesaikan masalah dan akan memilih solusi terbaik. Oleh karena itu, kita dapat secara kasar menganggap pemrograman dinamis sebagai metode yang cerdas dan kasar yang memungkinkan kita untuk melalui semua solusi yang memungkinkan untuk memilih yang terbaik . Jika ruang lingkup masalahnya sedemikian rupa sehingga melalui semua solusi yang mungkin adalah mungkin dan cukup cepat, pemrograman dinamis menjamin menemukan solusi optimal
Contoh berikut diberikan
Misalnya, katakanlah Anda harus pergi dari titik A ke titik B secepat mungkin, di kota tertentu, selama jam sibuk. Algoritma pemrograman dinamis akan melihat ke seluruh laporan lalu lintas, melihat ke semua kombinasi jalan yang mungkin Anda ambil, dan hanya akan memberi tahu Anda jalan mana yang paling cepat. Tentu saja, Anda mungkin harus menunggu beberapa saat hingga algoritma selesai, dan baru setelah itu Anda dapat mulai mengemudi. Jalur yang akan Anda ambil akan menjadi yang tercepat (dengan asumsi bahwa tidak ada yang berubah di lingkungan eksternal)
Brute Force sedang mencoba setiap solusi yang mungkin sebelum memutuskan solusi terbaik.
Bagaimana Pemrograman Dinamis berbeda dari Brute Force jika juga melewati semua solusi yang mungkin sebelum memilih yang terbaik , satu -satunya perbedaan yang saya lihat adalah Pemrograman Dinamis memperhitungkan faktor-faktor tambahan (kondisi lalu lintas dalam kasus ini).
Apakah saya benar mengatakan bahwa Pemrograman Dinamis adalah bagian dari metode Brute Force ??
intelligent, brute force
, tetapi kemudian lupa untuk menggambarkan bagian "cerdas"