4 ms·
Good point. Yes, it uses optimisation for various tasks. First of all, it uses compact representatin of rules - similar to DNF, but converted to a sparse matri
by dmitry_stratyfy 11mo ago
Good point. Yes, it uses optimisation for various tasks.
First of all, it uses compact representatin of rules - similar to DNF, but converted to a sparse matrix.
Second, for the inference (which is a process of compiling the knowledge base) the order in which rules are compiled is crucial. We use two types of heuristic optimisations for this process, one is based on Jaccard similarity, another is so called predator-pray heuristics.
Happy to give more details, let me know
- d_blumberg 11mo agoI checked your benchmarks. Runtime with 30 rules is 5x longer than with 45 rules. Am I missing something?
- dmitry_stratyfy 11mo agoThis is an expected behaviour. More rules impose more constraints on the feasible space. The space with more rules is hence much smaller. The only pitfall is that in the middle of calculation the feasible space may blow up before eventually shrinking. This is where the optimisation heuristics helps. Your previous question was spot on :)