四色方柱問題_第1頁
四色方柱問題_第2頁
四色方柱問題_第3頁
四色方柱問題_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、算法與分析課程設計報告題 目:四色方柱問題專 業:軟件工程班 級:學 號:姓 名:太原工業學院計算機工程系2012年 11 月 23 日一、算法問題描述設有4個立方體,每個立方體得每一面用紅、黃、藍、綠4種顏色之一染色。 要把這4個立方體疊成一個方形柱體,使得柱體使得 4個側面的每一側均有4 種不同的顏色。同時,4個頂面和4個底面也有4種不同的顏色。試設計一個回 溯算法,計算出4個立方體的一種滿足要求的疊置方案。二、算法問題形式化表示對于給定的四個立方體及每個立方體各面的顏色,給出一種疊置方案,使柱體的四個側面都有四種不同的顏色。三、期望輸入與輸出期望輸入:第一行輸出1表示頂面,2表示底面3表

2、示左面,4表示右面,5表 示前面,6表示后面。期望輸出:輸出每個立方體每個面的著色方案,即問題的解決方案。四、算法分析與步驟描述事實上,這個四色方柱問題,如果用逆推想會好理解一些,現在設將這四個 立方體組合成了一個方形柱體,我們可以先選擇一個立方體的符合條件的頂面和 底面,之后我們可以將它的側面展開這樣會形成一個4*4的矩陣,該4*4矩陣上每行的四個值相當于原小立方體的四個側面的著色(左、右、前、后對應于1、2、3、4)列上的四個值就是表示四個小立方體合成方形柱體后柱體上某個側面 的著色了,這樣就可以利用類似于 N皇后的回溯算法的思路了, N皇后的要求是 不能相互攻擊而這個題根據要求就是使每列

3、上的著色值都不同。用4元數組Xi,j,(i=1、2、3、4, j=1、2、3、4)表示第i個立方體第j個面所圖顏色,由于不允許將兩個顏色放在同一列,所以解向量中的Xi互不相同。將n*n格棋盤看作二維矩陣,其行號從上到下以此表示四個立方體,列號從左到右依次表示左、右、前、后立方體的六個面。從棋盤自上來下同一豎直線 上,因此,兩個顏色放置的位置分別是(i,j )和(k,I),且i!=k、 j=l&X(l,j)!=X(k,I),此條件下確保四方柱的每個側面都有四種不同的顏色。由此可知,只要i=k、j=l&X(l,j)!=X(k,I)就說明兩個顏色在同一側面上。根據對四色方柱問題算法分析,我們用回朔法

4、求解,遞歸方法backtrack實現對整個解空間的回朔搜索。Backtrack(i)搜索解空間的第 i層樹。類FourColorProblem的數據成員記錄解空間中結點信息,以減少傳給 backtrack 的參數。Sum記錄當前已找到的可行方案數,result叩 記錄可行方案。五、問題實例及算法運算步驟給定四個立方體和四種顏色紅綠黃藍,把它們放置成一個長方柱體,要求四個側面、頂面、底面都有四種不同的顏色。把長方體的側面展開,看成4*4的矩陣,這就相當于n皇后的問題,只需要 每一列的顏色不同即可。所以兩個顏色放置的位置分別是( i,j )和(k,l), 且i!=k、j=l&X(l,j)!=X(k

5、,l),就可以確保四方柱的每個側面都有四種不同的顏色。六、算法運行截圖felue yellow red green blue yellow green red tlue red yellow green bin亡 red green yellow blue green red yellow blue green yellow red green yellow blue red green yellow red blue green tine yellow red green blue red yellow green red blue yellow green red yellow bluered yellow 匕1口亡 green red yellow green blue red blue yell口坤 green red fclue green yellow red green blue yellow red green yellow blue yellow red bln皂 green yellow red green blue yellowred 卩工亡皂nyellow blue green red yellow green

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論