atlas

Research map / Learning theory and algorithms / Combinatorial and search optimization

Engineering an Exact Pseudo-Boolean Model Counter

AAAI 2024 · Learning theory and algorithms › Combinatorial and search optimization · approach: SAT and model counting solvers · 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 PBCount, the first exact pseudo-Boolean model counter, which compiles PB constraints into algebraic decision diagrams (top-down and bottom-up) and counts via the ADDMC framework, completing 1513 of 3473 benchmarks versus 1013 for the best CNF counter.

Problem

Exact model counting for pseudo-Boolean formulas has been largely neglected; existing approaches convert PB to CNF and use CNF model counters, which is inefficient given PB's succinctness.

Approach

Compile each PB constraint directly into an ADD using either a top-down (ITE-based, with early termination) or bottom-up (apply-based, with subset-sum leaf reduction) method, choose between them dynamically per constraint, and then run ADDMC's dynamic programming counting over the constraint ADDs.

Key results

Measured effects reported in the paper

What was changedWhereMeasuredEffect
Use native PB counting with PBCount rather than projected CNF counting with GPMCPB model counting · All benchmarksinstances completed (3600s): 1013 -> 1513Helped
Use native PB counting with PBCount rather than the strongest CNF counter on each benchmarkSensor placement · Sensor placementinstances completed (3600s): 625 -> 638Helped
Use native PB counting with PBCount rather than the strongest CNF counter on each benchmarkPBCount · M-dim knapsackinstances completed (3600s): 281 -> 503Helped
Use native PB counting with PBCount rather than the strongest CNF counter on each benchmarkPBCount · Auctioninstances completed (3600s): 159 -> 372Helped
Use bottom-up instead of top-down constraint compilation (ablation)PBCount · Sensor placementinstances completed: 580 -> 638Helped
Use bottom-up instead of top-down constraint compilation (ablation)PBCount · M-dim knapsackinstances completed: 109 -> 503Helped
Use bottom-up instead of top-down constraint compilation (ablation)PBCount · Auctioninstances completed: 158 -> 375Helped
Use dynamic compilation instead of bottom-up compilation (ablation)PBCount · Auctioninstances completed: 375 -> 372Hurt
Add dynamic compilation and term coefficient optimization instead of always using bottom-up (ablation)PBCount · Auction benchmarks completed by both approachesinstances faster: 257 points beneath red diagonal line; 115 points aboveMixed
Disable preprocessing (ablation)PBCount · All benchmarksinstances completed (3600s): 1513 -> 1510Hurt
Disable preprocessing (ablation)GPMC · All benchmarksinstances completed (3600s): 1013 -> 966Hurt
Set auction constraint coefficients to one of three randomly generated values instead of one shared random magnitude (ablation)PBCount bottom-up compilation · Auction modified benchmarksinstances completed: 758 -> 705Hurt

Surprising findings

Limitations

Experimental setup

Datasets: sensor placement benchmarks (1473 instances) combinatorial auction benchmarks (1000 instances) multi-dimension knapsack benchmarks (1000 instances)

Benchmarks: sensor placement multi-dimension knapsack auction counting benchmarks

Metrics: number of instances completed within 3600s unique instances solved runtime

Baselines: GPMC DPMC D4 PBLib + CNF counters

Builds on: ADDMC PBLib Ganak GPMC

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