用计算机画魔方的一个面,计算机求解魔方算法.pdf

计算机求解魔方算法.pdf

第 1l卷第3期 计算技术与 自动化 VoI.11 N0.3

199Z年9月 COM PUTNG TECHNOLOGY AND AUToMATl0N Sept. 199Z

计算机求解魔方算法

1一 童里塞 。堕 丁 c~/./-

(国防科技大学)

摘 要 本文借助高庆狮教授提 出的宏变换思想 .给出一个隶解崖方柏算法 .根据此算 {击,计算机可

自动求解崖方 。

关键词 苎查 墼 室窑垫.

1 引言

魔方是由一些小方块联结在一起组成的一个大立方体。太立方体六个面 ,每个面都是由九

个小方格组成的一个平面。我们把小立方块分成三种类型 :一种是位于每一面中心的,称为 “中

t:-块 ,它只露出一个面,一种是位于每个角上的。称为 “角块”,每个角块都露出三个面;还有一

种只露出两个面的小方块 ,称为 “边块”。一个魔方共有六个中心块,八个角块 .十二个边块 。

B

2 基本概念

首先介绍一下魔方的基本变换及其记号。

魔方的基本变换是每个面顺时针转动90。如图1所示 ,一个魔方

的前、后、左、右、上、下各个面分别用A,B,L,R,u,D表示。并以

A,A ,五分别表示A 面顺时针转动90,180,270。。(这时, 相

当于A面逆时针转动90。,亦等于A ),顺便指出,AⅡ表示执行变换

A,n次,类似定义 B ,Lz,Rz,u。,Dz,百,e, ,寸, 。

用 (x,Y,z)毳示魔方26个小立方体的中心其中X,Y,z∈{1,2,

3),如图2所示 。

在变换过程中,有时需要将某些小立体原地翻身或换位翻转。为

此,用 i,j,k表示面向前、右、上 ,i,j, 表示 i,j,k的相反方向。

如图3所示 。

例如 ,i—j,j—k,k—i是将原方块的前面转动到右面 ,右面转

匿2

动到上面,上面转动到前面。

一 个操作串(例如 AuRAB)是一个宏操作。一个有用的宏操作

是宏变换。例如 :DLRuLR是一个宏变换 ,能将 (3,2,1)与(1,2,

1)对换,(3,2,3)与 (1,2,3)对换,其余不变 。

3 求解过程

求解魔方的算法很多,这里我们给 出按层复杂的算法。求解

过程的粗框 图如下 :

圊3

最上层的四边块还原、模块l l

t

最上层的四角块还原、模块2 I

特原来的景上层变为最下层,慎块 3

t

第二层四十边块还原、模块4 f

特第三屠四十边块朝上的面变为与

中心块同包、{尊块 5

I

将四

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值