Coder Social home page Coder Social logo

anac-competition's Introduction

Automated Negotiating Agents Competition (ANAC) (Pappous Agent)

Agent participating to local ANAC competition in Technical University of Chania

Table of contents

General Information

ANAC dedicates to develop successful automated negotiators for scenarios where there is incomplete information about the opponent. The design of generic negotiating agents aims to operate in a variety of scenarios providing benchmarks of performance.

GENIUS (General Environment for Negotiation with Intelligent multi-purpose Usage Simulation) is a negotiation environment that implements an open architecture for heterogeneous negotiating parties. In addition, Genius can be used to implement, or simulate, real life negotiations.

Setup

  • Java Integrated Development Environment (Eclipse IDE)
  • Java Version 8
  • Genius.XXX version

How to run

Genius can run on any machine running Java 8. Java 9 is not yet supported.

  1. Download the file genius-XXX.zip from http://ii.tudelft.nl/genius/?q=article/releases and unzip it to your machine.

  2. Install the environment, the file genius-XXX.zip.

  • genius-XXX.jar => GENIUS negotiation simulator
  1. Start a console and find the directory of genius-XXX.jar
    • On windows, open the .jar using java -jar genius-XXX.jar
    • On mac, open the .jar using
      • Systemdisk/Applications/Utilities/Console.app
      • Double click on the app on the path above

For more information, check readme in the genius folder.

Connect IDE & Genius

  1. Open Eclipse

  2. Select File->New Java Project

    • Make sure you select JavaSE-1.8. If you missed JavaSE, you can download it from https://www.oracle.com/java/technologies/downloads/#java17
  3. Import (or drag) genius-XXX.jar into the project in the navigator area

  4. Connect genius Jar - Right click on the <your_project_name> icon and select ”Properties”. - Select the Java Build Path. - Select the Libraries Tab. - Select ”Add JARs”, in the JAR Selection window.
    - Open the <your_project_name> folder, scroll down to select genius.jar and run as java application .

Create An Agent

  • Drag an example folder from your unzipped genius
  • Drop it on the src folder
  • Copy files and rename folder
  • Work using imagination and check out other agents policy to enrich yours. :octocat:

Execution

There are two modes to run a negotiation:

  • Session
  • Tournament

In each mode, parameters need to be specified for running.

Log files

Log files get the filename tournament- followed by day and time followed by the domain name and an extension.
There are 3 log files:

  • log.csv
  • log.xml
  • logStats.xml

For more info about parameter description/selection, see readme

Agent Description

Agent's name: PappousAgent

Heuristic agent1 with four basic rules for accepting bids.

  1. Expected utility = [Lower Bound Upper Bound]

  2. Bound differentiation in time (percentage reduction of bounds).

  3. Bid History.

  4. Final Offer with Reserved Value.

Decide Offer

  • First move as the best possible.

  • Bid with utility in a range.

  • Bid dependance from the previous (or bid history).

  • Reservation Bid in the end of the negotiation.

Acknowledgements

  • This project was created for the requirements of the lesson Multiagent Systems
  • You can find every annual competition in ANAC

Footnotes

  1. The implementation is a union of existed agents worked in ANAC agent.

anac-competition's People

Contributors

z1skgr avatar

Stargazers

 avatar

Watchers

 avatar

anac-competition's Issues

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.