← Latest papers
💻 computer science

Disjoint Partial Enumeration without Blocking Clauses

This paper proposes a novel approach for enumerating disjoint partial propositional models that eliminates the need for blocking clauses by integrating Conflict-Driven Clause-Learning, Chronological Backtracking, and Implicant Shrinking, thereby overcoming the memory and performance limitations associated with traditional methods.

Original authors: Giuseppe Spallitta, Roberto Sebastiani, Armin Biere

Published 2026-05-11
📖 5 min read🧠 Deep dive

Original authors: Giuseppe Spallitta, Roberto Sebastiani, Armin Biere

Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer

Imagine you are a detective trying to find every possible way to solve a giant, complex puzzle. In the world of computer science, this puzzle is a "propositional formula," and the solutions are different ways to set the puzzle pieces (variables) to "true" or "false" so that everything fits together perfectly. This task is called AllSAT (finding all solutions).

Sometimes, you don't need to find every single specific arrangement of pieces. You just need to find groups of arrangements. For example, instead of listing "Piece A is up, Piece B is down, Piece C is up," you might say, "As long as Piece A is up, it doesn't matter what B or C do." This is called a partial model. It's like saying, "Any outfit with a red shirt works," rather than listing every single pair of pants and shoes that goes with it.

The paper by Spallitta, Sebastiani, and Biere introduces a new, smarter way to find these groups of solutions without getting bogged down. Here is how they did it, explained through simple analogies.

The Old Way: The "Do Not Enter" Sign Problem

Traditionally, when a computer finds a solution, it wants to make sure it never finds that exact same solution again. To do this, it used a method called Blocking Clauses.

Think of this like a detective who, after finding a suspect's location, puts up a giant "DO NOT ENTER" sign right on that spot.

  • The Good: It works well. The detective knows to skip that spot.
  • The Bad: If there are millions of solutions, the detective ends up putting up millions of "DO NOT ENTER" signs. The map becomes cluttered, the detective spends too much time reading the signs, and the memory on their clipboard runs out. The process gets slow and clumsy.

The New Way: The "Time-Traveling" Detective

The authors propose a new approach called TABULARALLSAT. Instead of putting up "Do Not Enter" signs, they use a combination of three clever tricks to ensure they never visit the same spot twice, without cluttering the map.

1. The "Smart Detour" (CDCL)

This is the computer's ability to realize, "Oh, I'm walking down a hallway where no doors are open." Instead of walking all the way to the end of the hallway to realize it's a dead end, the computer learns from the clues (conflicts) and instantly jumps back to the last decision point to try a different path. This saves a massive amount of time.

2. The "Strict Time-Travel" (Chronological Backtracking)

In the old method, when the detective hit a dead end, they might jump back to a random point in the past to try something new. This is efficient for finding one solution, but for finding all solutions, it causes the detective to accidentally re-walk the same paths over and over.

The new method uses Chronological Backtracking. This is like a strict rule: "You can only go back to the very last decision you made."

  • The Metaphor: Imagine you are walking through a maze. If you hit a wall, you don't teleport to the entrance. You simply turn around and take the last turn you made, but go the other way.
  • The Benefit: Because you strictly follow the timeline of your steps, you are guaranteed to explore every unique path exactly once. You never need to put up "Do Not Enter" signs because the strict rules of time-travel prevent you from looping back.

3. The "Shrinking the Solution" Trick (Implicant Shrinking)

Sometimes, the detective finds a solution that requires 10 specific clues. But upon closer inspection, they realize, "Wait, I only actually needed 3 of these clues. The other 7 don't matter."

  • The Old Problem: Previous methods struggled to remove those extra clues without breaking the "no repeats" rule.
  • The New Trick: The authors developed a way to quickly "shrink" the solution. They look at the clues and say, "If I remove this one, does the puzzle still work?" If yes, they drop it. They do this using a special indexing system (like a library card catalog) that lets them check clues instantly. This turns a long, specific solution into a short, general one (a partial model), covering thousands of possibilities at once.

The Results: A Faster, Lighter Detective

The authors built a tool called TABULARALLSAT to test this new method. They compared it against other top-tier solvers using various difficult puzzles.

  • The Outcome: Their new detective was faster and solved more puzzles than the others.
  • Why? It didn't get slowed down by reading thousands of "Do Not Enter" signs (blocking clauses). It didn't get stuck in loops. And it was very good at summarizing solutions (shrinking them), which meant it could report huge groups of answers in a single breath.

Summary

In short, the paper says: "We found a way to list every possible solution to a logic puzzle without cluttering our memory with 'Do Not Enter' signs. We do this by strictly following our steps backward in time and quickly summarizing our findings. This makes the process much faster and less memory-heavy."

This is purely a computer science breakthrough for solving logic puzzles efficiently, with no mention of medical or clinical applications in the text.

Drowning in papers in your field?

Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.

Try Digest →