Объяснение классов P и NP через лямбда-исчисление


36

Во введении и объяснении P и NP классы сложности часто даются через машину Тьюринга. Одной из моделей вычислений является лямбда-исчисление. Я понимаю, что все модели вычислений эквивалентны (и если мы можем ввести что-либо в терминах машины Тьюринга, мы можем представить это в терминах любой модели вычислений), но я никогда не видел объяснения идеи P и классов сложности NP через лямбда-исчисление , Кто-нибудь может объяснить понятия классов сложности P и NP без машины Тьюринга и только с помощью лямбда-исчисления в качестве модели вычисления.


5
Их вычислительная мощность эквивалентна только функциям над натуральными числами, а не старшим типам или другим параметрам.
Каве

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

Ответы:


40

Машины Тьюринга и λ калькуляция эквивалентны только по функциям NN они могут определить.

С точки зрения вычислительной сложности они, кажется, ведут себя по-разному. Основная причина, по которой люди используют машины Тьюринга, а не λ калькуляцию, чтобы рассуждать о сложности, заключается в том, что использование λ калькулятора наивно ведет к нереалистичным мерам сложности, потому что вы можете свободно копировать термины (произвольного размера) за один этап β сокращения, например (λx.xxx)MMMM.Другими словами, одиночные шаги восстановления в λ-калькулез - это паршивая модель затрат. Напротив, одиночные шаги сокращения машины Тьюринга работают отлично (в смысле того, чтобы быть хорошими предикторами реального времени выполнения программы).

Неизвестно, как полностью восстановить традиционную теорию сложности, основанную на машине Тьюринга, в λ вычислении. В недавнем (2014) прорыве Аккаттоли и Даль Лаго удалось показать, что большим классам сложности времени, таким как P , NP и EXP может быть дана естественная формула λ вычисления. Но меньшие классы, такие как O(n2) или O(nlogn) не могут быть представлены с использованием методов Аккаттоли / Дал Лаго.

Как восстановить обычную космическую сложность, используя λ калькуляцию, неизвестно.


4
Я чувствую необходимость уточнить здесь: не существует специальной «техники», которую Аккаттоли и Даль Лаго используют для «представления» временных классов. Презентация является «наивной» один: определить как класс языков разрешимого с помощью Й -членного в ф ( п ) β -уменьшение шагов, при любой стандартной стратегии сокращения ( например , крайней левой -outermost). Аккаттоли и Даль Лаго показали, используя методы линейной логики, что существует такой многочлен p , что λ T I M E ( fλTIME(f(n))λf(n) βp .λTIME(f(n))=TIME(p(f(n))
Дамиано Мазза

@DamianoMazza Да, верно, я имел в виду, что я не думаю, что методы, использованные для демонстрации этого результата, могут быть использованы для демонстрации, например, . λTIME(n2)=TIME(n2)
Мартин Бергер

3
Да я вижу. На самом деле, мое предположение , что : классы сложности , такие как T I M E ( п 2 ) или Т I М Е ( п войти п ) не являются надежными нельзя ожидать, что они будут стабильными при изменениях в вычислительной модели (это общеизвестно, даже если мы придерживаемся машин Тьюринга, например, с одной лентой против нескольких лент).λTIME(n2)TIME(n2)TIME(n2)TIME(nlogn)
Дамиано Мазза

3
@DamianoMazza Я согласен, аналогично для размера выбранного алфавита. Но алгоритм, работающий в на машине с n- лентой, может быть смоделирован в 5 k f 2 ( n ) на машине с 1 лентой, скромное квадратичное увеличение. В чем суть нынешнего перевода Аккаттоли и Дала Лаго? Я не помню, если они прямо заявляют об этом. f(n)n5kf2(n)
Мартин Бергер

1
@ Джейк В цитируемой статье обсуждается бета-нормализация (см. Стр. 2). Подобные результаты уже были известны для других форм сокращения, таких как слабое сокращение (то есть, вызов по значению) - см. Dal Lago & Martini, 2008 (обсуждается в этом документе и в cstheory.stackexchange.com/a/397/989 ).
Blaisorblade

12

Я вставляю часть ответа, который я написал для другого вопроса :

Неявная вычислительная сложность направлена ​​на характеристику классов сложности с помощью специализированных языков. Первые результаты, такие как теорема Беллантони-Кука, были сформулированы в терминах рекурсивных функций, но в более поздних результатах используются словарь и методы λ- вычисления. См. Это краткое введение в неявную вычислительную сложность для получения дополнительной информации и указаний, а также материалы семинаров DICE .μλ

Существуют характеристики (как минимум) с помощью λ- исчисления.FPλ


5

Я не знаю, отвечает ли это (часть) на ваш вопрос, но действительно есть альтернативные характеристики классов сложности (особенно P и NP ) в терминах логики (логика 1-го порядка, логика 2-го порядка и т. Д.).

Например, работа по Р. Fagin ( и др.) В этой области отличается (и имо может дать представление , связанное с P против NP вопроса и отношений с описательной и алгоритмической сложностью)

Некоторые дополнительные характеристики классов вычислительной сложности в терминах алгоритмической (колмогоровской-соломоновской) сложности можно найти (например) здесь и здесь .

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.