rreduce  R Documentation 
rreduce
eliminates redundancies from disjunctive normal forms (DNF), i.e. disjunctions of conjunctions of literals. If there are several minimal DNF, rreduce
selects one at random.
rreduce(cond, x = full.ct(cond), niter = 1, full = !missing(x), verbose = FALSE,
maxiter = 1000, simplify2constant = TRUE)
cond 
A character string specifying a disjunctive normal form; can be either crispset or multivalue. 
x 
A

niter 
An integer value 
full 
Logical; if 
simplify2constant 
Logical; if 
verbose 
Logical; if TRUE, the reduction process will be traced in the console. 
maxiter 
Maximal number of iterations. This is a parameter of internal nature, usually not set by the user. 
rreduce
successively eliminates conjuncts and disjuncts from a DNF cond
as long as the result of condition(cond, x)
remains the same. The only required argument is cond
. If x
is not provided, redundancies are eliminated relative to full.ct(cond)
. If x
is provided and full = TRUE
, redundancies are eliminated relative to full.ct(x)
. If x
is provided and full = FALSE
, redundancies are eliminated relative to x
.
If cond
has more than one redundancyfree form, rreduce
only returns a randomly chosen one in the default setting of niter = 1
. By increasing niter
to a value >1
, cond
is (randomly) minimized niter
times. All resulting redundancyfree forms are collected and returned. This provides some insight about the amount of redundancyfree forms that cond
has.
Redundancyfree disjunctive normal form (DNF).
full.ct
.
# Logical redundancies.
cond1 < "A*b + a*B + A*C + B*C"
rreduce(cond1)
rreduce(cond1, niter = 10)
cond2 < "A*b + a*B + A*B + a*b"
rreduce(cond2, simplify2constant = FALSE)
# Any Boolean expressions.
cond < "!(A*B*C)*!(a*b*c)" # or "A + B*!(D + e) <> C"
x < selectCases(cond)
cond < getCond(x) # Returns a DNF equivalent to cond, but with many redundancies.
rreduce(cond) # Repeated execution results in different outputs.
rreduce(cond, verbose = TRUE)
rreduce(cond, niter = 20) # 20 iterations yield 5 minimal forms.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.