




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、魯班鎖計算機分析的算法解析.二三.進入整個分析程序的核心部分拆卸程序:拆卸程序是整個魯班鎖計算機分析程序的核心部分,它的主要思路是優先考慮拆出一根柱。當待拆的柱組拆出一根柱(或1組柱)時,下一步還是試拆一根柱。以下是我根據我在魯班鎖結構分析法用的思路做的拆卸程序的邏輯過程:1.1 開始拆卸,運行6柱組拆一柱的子程序,可拆出1柱,則進行步驟1.2 運行5柱組拆一柱的子程序;如任意1柱都不可拆出,則進行步驟2.1 運行6柱組拆一個2柱組的子程序。1.2運行5柱組拆一柱的子程序,可拆出1柱,則進行步驟1.3 運行4柱組拆一柱的子程序;如任意1柱都不可拆出,則進行步驟2.2 運行5柱組拆一個2柱組的子
2、程序。1.3運行4柱組拆一柱的子程序,可拆出1柱,則進行步驟1.4 運行3柱組拆一柱的子程序;如任意1柱都不可拆出,則進行步驟2.3 運行4柱組拆一個2柱組的子程序。1.4運行3柱組拆一柱的子程序,可拆出1柱,則此編碼表示的鎖有解(為5+1的拼合方式),拆卸程序結束,進入整個程序的下一步;如任意1柱都不可拆出,則此編碼表示的結構無解(為3柱的死疙瘩),拆卸也程序結束,同樣進入整個程序的下一步;。2.1 運行6柱組拆一個2柱組的子程序。可拆出1個2柱組,則進行步驟2.4 運行4柱組拆一柱的子程序;如任意一個2柱組都不可拆出,則進行步驟3.1運行6柱組分成2個3柱組的子程序2.2運行5柱組拆一個2
3、柱組的子程序??刹鸪?個2柱組,則進行步驟2.5 運行3柱組拆一柱的子程序;如任意一個2柱組都不可拆出,則此編碼表示的結構無解(為5柱的死疙瘩),拆卸程序結束,進入整個程序的下一步。2.3。運行4柱組拆一個2柱組的子程序??刹鸪?個2柱組,則此編碼表示的鎖有解(2+2+1+1的拼合方式),拆卸程序結束,進入整個程序的下一步;如任意一個2柱組都不可拆出,則此編碼表示的結構無解(為4柱的死疙瘩),拆卸程序結束,進入整個程序的下一步。2.4運行4柱組拆一柱的子程序,可拆出1柱,則進行步驟2.6運行3柱組拆一柱的子程序;如任意1柱都不可拆出,則進行步驟2.7運行4柱組拆一個2柱組的子程序。2.5運行3
4、柱組拆一柱的子程序,可拆出1柱,則此編碼表示的鎖有解(為3+2+1的拼合方式),拆卸程序結束,進入整個程序的下一步;如任意1柱都不可拆出,則此編碼表示的結構無解(為3柱的死疙瘩),拆卸也程序結束,同樣進入整個程序的下一步;。2.6運行3柱組拆一柱的子程序,可拆出1柱,則此編碼表示的鎖有解(為4+2的拼合方式),拆卸程序結束,進入整個程序的下一步;如任意1柱都不可拆出,則此編碼表示的結構無解(為3柱的死疙瘩),拆卸也程序結束,同樣進入整個程序的下一步;。2.7 。運行4柱組拆一個2柱組的子程序。可拆出1個2柱組,則此編碼表示的鎖有解(2+2+2的拼合方式),拆卸程序結束,進入整個程序的下一步;如
5、任意一個2柱組都不可拆出,則此編碼表示的結構無解(為4柱的死疙瘩),拆卸程序結束,進入整個程序的下一步。3.1運行6柱組分成2個3柱組的子程序。如果不能分成2個3柱組,則此編碼表示的結構無解(為6柱的死疙瘩),拆卸程序結束,進入整個程序的下一步。如果可以分成2個3柱組,則進入步驟3.2 :對2個3柱組各自進行3柱組拆一柱的子程序。3.2對2個3柱組各自進行3柱組拆一柱的子程序。只要有1個三柱組不能拆出任意一柱,則此編碼表示的結構無解(為3的死疙瘩),拆卸程序結束,進入整個程序的下一步;如果2個三柱組都可以拆出1根柱,則則此編碼表示的鎖有解(3+3方式),拆卸程序結束,進入整個程序的下一步;這個
6、拆卸程序只有1個入口,出口有12個。其中7個出口是以無解結束,5個出口是以有解結束。圖三是上述過程的流程圖。雖然不太規范,但是它對拆卸程序的流程應該表達清楚了。圖三拆卸程序完成,下面進入環節四。四. 拆卸分析后的數據處理,這個環節很簡單。就是對有解和無解兩種情況分別做不同的處理。1.對結果是無解的處理;將這個編碼所代表的結構的在所有不同位置時的不同編碼和它們鏡象結構的不同編碼全部放到 “已處理數據” 數據庫中。接著進行下一步:令I=I+1,處理下一個編碼:與“已處理數據” 數據庫中的數據比對;判斷程序是否運行完畢;返回環節二,進入斷柱判斷程序。2. 對結果是有解的處理;與對結果是無解的處理基本
7、相同。只是增加了一項工作:將此編碼和它的鏡象結構的不同編碼放到“有解結構”的數據庫中,等待輸出。(如果它的鏡象結構的12個編碼中,有與此編碼相同的,則只將此編碼一個放到“有解結構”的數據庫中)五.環節五:對全部有解數據綜合分析整理。這可以是分析程序以外的工作。對于6柱實心鎖的分析程序SCIAM,有解的的結果是119979個。從這119979個結果中篩選出6柱實心鎖的有用柱369個應該是必須做的。其余就沒有什么強制要求了。到這里關于6柱實心鎖的分析程序SCIAM的算法解析就算完成了。再次說明:我是計算機的程序盲。以上說法中如有不規范或錯誤之處,歡迎批評。對于其它三類鎖的三個程序:1.用可鋸柱,內
8、部無孔的JRM;2. 用可鋸柱,內部有孔的NOTC;3.用普通柱,內部有孔的HB6。簡述如下:1. 用可鋸柱,內部無孔的JRM:可以比較簡單得到,只是在6柱實心鎖的分析程序SCIAM的對有序的數組的編碼進行斷柱判斷的環節后,增加一個可鋸柱判斷的小程序,“是”,則進入下一步拆卸程序;“否”,則處理下一個編碼。2. 用普通柱,內部有孔的HB6:這是卡特的魯班鎖(孔明鎖)的計算機分析法所闡述的程序。它與在6柱實心鎖的分析程序SCIAM主要區別是:要處理的有序數組的不同.為了表示活動塊的空缺,引入虛擬的0#柱。如果一個活動塊空缺,那它就屬于虛擬的0#柱。這樣,每一個活動塊可以屬于的柱就成了表二。表二原
9、來的32位,2進制和3進制混合的有序數組。就變成了32位,3進制和4進制混合的有序數組。新的有序數組的不同的編碼數是324*48=18509302102818816個不同的數。它的第一個數是:00000000000000000000000000000000;它的最后一個數依然是:33334444445555556646645665666666。需要處理的編碼約是6柱實心鎖編碼的16.8萬倍。由此可知,HB6程序包含了SCIAM程序。整個分析程序的核心部分拆卸程序也將復雜很多。6柱實心鎖的拆解,絕大部分是只要柱(或柱組)可以移動,就可以拆出;只有極少的結構要先移動1根柱,才可以拆出另一根柱。而有
10、孔鎖會經常出現要多次的移動柱(或柱組)才可以拆出一根柱。由于有解的編碼也會多很多,同時會出現很多很多的垃圾解,例如有孔但難度系數依然是1的鎖。所以對可以進入“有解結構”的數據庫也會進行篩選。當然這個篩選條件沒有限定原則。3. 用可鋸柱,內部有孔的NOTC:同樣可以比較簡單得到,還是在6柱有孔鎖的分析程序HB6中對有序的數組的編碼進行斷柱判斷的環節后,增加一個可鋸柱判斷的小程序,“是”,則進入下一步拆卸程序;“否”,則處理下一個編碼。綜合以上對4個程序的分析,我以為HB6程序包含了其它三個程序。而用可鋸柱,內部無孔的JRM的程序是用來檢測HB6程序是否正確的試運行用品。因為JRM的程序運行時間最
11、短??ㄌ氐聂敯噫i(孔明鎖)的計算機分析法中還介紹了一些鎖,不過用的是LL碼,要讀者自己轉換。1. 說明關于鎖的對稱的11種情況的11個鎖。如下:各種對稱類型的裝配示例: 1 35355035043002251130443060223636 0 7 2 5 0 0 0 Bill's Baffling Burr 2MA 54541135410520221136410620226464 0 4 1 7
12、7 7 7 Basis for souvenir puzzle of IPP14 2MB 35355515543322221111443662666464 0 0 0 1 1 1 1 Notchable 2R 55555515543552556111143222266666 0 0 0 1 1 1 1 Notchable, Type 1 Partial Solution
13、 3R 05050000003004021100043004220666 0 17 3 2 2 5 5 Notchable Level-5 4MA 55555535543554551131143224226666 0 0 0 1 1 1 1 Notchable 4MB 55555535543224221131143664666666 0
14、; 0 0 1 1 1 1 Notchable 4R 54351135543554221136643664223664 0 0 0 0 0 0 0 One of only Four 4R Assemblies 6MB 35355510543322221111443602666464 0 2 0 1 1 1 1 Notchable 8MB
15、; 55551135543554221136643664226666 0 0 0 0 0 0 0 Only 8MB Assembly 24MB 55551130043004221130043004226666 0 8 0 0 0 0 0 Only 24MB Assembly還原著11個鎖,對魯班鎖(孔明鎖)的計算機分析法中極難理解的關于對稱的描述有很大的幫助。以下是18個難度系數為10的鎖,有拆解碼,可以照碼還原。1. 5554113304030022
16、0033440060200606 4 0 10 C 12 A-1 AAAA 672 541 282. 05051131540002220030040204226636 4 0 10 8 11 A-2 7A00 270 141 253. 54551133140350020030040300226666 5 0 10 6 10 A-1 A000 388 202 214. 0535113
17、0042044000030442062223606 1 0 13 C 11 A-1 6AAA 138 130 145. 35051103540204200113440222003606 1 0 10 6 10 A-1 A000 89 50 346. 35051103540204206113440222003606 1 0 10 6 9 A-1 A
18、000 30 11 187. 54551135403020221036402000066466 6 0 11 8 9 A-3 4A00 13 4 198. 54500030403350251131402002226466 1 0 13 C 9 A-1 45AA 40 22 379. 54500030402350251131403300226466
19、 4 0 12 C 9 A-1 45AA 38 11 4510. 54500530403350251131402022226466 11 9 14 8 7 A-1 5A00 2 1 2211. 54500530402350551131403302226466 35 9 12 C 7 A-1 59AA
20、 7 1 2712. 50541110003224221100143204226060 36 0 15 C 9 A-1 46AA 20 9 2313. 50541110003224221100143204006060 3 0 13 C 11 A-1 46AA 52 35 3014. 54541100003024221100143224226060
21、 68 0 16 C 9 A-1 44AA 112 77 3515. 50541110003224221100143224226060 139 0 16 C 8 A-1 46AA 10 4 1916. 54551135143202220036040002226060 1 0 10 6 9 A-1 A000 46
22、 26 1617. 54551131143202221136040002226060 49 0 10 6 7 A-1 A000 40 13 1818. 50501131443520220031140002226060 4 0 13 C 10 A-1 AAAA 176 123 20- - - - - - - - - - - &
23、#160; 拆解碼 Move1 Move2 Move3 Move4 Move5 Move6 Move7 Move8 Move91. 112 * 1F6 * 2F4 * 314
24、60; 1F1 211 315 214 1F23 *2. 112 * 211 * 1F5 * 214 122 2F4 115 2F1 3136 *3. 112 * 211 * 3145
25、0; 114 3F5 2F1 326 116 3164. 112 * 211 * 315 * 2F23 3125 1F2 3F5 213 3F1465. 112 313
26、 111 * 1F23 * 3F6 * 211 325 2F1 1F1 *6. 112 313 1F23 * 3F6 111 * 211 325 2F1 1F17. 114 314
27、 1F1 3E6 111 3F46 115 * 1F2 * 21368. 1146 325 1E2 * 2F35 3E5 1125 * 213 * 1F6 2136 *9. 1146 325 &
28、#160; 1E2 # 2F35 3E5 115 # 213 # 1F6 # 2136 *10. 1146 325 1F2 2F35 3E5 115 213 1F26 2F14511. 1146 325&
29、#160; 1F2 2F35 3E5 115 213 # 1F6 # 2136 *12. 116 21246 121 2F246 1F6 2E4 * 115 2F25 * 3125 *13. 116 21
30、246 121 2F246 1F6 2E4 * 115 2F5 * 312 *14. 116 21246 121 # 2F246 1F6 # 2F4 115 2E245* 3125 *15. 116 21246 121
31、; # 2F246 1F6 # 2F4 115 2F245 3125 *16. 116 2F3 1E2 213 1F6 211 * 2F4 * 115 213617. 116 2F3 # 1E2
32、; 213 # 1F6 2F4 115 2136 * 3F6 *18. 116 2F35 1E2 215 1125 213 * 1F6 2F245* 3F1 *以下是13個所謂“名聲顯赫”的鎖,有LL碼,拆解碼,要還原它還要動些
33、腦筋。幾個“名聲顯赫”的鎖: (LL Format of Rotated Assembly) 6-Piece Burr Puzzle Name L H Lvs LTyp Asm Sol P m M S St Ap50541131042042220633042002226466 Bill's Baffling Burr 6 7 5-1 5000 24 1 0 5 5 1 5 1545511311432022260311400
34、02226060 The Piston Puzzle 6 7 9-3 9000 10 1 0 9 9 1 11 155550130540004551133440602226060 Love's Dozen 6 9 C-3 C000 154 90 3 1 C
35、 1 18 254545133402222221133400004226466 Diff. at Length 10 & 12 A 5 5-3 3350 1 1 0 5 5 1 16 235355533512054221131112644226464 Notchable 1-Hole Level-2 8 1 2-1 2222 4 4 0 1 2 1 2 150501135442002201133442622226060 L5 Notchable &
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學校水井房管理制度
- 學校縫紉室管理制度
- 學校防暴雨管理制度
- 學生托管班管理制度
- 學院樓門衛管理制度
- 安康碼項目管理制度
- 安監房衛生管理制度
- 官渡區臺賬管理制度
- 實施部日志管理制度
- 寵物寄存室管理制度
- 行業報告全球彩寶市場現狀及前景
- 統編版七年級語文下冊《第18課井岡翠竹》同步測試卷及答案
- 2024年河北省物理組招生計劃
- 2025春國家開放大學《公共行政學》形考任務1-3參考答案
- 2025年家庭照護者、健康照護師崗位專業技能資格知識考試題(附答案)
- 護欄安裝工作總結
- 科技助力下的家庭教育與精神健康的融合發展探討
- 小區弱電施工組織設計及施工方案
- 2025年湖北省技能高考(建筑技術類)《建筑工程測量》模擬練習試題庫(含答案)
- SCR脫硝催化劑體積及反應器尺寸計算表
- 光伏電站小EPC規定合同范本
評論
0/150
提交評論