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


28

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

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

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

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

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

  • , 0≤k≤l≤d<⌊n/2⌋
  • 1≤2d+2−n≤k≤l=d<n−1
  • k=l=d=n−1.

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

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


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(n−1)/2

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

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


4

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

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

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



4

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

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

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

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

e:G×G→GT

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


3

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


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

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

2

((V,E),s,t)E′⊂Est(V,E′)E′

st(V,E)st


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

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

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

2

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

≤2≥3

≥3K5K3,n−3

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

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


1

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


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

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

TeT−eABeE(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.