make_feasible | R Documentation |
Make an infeasible system feasible, by removing the minimum (weighted) number of rules, such that the remaining
rules are not conflicting.
This function uses detect_infeasible_rules()
for determining the rules to be removed.
Note that this may not result in your desired system, because some rules may be more important.
This can be mediated by supplying weights for the rules. Default weight is 1.
make_feasible(x, ..., verbose = interactive())
x |
|
... |
passed to |
verbose |
if |
Also make_feasible()
does not check for contradictions in if
rules, so it is wise to also check
detect_contradicting_if_rules()
after making the system feasible.
validate::validator()
object with feasible rules.
Other feasibility:
detect_boundary_cat()
,
detect_boundary_num()
,
detect_contradicting_if_rules()
,
detect_infeasible_rules()
,
is_contradicted_by()
,
is_infeasible()
rules <- validator( x > 0)
is_infeasible(rules)
# infeasible system!
rules <- validator( rule1 = x > 0
, rule2 = x < 0
)
is_infeasible(rules)
detect_infeasible_rules(rules, verbose=TRUE)
# but we want to keep rule1, so specify that it has an Inf weight
detect_infeasible_rules(rules, weight=c(rule1=Inf), verbose=TRUE)
# detect and remove
make_feasible(rules, weight=c(rule1=Inf), verbose = TRUE)
# find out the conflict with rule2
is_contradicted_by(rules, "rule2", verbose = TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.