Це оптимальна проблема подорожі в терміни NP-жорсткі на деревах?


13

Один з моїх друзів задає мені наступну проблему планування на дереві. Я вважаю це дуже чистим та цікавим. Чи є посилання на це?

Проблема: Є дерево , кожен край має симетричну подорожню вартість 1 . Для кожної вершини існує завдання, яке потрібно виконати до її закінчення . Завдання також позначається як . Кожне завдання має однакове значення 1. Час на обробку дорівнює 0 для кожного завдання , тобто відвідування завдання до його терміну дорівнює його завершенню. Не втрачаючи загальності, нехай позначає корінь і припускаючи, що немає задачі, розташованої в . В момент 0. Ви транспортний засіб Крім того, ми припускаємо, що для кожної вершини ,T(V,E)d i v ividiviv 0 v 0 d id e p i d e p iv0v0v0didepidepiозначає глибину . Це само собою зрозуміло, вершина з терміном менше, ніж її глибина, слід сприймати як більше. Проблема вимагає знайти графік, який закінчить якомога більше завдань.vi

Прогрес:

  1. Якщо дерево обмежено до шляху, воно перебуває в за допомогою динамічного програмування.P
  2. Якщо дерево узагальнено до графіка, то воно знаходиться у -повно.NP
  3. У мене дуже простий жадібний алгоритм, який вважають трифакторним опороксимацією. Я не довів це повністю. Правознавець, мене більше цікавлять NP-важкі результати. :-)

Дякую за вашу пораду.


На повному графіку завдання було б простим, правда? Просто використовуйте простий жадібний алгоритм ...
Джо

@Joe: Так. Оскільки для кожного краю потрібна 1 одиниця подорожі, тому переваги серед «перехрестя» немає. Ви все ще зацікавлені в цій проблемі, якщо так. можливо, ми можемо поговорити електронною поштою. :-)
Пен Чжан

Що робити, якщо всі строки однакові та / або ми запитуємо лише, чи можна виконати всі завдання?
domotorp

@domotorp: Якщо він просить закінчити всі завдання в один термін, відповідь ТАК, якщо і тільки якщо рівномірний термін. Просто глибина першого пошуку. Щодо оптимальної задачі у випадку, Я не знаю, чи легко це. Існує багато варіантів цієї проблеми, наприклад, розглянути, що робити, якщо терміни беруть значення з кінцевого набору, чия кардинальність є постійною? Дуже дякую за ваш коментар. d < | V |d|V|d<|V|
Пен Чжан

Я б сказав, що NP-важко бачити зоопарк планування , за винятком випадків, коли я неправильно зрозумів вашу проблему.
Гопі

Відповіді:


1

Не впевнений, що це ваша відповідь (див. Нижче), але трохи занадто довго для коментарів.

Я хоч у вашій проблемі було щось на зразок: , де:(P|tree;pi=1|ΣTi)

  • P означає однакові однорідні процесори,
  • "дерево" означає обмеження пріоритету форми дерева,
  • pi=1 означає, що вага завдань дорівнює 1, і
  • ΣTi означає мінімізацію суми запізнення (тобто кількість завдань, які закінчуються після закінчення терміну).

Якщо це так, то ваша проблема є важкою для NP: ви можете бачити це як узагальнення мінімізації загальної строковості на одній машині з обмеженням пріоритету . Дійсно, у цьому документі зазначено, що для декількох лінійних ланцюгів це NP-важко для одного процесора. Легка трансформація полягає в тому, щоб взяти дерева форми одного кореня, а лінійні ланцюги починаючи від кореня.

Однак я здивований, тому що ти, здається, кажеш, що для випадку єдиного лінійного ланцюга ти використовуєш Динамічне програмування. Я не бачу, для чого вам знадобиться DP, оскільки мені здається, що при плануванні однієї лінійної ланцюга у вас немає великого вибору через обмеження пріоритету: лише один вибір. Тож, можливо, я неправильно зрозумів вашу проблему.


Моя проблема здається відмінною від вашої. Моє - це «вкорінене дерево, корінь подорожі витрачає одиницю часу, кожна вершина із завданням із кінцевим терміном завдання не потребує часу, щоб переробляти. Починаючи з кореня, скільки завдань можна закінчити?». Тож немає пріоритету, немає часу, необхідного для опрацювання завдання. Велике спасибі.
Пен Чжан

@PengZhang, Якщо це вкорінене дерево, то чи є пріоритет? Щодо вартості на ребрах (пріоритет?) Чи завдань, мені здається, це одне й те саме. Я дійсно не бачу різниці між обома. Нарешті, скільки завдань можна закінчити, якщо мінімізувати кількість завдань, які закінчуються після їх терміну, це еквівалентно максимізації кількості завдань, які можна виконати. Може, ви могли б намалювати картину того, що вас чекає?
Гопі

Я не бачу чіткого зв’язку між двома проблемами. У початковій проблемі вартість відвідування наступного вузла залежить від того, який вузол був відвіданий на попередньому кроці. При плануванні, обмеженому пріоритетом, вартість наступного завдання, яке буде оброблено, не залежить від того, яке завдання було оброблено на попередньому етапі, доки буде виконано обмеження пріоритету.
Йосіо Окамото

@Gopi: вартість ребер не може бути "перенесена" на вузли, наскільки я думаю. Якщо дерево обмежено до шляху (можливо, ланцюжок, на який ви посилалися), у моїй проблемі ми можемо динамічно програмувати наступним чином. Нехай вершини пронумеровані як зліва направо. Нехай позначає максимальні завдання з інтервалу положення в момент а автомобіль стоїть на . Нехай позначає те саме, що і за винятком того, що транспортний засіб стоїть на . Тоді у нас може бути похідне від . Тому що1,2,,nf(t,l,r)[l,r]tlg(t,l,r)f(t,l,r)rf(t,l,r)t , l , r{f(,l+1,r),g(,l,r1)t,l,rє многочленами, тому dp є многочленом.
Пен Чжан

@PengZhang, добре, я думаю, я краще розумію, що ти маєш на увазі. Я все ще вважаю, що можна легко адаптувати поданий мені папір, розглядаючи спеціальні дерева, де гілками є стежки (отже, вкорінені патьоки).
Гопі

1

Щоб це було правдою, ми повинні зробити деякі припущення. Дивіться коментарі нижче

У випадку з деревом я вважаю, що існує рекурсивний алгоритм динамічного програмування поліноміального часу, параметризований максимальним терміном. полягають у тому, що: якщо ми за часом та із під дерева за часом , яка максимальна кількість завдань, які ми можемо виконати в під дереві? Основні корпуси на листках легко, і ми запам'ятовуємо знизу вгору.t btatb

Якби ми справді параметризували максимальний термін, алгоритм насправді не був би поліном у розмірі дерева. Однак довжина найдовшого шляху, який відвідує кожен вузол дерева, є лише многочлена у, і нам ніколи не потрібно перевіряти терміни часу пізніше цього.|V|


2
Чи можете ви показати мені рецидив? Я намагався так само, як і раніше, нехай позначає підпроблему відвідування піддерева, вкоріненого у вершині . Але є дві неприємності. 1. Як можна побудувати своє рішення з підпроблем? Наскільки я думаю, перерахування впорядкованості синів неминуче. 2. Ви можете входити та залишати вузол багато разів. Тому під час тимчасового прорізу ви можете відвідувати інші вершини, що не знаходяться в піддереві, вкоріненому в . Велике спасибі. :-)a [ t , t ] af[a,t,t]a[t,t]a
Пен Чжан

Точка (1) - це не стільки проблема, скільки точка (2). Щоб моя ідея спрацювала так, як я вперше її передбачив, вона вимагає, щоб ви не виходили та повторно входили в суб-дерево кілька разів. Не очевидно, що найкраще рішення не стрибає навколо дерева: отримує листочок і щось біля кореня, і підходить до листочка, а потім до іншого листочка, далеко від інших 2 і т.д. використати той факт, що ви отримаєте всі вузли на будь-якій стежці, яку ви пройдете. Зокрема, якщо якась дитина була відвідана, то батько вже відвідується.
Джо

: У моїй думці, пункт (1) справді є проблемою . Для точки (2) я назвав обмеження "не повторне введення" обмеженням "Перший глибинний пошук". Обмеження DFS прийнято в літературах. І під цим обмеженням моя проблема справді багаточлена, доки максимальний ступінь дерева є постійною . Тож мені цікаво, що моє запитання є важким для NP. Велике спасибі.
Пен Чжан

3
Щодо обмеження DFS, то легко побудувати приклад, коли оптимальна послідовність порушує це обмеження. Розглянемо повне, збалансоване двійкове дерево з 7 вузлами. Нехай у 2-х листках у лівому піддереві є строки 2 та 12, у 2-х листках у правому піддереві є строки 8 та 6, а у внутрішніх вузлів - терміни 100. Ви можете відвідати всі вузли, відвідавши листя в порядку 2,6,8 , 12; будь-яке інше замовлення порушує принаймні один строк.
mhum

0

Проблема отримати постійне наближення до цього випадку або довести його NP-Hard досі залишається відкритою, і будь-який результат може зробити хорошу публікацію. Вирішено деякі особливі випадки. Я разом з іншими маю часткові результати, які вирішують особливі випадки, такі як павуки, дерева постійної висоти. Але загальна проблема дерев не вирішена.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.