Last change
on this file since 165 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.1 KB
|
Rev | Line | |
---|
[127] | 1 | package negotiator.parties;
|
---|
| 2 |
|
---|
| 3 | import java.util.List;
|
---|
| 4 | import java.util.Random;
|
---|
| 5 |
|
---|
| 6 | import genius.core.Bid;
|
---|
| 7 | import genius.core.bidding.BidDetails;
|
---|
| 8 | import genius.core.misc.Range;
|
---|
| 9 | import genius.core.parties.NegotiationInfo;
|
---|
| 10 |
|
---|
| 11 | public class NonDeterministicConcederNegotiationParty extends AbstractTimeDependentNegotiationParty {
|
---|
| 12 |
|
---|
| 13 | public static final double DELTA = 0.05;
|
---|
| 14 | protected Random random;
|
---|
| 15 |
|
---|
| 16 | @Override
|
---|
| 17 | public void init(NegotiationInfo info) {
|
---|
| 18 | super.init(info);
|
---|
| 19 | random = new Random();
|
---|
| 20 | }
|
---|
| 21 |
|
---|
| 22 | @Override
|
---|
| 23 | protected Bid getNextBid() {
|
---|
| 24 | final List<BidDetails> candidates = getCandidates(getTargetUtility(), DELTA);
|
---|
| 25 | final BidDetails chosen = getRandomElement(candidates);
|
---|
| 26 | return chosen.getBid();
|
---|
| 27 | }
|
---|
| 28 |
|
---|
| 29 | protected List<BidDetails> getCandidates(double target, double delta) {
|
---|
| 30 | return outcomeSpace.getBidsinRange(new Range(target - delta, target + delta));
|
---|
| 31 | }
|
---|
| 32 |
|
---|
| 33 | protected <T> T getRandomElement(List<T> list) {
|
---|
| 34 | return list.get(random.nextInt(list.size()));
|
---|
| 35 | }
|
---|
| 36 |
|
---|
| 37 | @Override
|
---|
| 38 | public double getE() {
|
---|
| 39 | return 2;
|
---|
| 40 | }
|
---|
| 41 |
|
---|
| 42 | @Override
|
---|
| 43 | public String getDescription() {
|
---|
| 44 | return "Nondeterministic Conceder Party";
|
---|
| 45 | }
|
---|
| 46 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.