Skip to content

Latest commit

 

History

History
23 lines (15 loc) · 1.05 KB

README.md

File metadata and controls

23 lines (15 loc) · 1.05 KB

Learning to swim via Q-learning

This is an implementation of the one-step Q-learning method for a simple two-link microswimmer. It is part of the course PHYS 350 Applications of Classical Mechanics, winter 2022, UBC.

To run the code, follow the steps below:

  1. Clone the project git clone ....
  2. Go to the project folder and run the python script python main.py.
  3. The results are saved in results/ folder.

There are mainly three model parameters to modify and play around; see main.py for details.

Have fun!

References:

  1. Watkins, C.J.C.H. (1989). Learning from delayed rewards.
  2. Watkins, C.J. & Dayan, P. (1992). Q-learning. Machine learning, 8(3), 279-292.
  3. Sutton, R.S. & Barto, A.G. (2018). Reinforcement learning: An introduction. MIT press.
  4. Najafi, A. & Golestanian, R. (2004). Simple swimmer at low Reynolds number: Three linked spheres. Physical Review E, 69(6), 062901.
  5. Tsang, A.C.H., Tong, P.W., Nallan, S., & Pak, O.S. (2020). Self-learning how to swim at low Reynolds number. Physical Review Fluids, 5(7), 074101.