庄周蝴蝶 发表于 2004-5-24 18:12:55

11.公式变换集合的相关运算(二探)

<P><b>11.公式变换集合的相关运算(二探)</b> </P>
<P>    让我们看看前一个章节的 c 问题,为了计算组合公式的变换集合,我们写出了七八行字,非常繁琐,能否根据两个公式的变换集合,直接得出组合公式的变换集合呢,我们一起来讨论一下。</P>
<P>    为了计算变换集合我们必须清楚每一个块位置上的块是如何变化的,当一个块位置发生变换,必定最多牵涉到三个块发生变化。 </P>
<P>    考察一个变换因子Bm&gt;Bn,其中Bm称为变化因子的<FONT color=navy>前端</FONT>,Bn称为<FONT color=navy>后端。</FONT></P>
<P>    <FONT color=navy>完整变换描述:</FONT>设有两个变换因子Bm&gt;Bn和Bn&gt;Bp,注意到Bn相同,简写为Bm&gt;Bn&gt;Bp,那么对于Bn块位置则清楚地表述了是什么地方的块到Bn块位置来,以及Bn块位置的块到什么地方去,所以我们称Bm&gt;Bn&gt;Bp为Bn块位置<FONT color=black>的完整变换描述</FONT><FONT color=navy>。</FONT><FONT color=black>其中Bm称为Bn块位置的前端,Bn称为<FONT color=navy>本端</FONT>,Bp称为Bn块位置的后端。</FONT></P>
<P><FONT color=black>    对于一个公式的变换集合,我们可以针对每一个块位置,改写成完整变换描述形式。例如:变换集合 {c1&gt;c2&gt;c7,c5&gt;c6,c4,c8,c3}可改写为 {c7&gt;c1&gt;c2,c1&gt;c2&gt;c7,c3&gt;c3&gt;c3,c4&gt;c4&gt;c4,c6&gt;c5&gt;c6,c5&gt;c6&gt;c5,c2&gt;c7&gt;c1,c8&gt;c8&gt;c8}</FONT></P>
<P>    从这个完整变换描述形式的变换集合可以看出:所有完整变换描述的前端都是唯一的,本端都是唯一的,后端都是唯一的。</P>
<P>    <FONT color=navy>完整变换定理:</FONT>设有两个公式A、B,包含了Bn块位置的完整变换描述分别为Ba1&gt;Bn&gt;Ba2,Bb1&gt;Bn&gt;Bb2,那么公式A+B将包含变换因子Ba1&gt;Bb2。</P>
<P>    证明:建立竖式求可得到的A+B相应的变换。(x为未知块位置)</P>
<P>      <FONT color=#008000>a1   a2   b1   b2   n
    </FONT><FONT color=#008000> {Ba1&gt;Bn&gt;Ba2}
    --------------------------------------------
     x     n     b1   b2   a1
    {Bb1&gt;Bn&gt;Bb2}
    --------------------------------------------
     x     n     x     a1   b1</FONT></P>
<P><FONT color=#008000> </FONT><FONT color=black>   将得到以下结果:Ba1&gt;Bb2,Ba2&gt;x,Bb1&gt;Bn&gt;Ba2,Bb2&gt;x,去除掉与x相关的项得到两个变换元素Ba1&gt;Bb2,Bb1&gt;Bn&gt;Ba2</FONT><FONT color=navy>。</FONT></P>
<P><FONT color=black>    特别注意Bb1&gt;Bn&gt;Ba2的结果,它不是一个有效的结果(这个问题也困扰了我一段时间),不是有效的原因在于:1. </FONT><FONT color=black>Bn&gt;Ba2是公式A的结果,是先执行得到的,我们可以知道Bn块位置的块到了Ba2块位置,但是在这之后公式B将Ba2块位置的块移动到了何处却不清楚。 2. Bb1&gt;Bn是公式B的结果,是后执行得到的,我们可以知道Bb1块位置的块到了Bn块位置,但是在这之前公式A将何处的块移动到了Bb1块位置上去却不清楚。</FONT></P>
<P>    相反<b>Ba1&gt;Bb2</b>却是一个确实的结果,公式A解释了是何处的块位置移动到了Bn块位置(答案是Ba1),公式B解释了Bn块位置的块移动到了何处去(答案是Bb2),在这里<b>作为本端的Bn其实充当了一个中间媒介作用</b>。</P>
<P>    注意在魔方的公式运算里不符合交换律,即A+B &lt;&gt; B+A。这里B+A将得到结果Bb1&gt;Ba2。(但好像符合结合律,即(A+B)+C = A+(B+C),未证明)</P>
<P>    <b>问题a</b>:已知两个公式A、B的变换集合分别为{c1&gt;c2&gt;c4,c6&gt;c8},{c4&gt;c3,c6&gt;c7&gt;c1},求解A+B的变换集合。</P>
<P>    这里我们对本端进行考察,首先写出两个公式的完整变换描述形式(如果足够熟练,应该可以省略这个步骤)。</P>
<P><FONT color=green>    {c4&gt;c1&gt;c2,c1&gt;c2&gt;c4,c3&gt;c3&gt;c3,c2&gt;c4&gt;c1,c5&gt;c5&gt;c5,c8&gt;c6&gt;c8,c7&gt;c7&gt;c7,c6&gt;c8&gt;c6}
    {c7&gt;c1&gt;c6,c2&gt;c2&gt;c2,c4&gt;c3&gt;c4,c3&gt;c4&gt;c3,c5&gt;c5&gt;c5,c1&gt;c6&gt;c7,c6&gt;c7&gt;c1,c8&gt;c8&gt;c8}
------------------------------------------------------------------------------------------------</FONT></P>
<P>    然后写出结果来</P>
<P> <FONT color=green> {c4&gt;c1&gt;c2,c1&gt;c2&gt;c4,c3&gt;c3&gt;c3,c2&gt;c4&gt;c1,c5&gt;c5&gt;c5,c8&gt;c6&gt;c8,c7&gt;c7&gt;c7,c6&gt;c8&gt;c6}
  {c7&gt;c1&gt;c6,c2&gt;c2&gt;c2,c4&gt;c3&gt;c4,c3&gt;c4&gt;c3,c5&gt;c5&gt;c5,c1&gt;c6&gt;c7,c6&gt;c7&gt;c1,c8&gt;c8&gt;c8}
------------------------------------------------------------------------------------------------
  {c4&gt;c6,      c1&gt;c2,       c3&gt;c4,     c2&gt;c3,       c5&gt;c5,      c8&gt;c7,      c7&gt;c1,      c6&gt;c8}</FONT></P>
<P>    将结果进行化简并排序,得到
<FONT color=green>   {c1&gt;c2&gt;c3&gt;c4&gt;c6&gt;c8&gt;c7,c5}</FONT></P>
<P>    <b>问题b</b>:已知四个公式A、B、C和D的变换集合分别为{c1&gt;c2&gt;c4},{c4&gt;c3},{c5&gt;c6&gt;c3&gt;c2},{c8&gt;c7,c4&gt;c5&gt;c1}求解A+B+C+D的变换集合。</P>
<P>    其实考察前端比考察本端可能更为方便,这里我们对前端进行考察,首先写出四个公式的完整变换描述形式,省略完整变换描述形式。</P>
<P><FONT face=宋体 color=green>  A{c1&gt;c2&gt;c4}
  B{c4&gt;c3}
  C{c5&gt;c6&gt;c3&gt;c2}
  D{c8&gt;c7,c4&gt;c5&gt;c1}
-------------------------</FONT></P>
<P>  以c1作为前端考察公式A,得到c1&gt;c2,以c2作为前端考察公式B得到c2&gt;c2,以c2作为前端考察公式C得到c2&gt;c5,以c5作为前端考察公式D得到c5&gt;c1,所以最终结果是<FONT color=green>c1&gt;c2&gt;c2&gt;c5&gt;c1 = c1&gt;c1</FONT>(这里不是变换因子,只是表达了块位置在各个公式阶段的流动过程)</P>
<P>  以c2作为前端逐步进行考察得到<FONT color=green>c2&gt;c4&gt;c3&gt;c2&gt;c2 = c2&gt;c2</FONT></P>
<P>  以c3作为前端逐步进行考察得到<FONT color=green>c3&gt;c3&gt;c4&gt;c4&gt;c5 = c3&gt;c5</FONT></P>
<P>  以c4作为前端逐步进行考察得到<FONT color=green>c4&gt;c1&gt;c1&gt;c1&gt;c4 = c4&gt;c4</FONT></P>
<P>  以c5作为前端逐步进行考察得到<FONT color=green>c5&gt;c5&gt;c5&gt;c6&gt;c6 = c5&gt;c6</FONT></P>
<P>  以c6作为前端逐步进行考察得到<FONT color=green>c6&gt;c6&gt;c6&gt;c3&gt;c3 = c6&gt;c3</FONT></P>
<P>  以c7作为前端逐步进行考察得到<FONT color=green>c7&gt;c7&gt;c7&gt;c7&gt;c8 = c7&gt;c8</FONT></P>
<P>  以c8作为前端逐步进行考察得到<FONT color=green>c8&gt;c8&gt;c8&gt;c8&gt;c7 = c8&gt;c7</FONT></P>
<P>  所以<FONT color=green>A+B+C+D = {c3&gt;c5&gt;c6,c7&gt;c8}</FONT></P>
<P><FONT color=black><b>    问题c:</b>已知公式A的变换集合为{c3&gt;c6,c5&gt;c2&gt;c1},公式B的变换集合未知,公式A+B的变换集合为{c6&gt;c7,c2&gt;c3},求解公式B的变换集合。</FONT></P>
<P>    试着推理:用问题a的方式,以c1作为前端考察流动过程,并写出完整变换描述,未知的地方用?表示。我们将得到</P>
<P>    c1&gt;c5&gt;c2     ----------- 写出c1作为前端在公式A中的完整变换描述
    ?1&gt;c5&gt;?2     ----------- 写出c5作为前端在公式B中的完整变换描述,前端后端均未知
---------------
    c1&gt;c1           ----------- 写出c1作为前端在公式A+B的变换因子,这是已知的</P>
<P>    我们可以看到这样的结果 c1&gt;c5&gt;?2 = c1&gt;c1,所以?2 = c1,公式B包含了变换因子 c5&gt;c1。</P>
<P>    <FONT color=#000080>前端定理</FONT>:设Bn&gt;Ba为公式A的一个变换因子,Bn&gt;B(a+b)为公式A+B的一个变换因子,那么公式B必然包含变换因子Ba&gt;B(a+b)。前端是指公式A和公式A+B的前端一致。</P>
<P>    了解了原理,我们可以用下面方式来解决</P>
<P>  以c1作为前端考察A,A+B得到<FONT color=green>c1&gt;c5,c1&gt;c1, 所以c5&gt;c1</FONT></P>
<P>  以c2作为前端考察A,A+B得到<FONT color=green>c2&gt;c1,c2&gt;c3, 所以c1&gt;c3</FONT></P>
<P>  以c3作为前端考察A,A+B得到<FONT color=green>c3&gt;c6,c3&gt;c2, 所以c6&gt;c2</FONT></P>
<P>  以c4作为前端考察A,A+B得到<FONT color=green>c4&gt;c4,c4&gt;c4, 所以c4&gt;c4</FONT></P>
<P>  以c5作为前端考察A,A+B得到<FONT color=green>c5&gt;c2,c5&gt;c5, 所以c2&gt;c5</FONT></P>
<P>  以c6作为前端考察A,A+B得到<FONT color=green>c6&gt;c3,c6&gt;c7, 所以c3&gt;c7</FONT></P>
<P>  以c7作为前端考察A,A+B得到<FONT color=green>c7&gt;c7,c7&gt;c6, 所以c7&gt;c6</FONT></P>
<P>  以c8作为前端考察A,A+B得到<FONT color=green>c8&gt;c8,c8&gt;c8, 所以c8&gt;c8</FONT></P>
<P>   所以公式B的变换集合为{c1&gt;c3&gt;c7&gt;c6&gt;c2&gt;c5}</P>
<P><FONT color=black><b>    问题d:</b>公式A的变换集合未知,已知公式B的变换集合为{c3&gt;c6,c5&gt;c2&gt;c1},公式A+B的变换集合为{c6&gt;c7,c2&gt;c3},求解公式A的变换集合。</FONT></P>
<P>    试着推理:用问题a的方式,以c1作为本端考察流动过程,并写出完整变换描述,未知的地方用?表示。我们将得到</P>
<P>    ?1&gt;c1&gt;?2     ----------- 写出c1作为前端在公式A中的完整变换描述,前端后端均未知
    c2&gt;c1&gt;c5     ----------- 写出c1作为前端在公式B中的完整变换描述
---------------
    c1&gt;c5           ----------- 写出c5作为后端在公式A+B的变换因子,这是已知的</P>
<P>    我们可以看到这样的结果 ?1&gt;c1&gt;c5 = c1&gt;c5,所以?1 = c1,公式A包含了变换因子 c1&gt;c1。</P>
<P>    <FONT color=#000080>后端定理</FONT>:设Bb&gt;Bn为公式B的一个变换因子,B(a+b)&gt;Bn为公式A+B的一个变换因子,那么公式A必然包含变换因子B(a+b)&gt;Bb。后端是指公式B和公式A+B的后端一致。</P>
<P>    了解了原理,我们可以用下面方式来解决</P>
<P>  以c1作为后端考察B,A+B得到<FONT color=green>c2&gt;c1,c1&gt;c1, 所以c1&gt;c2</FONT></P>
<P>  以c2作为后端考察B,A+B得到<FONT color=green>c5&gt;c2,c3&gt;c2, 所以c3&gt;c5</FONT></P>
<P>  以c3作为后端考察B,A+B得到<FONT color=green>c6&gt;c3,c2&gt;c3, 所以c2&gt;c6</FONT></P>
<P>  以c4作为后端考察B,A+B得到<FONT color=green>c4&gt;c4,c4&gt;c4, 所以c4&gt;c4</FONT></P>
<P>  以c5作为后端考察B,A+B得到<FONT color=green>c1&gt;c5,c5&gt;c5, 所以c5&gt;c1</FONT></P>
<P>  以c6作为后端考察B,A+B得到<FONT color=green>c3&gt;c6,c7&gt;c6, 所以c7&gt;c3</FONT></P>
<P>  以c7作为后端考察B,A+B得到<FONT color=green>c7&gt;c7,c6&gt;c7, 所以c6&gt;c7</FONT></P>
<P>  以c8作为后端考察B,A+B得到<FONT color=green>c8&gt;c8,c8&gt;c8, 所以c8&gt;c8</FONT></P>
<P>   所以公式B的变换集合为{c1&gt;c2&gt;c6&gt;c7&gt;c3&gt;c5}         </P>
<P><FONT face=宋体></FONT> </P>

zhangyang306wc 发表于 2009-7-1 17:49:37

mf09 mf09 mf09
页: [1]
查看完整版本: 11.公式变换集合的相关运算(二探)