package agents; import java.util.List; import genius.core.Bid; import genius.core.Domain; import genius.core.actions.Action; import genius.core.parties.AbstractNegotiationParty; import genius.core.uncertainty.AdditiveUtilitySpaceFactory; import genius.core.uncertainty.BidRanking; import genius.core.uncertainty.ExperimentalPairwiseComparisonUserModel; import genius.core.utility.AbstractUtilitySpace; public class UncertaintyAgentExample extends AbstractNegotiationParty { @Override public Action chooseAction(List> possibleActions) { System.out.println("UncertaintyAgentExample: "); BidRanking bidRanking = userModel.getBidRanking(); ExperimentalPairwiseComparisonUserModel e = (ExperimentalPairwiseComparisonUserModel) userModel; AbstractUtilitySpace realUSpace = e.getRealUSpace(); System.out.println("BidRanking:"); String r = ""; for (Bid b : bidRanking) { r += b.toString() + " (real util: " + realUSpace.getUtility(b) + ") <= "; } System.out.println(r); Domain domain = bidRanking.getMmaximalBid().getDomain(); AdditiveUtilitySpaceFactory factory = new AdditiveUtilitySpaceFactory(domain); factory.estimateUsingBidRanks(bidRanking); System.out.println("Estimated util space: " + factory.getUtilitySpace()); System.out.println("Real util space: " + realUSpace); return null; } @Override public String getDescription() { return "Example agent that can deal with uncertain preferences"; } }