Open AniekMarkus opened 2 months ago
When last feature is repeated this leads to a reduction from 32 -> 8 rules (but all redundant / removed during binary optimisation?):
2 = AND 3 = OR 2 = AND 3 = OR 2 = X Candidate model: '198124209' = 1 AND '316139209' = 0 OR '198124209' = 1 AND '316139209' = 0 OR '198124209' = 0 Candidate model: '198124209' = 1 AND '316139209' = 0 OR '198124209' = 0 AND '316139209' = 0 OR '198124209' = 1 X Candidate model: '198124209' = 1 AND '316139209' = 0 OR '198124209' = 1 AND '316139209' = 1 OR '198124209' = 0 Candidate model: '198124209' = 1 AND '316139209' = 0 OR '198124209' = 0 AND '316139209' = 1 OR '198124209' = 1 X Candidate model: '198124209' = 1 AND '316139209' = 1 OR '198124209' = 1 AND '316139209' = 0 OR '198124209' = 0 Candidate model: '198124209' = 1 AND '316139209' = 1 OR '198124209' = 0 AND '316139209' = 0 OR '198124209' = 1 X Candidate model: '198124209' = 1 AND '316139209' = 1 OR '198124209' = 1 AND '316139209' = 1 OR '198124209' = 0 Candidate model: '198124209' = 1 AND '316139209' = 1 OR '198124209' = 0 AND '316139209' = 1 OR '198124209' = 1 X 2 = AND 3 = OR 2 = AND 3 = OR 3 = X Candidate model: '198124209' = 0 AND '316139209' = 1 OR '198124209' = 0 AND '316139209' = 1 OR '316139209' = 0 Candidate model: '198124209' = 0 AND '316139209' = 1 OR '198124209' = 0 AND '316139209' = 0 OR '316139209' = 1 X Candidate model: '198124209' = 0 AND '316139209' = 1 OR '198124209' = 1 AND '316139209' = 1 OR '316139209' = 0 Candidate model: '198124209' = 0 AND '316139209' = 1 OR '198124209' = 1 AND '316139209' = 0 OR '316139209' = 1 X Candidate model: '198124209' = 1 AND '316139209' = 1 OR '198124209' = 0 AND '316139209' = 1 OR '316139209' = 0 Candidate model: '198124209' = 1 AND '316139209' = 1 OR '198124209' = 0 AND '316139209' = 0 OR '316139209' = 1 X Candidate model: '198124209' = 1 AND '316139209' = 1 OR '198124209' = 1 AND '316139209' = 1 OR '316139209' = 0 Candidate model: '198124209' = 1 AND '316139209' = 1 OR '198124209' = 1 AND '316139209' = 0 OR '316139209' = 1 X
2 = AND 3 = OR 2 = AND 4 = OR 2 = Candidate model: '198124209' = 1 AND '316139209' = 0 OR '198124209' = 1 AND '316139210' = 0 OR '198124209' = 0 Candidate model: '198124209' = 1 AND '316139209' = 0 OR '198124209' = 0 AND '316139210' = 0 OR '198124209' = 1 X Candidate model: '198124209' = 1 AND '316139209' = 0 OR '198124209' = 1 AND '316139210' = 1 OR '198124209' = 0 Candidate model: '198124209' = 1 AND '316139209' = 0 OR '198124209' = 0 AND '316139210' = 1 OR '198124209' = 1 X Candidate model: '198124209' = 1 AND '316139209' = 1 OR '198124209' = 1 AND '316139210' = 0 OR '198124209' = 0 Candidate model: '198124209' = 1 AND '316139209' = 1 OR '198124209' = 0 AND '316139210' = 0 OR '198124209' = 1 X Candidate model: '198124209' = 1 AND '316139209' = 1 OR '198124209' = 1 AND '316139210' = 1 OR '198124209' = 0 Candidate model: '198124209' = 1 AND '316139209' = 1 OR '198124209' = 0 AND '316139210' = 1 OR '198124209' = 1 X
When feature in term of size 1 = TRUE -> feature in term of size > 1 = FALSE When feature in term of size 1 = FALSE -> feature in term of size > 1 = TRUE
This is correct in conjunction-1, but not in conjunction-2 (see bold cases).
This also occurs for other term tuples, e.g. term tuple 2 1 1: 2 = AND 3 = OR 2 = OR 3 = Candidate model: '198124209' = 1 AND '316139209' = 1 OR '198124209' = 0 OR '316139209' = 0 Candidate model: '198124209' = 1 AND '316139209' = 1 OR '198124209' = 0 OR '316139209' = 1 Candidate model: '198124209' = 0 AND '316139209' = 1 OR '198124209' = 1 OR '316139209' = 0 Candidate model: '198124209' = 0 AND '316139209' = 1 OR '198124209' = 1 OR '316139209' = 1
2 = AND 3 = OR 2 = AND 3 = OR 2 = Candidate model: '198124209' = 1 AND '316139209' = 0 OR '198124209' = 1 AND '316139209' = 0 OR '198124209' = 0 X Candidate model: '198124209' = 0 AND '316139209' = 0 OR '198124209' = 0 AND '316139209' = 0 OR '198124209' = 1 X Candidate model: '198124209' = 1 AND '316139209' = 0 OR '198124209' = 1 AND '316139209' = 1 OR '198124209' = 0 Candidate model: '198124209' = 0 AND '316139209' = 0 OR '198124209' = 0 AND '316139209' = 1 OR '198124209' = 1 Candidate model: '198124209' = 1 AND '316139209' = 1 OR '198124209' = 1 AND '316139209' = 0 OR '198124209' = 0 X Candidate model: '198124209' = 0 AND '316139209' = 1 OR '198124209' = 0 AND '316139209' = 0 OR '198124209' = 1 X Candidate model: '198124209' = 1 AND '316139209' = 1 OR '198124209' = 1 AND '316139209' = 1 OR '198124209' = 0 X Candidate model: '198124209' = 0 AND '316139209' = 1 OR '198124209' = 0 AND '316139209' = 1 OR '198124209' = 1 X
Now same redundancy as for example 2 = AND 3 = OR 2 = AND 3 = OR 4 = on the top.
For the following example, rules with X can be skipped as they can be shortened (and are then already covered by term tuple 2 1) or are a permutation of another rule in the list:
2 = AND 3 = OR 2 = AND 3 = OR 4 = Candidate model: '198124209' = 0 AND '316139209' = 0 OR '198124209' = 0 AND '316139209' = 0 OR '316139210' = 0 X Candidate model: '198124209' = 0 AND '316139209' = 0 OR '198124209' = 0 AND '316139209' = 0 OR '316139210' = 1 X Candidate model: '198124209' = 0 AND '316139209' = 0 OR '198124209' = 0 AND '316139209' = 1 OR '316139210' = 0 Candidate model: '198124209' = 0 AND '316139209' = 0 OR '198124209' = 0 AND '316139209' = 1 OR '316139210' = 1 Candidate model: '198124209' = 0 AND '316139209' = 0 OR '198124209' = 1 AND '316139209' = 0 OR '316139210' = 0 Candidate model: '198124209' = 0 AND '316139209' = 0 OR '198124209' = 1 AND '316139209' = 0 OR '316139210' = 1 Candidate model: '198124209' = 0 AND '316139209' = 0 OR '198124209' = 1 AND '316139209' = 1 OR '316139210' = 0 Candidate model: '198124209' = 0 AND '316139209' = 0 OR '198124209' = 1 AND '316139209' = 1 OR '316139210' = 1 Candidate model: '198124209' = 0 AND '316139209' = 1 OR '198124209' = 0 AND '316139209' = 0 OR '316139210' = 0 X Candidate model: '198124209' = 0 AND '316139209' = 1 OR '198124209' = 0 AND '316139209' = 0 OR '316139210' = 1 X Candidate model: '198124209' = 0 AND '316139209' = 1 OR '198124209' = 0 AND '316139209' = 1 OR '316139210' = 0 X Candidate model: '198124209' = 0 AND '316139209' = 1 OR '198124209' = 0 AND '316139209' = 1 OR '316139210' = 1 X Candidate model: '198124209' = 0 AND '316139209' = 1 OR '198124209' = 1 AND '316139209' = 0 OR '316139210' = 0 Candidate model: '198124209' = 0 AND '316139209' = 1 OR '198124209' = 1 AND '316139209' = 0 OR '316139210' = 1 Candidate model: '198124209' = 0 AND '316139209' = 1 OR '198124209' = 1 AND '316139209' = 1 OR '316139210' = 0 Candidate model: '198124209' = 0 AND '316139209' = 1 OR '198124209' = 1 AND '316139209' = 1 OR '316139210' = 1 Candidate model: '198124209' = 1 AND '316139209' = 0 OR '198124209' = 0 AND '316139209' = 0 OR '316139210' = 0 X Candidate model: '198124209' = 1 AND '316139209' = 0 OR '198124209' = 0 AND '316139209' = 0 OR '316139210' = 1 X Candidate model: '198124209' = 1 AND '316139209' = 0 OR '198124209' = 0 AND '316139209' = 1 OR '316139210' = 0 X Candidate model: '198124209' = 1 AND '316139209' = 0 OR '198124209' = 0 AND '316139209' = 1 OR '316139210' = 1 X Candidate model: '198124209' = 1 AND '316139209' = 0 OR '198124209' = 1 AND '316139209' = 0 OR '316139210' = 0 X Candidate model: '198124209' = 1 AND '316139209' = 0 OR '198124209' = 1 AND '316139209' = 0 OR '316139210' = 1 X Candidate model: '198124209' = 1 AND '316139209' = 0 OR '198124209' = 1 AND '316139209' = 1 OR '316139210' = 0 Candidate model: '198124209' = 1 AND '316139209' = 0 OR '198124209' = 1 AND '316139209' = 1 OR '316139210' = 1 Candidate model: '198124209' = 1 AND '316139209' = 1 OR '198124209' = 0 AND '316139209' = 0 OR '316139210' = 0 X Candidate model: '198124209' = 1 AND '316139209' = 1 OR '198124209' = 0 AND '316139209' = 0 OR '316139210' = 1 X Candidate model: '198124209' = 1 AND '316139209' = 1 OR '198124209' = 0 AND '316139209' = 1 OR '316139210' = 0 X Candidate model: '198124209' = 1 AND '316139209' = 1 OR '198124209' = 0 AND '316139209' = 1 OR '316139210' = 1 X Candidate model: '198124209' = 1 AND '316139209' = 1 OR '198124209' = 1 AND '316139209' = 0 OR '316139210' = 0 X Candidate model: '198124209' = 1 AND '316139209' = 1 OR '198124209' = 1 AND '316139209' = 0 OR '316139210' = 1 X Candidate model: '198124209' = 1 AND '316139209' = 1 OR '198124209' = 1 AND '316139209' = 1 OR '316139210' = 0 X Candidate model: '198124209' = 1 AND '316139209' = 1 OR '198124209' = 1 AND '316139209' = 1 OR '316139210' = 1 X
This also occurs for shorter term tuples, e.g. term tuple 2 2.