问题标签 [game-theory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2161 浏览

artificial-intelligence - 人工智能博弈论中的功利主义与平等主义分配

假设我有两个玩家:玩家 A 和玩家 B,他们对什么资源有偏好(让我们笼统地说,使用“资源”这个词)。他们的偏好可能是:

这表示两个玩家可以拥有一种资源,要么都拥有,要么都没有。数字越大,玩家越想要它。

我相信“功利主义”的观点是最大化整体分配,因此这将是以下两种分配:

A:{p,q} 和 B:{}

因为它增加了 21,即使 B 不是很开心 [幸福 1 :-( ]。

我的问题是平等主义(见维基:1)分配是什么(如果有的话)?我不确定如何从上表中正确计算?

谢谢 :)。

0 投票
1 回答
655 浏览

actionscript-3 - 如何制作flash游戏的游戏教程?

如何制作游戏教程作为farmville游戏教程来教用户玩游戏。我最近参与了通过actionscript 3为其用户制作那种游戏教程,有人可以给我一个指导吗?任何帮助表示赞赏~

0 投票
5 回答
877 浏览

game-theory - 不完全信息博弈的策略

对于信息不完整的游戏,特别是像 Bridge 和 Doppelkopf 这样的技巧游戏,是否有通用策略?

我对为此类游戏实施 AI 策略的方法很感兴趣。

赏金是针对特定策略的最佳描述的答案。

0 投票
1 回答
336 浏览

design-patterns - 浏览现有的开源项目以学习/改进类设计和设计模式

我正在考虑研究一些开源项目,以找到类设计、设计模式甚至一些 AI / 算法的示例。

我曾有人建议不要看开源项目来学习,但我觉得看到我学到的模式和我考虑过在已发布项目中实际工作的实现对我来说真的很管用。

我在想相当简单的游戏,更多地关注算法和“计算机思维”会很有帮助,因为我目前不太关心视觉元素。

我想也许纸牌游戏会非常有用(扑克、红心、桥牌等),也许还有棋盘游戏。

是否有人对简单的开源游戏或程序有任何建议,可能有助于说明良好的类设计和设计模式和/或 AI 实现?

谢谢!

0 投票
2 回答
1151 浏览

algorithm - 格兰迪的比赛扩大到两个以上

In 如何在 Grundy 的游戏中将一堆分成两堆?

将一个堆分成任意数量的堆(其中没有两个相等)怎么样?

0 投票
8 回答
17708 浏览

algorithm - 赢得刽子手的最佳算法

在游戏 Hangman 中,贪心字母频率算法是否等同于最佳获胜机会算法?

为了更好地猜测正确答案,是否有值得牺牲剩余生命的保护?

进一步澄清问题:

  • 要猜测的选定单词已从已知字典中获取。
  • 你有 N 条生命,因此必须最大限度地猜测单词中的所有字母而不犯 N错误(即你可能有无限数量的正确猜测)。
  • 为了这个练习,字典中的每个单词都有相等的概率(即随机选择单词)
    • 一个更难的练习是想出一个对抗恶意的、无所不知的选词者的策略(我不是在这里问这个)

动机:这个问题的灵感来自于http://www.datagenetics.com/blog/april12012/index.html上的有趣讨论

他们提出了一种算法来优化解决文字游戏“Hangman”。

他们的策略可以总结如下(为澄清而编辑):

  • 我们可以假设这个词是从特定的字典中提取的
  • 我们知道单词中的字母数量
  • 消除字典中所有字母数不正确的单词。
  • 选择字典剩余子集中出现最多单词的尚未猜到的字母。
  • 如果这封信出现,我们就知道它的位置。
  • 如果这个字母没有出现,我们知道它不会出现在单词中。
  • 消除字典子集中不完全符合这个正确模式的所有单词,然后重复。
  • 如果有 2 个(或更多)字母出现的频率相同,则算法可能会对位置进行更深入的分析,以确定首选哪个字母(如果这是合理的?)

在每个阶段,我们都在猜测出现在剩余可能单词中的最大数量的字母(之前没有猜到)。

喜欢这个算法有一些动机——我们总是极不可能失去生命。

但是,令我震惊的是,这不一定是最好的解决方案:如果我们试图猜测这个词(在一定数量的生命中),并不一定总是出现频率最高的字母是最有用的字母以区分剩余的可用单词。

不过,我不确定,因为尽可能避免失去生命似乎是合适的。最优策略是否会允许我们牺牲生命以获得更好的获胜机会?

问题:这种贪心算法是否等同于最佳获胜机会算法?你能证明吗?

一个示例字典+游戏将是展示反证的理想选择。

0 投票
8 回答
5054 浏览

algorithm - Interviewstreet- 排列游戏

爱丽丝和鲍勃玩以下游戏:

1)他们选择前 N 个数字的排列开始。

2) 他们轮流玩,爱丽丝先玩。

3)在一个回合中,他们可以从排列中删除任何一个剩余的数字。

4) 当剩余的数字形成一个递增的序列时,游戏结束。玩最后一回合的人(之后序列会增加)赢得游戏。

假设双方都发挥最佳,谁会赢得比赛?

输入:第一行包含测试用例 T 的数量。接下来是 T 测试用例。每个案例在第一行包含一个整数 N,然后在第二行包含整数 1..N 的排列。

输出:输出 T 行,每个测试用例一个,如果 Alice 获胜则包含“Alice”,否则包含“Bob”。

样本输入:

2

3

1 3 2

5

5 3 2 1 4

样本输出:

爱丽丝

鲍勃

约束:

1 <= T <= 100

2 <= N <= 15

排列最初不会是递增序列。

我正在尝试解决上述问题。我已经推导出来,但我被困在一个点上。请帮助我进一步进行。

在上述问题中,对于长度为 2 的排列,玩家 1 总是获胜。

对于长度为 3 的排列,如果字符串严格增加或减少,则玩家 2 获胜。

对于长度为 4 的排列,如果玩家 1 能够通过删除一个字符使字符串严格增加或减少,则她获胜,否则玩家 2 获胜。

因此得出的结论是:

如果当前玩家能够使字符串严格增加他/她获胜。(小案例)

如果他/她能够使其严格递减,则获胜者将由该序列中的元素数量决定。如果该序列中有偶数个元素,则当前玩家输,否则获胜。

但是如果结果字符串既不增加也不减少怎么办?

0 投票
1 回答
221 浏览

genetic-algorithm - 囚徒困境的演变策略

有人可以帮助我理解这篇文章吗?我已经了解囚徒困境是什么,但无法理解刺激部分以及如何计算适应度。

0 投票
2 回答
69 浏览

theory - 最优解——规划理论

我希望有人解释一个简单问题的不同方法,然后我将尝试在 PHP 中实现它以用于更广泛的应用程序。

我有五个人在选择谁得到什么房间,有五个房间,大、大、中、中和小。

缺少的房间是他们不感兴趣的房间。

选择谁得到每个房间最公平的方法是什么?

0 投票
3 回答
590 浏览

algorithm - 博弈论算法:如何进行

举个例子:排列游戏(interviewstreet.com)。我想知道如何处理这些问题。

PS:请不要发布完整的算法(因为这会破坏乐趣),只是一些指示。