Skip to content
Commit 03f40d05 authored by Christoph Schwering's avatar Christoph Schwering
Browse files

Simplified PEL optimization and split-SF computation.

We treat SF of actions in the query as normal split literals except that
they are only split when k = 0 (and thus only when needed). That's why
they are added to the PEL.
The computation of these SF's is now different: before this commit, all
SF atoms for action sequences in the clause but not in context_z were
added.
That won't work well with nested queries because then context_z will
also contain actions from the outer query, not just physically executed
actions.
So the new idea is to base the computation on context_sf, because this
only contains SF results from physically executed actions. However, we
don't want to add trivial SF literals to PEL, because splitting them
won't help but increase complexity. So we just check if the setup
already contains a singleton clause with the SF atom or its negation.

This check also is a more elegant way to compute the initial PEL set, so
we could drop the pel_optimize() function and just do the check in
add_pel_of_clause(). That's shorter and should be even more efficient.
parent d0ed347d
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment