Git Product home page Git Product logo

negotiation-agent's Introduction

Collaborative AI @ TU Delft

This is a template repository for the Negotiation Practical Assignment of the course on Collaborative AI at the TU Delft. This template is aimed at students that want to implement their agent in Python.

Overview

  • directories:
    • agents: Contains directories with the agents. The template_agent directory contains the template for this assignment.
    • domains: Contains the domains which are problems over which the agents are supposed to negotiate.
    • utils: Arbitrary utilities (don't use).
    • submission_example: Contains an example submission directory. See negotiation assignment document for more details.
  • files:
    • run.py: Main interface to test agents in single session runs.
    • `run_tournament.py: Main interface to test a set of agents in a tournament. Here, every agent will negotiate against every other agent in the set on every set of preferences profiles that is provided (see code).
    • requirements.txt: Python dependencies for your agent.
    • requirements_allowed.txt: Additional dependencies that you are allowed to use (ask TA's if you need unlisted packages).

Installation

Download or clone this repository. Note that if you fork this repository you cannot make it private, which is default behaviour of GitHub. This will cause your code to be publicly visible if you push it to your forked repository.

We recommend using Python 3.9. The required dependencies are listed in the requirements.txt file and can be installed through pip install -r requirements.txt.

As already mentioned, should you need any additional dependencies, you can ask the TA's of this course. A few of the most common dependencies are already listed in requirements_allowed.txt file. If you require another package that is not listed, ask first.

For VSCode devcontainer users: We included a devcontainer specification in the .devcontainer directory.

Quickstart

  • Copy and rename the template agent's directory, files and classname.
  • Read through the code to familiarise yourself with its workings. The agent already works but is not very good.
  • Develop your agent in the copied directory. Make sure that all the files that you use are in the directory.
  • Test your agent through run.py, results will be returned as dictionaries and saved as json-file. A plot of the negotiation trace will also be saved.
  • You can also test your agent more extensively by running a tournament with a set of agents. Use the run_tournament.py script for this. Summaries of the results will be saved to the results directory.

More information

More documentation can be found here. Part of this documentation was written for the Java version of GeniusWeb, but classes and functionality are left identical as much as possible.

negotiation-agent's People

Contributors

brenting avatar airwinter avatar kanish77 avatar enricoliscio avatar

Watchers

 avatar  avatar Prajit Bhaskaran avatar

Forkers

kanish77 femi236

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.