Esempio n. 1
0
def get_hanabi_partners(setting, partner_type):
    partners_dict = {
        "": {
            "ppo": {
                "train": [
                    "output/hanabi_n=4_run=1240_netsz=500_mreg=0.00",
                    "output/hanabi_n=4_run=1241_netsz=500_mreg=0.00",
                    "output/hanabi_n=4_run=1242_netsz=500_mreg=0.00",
                    "output/hanabi_n=4_run=1243_netsz=500_mreg=0.00",
                ],
                "test": [
                    "output/hanabi_n=4_run=1244_netsz=500_mreg=0.00",
                    "output/hanabi_n=4_run=1245_netsz=500_mreg=0.00",
                    "output/hanabi_n=4_run=1246_netsz=500_mreg=0.00",
                    "output/hanabi_n=4_run=1247_netsz=500_mreg=0.00",
                ]
            }
        }
    }
    partners = partners_dict[setting][partner_type]
    if partner_type == "ppo":
        train_partners = [
            Partner(PPOPartnerPolicy(pmpath)) for pmpath in partners["train"]
        ]
        test_partners = [
            Partner(PPOPartnerPolicy(pmpath)) for pmpath in partners["test"]
        ]

    return train_partners, test_partners
Esempio n. 2
0
 def setUp(self):
     player1 = Player("bob")
     player2 = Player("sue")
     partner1 = Partner(player1,player2)
     player3 = Player("ralph")
     player4 = Player("greg")
     partner2 = Partner(player3,player4)
     self.table = Table("Awesome",partner1,partner2) 
 def getTable(self,table_name,name1,name2,name3,name4):
     player1 = Player(name1)
     player2 = Player(name2)
     player3 = Player(name3)
     player4 = Player(name4)
     partner1 = Partner(player1,player2)
     partner2 = Partner(player3,player4)
     return Table(table_name,partner1,partner2)
Esempio n. 4
0
 def __init__(self, machine_id, database, ui):
     Partner.__init__(self, ui)
     self.machine_id = machine_id
     self.database = database
     self.text_format = XMLFormat()
     self.server_info = {}
     self.con = None
     self.behind_proxy = None  # Explicit variable for testability.
     self.proxy = None
Esempio n. 5
0
 def __init__(self, machine_id, host, port, ui):
     self.machine_id = machine_id
     WSGIServer.__init__(self, (host, port), WSGIRequestHandler)
     self.set_app(self.wsgi_app)
     Partner.__init__(self, ui)
     self.text_format = XMLFormat()
     self.stopped = False
     self.sessions = {} # {session_token: session}
     self.session_token_for_user = {} # {user_name: session_token}
Esempio n. 6
0
 def __init__(self, machine_id, database, ui):
     Partner.__init__(self, ui)
     self.machine_id = machine_id
     self.database = database
     self.text_format = XMLFormat()
     self.server_info = {}
     self.con = None
     self.behind_proxy = None  # Explicit variable for testability.
     self.proxy = None
Esempio n. 7
0
 def __init__(self, machine_id, port, ui):
     self.machine_id = machine_id
     # We only use 1 thread, such that subsequent requests don't run into
     # SQLite access problems.
     from cherrypy import wsgiserver
     self.wsgi_server = wsgiserver.CherryPyWSGIServer\
         (("0.0.0.0", port), self.wsgi_app, server_name="localhost",
         numthreads=1, timeout=1000)
     Partner.__init__(self, ui)
     self.text_format = XMLFormat()
     self.sessions = {} # {session_token: session}
     self.session_token_for_user = {} # {user_name: session_token}
Esempio n. 8
0
def create_Partner(iterate_dataset_name):
    """Instantiate partner object"""
    part = Partner(partner_id=0)
    dataset_name = iterate_dataset_name

    if dataset_name == "cifar10":
        (x_train, y_train), (x_test, y_test) = cifar10.load_data()
        part.y_train = data_cf.preprocess_dataset_labels(y_train)
    if dataset_name == "mnist":
        (x_train, y_train), (x_test, y_test) = mnist.load_data()
        part.y_train = data_mn.preprocess_dataset_labels(y_train)
    yield part
Esempio n. 9
0
def create_partners_list(dataset_name, partners_count):
    partners_list = []

    for i in range(partners_count):
        part = Partner(partner_id=i)

        if dataset_name == "cifar10":
            (x_train, y_train), (x_test, y_test) = cifar10.load_data()
            part.y_train = data_cf.preprocess_dataset_labels(y_train)
        if dataset_name == "mnist":
            (x_train, y_train), (x_test, y_test) = mnist.load_data()
            part.y_train = data_mn.preprocess_dataset_labels(y_train)
        partners_list.append(part)

    return partners_list
Esempio n. 10
0
    def instantiate_scenario_partners(self):
        """Create the partners_list - self.partners_list should be []"""

        if self.partners_list != []:
            raise Exception("self.partners_list should be []")

        self.partners_list = [Partner(i) for i in range(self.partners_count)]
Esempio n. 11
0
def process_data(json_file):
    """
    Processes the JSON file returned from the GET request, finds the minimum most consecutive dates for each country, and manipulates the data into a format ready for submission
    """
    #dictionary with the keys set as countries and the values set as the "Results" class
    results_dic = {}

    #dictionary with keys set as countries and the values as partners from the respective country
    country_dic = defaultdict(list)
    for p in json_file['partners']:
        p = Partner(p)
        country_dic[p.country].append(p)

    for country in country_dic:
        available_dic = defaultdict(list)
        for partner in country_dic[country]:
            #finds consecutive dates of each individual partner and uses those dates as keys for a dictionary
            available_date = partner.get_consecutive()
            for dates in available_date:
                available_dic[dates].append(partner.email)
        #first sort maintains the minimum order of dates
        res = sorted(available_dic.items(), key=lambda item: item[0][0])
        #second sort finds the maximum amount of attendees respective to minimum date
        res.sort(key=lambda item: len(item[1]), reverse=True)
        #adds result to "Results" class
        results_dic[country] = Results(res, country)
    return results_dic
Esempio n. 12
0
def get_arms_human_partners(setting, partner_type):
    partners_dict = {
        "": {
            "fixed": {
                "train": [
                    [0, 2, 1],
                    [0, 2, 1],
                    [0, 2, 1],
                    [0, 2, 1],
                    [0, 3, 3],
                    [0, 2, 1],
                    [0, 2, 1],
                    [0, 2, 1],
                    [0, 2, 1],
                    [0, 3, 3],
                    [0, 2, 1],
                    [0, 2, 1],
                ],
                "test": [
                    [0, 2, 1],
                    [0, 3, 3],
                    [0, 2, 1],
                    [0, 3, 3],
                    [0, 3, 1],
                    [0, 2, 1],
                    [0, 3, 3],
                    [0, 2, 1],
                    [0, 2, 1],
                    [0, 3, 1],
                ],
            },
        },
    }

    partners = partners_dict[setting][partner_type]
    if partner_type == "fixed":
        train_partners = [
            Partner(ArmsPartnerPolicy(perm=perm)) for perm in partners["train"]
        ]
        test_partners = [
            Partner(ArmsPartnerPolicy(perm=perm)) for perm in partners["test"]
        ]
    if partner_type == "ppo":
        exit(1)

    return train_partners, test_partners
Esempio n. 13
0
class TestPartner(unittest.TestCase):
    def setUp(self):
        player1 = Player("bob")
        player2 = Player("sue")
        self.partner = Partner(player1, player2)

    def testGetPlayers(self):
        players = self.partner.getPlayers()
        self.assertEqual(players[0].getName(), "bob")
        self.assertEqual(players[1].getName(), "sue")

    def testToString(self):
        strung = str(self.partner)
        self.assertEqual(strung, "Partners (bob,sue)")
Esempio n. 14
0
def to_partner(partner):
    id = partner['id']
    tradingName = partner['tradingName']
    ownerName = partner['ownerName']
    document = partner['document']
    address = json.dumps(partner['address'])
    coverageArea = json.dumps(partner['coverageArea'])

    return Partner(
            id=id,
            tradingName=tradingName,
            ownerName=ownerName,
            document=document,
            address=address,
            coverageArea=coverageArea
            )
Esempio n. 15
0
from partner import Partner
from create_partner import CreatePartner


p = CreatePartner()
partner = Partner.from_dict({
        'owner_name': 'MnR',
        'tranding_name': 'MnR',
        'document': 0,
        'address': [16, 16]
        })

print(' '.join([str(point) for point in partner.address]))
result = p.set_data(partner)
print(result)

Esempio n. 16
0
def process_data(data):
    country_list = []

    # this nested dictionary maintains a relationship of
    # countries -> dictionary of dates -> set of people available at those dates
    country_dates_attendees = dict()

    # put all the relationship from the data we got into our dictionary
    for p in data['partners']:
        person = Partner(p)

        if person.country not in country_dates_attendees:
            country_dates_attendees[person.country] = dict()

        for date in person.dates:
            if date not in country_dates_attendees[person.country]:
                country_dates_attendees[person.country][date] = set()
            country_dates_attendees[person.country][date].add(person)

    for country_name, dates_attendees in country_dates_attendees.items():

        # the dates need to be in order to check for consecutive dates
        sorted_dates = sorted(dates_attendees.keys())

        # variables to keep track of the dates where attendees are maximized
        most_attendees_count = float('-inf')
        most_attendees_day = None
        most_attendees = set()

        for index in xrange(len(sorted_dates[:-1])):

            # raw string dates
            raw_curr_date = sorted_dates[index]
            raw_next_date = sorted_dates[index + 1]

            # parsed into python datetime objects for easier comparison
            curr_date = parse(raw_curr_date)
            next_date = parse(raw_next_date)

            curr_attendees = dates_attendees[raw_curr_date]
            next_attendees = dates_attendees[raw_next_date]

            # check if next date is consecutive if not skip to next
            if next_date - curr_date != datetime.timedelta(1):
                continue

            # check the number of attendees that are in both dates using set intersection
            attendees = curr_attendees & next_attendees
            attendees_count = len(attendees)

            # update the most attendees count if the count is greater
            # OR if the count is the same and the current date is earlier
            if attendees_count > most_attendees_count or \
                    (attendees_count == most_attendees_count and raw_curr_date < most_attendees_day):
                most_attendees_count = attendees_count
                most_attendees_day = raw_curr_date
                most_attendees = attendees

        # create a new country result object and add it to the country list
        country = Country()
        country.name = country_name
        if most_attendees_count > 0:
            country.start_date = most_attendees_day
        for person in most_attendees:
            country.add_attendee(person)
        country_list.append(country)

    return country_list
Esempio n. 17
0
 def test_shuffle_labels_type(self):
     """shuffle_labels should be a numpy.ndarray"""
     with pytest.raises(TypeError):
         part = Partner(partner_id=0)
         part.shuffle_labels(part)
Esempio n. 18
0
from flask import Flask, url_for, request
from partner import Partner

app = Flask(__name__)

manager = Partner()


@app.route('/')
def index():
    return 'Welcome, Starbucks! :) '


@app.route('/get_order', methods=['POST'])
def get_order():
    order_info = request.get_json()

    ordered_menu = manager.take_order(order_info)

    # return str(ordered_menu)
    return 'total_price: {}, total_time: {}'.format(ordered_menu['price'],
                                                    ordered_menu['time'])
Esempio n. 19
0
 def setUp(self):
     player1 = Player("bob")
     player2 = Player("sue")
     self.partner = Partner(player1, player2)
Esempio n. 20
0
 def test_corrupt_labels_type(self):
     """partner.y_train should be a numpy.ndarray"""
     with pytest.raises(TypeError):
         part = Partner(partner_id=0)
         part.corrupt_labels()
Esempio n. 21
0
def get_blocks_partners(setting, partner_type):
    partners_dict = {
        "": {
            "fixed": {
                "train": [
                    [1, 3, 0, 2],  # clockwise
                    [2, 0, 3, 1],  # counter-clockwise
                    [3, 2, 1, 0],  # diagonal
                ],
                "test": [
                    [1, 0, 3, 2],
                    [2, 3, 1, 0],
                    [3, 2, 0, 1],
                    [1, 2, 3, 0],
                    [2, 3, 0, 1],
                    [3, 0, 1, 2],
                ],
                "inverttrain": [
                    [1, 3, 0, 2],  # clockwise
                    [2, 0, 3, 1],  # counter-clockwise
                    [3, 2, 1, 0],  # diagonal
                ],
                "inverttest": [
                    [1, 0, 3, 2],
                    [2, 3, 1, 0],
                    [3, 2, 0, 1],
                ],
            },
            "ppo": {
                "train": [
                    "output/blocks_n=2_run=1230_vis1=1_vis2=3_onesided=0_mreg=0.00",
                    "output/blocks_n=2_run=1231_vis1=1_vis2=3_onesided=0_mreg=0.00",
                    "output/blocks_n=2_run=1232_vis1=1_vis2=3_onesided=0_mreg=0.00",
                    "output/blocks_n=2_run=1233_vis1=1_vis2=3_onesided=0_mreg=0.00",
                    "output/blocks_n=2_run=1234_vis1=1_vis2=3_onesided=0_mreg=0.00",
                    "output/blocks_n=2_run=1235_vis1=1_vis2=3_onesided=0_mreg=0.00",
                ],
                "test": [
                    "output/blocks_n=2_run=1240_vis1=1_vis2=3_onesided=0_mreg=0.00",
                    "output/blocks_n=2_run=1241_vis1=1_vis2=3_onesided=0_mreg=0.00",
                    "output/blocks_n=2_run=1242_vis1=1_vis2=3_onesided=0_mreg=0.00",
                    "output/blocks_n=2_run=1243_vis1=1_vis2=3_onesided=0_mreg=0.00",
                    "output/blocks_n=2_run=1244_vis1=1_vis2=3_onesided=0_mreg=0.00",
                    "output/blocks_n=2_run=1245_vis1=1_vis2=3_onesided=0_mreg=0.00",
                ]
            }
        }
    }
    partners = partners_dict[setting][partner_type]
    if partner_type == "fixed":
        train_partners = [
            Partner(BlocksPermutationPartnerPolicy(perm=perm))
            for perm in partners["train"]
        ]
        test_partners = [
            Partner(BlocksPermutationPartnerPolicy(perm=perm))
            for perm in partners["test"]
        ]
        inverttrain_partners = [
            Partner(BlocksPermutationPartnerPolicy(perm=perm))
            for perm in partners["inverttrain"]
        ]
        inverttest_partners = [
            Partner(BlocksPermutationPartnerPolicy(perm=perm))
            for perm in partners["inverttest"]
        ]
    if partner_type == "ppo":
        train_partners = [
            Partner(PPOPartnerPolicy(pmpath)) for pmpath in partners["train"]
        ]
        test_partners = [
            Partner(PPOPartnerPolicy(pmpath)) for pmpath in partners["test"]
        ]
        inverttrain_partners = None
        inverttest_partners = None

    return train_partners, test_partners, inverttrain_partners, inverttest_partners
beta_IR = 0.01
beta_SR = 0.01
beta_SV = 0.01
beta_PI = 0.01
beta_IV = 0.01
beta_RV = 0.01
beta_condom = 0.000001
beta_SI2 = beta
beta_II2 = 0.0
beta_RI2 = beta_IR
beta_VI2 = beta_IV
phi_V = phi
phi_T = 0.95

population = Person.make_population(N)
partner_nwk = Partner(population)
filename = ''  # Default file name to export (.csv). Change when use prompt 'export' cmd.

mode_master_list = []
# All objects should add into mode_master_list
mode01 = mode.Mode01(population, partner_nwk)
mode02 = mode.Mode02(population)
mode04 = mode.Mode04(population, partner_nwk)
mode05 = mode.Mode05(population, partner_nwk)
mode06 = mode.Mode06(population, partner_nwk)
mode21 = mode.Mode21(population, partner_nwk)
mode31 = mode.Mode31(population)
mode51 = mode.Mode51(population, partner_nwk)
mode52 = mode.Mode52(population, partner_nwk)

mode_master_list = [mode01, mode02, mode04, mode05, mode06, mode21, mode31]
Esempio n. 23
0
import time
from counter import Counter
from partner import Partner

if __name__ == "__main__":
    partner = Partner("partner@localhost", "password")
    partner_fut = partner.start()
    partner_fut.result()

    counter = Counter("counter@localhost", "password")
    counter_fut = counter.start()
    counter_fut.result()

    while not (counter.behaviour.is_killed()
               and partner.behaviour.is_killed()):
        try:
            time.sleep(1)
        except KeyboardInterrupt:
            break

    counter.stop()
    partner.stop()
 def set_PPO_partners(self, partner_model_paths: List[str]):
     self.set_partners(partners=[
         Partner(PPOPartnerPolicy(pmpath)) for pmpath in partner_model_paths
     ])
Esempio n. 25
0
def get_arms_partners(setting, partner_type):
    partners_dict = {
        "n4m0": {
            "fixed": {
                "train": [
                    [0, 1, 2, 3],
                    [4, 1, 6, 7],
                    [0, 5, 2, 7],
                    [4, 5, 6, 3],
                ],
                "test": [
                    [0, 1, 2, 7],
                    [4, 1, 6, 3],
                    [0, 5, 2, 3],
                    [4, 5, 6, 7],
                ],
                "inverttrain": [
                    [0, 1, 2, 7],
                    [4, 1, 6, 3],
                    [0, 5, 2, 3],
                    [4, 5, 6, 7],
                ],
                "inverttest": [
                    [0, 1, 2, 7],
                    [4, 1, 6, 3],
                    [0, 5, 2, 3],
                    [4, 5, 6, 7],
                ],
            },
            "ppo": {
                "train": [
                    "output/arms_n=4_m=0_run=1240_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=0_run=1241_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=0_run=1242_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=0_run=1243_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=0_run=1244_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=0_run=1245_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=0_run=1246_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=0_run=1247_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=0_run=1248_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=0_run=1249_netsz=030_mreg=0.00",
                ],
                "test": [
                    "output/arms_n=4_m=0_run=1230_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=0_run=1231_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=0_run=1232_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=0_run=1233_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=0_run=1234_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=0_run=1235_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=0_run=1236_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=0_run=1237_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=0_run=1238_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=0_run=1239_netsz=030_mreg=0.00",
                ]
            }
        },
        "n4m1": {
            "fixed": {
                "train": [
                    [0, 1, 2, 3],
                    [0, 1, 6, 7],
                    [0, 5, 2, 7],
                    [0, 5, 6, 3],
                ],
                "test": [
                    [0, 1, 2, 7],
                    [0, 1, 6, 3],
                    [0, 5, 2, 3],
                    [0, 5, 6, 7],
                ],
                "inverttrain": [
                    [4, 1, 2, 3],
                    [4, 1, 6, 7],
                    [4, 5, 2, 7],
                    [4, 5, 6, 3],
                ],
                "inverttest": [
                    [4, 1, 2, 7],
                    [4, 1, 6, 3],
                    [4, 5, 2, 3],
                    [4, 5, 6, 7],
                ],
            },
            "ppo": {
                "train": [
                    "output/arms_n=4_m=1_run=1240_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=1_run=1241_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=1_run=1242_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=1_run=1243_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=1_run=1244_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=1_run=1245_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=1_run=1246_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=1_run=1247_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=1_run=1248_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=1_run=1249_netsz=030_mreg=0.00",
                ],
                "test": [
                    "output/arms_n=4_m=1_run=1230_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=1_run=1231_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=1_run=1232_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=1_run=1233_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=1_run=1234_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=1_run=1235_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=1_run=1236_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=1_run=1237_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=1_run=1238_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=1_run=1239_netsz=030_mreg=0.00",
                ]
            }
        },
        "n4m2": {
            "fixed": {
                "train": [
                    [0, 1, 2, 3],
                    [0, 1, 6, 7],
                    [0, 1, 2, 7],
                    [0, 1, 6, 3],
                ],
                "test": [
                    [0, 1, 2, 7],
                    [0, 1, 6, 3],
                    [0, 1, 2, 3],
                    [0, 1, 6, 7],
                ],
                "inverttrain": [
                    [4, 5, 2, 3],
                    [4, 5, 6, 7],
                    [4, 5, 2, 7],
                    [4, 5, 6, 3],
                ],
                "inverttest": [
                    [4, 5, 2, 7],
                    [4, 5, 6, 3],
                    [4, 5, 2, 3],
                    [4, 5, 6, 7],
                ],
            },
            "ppo": {
                "train": [
                    "output/arms_n=4_m=2_run=1240_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=2_run=1241_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=2_run=1242_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=2_run=1243_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=2_run=1244_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=2_run=1245_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=2_run=1246_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=2_run=1247_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=2_run=1248_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=2_run=1249_netsz=030_mreg=0.00",
                ],
                "test": [
                    "output/arms_n=4_m=2_run=1230_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=2_run=1231_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=2_run=1232_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=2_run=1233_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=2_run=1234_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=2_run=1235_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=2_run=1236_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=2_run=1237_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=2_run=1238_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=2_run=1239_netsz=030_mreg=0.00",
                ]
            }
        },
        "n4m3": {
            "fixed": {
                "train": [
                    [0, 1, 2, 3],
                    [0, 1, 2, 7],
                    [0, 1, 2, 7],
                    [0, 1, 2, 3],
                ],
                "test": [
                    [0, 1, 2, 7],
                    [0, 1, 2, 3],
                    [0, 1, 2, 3],
                    [0, 1, 2, 7],
                ],
                "inverttrain": [
                    [4, 5, 6, 3],
                    [4, 5, 6, 7],
                    [4, 5, 6, 7],
                    [4, 5, 6, 3],
                ],
                "inverttest": [
                    [4, 5, 6, 7],
                    [4, 5, 6, 3],
                    [4, 5, 6, 3],
                    [4, 5, 6, 7],
                ],
            },
            "ppo": {
                "train": [
                    "output/arms_n=4_m=3_run=1240_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=3_run=1241_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=3_run=1242_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=3_run=1243_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=3_run=1244_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=3_run=1245_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=3_run=1246_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=3_run=1247_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=3_run=1248_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=3_run=1249_netsz=030_mreg=0.00",
                ],
                "test": [
                    "output/arms_n=4_m=3_run=1230_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=3_run=1231_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=3_run=1232_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=3_run=1233_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=3_run=1234_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=3_run=1235_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=3_run=1236_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=3_run=1237_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=3_run=1238_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=3_run=1239_netsz=030_mreg=0.00",
                ]
            }
        },
        "n4m4": {
            "fixed": {
                "train": [
                    [0, 1, 2, 3],
                    [0, 1, 2, 3],
                    [0, 1, 2, 3],
                    [0, 1, 2, 3],
                ],
                "test": [
                    [0, 1, 2, 3],
                    [0, 1, 2, 3],
                    [0, 1, 2, 3],
                    [0, 1, 2, 3],
                ],
                "inverttrain": [
                    [4, 5, 6, 7],
                    [4, 5, 6, 7],
                    [4, 5, 6, 7],
                    [4, 5, 6, 7],
                ],
                "inverttest": [
                    [4, 5, 6, 7],
                    [4, 5, 6, 7],
                    [4, 5, 6, 7],
                    [4, 5, 6, 7],
                ],
            },
            "ppo": {
                "train": [
                    "output/arms_n=4_m=4_run=1240_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=4_run=1241_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=4_run=1242_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=4_run=1243_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=4_run=1244_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=4_run=1245_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=4_run=1246_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=4_run=1247_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=4_run=1248_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=4_run=1249_netsz=030_mreg=0.00",
                ],
                "test": [
                    "output/arms_n=4_m=4_run=1230_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=4_run=1231_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=4_run=1232_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=4_run=1233_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=4_run=1234_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=4_run=1235_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=4_run=1236_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=4_run=1237_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=4_run=1238_netsz=030_mreg=0.00",
                    "output/arms_n=4_m=4_run=1239_netsz=030_mreg=0.00",
                ]
            }
        },
    }

    partners = partners_dict[setting][partner_type]
    if partner_type == "fixed":
        train_partners = [
            Partner(ArmsPartnerPolicy(perm=perm)) for perm in partners["train"]
        ]
        test_partners = [
            Partner(ArmsPartnerPolicy(perm=perm)) for perm in partners["test"]
        ]
        inverttrain_partners = [
            Partner(ArmsPartnerPolicy(perm=perm))
            for perm in partners["inverttrain"]
        ]
        inverttest_partners = [
            Partner(ArmsPartnerPolicy(perm=perm))
            for perm in partners["inverttest"]
        ]
    if partner_type == "ppo":
        train_partners = [
            Partner(PPOPartnerPolicy(pmpath)) for pmpath in partners["train"]
        ]
        test_partners = [
            Partner(PPOPartnerPolicy(pmpath)) for pmpath in partners["test"]
        ]
        inverttrain_partners = None
        inverttest_partners = None

    return train_partners, test_partners, inverttrain_partners, inverttest_partners
Esempio n. 26
0
    if up:
        flags += 'u'
    if down:
        flags += 'd'
    print(flags)


pygame.init()
screen = pygame.display.set_mode([SCREEN_WIDTH, SCREEN_HEIGHT])

pygame.display.set_caption('Player Test')

all_sprites = pygame.sprite.Group()

player = Player(100, 50)
partner = Partner(50, 50, player)
#add line about player.walls later
all_sprites.add(player)
all_sprites.add(partner)

clock = pygame.time.Clock()

done = False

while not done:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            done = True
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_LEFT:
                if not right and not up and not down:
Esempio n. 27
0
 def __init__(self, machine_id, database, ui):
     Partner.__init__(self, ui)
     self.machine_id = machine_id
     self.database = database
     self.text_format = XMLFormat()
     self.server_info = {}