Custom Query (2734 matches)
Results (28 - 30 of 2734)
Ticket | Resolution | Summary | Owner | Reporter |
---|---|---|---|---|
#3042 | done | Remove progress bar after constant optimization error | mkommend | pfleck |
Description |
If an exception occurs during the constant optimization within the Simplifier, the progress bar stays on top locking the view. In case of an exception, the progress bar should be removed. Additionally, the "Optimize" button should only be enabled if the constant optimization is possible. |
|||
#3041 | done | IsDisposable is overwritten when slaves say Hello | jkarder | jkarder |
Description |
Per default, slaves communicate that they are disposable when connecting to the Hive service. This setting can be changed by Hive administrators, but is currently overwritten each time a slave connects. |
|||
#3039 | done | BTC (Balanced Tree Creator) for HeuristicLab | gkronber | bburlacu |
Description |
I would like to propose a new tree creation algorithm with two main advantages over PTC2 (Probabilistic Tree Creator):
Like the PTC2, the BTC is able to follow a user-specified distribution of tree lengths as well as desired symbol frequencies. The idea behind the algorithm is to keep expanding a "horizon" of open slots (expansion points) in breadth-wise fashion while keeping track of the difference to the target length. Sample implementation: public static ISymbolicExpressionTree CreateExpressionTree(IRandom random, ISymbolicExpressionGrammar grammar, int targetLength, int maxDepth) { var allowedSymbols = grammar.AllowedSymbols.Where(x => x.InitialFrequency > 0.0).ToList(); var tree = MakeStump(random, grammar); var tuples = new List<NodeInfo>(targetLength) { new NodeInfo { Node = tree.Root, Depth = 0, Arity = 1 }, new NodeInfo { Node = tree.Root.GetSubtree(0), Depth = 1, Arity = 1 } }; int remLength = targetLength - 2; // remaining length; I already have a root and start node int openSlots = 1; // startNode has arity 1 for (int i = 1; i < tuples.Count; ++i) { var t = tuples[i]; var node = t.Node; for (int j = 0; j < t.Arity; ++j) { // min and max arity here refer to the required arity limits for the child node int maxChildArity = t.Depth == maxDepth - 1 ? 0 : Math.Min(GetMaxChildArity(grammar, allowedSymbols, node.Symbol), remLength - openSlots); int minChildArity = Math.Min(1, maxChildArity); var child = SampleNode(random, grammar, allowedSymbols, node.Symbol, minChildArity, maxChildArity); var childArity = random.Next(grammar.GetMinimumSubtreeCount(child.Symbol), grammar.GetMaximumSubtreeCount(child.Symbol) + 1); var childDepth = t.Depth + 1; node.AddSubtree(child); tuples.Add(new NodeInfo { Node = child, Depth = childDepth, Arity = childArity }); remLength--; openSlots += childArity - 1; } } return tree; } Preliminary test: BTC vs PTC2 with 100K trees with uniform length from U(1,100) and max depth 100, and a grammar G={+,-,*,/,exp,log,constant}:
|