Q-Learning 和 A* 有什么区别?

人工智能 强化学习 比较 q学习 一个明星
2021-10-18 15:19:31

Q-learning 似乎与 A* 有关。我想知道它们之间是否存在(以及有什么)差异。

1个回答

Q-learning 和 A* 都可以被视为搜索算法,但除此之外,它们并不是很相似。

Q-learning 是一种强化学习算法,即试图通过使用某些策略不同于您想学习的策略),例如ϵ-贪心政策,给定价值函数的当前估计。Q-learning 是一种数值(和随机优化)算法,可以显示在表格情况下收敛到最优解(但是当您使用函数逼近器(例如神经网络)来表示值时,它不一定会收敛)功能)。Q-learning 可以看作是一种搜索算法,其中解决方案是价值函数(或策略),搜索空间是一些价值函数(或策略)的空间。

另一方面,A* 是一种通用搜索算法,可应用于搜索空间可以表示为的任何搜索问题,其中节点是位置(或位置),边是之间的权重(或成本)这些职位。A* 是一种知情的搜索算法,因为您可以使用(知情的)启发式来指导搜索,即您可以使用领域知识来指导搜索。A* 是一种最佳优先搜索(BFS) 算法,它是一系列搜索算法,通过根据某个目标函数跟踪下一个最佳位置来探索搜索空间,这取决于特定的 BFS 算法。例如,在 A* 的情况下,目标函数是f(n)=h(n)+g(n), 在哪里n是一个节点,h启发式函数和g计算从起始节点到路径成本的函数n. A* 也被认为是最优的(假设启发式函数是可接受的)