Algorithm 使用消息配对人的算法

Algorithm 使用消息配对人的算法,algorithm,Algorithm,想象一下,你有一群人都想从这群人中找到一个伴侣。每个人都可以向整个团队或任何特定的人发布公告。目标是尽可能让他们结对 在配对过程中,新成员可以加入该组。一旦两个人尽可能完美地配对,他们就会退出小组 每个人对其他人都有一个“分数”。在可能的情况下,人们应该与得分较高的伙伴配对。然而,更重要的是,人们找到配对,而不是那些配对是绝对最优的。例如,让两个人“临时配对”,然后稍等片刻,看看是否会有更好的伴侣出现,这是合理的;如果其中一个没有,那么正确地配对两个,它们就退出组 没有中央控制实体:所有工作都必

想象一下,你有一群人都想从这群人中找到一个伴侣。每个人都可以向整个团队或任何特定的人发布公告。目标是尽可能让他们结对

在配对过程中,新成员可以加入该组。一旦两个人尽可能完美地配对,他们就会退出小组

每个人对其他人都有一个“分数”。在可能的情况下,人们应该与得分较高的伙伴配对。然而,更重要的是,人们找到配对,而不是那些配对是绝对最优的。例如,让两个人“临时配对”,然后稍等片刻,看看是否会有更好的伴侣出现,这是合理的;如果其中一个没有,那么正确地配对两个,它们就退出组

没有中央控制实体:所有工作都必须通过在人与人之间传递消息(或向整个团队广播)来完成

这样做的最佳算法是什么

显然,我试图避免的问题是,A随机选择B并说“嘿,做我的搭档”,同时B对C说“嘿,做我的搭档”。此外,A不能只是宣布“某人是我的合作伙伴!”因为A会从每个人那里得到回复,如果B也宣布“某人是我的合作伙伴”,B是否应该回应A的宣布


这类似于,但是(a)是关于找到一个“稳定”(严格最优)的解决方案,这在我的问题中是有用的,但不是必需的,(b)它假设组的大小是固定的,并且不会改变,而我的问题允许新的参与者在“配对选举”进行时加入组。

似乎你只需要一个每双鞋的“粘或扭”权重允许“足够好”退出,想想“迪斯科舞厅的关门时间”

每个人从一些粘性系数=0开始。 首先选择一个临时合作伙伴(通过一些合理的启发式/随机散列/任何方式)

然后迭代如下内容:

  • 如果你的临时伴侣也选择了你,你就是一对
  • 如果你的临时伴侣还没有选择你,而你“足够粘”,他们仍然是你的临时伴侣
  • 如果你的临时伴侣还没有选择你,而你“不够粘”:选择另一个伴侣
  • 如果一个求婚者被困在周围,认为他们在下一轮更有吸引力。
  • 如果你还在跑步,增加你的“粘性”

  • 根据所涉及的人数,您可能能够将所有传入数据存储在一个客户机中,并在客户机广播时将其与消息一起发送。 例如:

    现在只有三个人

    广播

    B存储,{A,msg:xxx}

    B广播{A,msg:xxx}{me(B),msg:yyy}

    A存储,{B,msg:yyy}

    C存储,{A,msg:xxx},{B,msg:yyy}

    D加入,广投和得到所有人的要求

    A发回{B,msg:yyy}{me(A),msg:xxx}

    B发回{A,msg:xxx}{me(B),msg:yyy}

    C不是广角播送,所以不发送任何内容

    D处理所有传入的请求,并进行一些分析,以确定该地区可能存在的人员

    A和B匹配

    A、 B广播删除A、B

    C存储,{}


    D存储,{}

    您似乎没有给出描述配对的“优点”的方法,或者需要什么信息来确定它。例如,我可以知道我的“优点”吗“不发短信就与某人合得来?我有完美的信息吗?在这种情况下,有一些众所周知的快速网络流类型公式,它们将找到最佳的总解决方案。只要每个人“独立地”得出这个结论,就不会有问题

    知道这个善度度量是否对称也是非常重要的。分数(A,B)=分数(B,A)?如果可以建立及物性,它也很有用。但这似乎不太可能

    另一方面,如果我需要向某人发送消息以了解我们的适合程度,那么我们就有菜单类型问题。例如,如果你想从一定数量的选择中获得最大的效用,查一查,它告诉你应该在一个固定大小的菜单中尝试多少道菜

    还不清楚这是一个代表性的代理类型问题(每个人都必须使用最佳解决方案)还是一个博弈论类型的解决方案(用户应该如何最大化他们的个人分数)。例如,最好的解决方案可能是某种混合均衡,在这种均衡中,一些人传播他们的属性,而另一些人计算出他们的分数并接近最漂亮的


    这是一个有趣的问题,但我不确定它是否定义得很好。

    有趣的问题!如果你能说明你的预期用途,那么提出想法就更容易了。例如,该制度是否应该与激励相容?对于这个特殊的案例来说,这似乎很棘手。我想我不知道“激励相容”是什么意思?在博弈论中,如果你让代理人(本案中的人)决定某件事,你想防止他们“作弊”。在这种情况下,如果所有人都永远等待,害怕在他们的完美匹配出现之前建立联系,那将是一种欺骗。你想阻止这样的策略吗?我确实想阻止这样的策略,但我的计划基本上是有一个暂停:尽早(以某种方式)选择一个临时合作伙伴,尽可能地用更好的合作伙伴进行交易,在暂停结束时,无论你的临时搭档是谁,你都要跟他一起去。你提前知道暂停时间了吗?当两个人仍然不配对时,解决方案比次优配对分数更糟糕吗?同意一般概念,但请记住,没有中央权威。那么,我如何“选择临时合作伙伴”?没有我可以看的人的名单。我所能做的就是向每个人广播一条消息,或者b