Ли сглаженный анализ найти свой путь в основной анализ потока алгоритмов? Обычно разработчики алгоритмов применяют сглаженный анализ к своим алгоритмам?
Ли сглаженный анализ найти свой путь в основной анализ потока алгоритмов? Обычно разработчики алгоритмов применяют сглаженный анализ к своим алгоритмам?
Ответы:
Я могу ошибаться, но я рассматриваю сглаженный анализ как способ объяснить практическое поведение алгоритмов, которые имеют плохие теоретические гарантии (симплекс, k-средних и т. Д.). Я не уверен, что это будет означать использование сглаженного анализа на практике, кроме как для оправдания использования конкретной эвристики с плохой производительностью в худшем случае («Моя эвристика бла-бла, поведение в худшем случае, но сглаженный анализ показывает, что он будет преуспеть на практике и т. д. ")
То, как люди анализируют алгоритмы в реальном мире, сильно отличается от научного. В то время как в академических кругах цель состоит в том, чтобы найти доказуемо правильную верхнюю границу времени работы, в реальной жизни цель состоит в том, чтобы понять, как работает алгоритм, и какие настройки могут улучшить время работы. Есть два основных метода, которые запрещены в научных кругах, но используются на практике:
Тем не менее, я не думаю, что на практике очень часто анализируют алгоритм, за исключением добавления какого-либо дополнительного текста в соответствующую академическую публикацию. Основное внимание уделяется либо разработке программного обеспечения, либо низкоуровневой оптимизации, в зависимости от предмета.
Наконец, сглаженный анализ - это эвристика, которую можно использовать для объяснения того, почему алгоритмы работают на практике лучше, чем можно предположить в их наихудшем случае, а именно потому, что некоторые входные данные в некотором смысле «случайны». Эту эвристику можно использовать для аппроксимации поведения алгоритма, если использовать метод аппроксимации.