00101010010101
),预测该序列将如何继续。请问有人可以告诉我最简单的方法吗?或者对于那些几乎无法在计算机上玩纸牌游戏的人来说,有人可以告诉我从哪里开始入门吗?
PS:这种技术能用于预测下一个电子轮盘号码的颜色吗(例如:将1
和0
分别指定为红色和黑色)?00101010010101
),预测该序列将如何继续。请问有人可以告诉我最简单的方法吗?或者对于那些几乎无法在计算机上玩纸牌游戏的人来说,有人可以告诉我从哪里开始入门吗?
PS:这种技术能用于预测下一个电子轮盘号码的颜色吗(例如:将1
和0
分别指定为红色和黑色)?先回答PS:不行,因为轮盘赌的旋转是独立事件,历史结果序列中没有任何预测性。
一般问题很难而且有趣。 这个网站可以从它们的初始值推断出惊人数量的序列:
http://www.research.att.com/~njas/sequences/
注意,这适用于任意整数序列。对于伪随机序列,唯一的可能性是计算每种可能性之前出现的次数。如果1的数量超过0,那么下一个数字更有可能是0。这种可能性取决于每个数字相对出现的频率。
请注意,这对于真正的随机性不起作用,因为事件是独立的,尽管统计学家告诉你的是相反的:-)
当你使用轮盘赌的双倍投注法时,第一次在桌子上连续出现13个红色时,你会痛苦地发现这一点。无论如何,庄家从0(在某些桌子上还有双重0)中获得了优势,它们既不是红色也不是黑色。
这是一个不错的问题,但如果“你连纸牌都玩不好”,那么现在可能还达不到你的水平。
你应该考虑学习一门基础语言,大多数人会说PHP,但我不太敢向初学者推荐它(不过它很容易上手,可以看看XAMPP)。Java可能是一种“易于上手和使用”的语言,但我相信这里有更好的帖子讨论从哪种语言开始入门(Python或其他语言可能因为经验丰富的程序员喜欢它而获胜)。
顺便说一下,你的英语很好(我没有注意到你是非母语的英语说话者)。
现在,关于你的问题,如果你正在寻找真正的模式匹配。我倾向于将这个想法转化为代码:
"CURRENTPOINT" is end of first letter.
LOOP: Pick letter(s) from Start to "CURRENTPOINT"
Break the rest of your binary string into blocks of the same size.
See if these blocks all equal your picked letters.
If not, move "CURRENTPOINT" along and repeat the LOOP until you run out of letters.
If so, you have your "repeating section."
如果你只是猜测随机生成器暂时存在偏差,并且这种偏差会在相当短的时间内重新建立基线(平衡的0和1),那么你可以比较每个0和1的计数,并根据与基线的偏差来判断另一个更有可能。但是,要小心蒙特卡罗谬误。
我注意到没有人告诉你关于周期性的事情。
伪随机序列总是基于数学运算的。 (直到量子计算机^^)
生成这种序列的一种常见方法是将两个质数相除(不确定这是否是正确的术语,但无论如何)。
例如
1/3=1.333333.....
9/7=1,2857142857142857142857142857143
这些数字相当小,我们注意到了什么?周期性。
1/3=1.3 3 3 3 3 3.....
9/7=1,2857 142857 142857 142857 142857 143
质数越大,序列就越大。例如:3和142857是很大的。
因此,如果您长时间查看伪随机序列,您可能会发现周期性并能够“猜测”下一个数字。但这可能需要一段时间。
附注:对不起我的英语有点生疏^^