如何生成长度 n 的二进制结果流,其中0和1的数量相等,但成对结果的偏差频率,即给定的交替率 k ( freq(01) + freq(10) ) / ( freq(00) + freq(11) ) = k
答案 0 :(得分:1)
生成具有以下转移概率的随机马尔可夫链:
0 1
0 1/(k+1) k/(k+1)
1 k/(k+1) 1/(k+1)
基本上,如果您刚刚生成0,则生成另一个0,概率为1 /(k + 1)
注意:如果您想保证要求,请使用以下方法
让我们假设你想要生成mk不等组合和m个相等的组合。
如果reserve_eq和reserve_uneq都为零,则在步骤4退出。输出字符串的长度为km + m + 1.