Problem Reduction Rules

A problem reduction rule is a function that reduces a problem to another problem. By solving the target problem, we can extract the solution to the original problem. The reduction rule is defined as a function that takes an instance of the original problem and returns an AbstractReductionResult instance of the target problem.

Interfaces

  • reduceto: Reduce the source problem to a target problem of a specific type. Returns an AbstractReductionResult instance, which contains the target problem.
  • target_problem: Return the target problem of the reduction result.
  • extract_solution: Extract the solution of the target problem to the original problem.

Optional functions include:

  • reduce_size: Infer the size of the target problem from the source problem size.