0. 前言
进化算法 (Evolutionary Algorithm
, EA
) 和遗传算法 (Genetic Algorithms
, GA
) 已成功解决了许多复杂的设计和布局问题,部分原因是它们采用了受控随机元素的搜索。这通常使得使用 EA
或 GA
设计的系统能够超越我们的理解进行创新。在本节中,我们将解决一个经典的设计和布局问题:N 皇后问题,这个问题使用大小为 N
的典型棋盘,经典的国际象棋棋盘大小为 8
(即 8×8
)。我们的目标是在棋盘上放置 N
个皇后棋子,使得没有一个棋子可以在不移动的情况下俘获另一个棋子。
1. N 皇后问题
在国际象棋中,皇后棋子是最强大的,可以沿着任何方向和距离移动。通常,每个玩家只有一个皇后棋子,但有一条特殊规则,允许玩家在将兵移动到对手的底线时加冕更多的皇后,皇后游戏的前提是玩家已经加冕了多个皇后(虽然这种情况在真实的比赛中可能永远不会发生,因为当玩家的国王棋子被俘获时,比赛就将结束)。
经典的 N 皇后问题最初被称为八皇后拼图,起源于国际象棋。任务是将八名皇后放置在棋盘上,