/// <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()); }
internal Strategy[] GetStrategiesToP(int vertex, IEnumerable P, int maxSteps) { InitEdgeProbabilities(); StrategyCalculator sc = new StrategyCalculator(this, P, maxSteps); sc.Calculate(); return(sc.GetStrategyReachableFromVertex(vertex)); }
internal Strategy[] GetStrategiesToP(int vertex,IEnumerable P,int maxSteps) { InitEdgeProbabilities(); StrategyCalculator sc=new StrategyCalculator(this,P,maxSteps); sc.Calculate(); return sc.GetStrategyReachableFromVertex(vertex); }
/// <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(); }