Ejemplo n.º 1
0
 def politica(self, U):
     A, S = self._modelo.A, self._modelo.S
     PI = dict()
     for s in S():
         a_max = argmax(A(s), lambda a: self.util_accao(s, a, U))
         PI[s] = a_max
     return PI
Ejemplo n.º 2
0
 def _politica(self, U):
     S, A = self._modelo.S, self._modelo.A
     PI = {}
     for s in S():
         PI[s] = argmax(A(s), lambda a: self._utilaccao(s, a, U))
     print(PI)
     return PI
Ejemplo n.º 3
0
 def politica(self, modelo, U):
     #argMax e da psa e recebe o dominio de valores e a funcao, e pega em cada elemento do dominio e activa a funcao com esse elemtno,
     #calcular os valores todos e retornar o elemento que produziu os valores maiores
     S, A = modelo.S, modelo.A
     pol = {}
     for s in S():
         pol[s] = argmax(A(s), lambda a: self._util_accao(modelo, s, a, U))
     return pol
Ejemplo n.º 4
0
 def seleccionar_opcoes(self, opcoes):
     # ver as opcoes avaliar os planos
     # escolher a utilidade, que pode ser definida como constante ou calculada
     # sorted( lambda utilidade)
     if opcoes:
         criterio_avaliacao = lambda opcao: opcao.obter_utilidade()
         opcao_sel = argmax(opcoes, criterio_avaliacao)
         self.intencoes.append(opcao_sel)
Ejemplo n.º 5
0
 def max_accao(self, s):
     shuffle(self.accoes)
     return argmax(self.accoes, lambda a:self.qval(s,a))
Ejemplo n.º 6
0
 def _max_accao(self, s):
     return argmax(self._accoes, lambda a : self._mem_aprend[(s,a)])
Ejemplo n.º 7
0
 def maxtrans(self, estado, modelo, V):
     trans = modelo.transicoes(estado)
     a, s = argmax( trans , lambda (a,s): V.get(s, 0))
     return a, s
Ejemplo n.º 8
0
 def max_accao(self, s):
     # baralha a lista para garantir que nao corremos sempre a mesma lista
     shuffle( self.accoes)
     return argmax( self.accoes, lambda a: self.qval(s,a) )
Ejemplo n.º 9
0
 def max_accao(self, s):
     # selecionar a accao com melhor recompensa
     shuffle(self._accoes)
     return argmax(self._accoes, lambda a: self._mem_aprend[(s, a)])