Jest to podobne do SAT, z tym wyjątkiem, że znamy przypisanie każdej zmiennej, ale nie znamy przypisania żadnego operatora logicznego. Czy w takim przypadku znalezienie przypisania każdego operatora, aby wyrażenie oceniało na wartość logiczną, stanowi problem NPC?
Właściwie zastanawiałem się, czy znalezienie przypisania operatorów arytmetycznych w celu spełnienia liczby całkowitej arytmetycznej (np. = 10) jest NP zakończone?1 o p 1 3 o p 2 7 o p 3 o p 4
cc.complexity-theory
np-hardness
DSounders
źródło
źródło
Odpowiedzi:
Dodając i odejmując, myślę, że problem z partycją , który jest NP-trudny, redukuje się do drugiego problemu.
Biorąc pod uwagę zbiór S = { s 1 , s 2 , … , s n } tworzymy problemS={s1,s2,…,sn}
s 1 o p 1 s 2 o p 2 s 3 o p 3 … o p n - 1 s n = 0 .s1 op1 s2 op2 s3 op3 …opn−1 sn=0
Jeśli istnieje rozwiązanie, tworzymy dwa zestawy:
S 1 = { s 1 } ∪ { s i | o p i - 1 = + }S1={s1}∪{si|opi−1=+}
S 2 = { s i | o p i - 1 = - }S2={si|opi−1=−}
Te dwa zestawy muszą mieć tę samą sumę w konfiguracji naszego pierwotnego problemu, więc problem partycji został rozwiązany. To pokazuje, że nie tylko trudno jest znaleźć rzeczywiste rozwiązanie tego problemu, ale w rzeczywistości trudno jest ustalić, czy istnieje rozwiązanie (przynajmniej w przypadku dodawania i odejmowania).
W przypadku zestawu operacji, który nie pozwala na tworzenie ujemnych liczb całkowitych, powiedzmy, mnożenie i dodawanie, nie jest to takie jasne. Pokazuje to również, że problem jest słabo NP-trudny; może wystąpić redukcja, która daje mocniejszy wynik niż ten.
źródło
Krótka odpowiedź. Wersja operatorska SAT jest sprawnie rozwiązywalna - przynajmniej, jeśli założymy dowolne obwody bram dwuwejściowych bez wentylacji, w stosunku do dowolnego pożądanego zestawu bramek.
Długa odpowiedź. Przyjmuję następującą postać problemu boolowskiego:
W szczególności nie narzucamy żadnej szczególnej struktury na obwody C (oprócz binarnych drzew), nie pozwalamy na rozkładanie (aby każdy bit x był używany tylko raz), a bramki mogą być asymetryczne. Dopuszczając tylko bramki dwubitowe, wykluczam bramkę NOT (ale która może być symulowana poprzez posiadanie wielu bramek, które są ze sobą powiązane przez negacje, takie jak AND / NAND ; wykluczam również bramki, które po prostu generują stałe bez danych wejściowych , tak że liczba bramek w obwodzie będzie zawsze wynosić n - 1 dla wejścia n -bitowego . Ze względu na zwięzłość poniżej będę odnosił się do 2-TREE-OPSAT jako:C x n−1 n OPSAT ; chociaż analiza problemu może stać się znacznie trudniejsza dla obwodów pozwalających na dowolne bramki wejściowe k ( K-TREE-OPSAT ) lub zezwalające na rozkręcenie (które możemy nazwać k-FANOUT-OPSAT ).
[ Zredagowano, aby dodać : możemy łatwo to dostosować, aby uwzględnić bardziej ogólny problem obecnej wersji twojego pytania, w którym próbujemy zmapować daną x ∈ { 0 , 1 } ∗ na wartość docelową b ∈ { 0 , 1 } , zamieniając role 0 i 1 w poniższej analizie; ma to wpływ na zamianę ról AND i OR , NAND i NOR , itd. ]x∈{0,1}∗ b∈{0,1} 0 1
W przypadku stałego wyboru problem wyboru odpowiedniego drzewa z odpowiednimi bramkami nie różni się niczym od logicznego rozłączenia: przy użyciu równoważników takich jak możemy dokonywać redukcji między kolekcjami, odnosząc bardziej skomplikowane zestawy bramek do prostych (i potężnych) zestawów bramek; a może mówić o tym, że jeden zestaw bramek może emulować inne bramy nienależące do zestawu, mądrze wybierając jakiś element który ma taki sam efekt (gdy jest przedstawiany z konkretnym wejściem) jak brama . W szczególności niektóre kombinacje bramek (takie jak ) mogą symulować stałą funkcję, dającx ∈ { 0 , 1 } n LUB ( x , y )x∈{0,1}n ≡( ORAZ(x,y)∨PARITY ( x , y ) ) G G ∉ G { LUB , NAND } 1
Kontynuujemy rozważanie zestawów bram obejmujących różne typy bramek , później wykluczając te bramki z późniejszych przypadków analizy, aby wykazać, że zestawy bramek obejmujące dowolną z bram prowadzą do możliwego do rozwiązania problemu. Będziemy postępować w kolejności liczby ciągów 2-bitowych, które spełniają daną bramkę, zaczynając od stałej bramki do stałej bramki.G 1 0sol 1 0
Dla każdego zestawu bramek które zawierają stałą bramkę , możemy po prostu zbudować obwód przy użyciu samej bramki, w którym to przypadku akceptuje dowolne .solsol G ( x , y ) = 1 C C xG ( x , y) = 1 do do x
LUB i NAND. Dla każdego zestawu bramek który zawiera : jeśli wszystkie inne bramki spełniają , to nie ma żadnej korzyści, aby wybrać inną bramę, ale w budynku obwód . Obwód tylko bramek przyjmuje dowolny ciąg oprócz . W przeciwnym razie istnieje bramka taka że jest tautologiczna. Tak więc każda instancja OPSAT z jest łatwa; i podobne uwagi odnoszą się do .G LUB G ∈ G G ( x , y )sol LUB G ∈ G ⟹LUB ( x , y ) LUB C LUB x ∈ 0 ∗ G ∈ G { G , ORG ( x , y)⟹LUB( x , y) LUB do LUB x ∈ 0∗ G ∈ G } LUB ∈ G NAND ∈ G{ G , OR } LUB ∈ G NAND ∈ G.
Bramy podobne do implikacji. Weźmy pod uwagę bramkę , która wyprowadza zero, tylko jeśli . W dalszej części podobna analiza będzie stosowana dla bramki . Rozważ dowolny ciąg . Jeśli kończy się na , na podciągi w postaci ; na każdym takim , rekurencyjnie stosujemy od prawej do lewej, co daje wynik dla każdego . (Dla podłańcucha o długości 1 używamy trywialnego obwodu, tzn. Pozostawmy to wejście w spokoju.) Podobnie, jeśliG ( x , y ) = ¬ x ∨ y ( x , y ) = ( 1 , 0 ) G ′ ( x , y ) = x ∨ ¬ y x ∈ { 0 , 1 } n x 0 x w j = 1 ∗ 0 w j j = 0 ∗ 1 G w jG ( x , y) = ¬ x ∨ y ( x , y) = ( 1 , 0 ) sol′( x , y) = X ∨ Ź r
x ∈ { 0 , 1 }n x 0 x wjot= 1∗0 wjot G 0 w j x 1 x wsol 0 wjot x kończy się na , rozkłada na podciągi postaci i rekurencyjnie stosuje od lewej do prawej na każdym , co daje wynik dla każdego . W ten sposób możemy zredukować problem do budowy obwodów, które są spełnione albo o albo , gdzie jest liczbą podciągów lub . W przypadku możemy zaakceptować użycie bramek poprzez rekurencyjne stosowanie od lewej do prawej. To po prostu opuszcza sprawę1 x wjot=0∗1 G wj 1 w j 0 m 1 m1 wj 0m 1m m 1 ∗ 0 0 ∗ 1 m ⩾ 2 G G m = 1 x ∈ 1 ∗ 0 x = 1 ∗ 0 G 1 ∗ 0 0 G H ∈ G H ( 1 , 0 ) = 1 { G , Hm 1∗0 0∗1 m⩾2 G G m=1 , dla których problematycznym przypadkiem są dane wejściowe . Dla , każdy obwód składający się tylko z bramek da tylko krótsze łańcuchy w postaci , ostatecznie dając łańcuch jednobitowy : tak, że żaden obwód bramek może być spełniony przez to wejście. Jeśli istnieje również bramka dla której , to jest tautologiczna; lub, jeśli istnieje bramka dla której , możemy zmniejszyć ciągi znaków o postacix∈1∗0
x=1∗0 G 1∗0 0 G H∈G H(1,0)=1 } H ∈ G H ( 1 , 1 ) = 0 11 ∗ 0 ( 1 ∗ 0 ) ∗ H x x ∈ 1 ∗ 0{G,H} H∈G H(1,1)=0 11∗0 do ciągów formy , przez zastosowanie do pierwszych dwóch bitów . W przeciwnym razie nie można zbudować obwodu, który akceptuje .
Zatem dla każdego zestawu bramek G, który zawiera bramę implikacyjną, OPSAT jest łatwy.(1∗0)∗ H x x∈1∗0
G
Negacje prognoz. Rozważmy bramki ¬ π 1 ( x , y ) = ¬ x i . Uważamy , analiza z jest podobna. Własnych, może przyjąć dowolny łańcuch znaków dla przez redukcję końcowego bity do jednego kawałka, a następnie zastosowanie ; i podobnie może przyjąć dla poprzez zmniejszenie końcowego¬π1(x,y)=¬x ¬ π 2 ( x , y ) = ¬ y ¬ π 1 ¬ π 2 ¬ π 1 0 ( 0 | 1 ) n - 1 n ⩾ 2 n - 1 ¬ π 1 1 ( 0 | 1 ) n - 1¬π2(x,y)=¬y ¬π1 ¬π2 ¬π1 0(0|1)n−1 n⩾2 n−1 ¬π1 1(0|1)n−1 n ⩾ 3 n - 2 ¬ π 1 ( ¬ π 1 (n⩾3 n−2 bitów na pojedynczy bit, a następnie zastosowanie obwodu . Jedynymi wejściami, których obwody nie mogą zaakceptować, są wtedy lub ; ustalenie, czy jakakolwiek dodatkowa bramka je akceptuje, jest banalne. Tak więc OPSAT jest łatwy do negacji projekcji.x 1 , x 2 ) , x 3 ) ¬ π 1 10 11¬π1(¬π1(x1,x2),x3) ¬π1 10 11
RÓWNOŚĆ I RÓWNOŚĆ . Rozważ bramę . Zestaw bramek oczywiście może być spełniony tylko przez ciągi o nieparzystej liczbie 1s; rozważamy korzyści wynikające z dodania dowolnej innej bramy.PARITY ( x , y ) = ( x ∨ ¬ y ) ∧ ( ¬ x ∨ y ) G = { PARITY } x ∈ { 0 , 1 } nPARITY(x,y)=(x∨¬y)∧(¬x∨y) G={PARITY} x∈{0,1}n
Tak więc OPSAT jest łatwy dla każdego matematycznego zawierającego . Podobna analiza ma zastosowanie do bramki jak do bramki : ponieważ , obwody o bramy w zasadzie liczyć parzystości liczby S na wejściu. Możemy wtedy zredukować analizę dla do analizy , wymieniając i .G PARITY EQUAL PARITY EQUAL ( x , y ) = ¬ PARITY ( x , y ) = ¬ PARITY ( ¬ x , ¬ y ) EQUAL 0
EQUAL PARITY 0 1
Bramki projekcyjne. Bramy i , wzięte samodzielnie, mogą budować tylko obwody, które akceptują odpowiednio łańcuchy rozpoczynające się lub kończące na . Rozważ efekt powiększenia bramki dowolną inną bramą (podobna analiza dotyczy ):π 1 ( x , y ) = x π 2 ( x , y ) = y 1 π 1 π 2
Tak więc dla każdej innej bramki, którą możemy uzupełnić (lub ), uzyskujemy albo zestaw tautologiczny, nie uzyskujemy żadnej dodatkowej mocy akceptującej tylko na (lub ), lub możemy zredukować do wcześniejszego łatwego przypadku OPSAT . Wówczas dowolne wystąpienie OPSAT z lub jest łatwe.π 1 π 2 π 1 π 2 π 1 ∈ G π 2 ∈ G
Bramy z funkcją delta. Rozważmy dwubitowe bramki, dla których istnieje tylko jedno wejście, które je spełnia: , , , i . Obwody wykonane tylko za pomocą bramek mogą zaakceptować tylko ciąg : uzupełnienie ich dowolną inną bramką z funkcją delta pozwala im symulować albo , , albo , które są rozwiązanymi przypadkami; podobne uwagi dotyczą . Zestawu bramek można również użyć do symulacjiORAZ NOR G 10 ( x , y ) = x ∧ ¬ y G 01 ( x , y ) = ¬ x ∧ y ORAZ 1 ∗ RÓWNY π 1 π 2 NOR { G 01 , G 10 } PARITY G 10 G 01 Z ( xbrama. Możemy zatem skupić się na bramce lub , ewentualnie uzupełnionej bramką . Koncentrujemy się na , przy czym przypadek jest podobny. Obwody wykonane z samego można zbudować tak, aby akceptowały , z wyjątkiem ciągu , poprzez zastosowanie dowolnego obwodu do końcowych bitów, a następnie zastosowanie obwodu . Oczywiście łańcuch nie może zostać zaakceptowany przez lub ; i możemy indukcyjnie pokazać, że każdy , y ) = 0 G 10 G 01
G 10 1 ( 0 | 1 ) n - 1 11 n - 2 G 10 ( x 1 , G 10 ( x 2 , x 3 ) ) 11 G 10 Z G 10 1 Z G 10 x ∈ 1 ( 0 | 10 | 11 ) ( 0 | 1 ) ∗obwód przyjmujący ciąg musi mieć pośrednie wyniki bramek w skrajnej lewej gałęzi, z których wszystkie dają , aż do samego lewego skrajnego wejścia. Dodanie bramek nie daje żadnych dodatkowych korzyści . Dlatego obwody akceptują tylko .
Wreszcie obwody złożone tylko z bramek nie przyjmują żadnych sygnałów wejściowych.Z
Ponieważ każda brama prowadzi do dobrze zdefiniowanego i na ogół dość dużej klasy wejść, które przyjmuje z dodatkowymi bram tendencję do bagatelizowania problemu, okazuje się, że 2-TREE-OPSAT jest w P .
źródło