Skip to content

Popper command‐line arguments

rpgoldman edited this page Feb 4, 2026 · 2 revisions

Popper Command Line Arguments

Command-line Help

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

Additional Information

--max-rules

@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.)

Clone this wiki locally