RLPark 1.0.0
Reinforcement Learning Framework in Java

Identity.java

Go to the documentation of this file.
00001 package rlpark.plugin.rltoys.algorithms.representations.tilescoding.hashing;
00002 
00003 import rlpark.plugin.rltoys.algorithms.representations.discretizer.Discretizer;
00004 
00005 public class Identity implements Hashing {
00006   private static final long serialVersionUID = -3659050449466106614L;
00007   private final int memorySize;
00008 
00009   public Identity(Tiling tilings) {
00010     memorySize = computeMemorySize(tilings);
00011   }
00012 
00013   private int computeMemorySize(Tiling tilings) {
00014     int memorySize = 1;
00015     for (Discretizer discretizer : tilings.discretizers())
00016       memorySize *= discretizer.resolution();
00017     return memorySize;
00018   }
00019 
00020   @Override
00021   public int hash(Tiling tiling, int[] inputs) {
00022     int activatedIndex = 0;
00023     Discretizer[] discretizers = tiling.discretizers();
00024     int multiplier = 1;
00025     for (int i = 0; i < discretizers.length; i++) {
00026       Discretizer partition = discretizers[i];
00027       activatedIndex += inputs[i] * multiplier;
00028       multiplier *= partition.resolution();
00029     }
00030     return activatedIndex;
00031   }
00032 
00033   @Override
00034   public int memorySize() {
00035     return memorySize;
00036   }
00037 }
 All Classes Namespaces Files Functions Variables Enumerations
Zephyr
RLPark