Я читав про динамічне програмування, коли натрапив на наступну цитату
Динамічний алгоритм програмування вивчить усі можливі шляхи вирішення проблеми та підбере найкраще рішення. Тому ми можемо приблизно думати про динамічне програмування як про інтелектуальний, грубої метод, який дозволяє нам пройти всі можливі рішення, щоб вибрати найкраще . Якщо сфера проблеми така, що проходження всіх можливих рішень можливо і досить швидко, динамічне програмування гарантує пошук оптимального рішення
Наведено наступний приклад
Наприклад, скажімо, що ви повинні дістатися з точки А до точки В якомога швидше, в даному місті, протягом години пік. Алгоритм динамічного програмування буде розглядати весь звіт про рух, вивчаючи всі можливі комбінації доріг, які ви можете взяти, і лише тоді підкаже, який шлях найшвидший. Звичайно, можливо, доведеться почекати деякий час, поки алгоритм не закінчиться, і тільки тоді ви зможете почати рух. Шлях, який ви пройдете, буде найшвидшим (якщо припустити, що у зовнішньому середовищі нічого не змінилося)
Brute Force намагається вирішити все можливе, перш ніж вирішити найкраще рішення.
Чим динамічне програмування відрізняється від Brute Force, якщо воно також проходить усі можливі рішення перед тим, як вибрати найкраще , я бачу лише те, що динамічне програмування враховує додаткові фактори (умови трафіку в даному випадку).
Чи правильно я стверджую, що динамічне програмування є підмножиною методу Brute Force ??
intelligent, brute force
, але потім забуває описати "розумну" частину