如果我可以用一条线来划分一个点数组,那么算法是什么?
Input: array of (x ,y, TYPE) # TYPE in (0, 1)
Output: True/False
或者如果不可能我怎么说?当一个(或多个)点总是在另一组点的某处时。
最佳答案
以下是一些疯狂的想法:
为每个点集构建一个“凸壳”(参见示例
https://en.wikipedia.org/wiki/Graham_scan)。然后检查一下
两个凸出的外壳是否相交。如果不相交于
(公平地说,我不确定)答案是肯定的(分隔线
存在)。
使用最简单的单神经元神经网络(感知器)。它正好完成了所需的任务-对两个集合进行线性分离。在给定的点集上,可以通过网络误差函数值来确定分离线的存在。