private static void ReportRedundancyInRules(List <SimpleTree> firstSimpleTree, List <SimpleTree> secoundSimpleTree) { var firstRuleDescription = ConclusionClass.GetFlatteredRuleDescription(firstSimpleTree); var secoundRuleDescription = ConclusionClass.GetFlatteredRuleDescription(secoundSimpleTree); MessageBox.Show("Mamy nadmiarowość " + firstRuleDescription + secoundRuleDescription); }
public void TestMethod1() { bases.RuleBase.ReadRules("REstudent.BED"); ConclusionClass conclusionClass = new ConclusionClass(bases, _viewModel); conclusionClass.BackwardConclude(bases.RuleBase.RulesList[3]); }
public ActionsOnBase(GatheredBases bases, ViewModel model, IElementsNamesLanguageConfig config) { _viewModel = model; _config = config; _bases = bases; conclusion = new ConclusionClass(_bases, _viewModel, config); _constrainActions = new ConstrainActions(conclusion, _viewModel, _bases); }
private static void ReportRedundancyInConstrains (List <SimpleTree> firstSimpleTree, List <SimpleTree> secoundSimpleTree, Constrain value) { var firstRuleDescription = ConclusionClass.GetFlatteredRuleDescription(firstSimpleTree); var secoundRuleDescription = ConclusionClass.GetFlatteredRuleDescription(secoundSimpleTree); MessageBox.Show("Mamy nadmiarowość z ograniczeniem \n" + firstRuleDescription + secoundRuleDescription + "z ograniczeniem numer" + value.NumberOfConstrain); }
public static List <List <SimpleTree> > AllFlatteredRules(GatheredBases bases, Rule ruleForCheck) { List <List <SimpleTree> > allFlatteredRules = new List <List <SimpleTree> >(); List <Rule> ruleList = ConclusionClass.FindRulesWithParticularConclusion (ruleForCheck.Conclusion, bases.RuleBase.RulesList); foreach (var r in ruleList) { List <List <Rule> > differencesList; var tree = TreeOperations.ReturnComplexTreeAndDifferences( bases, r, out differencesList); List <List <SimpleTree> > possibleTrees = TreeOperations.ReturnPossibleTrees(tree, differencesList); allFlatteredRules.AddRange(possibleTrees); } return(allFlatteredRules); }
public static void ExpandBrunchOrMakeAskable (GatheredBases bases, SimpleTree parentWithoutChild, List <List <Rule> > divideList) { foreach (string condition in parentWithoutChild.rule.Conditions) { List <Rule> returnedRules = ConclusionClass.FindRulesWithParticularConclusion(condition, bases.RuleBase.RulesList); if (returnedRules.Count == 0) { bool isModel = CheckIfModel(condition, bases); var endRule = new Rule { Conclusion = condition, NumberOfRule = bases.RuleBase.RulesList.Count + 1000 }; parentWithoutChild.Children.Add(new SimpleTree { Model = isModel, Askable = true, rule = endRule, Parent = parentWithoutChild //todo:nie wiem czy nie lepiej bêdzie jak dopyt i model bêd¹ w endRule }); } else { List <SimpleTree> alternativeBranches = ReturnAlternativeBranches(returnedRules, parentWithoutChild); // parentWithoutChild.Children.AddRange(alternativeBranches); if (returnedRules.Count > 1) { divideList.Add(returnedRules); } } } }