游戏如下。两个玩家正在玩游戏,球员1和玩家2,其中第一名玩家通过命名一个Hero $ h_1 $ ,然后播放器2与恶棍 $ v_1 $ 谁在带 $ h_1 $ 的电影中播放。然后,玩家1与另一个英雄 $ h_2 $ 返回,谁在电影中与 $ v_1 $ 一起播放,等等。每个英雄和恶棍都可以最多使用一次。第一个不能命名任何角色的球员(可用的英雄/恶棍没有常见的电影,其中包含其他玩家的最后选择),失去了游戏。玩家1始终开始游戏。

输入是一组英雄 $ h $ ,一组恶果 $ v $ $ | h |= | v | \ geq 1 $ )和一系列电影 $ m $ ,每部电影都是一部在那部电影中出现的英雄和恶棍。

问题是:可以基于 $ h $ $ v $ $ m $ ,决定哪个玩家赢得游戏假设两个玩家正在最佳播放?


示例:

鉴于以下数据:英雄是 Iron Man Captain America Thor Spider-Man 。恶棍是鞭打 Ultron Thanos 秃鹰。这部电影是复仇者:无限战争(星星钢铁侠,美国船长,雷切和蜘蛛侠)和蜘蛛侠:Homecoming (Stars Iron Man,Vulture和Staring)蜘蛛侠)。你可以决定哪个玩家有胜利策略?


我的方法是使用最大的二分体匹配来了解哪个玩家具有胜利策略,因为我们可以用两组分割数据,即 $ h $ $ v $ 并在这两组之间具有关系。 HopCroft-Karp算法可以采用两种这样的组,找出最大基数。如果我错了,请纠正我:在有一个完美匹配的情况下,玩家2赢,否则玩家1胜。每当有一个完美的匹配时,它意味着玩家2一直对球员1命名的英雄答案。

你怎么解决这个问题?是否有更好,更高效的解决方案,而不是一些最大的二分匹配。

有帮助吗?

解决方案

短答案是,如果相应的图表承认“封面”设置 $ h $


这里有点解释。

你的想法几乎是正确的。但是,证明不直观,如果您需要设计一个理论问题,或者您需要设计精确的获胜策略,并且不仅输出获胜播放器,您可能会错过您需要的一些细节。

所以让我们从答案中遗漏的部分开始。假设给定实例对应于承认完美匹配的图表。根据您的策略,播放器2在这种情况下赢得了正确的。现在假设相同的例子是一个更有恶棍或10个更大的恶棍或一千个。显然,员工两个仍然赢得了因为我们为他们分配的恶棍而赢得了胜利,只有帮助第二个玩家。所以你的索赔并不总是保持。但是,您的答案非常接近我的索赔,并具有相同的直觉。它只是缺少一点形式。

索赔。假设两个玩家在最佳播放,如果才能才能赢得一个实例 $ i $ ,相应的图不承认匹配饱和set $ h $

所以这是什么意思?匹配饱和一组顶点 $ s $ ,如果 $ s $ 是事件到a的每个顶点匹配中的顶点。 现在我们证明了索赔。当图表承认饱和Set $ H $ 和两个用于播放器时,当图表不承认这种匹配时,我们展示了两个获胜策略。

证明。现在假设图表承认这样的匹配。让此匹配是 $ m $ 。该战略如下。只要玩家一个没有丢失,对于每次选择 $ h \以h $ 为玩家,选择 $ v \在V $ 中,顶点匹配 $ h $ $ m $

直接从播放器两个顶点唯一且邻近玩家的选择(由于匹配的属性)的事实遵循。直观地,球员在某些时候会耗尽移动(可能在设置的所有英雄之后 $ h $ )。

现在假设图表不承认匹配饱和 $ h $ ,根据HALL的定理,有一个子集 $ a \ subseteq h $ ,这样 $ | n(a)| <$ 。选择一个最小的包含明智的集合。我们声称存在一个匹配的 $ m'$ ,它饱和 $ n(a)$ 。否则否则,再次由于大厅,还有一个子集 $ s \ subseteq n(a)$ 这样 $ | n (s)| ,但然后删除 $ n(s)\ cap a $ from $ a $ $ s $ from $ n(a)$ 产生 $ a $ 也违反了大厅的条件,这与 $ a $ 的选择形成矛盾,这是最小的。因此,存在一个匹配的 $ m'$ ,它饱和 $ n(a)$

现在策略如下。在 $ a $ 中选择一个顶点,它不是 $ m $ 中的任何边缘。由于 $ | n(a)|因此存在这样的顶点<| A | $ 。首先选择此顶点,对于播放器二,每个选择 $ v \ v in v $ ,选择顶点 $ h \ h $ 匹配 $ v $ $ m'$

再次,很容易看到播放器两个在某些时候耗尽移动(可能在选择 $ n(a)$ 中的所有顶点之后因此,玩家一个胜利。

许可以下: CC-BY-SA归因
不隶属于 cs.stackexchange
scroll top