Skip to content
Andrew F edited this page Jul 9, 2015 · 10 revisions

See below for an example Run Simulations page, parts which you can customize are Bolded, with options in italics

from wrapper import GameDynamicsWrapper, VariedGame

****from dynamics.wright_fisher import WrightFisher

from games.humbly_signaling import HumblySignaling from games.fashion_signaling import FashionSignaling from games.costly_signaling import Costly_Signaling

import unittest

class TestCase(unittest.TestCase): #Replace game before running, and close the popups in the right order (highest number first) or else it will crash def setUp(self): import logging logging.basicConfig(filename='debug.log', level=logging.DEBUG) ''' def test_single_simulation(self):#Runs the program and outputs time plot s = GameDynamicsWrapper(Costly_Signaling, WrightFisher) s.simulate(num_gens=50, graph=dict(NAME=True)) ''' def test_vary_one(self):#Simulates while changing a single variable over time s = VariedGame(HumblySignaling, WrightFisher, dynamics_kwargs=dict(uniDist=True)) s.vary_param('hSenderProp', (1/11, 50/24, 4), num_gens=2000, num_iterations=5, graph=dict(vertLines=5)) ''' def test_3d_graph(self):#3d graph of equilibrium found when varying two variables, does not have hori or vert lines s = VariedGame(FashionSignaling, WrightFisher) s.vary_2params('lhSender', (1, 7, 1), 'lhReceiver', (-8, 0, 1), num_iterations=1, num_gens=1)#Vary 2 params defaults to 3d graphing

def test_contour_graph(self):#2d contour color plot
    s = VariedGame(FashionSignaling, WrightFisher)
    s.vary_2params('lhSender', (1, 7, 5), 'lhReceiver', (-8, 0, 5), num_iterations=5, num_gens=2, graph=dict(type='contour', vertLines=5, horiLines=-5))
'''
'''
def test_many_simulation(self):#Determines which equilibria result based upon several simulations, text output
    s = GameDynamicsWrapper(Costly_Signaling, WrightFisher)
    print(s.simulate_many(num_iterations=5, num_gens=2))
'''

if name == 'main': unittest.main()

Clone this wiki locally