Skip to content

Multi-shot step literals #68

@MaxOstrowski

Description

@MaxOstrowski

While doing some basic research about the new --single-shot option of clingo in this issue, I found out that not only preprocessing and frozen literals may have a performance influence, but also the step literal which seems to be added to every learnt clause.

The only reason I could think of why this learnt information is tagged with the step literal is enumeration.
I do not see any reason why information derived from non tagged clauses (or in my case, from a deterministic propagator) should be tagged with a step literal and therefore be retractable. So the question is: would it be possible to only add the step literal to enumeration relevant clauses? I think this could (partly) address the problem of the reported performance degradation when switching from the Application to the API.

After reading the paper about enumeration I could imagine that there is no such thing as "enumeration relevant clauses", but maybe you have an idea. Otherwise, this can simply be closed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions