While the first clause handles the creation of the
gameboard GID by setting the game state argGame,
the second clause sets the list of players PL.
Argument Game. The moves update the gameboard
only if they are legal moves. The update game/3
predicate below, specifies that a Move is produced as
an event that modifies the state of a game Gb only if
such a move is legal at time T in such a game.
update game (Gb, AID , Move): −
now( T ) , l e g a l
a t (Gb, AID , Move , T ) ,
update (Move , T ) .
The legal at/4 predicate defines which moves
can be performed at a certain time. For example, if
the agent is trying to produce an assertion move, the
artifact checks if the argument in the assertion is a
new one. If this is the case it updates the common
partial argumentation framework.
i n i t i a t e s a t ( gb ( Gb) = argument ( AID , Arg ) , T): −
ha ppens at (move (Gb, AID , a l l , as s ert , ArgID , Arg ) , T ) .
l e g a l a t ( Gb, AID , move (Gb, AID , a l l , as s ert , ArgID , Arg ) , T): −
h o l d s a t ( move( Gb , AID , a l l , a s se r t , ArgID , Arg ) , T ) ,
not ( h o l d s a t ( gb (Gb)= argument ( , Arg ) , T ) ) .
In the case that the argument is already present in
the gameboard, the gameboard will not be updated,
because the legal at/4 predicate defined above will
check if in the gameboard Gb it exists an argument
Arg that is the same as the one being asserted. It
is important to notice that the argument id (ArgID)
is required as the gameboard can have multiple ar-
guments simultaneously initiated. Furthermore, the
legal at/4 predicate can be used by the agents to
check if the next move they want to perform is a le-
gal move. In other words the legal at/4 predicate
can be used by the agents in combination with the
holds at/2 predicate of the EC to perceive the game-
board state.
The argument game ends when all the players
withdraw:
t e r m i n a t e s a t ( gb (Gb) = s t a t e ( argGame ) , T): −
ha ppens at (move (Gb, AID , a l l , with draw , no , no ) , T ) ,
not (
h o l d s a t ( gb (Gb)= p l ay e r ( AID2 ) , T ) ,
h o l d s a t ( pl a y e r ( AID2)= st a t u s ( moreArg ) , T ) ,
not AID = AID2
) .
i n i t i a t e s a t ( gb ( Gb) = s t a t e ( attGame ) , T): −
ha ppens at (move (Gb, AID , a l l , with draw , no , no ) , T ) ,
not (
h o l d s a t ( gb (Gb)= p l ay e r ( AID2 ) , T ) ,
h o l d s a t ( pl a y e r ( AID2)= st a t e (Gb, moreArg ) , T ) ,
not AID = AID2
) .
In the rules defined above, the argument game
ends when all the agents perform a withdraw move,
and so the attack game is initiated. For the argument
game, the withdraw move is always legal.
Attack Game. In this game, agents assert/deny at-
tacks or withdraw. After an assertion (resp. deny),
the artifact updates the common partial argumentation
framework if it is the case:
i n i t i a t e s a t ( gb ( Gb) = at t a c k ( A t t ID ) , T): −
ha ppens at (move (Gb, AID , a l l , as s ert , At t ID , A t t ) , T ) .
i n i t i a t e s a t ( gb ( Gb) = ig n o re ( At t I D ) , T): −
ha ppens at (move (Gb, AID , AID2 , deny , Att I D , A t t ) , T ) .
Similarly to the previous subgame, the moves up-
date the gameboard only if they are legal moves.
l e g a l a t ( Gb, AID , move (Gb, AID , a l l , a s se r t , A t tID , A t t ) , T): −
not (
h o l d s a t ( gb (Gb)= at t a c k ( , A t t ) , T ) ,
h o l d s a t ( gb (Gb)= i gn or e ( , A t t ) , T )
) .
l e g a l a t ( Gb, AID , move (Gb, AID , a l l , deny , Att I D , A t t ) , T ) ,
h o l d s a t ( gb (Gb)= at t a c k ( , A t t ) , T ) ,
not h o l d s a t ( gb (Gb)= i gn or e ( , A t t ) , T ) .
The two legal at/4 predicates specified above
state that the assertion of an attack is legal if the at-
tack is not already present in the game, even if the
identifier is different. Similarly, the deny of an attack
is legal if the attack already exists in the gameboard
and the attack is not already ignored. As for the argu-
ment game, a withdraw move is always legal.
The attack game ends when all the players with-
draws, which is also the termination condition for the
whole game:
t e r m i n a t e s a t ( gb (Gb) = s t a t e ( attGame ) , T): −
ha ppens at ( wi t h d r a w (Gb, AID ) , T ) ,
not (
h o l d s a t ( gb (Gb)= p l ay e r ( AID2 ) , T ) ,
h o l d s a t ( pl a y e r ( AID2)= st a t u s ( m ore att a c ks ) , T ) ,
not AID = AID2
) .
i n i t i a t e s a t ( gb ( Gb) = s t a t e ( f i n a l ) , T): −
ha ppens at ( wi t h d r a w (Gb, AID ) , T ) ,
not (
h o l d s a t ( gb (Gb)= p l ay e r ( AID2 ) , T ) ,
h o l d s a t ( pl a y e r ( AID2)= st a t u s ( m ore att a c ks ) , T ) ,
not AID = AID2
) .
Rational Rules. Each player ag
i
, which is associated
with an argumentation framework AF
i
= hA
i
,R
i
i, can
check the legality of moves using the EC predicate
legal at/4 and submit it if it is the case.
As previously discussed, during the argument
game, agents assert new arguments or withdraw. At
time t, an agent can submit a move based on the fol-
lowing rational rule:
ag
i
utters
m = hgid, ag
i
,all,assert, ai
if ∃a ∈ A
i
∧ legal at(gid, ag
i
,m,t)
m = hag
i
,all,withdraw, nulli else
(1)
MultipartyArgumentationGameforConsensualExpansion
163