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