




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
鲁班锁计算机分析的算法解析.二三.进入整个分析程序的核心部分拆卸程序:拆卸程序是整个鲁班锁计算机分析程序的核心部分,它的主要思路是优先考虑拆出一根柱。当待拆的柱组拆出一根柱(或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柱组的子程序。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柱组的子程序。可拆出1个2柱组,则进行步骤2.5 运行3柱组拆一柱的子程序;如任意一个2柱组都不可拆出,则此编码表示的结构无解(为5柱的死疙瘩),拆卸程序结束,进入整个程序的下一步。2.3。运行4柱组拆一个2柱组的子程序。可拆出1个2柱组,则此编码表示的锁有解(2+2+1+1的拼合方式),拆卸程序结束,进入整个程序的下一步;如任意一个2柱组都不可拆出,则此编码表示的结构无解(为4柱的死疙瘩),拆卸程序结束,进入整个程序的下一步。2.4运行4柱组拆一柱的子程序,可拆出1柱,则进行步骤2.6运行3柱组拆一柱的子程序;如任意1柱都不可拆出,则进行步骤2.7运行4柱组拆一个2柱组的子程序。2.5运行3柱组拆一柱的子程序,可拆出1柱,则此编码表示的锁有解(为3+2+1的拼合方式),拆卸程序结束,进入整个程序的下一步;如任意1柱都不可拆出,则此编码表示的结构无解(为3柱的死疙瘩),拆卸也程序结束,同样进入整个程序的下一步;。2.6运行3柱组拆一柱的子程序,可拆出1柱,则此编码表示的锁有解(为4+2的拼合方式),拆卸程序结束,进入整个程序的下一步;如任意1柱都不可拆出,则此编码表示的结构无解(为3柱的死疙瘩),拆卸也程序结束,同样进入整个程序的下一步;。2.7 。运行4柱组拆一个2柱组的子程序。可拆出1个2柱组,则此编码表示的锁有解(2+2+2的拼合方式),拆卸程序结束,进入整个程序的下一步;如任意一个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方式),拆卸程序结束,进入整个程序的下一步;这个拆卸程序只有1个入口,出口有12个。其中7个出口是以无解结束,5个出口是以有解结束。图三是上述过程的流程图。虽然不太规范,但是它对拆卸程序的流程应该表达清楚了。图三拆卸程序完成,下面进入环节四。四. 拆卸分析后的数据处理,这个环节很简单。就是对有解和无解两种情况分别做不同的处理。1.对结果是无解的处理;将这个编码所代表的结构的在所有不同位置时的不同编码和它们镜象结构的不同编码全部放到 “已处理数据” 数据库中。接着进行下一步:令I=I+1,处理下一个编码:与“已处理数据” 数据库中的数据比对;判断程序是否运行完毕;返回环节二,进入断柱判断程序。2. 对结果是有解的处理;与对结果是无解的处理基本相同。只是增加了一项工作:将此编码和它的镜象结构的不同编码放到“有解结构”的数据库中,等待输出。(如果它的镜象结构的12个编码中,有与此编码相同的,则只将此编码一个放到“有解结构”的数据库中)五.环节五:对全部有解数据综合分析整理。这可以是分析程序以外的工作。对于6柱实心锁的分析程序SCIAM,有解的的结果是119979个。从这119979个结果中筛选出6柱实心锁的有用柱369个应该是必须做的。其余就没有什么强制要求了。到这里关于6柱实心锁的分析程序SCIAM的算法解析就算完成了。再次说明:我是计算机的程序盲。以上说法中如有不规范或错误之处,欢迎批评。对于其它三类锁的三个程序:1.用可锯柱,内部无孔的JRM;2. 用可锯柱,内部有孔的NOTC;3.用普通柱,内部有孔的HB6。简述如下:1. 用可锯柱,内部无孔的JRM:可以比较简单得到,只是在6柱实心锁的分析程序SCIAM的对有序的数组的编码进行断柱判断的环节后,增加一个可锯柱判断的小程序,“是”,则进入下一步拆卸程序;“否”,则处理下一个编码。2. 用普通柱,内部有孔的HB6:这是卡特的鲁班锁(孔明锁)的计算机分析法所阐述的程序。它与在6柱实心锁的分析程序SCIAM主要区别是:要处理的有序数组的不同.为了表示活动块的空缺,引入虚拟的0#柱。如果一个活动块空缺,那它就属于虚拟的0#柱。这样,每一个活动块可以属于的柱就成了表二。表二原来的32位,2进制和3进制混合的有序数组。就变成了32位,3进制和4进制混合的有序数组。新的有序数组的不同的编码数是324*48=18509302102818816个不同的数。它的第一个数是:00000000000000000000000000000000;它的最后一个数依然是:33334444445555556646645665666666。需要处理的编码约是6柱实心锁编码的16.8万倍。由此可知,HB6程序包含了SCIAM程序。整个分析程序的核心部分拆卸程序也将复杂很多。6柱实心锁的拆解,绝大部分是只要柱(或柱组)可以移动,就可以拆出;只有极少的结构要先移动1根柱,才可以拆出另一根柱。而有孔锁会经常出现要多次的移动柱(或柱组)才可以拆出一根柱。由于有解的编码也会多很多,同时会出现很多很多的垃圾解,例如有孔但难度系数依然是1的锁。所以对可以进入“有解结构”的数据库也会进行筛选。当然这个筛选条件没有限定原则。3. 用可锯柱,内部有孔的NOTC:同样可以比较简单得到,还是在6柱有孔锁的分析程序HB6中对有序的数组的编码进行断柱判断的环节后,增加一个可锯柱判断的小程序,“是”,则进入下一步拆卸程序;“否”,则处理下一个编码。综合以上对4个程序的分析,我以为HB6程序包含了其它三个程序。而用可锯柱,内部无孔的JRM的程序是用来检测HB6程序是否正确的试运行用品。因为JRM的程序运行时间最短。卡特的鲁班锁(孔明锁)的计算机分析法中还介绍了一些锁,不过用的是LL码,要读者自己转换。1. 说明关于锁的对称的11种情况的11个锁。如下:各种对称类型的装配示例: 1 35355035043002251130443060223636 0 7 2 5 0 0 0 Bills Baffling Burr 2MA 54541135410520221136410620226464 0 4 1 7 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 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 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 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. 55541133040300220033440060200606 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. 05351130042044000030442062223606 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 A000 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 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 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 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 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- - - - - - - - - - - 拆解码 Move1 Move2 Move3 Move4 Move5 Move6 Move7 Move8 Move91. 112 * 1F6 * 2F4 * 314 1F1 211 315 214 1F23 *2. 112 * 211 * 1F5 * 214 122 2F4 115 2F1 3136 *3. 112 * 211 * 3145 114 3F5 2F1 326 116 3164. 112 * 211 * 315 * 2F23 3125 1F2 3F5 213 3F1465. 112 313 111 * 1F23 * 3F6 * 211 325 2F1 1F1 *6. 112 313 1F23 * 3F6 111 * 211 325 2F1 1F17. 114 314 1F1 3E6 111 3F46 115 * 1F2 * 21368. 1146 325 1E2 * 2F35 3E5 1125 * 213 * 1F6 2136 *9. 1146 325 1E2 # 2F35 3E5 115 # 213 # 1F6 # 2136 *10. 1146 325 1F2 2F35 3E5 115 213 1F26 2F14511. 1146 325 1F2 2F35 3E5 115 213 # 1F6 # 2136 *12. 116 21246 121 2F246 1F6 2E4 * 115 2F25 * 3125 *13. 116 21246 121 2F246 1F6 2E4 * 115 2F5 * 312 *14. 116 21246 121 # 2F246 1F6 # 2F4 115 2E245* 3125 *15. 116 21246 121 # 2F246 1F6 # 2F4 115 2F245 3125 *16. 116 2F3 1E2 213 1F6 211 * 2F4 * 115 213617. 116 2F3 # 1E2 213 # 1F6 2F4 115 2136 * 3F6 *18. 116 2F35 1E2 215 1125 213 * 1F6 2F245* 3F1 *以下是13个所谓“名声显赫”的锁,有LL码,拆解码,要还原它还要动些脑筋。几个“名声显赫”的锁:(LL Format of Rotated Assembly) 6-Piece Burr Puzzle Name L H Lvs LTyp Asm Sol P m M S St Ap50541131042042220633042002226466 Bills Baffling Burr 6 7 5-1 5000 24 1 0 5 5 1 5 154551131143202226031140002226060 The Piston Puzzle 6 7 9-3 9000 10 1 0 9 9 1 11 155550130540004551133440602226060 Loves Dozen 6 9 C-3 C000 154 90 3 1 C 1 18 254545133402222221133400004226466 Diff. at Length 10 & 12 A 5 5-3 3350 1 1 0 5 5 1 16 235355533512054221131112644226464 Notchable 1-Hole Lev
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年4月杭州市采荷中学编外教师招聘3人考前自测高频考点模拟试题有完整答案详解
- 2025福建泉州市面向教育部直属师范大学福建省生源公费师范生、福建省内高校泉州生源公费师范生招聘编制内新任教师52人模拟试卷附答案详解(考试直接用)
- 2025广东东莞市谢岗镇政府第一食堂招聘厨师长、副厨2人考前自测高频考点模拟试题附答案详解(模拟题)
- 2025广西壮族自治区体育局机关服务中心招聘编外人员2人考前自测高频考点模拟试题及答案详解一套
- 2025年湖南张家界市公安局招聘360名警务辅助人员考前自测高频考点模拟试题完整参考答案详解
- 2025广东汕头市潮阳区教育局属下学校外出招聘硕士研究生18人考前自测高频考点模拟试题及1套参考答案详解
- 2025海南三亚市第二人民医院第一次(考核)招聘员额制工作人员(第12号)模拟试卷及答案详解(网校专用)
- 2025年甘肃省嘉峪关市胜利路小学招聘公益性岗位人员考前自测高频考点模拟试题附答案详解(黄金题型)
- 2025年黑河市公安局面向社会公开招聘22名警务辅助人员模拟试卷及答案详解(典优)
- 2025湖南省农村信用社联合社校园招聘15人考前自测高频考点模拟试题及答案详解(考点梳理)
- 2025机采棉作业合同协议书范本
- 树木学试题及答案北林
- 财政补贴政策在促进农村电商发展的扶持效果可行性分析报告
- 《创伤失血性休克中国急诊专家共识(2023)》解读 2
- 2025第三季度作风建设党课以忠诚廉洁担当的政治品格奋力书写高质量发展新答卷
- 打井设备成套转让协议书
- 组织结构的权力与权威
- 宠物急救标准化流程
- 2025届广东广州地铁集团有限公司校园招聘笔试参考题库附带答案详解(10套)
- 教师信息技术数字资源开发计划
- 低钾血症护理常规业务学习
评论
0/150
提交评论