实现一个m x n矩阵的排列组合算法
  • 板块学术版
  • 楼主vinyf
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/5/4 19:47
  • 上次更新2023/10/23 16:40:05
查看原帖
实现一个m x n矩阵的排列组合算法
633772
vinyf楼主2023/5/4 19:47
如图为4x4的矩阵
1234
5678
9101112
13141516
组合1: 1,2,3,4

组合2: 1,2,3,8

组合3: 5,6,7,8

每个组合都向历史生成的组合进行比较,得出重复的数字个数.

如组合1的前面没有历史组合,那么它的重复率为0,组合2和组合1对比,重复的数字有1,2,3,重复率为3/4=0.75,组合3和组合1,组合2进行比较,重复数字为8,即1/4=0.25,但这种排列不是最优排列,如果组合3先进行排列,那么只和组合1进行比较,没有重复数字,即重复率也是0

组合排列按从左到右顺序排列,即列1->列2->列3-列4的选其中一个数字进行组合

4x4的全排序组合有4的4次方,即256个组合,根据推算最优算法的排序为:	
重复率公式数量
04x14
0.254x4-4x112
0.54x4x4-4x448
0.754x4x4x4-4x4x4192

求m x n矩阵的最优组合(按重复率从低到高进行排序)排列

附:4x4的最优组合排序的列表-

[0 1 2 3] rate:0.000000

[4 5 6 7] rate:0.000000

[8 9 10 11] rate:0.000000

[12 13 14 15] rate:0.000000

[0 5 10 15] rate:0.250000

[4 1 14 11] rate:0.250000

[8 13 2 7] rate:0.250000

[12 9 6 3] rate:0.250000

[0 9 14 7] rate:0.250000

[4 13 10 3] rate:0.250000

[8 1 6 15] rate:0.250000

[12 5 2 11] rate:0.250000

[0 13 6 11] rate:0.250000

[4 9 2 15] rate:0.250000

[8 5 14 3] rate:0.250000

[12 1 10 7] rate:0.250000

[0 1 6 7] rate:0.500000

[4 5 2 3] rate:0.500000

[8 9 14 15] rate:0.500000

[12 13 10 11] rate:0.500000

[0 5 2 7] rate:0.500000

[4 1 6 3] rate:0.500000

[8 13 10 15] rate:0.500000

[12 9 14 11] rate:0.500000

[0 9 2 11] rate:0.500000

[4 13 6 15] rate:0.500000

[8 1 10 3] rate:0.500000

[12 5 14 7] rate:0.500000

[0 13 2 15] rate:0.500000

[4 9 6 11] rate:0.500000

[8 5 10 7] rate:0.500000

[12 1 14 3] rate:0.500000

[0 1 10 11] rate:0.500000

[4 5 14 15] rate:0.500000

[8 9 2 3] rate:0.500000

[12 13 6 7] rate:0.500000

[0 5 6 3] rate:0.500000

[4 1 2 7] rate:0.500000

[8 13 14 11] rate:0.500000

[12 9 10 15] rate:0.500000

[0 9 6 15] rate:0.500000

[4 13 2 11] rate:0.500000

[8 1 14 7] rate:0.500000

[12 5 10 3] rate:0.500000

[0 13 10 7] rate:0.500000

[4 9 14 3] rate:0.500000

[8 5 2 15] rate:0.500000

[12 1 6 11] rate:0.500000

[0 1 14 15] rate:0.500000

[4 5 10 11] rate:0.500000

[8 9 6 7] rate:0.500000

[12 13 2 3] rate:0.500000

[0 5 14 11] rate:0.500000

[4 1 10 15] rate:0.500000

[8 13 6 3] rate:0.500000

[12 9 2 7] rate:0.500000

[0 9 10 3] rate:0.500000

[4 13 14 7] rate:0.500000

[8 1 2 11] rate:0.500000

[12 5 6 15] rate:0.500000

[0 13 14 3] rate:0.500000

[4 9 10 7] rate:0.500000

[8 5 6 11] rate:0.500000

[12 1 2 15] rate:0.500000

[0 1 2 7] rate:0.750000

[4 5 6 3] rate:0.750000

[8 9 10 15] rate:0.750000 [12 13 14 11] rate:0.750000 [0 5 10 3] rate:0.750000 [4 1 14 7] rate:0.750000 [8 13 2 11] rate:0.750000 [12 9 6 15] rate:0.750000 [0 9 14 3] rate:0.750000 [4 13 10 7] rate:0.750000 [8 1 6 11] rate:0.750000 [12 5 2 15] rate:0.750000 [0 13 6 3] rate:0.750000 [4 9 2 7] rate:0.750000 [8 5 14 11] rate:0.750000 [12 1 10 15] rate:0.750000 [0 1 6 3] rate:0.750000 [4 5 2 7] rate:0.750000 [8 9 14 11] rate:0.750000 [12 13 10 15] rate:0.750000 [0 5 2 3] rate:0.750000 [4 1 6 7] rate:0.750000 [8 13 10 11] rate:0.750000 [12 9 14 15] rate:0.750000 [0 9 2 3] rate:0.750000 [4 13 6 7] rate:0.750000 [8 1 10 11] rate:0.750000 [12 5 14 15] rate:0.750000 [0 13 2 3] rate:0.750000 [4 9 6 7] rate:0.750000 [8 5 10 11] rate:0.750000 [12 1 14 15] rate:0.750000 [0 1 10 3] rate:0.750000 [4 5 14 7] rate:0.750000 [8 9 2 11] rate:0.750000 [12 13 6 15] rate:0.750000 [0 5 6 7] rate:0.750000 [4 1 2 3] rate:0.750000 [8 13 14 15] rate:0.750000 [12 9 10 11] rate:0.750000 [0 9 6 3] rate:0.750000 [4 13 2 7] rate:0.750000 [8 1 14 11] rate:0.750000 [12 5 10 15] rate:0.750000 [0 13 10 3] rate:0.750000 [4 9 14 7] rate:0.750000 [8 5 2 11] rate:0.750000 [12 1 6 15] rate:0.750000 [0 1 14 3] rate:0.750000 [4 5 10 7] rate:0.750000 [8 9 6 11] rate:0.750000 [12 13 2 15] rate:0.750000 [0 5 14 3] rate:0.750000 [4 1 10 7] rate:0.750000 [8 13 6 11] rate:0.750000 [12 9 2 15] rate:0.750000 [0 9 10 7] rate:0.750000 [4 13 14 3] rate:0.750000 [8 1 2 15] rate:0.750000 [12 5 6 11] rate:0.750000 [0 13 14 7] rate:0.750000 [4 9 10 3] rate:0.750000 [8 5 6 15] rate:0.750000 [12 1 2 11] rate:0.750000 [0 1 2 11] rate:0.750000 [4 5 6 15] rate:0.750000 [8 9 10 3] rate:0.750000 [12 13 14 7] rate:0.750000 [0 5 10 7] rate:0.750000 [4 1 14 3] rate:0.750000 [8 13 2 15] rate:0.750000 [12 9 6 11] rate:0.750000 [0 9 14 11] rate:0.750000 [4 13 10 15] rate:0.750000 [8 1 6 3] rate:0.750000 [12 5 2 7] rate:0.750000 [0 13 6 7] rate:0.750000 [4 9 2 3] rate:0.750000 [8 5 14 15] rate:0.750000 [12 1 10 11] rate:0.750000 [0 1 6 11] rate:0.750000 [4 5 2 15] rate:0.750000 [8 9 14 3] rate:0.750000 [12 13 10 7] rate:0.750000 [0 5 2 11] rate:0.750000 [4 1 6 15] rate:0.750000 [8 13 10 3] rate:0.750000 [12 9 14 7] rate:0.750000 [0 9 2 7] rate:0.750000 [4 13 6 3] rate:0.750000 [8 1 10 15] rate:0.750000 [12 5 14 11] rate:0.750000 [0 13 2 7] rate:0.750000 [4 9 6 3] rate:0.750000 [8 5 10 15] rate:0.750000 [12 1 14 11] rate:0.750000 [0 1 10 7] rate:0.750000 [4 5 14 3] rate:0.750000 [8 9 2 15] rate:0.750000 [12 13 6 11] rate:0.750000 [0 5 6 11] rate:0.750000 [4 1 2 15] rate:0.750000 [8 13 14 3] rate:0.750000 [12 9 10 7] rate:0.750000 [0 9 6 7] rate:0.750000 [4 13 2 3] rate:0.750000 [8 1 14 15] rate:0.750000 [12 5 10 11] rate:0.750000 [0 13 10 11] rate:0.750000 [4 9 14 15] rate:0.750000 [8 5 2 3] rate:0.750000 [12 1 6 7] rate:0.750000 [0 1 14 7] rate:0.750000 [4 5 10 3] rate:0.750000 [8 9 6 15] rate:0.750000 [12 13 2 11] rate:0.750000 [0 5 14 7] rate:0.750000 [4 1 10 3] rate:0.750000 [8 13 6 15] rate:0.750000 [12 9 2 11] rate:0.750000 [0 9 10 11] rate:0.750000 [4 13 14 15] rate:0.750000 [8 1 2 3] rate:0.750000 [12 5 6 7] rate:0.750000 [0 13 14 11] rate:0.750000 [4 9 10 15] rate:0.750000 [8 5 6 3] rate:0.750000 [12 1 2 7] rate:0.750000 [0 1 2 15] rate:0.750000 [4 5 6 11] rate:0.750000 [8 9 10 7] rate:0.750000 [12 13 14 3] rate:0.750000 [0 5 10 11] rate:0.750000 [4 1 14 15] rate:0.750000 [8 13 2 3] rate:0.750000 [12 9 6 7] rate:0.750000 [0 9 14 15] rate:0.750000 [4 13 10 11] rate:0.750000 [8 1 6 7] rate:0.750000 [12 5 2 3] rate:0.750000 [0 13 6 15] rate:0.750000 [4 9 2 11] rate:0.750000 [8 5 14 7] rate:0.750000 [12 1 10 3] rate:0.750000 [0 1 6 15] rate:0.750000 [4 5 2 11] rate:0.750000 [8 9 14 7] rate:0.750000 [12 13 10 3] rate:0.750000 [0 5 2 15] rate:0.750000 [4 1 6 11] rate:0.750000 [8 13 10 7] rate:0.750000 [12 9 14 3] rate:0.750000 [0 9 2 15] rate:0.750000 [4 13 6 11] rate:0.750000 [8 1 10 7] rate:0.750000 [12 5 14 3] rate:0.750000 [0 13 2 11] rate:0.750000 [4 9 6 15] rate:0.750000 [8 5 10 3] rate:0.750000 [12 1 14 7] rate:0.750000 [0 1 10 15] rate:0.750000 [4 5 14 11] rate:0.750000 [8 9 2 7] rate:0.750000 [12 13 6 3] rate:0.750000 [0 5 6 15] rate:0.750000 [4 1 2 11] rate:0.750000 [8 13 14 7] rate:0.750000 [12 9 10 3] rate:0.750000 [0 9 6 11] rate:0.750000 [4 13 2 15] rate:0.750000 [8 1 14 3] rate:0.750000 [12 5 10 7] rate:0.750000 [0 13 10 15] rate:0.750000 [4 9 14 11] rate:0.750000 [8 5 2 7] rate:0.750000 [12 1 6 3] rate:0.750000 [0 1 14 11] rate:0.750000 [4 5 10 15] rate:0.750000 [8 9 6 3] rate:0.750000 [12 13 2 7] rate:0.750000 [0 5 14 15] rate:0.750000 [4 1 10 11] rate:0.750000 [8 13 6 7] rate:0.750000 [12 9 2 3] rate:0.750000 [0 9 10 15] rate:0.750000 [4 13 14 11] rate:0.750000 [8 1 2 7] rate:0.750000 [12 5 6 3] rate:0.750000 [0 13 14 15] rate:0.750000 [4 9 10 11] rate:0.750000 [8 5 6 7] rate:0.750000 [12 1 2 3] rate:0.750000

2023/5/4 19:47
加载中...