Competition Settings and Quick Start Guide

Competition Settings

Rules

Challenge: agents can make use of bids in previous negotiation sessions. Therefore, we explicitly permit the use of local file and a popular machine learning library (scikit-learn).

Parameters of Domains and Profiles

Evaluation

The performance of the agents will be determined by the average individual utilities gained by each agent, and the average social welfares (the sum of individual utilities of each agent) gained by each agent, separately. That means, we have two categories for the winners: individual utility winners and social welfare winners. The teams of the top performing agents will be notified, and the final results and awards will be announced at PRIANAC session. It is expected that teams that make it through to the finals will have a representative attending PRIANAC session. We reserve the right to disqualify agents under certain circumstances. Teams in the final will be given the opportunity to give a brief presentation describing their agent at the session.

Environment(TBD)

Quick Start Guide for Automated Negotiation

Negotiation Domain

Domains define negotiation spaces which represent valid bids. In multi-issue negotiations adopted in PRIANAC, domains consist of issues and values of each issue. Agents select a value for each issue and propose it. A set of selected value is called bid.

A simple example is lunch-domain. Issues are Food and Drink, and values are Hamburger, Pizza, and so on. A bid is represented as (Hamburger,Cola).

Issue Value 1 Value 2
Food Hamburger Pizza
Drink Cola Beer

Utility Function

Let n be the number of issues and βiw(i=0nβiw=1.0) be the weight of each issue i. Utility function U(ω) of bid ω is

U(ω)=i=1nβiwui(ωi)

, where ωi{0,1}ni is a chosen value in issue i represented as a one-hot vector.
For each issue i, let ni be the number of values of the issue and utility function ui(ωi) be
ui(ωi)=j=1niβjvωij

, where βjv is an evaluation value of j and normalized to satisfy max({βjv1jni,jN})=1.0.

Agents have unique βw and βv to represent its preference. These parameters are defined in a profile.

Now, let us consider lunch-domain. We assume βiw and βjv as the following table. Utility function U(ω) of bid ω=(Hamburger,Beer) is

U(ω)=βFoodwβHamburgerv+βDrinkwβBeerv=0.91.

Issue Value 1 Value 2
βFoodw=0.3 βHamburgerv=0.7 βPizzav=1.0
βDrinkw=0.7 βColav=0.2 βBeerv=1.0

We can explain utility function in vector notation. In lunch-domain, let ω=(is_Hamburger,is_Pizza,is_Cola,is_Beer) be a bid and β=(βFoodwβHamburgerv,βFoodwβPizzav,βDrinkwβColav,βDrinkwβBeerv) be weights and evaluation values.
Utility function U(ω) of bid ω is

U(ω)=βTω.

Hamburger Pizza Cola Beer
is_Hamburger=1 is_Pizza=0 is_Cola=0 is_Beer=1
Hamburger Pizza Cola Beer
βFoodwβHamburgerv=0.21 βFoodwβPizzav=0.30 βDrinkwβColav=0.14 βDrinkwβBeerv=0.70

Negotiation Protocol

The negotiation protocol adopted in PRIANAC is Alternating Offers Protocol (AOP). In AOP, agents take one of the following actions alternately.

Negotiations end in the following cases.

Each agent obtains utility U(ω) when Accept for ω is performed. In other cases, each agent obtains a reservation value.

Time Representation

A Negotiation has timeline t, which is normalized to the range [0;1]. t=0 represents the time of starting a negotiation, and t=1 means the deadline.

Discount Factor

Discount factor decreases agent’s utility depending on t. Discounted utility UD(ω,t) is

UD(ω,t)=U(ω)δt

, where δ(0δ1) is a discount coefficient define in a profile. δ=1.0 means utility is independent of t.

Reservation Value

Reservation value is utility of agents when negotiations failed. Reservation value is defined in profiles. Considering discount factor, utility in failed negotiations is

RVD(t)=RVδt

, where RV(0RV1) is a reservation value define in a profile.

Following pages would help you when you make an agent.