class EvitarMem(Reaccao): def __init__(self): self._explorar = Explorar() self._mem_posicao = [] self._max_memoria = 100 def _detectar_estimulo(self,percepcao): return percepcao.posicao def _gerar_resposta(self,posicao): memoria_posicao = self.recordar(posicao) self.memorizar(posicao) self.esquecer() if memoria_posicao: return self._explorar.activar(None) def recordar(self, posicao): for memorias in self._mem_posicao: if memorias == posicao: return True def memorizar(self, posicao): self._mem_posicao.append(posicao) def esquecer(self): if len(self._mem_posicao) == self._max_memoria: self._mem_posicao.pop(0)
class EvitarPassado(Reaccao): def __init__(self): self._memoria = [] self._memoria_max = 20 self._explorar = Explorar() def detectar_estimulo(self, percepcao): return percepcao.posicao def gerar_resposta(self, estimulo): recordar = self._recordar(estimulo) self._memorizar(estimulo) self._esquecer() if recordar: return self._explorar.activar() def _recordar(self, posicao): return posicao in self._memoria def _esquecer(self): if len(self._memoria) > self._memoria_max: self._memoria.pop(0) def _memorizar(self, posicao): self._memoria.append(posicao)
def __init__(self): self._explorar = Explorar() self._mem_posicao = [] self._max_memoria = 100
def __init__(self): self._memoria = [] self._memoria_max = 20 self._explorar = Explorar()