Рассмотрим непустой язык двоичных строк длины . Я могу описать булевой схемой с входами и одним выходом, так что истинно тогда и только тогда, когда : это хорошо известно.
Тем не менее, я хочу представлять с булевой схемой с выходами и определенным количеством входов, скажу , таким образом, что множество выходных значений для каждого из возможных входов точно .
Учитывая , как я могу найти такую схему минимального размера, и какова сложность? Существует ли какая-либо связь между известными границами размера цепей первого рода ( ) и цепями второго рода ( ) или сложностью их нахождения?
(Заметьте, что существует некоторая двойственность в следующем смысле: учитывая , я легко могу решить, находится ли входное слово в , оценивая схему, но в общем случае NP-сложно найти какое-то слово в , найдя присваивание такое, что вывод является истинным. Учитывая NP также трудно определить, находится ли какое-то входное слово в потому что я должен видеть, дает ли присваивание качестве вывода, но легко найти какое-то слово в путем оценки схемы на любом произвольном входе.)
Ответы:
Я укажу на простую связь с недетерминированными схемами и кратко прокомментирую криптографическую стойкость.
Для определите сложность изображения, обозначенную i m c ( S ) , как минимальное число вентилей в любой булевой схеме C (fanin-two, AND / OR / NOT) C : { 0 , 1 } м → { 0 , 1 } п , образ которого S . Вопрос спрашивает о сложности вычислений i m c ( S ) , учитывая представление таблицы истинности SS⊆{0,1}n imc(S) C:{0,1}m→{0,1}n S imc(S) S (строка длиной ).2n
Также определяют недетерминированную сложность схемы из , который мы будем обозначать п с гр ( S ) , как наименьшее недетерминированной цепи C ( х , у ) : { 0 , 1 } п + т ' → { 0 , 1 } принимает точно S . То есть мы требуем от C, что x ∈ S тогда и только тогда, когда ∃ y : C ( xS ncc(S) C(x,y):{0,1}n+m′→{0,1} S C x∈S . Это стандартное понятие, используемое для определения неоднородного класса N P / p o l y : это класс всех множеств S = { S n } n > 0 с S n ⊆ { 0 , 1 } n , такой, что n c c ( S n ) ≤ p o l y ( n ) .∃y:C(x,y)=1 NP/poly S={Sn}n>0 Sn⊆{0,1}n ncc(Sn)≤poly(n)
Я хотел бы отметить, что . Оба направления этого неравенства легко проверить.imc(S)=ncc(S)±O(n)
Пусть обозначает детерминированную сложность схемы. Используя Разборова-Рудича, статья, о которой упоминает Дай Ле, показывает (грубо говоря), что при определенных криптографических предположениях трудно в вычислительном отношении отличить таблицы истинности S с малым d c c ( S ) от таблиц истинности действительно случайных S (с d c c ( S ) почти максимальным). Случайные S также имеют n c c ( S ) почти максимальную, и мы, конечно, имеемdcc(S) S dcc(S) S dcc(S) S ncc(S) . Так что ваша проблема сложна при тех же предположениях.ncc(f)≤dcc(f)
Что сложнее вычислить, учитывая таблицу истинности для , d c c ( S ) или n c c ( S ) ? Есть ли сокращение в любом случае? Я не знаю.S dcc(S) ncc(S)
источник
Вы должны взглянуть на эту статью Кабанец и Цай. Я процитирую реферат статьи:
Хотя схема вы упомянули, вычисляет функцию F : { 0 , 1 } m → L , мы можем думать о ней как о последовательности схем C ′ 1 , C ′ 2 , … , C ′ n , где C ′ i вычисляет я т ч выходной бит F . Поскольку каждый C ' i вычисляет булеву функцию { 0 , 1 } mC′ F:{0,1}m→L C′1,C′2,…,C′n C′i ith F C′i , минимизация цепей C ′ i кажется сложной в соответствии с приведенным выше результатом.{0,1}m→{0,1} C′i
источник