• Aucun résultat trouvé

The parameter P determines the type of imitation to be performed. We can find the following families:

Relative Tit-For-Tat. The agent reproduces, in percentage terms, the behavior that its opponent showed

δ > 1

steps ago.

Absolute Tit-For-Tat. The same as before, but in absolute terms.

Averaged Tit-For-Tat. The agent applies the average of percentages of changes in a window of size

λ ≥ 1

of its opponent's history.

We compute the values for the issues under negotiation according to each strategy.

4. Similarity Measure

We propose a new session similarity measure and use this measure for calculating the similarity between strategies of negotiators. In this section, we define two key concepts: first distance between two sessions and second distance between two offers.

4.1. Distance Between Sessions

A session is defined as an ordered sequence of offers which an agent creates during a negotiation based on its strategy [3]. To detect similarity between negotiators' strategies, we use data obtained from sessions. Therefore we just select offers proposing by an agent.

The idea behind our definition of similarity, or distance, between negotiation sessions is that it should somehow reflect the amount of work needed to transform one negotiation session to another [8,9]. The definition of similarity is formalized as an extended Levenshtein distance eld(S, R) for two sessions S and R.

Operations. To calculate the Levenshtein distance we need to define a set of transformation operations. We have chosen to use three operations:

ins(O): inserts an offer of the type O to the negotiation session.

del(O): deletes an offer of the type O from the negotiation session.

update(O, O'): change an existing offer from O to O' in the negotiation session.

Cost of Operations. Instead of checking the equality between two offers OS and OR from two sessions S and R respectively, for each operation we associate a cost cost(op) based on the distance between offers. The cost of an insertion operation is defined by Eq. (9) where O' is a previous offer of O in the negotiation session.

cost(ins(O)) = distance(O', O) . (9)

With this definition the cost of adding an outlying offer into the negotiation session is higher than the cost of adding in a neighboring offer. In Section 4.2 we discuss about the distance between two offers.

The cost of a deletion operation is defined to be the same as the cost of an insert-operation. It is proved that if the cost of insertion is equal to the cost of deletion then for all negotiation sessions S and R we have [9]:

eld(S, R)=eld(R, S) . (10)

The cost of an update-operation is defined as Eq. (11) where V is a constant value.

cost(update(O, O'))=V.distance(O, O') . (11)

With this definition a low distance has a lower cost that a higher distance.

Definition of Distance. If the cost of an operation opi is cost(opi), and k is the number of operations in the sequence Opj, Eq. (12) calculates the cost of operation sequence Opj = op1, op2, …, opk.

=

=

k

i

i

j

co st op

Op cost

1

) ( )

(

. (12)

The distance eld(S, R) is defined as the sum of costs of the cheapest sequence of operations transforming S into R as shown in Eq. (13).

eld(S, R) = min{cost(Opj) | Opj is an operation sequence transforming a

session S into a session R } . (13)

That is eld(S, R) is the minimum sum of costs of operations transforming S into R.

We use a dynamic programming approach to find the extended Levenshtein distance of two sessions S and R (eld(S, R)). This is dynamic programming approach to calculate the distance between two sessions.

CostType eld(OfferType R[], OfferType S[]) { CostType cost[n+1][m+1];

cost[0][0]=0;

//for session S

for (int i=1;i<=m;i++) //session S has m offers cost[0][i] = cost[0][i-1]+ins(S[i]);

//for session R

for (int i=1;i<=n;i++) //session R has n offers cost[i][0] = cost[i-1][0]+del(R[i]);

for (int i=1; i<=n;i++) for (int j=1;j<=m;j++)

cost[i][j]=min{cost[i-1][j]+del(R[i]), cost[i][j-1]+ins(S[j]),

cost[i-1][j-1]+update(R[i], S[j])};

return cost[n][m];

}

4.2. Distance Between Offers

The distance between two offers in insert, delete and update operation can be defined in a different way for each type of negotiation. Let O and O' be two offers.

In a single issue negotiation, distances do not need normalization. If each offer has a quantitative value such as price, we define distance(O, O') as Eq. (14).

distance(O, O')= | O - O' | . (14)

For a qualitative issue distance can be calculated based on equality. In that case, the distance between any two offers is defined to be 0 if they are equal; and a positive value if they are not equal. This value can be chosen based on fuzzy logic or based on the utility function.

In multiple issue negotiation, for each issue oj the distance is calculated based on its quantitative or qualitative value. Then the Euclidean distance is used for calculating the distance between offers. If the issues have different importance, their importance have influence on the distance value. Eq. (15) shows how to calculate the distance between two offers.

where wjis an appropriate weight representing the importance of the issue j and

1

In multiple issue negotiation, the distance between issues needs to be normalized because it influences the distance between offers. For this purpose, for each issue oj and o'j the distance is calculated as:

)

In this section we describe how we have evaluated the effectiveness of using this measure for detecting similar negotiator strategies under different negotiation situations. In this experiment we generate 2500 negotiation sessions. In each session a buyer and a seller negotiate for price as a single issue. They choose one of the implemented strategies that were discussed above (Conceder, Linear, Boulware, Relative TFT, Absolute TFT, and Average TFT). An agent's utility function is defined as:

⎪ ⎪

Buyers and sellers save information about their strategies, outcome and all exchanged offers during the process of negotiation. Information about buyers and sellers' strategies is shown in table 1 and 2.

Table 1. Percent of Buyers' Strategies

Strategy Percent

Relative TFT 15.4

Random Absolute TFT 19.6

Average TFT 17.6

Boulware 15.8 Linear 15.4 Conceder 16.2 Total 100.0 Table 2. Percent of Sellers' Strategies

Strategy Percent

Relative TFT 17.2

Random Absolute TFT 12.8

Average TFT 18.2

Boulware 16.8 Linear 16.4 Conceder 18.6 Total 100.0

After gathering data from all sessions, we choose sessions with “accepted”

outcome. In each session we choose buyer offers to detect similarity of buyers strategies. We use our method for calculating the distance between these sessions to determine the distance between buyers' strategies.

After calculating all distances we use the k-medoids algorithm [12] to cluster the sessions based on these distances, in order to evaluate our measure. This algorithm is helpful because the center of each cluster is one of the points existing in the data belonging to that cluster. Therefore, the cluster centers are negotiation sessions. This characteristic is important because in this work, we have distances between sessions and do not need to know the offers made during the sessions; therefore, to find a cluster center we just need a session which has minimum distance with other sessions in the cluster. As a result, the comparison between sessions and the cluster center is simple.

Furthermore to cluster a new buyer we can compare it with cluster centers if we have the offers of the cluster center session to calculate distance. If a cluster center is not one