Введение

Набор задач, решаемых небольшими схемами.
В теории вычислительной сложности, P/poly — это класс сложности, представляющий задачи, которые могут быть решены с помощью небольших схем. Более точно, это множество формальных языков, имеющих семейство схем полиномиального размера. Его также можно определить эквивалентно с точки зрения машин Тьюринга с подсказками (advice), представляющих собой дополнительную информацию, предоставляемую машине Тьюринга вместе с ее входом, которая может зависеть от длины входа, но не от самого входа. В этой формулировке, P/poly — это класс задач принятия решений, которые могут быть решены машиной Тьюринга за полиномиальное время с использованием подсказок длиной, полиномиальной относительно размера входа. Эти два различных определения делают P/poly центральным понятием в сложности схем и неравномерной сложности. Например, популярный тест простоты Миллера — Рабина можно сформулировать как алгоритм P/poly: "подсказка" — это список кандидатов для проверки. Можно предварительно вычислить список значений таким образом, чтобы для каждого составного числа гарантированно существовал свидетель в этом списке. Например, для правильного определения простоты 32-битных чисел достаточно проверить существование коротких списков кандидатов в свидетели. Это следует из того факта, что для каждого составного числа три из четырех кандидатов успешно обнаруживают его составность. Отсюда, простой аргумент подсчета, аналогичный тому, что используется в доказательстве BPP ⊆ P/poly, показывает, что существует подходящий список кандидатов для каждого размера входа, и более того, что большинство достаточно длинных списков кандидатов будут работать правильно, хотя поиск списка, гарантированно работающего, может быть дорогостоящим.

Ограниченно-ошибочный вероятностный полином содержится в P/poly

Теорема Адлемана утверждает, что BPP ⊆ P/poly, где BPP – это класс задач, разрешимых рандомизированными алгоритмами с двусторонней ошибкой за полиномиальное время. Более слабый результат был первоначально доказан Леонардом Адлеманом, а именно, что RP ⊆ P/poly; и этот результат был обобщён до BPP ⊆ P/poly Беннеттом и Гиллом. Варианты теоремы показывают, что BPL содержится в L/poly, а AM содержится в NP/poly.