Reduction-class | R Documentation |
This virtual class represents a reduction, an actor that transforms a problem
into an equivalent problem. By equivalent, we mean that there exists a mapping
between solutions of either problem: if we reduce a problem A
to another
problem B
and then proceed to find a solution to B
, we can convert
it to a solution of A
with at most a moderate amount of effort.
## S4 method for signature 'Reduction,Problem'
accepts(object, problem)
## S4 method for signature 'Reduction'
reduce(object)
## S4 method for signature 'Reduction,Solution'
retrieve(object, solution)
## S4 method for signature 'Reduction,Problem'
perform(object, problem)
## S4 method for signature 'Reduction,Solution,list'
invert(object, solution, inverse_data)
object |
A Reduction object. |
problem |
A Problem object. |
solution |
A Solution to a problem that generated the inverse data. |
inverse_data |
The data encoding the original problem. |
Every reduction supports three methods: accepts, perform, and invert. The accepts method of a particular reduction codifies the types of problems that it is applicable to, the perform method takes a problem and reduces it to a (new) equivalent form, and the invert method maps solutions from reduced-to problems to their problems of provenance.
accepts(object = Reduction, problem = Problem)
: States whether the reduction accepts a problem.
reduce(Reduction)
: Reduces the owned problem to an equivalent problem.
retrieve(object = Reduction, solution = Solution)
: Retrieves a solution to the owned problem.
perform(object = Reduction, problem = Problem)
: Performs the reduction on a problem and returns an equivalent problem.
invert(object = Reduction, solution = Solution, inverse_data = list)
: Returns a solution to the original problem given the inverse data.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.