Я ищу хорошие примеры, где встречается следующее явление: (1) Алгоритмическая проблема выглядит сложной, если вы хотите решить ее, работая из определений и используя только стандартные результаты. (2) С другой стороны, это становится легко, если вы знаете некоторые (не очень стандартные) теоремы.
Цель этого состоит в том, чтобы проиллюстрировать студентам, что изучение большего количества теорем может быть полезным даже для тех, кто находится за пределами области теории (например, инженеры-программисты, компьютерные инженеры и т. Д.). Вот пример:
Вопрос: Даны ли целые числа , существует ли вершинный граф (и, если да, найти его), такой, что его вершинная связность равна , его краевая связность равна , а минимальная степень равна ?к л д
Обратите внимание, что мы требуем, чтобы параметры были в точности равны заданным числам, они не были просто границами. Если вы хотите решить это с нуля, это может показаться довольно сложным. С другой стороны, если вы знакомы со следующей теоремой (см. Теория экстремальных графов Б. Боллобаса), ситуация становится совершенно иной.
Теорема: Пусть целые числа. Существует вершинный граф с связностью вершин , связностью ребер и минимальной степенью , если и только если выполняется одно из следующих условий:н к л д
- ,
Эти условия очень легко проверить, поскольку они представляют собой простые неравенства между входными параметрами, поэтому на вопрос о существовании можно легко ответить. Кроме того, доказательство теоремы носит конструктивный характер, решая также проблему конструкции. С другой стороны, этот результат не выглядит достаточно стандартным, так что вы можете ожидать, что все будут знать об этом.
Можете ли вы привести дополнительные примеры в этом духе, где знание (не столь стандартной) теоремы значительно упрощает задачу?
источник
Ответы:
Решающий изоморфизм простых групп, заданный их таблицами умножения. Тот факт, что это может быть сделано за полиномиальное время, непосредственно вытекает из того факта, что все конечные простые группы могут быть порождены не более чем двумя элементами, и в настоящее время единственное известное доказательство этого факта использует Классификацию конечных простых групп (возможно, самую большую теорему). - с точки зрения авторов, статей и страниц - когда-либо доказано).
источник
Если я правильно понимаю ваш вопрос, каноническим примером будет решение, если у графа есть эйлерова схема: эквивалентно проверке связности G, и каждая вершина имеет четную степень.г г
источник
Сегодня днем я читал « Стрингологию» - «настоящую» теорию струн .
Проблема: Если и y - две строки в некотором алфавите, когда есть некоторые натуральные числа m , n такие, что x m = y n .Икс Y м , н Иксм= уN
Теорема: Существуют натуральные числа такие, что x m = y n тогда и только тогда, когда x y = y x .м , н Иксм= уN х у= уИкс
источник
Нахождение количества (различных) действительных корней вещественного многочлена, либо во всех ℝ, либо в заданном интервале. Теорема Штурма говорит вам, что последовательность полиномов, которая удовлетворяет небольшому числу требований, может быть использована для подсчета числа действительных корней многочлена с действительными коэффициентами.
Затем все, что вам нужно сделать, это построить такую последовательность (что не очень сложно, но требует некоторых крайних случаев и обработки случая неразделимых многочленов), и Боб - ваш дядя.
Удивительно, но мало кто знает об этом результате, несмотря на то, что он довольно старый (1829 г.). Он используется во многих системах компьютерной алгебры, но все профессора математики в моем университете, которых я спросил, либо вообще не знают теорему Штурма, либо знают только ее по имени и что она имеет отношение к корням полиномов.
Большинство людей очень удивляются, когда вы говорите им, что что-то вроде точного подсчета настоящих корней так просто и не требует какого-либо приближения, учитывая, что найти корни гораздо сложнее. (Помните, что для полиномов степени ≥ 5 даже не существует «правильной» формулы для корней)
источник
Задача: Разработать представление плоских графов, где мы можем проверить, является ли ( u , v ) ребром за O ( 1 ) время.O ( n ) ( U , V ) O ( 1 )
Мы можем удалить вершину со степенью не более 5 и добавить ее в список в качестве ключа и его соседей в качестве значений. Оставшийся граф также плоский и имеет вершину со степенью не более 5. Таким образом, занимаемое пространство составляет не более . Мы можем проверить, есть ли u в списке смежности v ; если нет, мы можем проверить, находится ли v в списке смежности u . Это займет не более 10 шагов.5 н U v v U 10
источник
Я думаю, что автором этой категории, по крайней мере, в том, что касается ассиметрии сложности, является следующая проблема:
Учитывая планарный граф , G 4-раскраска?г г
Теорема о четырех цветах упрощает алгоритм до
return true
.источник
Может ли реальный (многомерный) полином быть выражен в виде суммы квадратов вещественных полиномов, можно решить путем сведения к полуопределенному программированию. Нужно знать SDP и что SDP можно решить эффективно.п
источник
Другой пример: для неориентированного графа имеет ли он минимальный разрез, в котором все ребра не пересекаются? Если так, найдите один.
На первый взгляд это может показаться сложным. Однако это становится легко, если вы знаете результат, что неориентированный вершинный граф может иметь не более n ( n - 1 ) / 2 минимальных сокращений, и все они могут быть перечислены за полиномиальное время.N n ( n - 1 ) / 2
Это может быть расширено до почти минимальных сокращений, которые больше минимального сокращения, но не более чем на постоянный коэффициент. Их число все еще ограничено полиномом.
(Я не искал ссылку, я помню, что эти результаты принадлежат Д. Каргеру.)
источник
Проблема: сходимость формулы MSO (монадической логики второго порядка) над конечными словами.
Теорема: MSO эквивалентна конечным автоматам над конечными словами.
Выше можно поднять до бесконечных слов, конечных деревьев, бесконечных деревьев.
источник
Несколько более сложный пример: факторизация неотрицательной матрицы , когда неотрицательный ранг постоянен.
источник
Диффи Хеллман
При стандартных предположениях о твердости проблемы дискретного журнала эта проблема также может показаться сложной.
Подробнее об этом можно прочитать в «Решении проблемы Диффи-Хеллмана» , Boneh'98 или в Google Lookup на Pairings.
источник
(Тривиально) существование равновесия Нэша в конечной игре, четное число гамильтоновых путей в кубическом графе, различные типы неподвижных точек, прилично сбалансированные сравнения в частичных порядках и многие другие проблемы PPAD.
источник
источник
Вот еще один пример: если дан неориентированный простой граф, определите, есть ли у него две вершинно-непересекающиеся схемы.
Поскольку легко проверить, является ли граф одним из графов, разрешенных теоремой, это дает нам алгоритм полиномиального времени для решения задачи.
Примечания: (1) Доказательство теоремы совсем не легко. (2) После того, как мы решили, что существуют две непересекающиеся цепи, кажется менее ясным, как решить соответствующую проблему поиска , то есть, как на самом деле найти такие схемы. Теорема не дает прямого совета этому.
источник
менее сложные примеры: некоторые теоремоподобные свойства показывают, что жадные алгоритмы для некоторых задач оптимальны. для непосвященного не совсем очевидно, что минимальное связующее дерево можно найти с помощью жадного алгоритма. несколько похожим концептуально является алгоритм Дейкстры, чтобы найти кратчайший путь в графе. фактически в обоих случаях соответствующие «теоремы» почти совпадают с алгоритмами.
источник
Найдите последовательность чисел Фибоначчи, которые являются произведением других чисел Фибоначчи. Например, число Фибоначчи 8 находится в последовательности, потому что 8 = 2 * 2 * 2, а 2 - это число Фибоначчи, которое не равно 8. Число 144 Фибоначчи находится в последовательности, потому что 144 = 3 * 3 * 2 * 2 * 2 * 2, а также 2 и 3 являются числами Фибоначчи, которые не равны 144.
Из теоремы Кармайкла следует, что 8 и 144 являются единственными членами этой последовательности.
источник