source: src/main/java/agents/anac/y2018/condagent/UtilitySpaceHypothesis.java@ 341

Last change on this file since 341 was 341, checked in by Katsuhide Fujita, 4 years ago

Katsuhide Fujita added ANAC2018 agents.

File size: 1.6 KB
Line 
1package agents.anac.y2018.condagent;
2
3
4import java.util.List;
5import negotiator.Bid;
6import negotiator.Domain;
7import negotiator.issue.Issue;
8import negotiator.utility.AdditiveUtilitySpace;
9
10public class UtilitySpaceHypothesis extends Hypothesis
11{
12 private WeightHypothesis fWeightHyp;
13 private EvaluatorHypothesis[] fEvalHyp;
14 private Domain fDomain;
15 private AdditiveUtilitySpace fUS;
16 List<Issue> issues;
17
18 public UtilitySpaceHypothesis(Domain pDomain, AdditiveUtilitySpace pUS, WeightHypothesis pWeightHyp, EvaluatorHypothesis[] pEvalHyp)
19 {
20 fUS = pUS;
21 fDomain = pDomain;
22 issues = fDomain.getIssues();
23 fWeightHyp = pWeightHyp;
24 fEvalHyp = pEvalHyp;
25 }
26
27 public Domain getDomain() {
28 return fDomain;
29 }
30
31 public AdditiveUtilitySpace getUtilitySpace() {
32 return fUS;
33 }
34
35 public EvaluatorHypothesis[] getEvalHyp() {
36 return fEvalHyp;
37 }
38
39 public WeightHypothesis getHeightHyp() {
40 return fWeightHyp;
41 }
42
43 public double getUtility(Bid pBid) {
44 double u = 0.0D;
45
46 for (int k = 0; k < fEvalHyp.length; k++) {
47 try
48 {
49 u = u + fWeightHyp.getWeight(k) *
50 fEvalHyp[k].getEvaluator().getEvaluation(fUS, pBid,
51 ((Issue)issues.get(k)).getNumber()).doubleValue();
52 }
53 catch (Exception e) {
54 u = 0.0D;
55 }
56 }
57 return u;
58 }
59
60 public String toString()
61 {
62 String lResult = "";
63 lResult = lResult + fWeightHyp.toString();
64 for (EvaluatorHypothesis lHyp : fEvalHyp) {
65 lResult = lResult + lHyp.toString() + ";";
66 }
67 lResult = lResult + String.format("%1.5f", new Object[] { Double.valueOf(getProbability()) });
68 return lResult;
69 }
70}
Note: See TracBrowser for help on using the repository browser.