Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 如何编码检查不等式组是否有解_Algorithm_Geometry_Inequalities - Fatal编程技术网

Algorithm 如何编码检查不等式组是否有解

Algorithm 如何编码检查不等式组是否有解,algorithm,geometry,inequalities,Algorithm,Geometry,Inequalities,我需要找到一个算法来检查系统是否像这样 x1*k+b>y1, x2*k+b>y2, ..., xn*k+by1-x1*k,b>y2-x2*k,…,by1-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(yn-y2)/(xn-x2) 然后很容易检查新的简单系统是否有解

我需要找到一个算法来检查系统是否像这样

x1*k+b>y1, x2*k+b>y2, ..., xn*k+b 有解决方案
其中,我替换x[i]和y[i],未知变量为k,b.

如果最后一个不等式为“”。以下是如何检查:

将系统转换为:b>y1-x1*k,b>y2-x2*k,…,b 很容易看出,原始系统是否有解等价于系统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(yn-y2)/(xn-x2)


然后很容易检查新的简单系统是否有解,这与原始系统是否有解是等价的。

你的问题相当于询问这些点是否是线性可分的(一类点对应于带>,其他点对应以下算法是否正确?我为两组点构造一个最小凸包(例如,使用Graham算法)此外,如果第一个外壳的至少一个点位于第二个或抽象中,则没有解决方案。我将检查如下。要么两个多边形相交(我可以通过成对交叉所有线段来检查),要么一个多边形完全位于另一个。然后我们需要检查点(例如,第一个多边形的第一个点)位于第二个多边形中。