コード例 #1
0
 def test_make(self):
     register(env_id='test_make', entry_point='rlcard.envs.tarot:TarotEnv')
     env = rlcard.make('test_make')
     _, player = env.init_game()
     self.assertEqual(player, 0)
     with self.assertRaises(ValueError):
         make('test_random_make')
コード例 #2
0
 def test_make(self):
     register(env_id='test_make',
              entry_point='rlcard.envs.blackjack:BlackjackEnv')
     env = rlcard.make('test_make')
     _, player = env.reset()
     self.assertEqual(player, 0)
     with self.assertRaises(ValueError):
         make('test_random_make')
コード例 #3
0
from yaniv_rl.models.yaniv_rule_models import YanivNoviceRuleAgent, YanivIntermediateRuleAgent
from yaniv_rl import utils
from rlcard.envs.registration import register, make
import sys 
register(
    env_id='yaniv',
    entry_point='yaniv_rl.envs.yaniv:YanivEnv',
)


agents = [RandomAgent(488), YanivNoviceRuleAgent(), YanivIntermediateRuleAgent()]

# Make environment

eval_num = 10000
env = make('yaniv', config={'seed': 0, 'starting_player': 0})
table = [[0 for i in range(3)] for i in range(3)]
for i in range(3):
    # player v player
    env.set_agents([agents[i], agents[i]])
    res = utils.tournament(env, eval_num)
    print("{} vs {}: ".format(i, i), res)
    winrate = res['wins'][0] / eval_num
    table[i][i] = winrate
for agent_1, agent_2 in combinations(agents, 2):
    a1i = agents.index(agent_1)
    a2i = agents.index(agent_2)
    
    env.set_agents([agent_1, agent_2])
    res = utils.tournament(env, eval_num)
    print("{} vs {}: ".format(a1i, a2i), res)
コード例 #4
0
from yaniv_rl import utils
from rlcard.envs.registration import register, make

register(
    env_id='yaniv',
    entry_point='yaniv_rl.envs.yaniv:YanivEnv',
)

agents = [
    RandomAgent(488),
    YanivNoviceRuleAgent(),
    YanivIntermediateRuleAgent()
]

# Make environment
env = make('yaniv', config={'seed': 0})

eval_num = 10000

table = [[0 for i in range(3)] for i in range(3)]
for i in range(3):
    # player v player
    env.set_agents([agents[i], agents[i]])
    res = utils.tournament(env, eval_num)
    winrate = res['wins'][0] / eval_num
    table[i][i] = winrate

for agent_1, agent_2 in combinations(agents, 2):
    a1i = agents.index(agent_1)
    a2i = agents.index(agent_2)
    env.set_agents([agent_1, agent_2])
コード例 #5
0
 def test_make_modes(self):
     register(env_id='test_env',
              entry_point='rlcard.envs.blackjack:BlackjackEnv')
     with self.assertRaises(ValueError):
         make('test_env', config={'active_player': -1})
コード例 #6
0
ファイル: battle.py プロジェクト: GoooKuuu/NoLimitHoldem
from rlcard.envs.registration import register, make
import numpy as np
import time

start = time.time()
battle_number = 100000
Reward = 0
for _ in range(battle_number):
    env = make('no-limit-holdem',config={'single_agent_mode':True})
    #print('---------------new game------------------------')
    state = env.reset()
    #dealer_id = env.game.dealer_id
    #print("dealer id即小盲注位置为:",env.game.dealer_id)
    #print('state:',state)
    while True:
        action = np.random.choice(state['legal_actions'])
        #print('选择的动作为:',action)
        state,reward,done = env.step(action)
        #print('state:',state)
        #print('reweard:',reward)
        #print('done:',done)
        if done:
            Reward += reward
            break
end = time.time()
print('the average payoff of {} battles TP Vs random opponent:{}'.format(battle_number,Reward/battle_number))
print('time is:',end-start)