Самая длинная проблема на пути - NP-сложная. (Типичное?) Доказательство опирается на редукцию задачи о гамильтоновом пути (которая является NP-полной). Обратите внимание, что здесь путь считается простым (node-). То есть ни одна вершина не может встречаться более одного раза в пути. Очевидно, что это также является простым ребром (никакое ребро не будет встречаться более одного раза в пути).
Так что, если мы откажемся от требования найти (узловой) простой путь и будем придерживаться поиска простого края (следа). На первый взгляд, поскольку найти эйлерову тропу намного проще, чем найти гамильтонову, можно надеяться, что найти самую длинную тропу будет проще, чем найти самую длинную. Однако я не могу найти никаких ссылок, подтверждающих это, не говоря уже о том, что предоставляет алгоритм.
Обратите внимание, что я знаю об аргументе, приведенном здесь: /programming/8368547/how-to-find-the-longest-heaviest-trail-in-an-undirected-weighted-graph Однако аргумент кажется некорректным в его текущей форме, так как он в основном показывает, что вы могли бы решить дело с простым ребром, решив дело с простым узлом на другом графе (таким образом, сокращение - неправильный путь). Не ясно, что сокращение может быть легко изменено, чтобы работать и другим способом. (Тем не менее, это показывает, что, по крайней мере, проблема с самыми длинными трассами не сложнее, чем проблема с самыми длинными трассами.)
Так есть ли какие-либо известные результаты для нахождения самых длинных трасс (простых по краю трасс)? Сложность (класс)? (Эффективный) алгоритм?