source: src/main/java/negotiator/boaframework/acceptanceconditions/other/AC_MAC.java

Last change on this file was 127, checked in by Wouter Pasman, 6 years ago

#41 ROLL BACK of rev.126 . So this version is equal to rev. 125

File size: 1.9 KB
Line 
1package negotiator.boaframework.acceptanceconditions.other;
2
3import java.util.ArrayList;
4import java.util.Map;
5
6import genius.core.boaframework.AcceptanceStrategy;
7import genius.core.boaframework.Multi_AcceptanceCondition;
8import genius.core.boaframework.NegotiationSession;
9import genius.core.boaframework.OfferingStrategy;
10import genius.core.boaframework.OpponentModel;
11import genius.core.boaframework.OutcomeTuple;
12
13/**
14 * The MAC is a tool which allows to test many acceptance strategies in the same
15 * negotiation trace. Each AC generates an outcome, which is saved separately.
16 * Note that while this tool allows to test a large amount of AC's in the same
17 * trace, there is a computational cost. Therefore we recommend to use at most
18 * 50 AC's.
19 *
20 * Decoupling Negotiating Agents to Explore the Space of Negotiation Strategies
21 * T. Baarslag, K. Hindriks, M. Hendrikx, A. Dirkzwager, C.M. Jonker
22 *
23 * @author Alex Dirkzwager
24 */
25public class AC_MAC extends Multi_AcceptanceCondition {
26
27 /**
28 * Empty constructor for the BOA framework.
29 */
30 public AC_MAC() {
31 }
32
33 @Override
34 public void init(NegotiationSession negoSession, OfferingStrategy strat, OpponentModel opponentModel,
35 Map<String, Double> parameters) throws Exception {
36 this.negotiationSession = negoSession;
37 this.offeringStrategy = strat;
38 outcomes = new ArrayList<OutcomeTuple>();
39 ACList = new ArrayList<AcceptanceStrategy>();
40
41 for (int a = 0; a < 2; a++) {
42 for (int b = 0; b < 3; b++) {
43 for (int c = 0; c < 3; c++) {
44 for (int d = 0; d < 4; d++) {
45 ACList.add(new AC_CombiV4(negotiationSession, offeringStrategy, 1.0 + 0.05 * a, 0.0 + 0.05 * b,
46 1.0 + 0.05 * c, 0.0 + 0.05 * d, 0.95));
47 }
48 }
49 }
50 }
51 for (int e = 0; e < 5; e++) {
52 ACList.add(new AC_CombiMaxInWindow(negotiationSession, offeringStrategy, 0.95 + e * 0.01));
53 }
54 }
55}
Note: See TracBrowser for help on using the repository browser.