如何编码检查不等式系统是否有解决方案

时间:2017-05-03 17:03:48

标签: algorithm geometry inequalities

我需要找到可以检查系统是否像这样的算法

  

x1 * k + b> Y1,   x2 * k + b> Y2,   ...   xn * k + b<炔

有解决方案 其中我替换x [i]和y [i],未知的变量是k,b。

2 个答案:

答案 0 :(得分:0)

如果只有最后一个不等式是"<"而所有其他的都是">"。以下是检查方法:

将系统转换为:b> y1-x1 * k,b> y2-x2 * k,...,b< yn - xn * k

很容易看出原始系统是否具有解决方案等同于系统yn-xn * k> y1-x1 * k,yn-xn * k> y2 - x2 * k,...有解决方案

它相当于yn - y1> (xn-x1)* k,yn-y2> (xn - x2)* k,......是否有解决方案。

然后你需要讨论xn - xk的符号,无论它们是零,正还是负,你可以进一步将系统转换为更简单的形式。例如,如果xn-x1> 0和xn-x2 <0,它将如下所示:k&lt; (yn-y1)/(xn-x1),k> (yn - y2)/(xn - x2),...

然后很容易检查新的简单系统是否有解决方案,这与原系统是否有解决方案相同。

答案 1 :(得分:0)

你的问题等同于询问点是否可线性分离(一类点对应于带有&gt;的不等式,其他点带有&lt;)。

如果存在分隔线,您可以使用Perceptron Algorithm查找分隔线。该维基百科页面也提供了一些替代算法。