有描述不清楚的地方还请大佬们积极提出,我会积极回答。
现有一个 5*5 矩阵 Mat
[ a11 ,a12 , a13 , a14 , a15;
a21 ,a22 , a23 , a24 , a25;
a31 ,a32 , a33 , a34 , a35;
a41 ,a42 , a43 , a44 , a45;
a51 ,a52 , a53 , a54 , a55 ]
求一个矩阵 matR ,将 mat 再排列。
要求原矩阵 mat 中的相邻元素(横竖左右撇捺)在新生成 matR 中不相邻
对每个元素 aij 设定积分 point(ij). aij 在新矩阵 matR 中距离原相邻元素距离之和为 point(ij)
例如:aij 在原矩阵 Mat 的相邻元素{a(i-1)j,a(i-1)(j-1),......... } 在新矩阵 matR 中距离这些元素的直线距离单元格数为{1 ,1 ,1 ,1 ,1 ,1 ,1 ,1} 合计为 point(ij)=8
要求在生成的 matR 中 Σpoint(ij) 最大化
发在隔壁节点没反应,所以在这重发一次
1
liplushe 2022-11-15 23:03:02 +08:00
你这问题描述怎么稀里糊涂的
|
2
qq007523 2022-11-15 23:23:11 +08:00
没看懂...
|
3
Tanix2 2022-11-15 23:28:59 +08:00
意思是把 5x5 矩阵打散,原来相邻的元素现在距离越远越好,你这个距离我没看明白,能否再解释以下
|
4
iOCZ 2022-11-15 23:29:06 +08:00
真是费解,应该搞一些符号
|
5
DIO OP @qq007523 是的,你理解的意思是对的。这个距离是我试图把这个意思量化的一个标准,不过似乎弄巧成拙了。明天画几个图再明确一下含义。比如说在新矩阵中,得出原相邻元素的坐标,计算他们横向和纵向坐标差的绝对值,两个维度求和。
我目前咨询了一些人,有一些局部最优解的方案,比如假设有一个目标矩阵,它恰好是对称的,那么对角线应当还是 i==j.那么根据规则计算对角线的情况。然后再填充上三角,根据这个推出下三角。今天晚上验证了一下,明天再具体研究一下。 |
6
Tanix2 2022-11-16 00:37:40 +08:00
首先原来相邻的现在都不相邻的矩阵是存在的
a44 a52 a34 a54 a42 a25 a11 a13 a15 a21 a23 a31 a33 a35 a43 a45 a51 a53 a55 a41 a24 a12 a32 a14 a22 然后我就不会了 |
7
whitepuppy 2022-11-16 11:38:36 +08:00
感觉可以对行操作?把每行 2 ,4 位数调换下位置,这保证了横着的不相邻,然后 1 ,2 ,3 ,4 ,5 行变为 4 ,1 ,3 ,5 ,2 ,每一行都不和之前的相邻行相邻,保证了所有的竖着的和斜着的都不相邻。
|
8
whitepuppy 2022-11-16 11:41:43 +08:00
@whitepuppy 第一步有点问题,2 ,4 调换还是改成后面那种对应
|
9
DIO OP |