Exemple #1
0
        public IEnumerable <QNode> Generate(QNode node)
        {
            List <QNode> successors = new List <QNode>();

            foreach (IOperator op in env.ApplicableOperators(node.State))
            {
                IOutcome outcome = env.act(node.State, op);
                QNode    succ    = new QNode();
                succ.State        = outcome.State;
                succ.Parent       = node;
                succ.UsedOperator = op;
                succ.Q            = 0;
                successors.Add(succ);
            }

            return(successors);
        }
Exemple #2
0
        public IEnumerable <ANode> Generate(ANode node)
        {
            List <ANode> successors = new List <ANode>();

            foreach (IOperator op in env.ApplicableOperators(node.State))
            {
                IOutcome outcome = env.act(node.State, op);
                ANode    succ    = new ANode();
                succ.State        = outcome.State;
                succ.UsedOperator = op;
                succ.Parent       = node;
                succ.G            = (int)(node.G - outcome.Reward);
                successors.Add(succ);
            }

            return(successors);
        }