Skip to content

Instantly share code, notes, and snippets.

@dakshanand
Created December 15, 2017 06:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dakshanand/c83cf4419cd55157678eae9286a20405 to your computer and use it in GitHub Desktop.
Save dakshanand/c83cf4419cd55157678eae9286a20405 to your computer and use it in GitHub Desktop.
def askAdvice(self, state):
global msgGive, msgAsk
msgGive[self.agentNumber] = []
for i in range(numAgents):
msgAsk[i][self.agentNumber] = state
while True:
self.giveAdvice()
if len(msgGive[self.agentNumber]) == numAgents - 1:
break
return (majorityVote(msgGive[self.agentNumber]))
def giveAdvice(self):
for i in range(numAgents):
if i == self.agentNumber or msgAsk[self.agentNumber][i] == 0:
continue
state = msgAsk[self.agentNumber][i]
msgGive[i].append((self.agentNumber, -1))
msgAsk[self.agentNumber][i] = 0
threads = []
agents = [Agent(1,j) for j in range(numAgents)]
for j in range(numAgents):
t = threading.Thread(target=agents[j].run)
threads.append(t)
t.start()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment