梵塔難題

梵塔難題

問題 有3個柱子(1,2,3)和3個不同尺寸的圓盤(A,B,C)。在每個圓盤的中心有個孔,所以圓盤可以堆疊在柱子上。最初,全部3個圓盤都堆在柱子1上:最大的圓盤C在底部,最小的圓盤A在頂部。要求把所有圓盤都移到柱子3上,每次只許移動一個,而且只能先搬動柱子頂部的圓盤,還不許把尺寸較大的圓盤堆放在尺寸較小的圓盤上。

梵塔難題
歸約過程
(1)移動圓盤A和B至柱子2的雙圓盤難題;
(2)移動圓盤C至柱子3的單圓盤難題;
(3)移動圓盤A和B至柱子3的雙圓盤難題。
由上可以看出簡化了難題每一個都比原始難題容易,所以問題都會變成易解的本原問題。
講述:梵塔問題的來源。
提問:一圓盤問題要走幾步?兩圓盤問題要走幾步?三個、四個...等?
4、歸約描述
問題歸約方法是套用算符來把問題描述變換為子問題描述。
可以用狀態空間表示的三元組合(S、F、G)來規定與描述問題;對於梵塔問題,子問題[(111)→(122)],[(122)→(322)]以及[(322)→(333)]規定了最後解答路徑將要通過的腳踏石狀態(122)和(322)。
問題歸約方法可以套用狀態、算符和目標這些表示法來描述問題,這並不意味著問題歸約法和狀態空間法是一樣的。

相關詞條

熱門詞條

聯絡我們