aderir a padrão de código python
This commit is contained in:
@ -1,6 +1,7 @@
|
|||||||
from enum import Enum
|
from enum import Enum
|
||||||
import random
|
import random
|
||||||
|
|
||||||
|
|
||||||
class Estrategia(Enum):
|
class Estrategia(Enum):
|
||||||
Neutro = 0
|
Neutro = 0
|
||||||
Tit4Tat = 1
|
Tit4Tat = 1
|
||||||
@ -11,22 +12,27 @@ class Estrategia(Enum):
|
|||||||
class Agente():
|
class Agente():
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
# definir estrategia aleatoriamente
|
# definir estrategia aleatoriamente
|
||||||
self.estrategia = Estrategia(random.randint(0,Estrategia.__len__()-1))
|
self.estrategia = Estrategia(random.randint(0, Estrategia.__len__()-1))
|
||||||
self.definir_fatores_estrategia()
|
self.definir_fatores_estrategia()
|
||||||
# identificador de agente
|
# identificador de agente
|
||||||
self.id_agente = id(self)
|
self.id_agente = id(self)
|
||||||
|
|
||||||
# factores da estrategia (probabilidade): 0...1
|
# factores da estrategia (probabilidade): 0...1
|
||||||
# amabilidade -> não desertar a menos que o adversário deserte (0 -> desertar sempre; 1 -> nunca desertar)
|
# amabilidade -> não desertar a menos que o adversário deserte
|
||||||
|
# (0 -> desertar sempre; 1 -> nunca desertar)
|
||||||
amabilidade = 0
|
amabilidade = 0
|
||||||
# retaliação -> retaliar quando um adversário deserta (0 -> nunca retaliar; 1 -> retaliar sempre)
|
# retaliação -> retaliar quando um adversário deserta
|
||||||
|
# (0 -> nunca retaliar; 1 -> retaliar sempre)
|
||||||
retaliação = 0
|
retaliação = 0
|
||||||
# perdao -> perdoar um adversário desertor, assim que este deixa de desertar (0 -> nunca perdoar; 1 -> perdoar sempre)
|
# perdao -> perdoar um adversário desertor, assim que este deixa de
|
||||||
|
# desertar
|
||||||
|
# (0 -> nunca perdoar; 1 -> perdoar sempre)
|
||||||
perdao = 0
|
perdao = 0
|
||||||
# coerencia -> ser coerente na estrategia, evitar aleatoriedade (0 -> nunca coerente; 1 -> sempre coerente)
|
# coerencia -> ser coerente na estrategia, evitar aleatoriedade
|
||||||
|
# (0 -> nunca coerente; 1 -> sempre coerente)
|
||||||
coerencia = 0
|
coerencia = 0
|
||||||
|
|
||||||
# definir factores de estrategia com base na estrategia
|
# definir factores de estrategia com base na estrategia
|
||||||
|
|
||||||
def definir_fatores_estrategia(self):
|
def definir_fatores_estrategia(self):
|
||||||
match self.estrategia:
|
match self.estrategia:
|
||||||
case Estrategia.Neutro:
|
case Estrategia.Neutro:
|
||||||
@ -50,7 +56,6 @@ class Agente():
|
|||||||
self.perdao = 0.5
|
self.perdao = 0.5
|
||||||
self.coerencia = 0.5
|
self.coerencia = 0.5
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
agente = Agente()
|
agente = Agente()
|
||||||
|
|
||||||
@ -68,4 +73,4 @@ print(f'\tCOerência: {agente.coerencia}')
|
|||||||
# for estrategia in lista_estrategias:
|
# for estrategia in lista_estrategias:
|
||||||
# print(estrategia)
|
# print(estrategia)
|
||||||
|
|
||||||
#print(lista_estrategias)
|
# print(lista_estrategias)
|
||||||
|
|||||||
Reference in New Issue
Block a user