dpasp icon indicating copy to clipboard operation
dpasp copied to clipboard

ASEO inference errors for non-grounded predicates

Open famitzsy8 opened this issue 5 months ago • 1 comments

For a very simple (and stratified) program like:

mango_seller(1..3).

0.5::deal(X, Y) :- mango_buyer(X), mango_seller(Y).

was_deal :- deal(X, Y).

#query(was_deal).

we get non-converging inference errors with ASEO as opposed to the same program with the predicate was_deal grounded:

mango_seller(1..3).

0.5::deal(X, Y) :- mango_buyer(X), mango_seller(Y).

was_deal :- deal(1, 1).
was_deal :- deal(1, 2).
was_deal :- deal(1, 3).
was_deal :- deal(2, 1).
was_deal :- deal(2, 2).
was_deal :- deal(2, 3).
was_deal :- deal(3, 1).
was_deal :- deal(3, 2).
was_deal :- deal(3, 3).


#query(was_deal).
  • Weirdly enough this inference error phenomenon doesn't always occur when we use non-grounded predicates, e.g. in the case of the graph coloring program and the fail condition:
fail :- edge(X, Y), color(X, C), color(Y, C).

Note that this program is non-stratified.

Inference Errors by number of models

The Program with the one non-grounded predicate

nongrounded

The program with predicate grounded

grounded

And for the graph coloring problem

graphcol

famitzsy8 avatar Sep 02 '24 17:09 famitzsy8