logic-and-learning-lab/Popper

Mode Bias with multiple head declaration does not work as expected

Closed this issue · 2 comments

Defining different heads in the mode bias does not work as expected.

I define a mode bias, containing two head predicate declarations, e.g.,

head_pred(p1, 1).
head_pred(p2, 1).

Since the documentation does not state any thing about this I expect popper to be able to learn a rules using either p1 or p2 in the rules head. However, declaring p2 overwrites the declaration of p1 which is some what counterintuitive behavior.

The reason for this is located within the load_types(settings) functions in the utility.py file. However, I did not manage to figure out whether this behavior is intentional and the documentation is just unclear about it, or if it is actually just an implementation flaw / bug.

Hi,

thank you for the fast response,
this answers my question.