У меня проблема с созданием минимального количества наборов, чтобы охватить весь набор данных.
У проблемы есть область данных и несколько ограничений эксклюзивности.Ограничение эксклюзивности указывает, какие данные не должны быть в одном наборе.
Цель состоит в том, чтобы найти минимальное количество наборов.Количество наборов не обязательно должно быть максимально сбалансированным (но было бы неплохо иметь его).
Пример 1:
Domain = {1, 2, 3, 4, 5, 6}
Exclusivity = 1!=2, 3!=4, 4!=5, 5!=6,
Answer is two sets: {1, 3, 5}, {2, 4, 6}
Пример 2:
Domain = {1, 2, 3, 4, 5, 6}
Exclusivity = 1!=2, 2!=3, 3!=4, 4!=5
anwser is two sets: {1, 3, 5, 6}, {2, 4}
Пример 3:
Domain = {1, 2, 3, 4, 5}
Exclusivity = 1!=2, 2!=3, 3!=4, 4!=5, 5!=1
answer is three sets : {1, 3}, {2, 4}, {5}
Пример 4:
Domain = {1, 2, 3, 4, 5}
Exclusivity = 1!=2!=3!=4, 4!=5,
answer is four sets : {1, 5}, {2}, {3}, {4}
Здесь! = Является транзитивным.
Кто-нибудь знает такой алгоритм для решения этой проблемы?проблема эффективно.Я не мог вспомнить ни одного алгоритма, который я использовал в школе, который решает эту проблему, но это было более 10 лет назад.
Помощь приветствуется.
JT