Це команда 2nash, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн емулятор Windows або онлайн-емулятор MAC OS
ПРОГРАМА:
ІМ'Я
nash - знайти рівновагу Нэша для некооперативних ігор двох осіб
СИНТАКСИС
setupnash вхід game1.ine game2.ine
setupnash2 вхід game1.ine game2.ine
наш game1.ine game2.ine
2наш game1.ine game2.ine
ОПИС
Усі рівноваги Неша (NE) для некооперативної гри двох осіб обчислюються за допомогою двох
кроки перерахування вершин зворотного пошуку з чергуванням. Вхідними для задачі є два m
за n матрицями A,B цілих чи раціональних чисел. Перший гравець – гравець рядка, другий
є гравцем колонки. Якщо грають рядок i та стовпець j, гравець 1 отримує Ai,j і гравець
2 отримує Bi,j. Якщо у вас є два чи більше процесорів, запустіть 2nash замість nash як
порядок вхідних ігор не має значення. Він проходить паралельно з іграми в кожному порядку.
(Якщо ви використовуєте nash, програма зазвичай працює швидше, якщо m <= n, див. нижче.) Найпростіший спосіб.
спосіб використовувати програму nash або 2nash - спочатку запустити setupnash або (setupnash2 див. нижче)
у файлі, що містить:
мн
матриця А
матриця В
наприклад файлова гра призначена для гри з m=3 n=2:
3 2
0 6
2 5
3 3
1 0
0 2
4 3
% setupnash гра гра1 гра2
створює два H-представлення, game1 і game2, по одному для кожного гравця. Щоб отримати
рівноваги, біг
% наш гра1 гра2
or
% 2наш гра1 гра2
Кожен ряд, що починається з 1, є стратегією для гравця рядка, який отримує НЕ з кожним рядком
початок 2, зазначений безпосередньо над ним. Виплата для гравця 2 є останньою цифрою на
рядок, що починається з 1, і навпаки. Наприклад: перші два рядки виводу: гравець 1 використовує рядок
ймовірності 2/3 2/3 0, що призводить до виплати 2/3 гравцю 2. Гравець 2 використовує стовпець
ймовірності 1/3 2/3 дають гравцеві 4 виплату 1. Якщо обидві матриці невід’ємні
і не мають нульових стовпців, замість цього ви можете використовувати setupnash2:
% setupnash2 гра game1 game2
Тепер отримані многогранники є багатогранниками. Результатом nash в цьому випадку є список
немасштабовані вектори ймовірності x і y. Щоб нормалізувати, розділіть кожен вектор на v = 1^T x і
u=1^T yu та v – це виплати гравцям 1 та 2 відповідно. В даному випадку нижче
можуть бути включені межі функцій виплат для одного або обох гравців. Дати нижчий
межа r на виплату для гравця 1 додайте параметри до файлу game2 (так
правильно!) Щоб задати нижню межу r для виграшу гравця 2, додайте параметри до файлу
game1
мінімізувати
0 1 1 ... 1 (n записів до початку)
зв'язаний 1/r; (примітка: зворотна величині r)
Якщо ви не бажаєте використовувати програму 2nash з 2 процесорами, прочитайте наступне. Якщо m є
більше n, тоді nash зазвичай працює швидше, транспонуючи гравців. Це досягається
запустивши:
% наш гра2 гра1
Якщо ви хочете створити файли game1 і game2 вручну, див lrslib користувач керівництво[1]
Використовуйте 2nash онлайн за допомогою служб onworks.net