• No results found

7.2 The Negotiation Protocol

7.2.1 Background

The main components ofDLare described as follows (see (Harel, 1984) for more details). Agents perform atomic actionsa0, a1, ..∈Π0. Π0 represents the set of all atomic actions.

Atomic programs are basic and indivisible; they execute in a single step. They are called atomic because they cannot be decomposed further. Γ is the set of formulae. The formulae in Γ are true or not in given states and the agents change states according to the actions they perform.

A program Π is generated from Π0 by composing atomic actions using the following

operators ;,∗,?,∪. an;am signifies that am is performed after an (i.e. sequential com- position) whilea∗

n implies an iteration ofanan indeterminate number of times,ϕ? tests whether ϕ is satisfied in the current state, and an ∪am specifies a non-deterministic execution of eitheraorb. Moreover, [a]ϕdenotes that after programa∈Π is executed, ϕ Γ is necessarily true. haiϕ denotes that after program a Π is executed, it is

possible thatϕ∈Γ is true. We also introduce the predicatesDoto denote the action of making a formula true and Done to check whether an action has been executed (then true) or not (then false). Thus [Do(ϕ)]ϕmeans that after the execution of Do(ϕ), ϕis necessarily true. Similarly, [a]Done(a) means that after executing a, Done(a) is true. Finally a⊥ denotes that the execution of program a is not possible in any state. The propositional operators∧,∨,¬,↔, and 1 can be defined from and 0 in the usual way. In DL we first capture the set of all states of the world through the setS. Then,ρ: Π0

2S×S is a function taking a program and giving the corresponding set of pairs of starting and end states. In our model, the states of the world are completely represented by the ‘social’ commitments (‘social’ since they result from a public expression of a commitment that can be tracked by everyone in the society). We denote social commitments with the predicateSC. Agents therefore make social commitments to each other about particular actions which may involve deals or contracts as defined in chapter 4 (the result of the negotiation encounter), noted as (xn=vn)∧...∧(xm=vm), agents come to during and after a negotiation dialogue respectively. Here xm =vm means that an issue xm in the

deal takes a valuevm(we detail these in the next section).1 The social commitments and

enactment of deals are well formed formulae that can be made true or false according to the actions agents take. Hence, the functionρ in our model takes an action and returns formulae that represent the beginning and end state of that action. We will show the start and end states using the commitments and deals. Thus we give semantics to the negotiation dialogue in what follows.

7.2.2 The Syntax

Agents negotiate by sending illocutionary particles which contain offers and counter- offers. These illocutionary particles are considered to be actions as per speech-act theory (see section 1.4). Illocutions, from the setI Π0, generally talk about other illocutions

(to be sent at a later time) or about contracts that can be made between the pair of negotiating agents. The set of contracts to be enacted by a group of agentsg∈Gwhere G ⊆Ag, is denoted as OG. In more detail, we refine the definition of a contract from

chapter 4 to mean a composition of a number of actions noted as hDo(x1 =v1∧x2 = v2∧...∧xn=vn)i ∈ O{α} which implies that agentα is to ensure that (x=v)∈W F F (i.e. issuextakes the valuevis a well formed formula) such that [Do(x=v)](x=v). A contract would obviously contain some actions to be performed by the sender and some by the receiver (as in section 4.1) such thatO{α,β} =O{α}∪O{β}. We require that each variablexin a deal occurs at most once and that the number of variables and the values taken by them is finite.

We conceive of two general classes of illocutions that can be used in persuasive nego- tiation. The first consists of negotiation illocutions Ineg that are used in negotiation, while the second contains those illocutions Ipers that are added to form the persua- sive part of negotiation. Moreover, both these classes of illocutionary acts form the set I = Inego ∪Ipers. In a dialogue between agents α and β for example, we note Iαβ ⊆I as being those illocutions that are sent byα toβ. Finally, the set and denote the set of all illocutions that α and β can send respectively. In what follows, we detail the syntax of each of these illocutions.

7.2.2.1 Negotiation Illocutions

Ineg is the set of the usual negotiation illocutions noted as i(α, β, p) Ineg where i

{propose, accept}. These illocutions are described as follows:

propose(α, β, p) — denotes that α sends a proposal to β toaccept the deal given inp∈ O{α,β} .

accept(α, β, p) — denotes that α accepts to enact the contents of p∈ O{α,β} that it is supposed to perform (i.e. the partO{α}).

7.2.2.2 Persuasive Illocutions

We specify persuasive illocutions as follows: i(α, β, p, q) Ipers where q Deals∪I and p∈ O{α,β} and i∈ {askreward, reward}. As for negotiation illocutions, we specify below the typeq takes in the illocution.

reward(α, β, p, q) — denotes thatα will rewardβ withq∈ O{α}∪Iα ifβ accepts the deal proposed in p ∈ O{α,β}. As can be seen, q can either be a deal that is favourable to β or an illocution that will help β in future (e.g. enhance the reputation of β or an accept of a deal to be presented at a later time).

askreward(α, β, p, q) — denotes that α asks for a rewardq ∈ O{β}∪Iβ from β if

β accepts the offer presented in p∈ O{α,β}.

Having exposed the syntax of these illocutions, we next describe the components that allow us to give semantics to these illocutions.

7.2.3 Semantics of Illocutions

As discussed in section 7.2.1, the actions or programs performed by agents result in changes in the state of the world. In our model, programs consist of a number of illocutionary acts or the execution of deals. To give semantics to our model we exploit the theory presented by Bentahar et al. (2004). In their model, the authors prescribe commitments that hold in different states of the world and agents are able to navigate between different states through the actions they perform. In short, these actions lead to some commitments becoming true or false (i.e. commitments are equivalent to well- formed formulae in our model). We therefore extend the work of Bentahar et al. to incorporate the notion of persuasive negotiation. To this end, we first conceive ofComms as the set of social commitments that can be made in a dialogue as a result of illocutions being uttered and that can be retracted as other illocutions are uttered or other actions are executed. At the beginning of a negotiation dialogue (i.e. before any agent says anything), all the commitments are false. As the negotiation proceeds, some will become true (active) or false (inactive) according to the illocutions sent. Some commitments might also become false after some actions are performed after negotiation. In general, we specify a commitment in the following way:

which implies a social commitment byαtoβ to commit toq ifϕis true. By specifyingϕ in terms of the state resulting from the execution of an illocution or a contract, it is then possible to define different commitments that result from issuingpropose, accept, reward, oraskrewardas we show in the following subsections.

7.2.3.1 Basic Axioms

We start with the basic axioms and explain each of them.

[propose(α, β, p)]SC(α, β, Done(accept(β, α, p)), p). This means that α commits to enacting p if β accepts the proposal. We deal with semantics of acceptin the next section. h reward(α, β, p, q) i SC(α, β, Done(accept(β, α, p)), p) SC(α, β, Done(accept(β, α, p);p), q) .

This means thatα commits toq and its part of the dealpifβ accepts the dealp.2

h

askreward(α, β, p, q)

i

SC(α, β, Done(accept(β, α, p)), p)

SC(β, α, Done(accept(β, α, p);p), q) . This means that β is committed to givingq toαifβ ever acceptspandpis enacted at a later point in time. Moreover,α commits to enacting the proposal ifβ accepts.

We next outline the axioms that specify the constraints that exist over proposals and rewards:

Mutually exclusive proposals

^

α,β,p,p0,p06=p

SC(α, β, Done(accept(β, α, p)), p)→ ¬SC(α, β, Done(accept(β, α, p0)), p0) This is a basic statement saying that our protocol does not keep previous offers (here p0 ∈ O

{α,β}) on the negotiation table.

Mutually exclusive rewards

^

α,β,p

 ^

q,q0,q6=q0

SC(α, β, Done(acc;p), q)→ ¬SC(α, β, Done(acc;p), q0)

 

whereacc=accept(β, α, p) ifq orq0 is a reward offered byα,acc=accept(α, β, p)

ifα asked for a rewardq orq0, and q, q0∈ O{α,β}∪Iα.

This implies that there cannot be two rewards associated with the same deal at any given time.

2We assume here that the contract p is executed after theaccept. In other cases, we might have

intermediate contracts being enacted between the reception of theacceptand the enactment of pbut we do not consider this here.

Mutually exclusive rewards and proposals ^ α,β,q,q0  ^ p,p0

¬(SC(α, β, Done(accept(β, α, p);p), q)∧SC(β, α, Done(accept(β, α, p0);p0), q0))

 

wherep, p0 ∈ O {α,β}.

In essence this means that α’s commitment to giving a reward q and enacting p cannot hold together with a commitment by β to give q0 toα (which would have

asked for it before hand) and enacting p0.

7.2.3.2 Dynamics of Commitments

Here we detail those axioms that illustrate the interaction between different commitment types.

Accepting Proposals and Rewards

Accepting a proposal:

SC(α, β, Done(accept(β, α, p)), p)[accept(β, α, p)]

¬SC(α, β, Done(accept(β, α, p)), p)

∧SC(α, β, true, p0)∧SC(β, α, true, p00) wherep0 ∈ O

{α},p00 ∈ O{β}, andp=p0∪p00. Here we express that both agents are

committed to enacting the content of the deal if the recipient of the offer accepts.

Accepting a reward:

SC(α, β, Done(accept(β, α, p);p), q)[accept(β, α, p)]

¬SC(α, β, Done(accept(β, α, p);p), q)

∧SC(α, β, true, p0)∧SC(β, α, true, p00)

∧SC(α, β, Done(p), q) where p0 ∈ O

{α},p00 ∈ O{β}, and p=p0∪p00. This signifies that α and β commit

to enacting the proposal if the proposal is first accepted andαwill give the reward q∈ O{α}∪Iα ifp is enacted.

Accepting a request for a reward:

SC(α, β, Done(accept(α, β, p);p), q)[accept(β, α, p)]

¬SC(α, β, Done(accept(α, β, p);p), q)

∧SC(α, β, true, p0)∧SC(β, α, true, p00)

∧SC(β, α, Done(p), q) where p0 ∈ O

{α},p00 ∈ O{β}, and p=p0∪p00. This signifies that α and β commit

to enacting the proposal if the proposal is first accepted andβ will give the reward q∈ O{β}∪Iβ if the proposal pis enacted.

Changing Offers or Arguments

A new proposal after another proposal:

^

α,β,p,p0,p6=p0

¡

SC(α, β, Done(accept(β, α, p)), p)[propose(α, β, p0)]ϕ¢

whereSC(α, β, Done(accept(β, α, p0)), p0)∧ ¬SC(α, β, Done(accept(β, α, p)), p) =

ϕ. Here we show how commitments to a previous proposal p are revoked when a new offerp0 is made.

A new proposal after a reward:

^

α,β,p,p0,p6=p0

¡

SC(α, β, Done(acc;p), q)[propose(α, β, p0)]ϕ¢

whereϕ=SC(α, β, Done(accept(β, α, p0)), p0)∧ ¬SC(α, β, Done(acc;p), q),acc= accept(β, α, p) if α has offered reward q and acc= accept(α, β, p) iff β has asked for rewardq. Here we specify that an agent revokes a commitment topand reward q (given or asked for) if it proposes a new offer p0.

A new reward following another reward:

^

α,β,p,q,q0,q6=q0

¡

SC(α, β, acc, q)[reward(α, β, p, q0)]ϕ¢

whereϕ=SC(α, β, Done(accept(β, α, p);p), q0)∧ ¬SC(α, β, Done(acc;p), q), and

acc = accept(β, α, p) iff α offers reward q and q0 and acc = accept(α, β, p) iff β

asks for reward q or q0. This specifies that α commits to a new reward q0 and

decommits from a past reward q (given or asked) if it offers a new reward given the same proposalp.

A new proposal and reward following another proposal and reward:

^

α,β,q,p,p0,p6=p0

¡

SC(α, β, Done(acc;p), q)[reward(α, β, p0, q)]ϕ¢

where ϕ = SC(α, β, Done(accept(β, α, p0);p0), q) ∧ ¬SC(α, β, Done(acc;p), q),

and acc =accept(β, α, p) iff α gives reward q and acc=accept(α, β, p) iff β asks for rewardq. This says thatαcommits to a new proposalp0and the same rewardq.

Asking for a reward after another reward:

^

α,β,p,q,q0,q6=q0

¡

SC(α, β, Done(acc;p), q)[askreward(α, β, p, q0)]ϕ¢

where ϕ = SC(β, α, Done(accept(β, α, p);p), q0) ∧ ¬SC(α, β, Done(acc;p), q)),

acc=accept(β, α, p) iffα offered rewardq andacc=accept(α, β, p) iffβ asked for rewardq. This means thatα revokes its commitment to give a different reward q if it asks for a reward q0 from β. This ensures there only exists one offer and one

reward on the table at any time.

Asking for a reward after another proposal (with reward):

^

α,β,q,p,p0,p6=p0

(SC(α, β, Done(acc;p), q)[askreward(α, β, p0, q)]ϕ)

where ϕ = SC(β, α, Done(accept(β, α, p0)), q) ∧ ¬SC(α, β, Done(acc;p), q)),

acc = accept(β, α, p) iff α offered reward q and acc = accept(α, β, p) iff β asked for reward q. This says that α commits β to give reward q if it accepts the offer inp0 while revoking its commitment to giveq ifβ acceptsp.

Enacting Proposals and Rewards

SC(α, β, true, p)[p]¬SC(α, β, true, p)

wherep∈ O{α}. This simply means that after the dealpis achieved the commitment is revoked. Whenβ also fulfills its commitment to its part of the contract, we consider the contract of the agents to terminate at this point. However, in the case where a reward has been given or offered earlier, the enactment of the proposal leads to an unconditional commitment to enacting the reward as follows:

SC(α, β, Done(p), q)[p]¬SC(α, β, true, p)∧SC(α, β, true, q)

The commitment to the reward q is then revoked when the reward is enacted in the same way as for a proposal. This can be achieved simply by substituting the offerp by

the appropriate reward (given or asked) that ensues from accepting a particular offer.