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

12

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

Я пришел к этому вопросу, потому что думал о следующем:

Предположим, у нас есть рекурсивно перечислимая, но неразрешимая проблема. Предположим далее, что я - "да" -инстанция проблемы. Тогда для любого алгоритма, который бы идентифицировал "да" -экземпляры проблемы, мы можем дать временную границу в терминах размера n из I. Поскольку, если бы мы могли дать такую ​​временную границу, мы могли бы решить проблему, так как мы могли бы просто сделать вывод, что я являюсь экземпляром "нет", когда превышен срок.

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

Герман
источник
9
Для таких алгоритмов существует ограничение по времени: запустите алгоритм и верните количество шагов, выполненных этим алгоритмом. С другой стороны, легко построить примеры, для которых трудно дать границы, которые легко понять или выразить, например, функцию Аккермана.
Коди
2
Вы должны быть более точными. Если вы говорите о (математических) функциях, то да, есть функция, соответствующая времени работы любой машины Тьюринга (на самом деле функций больше, чем машин Тьюринга). Если вы говорите о вычислимых функциях или, что то же самое, алгоритмах, то @cody даст вам ответ: просто запустите машину Тьюринга, чтобы решить проблему, и посчитайте время ее работы.
Алекс тен Бринк
8
@AlextenBrink: На самом деле, чтобы получить время выполнения в наихудшем случае как функцию от размера ввода , вам нужно запустить машину Тьюринга для всех возможных входов размера и взять максимум. Но, конечно, это тоже выполнимо. нnn
Юкка Суомела
8
Могу ли я предложить ревизию? Чтобы избежать тривиального ответа, предположим, что мы определили фразу «мы можем дать временную границу», что означает «мы можем вычислить верхнюю границу времени выполнения в худшем случае быстрее, чем запустив алгоритм для всех экземпляров размера n». Или, может быть, «все экземпляры» должны быть «одним экземпляром».
Джефф
1
Ваш аргумент зависит от того, что ваша функция с привязкой ко времени является полностью вычислимой. Общеизвестно, что этого нельзя сделать, но если это ваш вопрос (т. Е. Существуют частично вычислимые функции без полного расширения вычислимых функций), тогда вопрос не на уровне исследования. Пожалуйста, смотрите FAQ для предложений о том, где вы могли бы задать такие вопросы.
Каве

Ответы:

13

Для каждого алгоритма который оканчивается на классе входных данных , мы можем определить функцию его времени выполнения: где - класс входов длины а - алгоритм времени, который требуется для завершения на , Конечно, это определение является неудовлетворительным, поскольку оно относится к алгоритму, но оно показывает существование такой функции. Вопрос, который остается, состоит в том, существует ли краткое представление (и я считаю, что это было то, что вы просили).AInI n ( n ) n t i m e ( A ( i ) ) A i

f(n)=maxiIn(n)  time(A(i)),
In(n)ntime(A(i))Ai

Если мы используем простые алгебраические термины (без какой-либо рекурсии) в качестве определения краткого, то я думаю, что ответ будет отрицательным: есть проблемы, которые можно решить, но сложность которых не является элементарной. То есть не существует стека вида который ограничивает время выполнения алгоритма для задачи размера n.2222n

Надеюсь, я правильно понял ваш вопрос.

Markus
источник
6

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

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

Я не являюсь экспертом в этой области, поэтому я не знаю на собственном примере конкретного примера свойства наследственного графа, для которого мы не можем продемонстрировать алгоритм, потому что мы не знаем список запрещенных несовершеннолетних, и мы не знаем другого способа решить проблему, но я подозреваю, что такие примеры существуют. (И мы можем ограничить время на поиск примера, если он существует, так как мы знаем, что в мире не более 8 миллиардов человек, и в худшем случае мы могли бы их всех спросить!)

Еще одно замечание: поскольку мы знаем, что проверка несовершеннолетнего может быть выполнена за времени, вы можете утверждать, что во всех случаях, представленных алгоритмом Робертсона – Сеймура, у нас действительно есть «граница» на время выполнения. Тем не менее, я бы сказал, что это обман, если мы не ограничены константой.O ( n 3 )O(n3)O(n3)

Тимоти Чоу
источник
2
Но если вы выберете явный набор исключенных несовершеннолетних, то вы можете продемонстрировать алгоритм. Лучше было бы выбрать какое-то наследственное свойство, которое не было изучено. Хотя это немного сложнее.
Тимоти Чоу
2
Это довольно касательно вашей точки зрения, но: свойства второстепенно замкнутого графа могут быть действительно определены за время research.nii.ac.jp/~k_keniti/quaddp1.pdf . O(n2)
Эмиль Йержабек
1
@ EmilJeřábek: еще более косвенно, решение о том, удовлетворяет ли граф из замкнутого семейства свойству первого порядка за линейное время: arxiv.org/abs/1109.5036
Андрас Саламон
1
Кстати, Коварабаяши и Воллан утверждают, что ограничение на константу содержится в их документе STOC 2011 dsi.uniroma1.it/~wollan/PUBS/shorter_struct_web.pdf, в котором также сообщается о дальнейшем прогрессе, который «еще не полностью записан». Однако я не могу легко извлечь явную оценку из этой статьи.
Андрас Саламон
2
Для такого примера у вас есть графики с плоским покрытием. Как ни странно, мы почти знаем список: есть 31 запрещенный несовершеннолетний, и 32-й потенциальный, но для последнего он открыт, имеет ли он плоское покрытие или нет. Поэтому у нас нет алгоритма для этого класса графиков. См. Например: fi.muni.cz/~hlineny/papers/plcover20-gc.pdf
Денис
3

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

По существу, теорема утверждает, что при фиксированном желаемом ускорении g вы всегда можете найти вычислительную задачу P, такую, что для любой программы, решающей P, существует другая программа, все еще решающая P и выполняющая g-раз быстрее, чем предыдущая.

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

Андреа Асперти
источник
Почему P имеет очень большую сложность?
Поскольку процесс ускорения может быть повторен, следовательно, он должен быть совместим с бесконечной цепочкой алгоритмов убывающей сложности.
Андреа Асперти
3

Теоретический аспект вашего вопроса решает Маркус. С практической точки зрения, интересный способ понять ваш вопрос: существуют ли решаемые проблемы, для которых мы не знаем каких-либо временных ограничений?

Ответ - да: например, может случиться так, что у вас есть полуалгоритм для случаев ДА вашей проблемы и полуалгоритм для НЕТ экземпляров. Это дает вам возможность решить вашу проблему, но без ограничений по времени.

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

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

Примером этого является аффинная линейная логика (LLW): в настоящее время известно, что она завершена в башне [1], но в течение некоторого времени не было известно никаких границ, и была показана только разрешимость, используя среди прочих методов свойство конечной модели [2] ,

Ссылки:

[1] Неэлементарные сложности для ветвления VASS, MELL и расширений. Ранко Лазич и Сильвен Шмитц. CSL-LICS 2014

[2] Свойство конечной модели для различных фрагментов линейной логики. Ив Лафонт, J. Symb. Логика. 1997

Денис
источник
-4

как уже говорили другие, вопрос не сформулирован так, чтобы избежать тривиального ответа, однако в TCS и теории чисел есть некоторые понятия, которые связаны / похожи.

1) в теоремах о пространственно-временной иерархии требуется понятие «конструируемых во времени» и «конструируемых во времени» функций. Существуют не конструируемые во времени и не пространственно восстанавливаемые функции, которые приводят к необычным свойствам, обнаруживаемым в теоремах Блюма, таких как теоремы «разрыв, ускорение». большинство (все?) классы сложности std определены в терминах пространственно-временных функций.

2) функция Аккермана является полностью рекурсивной, но не примитивно-рекурсивной, и это имеет значение для ее ограничения по времени. примитивно-рекурсивные функции в некотором смысле представляют собой «основные» математические операции.

3) в теории арифметики существуют неисчислимые последовательности чисел в теории чисел, которые можно интерпретировать как создание временных границ, не поддающихся вычислению в смысле, таких как последовательность Гудстейна или теории Париса - Харрингтона.

ВЗН
источник
5
не ответ на вопрос.
Каве