atlas

Research map / Large language models / Agents, code and math

Exact ASP Counting with Compact Encodings

AAAI 2024 · Large language models › Agents, code and math · approach: LLM-guided program synthesis · 2 citations (OpenAlex)

Read the paperCheck your idea against 108,967 papers

AI-extracted summary. Written by AI from the paper's full text. Numbers and claims can be wrong or missing context, so check the paper before you cite or build on it.

Proposes sharpASP, an exact ASP (normal logic program) answer set counter that lifts component-caching propositional model counting via a copy-variable encoding of loop atoms, avoiding blowup of CNF size, and a hybrid with clingo enumeration.

Problem

Exact answer set counting for normal logic programs is #P-complete and existing counters scale poorly, especially for non-tight programs where translations to CNF blow up due to circular dependencies.

Approach

Define answer sets via Clark's completion plus a copy operation applied only to loop atoms, checked by unit propagation; this lets decomposability and determinism of component-caching model counters be lifted directly to ASP counting without enlarging the formula.

Key results

Measured effects reported in the paper

What was changedWhereMeasuredEffect
Use sharpASP(STD) instead of clingo enumerationASP exact counting · 1470 graph instancessolved instances: 869 -> 1023Helped
Use sharpASP(STD) instead of clingo enumerationASP exact counting · 1470 graph instancesPAR2: 4285 -> 3372Helped
Combine clingo enumeration with sharpASP(STD), switching after 10^5 answer setsHybrid ASP counter · 1470 graph instancessolved instances: 895 -> 1062Helped
Combine clingo enumeration with sharpASP(STD), switching after 10^5 answer setsHybrid ASP counter · 1470 graph instancesPAR2: 4205 -> 3082Helped
Use sharpASP(STD) instead of clingo enumerationASP exact counting · aspbensolved instances: 321 -> 260Hurt
Use the compact sharpASP(STD) encoding instead of aspmc+STD or lp2sat+STD (ablation)ASP counting, Group 1 benchmarks · Group 1 instancesBCP timeHelped
Use sharpASP(STD)'s original-variable branching instead of auxiliary-variable branching (ablation)ASP counting, Group 2 benchmarks · Group 2 instancesnumber of decisionsHurt
Use sharpASP(STD)'s original-variable branching instead of auxiliary-variable branching (ablation)ASP counting, Group 2 benchmarks · Group 2 instancescache performanceHurt

Surprising findings

Limitations

Experimental setup

Datasets: Hamiltonian cycle benchmarks graph reachability benchmarks aspben benchmark set

Benchmarks: Hamiltonian cycle (405) graph reachability (600) aspben (465)

Metrics: number of solved instances PAR2 score BCP time number of decisions cache hit rate

Baselines: clingo ASProblog DynASP aspmc lp2sat

Builds on: Clark's completion loop formula ASProblog GANAK D4 SharpSAT-TD

Closest papers by meaning

Writing a paper in this area? scime draft is a free LaTeX editor with AI included, real-time co-authors and a check of your references and venue rules before you submit. It also imports OpenAI Prism projects.

Open scime draft

Get the next scime Dispatch and a monthly field update

Free. We send a confirmation link first; every email has a one-click unsubscribe. Privacy