-
Notifications
You must be signed in to change notification settings - Fork 52
Popper command‐line arguments
rpgoldman edited this page Feb 4, 2026
·
2 revisions
usage: popper.py [-h] [--noisy] [--timeout TIMEOUT] [--max-literals MAX_LITERALS] [--max-body MAX_BODY] [--max-vars MAX_VARS]
[--max-rules MAX_RULES] [--eval-timeout EVAL_TIMEOUT] [--stats] [--quiet] [--debug] [--info] [--showcons]
[--solver {clingo,rc2,uwr,wmaxcdcl}] [--anytime-solver {wmaxcdcl,nuwls}] [--anytime-timeout ANYTIME_TIMEOUT]
[--batch-size BATCH_SIZE] [--functional-test]
kbpath
Popper is an ILP system based on learning from failures
positional arguments:
kbpath Path to files to learn from
options:
-h, --help show this help message and exit
--noisy tell Popper that there is noise
--timeout TIMEOUT Overall timeout in seconds (default: 1200)
--max-literals MAX_LITERALS
Maximum number of literals allowed in program (default: 40)
--max-body MAX_BODY Maximum number of body literals allowed in rule (default: 6)
--max-vars MAX_VARS Maximum number of variables allowed in rule (default: 6)
--max-rules MAX_RULES
Maximum number of rules allowed in a recursive program (default: 2)
--eval-timeout EVAL_TIMEOUT
Prolog evaluation timeout in seconds (default: 0.001)
--stats Print statistics at end of execution
--quiet, -q Hide information during learning
--debug Print debugging information to stderr
--info Print INFO level logs to stderr
--showcons Show constraints deduced during the search
--solver {clingo,rc2,uwr,wmaxcdcl}
Select a solver for the combine stage (default: rc2)
--anytime-solver {wmaxcdcl,nuwls}
Select an anytime MaxSAT solver (default: None)
--anytime-timeout ANYTIME_TIMEOUT
Maximum timeout (seconds) for each anytime MaxSAT call (default: 10)
--batch-size BATCH_SIZE
Combine batch size (default: 20000)
--functional-test Run functional test
@andrewcropper explains:
...that is a very confusing parameter. That parameter only influences the maximum number of rules in a program when learning recursive programs. It is otherwise ignored.
Even in a recursive context, Popper could learn more rules than the max-rules limit.
(This is mentioned in the online help, but could be missed.)