Обґрунтування асимптотичного вченого для вчених


22

Я працював над тим, щоб внести деякі результати обчислювальної складності в теоретичну біологію, особливо еволюцію та екологію , з метою бути цікавим / корисним для біологів. Однією з найбільших труднощів, з якими я стикався, є виправдання корисності асимптотичного найгіршого аналізу для нижчих меж. Чи є посилання на довжину статті, які виправдовують нижчі межі та асимптотичний аналіз у гіршому випадку для наукової аудиторії?

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

Як приклад, твір Тіма Рагґардена, який представляє економістам теорію складності , на вірному шляху того, чого я хочу. Однак актуальні лише розділи 1 і 2 (решта - занадто економічна специфіка), а цільова аудиторія трохи зручніша у теоретико-леммостійкому мисленні, ніж більшість вчених [1] .


Деталі

У контексті адаптаційної динаміки в еволюції я зустрів два конкретні типи опору з боку теоретичних біологів:

[A] "Чому я повинен піклуватися про поведінку для довільних ? Я вже знаю, що геном має пар основ (або, можливо, генів) і не більше."n = 3 10 9 n = 2 10 4nn=3109n=2104

Це відносно легко усунути аргументом "ми можемо уявити, чекаючи секунд, але не ". Але, більш складний аргумент може сказати, що "звичайно, ти кажеш, що ти дбаєш лише про конкретну , але твої теорії ніколи не використовують цей факт, вони просто використовують, що вона велика, але кінцева, і це ваша теорія, з якою ми вивчаємо асимптотичний аналіз ".2 10 9 н1092109n

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

Це більш складна критика для вирішення, оскільки багато інструментів, які люди зазвичай використовують у цій галузі, походять із статистичної фізики, де часто безпечно припустити рівномірний (або інший простий простий) розподіл. Але біологія - це "фізика з історією", і майже все не знаходиться в рівновазі або "типово", а емпіричні знання є недостатнімищоб обґрунтувати припущення щодо розподілу по вхідних даних. Іншими словами, я хочу аргументу, аналогічного аргументу, який використовується проти рівномірного аналізу середніх випадків розподілу в інженерії програмного забезпечення: "ми моделюємо алгоритм, ми не можемо побудувати розумну модель того, як користувач буде взаємодіяти з алгоритмом або який їх розподіл вхід буде, тобто для психологів чи кінцевих споживачів, а не для нас ". За винятком цього випадку, наука не в становищі, коли існує еквівалент "психологів або кінцевих споживачів", щоб з'ясувати основні розподіли (або якщо це навіть має сенс).

Примітки та відповідні запитання

  1. Посилання обговорює когнітивні науки, але ментальність схожа в біології. Якщо ви переглядаєте Еволюцію або Журнал теоретичної біології , ви рідко бачите теорему-леммостійку, і коли ви це зробите, це буде як правило обчисленням, а не чимось на кшталт доказу існування чи хитромудрої конструкції.
  2. Парадигми для аналізу складності алгоритмів
  3. Інші види аналізу часу, окрім найгіршого, середнього та іншого?
  4. Екологія та еволюція через алгоритмічну лінзу
  5. Чому економісти повинні піклуватися про складність обчислень

23
Найгіршу поведінку неможливо виправдати ... алгоритм симплекса має експоненціальну поведінку гіршого випадку, і єдині люди, котрі коли-небудь піклувались, - теоретики. Що вам потрібно сперечатися, це: (а) важлива асимптотика середнього значення; (b) асимптотична поведінка в середньому і найсильніша асимптотика є часто подібною; (c) асимптотичну поведінку в найгіршому випадку часто обчислити набагато простіше, ніж асимптотичну середню ситуацію (тим більше, що ніхто не знає, який відповідний розподіл ймовірностей).
Петро Шор

5
Асимптотика - це вже проблематичний аспект. Всі ми знаємо історію про алгоритми множення матриць (асимптотичні верхні межі на практиці безглузді), а також, можливо, також розповідь про вибір параметрів у криптографії (асимптотичні нижні межі на практиці безглузді; експоненціальні алгоритми іноді здійснені [DES]). Якщо ваш аналіз має фактичні константи, то це більш переконливо.
Yuval Filmus

6
Якщо ви думаєте про обчислення як гру (тобто війну) між вхідним постачальником та алгоритмом, то найгірший аналіз - це стандартний військовий підхід - ви хочете знати, наскільки це може бути погано. По-друге, і що ще важливіше, аналіз найгіршого випадку не дозволяє вам бути інтелектуально ледачим та приймати рішення, які можуть бути корисними для того, що ви вважаєте, що це світ (а не те, яким є світ насправді). Нарешті, і, можливо, найголовніше, він забезпечує єдиний спосіб порівняння алгоритмів у сподіваному змістовному значенні. Коротше кажучи, це найгірший підхід, за винятком усіх інших.
Саріель Хар-Пелед

6
Я думаю, що в гіршому випадку нижню межу слід розглядати як повернення м'яча у їхній майданчик. Ви показали, що не існує алгоритму, який міг би вирішити їх проблему на всіх примірниках у розумні часові рамки. Вони можуть обґрунтовано вважати, що їхні випадки легкі - але ви щойно показали, що якщо це так, то це нетривіальний факт. Тому їхня модель є неповною, якщо вони не придумають пояснення, чому це так.
Аарон Рот

3
(Це підхід, який, здається, працює під час розмови з теоретиками ігор. Це викликає питання - якщо ринки дійсно швидко врівноважуються - якою особливою властивістю володіють реальні ринки, які обходять найгіршу твердість? Можливо, можливо визначити правдоподібну така властивість, і нижня межа просто підказує, що це є важливим напрямком дослідження)
Аарон Рот,

Відповіді:


8

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

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

Робота Даніеля Спілмана та Шанхуа Тен над згладженим аналізом Simplex здається мені передвісником того, що може статися, коли ми почнемо краще розуміти форму проблеми: вирішення найгіршого випадку спочатку дає змогу зрозуміти більш нюанси. розвинені. Далі, як в коментарях запропонував Аарон Рот, якщо "звичайна" поведінка системи суттєво відрізняється від її найгіршого випадку, тоді система ще не є повністю визначеною і потрібно вдосконалити модель. Тож вихід за межі гіршого випадку, як правило, важливий як довгострокова мета.

Що стосується асимптотичного аналізу, він, як правило, забезпечує тривалий і безладний доказ від відволікаючих деталей. На жаль, наразі, здається, не існує способу винагородити за копітку роботу із заповнення деталей, щоб отримати фактичні константи, так що, здається, рідко це робиться. (Межі сторінки також працюють проти цього.) Ретельний аналіз деталей асимптотичного зв’язку призвів до фактичних алгоритмів, з чіткими межами констант, тому я особисто хотів би бачити більше подібних робіт. Можливо, якби більше доказів було оформлено за допомогою допоміжних систем, тоді константи можна було б оцінити з меншими додатковими зусиллями. (Або межі на константах, уздовж ліній Гоуерса, пов'язаних з лемою регулярності Семереді, можуть стати більш рутинними.) Існують також способи довести нижчі межі, вільні від констант, за допомогою більш чітких моделей машин (таких як детерміновані автомати з кінцевим станом). Однак такі (майже) точні нижчі межі для більш загальних моделей обчислень можуть вимагати великої праці або взагалі бути недосяжними. Це, здається, було здійснено в 1958–73 рр. Під час першого розквіту теорії автоматів, але, наскільки я можу сказати, з тих пір багато в чому залишилося самотнім.

O(nk)


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

Ви маєте рацію в цілому, але велика різниця між малою константою і такою, що є неелементарною функцією відповідного параметра.
Андраш Саламон

Мені ця відповідь загалом подобається, але я погоджуюся з @brandjon, що приховування констант має вирішальне значення. Для мене причина TCS корисна в біології в тому, що їй потрібно зробити набагато менше припущень щодо мікродинаміки, ніж фізики. Однак якщо ви не робите припущень щодо мікродинаміки (тобто точної специфікації моделі обчислення), ви не зможете вивести постійні фактори. Інша корисна особливість TCS - це жорсткі якісні дихотомії (те, що простіше порівняти з більш якісними спостереженнями в біо), зазвичай для їх отримання також доведеться виривати константи.
Артем Казнатчеєв

O~(nO~(1/ϵ))

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

4

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

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

Щодо того, щоб продемонструвати, що асимптотика має значення в порівнянні з постійними входами та постійними факторами, моя улюблена стаття на цю тему - «Бродіння програмування перлами: методи алгоритмування алгоритмів» Джона Бентлі. Він представляє чотири різних рішення простої задачі масиву та демонструє, як лінійний підхід знищує кубічний. Свою таблицю він називає «Тиранія асимптотики», після терміна, який фізики використовують для нерозбірливості рівняння ракети. Я використовую цей приклад для мотивації пошуку кращих алгоритмів для студентів до коледжу.

Чи прочитає вчений, який не працює на комп’ютері, статтю, що містить код, і знатиме пропускати деталі низького рівня, щоб отримати широку картину? Не знаю. Можливо, в іншому місці є краща презентація. Але я думаю, що це гідний ресурс для цитування.

І якщо вони стверджують, що їм не байдуже до довільно великих n, попросіть їх виконати рекурсивну незапам’ятовувану Фібоначчі на 3 * 10 9 пар основ і скажіть їм, що це O (1), оскільки розмір послідовності ДНК фіксований. ;)


1
Мені подобається приклад
вищого рівня

3
Re: ваш перший абзац: насправді, це саме те, що робить багато теорії складності. Якщо проблема завершена EXP, це означає, що вона потребує експоненціального часу на найгірші входи. Це, як правило, сприймається як загальна складність (яка, справедливо кажучи, на практиці часто не є такою поганою, як загальний показник). Це стандарт де-факто, який називають "нескінченно-часто" або нижньою межею io; отримання середнього або майже повсюдного нижчих меж (тобто для всіх, але безмежно багато входів) - це мета, яку іноді переслідують, але часто далеко недосяжну порівняно з нижчими межами io.
Джошуа Грохов

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

1
@JoshuaGrochow Ярмарок досить. Як щодо того, як ми переглянемо твердження наступним чином: Низькі межі в найгірших випадках важливі, коли ви хочете продемонструвати відсутність математичної гарантії не жахливості. ;)
бранджон

-3

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

  • Складність алгоритмів Аткінсона (на жаль, лише один посилання на біологію в статті, але може вистачити на більш загальних науково-технічних термінах)

    Сучасна теорія алгоритмів починається з кінця 1960-х років, коли почав застосовуватися метод вимірювання часу асимптотичного виконання. Стверджується, що предмет має і інженерне, і наукове крило. Інженерне крило складається з добре зрозумілих методологій проектування, тоді як наукове крило займається теоретичними підґрунтями. Обстежуються ключові питання обох крил. Нарешті, надаються деякі особисті думки щодо того, куди піде далі тема.

  • Складність та алгоритми Й. Діаза. 100 слайдів. широкий; можна, зокрема, витягти відповідні.

  • Ніжний вступ до аналізу складності алгоритму Діоніс "діонізіз" Циндрос

Іншими словами, чи є введення / огляд / огляд теоретичної лінзи складності в тісному поєднанні / поєднанні / супутнику з передовим алгоритмічним об'єктивом у науці, щось на кшталт "Теорія складності для вчених, інженерів та дослідників" ?

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

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


3
Я не думаю, що це дійсно відповідає на питання.
Гек Беннетт

1
е-а-а, ви подивилися на будь-який із посилань? частина моєї відповіді полягає в тому, що немає (поки) жодної ідеальної / ідеальної відповіді: |
vzn

1
Здається, вони визначають асимптотичний і найгірший випадок, а не зосереджуються на його виправданні, але, можливо, я щось пропустив?
Гек Беннетт

7
Насправді, я думаю, що дослідники поза ТКС могли легко відкинути гірший випадок як "штучно побудовані приклади, які ніколи не трапляться на практиці", і були б (не переконуючи в іншому) набагато більше зацікавлених у середньому випадку (незважаючи на те, що не ясно, що середній випадок - це набагато ближче до реальних випадків).
Джошуа Грохов

1
@vzn: Асимптотичні (наприклад, великий-Oh) і в гіршому випадку дещо ортогональні. Можна зробити асимптотичний аналіз у найгіршому випадку, асимптотичний середній випадок чи навіть асимптотичний найпростіший аналіз (хоча, я визнаю, останній здається дещо збоченим). Натомість можна зробити точний аналіз у найгіршому випадку, або точний аналіз середнього випадку тощо, хоча вони будуть набагато більш залежними від моделі та менш надійними. Обґрунтування використання асимптотики (та приховування таких речей, як постійні фактори) цілком відрізняється від виправдання випадків найгіршого порівняно з середнім або "реального" (що б це не означало останні ...).
Джошуа Грохов
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.