Напружені алгоритмічні задачі, спрощені теоремами


28

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

Мета цього - проілюструвати студентам, що вивчення більшої кількості теорем може бути корисним навіть для тих, хто знаходиться поза межами теоретичної галузі (наприклад, інженерів програмного забезпечення, комп'ютерних інженерів тощо). Ось приклад:

Запитання: Враховуючи цілі числа , чи існує n -вершинний графік (і якщо так, знайдіть його), таким чином, що його зв'язок вершини k , його крайова сполучність l , а мінімальний ступінь d ?n,k,l,dnkld

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

Теорема: Нехай - цілі числа. Існує n -поверховий графік з вершинною зв’язковістю k , крайовим зв’язком l та мінімальним ступенем d , якщо і лише за умови виконання однієї з наступних умов:n,k,l,dnkld

  • , 0kld<n/2
  • 12d+2nkl=d<n1
  • k=l=d=n1.

Ці умови дуже легко перевірити, оскільки вони є простими нерівностями серед вхідних параметрів, тому на питання про існування можна відповісти без особливих зусиль. Крім того, доведення теореми є конструктивним, а також вирішує питання побудови. З іншого боку, цей результат виглядає недостатньо стандартним, так що ви можете розраховувати на те, що всі дізнаються про нього.

Чи можете ви надати подальші приклади в цьому дусі, коли знання (не настільки стандартної) теореми значно спрощує завдання?


1
Я не впевнений, що повністю розумію ваші запитання. Приклад, який ви наводите, - нетривіальна проблема, для якої Боллобас дав алгоритм (який передбачає характеристику). Тож моє враження з вашого прикладу полягає в тому, що будь -який нетривіальний алгоритм стане відповіддю ...
Бруно,

3
Первинність і теорема АКС.
Ламін

@Bruno: Я маю на увазі те, що алгоритмічне завдання стає набагато простішим, якщо ти знаєш теорему, яка недостатньо відома, тож, можливо, ніколи про неї не чули. Представлений приклад не є ідеальним в тому сенсі, що тут теорема не просто допомагає, а фактично вирішує проблему. Те, що я дійсно шукаю, - це коли теорема допомагає, надає корисний ярлик, але сама по собі не вирішує проблему.
Андрас Фараго

3
Вікі спільноти?
Джошуа Грохов

1
Теорема Робертсона – Сеймура - також гіпотези, що полегшують детермінований пошук простих чисел.
Каве

Відповіді:


31

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


3
Це чудовий приклад! BTW в коментарях до цієї відповіді стверджує, що в деякому сенсі ця теорема є настільки ж важкою, як і класифікація: mathoverflow.net/a/59216/35733
Ніколов

32

Якщо я правильно розумію ваше запитання, канонічний приклад може вирішити, чи граф має ейлерову ланцюг: еквівалент перевірки того, що G підключено, і кожна вершина має рівний ступінь.GG



9

Знаходження кількості (виразних) реальних коренів реального многочлена або в усьому ℝ, або в заданому інтервалі. Теорема Штурма говорить вам, що послідовність многочленів, що відповідає невеликій кількості вимог, може бути використана для підрахунку кількості реальних коренів многочлена з реальними коефіцієнтами.

Тоді, все, що вам потрібно зробити, - це побудувати таку послідовність (що не дуже складно, але вимагає деяких крайових випадків та обробки справи нероздільних поліномів), а Боб - ваш дядько.

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

Більшість людей дуже здивовані , коли ви говорите їм , що - щось на зразок підрахунку дійсних коренів саме це легко і не потребує будь - яких наближення, враховуючи , що перебування коренів набагато складніше. (Пам'ятайте, що для поліномів ступеня ≥ 5 навіть не існує "правильної" формули для коренів)


9

Теорема: Кожен плоский графік має вершину зі ступенем не більше 5.

O(n)(u,v)O(1)

5nuvvu10


5
Трохи уважніше ви можете зменшити розмір списку, що зберігається в кожній вершині, до 3 та кількість кроків для перевірки суміжності до 6. Див.: Плоскі орієнтації з низьким ступенем ступеня та ущільнення матриць суміжності. М. Хробак та Д. Еппштейн. Теорія. Склад. Наук. 86 (2): 243–266, 1991. ics.uci.edu/~eppstein/pubs/ChrEpp-TCS-91.pdf
Девід



5

Інший приклад: з урахуванням ненаправленого графіка, чи має він мінімальний зріз, у якому всі ребра роз'єднані? Якщо так, знайдіть його.

nn(n1)/2

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

(Я не шукав посилання, моє згадування полягає в тому, що ці результати пояснюються Д. Каргером.)


4

Проблема: Сатифікованість формули MSO (монадична логіка другого порядку) над кінцевими словами.

Теорема: MSO еквівалентний кінцевим автоматам над кінцевими словами.

Сказане можна підняти до нескінченних слів, кінцевих дерев, нескінченних дерев.



4

Рішаючий Діффі Хеллман

(g,ga,gb,gc)gGgc=gab

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

e(g,gc)=?e(ga,gb)

e:G×GGT

Більше про це можна прочитати на проблемі "Проблема вирішення пекла", Boneh'98 або пошуку Google в "Парінс"


3

(Тривіально) існування рівноваги Неша в кінцевій грі, парне число гамільтонових Шляхів у кубічному графіку, різні типи фіксованих точок, гідно збалансовані порівняння в часткових порядках та багато інших проблем ППАД.


Існування рівноваги Неша - та багатьох інших доказів існування, які характеризували PPAD - не здають жодної з цих проблем легше вирішити алгоритмічно ...
Джошуа Грохов

1
Я мав на увазі версію рішення цих проблем.
Йонатан N

2

((V,E),s,t)EEst(V,E)E

st(V,E)st


1
Можна сказати, що потік легкий, якщо ви знаєте, що LP - це легко. Таким чином, дві великі теореми (LP у полі часі та maxflow-mincut) дозволяють обчислити min-cut.
Чандра Чекурі

@ChandraChekuri, моє особисте відчуття полягає в тому, що це не зовсім відповідає питанню: теорема про те, що LP розв’язується в політи, не допомагає нам реально побудувати алгоритм міні-скорочень. Нам потрібен власне алгоритм LP.
Макс

Не зовсім. Якщо ви зможете ефективно знайти значення мінімуму скорочення в даному графіку, ви можете використовувати такий алгоритм для пошуку самого фактичного розрізу.
Чандра Чекурі

2

Ось ще один приклад: задавши непрямий простий графік, вирішіть, чи має він дві вершино-роз'єднані схеми.

23

3K5K3,n3

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

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


1

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


Я думаю, що це буде кращою відповіддю, якщо, наприклад, ви включите вислів властивості cut MST і згадуєте, як це передбачає правильність цілого класу жадібних алгоритмів MST.
Сашо Ніколов

Властивість скорочення MST, зазначена на сторінці вікіпедії. можливо, ви можете переспрямувати інші узагальнення, які не охоплені там. btw згадую, запитуючий запитував приклади, які подають "тих, хто не є теоретичним полем" (інші приємні приклади можуть бути занадто передовими для сторонніх)
vzn

TeTeABeE(A,B)

1

Знайдіть послідовність чисел Фібоначчі, що є добутком інших чисел Фібоначчі. Наприклад, число 8 Фібоначчі знаходиться в послідовності, оскільки 8 = 2 * 2 * 2, а 2 - число Фібоначчі, яке не дорівнює 8. Число Фібоначчі 144 знаходиться в послідовності, оскільки 144 = 3 * 3 * 2 * 2 * 2 * 2, і обидва, 2 і 3 - це числа Фібоначчі, які не дорівнюють 144.

З теореми Кармайхеля випливає, що 8 і 144 є єдиними членами цієї послідовності.

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