Source code for gameanalysis.scripts.gpnash
"""Module for constructing game models by Gaussian process regression."""
import argparse
import json
import pickle
import sys
from gameanalysis import gpgame
from gameanalysis import nash
[docs]def add_parser(subparsers):
parser = subparsers.add_parser('gpnash', help="""Compute nash of gp
games""", description="""Find nash of a gp
model""")
parser.add_argument('--input', '-i', metavar='<input-file>',
default=sys.stdin.buffer, type=argparse.FileType('rb'),
help="""Input file for script. (default: stdin)""")
parser.add_argument('--output', '-o', metavar='<output-file>',
default=sys.stdout, type=argparse.FileType('w'),
help="""Output file for script. (default: stdout)""")
return parser
[docs]def main(args):
game = gpgame.PointGPGame(pickle.load(args.input))
serial = pickle.load(args.input)
equilibria = nash.mixed_nash(game, replicator=None)
json.dump([serial.to_prof_json(eqm) for eqm in equilibria], args.output)
args.output.write('\n')