Просто, чтобы дать некоторые идеи о том, что возможно (но несколько нетривиально), вот один пример: распределенный алгоритм, который находит максимальную реберную упаковку на графе ограниченной степени.
Определение проблемы
Учитывая простой неориентированный граф , в крае упаковку (или дробное соответствие) ассоциирует вес ш ( е ) с каждым ребром х ∈ E такие , что для каждого узел V ∈ V , общий вес ребер , инцидентных v самое большее 1 . Узел насыщается, если общий вес падающих ребер равен 1 . Упаковка ребер максимальна, если все ребра имеют хотя бы одну насыщенную конечную точку (т. Е. Ни один из весов не может быть жадно растянут).G=(V,E)w(e)e∈Ev∈Vv11
Заметим, что максимальное совпадение определяет максимальную упаковку ребер (множество w ( e ) = 1 тогда и только тогда, когда e ∈ M ); следовательно, это легко решить в классическом централизованном окружении (предполагая, что G конечно).M⊆Ew ( e ) = 1e ∈ Mграмм
Крайние упаковки на самом деле имеют некоторые приложения, по крайней мере, если определить приложение в обычном смысле TCS: множество насыщенных узлов образует -приближение минимального покрытия вершин (конечно, это имеет смысл только в случае конечной G ) ,2грамм
Модель расчета
Предположим, что существует глобальная постоянная такая, что степень любого v ∈ V не превосходит Δ .Δv ∈ VΔ
Чтобы сохранить это как можно ближе к духу исходного вопроса, давайте определим модель вычисления следующим образом. Предположим, что каждый узел является машиной Тьюринга, а ребро { u , v } ∈ E является каналом связи между u и v . Вход лента V кодирует степень град ( V ) от V . Для каждого v ∈ V ребра, инцидентные v , помечены (в произвольном порядке) целыми числами 1 , 2 , …v ∈ V{ u , v } ∈ EUvvградус( v )vv ∈ Vv ; они называютсяметками локальных ребер(метка { u , v } ∈ E может быть разной для u и v ). Машина имеет инструкции, с помощью которых она может отправлять и получать сообщения через каждое из этих ребер; машина может обращаться к своим соседям, используя локальные метки ребер.1 , 2 , … , град( v ){ u , v } ∈ EUv
Мы требуем, чтобы машина вычислить действительный край упаковки для G . Точнее, каждый v ∈ V должен напечатать на своей выходной ленте кодировку w ( e ) для каждого ребра e, инцидентного v , упорядоченного по меткам локального ребра, и затем остановить.весграммv ∈ Vw ( e )еv
Мы говорим, что распределенный алгоритм находит максимальную реберную упаковку за время T , если для любого графа G максимальной степени Δ и для любой локальной маркировки ребер G выполняется следующее условие : если мы заменим каждый узел G идентичной копией машину Тьюринга A и запустите машины, затем после шагов T все машины напечатали правильное (глобально согласованное) решение и остановились.ATграммΔграммграммAT
Бесконечность
Теперь все вышесказанное имеет смысл, даже если множество узлов счетно бесконечно.В
Формулировка задачи и модель вычисления не имеют ссылок на прямо или косвенно. Длина входа для каждой машины Тьюринга ограничена константой.| В|
Что известно
Задача может быть решена за конечное время, даже если бесконечно.грамм
Проблема нетривиальна в том смысле, что необходимо некоторое общение. Кроме того, время работы зависит от . Однако для любого фиксированного Δ проблема может быть решена за постоянное время независимо от размера G ; в частности, задача разрешима на бесконечно больших графах.ΔΔграмм
Я не проверил, каково самое известное время выполнения в модели, определенной выше (которая не является обычной моделью, используемой в поле). Тем не менее, время выполнения, которое является полиномиальным по должно быть довольно легко достижимым, и я думаю, что время выполнения, которое является сублинейным по Δ , невозможно.ΔΔ