Алгоритмическая локальная лемма Ловаса

Перейти к навигацииПерейти к поиску

Алгоритмическая локальная лемма Ловаcа — лемма в теоретической информатике, позволяющая конструировать объекты, подчиняющиеся определённым ограничениям.

Из локальной леммы Ловаса следует, что вероятность того, что ни одно событие из некоторого множества «плохих» событий не произойдёт, строго положительна, если эти события удовлетворяют некоторым дополнительным ограничениям. В то же время лемма неконструктивна и не позволяет явным образом конструировать примеры объектов, для которых эти события не наступают. В случае когда указанные события определяются конечным набором независимых друг от друга случайных величин, разработанный учёными Робином Мозером и Габором Тардосом[англ.] алгоритм типа «Лас-Вегас» с полиномиальным временем работы позволяет в явном виде вычислить некоторый набор значений этих величин, для которого не выполняется ни одно из рассматриваемых случайных событий[1].

Обзор локальной леммы Ловаса

Локальная лемма Ловаса является мощным инструментом, обычно используемым в вероятностном методе для доказательства существования некоторых сложных математических объектов с набором заданных признаков. Типичное доказательство сводится к рассмотрению свойств объекта с точки зрения теории вероятностей и использованию локальной леммы Ловаса для оценки вероятности отсутствия какого-либо из признаков. Отсутствие признака считается «плохим» событием, и если можно показать, что можно одновременно избежать всех таких «плохих» событий, то существование объекта доказано. Сама лемма формулируется следующим образом:

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

то вероятность того, что ни одно из событий не произойдет, положительна, а именно

Алгоритмическая версия локальной леммы Ловаса

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

ограничена только произведением малых величин

и поэтому, вероятно, будет очень мала.

В предположении, что все события из определяются конечным набором независимых друг от друга случайных величин из , Робин Мозер и Габор Тардос[англ.] предложили эффективный случайный алгоритм, который находит набор случайных величин в таких, что все события из не выполняются.

Следовательно, этот алгоритм может использоваться для эффективного построения сложных объектов с предписанными характеристиками для большинства задач, к которым применима локальная лемма Ловаса.

История

Работе Мозера и Тардоса предшествовали и другие результаты, благодаря которым был достигнут прогресс в разработке алгоритмических версий локальной леммы Ловаса. В 1991 Джозеф Бек[англ.] впервые показал, что разработка алгоритмической версии леммы принципиально возможна[2]. В его работе формулировка леммы была более строгой, чем в первоначальном неконструктивном определении. Подход Бека требовал, чтобы для каждого число зависимостей было ограничено сверху как . Неконструктивная версия локальной леммы допускает более слабое ограничение:

Эта оценка является неулучшаемой. Последующие работы постепенно сдвигали эту оценку, пока Мозер и Тардос не предъявили алгоритм, который её достигает.

В 2020 году Робин Мозер[англ.] и Габор Тардос[англ.] получили премию Гёделя за алгоритмическую версию локальной леммы Ловаса[3][4].

Алгоритм

Пусть  — текущая реализация случайной величины , а  — реализация всех случайных величин из .

Уникальное минимальное подмножество случайных величин в , которые определяют, наступит ли событие , обозначается .

Если событие верно при вычислении , будем говорить, что вычисление удовлетворяет , в противном случае оно избегает .

Алгоритм работает следующим образом:

  1. Для каждой величины случайным образом вычислить некоторую его реализацию
  2. Пока существует такое, что удовлетворяет :
    • Выбрать произвольное удовлетворенное событие
    • Для каждой величины вычислить новую реализацию
  3. Вернуть

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

Основная теорема

Пусть  — конечное множество независимых в совокупности случайных величин в вероятностном пространстве ,  — конечное множество событий, определяемых этими величинами. Если существует набор такой, что

,

то существует реализация , избегающая всех событий из . Кроме того, описанный выше рандомизированный алгоритм повторно выбирает событие не более чем

раз, прежде чем он найдет требуемую реализацию. Таким образом, ожидаемое время выполнения алгоритма не превосходит

[1].

Симметричная версия

Требования к могут показаться сложными и неинтуитивными. Но его можно заменить тремя простыми условиями:

  • , то есть каждое событие зависит не более чем от других событий;
  • , то есть вероятность каждого события не превосходит ;
  • , где  — это основание натурального логарифма.

Вариант локальной леммы Ловаса с этими тремя условиями вместо набора называется симметричной локальной леммой Ловаса. Также можно сформулировать симметричную алгоритмическую локальную лемму Ловаса:

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

Пример

В следующем примере показано, как алгоритмическая версия локальной леммы Ловаса может быть применена к простой задаче.

Пусть  — конъюнктивная нормальная форма формулы над переменными , содержащая дизъюнктов и имеющая по крайней мере литералов в каждом дизъюнкте, при этом каждая переменная присутствует не более чем в дизъюнктах. Тогда выполнима.

Это утверждение можно доказать, используя симметричную версию алгоритмической локальной леммы Ловаса. Пусть  — множество независимых в совокупности случайных величин , которые выбираются равномерно и независимо друг от друга. Без ограничения общности можно считать, что в каждом дизъюнкте ровно литералов. «Плохим» в данной задаче будет событие , соответствующее тому, что -й дизъюнкт не выполнен. Поскольку каждый дизъюнкт содержит литералов (и, следовательно, переменных) и все переменные выбираются случайным образом, можно оценить вероятность каждого «плохого» события следующим образом:

Поскольку каждая переменная может появляться не более чем в дизъюнктах, и в каждом дизъюнкте переменных, каждое «плохое» событие может зависеть не более чем от

других событий, следовательно

Если умножить обе стороны на , получится

.

Из симметричной локальной леммы Ловаса следует, что вероятность реализации , при которой все дизъюнкты из выполнены, не нулевая, и, следовательно, такая реализация должна существовать. Алгоритмическая лемма Ловаса позволяет найти такое присваивание за разумное время с помощью алгоритма, описанного выше. Алгоритм работает следующим образом:

Изначально берётся случайная реализация . Пока вся формула не становится истинной, случайным образом выбирается невыполненный дизъюнкт из , а затем всем переменным, которые встречаются в , присваиваются новые значения, которые выбираются равномерно случайным образом. Как только все дизъюнкты из выполнены, алгоритм возвращает текущую реализацию. Следовательно, алгоритмическая локальная лемма Ловаса доказывает, что этот алгоритм будет работать не более чем за

шагов на формулах, которые удовлетворяют двум вышеуказанным условиям. Более сильная версия приведенного выше утверждения доказана Мозером[5], см. также работу Бирмана, Карпинского и Скотта[6].

Параллельная версия

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

Если набор удовлетворяет несколько более строгим условиям:

для некоторого , то параллельный алгоритм даёт ожидаемое время исполнения порядка

.

Примечания

  1. 1 2 Moser, Robin A.; Tardos, Gábor. A constructive proof of the general lovász local lemma (англ.) // Journal of the ACM : journal. — 2010. — Vol. 57, no. 2. — P. 1. — doi:10.1145/1667053.1667060. — arXiv:0903.0544.
  2. Beck, József (1991), "An algorithmic approach to the Lovász Local Lemma. I", Random Structures and Algorithms, 2 (4): 343—366, doi:10.1002/rsa.3240020402.
  3. Former doctoral student Robin Moser receives prestigious Gödel Prize (англ.). ethz.ch. Дата обращения: 20 апреля 2020. Архивировано 31 октября 2021 года.
  4. ACM SIGACT - Gödel Prize. sigact.org. Дата обращения: 20 апреля 2020. Архивировано 9 января 2020 года.
  5. Moser, Robin A. (2008). "A constructive proof of the Lovász Local Lemma". arXiv:0810.4812 [cs.DS]..
  6. Piotr Berman, Marek Karpinski and Alexander D. Scott, Approximation Hardness and Satisfiability of Bounded Occurrence Instances of SAT ], ECCC TR 03-022(2003) Архивная копия от 3 марта 2016 на Wayback Machine.