我正在编写一个棋盘游戏,其中有一堆可能的棋子。每回合,玩家都会根据一定的规则从包中随机取出随机选择的碎片。
对于我的实施,可能更容易将行李最初分成一个或多个玩家的游泳池。这些游泳池将随机选择,但现在不同的玩家将从不同的行李中挑选。这有什么不同吗?
如果一个玩家的行李用完了,会有更多玩家从一般库存中随机洗牌。
答案 0 :(得分:5)
只要:
这两种方法(“原始”有一个大的普通包,“修改”,每个玩家一个游泳池包在概率方面是相同的。
在比赛结束时,只有一些球员的球袋是空的时候才会有点棘手。从100%仍然在玩的物品中挑选最公平的,因此,他们应该从他们选择的那个袋子中挑选,并且[当然盲目地]从所述袋子中挑选一件物品。
这个问题说明了概率的一个有趣特征,即概率与人们对情况的知识量相关。例如,游戏主持人可能知道分配给玩家X的“池”包不包括任何说“A”字样(考虑拼字游戏),但只要没有玩家知道这一点(并且只要分区到游泳池袋是完全随机的,游戏仍然公平,玩家“X”仍然必须假设他/她可能在下次绘制一个字母时击中“A”,就像所有剩余的字母一样他/她可以使用。
编辑:
尽管两个程序完全等效的断言的数学有效性, 感知是包含机会组件的游戏中的一个重要因素(特别是如果游戏还包括金钱成分)。为了避免不了解这种公平性的玩家的愤怒,你可能会坚持原来的程序......
答案 1 :(得分:2)
根据游戏规则,@ mjv是对的,初始随机分割不会影响概率。这类似于一个游戏,其中n个玩家从面朝下的牌组依次抽牌:牌组的初始随机分配是随机分成每个玩家的“袋子”。
但是如果你在每次抽奖后替换项目,那么只要有一个或多个包就无所谓了。对于一个包,任何特定项目最终将由具有相同概率的任何玩家绘制。对于许多行李,该物品只能由最初放入行李的玩家绘制。
弹出软件级别,如果游戏需要一个包,我建议只是这样编程:它应该不比n包更难,你不必证明新游戏相当于旧的。
答案 2 :(得分:1)
我的直觉告诉我,将随机的事物集合划分为较小的随机子集将保持同样随机...如果玩家从大型游泳池或较小游泳池中选择(无论如何,将其自身投入到大一点)
对于一个游戏,它足够随机恕我直言!
答案 3 :(得分:0)
取决于安全性的重要程度,它可能没问题(如果涉及到金钱(您或他们),请不要这样做)。从一个无知的球员的角度来看,我并不完全确定它会不那么随意。
a)不要指望他们无知,你的程序可能被破解然后他们会知道会有什么东西出现
b)以不引入漏洞的方式填充行李是非常棘手的。例如,让我们采用天真的算法,即随机选择一个并将其放入第一个桶中,将其取出,然后对第二个桶执行相同操作,依此类推。你只是确保如果有N个棋子,第一个玩家有1 / N的概率选择一个给定的棋子,第二个玩家有1 /(N-1),第三个玩家有1 /(N-3)和等等。然后玩家可以分析已经玩过的棋子,以便弄清楚其他玩家持有某些棋子的概率。
我 THINK 以下算法可能效果更好,但几乎所有人在第一次提出新算法时都会出现概率错误。不要使用它,只要明白可能涵盖我所谈到的安全漏洞:
即使这样,在所有这些之后,你仍然可能会有一个漏洞让某人知道漏洞中的内容。坚持使用组合游泳池,随机选择仍然很棘手,但它会让你的生活更轻松。
编辑:我知道这种声音听起来有些生涩。对于那些可能会在上下文中阅读并尝试其中一些算法的人来说,我大部分都包含了大胆的内容。我真的很希望你: - )
编辑2:在进一步考虑时,我认为按顺序挑选的问题可能会减少让玩家首先轮流进行。如果规则已经存在,那可能无关紧要。