コード例 #1
0
ファイル: period.py プロジェクト: orangeups/aligulac
    get_new_players(cplayers, period, prev)

    # Update RDs since a period has passed
    for cp in cplayers.values():
        decay_dev(cp)

    # Collect match information
    num_games = get_matches(cplayers, period)
    print('Initialized: {0} players and {1} games. Updating...'.format(len(cplayers), num_games))

    # Update ratings
    num_retplayers = 0
    num_newplayers = 0
    for cp in cplayers.values():
        (newr, newd, compr, compd) = update(cp.get_rating_array(), cp.get_dev_array(),\
                array(cp.oppr), array(cp.oppd), array(cp.oppc), array(cp.W), array(cp.L),\
                cp.player.tag, False)
        #break
        cp.new_rating = array_to_dict(newr)
        cp.new_dev = array_to_dict(newd)
        cp.comp_rating = array_to_dict(compr)
        cp.comp_dev = array_to_dict(compd)

        # Count player as returning or new
        if len(cp.W) > 0 and cp.prev_rating_obj:
            num_retplayers += 1
        elif len(cp.W) > 0:
            num_newplayers += 1
    #sys.exit(0)

    # Get a table of existing rating objects
コード例 #2
0
ファイル: period.py プロジェクト: lcetinsoy/aligulac
            players[m.plb_id]["wins"].append(m.scb * weight)
            players[m.plb_id]["losses"].append(m.sca * weight)

    ngames += m.sca + m.scb
# }}}

print("[%s] Initialized %i players and %i games" % (str(datetime.now()), len(players), ngames), flush=True)

# {{{ Compute new ratings, devs and performances
for p in players.values():
    new_ratings, new_devs = update(
        array([p["prev_ratings"]["M"], p["prev_ratings"]["P"], p["prev_ratings"]["T"], p["prev_ratings"]["Z"]]),
        array([p["prev_devs"]["M"], p["prev_devs"]["P"], p["prev_devs"]["T"], p["prev_devs"]["Z"]]),
        array(p["opp_r"]),
        array(p["opp_d"]),
        array(p["opp_c"]),
        array(p["wins"]),
        array(p["losses"]),
        p["player"].tag,
        False,
    )

    perfs = performance(
        array(p["opp_r"]),
        array(p["opp_d"]),
        array(p["opp_c"]),
        array(p["wins"]),
        array(p["losses"]),
        p["player"].tag,
        False,
    )
コード例 #3
0
ファイル: period.py プロジェクト: Lukepmcauley/aligulac
            ))
            players[m.plb_id]['wins'].append(m.scb * weight)
            players[m.plb_id]['losses'].append(m.sca * weight)

    ngames += m.sca + m.scb
# }}}

print('[%s] Initialized %i players and %i games' % (str(datetime.now()), len(players), ngames), flush=True)

# {{{ Compute new ratings, devs and performances
for p in players.values():
    new_ratings, new_devs = update(
        array(
            [p['prev_ratings']['M'], p['prev_ratings']['P'], 
            p['prev_ratings']['T'], p['prev_ratings']['Z']]
        ),
        array([p['prev_devs']['M'], p['prev_devs']['P'], p['prev_devs']['T'], p['prev_devs']['Z']]),
        array(p['opp_r']), array(p['opp_d']), array(p['opp_c']), 
        array(p['wins']), array(p['losses']), p['player'].tag, False
    )

    perfs = performance(
        array(p['opp_r']), array(p['opp_d']), array(p['opp_c']), array(p['wins']), array(p['losses'])
    )

    p.update({
        'new_ratings': { 'M': new_ratings[0], 'P': new_ratings[1], 'T': new_ratings[2], 'Z': new_ratings[3] },
        'new_devs': { 'M': new_devs[0], 'P': new_devs[1], 'T': new_devs[2], 'Z': new_devs[3] },
        'perfs': { 'M': perfs[0], 'P': perfs[1], 'T': perfs[2], 'Z': perfs[3] },
    })
# }}}
コード例 #4
0
ファイル: period.py プロジェクト: r3sp/aligulac
            players[m.plb_id]['losses'].append(m.sca * weight)

    ngames += m.sca + m.scb
# }}}

print('[%s] Initialized %i players and %i games' %
      (str(datetime.now()), len(players), ngames),
      flush=True)

# {{{ Compute new ratings, devs and performances
for p in players.values():
    new_ratings, new_devs = update(
        array([
            p['prev_ratings']['M'], p['prev_ratings']['P'],
            p['prev_ratings']['T'], p['prev_ratings']['Z']
        ]),
        array([
            p['prev_devs']['M'], p['prev_devs']['P'], p['prev_devs']['T'],
            p['prev_devs']['Z']
        ]), array(p['opp_r']), array(p['opp_d']), array(p['opp_c']),
        array(p['wins']), array(p['losses']), p['player'].tag, False)

    perfs = performance(array(p['opp_r']),
                        array(p['opp_d']), array(p['opp_c']), array(p['wins']),
                        array(p['losses']), p['player'].tag, False)

    p.update({
        'new_ratings': {
            'M': new_ratings[0],
            'P': new_ratings[1],
            'T': new_ratings[2],
            'Z': new_ratings[3]