Czy problem znalezienia operatorów spełniających listę zmiennych boolowskich NP jest kompletny?

11

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 41 op1 3 op2 7 op3 op4

DSounders
źródło
2
Tak więc, jeśli dobrze zrozumiałem, wiesz, że formuła jest zadowalająca i chcesz poznać przypisanie operatorów boolowskich. Po prostu przypisz operator do wszystkich „zmiennych operatora” i gotowe. Nie wiem o drugim problemie, ale wygląda interesująco.
George,
3
@GeorgeB: Nie sądzę, że to rozwiązanie jest poprawne. Co się stanie, jeśli wszystkie wartości logiczne zostaną ustawione na false? To pytanie jest interesujące, ale może wymagać trochę pracy. Z jakiego zestawu operatorów logicznych wybieramy? Prawdopodobnie masz na myśli interesujący podzbiór binarnych operatorów boolowskich takich jak . Jeśli uwzględnisz wszystkie binarne operatory logiczne, problem jest trywialny - po prostu wybierz stałą mapę na „prawda”. { , , }{,,}
Huck Bennett,
1
Jak powiedział Huck, wybierz dla wszystkich . Jeśli jednak ograniczysz operatorów do określonego zestawu, pytanie będzie bardziej interesujące. Podobnie w przypadku arytmetycznym. x o p i y = 1 ixopiy=1i
Kaveh
wygląda na to, że może mieć pewne połączenie z QBF lub być może zredukowane do niego. prawdopodobnie można zbudować QBF, który po rozwiązaniu daje operatorom. dobrze? przy szybkiej inspekcji wygląda na to, że może to być Pspace complete ... musisz także określić pierwszeństwo, jeśli nie ma nawiasów. I wyższy niż OR? problem wydaje się bardziej naturalny, być może, gdy można zdefiniować nawiasy / grupy.
vzn
@GeorgeB. Przepraszam, że nie wyjaśniłem tego. Ocena wyrażenia logicznego może być dowolną wartością logiczną, 0 lub 1.
DSounders

Odpowiedzi:

10

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 3o p n - 1 s n = 0 . s1 op1 s2 op2 s3 op3 opn1 sn=0

Jeśli istnieje rozwiązanie, tworzymy dwa zestawy:

S 1 = { s 1 } { s i | o p i - 1 = + }S1={s1}{si|opi1=+}

S 2 = { s i | o p i - 1 = - }S2={si|opi1=}

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.

SamM
źródło
1
Myślę, że twój dowód można dość łatwo dostosować do przypadku × / ÷ , po prostu ustaw problem docelowy na s 1s n = 1 . Następnie rozwiązanie sugeruje, że mianownik jest taki sam jak licznik (zakładając, że s i > 0 dla wszystkich i ). Oczywiście nie daje to przypadku czterech operatorów, ale wtedy musielibyśmy również obsłużyć kolejność operacji. ×/÷s1sn=1si>0i
Luke Mathieson,
Dzięki, @Sam i Luke. Co się stanie, jeśli połączymy wszystkich czterech operatorów? Intuicyjne posiadanie większej liczby operatorów tylko skomplikuje problem, ale nie widzę bezpośredniego dowodu.
DSounders
Wciąż myślę o wszystkich czterech. Możemy również łatwo uzyskać + / ÷ , ale to wciąż tylko dwa na raz. +/÷
Luke Mathieson
1
Również odniesienie do (silnego) N P -completeness partycji produktu: „«Partycja Produkt»i związane z nimi problemy szeregowania i niezawodności systemów: Złożoność obliczeniowa i przybliżenie” sciencedirect.com/science/article/pii/S0377221710003905NP
Luke Mathieson
4

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:

2-TREE-OPSAT. Biorąc pod uwagę wejście x { 0 , 1 } n dla n 2 i zestaw bramek G składający się z 2-wejściowych bramek z jednym wyjściem, czy istnieje obwód C składający się z bramek w G, który przyjmuje x , to znaczy, który jest zadowolony, gdy podano dane wejściowe x (odwzorowanie bitów x na liście w obwodzie C w kolejności)?x{0,1}nn2GCG xxxC

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:Cxn1nOPSAT ; 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}01

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

LUB( x , y)( I( x , y)PARYTET( x , y) )
solG G{ OR , NAND }1: mówimy, że takie zestawy bram są tautologiczne .

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 0sol10

  1. 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) = 1dodox

  2. 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 )solLUBG GLUB ( x , y ) LUB C LUB x 0 G G { G , ORG ( x , y)LUB( x , y)LUBdoLUBx 0G G } LUBG NANDG{ G , OR }LUB GNAND G.

  3. 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 }nx0xwjot= 10wjot G 0 w j x 1 x wsol0wjotx 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ę1xwjot=01Gwj 1 w j 0 m 1 m1wj0m1m 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 , Hm1001m2GGm=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 postacix10

    x=10G100GHGH(1,0)=1} H G H ( 1 , 1 ) = 0 11 0 ( 1 0 ) H x x 1 0{G,H}HGH(1,1)=0110do 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.(10)Hxx10

    G

  4. 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¬π10(0|1)n1n2n1¬π11(0|1)n1 n 3 n - 2 ¬ π 1 ( ¬ π 1 (n3n2bitó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)¬π11011

  5. 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)(¬xy)G={PARITY}x{0,1}n

    • Każdy zestaw bramek, który zawiera zarówno i lub może symulować obwody zawierające odpowiednio lub dla stałych wejść, które są łatwe przypadki OPSAT .RODZAJ I NOR ( x , y ) = ¬ ( x y ) LUB NANDPARITYANDNOR(x,y)=¬(xy)ORNAND
    • Można lub do symulacji lub na dwubitowych podciągach o parzystej parzystości, abyśmy mogli zmniejszyć te zestawy bram bramy i do poprzedniego przypadku.π 1 ( x , y ) = x π 2 ( x , y ) = y AND NOR PARITYπ1(x,y)=xπ2(x,y)=yANDNORPARITY
    • PARITY EQUAL = ¬ PARITYPARITY wraz z jest tautologią.EQUAL=¬PARITY
    • Jeśli uzupełnimy bramką , możemy zaakceptować dowolny ciąg parzystości z wyjątkiem , stosując do -substring z i stosując obwód do reszty. Podobnie wraz z może zaakceptować dowolny ciąg oprócz tych o postaci . Uzupełnienie zarówno i pozwala nam budować obwody, które akceptują wszystkie wejścia oprócz iPARITY G 01 = ¬ x y x ( 11PARITYG01=¬xy ) 0 G 01 01 x PARITY PARITY G 10 = x ¬ y x 0 ( 11 ) PARITY G 01x(11)0G0101xPARITYPARITYG10=x¬y G 10 x 0 x = 11 .
    • Wreszcie, jeśli uzupełnimy stałą bramką , możemy zaakceptować dowolne dane wejściowe z wyjątkiem lub przez zastosowanie bramki do podłańcuch lub , redukujący do nieparzystej wielkości parzystości.PARITY Z ( x , y ) = 0 x ( 11 ) x0 G 01 10

    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

  6. 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

    • Zezwolenie na i pozwala na zbudowanie obwodu „selekcyjnego”, który po prostu wysyła dowolny bit z wejścia; mogą one przyjmować dowolne , a uzupełnienie ich dowolną bramką dla której umożliwia zbudowanie satysfakcjonującego obwodu dla dowolnego .π 1 π 2 x 0 n G G ( 0 , 0 ) = 1 x
    • Jeśli uzupełnimy albo albo , możemy symulować albo albo implikacyjną bramę dla stałych danych wejściowych; OPSAT został rozwiązany dla obu tych przypadków.π 1 NOR G 01 = ¬ x y LUB
    • Jeśli uzupełnimy albo , , stałą bramką lub dowolną ich kombinacją, nie otrzymamy żadnej dodatkowej mocy akceptującej, więc nadal akceptuje tylko ciągi rozpoczynające się od .π 1 AND G 10 = x ¬ y Z ( x , y ) = 0 1

    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 π 1G π 2G

  7. 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 .

  8. 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 .

Niel de Beaudrap
źródło
1
@DSounders: w odniesieniu do ostatniej zmiany problemu w celu ustalenia, czy istnieje obwód C, który odwzorowuje x na jakąś wartość docelową b { 0 , 1 } , a nie tylko w specjalnym przypadku b = 1 , ta sama analiza jak w moja obecna odpowiedź wciąż wystarcza, aby pokazać, że problem dotyczy P ; zmieniają się tylko role bram. Na przykład, zamieniając pożądane wyniki 0 i 1 , skutecznie wymieniamy role AND i OR , NAND i NOR , podobne do implikacji bramy z innymi funkcjami delta itp.
Niel de Beaudrap,