Бесконечно большие, но локально конечные задачи вычислений

14

Этот вопрос вдохновлен комментарием Юкки Суомела к другому вопросу .

Каковы примеры бесконечно больших, но локально конечных вычислительных задач (и алгоритмов)?

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

Аарон Стерлинг
источник
Я собирался прокомментировать, что эта идея выглядит так же, как одна TM с бесконечным количеством лент, которые, как я думал, я видел раньше, но сейчас я не могу найти ссылку. Я сплю или это изученная идея? Конечно, были изучены другие расширения гиперкомпьютеров, такие как TM с бесконечным временем. Добавляет ли идея ТМ «сеть» к этой модели?
Гек Беннетт
@HuckBennett: я не знаю; это может быть то же самое. Из первоначального комментария Юкки я понял, что он думает о таких проблемах, как раскраска графа на бесконечном графе ограниченной степени (хотя я не знаю, будет ли эта конкретная проблема ответом на этот вопрос). Каждый TM запускает один и тот же алгоритм и общается с конечным набором соседей. Кажется, что ТМ с бесконечно большим количеством лент может смоделировать граф с бесконечно большим количеством ребер между двумя узлами, что в принципе отличается от того, что я имею в виду. Я очень мало знаю о таких моделях, хотя.
Аарон Стерлинг

Ответы:

13

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

Определение проблемы

Учитывая простой неориентированный граф , в крае упаковку (или дробное соответствие) ассоциирует вес ш ( е ) с каждым ребром х E такие , что для каждого узел V V , общий вес ребер , инцидентных v самое большее 1 . Узел насыщается, если общий вес падающих ребер равен 1 . Упаковка ребер максимальна, если все ребра имеют хотя бы одну насыщенную конечную точку (т. Е. Ни один из весов не может быть жадно растянут).G=(V,E)w(e)eEvVv11

Заметим, что максимальное совпадение определяет максимальную упаковку ребер (множество w ( e ) = 1 тогда и только тогда, когда e M ); следовательно, это легко решить в классическом централизованном окружении (предполагая, что G конечно).MEвес(е)знак равно1еMграмм

Крайние упаковки на самом деле имеют некоторые приложения, по крайней мере, если определить приложение в обычном смысле TCS: множество насыщенных узлов образует -приближение минимального покрытия вершин (конечно, это имеет смысл только в случае конечной G ) ,2грамм

Модель расчета

Предположим, что существует глобальная постоянная такая, что степень любого v V не превосходит Δ .ΔvВΔ

Чтобы сохранить это как можно ближе к духу исходного вопроса, давайте определим модель вычисления следующим образом. Предположим, что каждый узел является машиной Тьюринга, а ребро { u , v } E является каналом связи между u и v . Вход лента V кодирует степень град ( V ) от V . Для каждого v V ребра, инцидентные v , помечены (в произвольном порядке) целыми числами 1 , 2 , vВ{U,v}ЕUvvградус(v)vvВv ; они называютсяметками локальных ребер(метка { u , v } E может быть разной для u и v ). Машина имеет инструкции, с помощью которых она может отправлять и получать сообщения через каждое из этих ребер; машина может обращаться к своим соседям, используя локальные метки ребер.1,2,...,градус(v){U,v}ЕUv

Мы требуем, чтобы машина вычислить действительный край упаковки для G . Точнее, каждый v V должен напечатать на своей выходной ленте кодировку w ( e ) для каждого ребра e, инцидентного v , упорядоченного по меткам локального ребра, и затем остановить.весграммvВвес(е)еv

Мы говорим, что распределенный алгоритм находит максимальную реберную упаковку за время T , если для любого графа G максимальной степени Δ и для любой локальной маркировки ребер G выполняется следующее условие : если мы заменим каждый узел G идентичной копией машину Тьюринга A и запустите машины, затем после шагов T все машины напечатали правильное (глобально согласованное) решение и остановились.ATграммΔграммграммAT

Бесконечность

Теперь все вышесказанное имеет смысл, даже если множество узлов счетно бесконечно.В

Формулировка задачи и модель вычисления не имеют ссылок на прямо или косвенно. Длина входа для каждой машины Тьюринга ограничена константой.|В|

Что известно

Задача может быть решена за конечное время, даже если бесконечно.грамм

Проблема нетривиальна в том смысле, что необходимо некоторое общение. Кроме того, время работы зависит от . Однако для любого фиксированного Δ проблема может быть решена за постоянное время независимо от размера G ; в частности, задача разрешима на бесконечно больших графах.ΔΔграмм

Я не проверил, каково самое известное время выполнения в модели, определенной выше (которая не является обычной моделью, используемой в поле). Тем не менее, время выполнения, которое является полиномиальным по должно быть довольно легко достижимым, и я думаю, что время выполнения, которое является сублинейным по Δ , невозможно.ΔΔ

Юкка Суомела
источник
3

Нахождение следующего поколения сотового автомата .

Это можно решить, как вы описали в постоянное время. (т.е. не зависит от ввода)


источник
Я думаю, что нужно больше заботиться, чтобы на самом деле сформулировать (нетривиальную, интересную) вычислительную задачу, которая разрешима за конечное время с помощью клеточных автоматов?
Юкка Суомела
1
Я согласен с @Jukka. Я считаю, что текущая версия этого ответа находится на уровне комментария, а не информативной. Он не описывает ни вычислительную проблему, ни алгоритм. Downvoted.
Аарон Стерлинг
2

По сути, каждая задача, которая по меньшей мере так же сложна, как раскраска, требует алгоритма с временем выполнения, зависящим от количества узлов в сети, и, следовательно, не может работать в бесконечном, но локально конечном графе. Это следует из исходного журнала Линиала * n нижней границы.

Питер
источник
2
Но что именно ваша модель вычислений здесь? Linial предполагает, что все узлы имеют уникальные числовые идентификаторы; если мы попытаемся отобразить его в настройке, предложенной в исходном вопросе, у нас будут машины Тьюринга, которым на входных лентах будут даны их числовые идентификаторы. Но теперь размер идентификатора не ограничен; простое ожидание, пока все машины не прочитают свои собственные идентификаторы, занимает бесконечно много времени. Я бы сказал, что препятствие на самом деле не является нижней границей Линиала, но это модель вычисления: уникальные идентификаторы - это неправильная модель, когда мы имеем дело с бесконечностью.
Юкка Суомела
1
@Jukka: Я представлял себе систему, в которой все процессоры были анонимными, когда я писал вопрос, чтобы избежать идентификаторов, которые растут без ограничений. Но сейчас мне кажется, что здесь может быть нетривиальная проблема. Если вы выбираете размер программы и некоторую вычислимую функцию, которая ограничивает размер окрестности любого процессора, то, возможно, всесильный противник может выбрать большой, но конечный набор идентификаторов, так что линиальный линиал все равно будет каким-то фактором. Однако для этого противнику может понадобиться вычислить функцию, которая растет быстрее, чем любая вычислимая функция.
Аарон Стерлинг