// StreamWriter sw = new StreamWriter("sss.txt", false); public PdbPlaner(List <Agent> m_agents, List <Landmark> goals, PatternDatabase pd) { // d = m_d; // p = m_p; agents = m_agents; this.pd = pd; publicActions = new List <Action>(); foreach (Agent agent in agents) { agentEffect.Add(agent.name, new HashSet <CompoundFormula>()); foreach (Action act in agent.publicActions) { CompoundFormula eff = new CompoundFormula("and"); foreach (GroundedPredicate gp in act.HashEffects) { if (agent.PublicPredicates.Contains(gp)) { eff.AddOperand(gp); } } if (!agentEffect[agent.name].Contains(eff)) { agentEffect[agent.name].Add(eff); } } agent.initPdbPlaner(); countOfLandmarks += agent.GetNumberOfRestLandmarks(); } PdbVertex.initVertxClass(agents, d, p, goals, pd); }
public PdbLama(List <Agent> m_agents) { // d = m_d; // p = m_p; agents = m_agents; publicActions = new List <Action>(); foreach (Agent agent in agents) { publicActions.AddRange(agent.publicActions); agent.initPlaner(); } countOfLandmarks = agents[0].publicRelevantLandmark.Count; PdbVertex.initVertxClass(agents); //countOfLandmarks = (countOfLandmarks / agents.Count) * 2; }