Равновесие по Нэшу в Python - PullRequest
       14

Равновесие по Нэшу в Python

6 голосов
/ 04 февраля 2011

Существует ли библиотека Python, которая решает проблему равновесия Нэша нулевых игр с двумя людьми? Я знаю, что решение может быть записано в терминах линейных ограничений, и теоретически scipy должен быть в состоянии оптимизировать его. Однако для нулевых игр с двумя людьми решение является точным и уникальным, но некоторые решатели не сходятся для определенных задач.

Вместо того, чтобы перечислять любую из библиотек в Линейное программирование на веб-сайте Python, я хотел бы знать, какая библиотека будет наиболее эффективной с точки зрения простоты использования и скорости.

Ответы [ 3 ]

3 голосов
/ 04 февраля 2011

Рэймонд Хеттингер написал рецепт решения матриц с нулевой суммой выплат . Это должно служить вашим целям в порядке.

Что касается более общей библиотеки для решения теории игр, то для этого нет ничего специально разработанного. Но, как вы сказали, Scipy может решать такие проблемы оптимизации, как эта. Возможно, вы сможете что-то сделать с GarlicSim , который претендует на «любой вид симуляции: физика, теория игр ...», но я никогда не использовал его раньше, поэтому не могу рекомендовать его .

0 голосов
/ 23 февраля 2019

Есть Gambit, который немного сложен в настройке, но имеет Python API.

0 голосов
/ 23 марта 2013

Я только начал собирать код Python для теории игр: http://drvinceknight.github.com/Gamepy/

Есть код, который:

  • решает соответствующие игры,
  • вычисляет шейпизначения в кооперативных играх
  • запускает агентное моделирование для выявления возникающего поведения в играх с нормальной формой,
  • (неуклюже - мой python foo все еще растет) использует библиотеку lrs (написанную на C: http://cgm.cs.mcgill.ca/~avis/C/lrs.html) для расчета решений игр в обычной форме (я верю в то, что вы хотите).

Код доступен на github и на этом сайте (первая ссылка в началеэтот ответ) объясняет, как работает код, и приводит примеры для пользователей.

Возможно, вы также захотите проверить «Гамбит», который я никогда не использовал.

...