Changes between Version 329 and Version 330 of WikiStart


Ignore:
Timestamp:
07/30/20 10:54:36 (4 years ago)
Author:
wouter
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart

    v329 v330  
    273273The party module also contains basic interfaces for implementing your negotiation party. These interfaces are only relevant to create a party compatible with our reference implementation of the [https://tracinsy.ewi.tudelft.nl/pubtrac/GeniusWebPartiesServer partiesserver]. The main class is Party, which defines the basic functionality required for a negotiation party on our server. The heart of the party is that your Party implements Connectable<Inform,Action>. Connectable contains 2 main functions: connect and disconnect.  When connect is called, your party receives a Connection over which it receives Inform objects and can send Action objects. What exactly is sent and received is determined by the protocol (see the protocol section below). For example if the SAOP protocol is used, your party will receive a YourTurn message, after which it decides on its action and sends it into the Connection. See also the example party discussed below.
    274274
     275
    275276=== Capabilities
    276277The party specifies its capabilities.
     
    348349||= Implementation =||= behaviour =||= parameters =||
    349350||FrequencyOpponentModel||Counts for each issue the frequency of offered values to estimate opponent UtilitySpace. || - ||
     351
     352
     353== BOA
     354Boa (Bidding, Opponent Model, Acceptance Model) is an attempt to split negotiation into three basic components: modeling the opponent's profile, determining a proper next action and determining when to accept [https://homepages.cwi.nl/~baarslag/pub/Decoupling_Negotiating_Agents_to_Explore_the_Space_of_Negotiation_Strategies_ACAN_2012.pdf]. The boa module allows parties to be written with this and provides example implementations of the components.
     355
     356
     357=== BoaParty, DefaultBoa
     358DefaultBoa is an abstract party that takes BOA components and makes it into a runnable Party. How this is done is discussed in #WritingaBoaParty.
     359
     360BoaParty is a party that allows you to select the BOA components as needed using the Parameters. This is discussed in more detail in #BoaParty.
     361
     362== BoaState
     363The internal state information of DefaultBoa is stored in the BoaState. This allows efficient sharing of these internals with the components of a Boa party and helps improving efficiency of the code.
     364
     365The BOA model uses three major components: the OpponentModel, the BiddingStrategy and the AcceptanceStrategy. OpponentModel has been discussed already (see [#OpponentModel]).
     366
     367All subcomponents may be configurable through the parameters. The DefaultBoa just shares its state, with all parameters with all subcomponents. This means that the names of your parameters should avoid names already in use.
     368
     369=== Bidding Strategy
     370A Bidding Strategy determines what action to take in which state, through this interface function
     371{{{
     372Action getAction(BoaState state);
     373}}}
     374The following implementations are provided with the Boa Framework
     375
     376||= Implementation =||= behaviour =||= parameters =||
     377||TimeDependentBiddingStrategy||Bids according to an exponentially decreasing utility target. See javadoc for details. ||e,k,min,max. See javadoc for details.||
     378
     379You can create a custom BiddingStrategy by just implementing the BiddingStrategy interface.
     380
     381=== Acceptance Strategy
     382A Acceptance Strategy determines what action to take in which state, through this interface function
     383{{{
     384Boolean isAcceptable(Bid bid, BoaState negoState);
     385}}}
     386The following implementations are provided with the Boa Framework
     387
     388||= Implementation =||= behaviour =||= parameters =||
     389||TimeDependentAcceptanceStrategy||Accepts according to an exponentially decreasing utility target. See javadoc for details. ||e,k,min,max. See javadoc for details.||
    350390
    351391== BidSpace
     
    707747
    708748
    709 == BoaState
    710 The internal state information of DefaultBoa is stored in the BoaState. This allows efficient sharing of these internals with the major components of a Boa party.
    711 
    712 A DefaultBoa uses three major components: the OpponentModel, the BiddingStrategy and the AcceptanceStrategy. OpponentModel has been discussed already (see [#OpponentModel]).
    713 
    714 These components may be configurable through the parameters. Currently they just share the parameters with the DefaultBoa party. This means that the names of your parameters should avoid names already in use.
    715 
    716 
    717 === Bidding Strategy
    718 A Bidding Strategy determines what action to take in which state, through this interface function
    719 {{{
    720 Action getAction(BoaState state);
    721 }}}
    722 The following implementations are provided with the Boa Framework
    723 
    724 ||= Implementation =||= behaviour =||= parameters =||
    725 ||TimeDependentBiddingStrategy||Bids according to an exponentially decreasing utility target. See javadoc for details. ||e,k,min,max. See javadoc for details.||
    726 
    727 You can create a custom BiddingStrategy by just implementing the BiddingStrategy interface.
    728 
    729 === Acceptance Strategy
    730 A Acceptance Strategy determines what action to take in which state, through this interface function
    731 {{{
    732 Boolean isAcceptable(Bid bid, BoaState negoState);
    733 }}}
    734 The following implementations are provided with the Boa Framework
    735 
    736 ||= Implementation =||= behaviour =||= parameters =||
    737 ||TimeDependentAcceptanceStrategy||Accepts according to an exponentially decreasing utility target. See javadoc for details. ||e,k,min,max. See javadoc for details.||
    738749
    739750