999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

漢諾塔問題研究

2010-12-31 00:00:00孫東寧
考試周刊 2010年28期

摘 要: 漢諾塔問題作為一個古老的傳說,號稱世界十大最難游戲之一,是遞歸最為典型的例子。本文通過遞歸推理、探究其遞推數列,總結出各柱子的奇偶盤子數目搬運規律,進而重點分析和研究了雙色Hanoi塔問題,根據分析研究結果,得出結論:無論是出發還是過渡或目標柱子,柱子上始終不會出現同色盤子疊加,完全符合基本漢諾塔搬運規則。

關鍵詞: 漢諾塔 遞歸 雙色 Free Pascal

1.引言

漢諾塔(Tower of Hanoi)問題[1]起源于這樣一段故事:在創世紀時,Benare有一座波羅教塔,由三根鉆石柱子支撐,神在第一根柱子上放置了64枚上小下大依次排列的金盤子,令門徒將所有的金盤子從第一根柱子可經第二根移至第三根柱子上,且搬運過程中遵守上小下大的原則,若每天只搬運一枚金盤子,當金盤子全部搬運完畢之時,此塔將會毀滅,就是世界末日來臨之時。

遞歸關系[2]作為數學與計算機科學的一個重要研究對象,特別是在算法分析中有著廣泛的應用。Hanoi塔問題直觀地演示了遞歸過程。本文將從標準Hanoi塔問題出發,通過遞歸推理、探究其遞推數列,總結出各柱子的奇偶盤子數目移動規律,以發散性思維深入研究了雙色Hanoi塔問題并得出相應結論。

2.標準Hanoi 塔問題

n個大小不一的圓盤依半徑的大小,從下而上地套在柱子A上。如圖1所示,現在要將n個圓盤借助B從柱子A上全部轉移到柱子C[3]。在移動圓盤時遵循以下條件:

條件1:每次只允許移動一個圓盤;

條件2:在轉移過程中不允許出現大圓盤放在小圓盤上。

條件3:在滿足移動規則(1)—(2)的前提下,可將圓盤移至A,B,C中任一個柱子上。

圖1 Hanoi問題

試設計一個算法,用最少的移動次數將塔座A上的n個圓盤移到塔座C上,并仍按同樣順序疊置。

2.1遞歸算法

初始A柱上有n個盤子,以下從n=1逐步分析推理n在不同情況下的操作步驟:

當n=1時:將盤子從A柱直接移到C柱,完成移動,即(A→C)。

當n=2時:先把n-1=1個盤子從A柱移動到B柱,再將A柱上最后一個盤子從A柱移動到C柱,最后將B柱上的n—1個盤子從B柱移動到C柱上,完成移動,即A→B,A→C,B→C。

當n=3時:先把n-1=2個盤子從A柱移動到B柱(借助C),再將B柱上剩余的盤子移動到C柱(借助A)。

當n為任意正整數時:同樣是先把n-1個盤子從A柱移動到B柱(借助C),方法與上述相同。

通過以上分析,Hanoi問題是典型的利用遞歸來解決的,是將規模為n的問題,降解為規模為n-1的小問題、n-2的較小問題……依次降解,直到遞歸出口,求出最低階規模的解,代入高一階問題中,直至求出規模為n的問題的解。遞歸包括回溯和遞推兩個過程。

2.2遞推數列

為了分辨n個不同的盤子,將其由小到大依序編號為1,2,3,…,n-1,n,以便于研究其所需的移動次數及次序、探求其規則性。

從n=1、n=2的移動情況,可歸納出一個結論:即n=2時處理n=1兩次,共須移動22-1=3步,其Hanoi數列為121。同理可知n=3時,處理n=2兩次,共須移動23-1=7步,其Hanoi數列為1213121,同理可知n=4時,處理n=3兩次,總共須移動24-1=15步,其漢諾塔數列為121312141213121,依此類推。

分析得出遞歸模型:

f(1)=1 (n=1)f(n)=2×f(n-1)+1 (n>1)

f(n)=2×f(n-1)+1

=2×(2×f(n-2)+1)+1

=2×(2×(2×f(n-3)+1)+1)+1

……

因此,n個盤子總共需移動最少步數計算公式為:f(n)=2n-1。

2.3盤子總數奇偶性分析

圓盤總數n存在兩種情況,即n為奇數和n為偶數。下面對這兩種情況進行分析。

搬運總數n為奇數1時,最小編號為1的盤子,直接從A移動到目標C柱上,為3時,1號盤子同樣移動到目標C柱上,2號盤子移動到過渡B柱上,1號盤子再移動到相對于1號盤子的目標柱子:過渡B柱上,3號盤子直接移動到目標C柱上,過渡B柱上有1和2號盤子為偶數,將1號盤子移動到過渡A柱上,2號盤子直接移動到目標C柱上,再把1號盤子移動到目標C柱上……

搬運總數n為偶數2時,最小編號為1的盤子,先從A移動到過渡B柱上,再把2號盤子移動到目標C柱上,為4時,1號盤子同樣移動到過渡B柱上,A柱上剩余3個盤子,同上述奇數理:2號盤子移動到目標C柱上,1號盤子再移動到目標C柱子,A柱上剩余2個盤子,偶數:3號盤子移動到過渡B柱上,同理1、2號盤子經A柱過渡移動到B柱上,4號盤子直接移動到目標C柱上,過渡B柱上有1、2、3號盤子為奇數,此時A柱為過渡柱子,按奇數原理,再將1、2、3號盤子分別移動到目標C柱上……

由上述分析可知:當n為偶數時,最上層小盤子首先移動到過渡柱上,為奇數時最上層小盤子首先移動到目標柱上,只有按此規律移動,才能得出最少的移動步數。

同時可知:不論n為奇偶,過渡和目標柱上,盤子的疊加編號始終是奇偶疊加,不會出現奇數或偶數連續疊加。

3.雙色Hanoi問題

n個大小不一的圓盤依半徑的大小,從下而上地套在柱子A上。這些圓盤從小到大編號為1,2,…,n,奇數號圓盤著紅色,偶數號圓盤著藍色,如圖2所示。現在要將n個圓盤借助C從柱子A上全部轉移到柱子B,并仍按同樣順序疊置。在移動圓盤時應遵循以下條件:

條件1:每次只允許移動一個圓盤;

條件2:在轉移過程中不允許出現大圓盤放在小圓盤上;

條件3:在轉移過程中任何時刻都不允許將同色圓盤疊在一起;

條件4:在滿足移動規則(1)—(3)的前提下,可將圓盤移至A,B,C中任一柱子上。

圖2 雙色Hanoi問題

試設計一個算法,用最少的移動次數將塔座A上的n個圓盤移到塔座B上,并仍按同樣順序疊置。

3.1問題分析

該問題的關鍵在于規則(3):任何時刻都不允許將同色圓盤疊在一起,只有證明了在移動過渡過程中,不會出現同色圓盤疊在一起的情況即可。

經過以上奇偶異同分析可知,當出發柱子A為奇數個盤子時;最上與最下層顏色為紅色,過渡柱子C有偶數個盤子,且最底層為藍色;最上層位紅色,目標B柱子最底層為紅色,A柱子最上層顏色為奇數-(奇數+偶數)=偶數→藍色,過渡柱子C上的偶數個盤子,移動時就變成出發柱子,A柱變成過渡柱子且疊加的第一個盤子為紅色,目標柱子疊加的是藍色。以此類推,不會出現同色疊加。

同理,當出發柱子A為偶數個盤子時,最上層為紅色、最底層為藍色,過度柱子C有奇數個盤子,且最上、最底層為紅色,目標B柱子最底層為藍色,A柱子最上層顏色為偶數-(奇數+奇數)=偶數→藍色,過渡柱子C上的奇數個盤子,移動時就變成出發柱子,A柱變成過度柱子且疊加的第一個盤子為藍色,目標柱子疊加的是紅色。以此類推,同樣不會出現同色疊加的情況。

經過以上奇偶性分析研究,雙色Hanoi塔問題完全符合基本漢諾塔算法規則。

3.2程序實現與結果分析

按照上述分析,對該問題用競賽語言Free Pascal[4]來實現得出結果如表1。

表1圓盤搬運步驟

從輸出結果可以看出,A,B,C三根柱子,無論是出發還是過渡或目標柱子,柱子上始終不會出現同色疊加,與標準Hanoi問題的搬運方法完全相同。可見,雙色只是一種迷霧,只有撥開烏云,才能見彩虹。

4.結語

本文從標準Hanoi問題出發,通過遞歸推理給出了解決該問題的解法。同時分類對圓盤子總數n的奇偶性進行分析,從而揭示了雙色Hanoi問題的實質,即雙色Hanoi問題與標準Hanoi問題本質完全相同。最后使用競賽語言Free Pascal對其進行編程實現進一步證實了該理論。

參考文獻:

[1]王善發,吳道榮.討論Hanoi塔問題[J].保山師專學報.2008,VOL27,(2):74-77.

[2]嚴蔚敏,吳偉明.數據結構[M].北京:清華大學出版社,2005.

[3]王曉東.算法設計與分析[M].北京:清華大學出版社,2008.

[4]張長海.PASCAL語言程序設計[M].北京:電子工業出版社,2001.

主站蜘蛛池模板: 狠狠色综合网| 国产乱人伦AV在线A| 真实国产精品vr专区| 亚洲天堂久久| 91小视频在线观看免费版高清| 香蕉色综合| 亚洲欧洲天堂色AV| 国产精品综合色区在线观看| 国产成人一区| 日韩第八页| 亚洲人成人伊人成综合网无码| AV不卡国产在线观看| 婷婷激情亚洲| 97久久超碰极品视觉盛宴| 不卡无码h在线观看| 亚洲91精品视频| 亚洲中文无码av永久伊人| 无码精品国产dvd在线观看9久| 亚洲精品午夜无码电影网| 中国美女**毛片录像在线| 丁香六月综合网| 亚洲有码在线播放| 日本中文字幕久久网站| 操操操综合网| 婷婷色一区二区三区| 亚洲视频一区| 国产精品.com| 亚洲国产欧美国产综合久久| 天堂在线亚洲| 亚洲色大成网站www国产| 91精品日韩人妻无码久久| 91九色国产porny| 一本大道无码高清| 日韩免费毛片| 91年精品国产福利线观看久久 | 在线日韩日本国产亚洲| 91网址在线播放| 国产综合精品日本亚洲777| 中文字幕av一区二区三区欲色| 天天综合色网| 高潮毛片免费观看| 在线免费观看a视频| 无码区日韩专区免费系列 | 美女一区二区在线观看| 欧美亚洲国产日韩电影在线| 青青青视频免费一区二区| 免费无码AV片在线观看国产| 国产日韩欧美黄色片免费观看| 国产91丝袜在线播放动漫 | 欧洲av毛片| 99热最新网址| 中文成人在线| 亚洲欧美另类日本| 色偷偷男人的天堂亚洲av| 精品一区二区三区无码视频无码| 久久综合亚洲鲁鲁九月天| 日韩精品免费一线在线观看| 波多野结衣在线se| 九九九久久国产精品| 国产va免费精品观看| 亚洲va视频| 亚洲国产看片基地久久1024| 国产精品偷伦在线观看| 91精品国产丝袜| 久久久久亚洲精品无码网站| 九色综合伊人久久富二代| 人妻无码AⅤ中文字| 国产视频久久久久| 青草国产在线视频| h网址在线观看| 真人高潮娇喘嗯啊在线观看| 中文字幕在线欧美| 久久婷婷六月| 91精品啪在线观看国产| 91视频首页| 午夜限制老子影院888| 毛片免费在线视频| 99re经典视频在线| 欧美激情视频二区三区| 91精品啪在线观看国产| 亚洲国产精品久久久久秋霞影院| 欧美在线视频不卡第一页|