2018年回溯法求解八皇后问题.docVIP

  • 23
  • 0
  • 约3.28千字
  • 约 6页
  • 2018-12-30 发布于天津
  • 举报
2018年回溯法求解八皇后问题.doc

回溯法求解八皇后问题   回溯法求解八皇后问题   算法分析 2010-10-29 18:28:56 阅读409 评论1 字号:大中小 订阅 问题描述:八皇后问题是一个以国际象棋为背景的问题:如何能够在 8×8 的国际象棋棋盘上放置八个皇后,使得任何一个皇后都无法直接吃掉其他的皇后,为了达到此目的,任两个皇后都不能处于同一条横行、纵行或斜线上。     问题历史:八皇后问题最早是由国际象棋棋手马克斯?贝瑟尔于1848年提出。之后陆续有数学家对其进行研究,其中包括高斯和康托,并且将其推广为更一般的n皇后摆放问题。八皇后问题的第一个解是在1850年由弗朗兹?诺克给出的。诺克也是首先将问题推广到更一般的n皇后摆放问题的人之一。1874年,S.冈德尔提出了一个通过行列式来求解的方法,这个方法后来又被J.W.L.格莱舍加以改进。     转化规则:其实八皇后问题可以推广为更一般的n皇后摆放问题:这时棋盘的大小变为n×n,而皇后个数也变成n。当且仅当 n = 1 或 n ? 4 时问题有解。令一个一位数组a[n]保存所得解,其中a[i] 表示把第i个皇后放在第i行的列数(注意i的值都是从0开始计算的),下面就八皇后问题做一个简单的从规则到问题提取过程。   (1)因为所有的皇后都不能放在同一列,因此数组的不能存在相同的两个值。 (2)所有的皇后都不能在对角线上,那么该如何检测两个

文档评论(0)

1亿VIP精品文档

相关文档