Обоснование асимптотического анализа наихудшего случая ученым

22

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

Я действительно ищу хорошую ссылку, к которой я могу обратиться в своем письме, вместо того, чтобы идти через обоснования в ограниченном пространстве, которое у меня есть (так как это не центральный пункт статьи). Мне также известны другие виды и парадигмы анализа, поэтому я не ищу ссылку, в которой говорится, что наихудший случай - это «лучший» анализ (поскольку есть настройки, когда его очень мало), но это не так. совершенно бесполезный: он все еще может дать нам теоретически полезную информацию о поведении реальных алгоритмов на реальных входах. Также важно, что письмо предназначено для общих ученых и не только инженеры, математики или компьютерные ученые.

Например, эссе Тима Роггардена, представляющее экономистам теорию сложности, находится на правильном пути к тому, чего я хочу. Тем не менее, только разделы 1 и 2 являются релевантными (остальное слишком специфично для экономики), и предполагаемая аудитория немного более удобна для мышления, доказывающего теорему, чем большинство ученых [1] .


Детали

В контексте адаптивной динамики в эволюции я встретил два специфических типа сопротивления со стороны теоретических биологов:

[A] «Почему я должен заботиться о поведении для произвольного ? Я уже знаю, что геном имеет пар оснований (или, возможно, генов) и не более».nn=3109n=2104

Это относительно легко отмахнуться от аргумента «мы можем представить, что мы будем ждать секунд, но не ». Но, более сложный аргумент может сказать, что «конечно, вы говорите, что заботитесь только о конкретном , но ваши теории никогда не используют этот факт, они просто используют, что он большой, но конечный, и мы изучаем с вашей теорией асимптотический анализ ».1092109N

[B] «Но вы только показали, что это сложно, создавая этот специфический пейзаж с помощью этих гаджетов. Почему я должен заботиться об этом, а не о среднем?»

Это более сложная критика для решения, потому что многие инструменты, которые люди обычно используют в этой области, исходят из статистической физики, где часто можно предположить равномерное (или другое конкретное простое) распределение. Но биология - это «физика с историей», и почти все не находится в равновесии или «типично», а эмпирических знаний недостаточнообосновать предположения о распределении по входу. Другими словами, я хочу аргумент, аналогичный тому, который используется против анализа среднего случая единообразного распределения в разработке программного обеспечения: «мы моделируем алгоритм, мы не можем построить разумную модель того, как пользователь будет взаимодействовать с алгоритмом или каково его распределение входов будет; это для психологов или конечных пользователей, а не для нас ". За исключением этого случая, наука не находится в положении, когда существует эквивалент «психологов или конечных пользователей», чтобы выяснить основные распределения (или, если это вообще имеет смысл).

Примечания и связанные вопросы

  1. Ссылка обсуждает когнитивные науки, но мышление схожи в биологии. Если вы просматриваете « Эволюцию» или « Журнал теоретической биологии» , вы редко увидите доказательство теоремы-леммы, и когда вы это сделаете, обычно это будет просто расчет, а не что-то вроде доказательства существования или сложной конструкции.
  2. Парадигмы для анализа сложности алгоритмов
  3. Другие виды анализа времени выполнения, кроме наихудшего, среднего и т. Д.?
  4. Экология и эволюция через алгоритмический объектив
  5. Почему экономисты должны заботиться о вычислительной сложности
Артем Казнатчеев
источник
23
Поведение в худшем случае невозможно оправдать ... Симплексный алгоритм имеет экспоненциальное поведение в худшем случае, и единственные люди, которые когда-либо заботились, - это теоретики. Вы должны утверждать, что (а) важно асимптотическое поведение в среднем случае; (б) асимптотическое поведение в среднем случае и асимптотическое поведение в худшем случае довольно часто сходны; (c) асимптотическое поведение в наихудшем случае часто гораздо легче вычислить, чем асимптотическое поведение в среднем случае (тем более что никто не знает, каково соответствующее распределение вероятностей).
Питер Шор
5
Асимптотика уже проблемный аспект. Все мы знаем историю об алгоритмах умножения матриц (асимптотические верхние границы бессмысленны на практике) и, возможно, также историю о выборе параметров в криптографии (асимптотические нижние границы бессмысленны на практике; экспоненциальные алгоритмы иногда выполнима [DES]). Если ваш анализ имеет фактические константы, то он более убедителен.
Юваль Фильмус
6
Если вы рассматриваете вычисления как игру (т. Е. Войну) между поставщиком ввода и алгоритмом, то анализ наихудшего случая - это стандартный военный подход - вы хотите знать, насколько он может быть плохим. Во-вторых, и что более важно, анализ наихудших случаев не позволяет вам быть интеллектуально ленивым и принимать решения, которые могут быть полезны для того, во что вы верите (а не в том, чем на самом деле является мир). Наконец, и, возможно, самое главное, он предоставляет единый способ для сравнения алгоритмов многообещающим образом. Короче говоря, это худший подход, за исключением всех остальных.
Сариэль Хар-Пелед
6
Я думаю, что нижняя граница наихудшего случая должна рассматриваться как возвращение мяча на свою площадку. Вы показали, что не существует алгоритма, который мог бы решить их проблему во всех случаях в разумные сроки. Они могут разумно полагать, что их примеры просты - но вы только что показали, что если это так, то это нетривиальный факт. Поэтому их модель неполна, если они не придумают объяснение, почему это так.
Аарон Рот
3
(Это подход, который, кажется, работает при разговоре с теоретиками игр. Он поднимает вопрос - если рынки действительно быстро уравновешиваются - какое особенное свойство есть у реальных рынков, которое преодолевает трудности в худшем случае? Вероятно, можно определить правдоподобное такое свойство и нижние границы просто предполагают, что это является важным направлением исследований)
Аарон Рот

Ответы:

8

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

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

Работа Дэниэла Спилмана и Шэнхуа Тенга по сглаженному анализу Симплекса кажется мне предвестником того, что может произойти, когда мы начнем лучше понимать форму проблемы: решение сначала наихудшего случая позволяет получить более тонкое понимание разработаны. Кроме того, как предложил Аарон Рот в комментариях, если «обычное» поведение системы значительно отличается от ее наихудшего случая, то система еще не полностью определена, и для улучшения модели требуется дополнительная работа. Поэтому выход за пределы наихудшего случая, как правило, представляется важной долгосрочной целью.

Что касается асимптотического анализа, он обычно служит для того, чтобы сохранить длинное и грязное доказательство в стороне от отвлекающих деталей. К сожалению, в настоящее время, похоже, нет способа вознаградить утомительную работу по заполнению деталей для получения фактических констант, так что редко кажется, что это делается. (Ограничения страниц также работают против этого.) Тщательный анализ деталей асимптотической границы привел к созданию реальных алгоритмов с хорошими оценками констант, поэтому я лично хотел бы увидеть больше такого рода работы. Возможно, если бы большее количество доказательств было оформлено с использованием систем помощников для доказательств, то константы можно было бы оценить с меньшими дополнительными усилиями. (Или ограничения на константы, по аналогии с оценкой Гауэрса для леммы регулярности Семереди, могут стать более рутинными.) Есть также способы доказать нижние оценки, свободные от констант, с использованием более явных моделей машин (таких как детерминированные конечные автоматы). Тем не менее, такие (почти) точные нижние границы для более общих моделей вычислений могут потребовать много работы или вообще быть недостижимыми. Кажется, это было сделано в 1958–1973 годах во время первого расцвета теории автоматов, но, насколько я могу судить, с тех пор в значительной степени остался один.

O(nk)

Андраш Саламон
источник
Я не разделяю ваш энтузиазм по поводу угасания асимптотики в пользу точных границ с определенными константами. Асимптотика может быть неточной - но они полезны неточны. Они абстрагируются от различий в реализации для одной и той же модели машины. Например, алгоритм сортировки, который был квадратичным на оборудовании 1950-х годов, все еще будет квадратичным на современном оборудовании. Кроме того, асимптотические формулы хорошо сочетаются. Например, линейные и полиномы замкнуты относительно композиции. (Обратите внимание, что аргументация в пользу лучших оценок в среднем случае по сравнению с наихудшим случаем является ортогональной аргументации против асимптотики.)
brandjon
В общем, вы правы, но есть большая разница между маленькой константой и той, которая является неэлементарной функцией соответствующего параметра.
Андрас Саламон
Мне нравится этот ответ в целом, но я согласен с @brandjon, что сокрытие констант имеет решающее значение. Для меня причина, по которой TCS полезен в биологии, состоит в том, что он должен делать гораздо меньше предположений о микродинамике, чем физика. Однако, если вы не сделаете предположений о микродинамике (то есть о точной спецификации модели вычислений), вы не сможете получить постоянные факторы. Другая полезная особенность TCS - строгие качественные дихотомии (то, что легче сравнивать с более качественными наблюдениями в био), обычно, чтобы получить их, вы также должны отбрасывать константы.
Артем Казнатчеев
O~(nO~(1/ϵ))
1
Как примечание стороны, есть примеры, где анализ наихудшего случая имеет смысл. Например, когда вы разрабатываете библиотеку подпрограмм общего назначения и не знаете, для каких областей применения они будут полезны: вы не сможете предвидеть все случаи, когда и почему кто-то захочет вычислить, например, двухстороннее сопоставление с минимальной стоимостью. Состязательные настройки, такие как криптография, еще более понятны (однако в криптографии вы действительно хотели бы знать константы, когда речь заходит о параметрах безопасности).
Сашо Николов
4

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

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

Что касается демонстрации того, что асимптотика имеет значение по сравнению с постоянными входными данными и постоянными факторами, моя любимая статья на эту тему - «Программирование жемчужин: методы проектирования алгоритмов» Джона Бентли. Он представляет четыре различных решения простой задачи с массивами и демонстрирует, как линейный подход уничтожает кубический. Он называет свою таблицу «Тирания асимптотики» после термина, используемого физиками для неразрешимости уравнения ракеты. Я использую этот пример, чтобы мотивировать поиск лучших алгоритмов для студентов дошкольного образования.

Будет ли ученый, не являющийся специалистом по компьютерам, читать статью, содержащую код, и знать, чтобы пропустить подробности низкого уровня, чтобы получить общую картину? Я не знаю. Возможно, есть лучшее представление в другом месте. Но я думаю, что это достойный ресурс для цитирования.

И если они утверждают, что им нет дела до сколь угодно больших n, пусть они запускают рекурсивные незапамятные числа Фибоначчи на 3 * 10 9 пар оснований и говорят им, что это O (1), так как размер последовательности ДНК фиксирован. ;)

brandjon
источник
1
Мне нравится пример Фибоначчи :)
Суреш Венкат
3
Re: ваш первый абзац: на самом деле, это именно то, что делает много теории сложности. Если проблема является EXP-завершенной, это означает, что она требует экспоненциального времени на входах для наихудшего случая. Обычно это считается показателем общей сложности (что, честно говоря, на практике часто не так плохо, как общий показатель). Это стандарт де-факто, называемый «бесконечно-часто» или нижней границей; Получение нижних границ в среднем или почти везде (то есть для всех, кроме конечного числа входных данных) является целью, которую иногда преследуют, но часто далеко за пределами досягаемости по сравнению с нижними границами.
Джошуа Грохов
2
Позвольте мне отметить, что вы можете не только дать подробный список алгоритмов, для которых анализ наихудшего и среднего случая одинаков, но вы также можете привести множество примеров, когда они сильно различаются (симплексный алгоритм просто самый известный из этих). Вам действительно нужно как-то утверждать, что они одинаковы для вашего конкретного приложения; экспериментальное тестирование - хороший способ сделать это.
Питер Шор
1
@ JoshuaGrochow Достаточно справедливо. Как насчет того, чтобы мы пересмотрели это утверждение следующим образом: Нижние оценки наихудших случаев важны, когда вы хотите продемонстрировать отсутствие математической гарантии не ужасности. ;)
brandjon
-3

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

  • Сложность алгоритмов Аткинсона (увы, в статье только одна ссылка на биологию, но может быть достаточно на более общих научных / технических терминах)

    Современная теория алгоритмов датируется концом 1960-х годов, когда начал использоваться метод измерения времени асимптотического выполнения. Утверждается, что у субъекта есть как инженерное, так и научное крыло. Инженерное крыло состоит из хорошо понятых методологий проектирования, в то время как научное крыло связано с теоретическими обоснованиями. Обсуждаются ключевые проблемы обоих крыльев. Наконец, некоторые личные мнения о том, куда предмет пойдет дальше, предлагаются.

  • Сложность и алгоритмы Дж. Диаз. 100 слайдов. широкий; в частности, можно было бы извлечь соответствующие.

  • Нежное введение в алгоритм анализа сложности Диониз "Дионизиз" Zindros

Другими словами, существует ли своего рода введение / обзор / обзор теоретической линзы сложности в тесной комбинации / соединении / компаньоне с прогрессивной алгоритмической линзой в науке, что-то вроде «Теории сложности для ученых, инженеров и исследователей» ?

есть хорошие ссылки на первый «алгоритмический объектив», который вы процитировали, например, Papadimitriou, но это не очень удовлетворительный отзыв эксперта в данной области, который был написан на последнем «объективе сложности» ... пока (возможно, какая-то «элита» " Участник этого сайта будет рассматривать это как свой следующий проект книги или бумаги).

Отметим также, что существует множество ссылок на релевантность P против NP вне теории сложности и в других научных областях, которые могут быть в некоторой степени использованы для этих целей. добавит их в комментарии, если есть интерес.

ВЗН
источник
3
Я не думаю, что это действительно отвечает на вопрос.
Гек Беннетт
1
ага, ты смотрел на кого-нибудь из судей? Отчасти мой ответ заключается в том, что нет (пока) идеального / совершенного ответа: |
vzn
1
Похоже, они определяют асимптотический и наихудший случаи анализа, а не сосредотачиваются на его оправдании, но, может быть, я что-то упустил?
Гек Беннетт
7
На самом деле, я думаю, что исследователи вне TCS могли бы легко отклонить наихудший случай как «искусственно построенные примеры, которые никогда бы не появились на практике» и были бы (без сильного убеждения в противном случае) гораздо более заинтересованы в среднем случае (несмотря на то, что не ясно, что средний случай намного ближе к реальным случаям).
Джошуа Грохов
1
@vzn: асимптотика (например, big-Oh) и наихудший случай несколько ортогональны. Можно провести асимптотический анализ наихудшего случая, асимптотический анализ среднего случая или даже асимптотический анализ простейшего случая (хотя я допускаю, что последний кажется несколько извращенным). Вместо этого можно было бы провести точный анализ наихудшего случая или точный анализ среднего случая и т. Д., Хотя они были бы гораздо более зависимыми от модели и менее надежными. Обоснование использования асимптотики (и сокрытие таких вещей, как постоянные факторы) полностью отличается от оправдания наихудшего случая по сравнению со средним или «реальным» случаем (что бы это ни значило для последнего ...).
Джошуа Грохов