我正在处理一个需要在对象之间找到关系的问题。此问题被建模为图形,其中所有对象都表示为顶点,它们的关系表示为加权边。
如果有2个对象与边缘相关并且与边缘连接,则有2个度量,其中一个是吸引力,另一个是令人厌恶的(可能是任何两个对象不在的情况)。吸引或互相排斥)
最后,我有一个微小的加权图,大约有100到500个顶点,每个顶点大约有3-6个连接。
我想自动将图形分割成各个部分,其中每个部分都包含吸引他们的对象组。以前没有关于应该有多少组以及哪些对象属于哪些组的知识。
我正在寻找合适的算法来执行此操作。
一个明显的答案是使用graphcut,问题是我需要不止一次切割(但不知道其中有多少)并且之前没有知道< em> source 和 sink 可能是。
我实际上正在寻找更像Efficient Graph-Based Image Segmentation的内容。这里的问题是我的图形显着小于您从相对较小的图像中获得的图形(您可以想象将20x20像素图像分割成1-10 px的组,在该范围内频率上升(想象分段高)频率噪声)并且算法没有按预期运行。
是否有合适的算法来实现这一目标?
任何c ++实现都很有用