public Reasoning() { worldDescription = new WorldDescription(); scenarioDescriptionList = new List<ScenarioDescription>(); _logger = ServiceLocator.Current.GetInstance<ILog>(); TInf = 100; }
public void SetUp() { // BASIC WORLD DESCRIPTION _worldDescription = new WorldDescription(); _worldDescription.Descriptions.Add(new Tuple<WorldDescriptionRecordType, WorldDescriptionRecord>(WorldDescriptionRecordType.Initially, new InitialRecord("a || b || c || d"))); _worldDescription.Descriptions.Add(new Tuple<WorldDescriptionRecordType, WorldDescriptionRecord>(WorldDescriptionRecordType.ActionCausesIf, new ActionCausesIfRecord(this._actionA2, "a && !b", "c"))); _worldDescription.Descriptions.Add(new Tuple<WorldDescriptionRecordType, WorldDescriptionRecord>(WorldDescriptionRecordType.ActionCausesIf, new ActionCausesIfRecord(this._actionB3, "a || b", "d"))); // BASIC SCENARIO _scenarioDescription = new ScenarioDescription("basic"); _scenarioDescription.addObservation(new SimpleLogicExpression("a && b && c && d"), 0); _scenarioDescription.addACS(this._actionA2, 1); _scenarioDescription.addObservation(new SimpleLogicExpression("a && !b && c && d"), 4); _reasoning = new Reasoning(); foreach (var description in _worldDescription.Descriptions.Select(t => t.Item2)) _reasoning.AddWorldDescriptionRecord(description); }
public void SetUp() { _state = new State{ Fluents = new List<Fluent>{ new Fluent { Name = "a", Value = true }, new Fluent { Name = "b", Value = true }, new Fluent { Name = "c", Value = true }, new Fluent { Name = "e", Value = true } }}; var fluentC = new Fluent { Name = "c", Value = true }; _worldDescription = new WorldDescription(); // INITIALLY _worldDescription.Descriptions.Add(new Tuple<WorldDescriptionRecordType, WorldDescriptionRecord>(WorldDescriptionRecordType.Initially, new InitialRecord("a || b || c || e"))); // ACTION CAUSES IF _worldDescription.Descriptions.Add(new Tuple<WorldDescriptionRecordType, WorldDescriptionRecord>(WorldDescriptionRecordType.ActionCausesIf, new ActionCausesIfRecord(action_A_2, "a && !b", "c"))); _worldDescription.Descriptions.Add(new Tuple<WorldDescriptionRecordType, WorldDescriptionRecord>(WorldDescriptionRecordType.ActionCausesIf, new ActionCausesIfRecord(action_B_3, "a || b", "e"))); _worldDescription.Descriptions.Add(new Tuple<WorldDescriptionRecordType, WorldDescriptionRecord>(WorldDescriptionRecordType.ActionCausesIf, new ActionCausesIfRecord(action_B_3, "!b && !c", "e"))); // RELEASE FLUENT _worldDescription.Descriptions.Add(new Tuple<WorldDescriptionRecordType, WorldDescriptionRecord>(WorldDescriptionRecordType.ActionReleasesIf, new ActionReleasesIfRecord(action_B_3, fluentC, "e || c"))); }