Closed lubro closed 6 months ago
Hi,
Popper does not support learning from examples defined with different predicate symbols.
Andrew
On Tue, 23 Apr 2024, 13:08 lubro, @.***> wrote:
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 an 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.
— Reply to this email directly, view it on GitHub https://github.com/logic-and-learning-lab/Popper/issues/86, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAC2RSWSS67BUVANWLKMX6TY6ZFKJAVCNFSM6AAAAABGUYBGVSVHI2DSMVQWIX3LMV43ASLTON2WKOZSGI2TQNZRGE3DGNA . You are receiving this because you are subscribed to this thread.Message ID: @.***>
Hi,
thank you for the fast response, this answers my question.
Defining different heads in the mode bias does not work as expected.
I define a mode bias, containing two head predicate declarations, e.g.,
Since the documentation does not state any thing about this I expect popper to be able to learn a rules using either
p1
orp2
in the rules head. However, declaringp2
overwrites the declaration ofp1
which is some what counterintuitive behavior.The reason for this is located within the
load_types(settings)
functions in theutility.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.