-
Notifications
You must be signed in to change notification settings - Fork 10
Domains & Preference Profiles
Preference profiles are represented by means of additive utility functions. For example, if there are
four issues to negotiate about, the utility function can be computed by a weighted sum of the values associated
with each of these issues. So, let bid = (i1, i2, i3 , i4)
be a particular bid. Then the utility u(bid) = u(i1,i2,i3,i4)
(given weights w1, w2, w3, w4
) can be calculated by:
u(i1, i2, i3, i4) = w1 * u(i1) + w2 * u(i2 ) + w3 · u(i3) + w4 * u(i4)
To give an concrete example from Genius (preference profiles of ANAC2016/Caduceus), think about a negotiation scenario in a smart grid where agents are trying to come up an agreement on price, amount and time for the grid. Domain representation of this scenario can be (party_domain.xml):
...
<objective index="0" etype="objective" type="objective" description="" name="Party">
<issue index="1" etype="discrete" type="discrete" vtype="discrete" name="Food">
<item index="1" value="Chips and Nuts" cost="100"></item>
<item index="2" value="Finger-Food" cost="170"></item>
<item index="3" value="Handmade Food" cost="120" ></item>
<item index="4" value="Catering" cost="250"></item>
</issue>
<issue index="2" etype="discrete" type="discrete" vtype="discrete" name="Drinks">
<item index="1" value="Non-Alcoholic" cost="75"></item>
<item index="2" value="Beer Only" cost="300"></item>
<item index="3" value="Handmade Cocktails" cost="200"></item>
<item index="4" value="Catering" cost="450"></item>
</issue>
<issue index="3" etype="discrete" type="discrete" vtype="discrete" name="Location">
<item index="1" value="Party Tent" cost="200"></item>
<item index="2" value="Your Dorm" cost="100"></item>
<item index="3" value="Party Room" cost="400"></item>
<item index="4" value="Ballroom" cost="600"></item>
</issue>
<issue index="4" etype="discrete" type="discrete" vtype="discrete" name="Invitations">
<item index="1" value="Plain" cost="25"></item>
<item index="2" value="Photo" cost="75"></item>
<item index="3" value="Custom, Handmade" cost="50"></item>
<item index="4" value="Custom, Printed" cost="150"></item>
</issue>
<issue index="5" etype="discrete" type="discrete" vtype="discrete" name="Music">
<item index="1" value="MP3" cost="100"></item>
<item index="2" value="DJ" cost="250"></item>
<item index="3" value="Band" cost="350"></item>
</issue>
<issue index="6" etype="discrete" type="discrete" vtype="discrete" name="Cleanup">
<item index="1" value="Water and Soap" cost="20"></item>
<item index="2" value="Specialized Materials" cost="60"></item>
<item index="3" value="Special Equiment" cost="150"></item>
<item index="4" value="Hired Help" cost="200"></item>
</issue>
</objective>
...
A preference profile based this specification can be:
<utility_space>
<objective name="Smart_Grid" index="0" description="" etype="objective" type="objective">
<issue vtype="discrete" name="Price" index="1" etype="discrete" type="discrete">
<item evaluation="2" index="1" value="0-10 cent"></item>
<item evaluation="2" index="2" value="10-20 cent"></item>
<item evaluation="1" index="3" value="20-30 cent"></item>
<item evaluation="1" index="4" value="30-40 cent"></item>
<item evaluation="1" index="5" value="40-50 cent"></item>
</issue>
<issue vtype="discrete" name="Amount" index="2" etype="discrete" type="discrete">
<item evaluation="1" index="1" value="0-50 kw"></item>
<item evaluation="2" index="2" value="50-100 kw"></item>
<item evaluation="3" index="3" value="100-150 kw"></item>
<item evaluation="4" index="4" value="150-200 kw"></item>
</issue>
<issue vtype="discrete" name="Time" index="3" etype="discrete" type="discrete">
<item evaluation="3" index="1" value="00-06"></item>
<item evaluation="4" index="2" value="06-12"></item>
<item evaluation="1" index="3" value="12-18"></item>
<item evaluation="2" index="4" value="18-00"></item>
</issue>
<weight index="1" value="0.4666916452909337"></weight>
<weight index="2" value="0.17815636418679337"></weight>
<weight index="3" value="0.3551519905222729"></weight>
</objective>
<discount_factor value="1.0"></discount_factor>
<reservation value="0.0"></reservation>
</utility_space>
To see the domains that are provided with Genius check here.
Please create an issue, if you find any errors or you want a topic covered in this wiki.
- Java Programming Cheatsheet
- Setting Up Genius Environment
- Stacked Alternating Offers Protocol
- AbstractNegotationParty Methods
- How to generate a random bid?
- How to generate a random bid with a utility threshold?
- How to change the content of a bid?
- How to keep track of time in a negotiation session?
- How to get the maximum and minimum bid?
- How to iterate all bids in a domain?
- How to access weights of each issue?
- How to access the evaluation of a value?