Точний алгоритм для проблеми маркування краю в DAG


14

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

Проблема: Нам подається спрямований ациклічний графік . Не втрачаючи загальності, припустимо, що G має рівно одну вершину джерела s і рівно одну вершину раковини t ; Нехай Р позначає безліч всіх спрямованих шляхів від ї до т в G . Ми також дали безліч вершин R V . Проблема полягає в призначенні невід’ємних цілих ваг до країв G , тому будь-які два шляхи в P мають однакову вагу, якщо і лише якщо вони містять однаковий підмножин вершин уG=(V,E)GstPstGRVGP . (Вага доріжки - це сума ваг її країв.) Діапазон ваг доріжок у P повинен бути якомога меншим.RP

В даний час мій підхід не здається ефективним; Я просто шукаю деякі посилання на літературу чи якісь добрі уявлення. Все, що інакше, також цінується.

Редагувати: Чи існує доказ твердості для цієї проблеми? Чи існує компактна нумерація завжди?


4
уточнюйте, будь ласка, "Діапазон ваг шляхів у P повинен бути оптимальним". Чи ваги лише цілі числа? Чи дозволяються нам негативні ваги? Чи означає оптимальне "якомога менший діапазон" чи це означає щось інше?
Артем Казнатчеєв

2
я відредагував це питання. дякую за ваш коментар ваги повинні бути невід’ємними цілими числами, а діапазон повинен бути якомога меншим.
user5153

5
Найпростішою стратегією створення правильного рішення було б присвоїти різну потужність двох у кожній вершині v в R, використовувати це число як вагу всіх вхідних ребер до v і призначити нулю ваги всім рештам ребрам. Очевидно, це може бути не оптимальним, але принаймні дає верхню межу необхідного діапазону. Чи колись вдосконалення зробити різні ребра через одну і ту ж вершину в R мають різну вагу одна від одної, чи ви можете спростити проблему, змусивши ваги йти вершинами, а не ребрами?
Девід Еппштейн

3
Відповідь BTW @ DavidEppstein показує, що максимальна загальна вага шляху дорівнює . Це жорстко до констант. Як приклад можна взяти графік G = ( V , E ) , V = [ n ] { s , t } і E = { ( i , j ) : i < j } { ( s , 1 ) ,O(2|R|)G=(V,E)V=[n]{s,t} . Нехай також R = [ n ] . На R існує 2 n різних шляхів, і оскільки кожен шлях має цілу негативну масу, принаймні один повинен мати вагу принаймні 2 n - 1 . E={(i,j):i<j}{(s,1),(n,t),(s,t)}R=[n]2nR2n1
Сашо Ніколов

1
Впевнений, я мав на увазі жорстке в гіршому випадку (я фактично писав, що в першій версії цього коментаря, який загубився) подумав, що було б добре спершу встановити абсолютні межі, оскільки ще ніхто не вирішив проблему оптимізації.
Сашо Ніколов

Відповіді:


-6

я ще не чув про цю проблему саме в літературі [можливо, хтось інший], проте, як про "сусідню проблему", мені здається, дерево мінімального розміру має корисні властивості для вирішення вашої проблеми. наприклад, можливо, генеруючи два мінімально охоплених дерева, починаючи з вершини джерела та вершини синхронізації, і розповсюджуючи їх назовні, поки вони не торкнуться тощо, може вирішити проблему або дати близьку відповідь. перед тим, як хтось подзвонить мені з цього питання, плз зрозуміє, що я поширюю ідею про MST, який слід створити, починаючи з заданої вершини [зазвичай це починається з найкоротшого краю у всьому графіку]. якщо це не працює, мені буде цікаво з причини.


5
Вибачте, але я не бачу актуальності цієї відповіді на це питання.
Девід Еппштейн

можливо, ви маєте краще уявлення, про що він говорить? чи має для вас сенс, як заявлено?
vzn

1
Йому потрібно призначити ваги по краях. Як обчислити MST допоможе це?
Ніколас Манкузо

нормально, прочитавши його, і якщо ніхто не запропонував відповіді, здавалося, що проблема може бути перетворена на дві частини-- (1) призначити ваги на основі критеріїв / обмежень; (2) знайти найкоротші шляхи на основі цих ваг. Здається, MST може бути корисним на (2). а може й ні! (напр., можливо, 1/2 щільно з'єднані)
vzn

1
Ні. Мінімальні дерева, що охоплюють, призначені лише для ненаправлених графіків; вводиться графік введення. Більше того, мінімальні простягаються дерева лише поверхнево пов'язані з найкоротшими шляхами.
Jeffε
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.