Class Q_Env

java.lang.Object
  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 Q_GUI.java. The controller code is at Q_Controller.java, and the environment simulation is at Q_Env.java.

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
Q_Env()
           
 
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

numberOfSteps

public int numberOfSteps

totalReward

public double totalReward

currX

public int currX

currY

public int currY

tracing

public boolean tracing
Constructor Detail

Q_Env

public Q_Env()
Method Detail

doreset

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


dostep

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

Parameters:
action - the action that the agent does
Returns:
reward received