public class AlternatingMajorityConsensusProtocol extends AlternatingMultipleOffersProtocol
AlternatingMultipleOffersProtocol but now
an offer is accepted if the majority (instead of all) accept.
Protocol:
Round 1 (offers): Each agent makes an offer Round 2 (voting): Each agent votes for each offer on the table The offer that is supported by the most parties, will stay on the table. If a new offer has more supporting parties, it overwrites the old offer. This protocol always has some agreement. When deadline reached, the most recent agreement will be considered the final agreement.
isAborted| Constructor and Description |
|---|
AlternatingMajorityConsensusProtocol() |
| Modifier and Type | Method and Description |
|---|---|
protected Offer |
acceptedOffer(Round votingRound,
Round offerRound)
returns the first offer with more support than the current one, or null
if no such offer.
|
boolean |
isFinished(Session session,
java.util.List<NegotiationParty> parties)
Check if the protocol is done or still busy.
|
allActionsAreOffers, createRound, createTurn, createTurn, getActionListeners, getCurrentAgreement, getNumberOfAgreeingParties, getRoundStructure, isVotingRound, nrOfVotesafterSession, applyAction, beforeSession, checkOffer, endNegotiation, endNegotiation, exclude, includeOnly, listenToAll, listenToNonepublic AlternatingMajorityConsensusProtocol()
public boolean isFinished(Session session, java.util.List<NegotiationParty> parties)
MultilateralProtocolSessionManager will not start a new
Round after the current one. It will however finish all the turns
described in the
MultilateralProtocol.getRoundStructure(java.util.List, genius.core.session.Session)
method.isFinished in interface MultilateralProtocolisFinished in class AlternatingMultipleOffersProtocolsession - the current state of this sessionparties - all the parties involved in the negotiationprotected Offer acceptedOffer(Round votingRound, Round offerRound)
acceptedOffer in class AlternatingMultipleOffersProtocolvotingRound - the round with the voting (expected number of turns is agent#
* agent#)offerRound - the round with the offers (expected number of turns is agent#)