RLPark 1.0.0
Reinforcement Learning Framework in Java
|
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 }