RLPark 1.0.0
Reinforcement Learning Framework in Java

AbstractHashing.java

Go to the documentation of this file.
00001 package rlpark.plugin.rltoys.algorithms.representations.tilescoding.hashing;
00002 
00003 public abstract class AbstractHashing implements Hashing {
00004   private static final long serialVersionUID = 4766575749242513533L;
00005   protected final int memorySize;
00006 
00007   public AbstractHashing(int memorySize) {
00008     this.memorySize = memorySize;
00009   }
00010 
00011   @Override
00012   public int memorySize() {
00013     return memorySize;
00014   }
00015 
00016   @Override
00017   public int hash(Tiling tiling, int[] inputs) {
00018     return hash(toCoordinates(tiling, inputs));
00019   }
00020 
00021   static protected int[] toCoordinates(Tiling tiling, int[] inputs) {
00022     int[] coordinates = new int[inputs.length + 1];
00023     coordinates[0] = tiling.hashingIndex;
00024     System.arraycopy(inputs, 0, coordinates, 1, inputs.length);
00025     return coordinates;
00026   }
00027 
00028   abstract protected int hash(int[] coordinates);
00029 }
 All Classes Namespaces Files Functions Variables Enumerations
Zephyr
RLPark