无论是在学习环境还是实践中,我时常需要使用不同的算法来解决问题。但随着使用次数的增加,我越来越觉得可以部署人工智能来尝试寻找最优解,特别是对于NP完全问题,因为人工智能的“进展”是容易追踪的
例如,如果我们从未知道如何高效地解决背包问题;我想问,应用人工智能来寻找给定问题的optimal solution是否实用和/或可行?
回答:
人工智能算法通常可以找到任何函数的近似解。它们之所以如此强大,是因为即使对于具有许多输入参数和/或许多输出参数和/或非常复杂的内部结构的极端复杂函数,这一点也是成立的。
另一方面,目前没有已知的方法可以“快速”解决NP完全问题。在实践中,你通常需要在巨大的解空间中搜索以找到最优解。这就是为什么人们使用启发式方法和近似算法来高效地找到一个“足够好”的解。
所以,是的,你可以使用人工智能来找到一个好的近似解(甚至可能比传统的启发式方法更好)来解决计算难题。
但如果问题是NP完全的,你仍然无法确定你已经找到了最优解。