У меня есть проблема для решения для приложения для социальных сетей, и это звучит сложно: я не уверен, что его NP-полный или нет. Он пахнет, что он может быть NP-полным, но у меня нет здравого смысла для этих вещей. В любом случае, алгоритм будет для меня намного лучше.
Во всяком случае, ввод представляет собой некоторый график, и то, что я хочу сделать, это разбить узлы на два набора, чтобы ни один из них не содержал треугольник. Если это помогает, я знаю, что этот конкретный граф 3-цветный, хотя я действительно не знаю цвета.
Эвристически, "жадный" алгоритм, похоже, сходится быстро: я просто ищу треугольники в любой части раздела и разбиваю их, когда я их нахожу.