def __init__(self, actions, rand_init=True, name="Linear-Q", alpha=0.001, gamma=0.99, epsilon=0.2, explore="uniform", feature=None, anneal=True, sarsa=False): # name = name + "-rbf" if rbf else name QLearningAgent.__init__(self, actions=list(actions), name=name, alpha=alpha, gamma=gamma, epsilon=epsilon, explore=explore, anneal=anneal) self.sarsa = sarsa self.feature = feature # function (state, action) -> features (numpy vector) self.num_features = self.feature.num_features() # Add a basis feature. self.rand_init = rand_init if rand_init: self.weights = np.random.random(self.num_features * len(self.actions)) else: self.weights = np.zeros(self.num_features * len(self.actions)) self.max_weight = 0.0
def __init__(self, actions, num_features, rand_init=True, name="Linear-Q", alpha=0.2, gamma=0.99, epsilon=0.2, explore="uniform", rbf=False, anneal=True): name = name + "-rbf" if rbf else name QLearningAgent.__init__(self, actions=list(actions), name=name, alpha=alpha, gamma=gamma, epsilon=epsilon, explore=explore, anneal=anneal) self.num_features = num_features self.rand_init = rand_init # Add a basis feature. if rand_init: self.weights = np.random.random(self.num_features * len(self.actions)) else: self.weights = np.zeros(self.num_features * len(self.actions)) self.rbf = rbf
def __init__(self, actions, num_features, rand_init=True, name="Linear-Q", alpha=0.2, gamma=0.99, epsilon=0.2, explore="uniform", anneal=True): QLearningAgent.__init__(self, actions=list(actions), name=name, alpha=alpha, gamma=gamma, epsilon=epsilon, explore=explore, anneal=anneal) self.num_features = num_features self.rand_init = rand_init # Add a basis feature. if rand_init: self.weights = np.random.random(self.num_features*len(self.actions)) else: self.weights = np.zeros(self.num_features*len(self.actions))