Find the minimum-degree polynomial that can separate two sets of points in the plane.
This example demonstrates how LinearOptimization may be used to test the feasibility (whether or not they can be satisfied) for a set of constraints. The constraints are generated symbolically from set data.
A polynomial is said to separate two sets and of points if for all and for all . Since there is no restriction on the size of the coefficients of , the problem can be rescaled to require and .
Define a polynomial power function that avoids issues with when or is 0.
Define a function of that is a polynomial of degree with coefficients .
The variables for a degree are the coefficients .
The constraints enforce separation between set 1 and set 2.
For example, here are the constraints for quadratics.
For separation, the only condition is that all the constraints must be satisfied. To find out if the constraints can be satisfied, the simplest thing is to set the objective vector to 0. Iteratively increase the polynomial degree till the constraints are satisfied.
Find the coefficients of the minimum-degree separating polynomial separating the two sets.
Visualize the separation of the sets using the polynomial.