← Latest papers
💻 computer science

Using ASP(Q) to Handle Inconsistent Prioritized Data

This paper introduces and implements an ASP(Q)-based framework for inconsistency-tolerant querying of prioritized data using Pareto-, global-, and completion-optimal repairs, providing the first systems for globally-optimal and grounded semantics while analyzing their computational complexity and practical feasibility.

Original authors: Meghyn Bienvenu, Camille Bourgaux, Robin Jean, Giuseppe Mazzotta

Published 2026-04-24
📖 5 min read🧠 Deep dive

Original authors: Meghyn Bienvenu, Camille Bourgaux, Robin Jean, Giuseppe Mazzotta

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 the manager of a busy restaurant kitchen. You have a list of orders (your data) and a set of strict rules for how meals must be prepared (your logical theory).

Usually, everything runs smoothly. But sometimes, chaos strikes. Maybe a customer ordered a steak that is both "well-done" and "rare" at the same time, or perhaps two chefs are trying to use the same pan simultaneously. Your kitchen is now inconsistent. You can't serve the meal as is; you have to make a choice to fix the problem.

This paper is about how to make the best possible choices when your data is messy, using a powerful new tool called ASP(Q).

The Problem: Too Many Ways to Fix a Mess

When your kitchen has a conflict, you have to throw out some orders or change some instructions to make everything work again. In computer science, these "fixed" versions of your data are called Repairs.

Usually, there isn't just one way to fix the mess. There are dozens.

  • The "Brave" Chef: "I'll just pick any fix that works and serve that." (Optimistic, but risky).
  • The "Cautious" Chef: "I'll only serve what every possible fix agrees on." (Very safe, but you might serve very little food).
  • The "Average" Chef: "I'll serve what works in most fixes." (A middle ground).

But what if some ingredients are more important than others? What if the customer's "Rare" preference is more important than the "Well-done" one? This is where Priorities come in. We want to find the "Best" repair, not just a repair.

The Three Levels of "Best"

The paper focuses on three specific ways to define "Best," based on how strictly we apply the priority rules:

  1. Pareto-Optimal (The "Local Hero"): You can't improve the meal without making something else worse. It's a good fix, but maybe not the perfect one.
  2. Completion-Optimal (The "Tie-Breaker"): You assume that if the rules don't say which ingredient is better, you just pick one arbitrarily to make a decision.
  3. Globally-Optimal (The "Grandmaster"): This is the gold standard. It looks at the entire kitchen at once. It asks: "Is there any other way to fix this that is strictly better according to our priorities?" If the answer is no, you have the Global Optimal repair.

The Catch: Finding the "Grandmaster" (Global Optimal) fix is incredibly hard for computers. It's like trying to solve a Rubik's cube while blindfolded, while someone else is shaking the table. Previous computers could only handle the "Local Hero" and "Tie-Breaker" fixes. They gave up on the "Grandmaster" because it was too complex.

The Solution: A New Tool (ASP(Q))

The authors built a new system using a programming language called ASP(Q).

Think of standard programming as a single person trying to solve a puzzle. ASP(Q) is like having a team of detectives working in a specific hierarchy:

  • Detective A says: "I found a possible fix."
  • Detective B (the boss) says: "Okay, but for every single way Detective A could have solved it, is there a better way?"
  • Detective C says: "And for every single way Detective B found, is there a better way?"

This "quantifier" power (asking "for all" or "there exists") allows the computer to handle the massive complexity of the Global Optimal repair without getting lost. It's like upgrading from a bicycle to a high-speed train to cross a mountain.

The "Grounded" Shortcut

Even with this super-tool, checking every single possibility takes too long for huge datasets. So, the authors also tested a clever shortcut called Grounded Semantics.

Imagine you are trying to find the safest path through a minefield.

  • The Full Check: You walk every single possible path to see which ones are safe. (Slow, but thorough).
  • The Grounded Shortcut: You look at the map and say, "Okay, these specific spots are definitely safe because no mines are pointing at them." You start there, then see what becomes safe because of that, and keep going.

The paper discovered something surprising: The shortcut works almost as well as the full check! In many cases, the "Grounded" answer was exactly the same as the complex "Global Optimal" answer, but it was computed in seconds instead of hours.

What They Found (The Results)

The team ran thousands of experiments on fake data (like a simulated database of millions of records).

  1. The "Grandmaster" is finally possible: They successfully implemented the Global Optimal repair for the first time. It's slower than the other methods (as expected), but it works.
  2. The Shortcut is a Superstar: The "Grounded" approach was incredibly effective. It caught almost all the correct answers that the complex methods found, but it was much faster.
  3. The Strategy: The best way to run a kitchen (or a database) is to:
    • First, use the Grounded Shortcut to get a quick, safe answer.
    • If that doesn't give a clear answer, then try the harder Pareto method.
    • Only if you absolutely need the perfect "Grandmaster" answer, use the heavy Global Optimal tool (and be prepared to wait).

The Takeaway

This paper is a breakthrough because it finally lets computers handle the most difficult kind of messy data using the most logical, priority-based rules. It also teaches us that sometimes, a smart, simple shortcut (Grounded Semantics) is the most practical tool for the job, saving us from needing to solve the hardest puzzles every single time.

In short: We finally have a way to fix the messiest data perfectly, but we also found a super-fast way to get 99% of the way there.

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 →