https://github.com/z1skgr/anac-competition
ANAC competition / PappousAgent
https://github.com/z1skgr/anac-competition
agent anac eclipse-ide game-theory genius-api java negotiations simulation utility-function
Last synced: 11 months ago
JSON representation
ANAC competition / PappousAgent
- Host: GitHub
- URL: https://github.com/z1skgr/anac-competition
- Owner: z1skgr
- Created: 2020-11-20T17:55:44.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2023-10-19T06:50:54.000Z (over 2 years ago)
- Last Synced: 2025-03-16T22:46:32.424Z (over 1 year ago)
- Topics: agent, anac, eclipse-ide, game-theory, genius-api, java, negotiations, simulation, utility-function
- Language: Java
- Homepage:
- Size: 5.38 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Automated Negotiating Agents Competition (ANAC) (Pappous Agent)
> Agent participating to local ANAC competition in Technical University of Chania
## Table of contents
* [General Info](#general-information)
* [Setup](#setup)
* [How to run](#how-to-run)
* [Execution](#execution)
* [Agent Description](#agent-description)
* [Acknowledgements](#acknowledgements)
## 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
3. 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 `` icon and select ”Properties”.
- Select the Java Build Path.
- Select the Libraries Tab.
- Select ”Add JARs”, in the JAR Selection window.
- Open the `` 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 agent[^1] 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](https://web.tuat.ac.jp/~katfuji/ANAC2020/#:~:text=The%20Automated%20Negotiating%20Agent%20Competition%20%28ANAC%29%20is%20an,to%20bring%20together%20researchers%20from%20the%20negotiation%20community.)
[^1]: The implementation is a union of existed agents worked in ANAC agent.