source: opponentmodel/src/main/java/geniusweb/opponentmodel/OpponentModel.java@ 22

Last change on this file since 22 was 20, checked in by bart, 4 years ago

Added BOA support, some bug fixes

File size: 1.6 KB
RevLine 
[14]1package geniusweb.opponentmodel;
2
[18]3import geniusweb.actions.Action;
[20]4import geniusweb.issuevalue.Bid;
[18]5import geniusweb.issuevalue.Domain;
[14]6import geniusweb.profile.Profile;
7import geniusweb.profile.utilityspace.UtilitySpace;
[18]8import geniusweb.progress.Progress;
[14]9
10/**
11 * An opponentmodel estimates a {@link UtilitySpace} from received opponent
[18]12 * actions.
13 * <h1>Requirement</h1> A OpponentModel must have a constructor that takes the
14 * Domain as argument. unfortunately this can not be enforced in a java
15 * interface
[20]16 *
17 * <p>
18 * <em>MUST</em> have an empty constructor as these are also used as part of the
19 * BOA framework.
20 *
[14]21 */
22public interface OpponentModel extends Profile {
[18]23
[14]24 /**
[20]25 * Initializes the model. This function must be called first after
26 * constructing an instance. It can also be called later, if there is a
27 * change in the domain or resBid.
28 *
29 * @param domain the domain to work with
30 * @param resBid the reservation bid, or null if no reservationbid is
31 * available.
32 * @return OpponentModel that uses given domain and reservationbid.
33 *
34 */
35 OpponentModel with(Domain domain, Bid resBid);
36
37 /**
[18]38 * Update this with a new action that was done by the opponent that this
39 * model is modeling. {@link #with(Domain)} must be called before calling
40 * this.
41 *
42 * @param action the new incoming action.
43 * @param progress the current progress of the negotiation. Calls to this
44 * must be done with increasing progress.
45 * @return the updated {@link OpponentModel}
[14]46 */
[18]47 OpponentModel with(Action action, Progress progress);
[14]48
49}
Note: See TracBrowser for help on using the repository browser.