示例#1
0
        public AITraveler(MazeGame gameref, bool learn = false)
            : base(gameref)
        {
            this.learn              = learn;
            GameRef.GameStartEvent += GameRef_GameStartEvent;
            GameRef.GameCycleEvent += GameRef_GameCycleEvent;
            //GameRef.GameOverEvent += GameRef_GameOverEvent;

            rnn_net = new rnn_network();

            if (!rnn_net.LoadNetwork(NETWORK_NAME))
            {
                var inputs = new List <rnn_io>()
                {
                    new rnn_io(rnn_net, "X", typeof(Int32).ToString(), 0, 49),
                    new rnn_io(rnn_net, "Y", typeof(Int32).ToString(), 0, 49),
                    new rnn_io(rnn_net, "BumpedIntoWall", typeof(Boolean).ToString(), 0, 1)
                };

                var outputs = new List <rnn_io>()
                {
                    new rnn_io(rnn_net, "Direction", typeof(Int16).ToString(), 0, 3)
                };

                rnn_net.NewNetwork(NETWORK_NAME, inputs, outputs);
            }

            rnn_net.CycleComplete += Rnn_net_CycleComplete;
        }
示例#2
0
 public rnn_io(rnn_network rnn_net, String name, String dotnettype, double min, double max, long id = 0)
 {
     //ToDo:  Check for valid net and name
     this.Network    = rnn_net;
     this.Name       = name;
     this.DotNetType = dotnettype;
     this.Min        = min;
     this.Max        = max;
     this.ID         = id;
 }
示例#3
0
 public rnn_io(rnn_network rnn_net, String name, String dotnettype, double min, double max, RnnInputType type, long id = 0)
     : this(rnn_net, name, dotnettype, min, max, id)
 {
     this.Type = type;
 }