Giter Site home page Giter Site logo

exampleagent's Introduction

Hi there πŸ‘‹

Github stats

exampleagent's People

Contributors

adimote avatar tdgunes avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

exampleagent's Issues

Ubuntu log files

Hello.
I am using Ubuntu and can`t find log file in my log folder.
Where can it be?

Failures in the negotiation

After extracting all the negotiation logs relevant to our groups, I noticed that many of them show 'failed to construct agent, passed the deadline and killed'. While many of them seem to be caused by our agent, a considerable portion was caused by the opponent. What I found confusing is that even under the same settings/domains, failures to construct agent still happen with negotiation ended at round 1 even if the agents work just fine for other trials/repetitions. I've tried but is unable to identify the issue, so I was wondering if it is possible for you to explain to me what's going on?

Debug mode for agents

How can I debug the program? Is it only console writing?

Can I debug in IDEA? I tried, but it doesn`t work.

How does a round finish, according to SAOP?

In the example given, in the Round 1 step 3:

Party 3 can accept c2 or makes a counter offer. Lets say it accepts this offer.

I suppose this is not really the end of round 1. Should also Party 1 accept this offer before this round finishes?

Is reservation value a dynamic value?

I saw the explanation of the usage of getReservationValue func. What is the reservation value and I am confused that it is a constant value or a dynamic value?
809579b7-9e9e-4d93-92e8-868c3585bba7

Single negotiation session log files

HI, I've been having a look at the log files and i get something really weird. They always start by betting really low even though the Example Agent is supposed to offer max utility at the beginning and they always offer the same bids at each other. Would you be able to have a look to the file and tell me where i could be going wrong?

Log-Session_20171128-103324.xlsx

A question of 'Accessing the evaluation of a value'

Hello, I can not run the Example Programming (API) in 'Accessing the evaluation of a value'

I just copy and paste the code ,but the last line 'System.out.println("Evaluation(getEvaluation): " + evaluatorDiscrete.getEvaluation(valueDiscrete));' does not work.

Error:(157, 103) java: unreported exception java.lang.Exception; must be caught or declared to be thrown

Therefore, I have to create a matrix to save each max value on evaluation. I want to find a help, why the example in WIKI does not work?

Implementation of example agent

I try to implement the agent, but it doesn`t work in Ubuntu. I tried to do it manually. What can be the reason?
The loaded class seems to be of the wrong type.
ExampleAgent cannot be cast to negotiator.Agent

Import statement of a new class file

I want to create folder with class , that will be used by agent. How should I address it?
For example, I have folder bin and the class CalcBid.class in it.
How should I access it?

What's the meaning of the type?

Hi, Taha. I see the type in issue which i received is 'discrete', and i look up the API and see the types of issue. I don't know the meaning of the type. Could you explain the type or could you tell which one we will use
50d0275f-fc28-4de5-ac78-6911fdfd3e1a
Thank you very much

How do we iterate through all bids in a domain?

If we want to find out what preferences the others have, wouldn't it be a good idea to change the offer each time by conceding on just one issue, to see if the opponents reacted at all..

Sorting bids by utility

Hi I'd like to take an array list of bids and sort them by utility. It seems tricky, as we don't have access to the bids class to create a comparator. is there any other way to do it, other than writing our own short sorting algorithm?

Jo

Questions regarding estimating Utility under uncertainty

Hi I was trying to access weight and value of issues when uncertainty is enabled using the APIs in the wiki and the snippet from Lab 5. I understand that we can't get both weight and values because we would be able to calculate the utility with them, while we don't know the actual utility of the bids provided. However, I kept getting error 'NullPointerException' from the line EvaluatorDiscreteevaluator = (EvaluatorDiscrete) additiveUtilitySpace.getEvaluator(issuenumber);.` I enabled the 'uncertainty option' of preference profiles and I added try catch method to handle exceptions. Not sure if it's because that neither weight nor value/evaluation can be obtained under uncertainty or it's just errors in code. Thank you!

Classes: Agent & AbstractNegotiationParty

There are a lot of papers describe Class Agent . Is it the same as AbstractNegotiationParty? I mean can we use it instead of ? Or is it compulsory to use AbstractNegotiationParty?

Question about how to calculate the mark

I'm confusing how to calculate the mark.
There are two situation, first, we all at Nash point, second, i have the best utility and we are in pareto.
SO, in these two situation, which one can get the best mark?

Bidding strategy

Taha, I want to ask, is it possible to make first 80% not maximum, but random bid? Because it seems that almost every agent maximize their utility and try to learn opponent model, what if we change our model intentionaly for that time? Of cause, it can happen, that our bargain will not be maximum for us, but what if we generate random value in a way when it will not be equal or more then the opponent model is proposed?

Costs in the negotiation domain

Hi Taha!

I am a bit confused about the cost field in the items of an issue (in the xml files for the domains). What are they for?

And I also take the chance to ask whether we know beforehand which is going to be the exact set of domains that will be used for the competition.

Cheers!

Getting other parties' ID

Is there a way of getting the names/ID of the other agents when the negotiation starts (before they send an offer)?

thanks

Get a bid value and compare them

I am having a hard time trying to figure out how to get issue items(e.g. Catering, handmade food, or chips) and compare them, I have tried a lot of methods such as bid.getValue.

Can anyone help?

The offerMap error is not logged

When our group was doing Task 2 for Lab 3, we did not initialise the offerMap with HashMap<>(), which led to session kept stopping at the first round. However, the error was not logged by the Platform, and one of the instructors told us it should be a flaw of the genius platform and asked us to report it.

How to create a bid from scratch?

I was writing to ask you if there is any example on how to create a custom bid from scratch from a given domain (e.g. choosing our own Values for each of the Issues). In the Github wiki there is an example on how to modify a bid but I could not find any resource that tells you how to generate a custom one from scratch.

domain does not match the negotiation domain

My agent's negotiation will not return further information after the point of "Finished negotiation session in 3.6257" and console is returning

java.lang.IllegalStateException: domain does not match the negotiation domain
at negotiator.utility.UtilitySpaceTools.checkReadyForNegotiation(UtilitySpaceTools.java:98)
at negotiator.analysis.MultilateralAnalysis.initializeUtilitySpaces(MultilateralAnalysis.java:288)
at negotiator.analysis.MultilateralAnalysis.(MultilateralAnalysis.java:78)
at negotiator.logging.CsvLogger.logSingleSession(CsvLogger.java:251)
at negotiator.gui.progress.session.ActionDocumentModel.notifyChange(ActionDocumentModel.java:51)
at negotiator.gui.progress.session.ActionDocumentModel.notifyChange(ActionDocumentModel.java:1)
at listener.DefaultListenable.notifyChange(DefaultListenable.java:29)
at negotiator.session.SessionManager.runAndWait(SessionManager.java:136)
at negotiator.session.SessionManager.run(SessionManager.java:107)
at java.base/java.lang.Thread.run(Thread.java:844)

This will not happen if I comment out my change to a bid section (to be exact, the putvalue chunk of code). Anyone can help??

Papers

Taha, I also wanted to ask whether you have some papers from previous agents.
I found a good book, but I have no access to it.
Do you have some papers from this book?
http://www.springer.com/gb/book/9783319515618
I am particularly interested in this agent

Atlas3: A Negotiating Agent Based on Expecting Lower Limit of Concession Function

and this one

Pars Agent: Hybrid Time-Dependent, Random and Frequency-Based Bidding and Acceptance Strategies in Multilateral Negotiations

Access our evaluation of each item in an issue

To continue on the same subject as #5, is there a way to explicitly know our evaluation of each single item in an issue, according to our preference profile?

For example, if we have the preference profile given in the wiki page Domains & Preference Profiles, you explained in #5 how to get the weight of each issue, but not how to get the evaluation of, say, the item "Chips and Nuts" in the issue "Food"

<issue index="1" name="Food" type="discrete">
    <item value="Chips and Nuts" evaluation="3"></item>
    ...
</issue>

I checked in the API but couldn't find anything relevant.

java.lang.ClassCastException: ExampleAgent cannot be cast to negotiator.Agent

So I tried changing something and adding the agent, but got this error message.
I then tried repasting in the original code, rebuilding, then adding the agent, and got the same message..

Then I tried again, setting up a new project, pasting in the code as in your video tutorial, and still get the same error message when I try to add the agent (in this case, ExampleAgent3) to the simulator.

Have you any idea what could be happening?

screen shot 2017-10-27 at 09 58 13

Negotiation crashing when Uncertainty enabled but preference profile Nro. Rankings is 0

When this value is 0, the call to the parent constructor of AbstractNegotiationParty, tries to makes the following calls

AbstractNegotiationParty() CTOR -> estimateUtilitySpace() -> estimateUsingBidRanks() -> normalizeWeightsByMaxValues() ->normalizeAll()

In the last one normalizeAll() from the EvaluatorDiscrete() class it crashes, so this case should be handled or reported as an exception to the system.output, because currently you get the usual null popup with no additional information, and finding the real error could be time consuming. Other solution would be to allow ranking numbers greater than 0.

We manage to sort out the error, using a number of rankings greater than 0, but it should be useful to report as a bug to Genius Platform.

public void normalizeAll() {
    double var1 = (Double)this.fEval.get(this.getMaxValue());
    this.fEval.forEach((var3, var4) -> {
        Double var10000 = (Double)this.fEval.put(var3, (Double)this.fEval.get(var3) / var1);
    });
    this.setWeight(var1);
}

Persistent Memory

Since we are not allowed to use the persistent memory, we are not supposed to dynamically adapt our strategy according to the previous actions during the competition. But Can we adapt our strategy based on the current round of action received from the opponent agent?

Calculating the nash point

Hi Taha, I have one question which is how to calculate the Nash point, if i can guess the opponent's preferences.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.