鲁班锁计算机分析的算法解析一.doc_第1页
鲁班锁计算机分析的算法解析一.doc_第2页
鲁班锁计算机分析的算法解析一.doc_第3页
鲁班锁计算机分析的算法解析一.doc_第4页
鲁班锁计算机分析的算法解析一.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

鲁班锁计算机分析的算法解析 作为鲁班锁(孔明锁)的结构分析法的作者,我对咕咚先生的鲁班锁(孔明锁)的计算机分析法的6篇译文读过多遍。不夸张的说,我玩锁不到三年,这6篇文章我就研读了2年半之多。下面就是我读鲁班锁(孔明锁)的计算机分析法一点心得:对鲁班锁用计算机分析的逻辑过程的解析。首先声明:我不会计算机编程,也玩不转那些高深的数学理论,如矩阵之类。我将用最简单一些方法来解析这个过程。力求具有高中水平的人就能看懂。卡特将6柱鲁班锁分成了4类:1.用可锯柱,内部无孔;2.用普通柱,内部无孔;3.用可锯柱,内部有孔;4.用普通柱,内部有孔.对应这4类锁他用的分析程序是;1.JRM;2.SCIAM;3.NOTC;4.HB6。由于本人水平有限,鲁班锁(孔明锁)的结构分析法只是对第2类用普通柱,内部无孔的锁做了详细分析。因此本文主要是对SCIAM程序的算法过程的解析。 一般对鲁班锁用计算机分析的逻辑过程有5个环节:1. 将所有的活动块的组合一一对应转换成一组有序的数组以便于计算机依次逐个分析。这是一个重点和难点。2. 对此有序的数组的数进行资格审查,确定其有无资格进入下一步的拆卸程序。这个资格审查包括2点。一是此数是否已存在“已处理数据”的数据库中。如已存在“已处理数据”的数据库中,当然不须入下一步的拆卸程序;二是此数表示的结构是否有断柱存在,如果有也不须入下一步的拆卸程序。3. 拆卸程序。这是整个分析程序的核心部分。4. 拆卸分析后的数据处理,对有解和无解两种情况分别做不同的处理。5. 对全部有解数据综合分析整理。下面将对这5个环节逐一阐述。一. 将所有的活动块的组合一一对应转换成一组有序的数组: 图一是一个普通的6柱锁,6根柱的编号分别是一,二,三,四,五,六。它被5个平面(淡蓝色)切成6段。这6段的状况如图二所示。图一图二中从左至右,从上到下依次是第一,第二,第三,第四,第五,第六层。各层依次叠加就还原为图一的锁。图二中有红色132标记的淡绿色块是活动块。活动块可以分别属于不同的柱。按图二,每一个活动块可以属于的柱见表一。图二表一由图二可知:1#块可以属于一号柱或三号柱;2#块可以属于二号柱或三号柱;8#块可以属于一号柱或三号柱或四号柱;16#块可以属于二号柱或六号柱;这样就可以得到表一。为了以后的书写方便,表一中“所属柱编号”一栏中的柱编号由图一中的一,二,三,四,五,六改写成了1,2,3,4,5,6。 这样我们就得到了一组32位,2进制和3进制混合的有序数组。这个数组共有224*38=110075314476个不同的数。它的第一个数是表一中的第一行数:12123311221122334411221122551212;它的最后一个数是表一中的最下排的一行数:33334444445555556646645665666666。这也就是卡特创造的表示鲁班锁的LL编码,配以他的拆解码就能完整的表示一个鲁班锁所有的信息。 将LL编码转换为可以由计算机读取的方式(这个我不会)就完成了第一个环节的工作。二. 对要进行分析的数进行资格审查: 输入数组中的第一个编码:12123311221122334411221122551212,并与“已处理数据”数据库中的所有的编码比对,此时“已处理数据” 数据库是空的,当然通过;再检查有无断柱,此编码无“6”,明显说明六号柱是断柱,不通过。这时还要做的一件事是将这个编码所代表的结构的在所有不同位置时的编码和它们镜象结构的编码全部放到“已处理数据” 数据库中。建立“已处理数据” 数据库的目的只是使数据处理的效率提高。编码所代表的结构的在所有不同位置有12个,见图三;它们的镜象也是12个,见图四。这样的转换用程序做很方便,用人工做就麻烦多了。例如图三中的1号位的锁换到2号位。由图可见:2号位的锁是1号位的锁绕X轴旋转180度而成。此时不但外面可见的柱的固定块位置发生了变化。关键是内部的32个活动块的位置也发生了变化。具体是1#与31#,2#与32#,3#与29#,4#与30#,5#与27#,6#与28#,7#与23#,8#与24#,9#与25#,10#与26#,11#与19#,12#与20#,13#与21#,14#与22#,15#与17#,16#与18#这16对活动块的位置发生了互换。对于编码就是相应数位上的数进行互换。也就是2号位的锁的编码是12125511221122443311221122331212,。其余的20个锁镜象也同样处理。如果这24个编码中有相同的,就只保留一个。这些编码都进入“已处理数据” 数据库中由于断柱检查没有通过,于是令I=I+1处理下一个编码12123311221122334411221122551216;同样进行与“已处理数据”数据库中的所有的编码比对和断柱检查的操作过程后。断柱检查还是不通过,再令I=I+1处理下一个数据12123311221122334411221122551262;在以后的与“已处理数据”数据库中的所有的编码比对后,如果要处理的编码与已处理数据”数据库中的有的编码相同,还要确认要处理编码是否等于33334444445555556646645665666

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论