Ostracism in Multi-Agent Systems - CEUR Workshop Proceedings
Ostracism in Multi-Agent Systems - CEUR Workshop Proceedings
Ostracism in Multi-Agent Systems - CEUR Workshop Proceedings
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.