ACM回溯算法.pptVIP

  • 16
  • 0
  • 约3.79千字
  • 约 18页
  • 2016-12-03 发布于河南
  • 举报
ACM回溯算法

(深度优先搜索) 回溯法的基本思想 算法的一般描述 经典应用(8皇后问题) 回溯法又称试探法(backtracking)。回溯法的基本做法是深度优先搜索,是一种组织得井井有条的、能避免不必要重复搜索的穷举式搜索算法。 回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。 为实现回溯,首先需要定义一个解空间(solution space),然后以易于搜索的方式组织解空间,最后用深度优先的方法搜索解空间,获得问题的解 具体说,就是:在搜索(依次用各种方法一一去试探)的过程中,当在P点有N种选择,则从第一种开始尝试,若第K种可行,即这一步搜索成功,打上标记,再向前(即 P+1点)搜索;如在P点搜索失败(所有的方法都试探过,没有一种可行),为了摆脱当前的失败,就返回搜索进程中的上一点(即P-1点),再用第K+1种方法(假设上次在P-1点用第K种方法搜索成功,必须明确以前用过的方法不能再用,否则会陷入死循环)再去搜索,重新寻求解答。这样搜索回溯,再搜索再回溯,如能搜索到终点,问题有解,如最后回溯到出发点,问题就无解。 在8×8的棋盘上放置8个皇后,使得任何2个皇后不在同一行、同一列及同一斜角线上。 Q Q Q Q Q Q Q Q 8皇后问题可以表示成8-元组(x1,…,x8),其中xi是放在第i行的皇后所在的列号。于是,解空间由88个8-元组组成。 约束条件:

文档评论(0)

1亿VIP精品文档

相关文档