Розглянемо проблему, коли нам подано вхідний спрямований ациклічний графік , функцію маркування від до деякого набору із загальним порядком (наприклад, цілі числа), і де нас просять обчислити лексикографічно найменший топологічний різновид у перерахунку на . Точніше, топологічна сортування з є перерахуванням як , такий, що для всіх , коли в G є шлях від до , тоді ми повинні мати i < j . Етикетці такого топологічного роду є послідовність елементів S виходить як л = λ ( v 1 ) , ... , λ ( v н ) . Лексикографічний порядок на таких послідовностях (які всі мають довжину | V | ) визначається як l < LEX тодітільки тоді є деякою позиціїтакащо і для всіх. Зверніть увагу на те, що кожній мітці вможна присвоїти кілька вершин у(інакше проблема тривіальна).
Цю проблему можна заявити або в обчислювальному варіанті ("обчислити лексикографічно мінімальний топологічний сорт"), або у варіанті рішення ("чи це вхідне слово мінімальний топологічний сорт?"). Моє запитання в чому полягає складність цієї проблеми ? Це в PTIME (або в FP, для обчислювального варіанту) чи це NP-важко? Якщо загальна проблема є NP-жорсткою, мене також цікавить версія, де набір можливих міток зафіксований заздалегідь (тобто є лише незмінна кількість можливих міток).
Зауваження:
Ось невеликий приклад із реального світу для мотивації проблеми. Ми можемо бачити DAG як представлення завдань проекту (із залежністю між ними), а мітки - цілі числа, що представляють кількість днів, що займає кожне завдання. Для завершення проекту знадобиться стільки ж часу, незалежно від порядку, який я обиратиму для виконання завдань. Однак я хотів би справити враження на свого начальника, і для цього я хочу виконати якомога більше завдань якомога швидше (жадібно, навіть якщо це означає бути дуже повільним в кінці, тому що залишаються складніші завдання). Вибір лексикографічно мінімального порядку оптимізує наступний критерій: Я хочу вибрати замовлення таке, щоб не було іншого порядку та кількість днів де після днів я закінчив би більше завдань із наказом ніж із замовленням (тобто, якщо мій начальник дивиться на час , я створюю краще враження від ), але для всіх я закінчив не менше завдань із замовлення ніж з порядком .
Щоб дати деяке уявлення про проблему: я вже знаю з попередніх відповідей, що наступна пов'язана проблема є важкою: "чи існує топологічний сорт, який досягає наступної послідовності? Однак той факт, що я хочу, щоб послідовність, яка була мінімальною для цього лексикографічного порядку, здається, дуже обмежує можливі топологічні порядки, які можуть його досягти (зокрема, скорочення цих інших відповідей вже не здається). Інтуїтивно зрозуміло, що ситуацій, у яких ми маємо вибір, набагато менше.
Зауважте, що, здається, є цікаві перефразовування проблем з точки зору покриття множини (при обмеженні проблеми ДАГ, які є двосторонніми, тобто мають висоту два): задавши набір множин, перерахуйте їх у порядку що мінімізує лексикографічно послідовність | S 1 | , | S 2 ∖ S 1 | , | S 3 ∖ ( S 1 ∪ S 2 ) | , … , | S n ∖ (. Проблему можна також перефразовувати на ненаправлених графах (поступово розширювати з’єднану область графа, дотримуючись порядку, що мінімізує лексикографічну послідовність розкритих міток). Однак, через те, що послідовністьмаєбути жадібною за визначенням лексикографічного порядку, я не можу отримати скорочення (наприклад, для дерева Штайнера).
Заздалегідь дякую за ваші ідеї!