source: src/main/java/parties/feedbackmediator/partialopponentmodel/ValuePreferenceNode.java@ 126

Last change on this file since 126 was 126, checked in by Aron Hammond, 6 years ago

Added function to calculate opposition to MultiLateralAnalysis.java

Moved code to add RLBOA listeners to RLBOAUtils is misc package

Added input for strategyParameters to SessionPanel (gui)

!! close SessionInfo after tournament; this caused /tmp/ to fill up with GeniusData files

Our own package:

  • Added opponents and strategies that are mentioned in the report
  • Change class hierarchy, agents can now extend from RLBOAagentBilateral to inherit RL functionality.
  • States extend from AbstractState
File size: 3.6 KB
Line 
1package parties.feedbackmediator.partialopponentmodel;
2
3import java.util.ArrayList;
4
5import genius.core.issue.Value;
6
7/**
8 *
9 * @author Reyhan Aydogan
10 *
11 */
12
13public class ValuePreferenceNode {
14
15 private ArrayList<Value> morePreferredList; // more preferred values
16 private ArrayList<Value> lessPreferredList; // less preferred values
17 private ArrayList<Value> equallyPreferredList;
18 private int depth; // depth of the node in the preference graph
19
20 public ValuePreferenceNode(Value value, int assignedDepth) {
21 morePreferredList = new ArrayList<Value>();
22 lessPreferredList = new ArrayList<Value>();
23 equallyPreferredList = new ArrayList<Value>();
24 addEquallyPreferredValue(value);
25 setDepth(assignedDepth);
26 }
27
28 public ValuePreferenceNode(Value value) {
29 morePreferredList = new ArrayList<Value>();
30 lessPreferredList = new ArrayList<Value>();
31 equallyPreferredList = new ArrayList<Value>();
32 addEquallyPreferredValue(value);
33 setDepth(1);
34 }
35
36 public ArrayList<Value> getMorePreferredList() {
37 return morePreferredList;
38 }
39
40 public void setMorePreferredList(ArrayList<Value> morePreferredList) {
41 this.morePreferredList = morePreferredList;
42 }
43
44 public void addMorePreferredValue(Value preferredValue) {
45 if (!morePreferredList.contains(preferredValue))
46 this.morePreferredList.add(preferredValue);
47 }
48
49 public void addMorePreferredValues(ArrayList<Value> preferredValues) {
50
51 for (Value currentValue : preferredValues) {
52 addMorePreferredValue(currentValue);
53 }
54 }
55
56 // RA: We can also add removeMorePreferredValue or Values method if it is
57 // necessary
58
59 public ArrayList<Value> getLessPreferredList() {
60 return lessPreferredList;
61 }
62
63 public void setLessPreferredList(ArrayList<Value> lessPreferredList) {
64 this.lessPreferredList = lessPreferredList;
65 }
66
67 public void addLessPreferredValue(Value lessPreferredValue) {
68 if (!lessPreferredList.contains(lessPreferredValue))
69 this.lessPreferredList.add(lessPreferredValue);
70 }
71
72 public void addLessPreferredValues(ArrayList<Value> lessPreferredValues) {
73
74 for (Value currentValue : lessPreferredValues) {
75 addLessPreferredValue(currentValue);
76 }
77 }
78
79 public ArrayList<Value> getEqualPreferredList() {
80 return equallyPreferredList;
81 }
82
83 public void setEquallyPreferredList(ArrayList<Value> equalPreferredList) {
84 this.equallyPreferredList = equalPreferredList;
85 }
86
87 public void addEquallyPreferredValue(Value equallyPreferredValue) {
88 if (!equallyPreferredList.contains(equallyPreferredValue))
89 this.equallyPreferredList.add(equallyPreferredValue);
90 }
91
92 public void addEquallyPreferredValues(ArrayList<Value> equallyPreferredValues) {
93
94 for (Value currentValue : equallyPreferredValues) {
95 addEquallyPreferredValue(currentValue);
96 }
97 }
98
99 public int increaseDepth(int amount) {
100 this.depth += amount;
101 return this.depth;
102 }
103
104 public int getDepth() {
105 return depth;
106 }
107
108 public void setDepth(int depth) {
109 this.depth = depth;
110 }
111
112 @Override
113 public String toString() {
114 StringBuffer buffy = new StringBuffer();
115
116 buffy.append("Values:");
117 for (Value current : equallyPreferredList)
118 buffy.append(" ").append(current);
119
120 buffy.append("\n\tDepth: ").append(depth).append("\n");
121
122 buffy.append("\tLess Preferred Node List:");
123
124 if (lessPreferredList.size() == 0)
125 buffy.append(" None");
126
127 for (Value lessPreferredValue : lessPreferredList)
128 buffy.append(" ").append(lessPreferredValue.toString());
129
130 buffy.append("\n\tMore Preferred Node List:");
131
132 if (morePreferredList.size() == 0)
133 buffy.append(" None");
134
135 for (Value morePreferredValue : morePreferredList)
136 buffy.append(" ").append(morePreferredValue.toString());
137
138 return buffy.toString();
139 }
140
141}
Note: See TracBrowser for help on using the repository browser.