diff --git a/dilema_prisioneiro.py b/dilema_prisioneiro.py index 4e62ff3..4c008a4 100644 --- a/dilema_prisioneiro.py +++ b/dilema_prisioneiro.py @@ -1,6 +1,7 @@ from enum import Enum import random + class Estrategia(Enum): Neutro = 0 Tit4Tat = 1 @@ -11,22 +12,27 @@ class Estrategia(Enum): class Agente(): def __init__(self): # 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() # identificador de agente self.id_agente = id(self) # 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 - # 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 - # 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 - # 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 - # definir factores de estrategia com base na estrategia + def definir_fatores_estrategia(self): match self.estrategia: case Estrategia.Neutro: @@ -50,7 +56,6 @@ class Agente(): self.perdao = 0.5 self.coerencia = 0.5 - agente = Agente() @@ -68,4 +73,4 @@ print(f'\tCOerência: {agente.coerencia}') # for estrategia in lista_estrategias: # print(estrategia) -#print(lista_estrategias) \ No newline at end of file +# print(lista_estrategias)