[size=medium]我以前曾经用VB写了一个<<华容道解题程序1.0>>,当时限于水平,没有加上图形表示.
最近有点时间,想拿起来继续完善完善.
在生成一个新的状态以后,需要和现在已经有的状态进行比较,以判断是否是已经走过的状态,以确保不走回头路.
原来的代码是这样实现的.
If SaveState(i).state(1) = NewState(1) And _
SaveState(i).state(2) = NewState(2) And _
SaveState(i).state(3) = NewState(3) And _
SaveState(i).state(4) = NewState(4) And _
SaveState(i).state(5) = NewState(5) And _
SaveState(i).state(6) = NewState(6) And _
SaveState(i).state(7) = NewState(7) And _
SaveState(i).state(8) = NewState(8) And _
SaveState(i).state(9) = NewState(9) And _
SaveState(i).state(10) = NewState(10) Then
IsExist = True: i = 0: Exit Function
End If
由于这个比较本身就在一个循环里面,这种大面积比较还是比较费时间的,尽管这点时间现在看来已经很微不足道了.
要提高效率,就得在提高比较速度上下工夫.
晚上我忽然想到,如果把每个状态能够算出一个特征值出来,一样的状态特征值是一样的;而不一样的状态特征值相同的概率也不会太大.这样一来每次只要比较一个特征值就可以了,如果特征值相同,再进行状态的细致比较.
于是乎定义了这样一个特征值函数.
Private Function GetCheckFlag(state() As Long)
Dim i As Long
Dim iFlag As Long
GetCheckFlag = 0: iFlag = 0
For i = 1 To 10
iFlag = iFlag + state(i) * state(i)
Next i
GetCheckFlag = iFlag
End Function
把12个状态值简单的计算了一下平方和.这样就得到一个特征值.
修改以后的比较函数如下:
'先比较校验码,校验码不同,就不必进行下面的比较了。
If SaveState(i).checkFlag <> iFlag Then
GoTo looppos
End If
If SaveState(i).state(1) = NewState(1) And _
SaveState(i).state(2) = NewState(2) And _
SaveState(i).state(3) = NewState(3) And _
SaveState(i).state(4) = NewState(4) And _
SaveState(i).state(5) = NewState(5) And _
SaveState(i).state(6) = NewState(6) And _
SaveState(i).state(7) = NewState(7) And _
SaveState(i).state(8) = NewState(8) And _
SaveState(i).state(9) = NewState(9) And _
SaveState(i).state(10) = NewState(10) Then
IsExist = True: i = 0: Exit Function
End If
通过这种方式,终于提高了速度,初步测算,整体的计算速度提高了5到6倍.
另外终于加上了绘图功能,欢迎下载查看.[/size]
分享到:
相关推荐
改进的粒子群算法采用寻找到一个特征值后,适当改变适应值函数的策略,使搜索区域远离已寻找到的特征值,继续寻找其他的特征值,如此反复,直到寻找到所有的特征值为止。利用四个不同类型的矩阵求解特征值进行仿真,...
提取图像的特征值在数据库中搜索图像,有直方图算法,中间值等算法的C#代码实现,是本人前几年的毕业设计,代码有些地方参考网络。
利用第三方矩阵计算工具包JAMA,求特征值、特征向量 API: http://math.nist.gov/javanumerics/jama/doc/Jama/Matrix.html 应用: 1.JAMA包的导入 1)https://mvnrepository.com/ 2)搜索JAMA,选第一个:gov....
1、查询指定关键词在百度,GOOGLE中的每日平均搜索量。 2、可根据关键词进行批量查询,灵活好用。时效性好。 3、可查询相关搜索的所有关键词平均搜索量,收录页面,竞争系数。以及难度系数等。 4、软件免费使用,...
强力推荐GOOGLE搜索引擎使用技巧,能够很大程度提高大家查找资料和下载资料的效率,节省时间。
强力资源搜索,支持各大网盘中的资源一键搜索,获取下载地址,直接转到网页
本文研究了具有实对称矩阵的特征值互补问题(EiCP),它出现在力学接触问题的研究中。 我们讨论该问题的二次规划公式。 由此产生的问题是非线性程序,可以通过线搜索滤波器-SQP算法解决。
在光学系统中利用弱值放大模拟搜索算法.docx
关键词搜索量查询工具V4.0 做站必备 关键词查询
C++ 特征码搜索支持问号搜索 开源
1、查询指定关键词在百度,GOOGLE中的每日平均搜索量。 2、可根据关键词进行批量查询,灵活好用。时效性好。 3、可查询相关搜索的所有关键词平均搜索量,收录页面,竞争系数。以及难度系数等。 4、软件免费使用,...
由同风整理编写的强力搜索引擎,绿色易安装,只用在index.asp中的适当位置加上显示就可以了!内有详细安装说明!适用于动网各个版本。 效果如图所示! <br>中国论坛网推荐" src=...
skycc关键词搜索量查询软件主要功能:1、查询指定关键词在百度,GOOGLE中的每日平均搜索量。 2、可根据关键词进行批量查询,灵活好用。时效性好。 3、可查询相关搜索的所有关键词平均搜索量,收录页面,竞争系数。...
1、查询指定关键词在百度,GOOGLE中的每日平均搜索量。 2、可根据关键词进行批量查询,灵活好用。时效性好。 3、可查询相关搜索的所有关键词平均搜索量,收录页面,竞争系数。以及难度系数等。 4、软件免费使用,...
电信设备-基于图像帧数据特征值信息响应的内容搜索方法及系统.zip
1、查询指定关键词在百度,GOOGLE中的每日平均搜索量。 2、可根据关键词进行批量查询,灵活好用。时效性好。 3、可查询相关搜索的所有关键词平均搜索量,收录页面,竞争系数。以及难度系数等。 4、软件免费使用,...
以搜索引擎为外部知识库获取实体特征信息,利用相似函数计算特征值,由D-S证据理论融合一组特征值,经阈值判断完成同义实体的识别。特征融合识别算法在医疗机构数据集上的识别精度、召回率和F值分别达到了85.80%、81...
易语言搜索定位内存特征码源码。Sunday算法是Daniel M.Sunday于1990年提出的字符串模式匹配。其核心思想是:在匹配过程中,模式串发现不匹配时,算法能跳过尽可能多的字符以进行下一步的匹配,从而提高了匹配效率。...