Giter VIP home page Giter VIP logo

gaiw2024's Introduction

Supplementary Materials for "Tentative Acceptance Unique Offers Protocol for Automated Negotiation" (GAIW 2024)

This folder contains code and data for running all the experiments described in the paper and the technical appendix.

Reproducibility and Public Availability

  • This guide shows how to reproduce every result in the paper.
  • The data is already publicly available in the GENIUS platform.
  • All the contents of our supplementary materials will be made publicly available on Github in case of acceptance. Moreover, we will contribute our algorithms back the negotiation platform we use (NegMAS) as a pull request and if accepted will be available directly from the platform (which is community driven) in the future.

What is included?

  • appendix.pdf The technical appendix
  • code_and_data Raw data and implementation of algorithms.
    • scenarios All the negotiation scenarios used in the paper.
    • serverclean Example of the experimental results for year 2010 (all strategies). The full dataset is too large to include but it consists of more files of exactly the same format and can be generated as described later in this guide.
    • src The source code used for implementing the protocol, adapter and all evaluation experiments.
      • mechanisms.py A full implementation of the TAU protocol
      • adapters/tau.py Full implementation of the proposed adaptation algorithm
    • main_experiment.sh Runs the main experiment reported in the paper and detailed in the technical appendix.
    • peryearall.sh Runs the remaining 8 experiments reported in the paper by passing the years "2010 2011 2012 2013 2015 2016 2017 2018"
    • ijcaifigs.sh Generates the main tables and figures in the paper and appendix (and much more). Find them at ./figs after running the script. Must be run after completion of main_experiment.sh and peryear.sh
    • detailedfigs.sh Generates detailed figures used only in the appendix
    • ijcaigames.sh Generates game theoretic results including equilibria calculation and replicator dynamics
    • scalability.sh Generates scalability results

Software Requirements

  • Python 3.11 (tested on MacOS with Python 3.11.4).
  • Java 18 (tested on MacOS with OpenJDK 18 2022-03-22 build 18+36-2087).
    • only needed to run state-of-the-art negotiators (and Nice Tit for Tat)
  • negmas 0.10.12. Please use the version pinned in the requirements.txt file in the code_and_data folder.
  • genius-bridge v0.4.13 (installed when following the instructions in the following section).
    • only needed to run state-of-the-art negotiators (and Nice Tit for Tat)

Installing Requirements

Please use your platform's preferred method to install Python 3.11+ and Java 18+.

To install other requirements run the following command within the code folder:

pip install -r code_and_data/requirement_pinned.txt
negmas genius-setup

Note that the later command will download the negmas-genius bridge and install in as:

$HOME/negmas/files/geniusbridge.jar

We assume that this is run within a virtual environment (as always recommended).

Running Experiments

Assumes that you installed requirements

To run the experiment reported in the paper and generate all results:

> cd code_and_data
> python src/helpers/prepare.py scenarios
> python src/make_finalist_datasets.py
> main_experiment.sh
> for y in 10 11 12 13 15 16 17 18; do python peryearall.sh 20$y; done
> ijcaifigs.sh; ijcaigames.sh; ijcaistats.sh; detailefigs.sh; scalability.sh

This will take several weeks to complete as it runs around 380K negotiations some of them taking hours. You can pass --limitoutcomes=1000 for example to limit the run to scenarios with no more than a thousand outcomes. See the documentation of main_experiment.sh about how to pass this parameter. For peryearall.sh, you can pass it directly on the command line.

gaiw2024's People

Contributors

yasserfarouk avatar

Watchers

 avatar

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.