public Tuple<int, int> GeneratePercept()
{
var symbols = this.ContextTree.GenerateRandomSymbols(this.Environment.perceptBits());
return decode_percept(symbols);
//int observation = Utils.RandomElement(this.Environment.ValidObservations);
//int reward = Utils.RandomElement(this.Environment.ValidRewards);
//return new Tuple<int, int>(observation, reward);
}