Inheritance: AIXIEnvironment
Exemplo n.º 1
0
        public ConsoleEnvUI()
        {
            var options = new Dictionary <string, string>();

            string layout =
                @"#######
#.....#
#.#.#.#
#.#@#.#
#######";

            var env = new MazeEnvironment(options, layout);

            Console.WriteLine("Max possible action/observation/reward: {0}/{1}/{2}", env.maximum_action(), env.maximum_observation(), env.maximum_reward());

            Console.WriteLine("Min possible action/observation/action: {0}/{1}/{2}", env.minimum_action(), env.minimum_observation(), env.minimum_reward());


            Console.WriteLine("Bits needed for action/observation/action: {0}/{1}/{2}", env.ActionBits, env.ObservationBits, env.ActionBits);


            int observation;
            int reward;

            while (true)
            {
                Console.Write("> ");

                string input_s = Console.ReadLine();
                int    input_i = Int32.Parse(input_s);
                if (!env.IsValidAction(input_i))
                {
                    Console.WriteLine("Invalid action, valid are 0-{0}", env.maximum_action());
                    continue;
                }


                var or = env.PerformAction(input_i);
                observation = or.Item1;
                reward      = or.Item2;

                env.print();

                Console.WriteLine("observation/reward: {0}/{1}", observation, reward);
            }
        }
Exemplo n.º 2
0
        public ConsoleEnvUI()
        {
            var options = new Dictionary<string, string>();

            string layout =
            @"#######
            #.....#
            #.#.#.#
            #.#@#.#
            #######";

            var env = new MazeEnvironment(options, layout);

            Console.WriteLine("Max possible action/observation/reward: {0}/{1}/{2}", env.maximum_action(),  env.maximum_observation(), env.maximum_reward());

            Console.WriteLine("Min possible action/observation/action: {0}/{1}/{2}", env.minimum_action(), env.minimum_observation(), env.minimum_reward());

            Console.WriteLine("Bits needed for action/observation/action: {0}/{1}/{2}", env.ActionBits, env.ObservationBits, env.ActionBits);

            int observation;
            int reward;

            while (true)
            {
                Console.Write("> ");

                string input_s = Console.ReadLine();
                int input_i = Int32.Parse(input_s);
                if (!env.IsValidAction(input_i))
                {
                    Console.WriteLine("Invalid action, valid are 0-{0}",env.maximum_action());
                    continue;
                }

                var or = env.PerformAction(input_i);
                observation = or.Item1;
                reward = or.Item2;

                env.print();

                Console.WriteLine("observation/reward: {0}/{1}", observation, reward);

            }
        }