From: <jen...@us...> - 2007-10-18 17:23:34
|
Revision: 239 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=239&view=rev Author: jenslehmann Date: 2007-10-18 10:23:31 -0700 (Thu, 18 Oct 2007) Log Message: ----------- fixed bug in role initialisation Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java Modified: trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java =================================================================== --- trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java 2007-10-18 17:21:38 UTC (rev 238) +++ trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java 2007-10-18 17:23:31 UTC (rev 239) @@ -255,6 +255,8 @@ } else if(ignoredRoles != null) { Helper.checkRoles(rs, ignoredRoles); usedRoles = Helper.difference(rs.getAtomicRoles(), ignoredRoles); + } else { + usedRoles = rs.getAtomicRoles(); } // prepare subsumption and role hierarchies, because they are needed This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jen...@us...> - 2007-10-19 17:04:13
|
Revision: 256 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=256&view=rev Author: jenslehmann Date: 2007-10-19 10:04:12 -0700 (Fri, 19 Oct 2007) Log Message: ----------- implemented feature request #1816656 use "refinement.replaceSearchTree = true;" to replace the search tree at each iteration instead of appending it Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java Modified: trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java =================================================================== --- trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java 2007-10-19 15:42:38 UTC (rev 255) +++ trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java 2007-10-19 17:04:12 UTC (rev 256) @@ -44,6 +44,7 @@ // configuration options private boolean writeSearchTree; private File searchTreeFile; + private boolean replaceSearchTree = false; private static String defaultSearchTreeFile = "log/searchTree.txt"; private Heuristic heuristic = Heuristic.LEXICOGRAPHIC; Set<AtomicConcept> allowedConcepts; @@ -100,7 +101,7 @@ // boolean quiet = false; boolean showBenchmarkInformation = false; // boolean createTreeString = false; - String searchTree = new String(); + // String searchTree = new String(); TreeSet<Node> expandedNodes = new TreeSet<Node>(nodeComparatorStable); // Konfiguration des Algorithmus @@ -159,6 +160,7 @@ Collection<ConfigOption<?>> options = new LinkedList<ConfigOption<?>>(); options.add(new BooleanConfigOption("writeSearchTree", "specifies whether to write a search tree", false)); options.add(new StringConfigOption("searchTreeFile","file to use for the search tree", defaultSearchTreeFile)); + options.add(new BooleanConfigOption("replaceSearchTree","specifies whether to replace the search tree in the log file after each run or append the new search tree", false)); StringConfigOption heuristicOption = new StringConfigOption("heuristic", "specifiy the heuristic to use", "lexicographic"); heuristicOption.setAllowedValues(new String[] {"lexicographic", "flexible"}); options.add(heuristicOption); @@ -196,6 +198,8 @@ writeSearchTree = (Boolean) entry.getValue(); else if(name.equals("searchTreeFile")) searchTreeFile = new File((String)entry.getValue()); + else if(name.equals("replaceSearchTree")) + replaceSearchTree = (Boolean) entry.getValue(); else if(name.equals("heuristic")) { String value = (String) entry.getValue(); if(value.equals("lexicographic")) @@ -222,6 +226,9 @@ if(searchTreeFile == null) searchTreeFile = new File(defaultSearchTreeFile); + if(writeSearchTree) + Files.clearFile(searchTreeFile); + // adjust heuristic if(heuristic == Heuristic.LEXICOGRAPHIC) nodeComparator = new NodeComparator(); @@ -407,11 +414,15 @@ expandedNodes.clear(); treeString += "horizontal expansion: " + minimumHorizontalExpansion + " to " + maximumHorizontalExpansion + "\n"; treeString += topNode.getTreeString(); + treeString += "\n"; // System.out.println(treeString); - searchTree += treeString + "\n"; + // searchTree += treeString + "\n"; // TODO: ev. immer nur einen search tree speichern und den an die // Datei anhängen => spart Speicher - Files.createFile(searchTreeFile, searchTree); + if(replaceSearchTree) + Files.createFile(searchTreeFile, treeString); + else + Files.appendFile(searchTreeFile, treeString); } // Anzahl Schleifendurchläufe @@ -423,8 +434,8 @@ } // Suchbaum in Datei schreiben - if(writeSearchTree) - Files.createFile(searchTreeFile, searchTree); +// if(writeSearchTree) +// Files.createFile(searchTreeFile, searchTree); // Ergebnisausgabe /* This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jen...@us...> - 2008-01-02 13:52:48
|
Revision: 337 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=337&view=rev Author: jenslehmann Date: 2008-01-02 05:52:44 -0800 (Wed, 02 Jan 2008) Log Message: ----------- fixed non-working option improveSubsumptionHierarchy in refinement based learning algorithm Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java Modified: trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java =================================================================== --- trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java 2008-01-02 12:59:17 UTC (rev 336) +++ trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java 2008-01-02 13:52:44 UTC (rev 337) @@ -59,6 +59,7 @@ private boolean useOverlyGeneralList = true; private boolean useShortConceptConstruction = true; private double horizontalExpansionFactor = 0.6; + private boolean improveSubsumptionHierarchy = true; private boolean useAllConstructor = true; private boolean useExistsConstructor = true; private boolean useNegation = true; @@ -236,6 +237,8 @@ useShortConceptConstruction = (Boolean) entry.getValue(); } else if(name.equals("horzontalExpansionFactor")) { horizontalExpansionFactor = (Double) entry.getValue(); + } else if(name.equals("improveSubsumptionHierarchy")) { + improveSubsumptionHierarchy = (Boolean) entry.getValue(); } else if(name.equals("useAllConstructor")) { useAllConstructor = (Boolean) entry.getValue(); } else if(name.equals("useExistsConstructor")) { @@ -297,7 +300,8 @@ // prepare subsumption and role hierarchies, because they are needed // during the run of the algorithm rs.prepareSubsumptionHierarchy(usedConcepts); - rs.getSubsumptionHierarchy().improveSubsumptionHierarchy(); + if(improveSubsumptionHierarchy) + rs.getSubsumptionHierarchy().improveSubsumptionHierarchy(); rs.prepareRoleHierarchy(usedRoles); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jen...@us...> - 2008-02-18 10:32:31
|
Revision: 597 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=597&view=rev Author: jenslehmann Date: 2008-02-18 02:32:27 -0800 (Mon, 18 Feb 2008) Log Message: ----------- added getStartNode method such that the root of the search tree can be obtained Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java Modified: trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java =================================================================== --- trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java 2008-02-17 23:38:43 UTC (rev 596) +++ trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java 2008-02-18 10:32:27 UTC (rev 597) @@ -119,6 +119,11 @@ // detect whether a new best node has been found since the last time // statistics were printed) private Node previousBestNode; + + // record start node such that other applications can + // get information about the search tree + private Node startNode; + // boolean createTreeString = false; // String searchTree = new String(); TreeSet<Node> expandedNodes = new TreeSet<Node>(nodeComparatorStable); @@ -348,6 +353,7 @@ // der Länge 1 untersucht wurden candidates.add(topNode); candidatesStable.add(topNode); + startNode = topNode; // Abbruchvariable => beachten, dass bereits TOP eine Lösung sein kann solutionFound = (coveredNegativeExamples == 0); solutions = new LinkedList<Description>(); @@ -987,4 +993,11 @@ stop = true; } + /** + * @return the startNode + */ + public Node getStartNode() { + return startNode; + } + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |