1

首先,我想让您知道,我已经寻找了几天的答案或可能对我有所帮助的东西,但我找不到任何东西,所以我在这里问。

我的 Java 代码中有:

包含 50 个对象的数组列表。
随机 X 和 Y 元素放入 arraylist 中的每个对象。
检查是否有重复的方法。

所以基于重复的数量(不确定这部分,但我认识的其他人似乎这样做)我需要计算在 400 个瓷砖/选择的世界中至少 2 个对象具有相同坐标的概率(20x20 )。我的代码中尚不存在 400 个图块的世界,但我必须通过考虑这一点来计算它。

至少有一个重复的概率应该是 0.95xx。

所以我知道我必须计算没有重复的概率并执行:(1 - P(NoDupes))。但是我如何计算 P(NoDupes)?

提前致谢

4

2 回答 2

1

提示:将此问题视为从一组 400 个元素中抽取元素并进行替换。二维坐标让人分心。

然后计算 1 - P(NO DUPES) - P(1 DUPE) - P(2 DUPES)

于 2013-09-13T16:38:30.537 回答
0

读了几次之后,我想你要问的是:

给定一个 20x20 的网格,插入 50 个随机点时至少发生一次碰撞的概率是多少?

如果这确实是您要问的,那么提出答案的一种简单方法是通过以下逻辑:

第一个对象不能与任何东西发生碰撞,因为它是第一个。所以这里没有碰撞的几率是400/400 = 1。
第二个物体只能和第一个物体发生碰撞。所以没有碰撞的机会是399/400。
第三个对象可以与第一个或第二个碰撞。所以这里的机会是 398/400。
...
第 n 个对象可以与之前的 n-1 个对象中的任何一个发生碰撞。所以这里的机会是 (400-(n-1))/400 (或者如果 n 大于 400,机会只是 0)。

那么 n 个对象没有碰撞的机会就是乘积 (400/400)(399/400)...((400-(n-1))/400)
那么至少发生一次碰撞的机会就是你正确地说 1 - P(无碰撞)。

于 2013-09-13T17:31:25.323 回答