Учитывая двумерную таблицу логических значений, описывающих соединения между парами узлов, существует ли эффективный способ найти наибольшее подмножество узлов, в котором все узлы связаны со всеми узлами?
Пример с 6 узлами:
В этом случае «максимальное связное множество» равно {node1, node4, node5}. Хотя узел 0 связан с узлом 2 и узлом 3, узел 2 и узел 3 не связаны, поэтому не образуйте «связанный набор».
Это небольшой пример, но меня интересует общий алгоритм, который в принципе может применяться к очень большим таблицам.
В случае, если это поможет, моя цель - воспроизвести значения M n из таблицы I этой статьи: Sarwate, D.V., и M.B. Пурсли, "Кросскорреляционные свойства псевдослучайных и родственных последовательностей", Proc. IEEE, Vol. 68, No. 5, May 1980, pp. 583-619.
Я буду кодировать это в MATLAB, но я также довольно свободно говорю на C / C ++.
РЕДАКТИРОВАТЬ : Вот таблица, из которой я хочу воспроизвести результаты:
- 1-й и 2-й столбцы здесь не очень важны (просто опишите длину кодов).
- 3-й столбец - это то, что я назвал числом "узлов".
- 4-й столбец является мерой ошибки, если вы используете все узлы (независимо от
"подключены" они или нет).
- 6-й столбец является (минимальной) ошибкой, если используется только «максимальное связное множество».
- 5-й столбец M n описывает количество узлов в максимальном подключенном наборе.