Este é o comando 2nash que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS
PROGRAMA:
NOME
nash - encontre o equilíbrio nash de jogos não cooperativos de duas pessoas
SINOPSE
configurarnash entrada jogo1.ine jogo2.ine
configurarnash2 entrada jogo1.ine jogo2.ine
nash jogo1.ine jogo2.ine
2 nash jogo1.ine jogo2.ine
DESCRIÇÃO
Todos os equilíbrios de Nash (NE) para um jogo não cooperativo de duas pessoas são calculados usando dois
etapas intercaladas de enumeração de vértices de pesquisa reversa. A entrada para o problema é dois m
por n matrizes A, B de inteiros ou racionais. O primeiro jogador é o jogador da linha, o segundo
é o jogador da coluna. Se a linha i e a coluna j forem jogadas, o jogador 1 receberá Ai, j e o jogador
2 recebe Bi, j. Se você tiver dois ou mais cpus disponíveis, execute 2nash em vez de nash como o
a ordem dos jogos de entrada é irrelevante. Ele é executado em paralelo com os jogos em cada ordem.
(Se você usar nash, o programa geralmente será executado mais rápido se m for <= n, veja abaixo.) O mais fácil
maneira de usar o programa nash ou 2nash é primeiro executar setupnash ou (setupnash2 veja abaixo)
em um arquivo contendo:
mn
matriz A
matriz B
por exemplo. o jogo de arquivo é para um jogo com m = 3 n = 2:
3 2
0 6
2 5
3 3
1 0
0 2
4 3
% setupnash jogo jogo1 jogo2
produz duas representações H, game1 e game2, uma para cada jogador. Para obter o
equilíbrio, correr
% nash jogo1 jogo2
or
% 2nash jogo1 jogo2
Cada linha começando com 1 é uma estratégia para o jogador da linha produzindo um NE com cada linha
começando 2 listado imediatamente acima dele. A recompensa para o jogador 2 é o último número no
linha começando com 1 e vice-versa. Ex: primeiras duas linhas de saída: o jogador 1 usa a linha
probabilidades 2/3 2/3 0 resultando em uma recompensa de 2/3 para o jogador 2. O jogador 2 usa a coluna
probabilidades 1/3 2/3 produzindo um payoff de 4 para o jogador 1. Se ambas as matrizes forem não negativas
e não tem colunas zero, você pode usar setupnash2:
% setupnash2 jogo jogo1 jogo2
Agora, os poliedros produzidos são politopos. A saída de nash, neste caso, é uma lista de
vetores de probabilidade fora de escala x e y. Para normalizar, divida cada vetor por v = 1 ^ T x e
u = 1 ^ T yu ev são os ganhos para os jogadores 1 e 2, respectivamente. Neste caso, abaixe
limites nas funções de pagamento para um ou ambos os jogadores podem ser incluídos. Para dar um menor
limite de r no pagamento para o jogador 1 adicione as opções para o arquivo game2 (sim, isso é
correto!) Para dar um limite inferior de r na recompensa para o jogador 2, adicione as opções ao arquivo
game1
minimizar
0 1 1 ... 1 (n entradas a serem iniciadas)
ligado 1 / r; (nota: recíproco de r)
Se você não deseja usar o programa 2-cpu 2nash, leia o seguinte. Se m for
maior do que n, então nash geralmente é executado mais rápido ao transpor os jogadores. Isso é alcançado
Correndo:
% nash jogo2 jogo1
Se você deseja construir os arquivos game1 e game2 manualmente, consulte o lrslib usuário manual[1]
Use 2nash online usando serviços onworks.net