Fine-grained complexity
Мы уже привыкли к тому, что выражение «задача NP-трудна» стало синонимом «задача не решается за полиномиальное время», хотя неравенство классов P и NP до сих пор не доказано. А что, если задача всё-таки решается за полиномиальное время, но сам порядок полинома нас не очень устраивает? Например,
– Можем ли мы быстрее найти среди набора из бинарных строк две строки, у которых не совпадает ни один единичный бит?
– Можно ли найти в заданном наборе три числа с заданной суммой существенно быстрее ?
– Вычислим ли радиус заданного графа быстрее ?
В курсе мы постараемся установить связи между этими и другими классическими алгоритмическими задачами, многие из которых широко применяются и не являются NP-трудными. Например, докажем, что алгоритм со временем работы для первой задачи позволит решать задачу выполнимости быстрее ; а третий вопрос неразрывно связан с кубическим алгоритмом для задачи APSP вычисления матрицы кратчайших расстояний.
В отличие от полиномиальных сведений, которые используются для доказательства NP-трудности, в fine-grained сведениях мы будем более детально следить за временем работы и размером задачи (отсюда и название). Например, мы покажем, что задача из первого вопроса сводится (за время быстрее, чем ) к поиску наибольшей общей подпоследовательности (Longest Common Subsequence, LCS) заданных двух строк длины . Как следствие, алгоритм со временем работы для LCS повлечёт -алгоритм для задачи выполнимости.
Мы познакомимся с известными результаты области, как с классическими, так и с более современными, рассмотрим открытые вопросы, поговорим о лучших известных алгоритмах для некоторых из задач и о препятствиях для сведения их друг к другу.
Пререквизиты: для восприятия курса потребуется знакомство с базовым курсом алгоритмов.
Занятия
6 лекцийЛекция 1
Введение в Fine-Grained Complexity. Задача Orthogonal Vectors

Введение в Fine-Grained Complexity. Задача Orthogonal Vectors
Введение в Fine-Grained Complexity. Задача Orthogonal Vectors
Мотивация fine-grained complexity. Задачи 3-SUM, OV, APSP, CNF-SAT и соответствующие гипотезы. Сведение от CNF-SAT к OV. Порядок в задаче OV, алгоритмы , . Определение -fine-grained сведений.
Лекция 2
Задача 3-SUM: чему эквивалентна и к чему сводится

Задача 3-SUM: чему эквивалентна и к чему сводится
Задача 3-SUM: чему эквивалентна и к чему сводится
-сведение от OV к NFA Acceptance. Эквивалентные формулировки задачи 3-SUM. Задача CONV-3-SUM. -сведение от 3-SUM к Zero-Weight Triangle.
Лекция 3
Гипотеза SETH и задача о рюкзаке

Гипотеза SETH и задача о рюкзаке
Гипотеза SETH и задача о рюкзаке
Задачи Subset Sum и Knapsack. Решение Knapsack за , решение Subset Sum за . -SAT: гипотезы ETH и SETH. Связь ETH и алгоритмов для -SAT. Связь SETH и алгоритмов для CNF-SAT. Sparsification lemma. Из SETH следует ETH. SETH-трудность Subset Sum: общая схема.
Лекция 4
Конструкция Subset Sum. APSP на невзвешенных графах

Конструкция Subset Sum. APSP на невзвешенных графах
Конструкция Subset Sum. APSP на невзвешенных графах
Построение экземпляра Subset Sum с -битными числами по заданной разреженной формуле в -КНФ. APSP-гипотеза. Решение невзвешенного неориентированного APSP за .
Лекция 5
Что связывает кратчайшие пути, суммы подматриц и треугольники?

Что связывает кратчайшие пути, суммы подматриц и треугольники?
Что связывает кратчайшие пути, суммы подматриц и треугольники?
-эквивалентность задач APSP и тропического умножения матриц. APSP-эквивалентность задач поиска треугольников минимального или отрицательного веса. Эквивалентность APSP и задачи поиска подматрицы с максимальной суммой.
Лекция 6
Задача о рюкзаке легче, чем 3-SUM и APSP?

Задача о рюкзаке легче, чем 3-SUM и APSP?
Задача о рюкзаке легче, чем 3-SUM и APSP?
Задача (min,+)-convolution (MinConv). -эквивалентность MinConv и задачи о рюкзаке. -сведение от MinConv к 3-SUM. сведение от MinConv к APSP. MinConv-гипотеза. Сведение от OV к APSP или 3-SUM противоречит недетерминированной SETH (без доказательства).
Лекторы
Дополнительные материалы
1 материал
Курс по алгоритмам непрерывной нелинейной оптимизации без ограничений