notabdc 发表于 2004-6-6 20:18:28

先提一个意见,建议把“变换A”改称为“变换序列A”,因为A的值等于1,没有什么可讨论的,关心的其实是"a1,a2,.."这个序列。

notabdc 发表于 2004-6-6 21:02:14

<P>我来给circle0(A)的概念下个定义,你看看是不是这样更清楚:</P><P>设序列变换序列A=(a1,a2,...an)。则定义circle0(A)为如下n个序列的集合:</P><P>circle0(A)= { (a1,a2,..an),(a2,a3,...an,a1), ...(an,a1,a2,...a) }</P><P>"首尾无关性"是不是指的这么一回事,若A是循环变换序列(这里我为概念加了“序列”两个字),则对于任意属于circle0(A)的变换序列B=(b1,b2,...bn),有:</P><P>(1)  circle0(B)=circle0(A) </P><P>(2)  b1*b2...*bn=1</P><P>因此,若A是循环变换序列,则从任何一个基本变换a开始都没有区别。</P><P>我这样的描述是否完整表现了你的意思?</P>

ggglgq 发表于 2004-6-9 09:08:42

<P>
    非常欢迎 notabdc 能参与 《魔方循环变换理论》 的探讨,我们共同
完善《魔方循环变换理论》,弥补《魔方循环变换理论》存在的不足。
    “notabdc”,如果我没猜错的话,你应该就是“葛永”,这是我们第
二轮打交道了,希望能合作愉快!</P><P>    我想对于《魔方循环变换理论》有几点需要说明的:
     A.如果有些概念可以直接从字面上理解的话,我想应该是不用定义的,
有的举例说明一下就可以了。当然如果这个概念会产生异议,我们就必须来
限定它的外延及内涵。因为我并不打算把我的这个理论搞得概念太多而影响
大家的理解,只想让最初接触它的人感觉它容易接受,而不象纯“魔方群”
那样让人感到恐惧。
     B.因本人不会玩魔方,也没有时间玩,只是对“魔方群”比较感兴趣,
突发《魔方循环变换理论》的想法,目的就是想借助这一理论,编程实现计
算机最少步还原魔方。对于很多魔方术语还不了解,可能有说的不对的地方
希望大家及时批评指正,谢谢。</P><P>    下面就以下几方面与 notabdc 探讨:
    1.对于 [把“变换 A”改称为“变换序列 A”]的问题,我在一开始就说明:
         [ 在本理论中,统一规定:
             小写字母表示步长为 1 的变换;
             大写字母表示由步长为 1 的变换构成的变换。]
    因此,加上“序列”好象意义不大,再说序列好象不太具备“旋转”的特点。
不知大家对此有何看法,该如何处理这个基本概念呢?
    2.你给出的 及 “ circle(A) 首尾无关性” 的描述
基本表现了我的意思。我对于你严谨的态度表示赞赏。
    3.“有效变换”的严格的定义,我还没有仔细想过,因为对于不同的魔方
很难给出统一的定义,比如:按钮开关可以看成最简单的魔方,设按一下为 a,
则 -a = a ,a a = 1, 单看 a a 是两次 a ,“有效”;但 a a 与 a (-a)
又是同一变换,马上就变成“无效”!因此对于“有效变换”的严格的定义,
我暂时还没想好。不知你是否能给“有效变换”下一个统一的严格的定义?</P><P>    不知大家有什么其它建议,都提出来,我们共同完善《魔方循环变换理论》,
谢谢大家!</P>

宇宙飞碟 发表于 2004-6-9 09:24:52

<FONT color=#3300ff size=3>   看样子这两天魔方吧的<FONT color=#ff00cc>人气</FONT>比以前<FONT color=#ff0000>旺</FONT>,斑竹还应感谢恩师在为你聚集人气呢!</FONT>

cube_master 发表于 2004-6-10 01:18:32

<P>是的,我在这里谢谢 <FONT color=#000066><b>ggglgq </b></FONT><FONT color=#000000>老师和各位的捧场和支持,当然还要谢谢 <b><FONT color=#000066>宇宙飞碟 </FONT></b>噢!</FONT></P>

notabdc 发表于 2004-6-11 00:00:00

<P>你前边的文字是提出了“循环变换”的概念,并且说明了它具有性质“首尾无关性”。这是万里长征第一步吧,请继续具体论述它是如何用于解决魔方问题的。</P>
<P>我个人认为,这个概念可能太特殊了。设a,b,c是一个“最小步”序列,那么如何从它构造一个“循环变换”呢?很自然的想法就是a,b,c,(-c),(-b),(-a),但是这并不是“循环变换”,因为b,c,(-c)并不是“最小步”。</P>
<P>因为从现有的文字看来,“有效变换”的含义好像有点过于宽泛,凡是现有概念包容不了的内容都被它给一口吃下去了。所以我无法猜测它到底要表达的是什么意思,请你问一下宇宙飞碟老弟他的思路,再来下个定义。</P>
[此贴子已经被作者于6/10/2004 1:13:22 PM编辑过]

宇宙飞碟 发表于 2004-6-11 11:35:48

<FONT color=#3300ff size=3>    cube_master 不必太客气!</FONT>

ggglgq 发表于 2004-6-11 17:19:28

从“不可写”到“大家写”

<P>
    cube_master 先生不必客气!</P>
<P>
    notabdc ,请问怎么不见你网站的座上客 三阶魔方软件开发者 金优
先生、五魔方软件开发者 胡波 先生 等 来这儿坐坐呢?很想和大家一起
聊聊魔方编程的问题。</P>
<P>    下面还是和大家谈谈有关 “循环变换 [集合] 的构造” 的问题吧:</P>
<P>              <FONT color=#3300ff>六、(步长为偶数的)循环变换 [集合] 的构造</FONT></P>
<P>    1.构造步长为 1 的变换 a ,设 A 为 a ,执行 5  。
    2.撤消 上一步 的构造,如果所有步长为 1 的变换都已遍历,则结束
构造循环变换;否则设撤消后的变换为 A ,执行 3 。
    3.在 A 的基础上构造下一个 步长加一 的有效变换 A ,执行 4; 若
构造不存在,则执行 2 。
      “ 例如:此时 A 为 a b c ... d ”
    4.如果 A 不是最少步,则执行 2 。
    5.如果 A 不是唯一最少步,即存在另一个与 A 不同的变换 B ,使得
A = B  [ B 可能不只一个,有几个就要执行几次 ] ,执行 6 ;否则执行 3 。
    6.设 C 为 A (-B)    [ 其中:-B 表示 B 的逐元逆变换,
                          如 B = a b c ,则 -B = (-c) (-b) (-a)  ] ,
      如果 any(circle0(C),half(C)) 都是最少步变换,则 C 为一个循环
变换,执行 7 ;否则执行 3  。
    7.让 循环变换 C 与前面(构造好的)那些循环变换比较是否相同,若
不相同则添加 循环变换 C 并保存这些(新构造的)循环变换;否则不保存
这个循环变换 C 。
    8.执行 3  。</P>
<P>
    现在的问题是魔方最少步最长的变换的长度一般都无法确定,如果确定
某一魔方最长变换的长度为 Max ,便可在 3 判断如果 length(A) &gt;=  Max ,
则执行 2  ,缩短程序运行时间。
    当然,上面的步骤只是一个最简易的“循环变换 [集合] 构造”的方法,
实际应用还要对以上八步进行优化,比如判断 7 所构造的 循环变换 是否与
前面已(构造好的)循环变换在 旋转、对称 时相同,若相同则不保存这一
循环变换等。</P>
<P>    欢迎大家在“循环变换 [集合] 的构造”的问题上进行广泛的探讨。

</P>

[此贴子已经被作者于6/17/2004 10:47:06 PM编辑过]

notabdc 发表于 2004-6-11 22:41:39

<DIV class=quote><B>以下是引用<I>ggglgq</I>在6/11/2004 5:19:28 PM的发言:</B>

<P>       notabdc ,请问怎么不见你网站的座上客 三阶魔方软件开发者 金优
先生、五魔方软件开发者 胡波 先生 等 来这儿坐坐呢?很想和大家一起
聊聊魔方编程的问题。</P>
<P>   <FONT color=#ee3d11>你可以用电子邮件请呀!</FONT></P>
<P>    下面还是和大家谈谈有关 “循环变换 [集合] 的构造” 的问题吧:</P>
<P>              <FONT color=#3300ff>六、循环变换 [集合] 的构造</FONT></P>
<P>    1.构造步长为 1 的变换 a ,设 A 为 a ,执行 5  。
    2.撤消 上一步 的构造,如果所有步长为 1 的变换都已遍历,则结束
构造循环变换;否则设撤消后的变换为 A ,执行 3 。
    3.在 A 的基础上构造下一个 步长加一 的有效变换 A ,执行 4; 若
构造不存在,则执行 2 。
      “ 例如:此时 A 为 a b c ... d ”
    4.如果 A 不是最少步,则执行 2 。</P>
<P>  <FONT color=#ee3d11>请问判定A是否是最小步具体如何执行?复杂度是多少?</FONT></P>
<P>
    5.如果 A 不是唯一最少步,即存在另一个与 A 不同的变换 B ,使得
A = B  [ B 可能不只一个,有几个就要执行几次 ] ,执行 6 ;否则执行 3 。</P>
<P>    <FONT color=#ee3d11>如何判定A是否是唯一最小步?如果不是,如何找到B?复杂度是多少?</FONT></P>
<P>
    6.设 C 为 A (-B)    [ 其中:-B 表示 B 的逐元逆变换,
                          如 B = a b c ,则 -B = (-c) (-b) (-a)  ] ,
      如果 any(circle0(C),half(C)) 都是最少步变换,则 C 为一个循环
变换,执行 7 ;否则执行 3  。</P>
<P><FONT color=#ee3d11>  同样,如何判定这些是最小步?</FONT></P>
<P>
    7.让 循环变换 C 与前面(构造好的)那些循环变换比较是否相同,若
不相同则添加 循环变换 C 并保存这些(新构造的)循环变换;否则不保存
这个循环变换 C 。
    8.执行 3  。</P>
<P>
    现在的问题是魔方最少步最长的变换的长度一般都无法确定,如果确定
某一魔方最长变换的长度为 Max ,便可在 3 判断如果 length(A) &gt;=  Max ,
则执行 2  ,缩短程序运行时间。
    当然,上面的步骤只是一个最简易的“循环变换 [集合] 构造”的方法,
实际应用还要对以上八步进行优化,比如判断 7 所构造的 循环变换 是否与
前面已(构造好的)循环变换在 旋转、对称 时相同,若相同则不保存这一
循环变换等。</P>
<P>    欢迎大家在“循环变换 [集合] 的构造”的问题上进行广泛的探讨。

</P>

</DIV>

cube_master 发表于 2004-6-12 12:03:09

<P>呵呵 原来 <b><FONT color=#000066>notabdc</FONT></b> 大名鼎鼎的“葛永”,欢迎!</P><P>希望大家在这里只是讨论魔方上的理论问题,不要附带任何个人感情。也希望有更多的人参与讨论<FONT color=#000066><b>ggglgq                </b></FONT><FONT color=#000000>老师主话题。</FONT></P>
[此贴子已经被作者于6/12/2004 1:04:03 AM编辑过]
页: 1 [2] 3 4 5 6 7 8 9 10 11
查看完整版本: [原创]魔方循环变换理论概述 (待完善)