Class Q_Env

  extended by Q_Env

public class Q_Env
extends java.lang.Object

This applet demonstrates Q-learning for a particular grid world problem. It isn't designed to be general or reusable.

Copyright (C) 2003-2006 David Poole.

This program gives Q-learning code. The GUI is in The controller code is at, and the environment simulation is at

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

Field Summary
 int currX
 int currY
 int numberOfSteps
 double totalReward
 boolean tracing
Constructor Summary
Method Summary
 void doreset()
          resets the steps and the reward.
 double dostep(int action)
          does one step carries out the action
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail


public int numberOfSteps


public double totalReward


public int currX


public int currY


public boolean tracing
Constructor Detail


public Q_Env()
Method Detail


public void doreset()
resets the steps and the reward.


public double dostep(int action)
does one step carries out the action

action - the action that the agent does
reward received