public GULossInputEngine(IGraphState _graphstate, IExecutableMatrixGraph _graph, IVectorEvent _event) { graphstate = _graphstate; graph = _graph; Event = _event; }
public MatrixGraphExecuter(IExecutableMatrixGraph _graph) { Graph = _graph; }
public GraphOfMatrix(long ID, IExecutableMatrixGraph _matrixGraph, Declarations _declarations) : base(ID, _declarations) { matrixGraph = _matrixGraph; //TopCover = _topCover; }
public GraphState(IExecutableMatrixGraph graph) { if (graph.NumOfLevels != 0) { termlevelstates = new Dictionary <int, LevelState>(); ARITElevelstates = new Dictionary <int, SimpleLevelState>(); int NumOfLevels = graph.NumOfLevels; //Add both ARITE level state and Term/Node Level State for Upper levels for (int level = 0; level < NumOfLevels - 1; level++) { int NumOfLevelNodes = graph.GetNodeAggInfo(level).NumOfNodes; //actually this is the number of terms int NumOfARites = graph.GetAtomicRITEInfo(level).NumOfARITEs; termlevelstates.Add(level, new LevelState(NumOfLevelNodes)); ARITElevelstates.Add(level, new SimpleLevelState(NumOfARites)); } //Add ARITE level state for lowest level, don't add Term/Node Level State int lowestlevel = graph.LowestLevel; int NumOfLowestLevelARites = graph.GetAtomicRITEInfo(lowestlevel).NumOfARITEs; ARITElevelstates.Add(graph.LowestLevel, new SimpleLevelState(NumOfLowestLevelARites)); } #region delete later: old version: create one loss state per level //For Covers: //int NumOfCoverLevels = graph.NumOfLevelsForCover; //int LowestCoverLevel = graph.LowestCoverLevel; //for (int coverlevel = LowestCoverLevel; coverlevel <= NumOfCoverLevels; coverlevel++) //{ // int NumOfCoverLevelNodes = graph.GetCoverNodeAggInfo(coverlevel).NumOfNodes; // coverlevelstate.Add(coverlevel, new CoverLevelState(NumOfCoverLevelNodes)); //} ////Add level state for lowest cover level. //int NumOfResidules = graph.GetCoverResiduleInfo(LowestCoverLevel).NumOfResidules; //int NumOfArites = graph.GetCoverAriteInfo(LowestCoverLevel).NumOfARITEs; //lowestCoverLevelResiduleState = new CoverLevelState(NumOfResidules); //lowestCoverLevelAriteState = new CoverLevelState(NumOfArites); #endregion //For Covers: int leafCoverLevel = graph.LowestCoverLevel + 1; int TotalNumOfCovers = 0; int TopLevel = graph.NumOfCoverLevels + leafCoverLevel - 1; //graph.levelLenghtArray = new int[NumofLevels]; coverLevelAllocationRatioStates = new Dictionary <int, CoverAllocationRatioState>(); for (int i = leafCoverLevel; i <= TopLevel; i++) { int NumOfNodes = graph.GetCoverNodeAggInfo(i).NumOfNodes; TotalNumOfCovers += NumOfNodes; //int j = 0; //graph.levelLenghtArray[j] = NumOfNodes; //j++; //Allocation state is Per Level, due to the overlap that //the same cover will have to keep two ratios //coverLevelAllocationRatioStates.Add(i, new CoverAllocationRatioState(NumOfNodes)); //this will not work, ratio should be same length as the ChildMap coverLevelAllocationRatioStates.Add(i, new CoverAllocationRatioState(graph.GetCoverNodeAggInfo(i).GetChildrenMap().Count())); } TotalCoverState = new CoverState(TotalNumOfCovers); lowestCoverLevelResiduleState = new CoverState(graph.GetCoverResiduleInfo().NumOfResidules); lowestCoverLevelAriteState = new CoverState(graph.GetCoverAriteInfo().NumOfARITEs); lowestCoverLevelAriteAllocationRatio = new CoverAllocationRatioState(graph.GetCoverAriteInfo().NumOfARITEs); lowestCoverLevelResidualAllocationRatio = new CoverAllocationRatioState(graph.GetCoverResiduleInfo().NumOfResidules); }
public MatrixGraphAllocation(IExecutableMatrixGraph _graph, IGraphState _graphState) { Graph = _graph; graphState = _graphState; }