Есть ли эффективный алгоритм, чтобы найти длину самого длинного цикла в неориентированном графе? - PullRequest
0 голосов
/ 11 апреля 2019

Я хочу знать, есть ли эффективный алгоритм для определения длины самого длинного цикла в графе?

График является неориентированным графом.

Алгоритм не имеетсказать, какая вершина в цикле, только длина.

1 Ответ

3 голосов
/ 11 апреля 2019

Задача нахождения самого длинного цикла в графе: NP-hard , поскольку решение этой задачи позволяет ответить на вопрос " Является ли этот граф гамильтонианом? " (обладает ли онгамильтоновым циклом), который сам по себе является NP-полной задачей.
Таким образом, действительно, ни один эффективный алгоритм не может этого сделать.
Существуют методы, основанные на умножении матриц, чтобы найти цикл длины k в графе.,Вы можете найти объяснения о нахождении циклов с использованием умножения матриц в этом вопросе .Но будьте осторожны, методы умножения матриц позволяют обнаруживать walks заданной длины между двумя вершинами, и повторение вершин допускается при прогулке.

...