n-choose-k 排列的平衡排序 - 一个类似黑客马拉松的问题

Balanced ordering of n-choose-k permutations - a hackathon like question

提问人:neuro_k 提问时间:10/31/2023 更新时间:10/31/2023 访问量:13

问:

我需要解决以下问题来研究视觉感知。

我将在 4 个位置显示 4 张图像:[L1、L2、L3、L4]。图像将始终从一组 8 个图像中绘制:[1,2,3,4,5,6,7,8]。

有 8-choose-4 = 70 种组合(顺序无关紧要),876*5 = 1680 种排列(顺序很重要)。在完整的 1680 集中,每个组合重复 24 次,每个图像在每个位置出现 210 次。

我想将 1680 个唯一排列分为 3 组:[A、B、C]。 这三个组中的每一个都应满足以下两个条件1)每组 70 种组合中的每一种都有相同的重复次数——> 8 次重复。2) 每个图像 1:8 在每个位置 L1:L4 中出现相同的次数 --> 70 次。

我使用 Matlab R2023b 创建了 1680 种排列的文件: 样本 = perms([1:8]); 排列 = unique(samples(:, 1:4), 'rows', 'stable');% 唯一排列的 1680x4 数组。

任何解决方案的尝试都受到高度赞赏:)

我尝试了两件事:

  1. 对所有排列的三分之一进行暴力随机采样,计算每个位置每个数字的频率,并希望我能偶然发现正确的排序 - 在 ~30 分钟的运行时间内不起作用。

  2. 更有希望的是,按升序排列行并注意到周期性。在第一列中,数字 1:8 重复 210 次。在第二列中,数字重复 30 次。在第三列中,数字重复 5 次。在第 4 列中,我无法完全弄清楚规则。我的想法是,我可以为 3 组选择每 3 行。这为前 2 个位置的每个位置提供了正确的分布,但它不会均衡 L3 和 L4,也不会均衡组合的重复。

组合 排列 计数 数值计算

评论


答: 暂无答案