魔方吧·中文魔方俱乐部

 找回密码
 注册
搜索
热搜: 魔方
查看: 10789|回复: 12
打印 上一主题 下一主题

一种数学模型的后续改进(分块阵、数学) [复制链接]

Rank: 1

积分
57
帖子
20
精华
0
UID
1352167
跳转到指定楼层
1#
发表于 2021-2-2 23:14:15 |只看该作者 |倒序浏览
以前我尝试将魔方的转动写成分块矩阵相乘,请看我的另一篇帖子,大致方法如下:将魔方中块可以存在的位置和分块矩阵中的子矩阵对应,多余的子矩阵写成单位阵。改变子矩阵中的信息即表示魔方对应位置的颜色块发生了改变,进而通过改变对应的多个子矩阵信息模拟魔方转动。预先的设想中,魔方的所有状态都可以表示为一个初始矩阵加六个变换矩阵的组合,显然是我低估了魔方的难度,并且这些缺陷不能通过块的编码方式来弥补。

这是我对模型改进的初步设想:
魔方的转动表示为块的位置和朝向发生了变化,每个块对应一个子矩阵,子矩阵的信息表示该块所处的位置和朝向(朝向如何用参数表示还未确定,可参考上篇使用块位于默认面的颜色的编号表示,需要考虑魔方绕不同坐标轴的转动对块的朝向的影响,我还没找到合适的编码方式)。模拟转动需要两个步骤 ,第一步先找到需要改变位置的块所对应的子矩阵位置(例如转动顶面时,需要改变的是所有位置信息中纵坐标为1的所有子矩阵)。第二步对魔方转动所对应的矩阵中子矩阵的位置做出相应调整。这种方法所产生的变换矩阵的子矩阵形式是相同的的,只需在运算时预先调整子矩阵位置。考虑实际运用中对转动对应的矩阵的数量和形式都有要求,块的朝向如何表示也是一个难题。
下面是一个初步方案(三阶为例)
1、中心不可见块为坐标原点,位置信息为坐标,朝向信息待定。
2、所有信息写为对角阵,即所需记录块位置和朝向信息的子矩阵。
2、拼成分块阵并添加多余子矩阵使其为方阵。多余子矩阵写为单位矩阵,以确保魔方任何状态下表示方式可逆。
3、将子矩阵与各个颜色块对应
4、这里有个问题,“选出需要变换的子矩阵”怎样转换成数学语言

没有头绪的时候总要找点事做,希望这些东西对你有所帮助。在我看来分块矩阵非常适合模拟魔方的转动,当然这是以我的水平做出的判断。本人不是数学专业学生,希望在今后的专业学习中还会接触更多的数学知识,并应用到魔方上。也欢迎各位指出上述方法的缺陷、改进方案或者不可行的原因。

后续会完成模型并进行检验
已有 1 人评分经验 收起 理由
cube_master + 12 赞一个!

总评分: 经验 + 12   查看全部评分

Rank: 3Rank: 3

积分
802
帖子
574
精华
2
UID
1347349
性别
兴趣爱好
破解

两年元老 四年元老 六年元老

2#
发表于 2021-2-3 08:48:38 |只看该作者
需要有深的数学基础才能看懂!

使用道具 举报

Rank: 2

积分
350
帖子
652
精华
1
UID
112
性别

十四年元老 十年元老 十二年元老 十八年元老 十六年元老 二十年元老

3#
发表于 2021-2-3 09:07:01 |只看该作者
楼主的理论一直在进步,保持关注!

使用道具 举报

Rank: 1

积分
57
帖子
20
精华
0
UID
1352167
4#
发表于 2021-2-4 01:39:54 |只看该作者
本帖最后由 zhzhanzy 于 2021-2-4 18:34 编辑

小伙子想法不错,我指出一个缺陷。矩阵的乘法可以交换顺序,但魔方不能。哇,致命一击{自杀失败,这里是错误的,一般矩阵乘法不可交换。注意是指一般情况下AB≠BA}所以纯粹的用矩阵运算不可能实现。如果你早点发现,上次也不会做的那么幼稚。说得对,当时被分块矩阵运算性质冲昏了头脑
hint:魔方块所处的状态一定会影响转动所对应矩阵的形式,考虑一下两个进程,或者每次转动对应为BC([所处状态的调整矩阵]·[转动对应变换矩阵])
但是这样做之后模型还有存在的意义吗?

使用道具 举报

Rank: 2

积分
350
帖子
652
精华
1
UID
112
性别

十四年元老 十年元老 十二年元老 十八年元老 十六年元老 二十年元老

5#
发表于 2021-2-4 08:53:29 |只看该作者
zhzhanzy 发表于 2021-2-4 01:39
小伙子想法不错,我指出一个缺陷。矩阵的乘法可以交换顺序,但魔方不能。哇,致命一击,所以纯粹的用矩阵 ...

矩阵乘法可以交换顺序?只有特定的矩阵才可以吧。

使用道具 举报

Rank: 1

积分
57
帖子
20
精华
0
UID
1352167
6#
发表于 2021-2-4 18:08:44 |只看该作者
xwfh2000 发表于 2021-2-4 08:53
矩阵乘法可以交换顺序?只有特定的矩阵才可以吧。

我当时在想什么啊。。。。。。

使用道具 举报

Rank: 1

积分
57
帖子
20
精华
0
UID
1352167
7#
发表于 2021-2-4 18:24:07 |只看该作者
本帖最后由 zhzhanzy 于 2021-2-4 18:29 编辑

矩阵运算的顺序,我想的可能是ABCDEF=A(BCDEF),然后和交换顺序想乱了。         如果魔方真的写成了矩阵形式,转动对应矩阵就可以先乘起来,然后单独研究几个转动的组合。如果转动对应矩阵受魔方的状态的影响,这就不能用了。

使用道具 举报

Rank: 1

积分
55
帖子
47
精华
0
UID
1351465
性别
保密
8#
发表于 2021-2-7 12:52:02 来自手机 |只看该作者
分两步走吧,先还原位置,再改变朝向

使用道具 举报

Rank: 7Rank: 7Rank: 7

积分
2239
帖子
350
精华
20
UID
1344698

魔方理论探索者 魔方破解达人 两年元老 四年元老

9#
发表于 2021-2-9 17:02:42 |只看该作者
通过矩阵表现,的确是一个好想法,不过我觉得,这个表示法不仅仅要能够表现出块的状态,还要能从这种表示当中找到复原的规律。加油吧

使用道具 举报

Rank: 1

积分
57
帖子
20
精华
0
UID
1352167
10#
发表于 2021-2-20 01:43:11 |只看该作者
jjuudydy 发表于 2021-2-9 17:02
通过矩阵表现,的确是一个好想法,不过我觉得,这个表示法不仅仅要能够表现出块的状态,还要能从这种表示当 ...

表示出块的状态,,,,,,为什么要用数学表示?如果我用汉语,【红黄块在白、蓝中心快之间】这句话和数学表示一样的准确,而且更容易让别人听懂。
想用矩阵自然是因为它有可能解决问题,而且可能性很大,你要问多大可能,我可以肯定的说、很大。有多大?那么大。那么大是多大?看这,就像这么大。那是什么问题?很多问题,这个多是?对,就那么多。

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|魔方吧·中文魔方俱乐部

GMT+8, 2024-11-21 22:04

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部