Равновесие Нэша в Python
есть ли библиотека Python, которая решает для равновесия Нэша двух человек нулевых игр? Я знаю, что решение может быть записано в терминах линейных ограничений, и теоретически scipy должен быть в состоянии оптимизировать его. Однако для нулевых игр с двумя людьми решение является точным и уникальным, но некоторые из решателей не сходятся для определенных проблем.
вместо того, чтобы перечислять любую из библиотек на линейного программирования на веб-сайте Python я хотел бы знать, какая библиотека будет наиболее эффективной с точки зрения простоты использования и скорости.
2 ответов
компания Raymond Hettinger писал рецепт решения матриц выплат с нулевой суммой. Это должно служить вашим целям.
Что касается более общей библиотеки для решения теории игр, для этого нет ничего специально разработанного. Но, как вы сказали, scipy может решать такие проблемы оптимизации. Возможно, вы сможете что-то сделать с GarlicSim, который утверждает, что для "любого вида моделирования: физика, теория игр..."но я никогда не использовал его раньше, поэтому Не могу рекомендовать.
Я только начал собирать некоторый код python теории игр:http://drvinceknight.github.com/Gamepy/
есть код, который:
- решает комбинационной игры,
- вычисляет значения Шепли в кооперативных играх,
- запускает агент на основе моделирования для выявления эмерджентного поведения в нормальной форме игры,
- (неуклюже - мой python foo все еще растет) использует библиотеку lrs (написанную на C: http://cgm.cs.mcgill.ca / ~avis/C/lrs.html), чтобы рассчитать решения для обычных игр формы (это я считаю, что вы хотите).
код доступен на github, и этот сайт (первая ссылка в начале этого ответа) объясняет, как работает код и дает примеры пользователей.
вы также можете проверить "Гамбит", который я никогда не использовал.