魔方吧·中文魔方俱乐部

标题: 二阶魔方状态转移图与应用 2010.4.15更新 [打印本页]

作者: yq_118    时间: 2010-4-11 03:12:43     标题: 二阶魔方状态转移图与应用 2010.4.15更新

首先建立了所有二阶魔方状态与集合{0,1,...,3674159}的一一对应从而实现了状态转移图的线性存储,达到快速访问的目的。

采用BFS,计算所有节点的距离(最少步还原的步数)。
状态转移图有很多用途,这里只实现了两种:
计算各距离下的的状态数(函数ana)最少步还原(函数solve)
时间关系,程序还有许多不足。
有错误请指出,谢谢。
Archive.zip (36.39 KB)

/**************************************************/
2010.4.15更新MiniCube.zip
代码进行了优化,占用内存减少。
第一次运行时将距离表写入磁盘,以后运行非常快。
添加180°转算两步的求解。
多重解,每个状态求出所有最少步解。
MiniCube.zip (9.28 KB)

[ 本帖最后由 yq_118 于 2010-4-15 09:34 编辑 ]

附件: Archive.zip (2010-4-11 03:12:43, 36.39 KB) / 下载次数 51
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=OTI3Mzh8MWY5MjJiM2R8MTczMjQ0MjQ4NHwwfDA%3D

附件: MiniCube.zip (2010-4-15 02:10:25, 9.28 KB) / 下载次数 42
http://bbs.mf8-china.com/forum.php?mod=attachment&aid=OTM0Mjh8N2M3NmE5M2Z8MTczMjQ0MjQ4NHwwfDA%3D
作者: yq_118    时间: 2010-4-11 03:15:24

占楼备用......
作者: 铯_猪哥恐鸣    时间: 2010-4-11 10:07:50

那个,180度算两步的其实只要改一行,原来是尝试18种转动,现在把那行改成尝试12种90度转动即可。。。另外其实我寒假做了和楼主同样的事情,可以参考我那个二阶求解程序。。。
作者: yq_118    时间: 2010-4-11 10:29:11

原帖由 铯_猪哥恐鸣 于 2010-4-11 10:07 发表 那个,180度算两步的其实只要改一行,原来是尝试18种转动,现在把那行改成尝试12种90度转动即可。。。另外其实我寒假做了和楼主同样的事情,可以参考我那个二阶求解程序。。。
改一行不行,改几行还可以。
可以把图写入磁盘,以后就会快很多了。
可惜还缺一个GUI。

期待用循环变换的理论写的程序,不知道效率上有多大提高。
作者: 铯_猪哥恐鸣    时间: 2010-4-11 10:44:28

。。。你都搜索了所有状态了,显然就和循环变换扯不上关系了,那是用于因为状态数太多无法全部储存的时候做得剪枝算法。。。
作者: yq_118    时间: 2010-4-11 11:00:28

看来二阶魔方这种简单的东西没必要用“循环变换”,但要证明“循环变换”是正确的总要给点东西出来啊。
作者: superflip    时间: 2010-4-11 17:50:31     标题: 回复 6# 的帖子

版主回复过了,老程序还不能调试,以后再说~

其实我是觉得这个定义挺好的,也不存在是正确,错误之类的。  
只是它更像一种方法或思路,有些贴把之吹得过了(尤其是早期的某些贴子里)~

不过魔方就是拿来把玩的,每人有自己的新思路就很好。
作者: ggglgq    时间: 2010-4-13 00:38:47

  
  
    看来楼主对 开解正六面体二阶魔方程序 有一定的研究,加精支持!
  
    希望推出功能更强大的后续版本!
  
  
  
作者: aubell    时间: 2010-4-14 17:54:54

支持一下,很好的程序啊!
作者: aubell    时间: 2010-4-14 19:09:16

你知道用了多少内存吗?
粗略看了一下,初始化完成后144632k。
大概内存泄露了?还是本来就要这么多?

已经很不错了,加油啊。
作者: yq_118    时间: 2010-4-15 02:21:38

原帖由 aubell 于 2010-4-14 19:09 发表 你知道用了多少内存吗?粗略看了一下,初始化完成后144632k。 大概内存泄露了?还是本来就要这么多?已经很不错了,加油啊。

这个本来就要这么多,更新后的只有第一次运行需要怎么多,以后运行只用不到4M的内存。
作者: aubell    时间: 2010-4-15 12:53:17     标题: 回复 11# 的帖子

好,先顶!先支持!
作者: aubell    时间: 2010-4-15 13:03:58

更新过的程序真的很好!很强大!
作者: aubell    时间: 2010-4-15 13:21:46

代码使用了一些宏,显得精巧美观。赞一个,再!




欢迎光临 魔方吧·中文魔方俱乐部 (http://bbs.mf8-china.com/) Powered by Discuz! X2