All Projects → Duncanswilson → q-routing-protocol

Duncanswilson / q-routing-protocol

Licence: other
final project for cpe 400, implemented a q-learning and SARSA routing protocol for a network simulator

Programming Languages

c
50402 projects - #5 most used programming language
python
139335 projects - #7 most used programming language
tcl
693 projects
Makefile
30231 projects

RL for Network Packet Routing

This repo is a python port of the c implementation of Packet Routing in Dynamically Changing Networks: A Reinforcement Learning approach (found here:https://www.cs.cmu.edu/~jab/cv/pubs/boyan.q-routing.pdf)

The network simulator is implemented in envs/simulator.py and extends the OpenAI gym environment class.

To run this code simply choose and agent file (currently we have Q learning and SARSA) and run:

python do_TYPE_learning.py

so for instance, to run the Q learning agent, type

python do_q_learning.py

in this directory.

The agent's performance is written to the console.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].