cyz 发表于 2010-4-21 18:58:33

也就是说这个事一个软件?那就完全不懂了

aubell 发表于 2010-4-21 23:19:02

已经在编程实践了,实践的时候发现一些细节问题,有关于魔方的,
也有关于程序设计的,提醒自己要注意:

1. 定义基本操作是从0开始还是从1开始,结果表明,从0开始更好;
  从1开始容易写错;也许用enum更好;

2.表中存储6种操作还是12种操作,还是18种操作;
  涉及到空间的关系,以及要用何种方式计数步数,以及对速度的要求;
  18*18也只意味着分支表是6*6的 9 倍大小,可以接受,就用18种;
  存储顺序以方便操作为宜;

3.pack二进制、三进制的时候,要注意都用同一种次序;高低位置不要弄反了;
  这一次写的程序同以前的程序反掉了,测试起来也很麻烦;

4.一切的差异是由于次序的差异造成的。

aubell 发表于 2010-4-21 23:25:29

5. 关于编程:开始编程,不要考虑太多,考虑太多,反而容易引起混乱。
  程序也是慢慢长大的,不是一下自就拥有成熟的体型。

oyyq99999 发表于 2010-4-26 11:27:41

我也来支持一个,其实我是想写个手机上用的优化解程序

oyyq99999 发表于 2010-4-26 11:38:51

另外补充一点,IDA*算法是A*算法的一种(迭代加深A*算法),属于启发式搜索算法,人工智能基本算法之一。

[ 本帖最后由 oyyq99999 于 2010-4-26 11:40 编辑 ]

aubell 发表于 2010-4-28 23:19:36

非常感谢狼的支持!
感谢大家的支持。

aubell 发表于 2010-4-28 23:26:32

这一层发重写的代码了

基本按照原思路重写了,用c语言。
就IDA*的框架没有改动,因为不会改:lol

效率没有提高,文件数目有减少,应该好读些了。
如果发现错误,欢迎指正。

暂时叫 ya2phase
( yet another 2-phase的意思 )
这个名字最有普遍性,谁的程序都可以这样叫。

这一层帖的代码由于有较多编译警告和错误,已经删除。
帖在后面。

教训:
编译时要开启警告,W3。

过多依赖编译器检查,也不是好习惯。

[ 本帖最后由 aubell 于 2010-4-29 12:48 编辑 ]

yq_118 发表于 2010-4-28 23:46:10

先下载了,等一下编译,
用VS命令行编译了,怎么一运行就崩溃啊?

[ 本帖最后由 yq_118 于 2010-4-28 23:54 编辑 ]

aubell 发表于 2010-4-29 00:07:58

LS,真的有这么惨吗?是按照“说明”的顺序运行的吗?
因为主程序省略了错误检查,输入的顺序要按照mike的顺序。
sample.bat给出的是一个"cube in cube"图案。

[ 本帖最后由 aubell 于 2010-4-29 00:13 编辑 ]

yq_118 发表于 2010-4-29 00:20:04

1>e:\projects\create_table\cube.c(161) : warning C4013: “strcpy”未定义;假设外部返回 int
1>e:\projects\create_table\cube.c(172) : warning C4013: “strcmp”未定义;假设外部返回 int

cube.c里面是不是没有包含string.h
页: 1 2 3 4 5 6 [7] 8 9 10
查看完整版本: 非专业分析KCube