Beispiel #1
0
        /// <summary>
        /// Returns map from V*{0..n} to Strategy
        /// </summary>
        /// <param name="P">the set ov verices to reach</param>
        /// <param name="order">must be an acceptable order
        /// We call an order O on pairs of real numbers acceptable if
        /// for any integer m for any real numbers Pi, Ci, P'i, C'i, pi and ci where i changes from 0 to m if
        /// (pi, ci) less or equal (p'i, c'i) according to O for every i from 0 to m
        ///		pi > 0 for every i from 0 to m and sum{ pi:  0 \leq i \leq n }=1
        ///then (sum{ piPi: 0 \leq i leq n },max{ ci+Ci: 0 \leq i \leq n }) \leq (sum{ piP'i: 0 \leq i \leq n },max{ ci+C'i: 0 \leq i \leq n }) </param>
        /// <param name="maxSteps">maximal number of edges to use for reachin P</param>
        /// <returns>array of strategies Strategy with length equals to the number of vertices</returns>
        internal Strategy[] GetStrategiesToP(IEnumerable P, IOrder order, int maxSteps)
        {
            InitEdgeProbabilities();
            //	InitBackwardEdges();
            StrategyCalculator sc = new StrategyCalculator(this, P, order, maxSteps);

            return(sc.Calculate());
        }
Beispiel #2
0
        internal Strategy[] GetStrategiesToP(int vertex, IEnumerable P, int maxSteps)
        {
            InitEdgeProbabilities();


            StrategyCalculator sc = new StrategyCalculator(this, P, maxSteps);

            sc.Calculate();
            return(sc.GetStrategyReachableFromVertex(vertex));
        }
Beispiel #3
0
        internal Strategy[] GetStrategiesToP(int vertex,IEnumerable P,int maxSteps)
        {
            InitEdgeProbabilities();

              StrategyCalculator sc=new StrategyCalculator(this,P,maxSteps);
              sc.Calculate();
              return sc.GetStrategyReachableFromVertex(vertex);
        }
Beispiel #4
0
 /// <summary>
 /// Returns map from V*{0..n} to Strategy
 /// </summary>
 /// <param name="P">the set ov verices to reach</param>
 /// <param name="order">must be an acceptable order 
 /// We call an order O on pairs of real numbers acceptable if 
 /// for any integer m for any real numbers Pi, Ci, P'i, C'i, pi and ci where i changes from 0 to m if 
 /// (pi, ci) less or equal (p'i, c'i) according to O for every i from 0 to m
 ///		pi > 0 for every i from 0 to m and sum{ pi:  0 \leq i \leq n }=1
 ///then (sum{ piPi: 0 \leq i leq n },max{ ci+Ci: 0 \leq i \leq n }) \leq (sum{ piP'i: 0 \leq i \leq n },max{ ci+C'i: 0 \leq i \leq n }) </param>
 /// <param name="maxSteps">maximal number of edges to use for reachin P</param>
 /// <returns>array of strategies Strategy with length equals to the number of vertices</returns>
 internal Strategy[] GetStrategiesToP(IEnumerable P,IOrder order,int maxSteps)
 {
     InitEdgeProbabilities();
       //	InitBackwardEdges();
       StrategyCalculator sc=new StrategyCalculator(this,P,order,maxSteps);
       return sc.Calculate();
 }