Введение

В теории вычислительной сложности вероятностно проверяемое доказательство (PCP) — это тип доказательства, которое может быть проверено рандомизированным алгоритмом, использующим ограниченное количество случайности и считывающим ограниченное число битов доказательства. Алгоритм должен принимать корректные доказательства и отклонять некорректные доказательства с очень высокой вероятностью. Стандартное доказательство (или сертификат), используемое в определении класса сложности NP на основе верификатора, также удовлетворяет этим требованиям, поскольку процедура проверки детерминированно читает всё доказательство, всегда принимает корректные доказательства и отклоняет некорректные доказательства. Однако, интересным их делает существование вероятностно проверяемых доказательств, которые можно проверить, прочитав лишь несколько битов доказательства, используя случайность принципиальным образом. Вероятностно проверяемые доказательства порождают множество классов сложности в зависимости от количества запросов и объёма используемой случайности. Класс PCP[r(n),q(n)] относится к множеству задач принятия решений, для которых существуют вероятностно проверяемые доказательства, которые могут быть проверены за полиномиальное время, используя не более r(n) случайных битов и считывая не более q(n) битов доказательства. Если не указано иное, корректные доказательства всегда должны приниматься, а некорректные доказательства должны отклоняться с вероятностью, превышающей 1/2. Теорема о PCP, являющаяся ключевым результатом в теории вычислительной сложности, утверждает, что PCP[O(log n),O(1)] = NP.

История и значение

Теория вероятностно проверяемых доказательств изучает возможности вероятностно проверяемых систем доказательств при различных ограничениях параметров (полнота, надёжность, сложность случайности, сложность запросов и размер алфавита). Она находит применение в вычислительной сложности (в частности, в задаче об оценке сложности приближённого решения) и криптографии. Определение вероятностно проверяемого доказательства было явно введено Аророй и Сафрой в 1992 году, хотя свойства, связанные с ними, изучались и ранее. В 1990 году Бабаи, Фортноу и Лунд доказали, что PCP[poly(n), poly(n)] = NEXP, установив первое нетривиальное соответствие между стандартными доказательствами (NEXP) и вероятностно проверяемыми доказательствами. Теорема о вероятностно проверяемых доказательствах, доказанная в 1992 году, утверждает, что PCP[O(log n),O(1)] = NP. Теория сложности приближённых вычислений требует глубокого понимания роли полноты, надёжности, размера алфавита и сложности запросов в вероятностно проверяемых доказательствах.

Линейный ПЦП

Линейный PCP — это PCP, в котором доказательство представляет собой вектор элементов конечного поля, и оракул PCP может выполнять только линейные операции над доказательством. В частности, ответ оракула на запрос верификатора является линейной функцией. Линейные PCP имеют важное применение в доказательных системах, которые могут быть скомпилированы в SNARK.