Added silent training

This commit is contained in:
2024-06-09 00:37:04 +02:00
parent a812aebb77
commit ad32b75e50
+7 -7
View File
@@ -122,7 +122,7 @@ class MachinePlayer(APlayer):
def __init__(self, mark='X', with_debug=False, values=None): def __init__(self, mark='X', with_debug=False, values=None):
APlayer.__init__(self, mark) APlayer.__init__(self, mark)
self.p_exp = 0.2 self.p_exp = 0.2
self.alpha = 0.2 self.alpha = 0.9
self.with_debug = with_debug self.with_debug = with_debug
if values is None: if values is None:
self.values = {} self.values = {}
@@ -179,7 +179,7 @@ class MachinePlayer(APlayer):
self.state = self.state_from_move(state, move) self.state = self.state_from_move(state, move)
# Learn # Learn
if not is_exp and self.state_last is not None: if not is_exp:
v0 = self.get_value(self.state_last) v0 = self.get_value(self.state_last)
v1 = self.get_value(self.state) v1 = self.get_value(self.state)
d = max(0, v1-v0) d = max(0, v1-v0)
@@ -246,16 +246,16 @@ def play(player_provider: PlayerProvider, k_max=10000, with_print=False):
move += 1 move += 1
px = MachinePlayer(mark='X', with_debug=True) px = MachinePlayer(mark='X', with_debug=False)
po = MachinePlayer(mark='O', with_debug=True) po = MachinePlayer(mark='O', with_debug=False)
do_training = 1 do_training = 1
if do_training: if do_training:
players = PlayerProvider(px, po) players = PlayerProvider(px, po)
play(players, 10000, True) play(players, 20000, False)
#players = PlayerProvider(MachinePlayer(mark='X', with_debug=True, values=px.values), MachinePlayer(mark='O', with_debug=True, values=po.values)) players = PlayerProvider(MachinePlayer(mark='X', with_debug=True, values=px.values), MachinePlayer(mark='O', with_debug=True, values=po.values))
#play(players, 100, True) play(players, 100, True)
print("Testing") print("Testing")
test_sample([0.7, 0.1, 0.1, 0.1]) test_sample([0.7, 0.1, 0.1, 0.1])