RLPark 1.0.0
Reinforcement Learning Framework in Java

Tiling.java

Go to the documentation of this file.
00001 package rlpark.plugin.rltoys.algorithms.representations.tilescoding.hashing;
00002 
00003 import java.io.Serializable;
00004 
00005 import rlpark.plugin.rltoys.algorithms.representations.discretizer.Discretizer;
00006 import rlpark.plugin.rltoys.utils.Utils;
00007 
00008 public class Tiling implements Serializable {
00009   private static final long serialVersionUID = 4526997497936063389L;
00010   public final int hashingIndex;
00011   private final Discretizer[] discretizers;
00012   private final int[] inputIndexes;
00013   private final int[] coordinates;
00014 
00015   public Tiling(int hashingIndex, Discretizer[] discretizers, int[] inputIndexes) {
00016     assert Utils.checkInstanciated(discretizers);
00017     this.hashingIndex = hashingIndex;
00018     this.discretizers = discretizers;
00019     this.inputIndexes = inputIndexes;
00020     coordinates = new int[inputIndexes.length];
00021   }
00022 
00023   public int[] tilesCoordinates(double[] inputs) {
00024     for (int i = 0; i < inputIndexes.length; i++)
00025       coordinates[i] = discretizers[i].discretize(inputs[inputIndexes[i]]);
00026     return coordinates;
00027   }
00028 
00029   public Discretizer[] discretizers() {
00030     return discretizers;
00031   }
00032 
00033   public int[] inputIndexes() {
00034     return inputIndexes;
00035   }
00036 
00037   @Override
00038   public String toString() {
00039     StringBuilder result = new StringBuilder();
00040     for (int i = 0; i < discretizers.length; i++)
00041       result.append("i" + inputIndexes[i] + discretizers[i].toString() + "  ");
00042     return result.toString();
00043   }
00044 }
 All Classes Namespaces Files Functions Variables Enumerations
Zephyr
RLPark