Czy trudno jest znaleźć optymalne łańcuchy dodatków?


20

Łańcuch dodatek jest ciągiem liczb naturalnych , gdzie x 1 = 1 , a każdy wskaźnik i 2 mamy x ı = x j + x k kilku wskaźników 1 j , k < i . Długość łańcucha addycji N ; docelowej sieci addycji x(x1,x2,,xn)x1=1i2xi=xj+xk1j,k<in .xn

Co wiadomo na temat złożoności następującego problemu: Biorąc pod uwagę liczbę całkowitą , jaka jest długość najkrótszego łańcucha dodawania, którego celem jest N ? Czy to trudne NP?NN

Wikipedia wskazuje na artykuł Downeya, Leonga i Sethiego z 1981 r., Który dowodzi, że następujący pokrewny problem jest trudny do NP: biorąc pod uwagę liczbę całkowitą, jaka jest minimalna długość łańcucha dodatków obejmującego cały zestaw? Kilku autorów najwyraźniej twierdzi, że ten dokument dowodzi, że problem z jednym celem jest trudny do NP, ale tak nie jest.


2
dwa pytania: Zakładam, że podano w formie binarnej i czy j i k mogą być identyczne (jeśli tak, to zawsze istnieje sekwencja logarytmu długości n poprzez rozszerzenie binarne)Njk
Suresh Venkat

Załóżmy, że podano w postaci binarnej, chociaż nie znam algorytmu wieloczasowego, nawet gdy N jest jednoargumentowy. I tak, dodawanie do siebie jest dozwolone - w rzeczywistości wymagane do zejścia z ziemi. Najkrótszy łańcuch dla 128 to (1, 2, 4, 8, 16, 32, 64, 128). NN
Jeffε

Odpowiedzi:


11

Problem jest wspomniany jako otwarty w pracy doktorskiej Erica Lehmana „Algorytmy aproksymacyjne do kompresji danych opartych na gramatyce” w 2002 r. Z p35 pracy:

„Niemniej jednak dokładne rozwiązanie problemu łańcucha addycyjnego pozostaje dziwnie nieuchwytne. Metoda M-ary działa w czasie polilogu (n) i daje przybliżenie 1 + o (1). Jednakże, nawet jeśli wykładniczo więcej czasu jest dozwolone, poli ( n) nie jest znany dokładny algorytm. ”



1

Chciałbym udokumentować pewne częściowe postępy - na pozór obiecujące - w kierunku algorytmu wielomianowego czasu. AKTUALIZACJA : Dodano pewne szczegóły dotyczące usterki wskazanej przez @David (dzięki!).

Podejście polega na zredukowaniu tego do wystąpienia CSP MIN-ONES EVEN-3 (MOEC), który okazuje się być rozwiązaniem problemu wielomianowego. Dowód redukcji jest trochę niewyraźny, ale mam nadzieję, że istnieje!

Instancja MOEC to rodzina -sized podzbiorów wszechświecie zmiennych i liczb całkowitych k . Pytanie brzmi, czy istnieje zadowalające przypisanie wagi co najwyżej k , gdzie przypisanie jest funkcją wszechświata do { 0 , 1 } , waga przypisania jest liczbą zmiennych, które przypisuje jednej, a przypisanie jest spełniające, jeśli dla każdego podzbioru zmiennych { x , y , z } przypisanie (powiedzmy f ) ma właściwość, która:3kk{0,1}{x,y,z}f

.f(x)+f(y)+f(z)=0(mod  2)

Możesz to sobie wyobrazić jako 3-SAT z innym pojęciem satysfakcji - wybierz brak lub wybierz dwa. Będę trochę rozluźniony w związku z wystąpieniem MOEC, ponieważ pozwolę, oprócz zwykłych podzbiorów, implikacji, rozbieżności długości drugiej i ograniczenia ( x = 1 ) . Wierzę, że te proste dodatki utrzymają problem wielomianowy czas.3(x=1)

Powiedzmy, że zmniejszamy problem łańcucha dodatków dla liczby . Zmienna ustawiona dla tej redukcji jest następująca:n

Dla każdego zmienna N i . I ponownie zapisu zmiennej N n a N . Dla każdej pary i , j takiej, że 1 i , j k , wprowadź zmienne P i j i Q i j . 1inNiNnNi,j1i,jkPijQij

Wprowadź następujące podzbiory dla każdego tak aby k = i + j :i,j,kk=i+j

{Pij,Qij,Nk}

i następujące implikacje:

i P i jN jPijNiPijNj

oraz następujące ograniczenia:

.(N1=1),(N=1)

Wreszcie, musimy dodać ograniczenia, które zapewnią, że przynajmniej jedna z zmiennych zostanie wybrana, gdy przypisana zostanie „odpowiadająca” zmienna N (wybacz nadużycie notacji). Można tego dokonać dodając zwykłe ograniczenie OR do wszystkich P i j, tak że i + j sumuje się do danej zmiennej N. Musimy jednak znaleźć sposób na ponowne zakodowanie tego w ramach MOEC.PNPiji+jN

Pozwólcie, że nakreślę ogólny sposób powiedzenia, biorąc pod uwagę zestaw zmiennych:

,(X,l1,l2,,lt)

jak ograniczenie „jeśli przypisanie jest satysfakcjonujące i zestawy do jednego, a następnie dokładnie z L I „s musi być ustawiony na jeden przez przypisanie”mogą być kodowane ze składnią MOEC. Pamiętaj, że wystarczy to dla naszych wymagań, po prostu wprowadzamy ograniczenia:Xli

.(Nk,{Pij | i+j=k})

Kodowanie odbywa się w następujący sposób. Niech będzie ukorzenionym kompletnym drzewem binarnym na t liściach. Wprowadzenie nowej zmiennej T d ı dla wszystkich 1 d log t i 1 i l ( d ) , w których L ( d ) oznacza liczbę węzłów T X na głębokości d .TXtTdi1dlogt1iL(d)L(d)TXd

Dla każdego węzła , jeżeli p i q będą jego potomkami w drzewie, wprowadź ograniczenie EVEN-3:Tdipq

{Tdi,p,q}

Oznacza to, że jeśli zmienna odpowiadająca węzłowi jest ustawiona na true, wówczas dokładnie jedno z jej potomków również musi być ustawione na true. Teraz dodaj implikacje:

i ( d log t , j ) l j (przecinek dla przejrzystości).(XT11)(dlogt,j)lj

Ta kombinacja ograniczeń EVEN-3 i implikacji jest równoważna ograniczeniom, które chcieliśmy zakodować.

NiNNPijNiNjPij(r,s)(r,s)PQNiPij

ffNiNikNkik,jkik+jk=jfPikjkQikjk(i,j)iikjjki+j=kfQijPijki,ji+j=kQijPijNi(i,j)

ttQxxi tak powstaje w dłuższym łańcuchu, a pozostałe wypadają korzystnie. Muszę to jednak dokładnie zanotować i być może widzę rzeczy z syndromu po północy!


1
Jeśli to zadziała, wydaje się, że nadal byłby to czas wykładniczy (gdy N jest wyrażone w postaci binarnej), ponieważ liczba zmiennych jest proporcjonalna do N ^ 2, a nie polilogu (N).
David Eppstein,

N

Nie rozumiem, w jaki sposób ograniczenia, które opisujesz, wymuszają ważność rozwiązania. Co powstrzymuje cię przed ustawieniem P_ij = 0 i Q_ij = 1 dla wszystkich i + j = n, a P_ij = Q_ij = 0 dla wszystkich innych i, j?
David Eppstein,

NiPij
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.