12.03.2015 Views

Ostracism in Multi-Agent Systems - CEUR Workshop Proceedings

Ostracism in Multi-Agent Systems - CEUR Workshop Proceedings

Ostracism in Multi-Agent Systems - CEUR Workshop Proceedings

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

We use a game-theoretic approach by model<strong>in</strong>g <strong>in</strong>teractions as a two player prisoner’s dilemma<br />

game. The norm is that agents ought to cooperate (i.e. an agent disobeys the norm by defect<strong>in</strong>g).<br />

In order for two agents to <strong>in</strong>teract, there must be a path <strong>in</strong> the graph between the two (i.e. only<br />

neigbors, and neighbors of neighbors can <strong>in</strong>teract). One agent will search for a path that leads to<br />

another agent with which to <strong>in</strong>teract. The search<strong>in</strong>g agent we will call <strong>in</strong>itiator agent, the agent<br />

chosen to <strong>in</strong>teract we will call partner agent, and the rest of the agents <strong>in</strong> the path we will call<br />

mediator agents. The partner f<strong>in</strong>d<strong>in</strong>g process is expla<strong>in</strong>ed below, but first we need to formally<br />

describe some terms.<br />

We def<strong>in</strong>e the set of neighbors of an agent a i as the set of agents it is l<strong>in</strong>ked to directly <strong>in</strong> the<br />

graph: Neighbors(a i ) = {a j ∈ Ag | (a i , a j ) ∈ Rel}. Each agent also has a set of agents it blocks<br />

(an agent cannot block itself ): Blocked(a i ) ⊆ Ag \ {a i }. An agent a i can query another agent a j<br />

about its neighbors. We denote the set of agents that a j answers with reportedNeighbors(a i , a j ) ⊆<br />

Neighbors(a j ). This set depends on the block<strong>in</strong>g strategy of a j . The diferent strategies will be<br />

expla<strong>in</strong>ed below. A path is a f<strong>in</strong>ite (ordered) sequence of agents p = [a 1 , a 2 , . . . , a n ] such that for<br />

all i with 1 ≤ i ≤ n − 1 we have that a i+1 ∈ Neighbors(a i ), and for all i, j with 1 ≤ i, j ≤ n and<br />

i ≠ j we have that a i ≠ a j . The agent a 1 of a path is the <strong>in</strong>itiator agent, agent a n is the partner<br />

agent, the rest are mediator agents.<br />

In order to f<strong>in</strong>d a partner, the <strong>in</strong>itiator agent a i creates a path p = [a i ] with itself as the only<br />

agent <strong>in</strong> it. The <strong>in</strong>itiator agent will then query the last agent <strong>in</strong> the path (the first time it will be<br />

itself) to give it a list of its neighbors. It will choose one of them 2 (a j ) and adds it to the end of<br />

the path p = [a i , ..., a j ]. At this po<strong>in</strong>t, if agent a j allows it, the <strong>in</strong>itiator agent can choose agent a j<br />

as the partner. Otherwise, it can query agent a j and cont<strong>in</strong>ue search<strong>in</strong>g for a partner. 3<br />

Once the partner is chosen a prisoner’s dilemma game is played between the <strong>in</strong>itiator and the<br />

partner. The game results and path are given to each of the play<strong>in</strong>g agents. Play<strong>in</strong>g agents<br />

can choose to send this <strong>in</strong>formation to all the mediators <strong>in</strong> the path. This is what we call gossip,<br />

which conta<strong>in</strong>s the agents’ names and their strategy choices for the given game: Gossip =<br />

〈ag i , choice i , ag j , choice j 〉, where choice i and choice j are either cooperate or defect.<br />

Dur<strong>in</strong>g the whole process agents can execute any of the follow<strong>in</strong>g actions:<br />

• Return a list of neighbor<strong>in</strong>g agents when asked for its neighbors.<br />

• Choose one of the agents of a list as a mediator.<br />

• Choose an agent as partner for an <strong>in</strong>teraction.<br />

• Choose a strategy to play <strong>in</strong> the PD game when <strong>in</strong>teract<strong>in</strong>g.<br />

• Inform mediators of the outcome of the <strong>in</strong>teraction.<br />

Our society of agents will be composed of three types of agents, each one hav<strong>in</strong>g different<br />

strategies for the actions it can execute. The meek agent is the norm-abid<strong>in</strong>g agent that always<br />

cooperates. It will always return all its neighbors to any agent that asks, it will choose an agent<br />

randomly from the list as the mediator, with probability p it will choose the mediator as the partner<br />

and with probability 1 − p will ask it for its neighbors, it will always cooperate <strong>in</strong> the PD game,<br />

and f<strong>in</strong>ally it will do noth<strong>in</strong>g <strong>in</strong>dependently of the game outcome. The violator agent has exactly<br />

the same strategies as a meek agent, except that it will always defect when play<strong>in</strong>g a game.<br />

F<strong>in</strong>ally, the enforcer agent is the one with the ability to block violators, which is essential <strong>in</strong><br />

order to achieve their ostracism. An enforcer agent has the same strategies as the meek agent<br />

with the follow<strong>in</strong>g exceptions: It will add agents that have defected aga<strong>in</strong>st it to the set of blocked<br />

agents, and will <strong>in</strong>form all mediators when this happens. If an enforcer is <strong>in</strong>formed of the results of<br />

a game it was mediat<strong>in</strong>g, it will act as if it had played the game itself. Enforcer agents will never<br />

choose an agent <strong>in</strong> their blocked set as a partner, and will not allow an agent <strong>in</strong> their blocked set<br />

to choose it as a partner. Therefore, a violator agent will never be able to <strong>in</strong>teract with an enforcer<br />

who is block<strong>in</strong>g it. When an enforcer agent is asked to return a list of its neighbors by an agent who<br />

is not <strong>in</strong> its blocked set, two different strategies are possible. The Uni-Directional Blockage (UDB)<br />

strategy, where all its neighbors will be returned (reportedNeighbors(a i , a m ) = Neighbors(a m )).<br />

2 To avoid loops, an agent that is already part of the path cannot be chosen aga<strong>in</strong>.<br />

3 It may happen that a path’s last element is an agent that refuses to play a game with the <strong>in</strong>itiator agent, and<br />

will return an empty list of agents when queried for its neighbors. In that case backtrack<strong>in</strong>g is applied.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!