Скільки непересічних обрізів, які повинен мати DAG?


10

Наступне питання пов'язане з оптимальності Беллмана-Форда - найкоротшого шляху Алгоритм динамічного програмування (див цей пост для зв'язку). Крім того, позитивна відповідь означає, що мінімальний розмір монотонної недетермінованої програми розгалуження для задачі STCONN становить . с тstΘ ( n 3 )Θ(n3)

Нехай - DAG (спрямований ациклічний графік) з одним вихідним вузлом і одним цільовим вузлом . A - виріз - це сукупність ребер, видалення яких руйнує всі - шляхи довжини ; ми припускаємо, що в є такі шляхи . Зауважте, що коротші - шляхи не повинні бути знищені.Г с т кGstks t k G s tstkGst

Запитання: Чи повинен мати принаймні (приблизно) розрізнені -розрізи? Г кGk кk

Якщо немає - шляхів, коротших від , відповідь ТАК, тому що ми маємо наступний відомий факт min-max (подвійний теоремі Менгера ), приписаний Робекджеру . - розрізу є Обріжте для (знищує все - шляхів).с т кstk s t k k = 1stkk=1 с тst

Факт: У будь-якому спрямованому графіку максимальна кількість розрізних ребер - відрізків дорівнює мінімальній довжині шляху - . с тstс тst

Зауважте, що це справедливо, навіть якщо графік не є ациклічним.

Доведення: Тривіально мінімум є принаймні максимумом, оскільки кожен - шлях перетинає кожен - відріз по краю. Щоб побачити рівність, нехай - довжина найкоротшого шляху від до . Нехай , для , і - сукупність ребер, що залишають . Зрозуміло, що множини , тому що множини такі. Отже, залишається показати, що кожен є -s t s t d ( u ) s u U r = { u : d ( u ) = r } r = 1 , , d ( t ) E r U r E r U r E r s t s t p = ( u 1 , u 2 , , u m )ststd(u)suUr={u:d(u)=r}r=1,,d(t)ЕrUrЕrUrЕrствирізати. Щоб показати це, візьміть довільний - шлях з і . Оскільки , послідовність відстаней повинна досягати значення , починаючи при і збільшує значення максимум на на кожному кроці. Якщо деяке значення зменшиться, тоді ми повинні досягти значення останнього. Отже, повинно бути де відбувається перехід від до , тобто крайстp=(u1,u2,,um)u 1 = s u m = t d ( u i + 1 ) d ( u i ) + 1 d ( u 1 ) , , d ( u m ) d ( u m ) = d ( t ) d ( u 1 ) = d ( s ) = 0 1 d (u1=sum=td(ui+1)d(ui)+1d(u1),,d(um)d(um)=d(t)d(u1)=d(s)=01u i ) d ( u i ) j d ( u j ) = r d ( u j + 1 ) = r + 1 ( u j , u j + 1 )d(ui)d(ui)jd(uj)=rd(uj+1)=r+1(uj,uj+1) належить до , як бажано. QED Е рEr

Але що робити, якщо є і більш короткі (ніж ) шляхи? Будь-який натяк / посилання? кk


JT Robacker, Теореми Мін-Макса про найкоротші ланцюги та нерозрізні вирізи мережі, Дослідницький меморандум RM-1660, Корпорація RAND, Санта-Моніка, Каліфорнія, [12 січня] 1956.
EDIT (через день): Через короткий і дуже приємний аргумент Девід Еппштейн відповів на початкове запитання вище негативно : повний DAG ( перехідний турнір ) не може мати більше чотирьох розрізнених розрізів! Насправді він доводить наступний цікавий структурний факт для about . Розріз чистий, якщо він не містить ребер, падаючих на або .Т нTnкkk kнnс тst

Кожна чиста -різка в містить шлях довжиною . k T n kkTnk

Це, зокрема, означає, що кожні два чисті вирізки повинні перетинатися! Але, мабуть, все ж є багато чистих -розрізів, які не перетинаються «занадто сильно». Отже, питання невимушене (наслідки для STCONN були б однаковими ):k kkk

Запитання 2: Якщо кожен чистий -cut має країв, то чи має граф мати приблизно ребра? k M Ω ( k M )kMΩ(kM)

Зв'язок зі складністю STCONN походить від результату Ердоса та Галлая, що треба видалити всі крім ребер із ( ) , щоб знищити всі шляхи довжиною . ( k - 1 ) m / 2 K m k(k1)m/2Kmk


EDIT 2: Зараз я задав запитання 2 на mathoverflow .

Відповіді:


9

Коротка відповідь: ні.

Нехай G - повна DAG (перехідний турнір) на n вершинах, з s і t - її джерелом і раковиною, і нехай k = Gnstп / 3 . Зауважте, що може бути не більше чотирьох розрізнених розрізів, які містять більше тамівn/3ребер, що падають наs,або більшеn/3ребер, падаючих наt. Отже, якщо має бути багато непересічних розрізів, можна припустити, що існує зрізC, який не містить великої кількості ребер, що падають наsіt.k=n/3n/3sn/3tCst

Нехай тепер X буде повний підграф , індукований в G з безліччю вершин х таким чином, що ребра и х і х т не належать C . Кількість вершин у X становить щонайменше n / 3 , оскільки в іншому випадку C торкнеться занадто багато ребер, що падають на s або t . Однак X C не може містити k- шлях, тому що якби такий шлях існував, його можна було б з'єднати з s і t, щоб утворити довгий шлях у GXGxsxxtCXn/3CstXCkstЗ . Тому найшарший траєкторій шару X C має менше k шарів і має шар, що містить більше ( n / 3 ) / k = k вершин. Оскільки це шар найдовшого шару шару, він незалежний у X C , а тому повний у C , тому C містить шлях P через вершини цього шару, довжиною k . Цей шлях повинен бути невід’ємним від усіх інших скорочень.GCXCk(n/3)/k=kXCCCPk

Кожен зріз, який не є C, повинен містити або край від s до початку шляху P, або край від кінця шляху P до t , інакше він не блокує шлях s - P - t . Отже, якщо C існує, може бути не більше трьох розрізнених розрізів. А якщо C не існує (тобто якщо всі надрізи охоплюють більше n / 3 ребер, що падають на s або t ), може бути не більше чотирьох непересічних розрізів. Так чи інакше, це набагато менше, ніж k скорочень.CsPPtsPtCCn/3stk


@ Девід: Цікавий аргумент (хоча я ще цього не зовсім зрозумів: чому C повинен мати k-шлях). Але де аргумент не вдається (він повинен), якщо всі st-шляхи довгі, довжиною принаймні k?
Стасіс

1
@Stasys: G - це турнір, доказ використовує цей факт, тому imo, тому воно не вдасться.
domotorp

@domotorp: дякую, справді я пропустив слово "завершити". Я поки що не можу знайти ваду, але це було б досить контрутуючим фактом: навіть якщо в ациклічному турнірі є багато k-шляху, ми не можемо відібрати безліч суміжних систем їхніх представників (країв).
Стасіс

@David: Насправді, щоб мати згадані наслідки, ми можемо дозволити, що надрізи є "майже непересічними", тобто можуть мати спільні краї, що падають на s або t (у нас є лише 2n цих спеціальних країв). Справжня мета полягає в тому, щоб показати, що G повинен мати приблизно kN ребер, якщо ми знаємо, що кожен "чистий" k-виріз (без цих спеціальних ребер) повинен мати N ребер. Чи може ваш (дуже приємний, як я зараз бачу) аргумент змінити до цієї («майже непересічної») ситуації?
Стасіс

2
Якщо ви дозволяєте розрізам ділити краї, що падають на s або t, то чому ви не можете зробити всі надрізи точно складені з набору ребер, що падають на s? З іншого боку, мій аргумент показує, що (при виборі G і k ) може бути лише один чистий зріз.
Девід Еппштейн
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.