Giter Club home page Giter Club logo

multi-agent-drl's Introduction

Deep Multi-Agent Reinforcement Learning in a Common-Pool Resource System

⚠️ Attention: this repository utilizes TensorFlow v1 APIs, which have been deprecated and migrated to TensorFlow v2. Consequently, the existing source code will no longer function as expected.

This project includes the source code of the paper: Deep Multi-agent Reinforcement Learning in a Common-Pool Resource System, which is accepted and published on IEEE CEC 2019.

Introduction

In complex social-ecological systems, multiple agents with diverse objectives take actions that affect the long-term dynamics of the system. Common pool resources are a subset of such systems, where property rights are typically poorly defined and dynamics are unknown a priori, creating a social dilemma reflected by the well-known tragedy of the commons. In this paper, we investigated the efficacy of deep reinforcement learning in a multi-agent setting of a common pool resource system. We used an abstract mathematical model of the system, represented as a partially-observable general-sum Markov game. In the first set of experiments, the independent agents used a deep Q-Network with discrete action spaces to guide decision-making. However, significant shortcomings were evident. Consequently, in a second set of experiments, a Deep Deterministic Policy Gradient learning model with continuous state and action spaces guided agent learning. Simulation results show that agents performed significantly better in terms of both sustainability and economic goals when using the second deep learning model. Despite the fact that agents do not have perfect foresight nor understanding of the implications of their "harvesting" efforts, deep reinforcement learning can be used effectively to "learn in the commons".

A demonstration of a simplified CPR system [Hauser, Oliver P., et al.]:

Prerequisite

Make sure you have Python3.11 installed on your machine.

On the root directory, run the command to install

pip install .

Run the demo

./run_demo

Models

You can choose between the following models:

The agent-environment interaction

interaction

DQN Architecture

dqn_nn

DDPG Architecture

ddpg_nn

Reference

  1. von der Osten F B, Kirley M, Miller T. Sustainability is possible despite greed-Exploring the nexus between profitability and sustainability in common pool resource systems[J]. Scientific reports, 2017, 7(1): 2307.
  2. Hausknecht, M., & Stone, P. (2015). Deep recurrent q-learning for partially observable mdps. CoRR, abs/1507.06527.
  3. Hauser, O. P., Rand, D. G., Peysakhovich, A., & Nowak, M. A. (2014). Cooperating with the future. Nature511(7508), 220.
  4. Mnih V, Kavukcuoglu K, Silver D, et al. Human-level control through deep reinforcement learning[J]. Nature, 2015, 518(7540): 529.
  5. Kulkarni T D, Narasimhan K, Saeedi A, et al. Hierarchical deep reinforcement learning: Integrating temporal abstraction and intrinsic motivation[C]//Advances in neural information processing systems. 2016: 3675-3683.
  6. https://github.com/Ceruleanacg/Reinforcement-Learning

multi-agent-drl's People

Contributors

zhouker94 avatar

Stargazers

 avatar  avatar Peachck avatar AoLee1202 avatar  avatar vinwoo avatar  avatar Ling Boning avatar  avatar  avatar Ben Greenberg avatar  avatar Sekiki avatar Feras  avatar  avatar  avatar  avatar Jung avatar  avatar  avatar Tamler avatar  avatar haiyinpiao avatar XS avatar 风马訾垚 avatar  avatar

Watchers

James Cloos avatar paper2code - bot avatar

Forkers

yswing

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.