Releases: logic-and-learning-lab/Popper
Releases · logic-and-learning-lab/Popper
v4.4.0
Major efficiency improvements, including
- prune singletons idea
- adding implication finder
- remove backtracking as it is subsumed by other checks and is expensive
- remove subsumed programs from combiner
- improved neg example testing
- improve recalls and pointless relations
- improved unsat core
- add variant pruning
- many tweaks to reduce memory consumption
v4.3.0
- temporary horrible hack for annoying janus memory issue
- minor improvements to ALAN ASP encoding
- backtrack prune consistent programs
v4.2.0
- filter programs we add to the combine stage
- only build variants using existing variables when the size is bound
- replace internal representation of example coverage from sets to bit arrays
v4.1.1
- Slightly improved constraints
- Fixed weird Clingo issue
v4.1.0
- Try to deduce BK constraints by default
- Improved testing via Janus
- WIP on improving the constrain stage (only working for single-rule programs)
v4.0.0
v3.1.0
- The ability to use different MaxSAT solvers
- Automatically try to detect Datalog BK
- Optimisation for the combine stage when learning programs from noiseless data
v3.0.0
Lots of changes, including:
- Support for learning optimal (MDL) programs from noisy data (https://arxiv.org/pdf/2308.09393.pdf) with the
--noisy
flag. - Use SAT and MaxSAT solvers to improve efficiency
v2.1.0
Major changes:
- Popper now finds minimal unsatisfiable cores of totally incomplete programs, as described in the paper: Learning Logic Programs by Finding Minimal Unsatisfiable Cores, A. Cropper and C. Hocquette, AAAI 2023, which should reduce learning times a lot
Minor changes:
- Faster way to test single rule programs
- Experimental feature to discover constraints from the BK before searching as described in the paper: Learning Logic Programs By Discovering Where Not to Search, A. Cropper and C. Hocquette, AAAI 2023. Enable this feature with the
--bkcons
flag
v2.0.0
A new version of Popper
- The main change is a more efficient way of learning programs with multiple rules, especially non-recursive programs as described Learning programs by combining programs, https://arxiv.org/abs/2206.01614 and which is related to the paper Learning logic programs through divide, constrain, and conquer. A. Cropper. AAAI 2022.