【问题标题】:birthday paradox fastest search生日悖论最快搜索
【发布时间】:2015-06-24 12:48:24
【问题描述】:

生日问题或生日悖论预测一组 N 人中一个或多个匹配生日的可能性。有几个网站解释了它的工作原理,以及它背后的数学原理:

  1. https://en.wikipedia.org/wiki/Birthday_problem
  2. https://math.stackexchange.com/questions/25876/probability-of-3-people-in-a-room-of-30-having-the-same-birthday
  3. http://www.wolframalpha.com/input/?i=birthday+problem+calculator&a=FSelect_**BirthdayProblem-.dflt-&f2=35&f=BirthdayProblem.n_35&f3=365&f=BirthdayProblem.pbds_365

这些网站都非常适合解释这个概念,但都要求已经收集了数据。没有人展示如何有效地调查一大群人。

我打算在一个简短的演示文稿中演示生日悖论。基本上,我需要最快的方法来确定在大约 50 人的观众中哪些人共享或几乎共享生日。

我能想到的最好的算法:

  1. 让所有人想一想他们的生日,只是月和日(如果他们不愿意分享自己的真实生日,也可以是虚构的生日)
  2. 请所有人仔细聆听
  3. 要求个人开始向小组宣布他们的生日并聆听他们的比赛

在最坏的情况下,所有人都会按顺序宣布他们的生日,而没有任何人匹配。感觉就像我忽略了一些更快地找到答案的捷径,而不是蛮力方法。

我考虑过的替代方案:

• 将观众分成两组?不,这会阻止人们听到其他群体的回应

• 如果没有人中途匹配,则在观众中植入一个人以与某人“分享”他们的生日?不,这是作弊

• 传递一年的日历和标记?不,这可能比说话要花更长的时间

• 在线调查?不,人们可能没有手机或 WIFI

解决方案必须是低技术含量的,在没有事先准备的情况下完成,当然还要诚实。

请告诉我您对快速搜索匹配生日的建议。

谢谢!

【问题讨论】:

  • 我投票结束这个问题,因为它与编程无关。
  • @duffymo 我不知道。它似乎在寻找一种算法来发现生日碰撞。
  • 我知道他在找什么。题外话。算法清晰。

标签: search math survey birthday-paradox


【解决方案1】:
  • 从每个人就座开始。
  • 在生日那天 (1-31) 之前,请所有在一个月 1 日出生的人站起来。
  • 如果有人举手,请让他们举手,因为你称他们的月份是……一月……如果有人举手,请让他们坐下。如果两个人举手,你就完了。
  • 继续... 二月、三月等。要求站立的人听到他们的月份时举手,当你认出他们时坐下
  • 完成后,继续到每月的 2 号、3 号等。

通过让人们在他们的日子站起来,并在他们的月份举手,您可以快速确定 2 个匹配的生日。您还可以快速跳过没有匹配生日的日子。

【讨论】:

    【解决方案2】:

    逐月进行。让那个月过生日的人举手拜访他们。您可以使用短期记忆来识别每个月的短列表中的重复数字,而大多数人无法在 30 个日期的列表中识别重复的日期。即使你做得不够完美,观众也会有所帮助。

    如果您不想花时间冒险失败或不合作的听众,请尝试使用准备好的已知生日长度大约合适的人名单,美国总统说。 (Polk and Harding were born November 2nd.)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多