Last change
on this file since 345 was 1, checked in by Wouter Pasman, 6 years ago |
Initial import : Genius 9.0.0
|
File size:
1.3 KB
|
Line | |
---|
1 | package agents.anac.y2010.Southampton.similarity;
|
---|
2 |
|
---|
3 | import agents.anac.y2010.Southampton.utils.concession.ConcessionFunction;
|
---|
4 | import agents.anac.y2010.Southampton.utils.concession.TimeConcessionFunction;
|
---|
5 | import genius.core.AgentParam;
|
---|
6 | import genius.core.tournament.VariablesAndValues.AgentParameterVariable;
|
---|
7 |
|
---|
8 | /**
|
---|
9 | * @author Colin Williams
|
---|
10 | * A 'similarity' agent with a variable concession strategy.
|
---|
11 | *
|
---|
12 | */
|
---|
13 | public class VariableConcessionSimilarityAgent extends SimilarityAgent {
|
---|
14 |
|
---|
15 | protected ConcessionFunction cf;
|
---|
16 |
|
---|
17 | /** (non-Javadoc)
|
---|
18 | * @see agents.southampton.similarity.SimilarityAgent#getTargetUtility(double, double)
|
---|
19 | */
|
---|
20 | @Override
|
---|
21 | protected double getTargetUtility(double myUtility, double oppntUtility) {
|
---|
22 | try {
|
---|
23 | return getConcession(utilitySpace.getUtility(myPreviousBids.get(0)));
|
---|
24 | } catch (Exception e) {
|
---|
25 | e.printStackTrace();
|
---|
26 | return 0;
|
---|
27 | }
|
---|
28 | }
|
---|
29 |
|
---|
30 | private double getConcession(double startUtility) {
|
---|
31 | if (cf == null)
|
---|
32 | cf = new TimeConcessionFunction(parametervalues.get(new AgentParameterVariable(new AgentParam("common", "beta", 0.0, 10.0))).getValue(),
|
---|
33 | TimeConcessionFunction.BREAKOFF);
|
---|
34 | double currentTime = timeline.getTime() * timeline.getTotalTime() * 1000;
|
---|
35 | double totalTime = timeline.getTotalTime() * 1000;
|
---|
36 | return cf.getConcession(startUtility, Math.round(currentTime), totalTime);
|
---|
37 | }
|
---|
38 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.