2018年2月11日 星期日

八皇后


在程式語言教學中,訓練學習者分析問題的能力相當重要。很多有趣的範例程式來自數學家
的研究,以八皇后為例,Franz Nauck1850年提出「在西洋棋的棋盤上放八個皇后,使得
沒有一個王后能吃掉其他皇后」。西洋棋的皇后如同象棋的車,可以縱、橫、斜向移動,把
8個皇后排在8乘以8的棋盤上,卻不使彼此攻伐的排法有幾種?數學家高斯猜測有96個解,
實際上只有92個形式解,本質解有12個。本質解是無法經由某一個解旋轉或反射得到的解。

八皇后問題可以擴展成N皇后,藉由程式語言的幫助將易於求解。在教學上為了方便解說,
以四皇后說明此類問題的核心想法。使用四維向量(a,b,c,d)表示四皇后在4乘以4棋盤上的
放法,圖一的擺法表示成(2,4,1,3)





沒有留言:

張貼留言

WinFormTb02

https://drive.google.com/drive/u/0/folders/1UwS9FZ3ELCOK6SAwirHrkxq3z_RSbxJt https://www.youtube.com/watch?v=k7IkIeww_U0&list=PLumjEWemD...