Aşağıdaki alıntıyla karşılaştığımda Dinamik Programlama üzerine okuyordum
Dinamik bir programlama algoritması sorunu çözmek için olası tüm yolları inceleyecek ve en iyi çözümü seçecektir. Bu nedenle, dinamik programlamayı kabaca , en iyisini seçmek için mümkün olan tüm çözümleri gözden geçirmemizi sağlayan akıllı, kaba kuvvet yöntemi olarak düşünebiliriz . Sorunun kapsamı, mümkün olan tüm çözümlerden geçmek mümkün ve yeterince hızlı olacaksa, dinamik programlama en uygun çözümü bulmayı garanti eder
Aşağıdaki örnek verildi
Örneğin, belirli bir şehirde, acele saatinde A noktasından B noktasına mümkün olduğunca hızlı gitmeniz gerektiğini varsayalım. Dinamik bir programlama algoritması, trafik raporunun tamamını inceleyebilir, alabileceğiniz tüm olası yol kombinasyonlarına bakar ve ancak o zaman size en hızlı şekilde hangi yolun olduğunu söyler. Tabii ki, algoritma bitene kadar bir süre beklemeniz gerekebilir ve ancak o zaman sürüşe başlayabilirsiniz. Alacağınız yol en hızlı olacak (dış ortamda hiçbir şeyin değişmediği varsayılarak)
Brute Force en iyi çözüme karar vermeden önce mümkün olan her çözümü deniyor.
Dinamik Programlama'nın , en iyiyi seçmeden önce olası tüm çözümlerden geçmesi durumunda Brute Force'tan farkı nedir, gördüğüm tek fark Dinamik Programlamanın ek faktörleri (bu durumda trafik koşulları) dikkate almasıdır.
Dinamik Programlama Brute Force yönteminin bir alt kümesi olduğunu söylemek doğru mudur?
intelligent, brute force
, ama sonra "akıllı" kısmı tanımlamayı unutuyor