动态编程和反击搜索

时间:2013-12-26 06:52:58

标签: algorithm dynamic-programming backtracking

使用动态编程可以始终解决回溯和“分支定界”问题吗?即使使用回溯方法可以解决的问题也可以使用动态编程来解决

2 个答案:

答案 0 :(得分:2)

在一般情况下,是否可以应用动态编程。但是,动态编程是否肯定会导致高效或伪效率的解决方案,没有。

例如,可能存在许多NP完整的整数线性规划问题需要使用分支和&amp ;;绑定或通过强力回溯,因为动态编程不可能。

例如,我问过一段时间的这个问题,我无法形成DP制定,我不得不求助于解决我的ILP问题。 Strange but practical 2D bin packing optimization

答案 1 :(得分:0)

肯定没有回溯和DP的这种比较,因为通常DP用于优化问题,其中您需要最好的许多可能的解决方案,而回溯用于搜索单个解决方案的问题。虽然您可以使用分支和绑定解决问题的DP解决方案,但并不总是因为某些问题可能无法解析为较小的子问题,因此可能不存在DP解决方案。