相关疑难解决方法(0)

在每行和每列中具有两个非相邻非零的等概率随机二元矩阵的算法

如果有人能指出我允许我的算法,那会很棒:

  1. 创建一个随机的方阵,条目为0和1,这样就可以了
  2. 每一行和每一列恰好包含两个非零项,
  3. 两个非零条目不能相邻,
  4. 所有可能的矩阵都是等概率的.

现在我设法实现以下第1点和第2点:这样的矩阵可以使用合适的行和列排列转换为具有块形式的对角块矩阵

1 1 0 0 ... 0
0 1 1 0 ... 0
0 0 1 1 ... 0
.............
1 0 0 0 ... 1
Run Code Online (Sandbox Code Playgroud)

所以我使用[0,...,n-1]的分区从这样的矩阵开始,并通过随机排列行和列来加扰它.不幸的是,我找不到一种方法来整合邻接条件,我很确定我的算法不会平等对待所有矩阵.

更新

我已经设法达到了第3点.答案实际上就在我的鼻子底下:我正在创建的块矩阵包含考虑邻接条件所需的所有信息.首先是一些属性和定义:

  • 一个合适的矩阵定义[1, ..., n]了可以这样构建的排列:选择一行1 1.包含此条目的列恰好包含另一个条目,该条目在a不同于1的行上等于1.同样,行a包含列中的另一个条目1,其中包含行上的第二个条目1 b,依此类推.这开始了一种排列1 -> a -> b ....

例如,使用以下矩阵,从标记的条目开始

v
1 0 1 0 0 0 | 1
0 1 0 0 0 1 | 2
1 0 0 1 0 0 | 3 …
Run Code Online (Sandbox Code Playgroud)

random algorithm matrix

18
推荐指数
2
解决办法
826
查看次数

第N组合

是否有直接的方法来获得nCr的所有组合的有序集合的第N个组合?

示例:我有四个元素:[6,4,2,1].通过一次取三个所有可能的组合将是:[[6,4,2],[6,4,1],[6,2,1],[4,2,1]].

有没有一个算法可以在有序的结果集中给出我的第三个答案,[6,2,1],而不需要列举所有以前的答案?

math statistics probability combinatorics

14
推荐指数
3
解决办法
4849
查看次数

如何计算给定排列的词典排名

例如,房间里有6把椅子,有4个女孩和2个男孩.他们可以坐在这把椅子上,有15种独特的方式6!/(4!*2!)=15.

我的问题是找到有效的方法来计算他们选择坐的可能性的位置.按位置我的意思是:

BBGGGG - possible position #1
BGBGGG - possible position #2
BGGBGG - possible position #3
BGGGBG - possible position #4
BGGGGB - possible position #5
GBBGGG - possible position #6
GBGBGG - possible position #7
GBGGBG - possible position #8
GBGGGB - possible position #9
GGBBGG - possible position #10
GGBGBG - possible position #11
GGBGGB - possible position #12
GGGBBG - possible position #13
GGGBGB - possible position #14
GGGGBB - possible position #15
Run Code Online (Sandbox Code Playgroud)

例如,他们选择位置 …

language-agnostic algorithm math permutation combinatorics

8
推荐指数
1
解决办法
1367
查看次数