Q Learning is a Reinforcement Learning algorithm in which an agent performs a specific action and gets a reward for it. The goal of the agent is to maximize the reward. Most of us would have tried Q Learning with OpenAI’s Gym, a Python package which provides various environments for training RL agents.
Trying a different approach, I have implemented Q Learning in Kotlin ( which can be used in an Android app ) where our agent is trained in an environment identical to OpenAI Gym’s Frozen Lake Environment. The FrokenLakeEnv.kt class provides methods similar to OpenAI Gym, like step(), reset() and actionSpaceSample(). One can see the agent’s progress trying to reach its goal.
The detailed discussion on the project and also on some basics of Q Learning is included in the story,

  
      

      Medium – 14 Oct 20
  

  
    

Q Learning With The Frozen Lake Environment In Android 7

  Explore Q Learning with the Frozen Lake environment, all in Android!

  
    Reading time: 10 min read
  

  

  
    
    
  

  


The GitHub project,

  
      

      github.com
  

  
    

shubham0204/QLearning_With_FrozenLakeEnv_Android 3


  Explore Q Learning with the Frozen Lake Environment 🥶 in Android.

  

  
    
    
  

  



As a ML + Android developer, I consistently try to bring ML models into languages like Kotlin and Java so that edge devices can make use of them efficiently.