П/поли
В сложности вычислений теории P/poly — это класс сложности, представляющий проблемы, которые могут быть решены с помощью небольших схем. Точнее, это набор формальных языков , имеющих семейства схем полиномиального размера. Его также можно эквивалентно определить в терминах машин Тьюринга с советом , дополнительной информацией, подаваемой в машину Тьюринга вместе с ее входными данными, которая может зависеть от длины входных данных, но не от самих входных данных. В этой формулировке P/poly — это класс проблем принятия решений с полиномиальным временем , которые могут быть решены с помощью машины Тьюринга и рекомендательными строками длины, полиномиальной от входного размера. [1] [2] Эти два разных определения делают P/poly центральным элементом сложности схемы и неравномерной сложности .
Например, популярный тест на простоту Миллера-Рабина можно сформулировать как алгоритм P/poly : «совет» представляет собой список значений-кандидатов для проверки. Можно предварительно вычислить список значения такие, что каждый составной -битное число обязательно будет иметь свидетеля в списке. [3] Например, чтобы правильно определить простоту 32-битных чисел, достаточно проверить . [4] [5] Существование коротких списков кандидатов в свидетели следует из того факта, что по каждому составному свидетелю , три из четырех возможных значений успешно обнаруживают, что является составным. Отсюда следует простой расчетный аргумент, аналогичный тому, который использовался в доказательстве того, что BPP Приведенный ниже P/poly показывает, что существует подходящий список значений-кандидатов для каждого входного размера, и, более того, наиболее длинные списки значений-кандидатов будут работать правильно, хотя поиск списка, который гарантированно будет работать, может быть дорогостоящим. [3]
P/poly , в отличие от других классов с полиномиальным временем, таких как P или BPP , обычно не считается практическим классом для вычислений. Действительно, он содержит все неразрешимые унарные языки , ни один из которых вообще не может быть решен реальными компьютерами. С другой стороны, если длина входных данных ограничена относительно небольшим числом, а строки рекомендаций короткие, его можно использовать для моделирования практических алгоритмов с отдельной дорогой фазой предварительной обработки и фазой быстрой обработки, как в примере Миллера-Рабина. .
Формальное определение
[ редактировать ]Класс сложности P/poly можно определить с точки зрения РАЗМЕРА следующим образом:
где - это набор проблем принятия решений , которые могут быть решены семействами схем полиномиального размера.
Альтернативно, можно определить с помощью машин Тьюринга, которые «прислушиваются к советам». Такая машина имеет для каждого n . строку совета , который разрешено использовать в своих вычислениях всякий раз, когда входные данные имеют размер n .
Позволять быть функциями. Класс языков, разрешимых на машинах Тьюринга за время T(n) с совет, обозначенный , содержит каждый язык L такой, что существует последовательность струн с и TM M, удовлетворяющий
для каждого , где на входе машина М работает не более шаги. [6]
Важность P/poly
[ редактировать ]P/poly — важный класс по нескольким причинам. Для теоретической информатики есть несколько важных свойств, которые зависят от P/poly :
- Если NP ⊆ P/poly , то PH ( полиномиальная иерархия ) схлопывается до . Этот результат представляет собой теорему Карпа – Липтона ; более того, из NP ⊆ P/poly следует AM = MA [7]
- Если PSPACE ⊆ P/poly , то , даже PSPACE = MA .
- Доказательство: рассмотрим язык L из PSPACE . Известно, что существует интерактивная система доказательства для L , в которой действия доказывающего может выполнять машина PSPACE . По предположению, доказывающее устройство можно заменить схемой полиномиального размера. Следовательно, у L есть протокол MA : Мерлин отправляет схему в качестве доказательства, а Артур может сам смоделировать протокол IP без какой-либо дополнительной помощи.
- Если П #П ⊆ P/poly, тогда P #П = И . [8] Доказательство аналогично приведенному выше и основано на интерактивном протоколе для постоянного и #P-полноты постоянного .
- Если EXPTIME ⊆ P/poly , то (теорема Мейера), даже EXPTIME = MA .
- Если NEXPTIME ⊆ P/poly , то NEXPTIME = EXPTIME , даже NEXPTIME = MA . И наоборот, NEXPTIME = MA подразумевает NEXPTIME ⊆ P/poly. [9]
- Если опыт НАПРИМЕР ⊆ P/poly тогда (Бурман, Гомер) [10]
- Известно, что MA EXP , экспоненциальная версия MA , не содержится в P/poly .
- Доказательство: если MA EXP ⊆ P/poly , то PSPACE = MA (см. выше). При заполнении EXPSPACE EXPSPACE = MA EXP , следовательно, . ⊆ P/poly, но это можно доказать с помощью диагонализации
Одной из наиболее интересных причин важности P/poly является то свойство, что если NP не является подмножеством P/poly , то P ≠ NP . Это наблюдение было центром многих попыток доказать P ≠ NP . Известно, что для случайного A оракула NP А не является подмножеством P А /poly с вероятностью 1. [1]
P/poly также используется в области криптографии . Безопасность часто определяется «против» противников P/poly . Помимо включения большинства практических моделей вычислений, таких как BPP , это также допускает возможность того, что злоумышленники могут выполнять тяжелые предварительные вычисления для входных данных до определенной длины, как при построении радужных таблиц .
Хотя не все языки в P/poly являются разреженными языками , существует полиномиальное сокращение по Тьюрингу от любого языка в P/poly к разреженному языку. [11]
Вероятностный полином с ограниченной ошибкой содержится в P/poly
[ редактировать ]Теорема Адлемана утверждает, что BPP ⊆ P/poly , где BPP — набор задач, решаемых с помощью рандомизированных алгоритмов с двусторонней ошибкой за полиномиальное время. Более слабый результат был первоначально доказан Леонардом Адлеманом , а именно, что RP ⊆ P/poly ; [12] и этот результат был обобщен Беннеттом и Гиллом на ⊆ P poly BPP / . [13] Варианты теоремы показывают, что BPL содержится в L/poly , а AM содержится в NP/poly .
Доказательство
[ редактировать ]Пусть L — язык в BPP , и пусть M ( x , r ) — алгоритм с полиномиальным временем, который решает L с ошибкой ≤ 1/3 (где x — входная строка, а r — набор случайных битов).
Постройте новую машину M ' ( x , R ), которая запускает M 48 n раз и получает большинство голосов результатов (где n — входная длина, а R — последовательность из 48 n независимо случайных r s). Таким образом, M ' также имеет полиномиальное время и имеет вероятность ошибки ≤ 1/ e н по границе Чернова (см. BPP ). Если мы сможем исправить R , то получим детерминированный алгоритм.
Если определяется как , у нас есть:
Размер ввода равен n , поэтому есть 2 н возможные входы. Таким образом, согласно границе объединения вероятность того, что случайное значение R является плохим хотя бы для одного входного сигнала x, равна
Другими словами, вероятность того, что R плох для некоторого x, меньше 1, поэтому должен существовать R , который хорош для всех x . Возьмем такую букву R в качестве строки совета в нашем P/poly -алгоритме.
Ссылки
[ редактировать ]- ^ Jump up to: а б Лутц, Джек Х.; Шмидт, Уильям Дж. (1993), «Размер схемы относительно псевдослучайных оракулов», Theoretical Computer Science , 107 (1): 95–119, doi : 10.1016/0304-3975(93)90256-S , MR 1201167
- ^ Конспекты лекций Питера Бро Мильтерсена о вычислительной сложности (PDF) , заархивировано из оригинала (PDF) 23 февраля 2012 г. , получено 25 декабря 2009 г.
- ^ Jump up to: а б Гольдрейх, Одед ; Вигдерсон, Ави (2002), «Дерандомизация, которая редко бывает ошибочной, из-за коротких советов, которые обычно хороши», в Ролиме, Хосе Д.П.; Вадхан, Салил П. (ред.), Методы рандомизации и аппроксимации, 6-й международный семинар, RANDOM 2002, Кембридж, Массачусетс, США, 13-15 сентября 2002 г., Труды , Конспекты лекций по информатике, том. 2483, Springer, стр. 209–223, номер документа : 10.1007/3-540-45726-7_17 , ECCC TR02-39.
- ^ Колдуэлл, Крис, «2.3: Сильная вероятностная простота и практический тест» , Поиск простых чисел и доказательство простоты.
- ^ Яешке, Герхард (1993), «О сильных псевдопростых числах по нескольким основаниям», Mathematics of Computation , 61 (204): 915–926, doi : 10.2307/2153262 , MR 1192971 ; см. стр. 926.
- ^ Арора, Санджив ; Барак, Вооз (2009), Вычислительная сложность. Современный подход , Cambridge University Press , ISBN 978-0-521-42426-4 , Збл 1193,68112
- ^ Арвинд, Викраман; Кёблер, Йоханнес; Шенинг, Уве ; Шулер, Райнер (1995), «Если NP имеет схемы полиномиального размера, то MA = AM» , Theoretical Computer Science , 137 (2): 279–282, doi : 10.1016/0304-3975(95)91133-B , MR 1311226
- ^ Бабай, Ласло ; На данный момент, Лэнс ; Лунд, Карстен (1991), «Недетерминированное экспоненциальное время имеет интерактивные протоколы с двумя доказательствами» , Computational Complexity , 1 (1): 3–40, doi : 10.1007/BF01200056 , MR 1113533 , заархивировано из оригинала 31 марта 2012 г. , получено 2 октября 2011 г.
- ^ Импальяццо, Рассел ; Кабанец, Валентин; Вигдерсон, Ави (2002), «В поисках простого свидетеля: экспоненциальное время против вероятностного полиномиального времени» (PDF) , Journal of Computer and System Sciences , 65 (4): 672–694, doi : 10.1016/S0022-0000 (02)00024-7 , МР 1964649
- ^ Примечание о коллапсе Карпа-Липтона для экспоненциальной иерархии
- ^ Джин-И Цай. Лекция 11: P/poly, разреженные множества и теорема Махани . CS 810: Введение в теорию сложности. Университет Висконсин-Мэдисон. 18 сентября 2003 г.
- ^ Адлеман, Л.М. (1978), «Две теоремы о случайном полиномиальном времени», Труды девятнадцатого ежегодного симпозиума IEEE по основам информатики , стр. 75–83, doi : 10.1109/SFCS.1978.37
- ^ Чарльз Х. Беннетт, Джон Гилл. Относительно случайного оракула A, P А ≠ Э.Г. А ≠ со-НП А с вероятностью 1 . [1]