问题标签 [gambit]

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 投票
1 回答
952 浏览

functional-programming - Scheme中堆算法的实现(置换生成)

我想在 Scheme (Gambit) 中实现 Heap 的算法。
我阅读了他的论文并检查了很多资源,但我没有找到很多函数式语言实现。

我想至少得到可能排列的数量。
下一步是实际打印出所有可能的排列。

这是我到目前为止所拥有的:

我敢肯定这很遥远,但它已经尽可能接近了。
任何帮助都会很棒,谢谢。

0 投票
1 回答
510 浏览

python - 消除战略博弈中的主导策略

问题

我正在使用 Gambit 的 Python API 创建游戏树。我有策略游戏树,我想通过消除所有严格支配的策略来减少我的树。我不在 Gambit UI 中执行此操作的 2 个原因是:有时我的树对它来说太大了,它不会让我保存一棵已经修剪掉主导策略的树,这让我很恼火。

无论如何,我称之为让我不受支配的策略:

失败的尝试#1:

我想从我的游戏中删除所有不在此列表中的策略(即删除游戏中的所有主导策略)。(这就是我想要的吗?我是否也在移除弱支配策略?)所以我打电话:

但是,我认为这使我的列表保持不变......(我希望删除 ~200 并保留 3 个策略,但我仍然有 ~200 个策略)。

我可能做错了什么?

失败的尝试#2:

我想用我所有不受控制的策略创建一个新游戏。但是,如果我和我的玩家一起创建一个名为“h”的新游戏,我想尝试将这些策略添加到我的新游戏中(非正统,但我想试一试)。

这让我感到困惑,因为我认为这是这里提到的 Strategies 对象:http ://www.gambit-project.org/gambit15/pyapi.html#gambit.Strategies

问题

有人可以帮我弄清楚我应该在这里做什么吗?

编辑:

正如@Gabriel 所说我应该做的,我将在此处发布简要总结的答案。解决方案涉及调用:

restrict() 方法基于给定的 StrategySupportProfile 创建并返回一个新的矩阵游戏。当树变大时它有点慢,但它完成了工作。

0 投票
1 回答
101 浏览

scheme - 清除 gsi 命令行 Gambit

任何人都知道如何在 Scheme 的 gsi Gambit 中清除命令行,就像我们使用的普通命令行一样 --> clear ,在 Scheme 的 gsi Gambit 中是否有任何命令?有没有更好的 IDE 用于 Scheme?谢谢 :)

0 投票
2 回答
984 浏览

scheme - 如何使用 Gambit 制作可执行文件

我在记事本上写了这个 Scheme 源文件。我已经安装了策略方案。

我使用 Windows 命令行。我在命令行中输入“gsc hello.scm”。它在我的桌面上吐出一个名为“hello.o2”的文件。我想在我的命令行上看到“Hello-World”弹出。例如,当我用 c++ 编译东西时,它会给我一个名为 a.exe 的文件,我可以在命令行上观察它。

如何使用方案的 gambit 编译器执行此操作?

0 投票
1 回答
127 浏览

ios - Lambdanative 可以为 OSX 而不是 iOS 编译

我正在使用 XCode 8.3 运行 Sierra,包括命令行工具。我可以使用 Gambit 编译为 OSX 本机代码。我可以使用 lambdanative 将测试计算器应用程序编译到 OSX,但是当我尝试配置然后为 iOS 编译时,我在详细模式下收到以下错误:

没有可读取的 config.log。我已经对其进行了搜索,并且没有与该项目相关的内容。

有任何想法吗?我真的很喜欢能够在 Scheme 中开发 iOS 应用程序的想法。

谢谢。

0 投票
2 回答
252 浏览

macros - 宏调用宏在 Gambit Scheme 中给出“未定义的变量”

在 Gambit Scheme 中,如果我编译文件,我似乎无法在另一个宏的定义中调用宏。这是一个人为的例子:

但是,如果我在解释器中加载具有(include ...)特殊形式的文件,它就可以工作

有谁知道这里发生了什么?我可以说服 Gambit 让我在编译文件中另一个宏的定义中使用 w/gensyms 吗?

0 投票
1 回答
61 浏览

python - 在numpy的ndarray中生成所有可能的值?

我在 python 中使用 gambit 以博弈论的方式模拟一个世界。策略的一个构造是保存每个参与者做出的一系列决策的“结果”。这是以下形式:

game[d1,d2,d3,...,dn][n] = payoff

其中d1是玩家 1 做出的d2决定的索引,是玩家 2 做出的决定的索引,依此类推,并且是正在为其存储n的玩家的索引。payoff

现在,可能有可变数量的玩家,因此传递给game对象的索引的维度可能会改变

如何从[0,0,...,0]through生成系列[8,8,...,8](其中维度 = 玩家人数 = n),以便我可以将它们存储到[d1,d2,d3,...,dn]

0 投票
1 回答
288 浏览

scheme - 策略中缺少方案格式功能

我尝试运行以前使用 guile 运行的策略方案脚本。我注意到 gambit 失败了,因为它缺少“格式”功能。

格式不是方案的一部分吗?

相反,我将我的 gambit 脚本修改为以下内容。

我在这里想念什么?谢谢。

0 投票
0 回答
47 浏览

ios - GKScore 无法更新游戏中心

iOS 12.x 斯威夫特 4.2

尝试使用 GameKit 更新 GKScore,但失败并显示错误消息“error failed to update nil”。我作为经过身份验证的用户尝试写入的记录如下所示。我没有看到任何零值。

ScoreReporter 玩家:playerID:G:1572714306 别名:2004 朋友等级:FL6 排名:0 日期:2018-12-21 14:15:32 +0000 值:400 formattedValue:(null) 上下文:0x0 排行榜:highScore 组:(null)

它正在运行的代码...

尝试删除和重新创建 highScore ID,但没有帮助......还尝试在 iPad 上删除应用程序,也没有工作。

当我去游戏中心时,它报告“没有可用数据”

0 投票
2 回答
792 浏览

scheme - 使用 Gambit-C 编译方案

我正在运行 Ubuntu 18.04,并安装gambc了执行 Scheme 脚本。 gsi工作正常,可以解释我提供的任何文件,并且 REPL 也按预期工作。

不幸的是,我不知道如何使用gsc.

http://gambitscheme.org/wiki/index.php/A_Tour_of_Scheme_in_Gambit几乎没有提供关于如何使用gsc编译程序的信息,man gsc更多的是关于gsi并且没有涵盖所有可用的选项(选项-o-c例如man页面中没有提到),而我能找到的所有其他资源都对我不起作用。

让我详细说明最后一部分:

然后

失败,也是如此

  • 正在做

正如http://www.iro.umontreal.ca/~gambit/doc/gambit.html所建议的那样,它没有$ gsc -obj m1.c m2.c m3.c m3_.cm3_.c没有定义,甚至忽略了这一点,它再次$ gcc m1.o m2.o m3.o m3_.o -lgambit -lm -ldl -lutil抱怨-lgambit没有定义。然而,该文档确实解释了-o-c选项的用法。

我会在这里停下来,但我确实尝试遵循其他两个教程,但都没有奏效,我再也找不到它们了。

如果可以修改上述任何方法以适合我,或者如果任何其他过程允许将脚本编译为可执行文件(现在即使是简单的 1 文件程序也足够了),我将不胜感激。