使图表着色不那么严格

时间:2016-04-03 10:57:16

标签: javascript algorithm graph graph-algorithm graph-coloring

我正在试验graph coloring算法。这是一种着色图形节点的方法,使得没有2个相邻节点具有相同的颜色。

假设我有以下数据我想要"颜色" (分配给组),其中每个单词都是一个节点:

  1. cat black
  2. 猫灰色
  3. 狗灰色
  4. dog black
  5. 我希望以下群体:

    • 猫,狗
    • 黑色,灰色

    但是如果我添加我的第4只动物的名字,grey(就像颜色一样)会怎么样?
    所以第四行变为:

    1. 狗黑灰色
    2. 着色算法无法区分颜色和名称,因此blackgrey最终会出现在不同的组中。

      我如何调整算法以使其变得不那么严格"? 例如:只有当两个节点在90%以上出现在一起时,请将它们视为相邻并将它们放在同一组中。

      注意:我提供的示例已经过简化。我不能只按namecolor对我的字词进行分组,因此我需要更通用的方法。

1 个答案:

答案 0 :(得分:0)

(希望让你的问题正确 - 你的例子并没有真正帮助)

所以目前您从输入数据中生成以下有色图表:

cat--black
 |   / |
 |  /  |
grey--dog

现在,您可以为每条边分配一个整数标签,计算相应对在列表项中一起出现的频率。然后定义一些较低的阈值并删除标有较小数字的所有边。如果您现在为生成的图形着色,这些"稀有"对再次允许共同的颜色。