public int[] encode_percept(int observation, int reward)
{
int[] rewardEncoded = Utils.Encode(reward, this.Environment.rewardBits());
int[] observationEncoded = Utils.Encode(observation, this.Environment.observationBits());
var output = new int[observationEncoded.Length + rewardEncoded.Length];
rewardEncoded.CopyTo(output, 0);
observationEncoded.CopyTo(output, rewardEncoded.Length);
return output;
}