Przypisanie numeru


10

Biorąc pod uwagę liczb tak, że istnieje przypisanie liczb który jest permutacją taki, żeA 1A 2. . . A k k kA1A2...Aki=1kAi=k(2k+1)i1,i2,...,i2k1,2,...,2k

i1+i2A1i3+i4A2...i2k1+i2kAk

?

Nie mogę znaleźć wydajnego algorytmu, który rozwiązuje ten problem. Wydaje się, że jest to problem kombinatoryczny. Nie udało mi się znaleźć podobnego problemu z NP-Complete. Czy ten problem wygląda jak znany problem NP-Complete, czy można go rozwiązać za pomocą algorytmu wielomianowego?


Czy poczyniłeś jakieś postępy w sprawie problemu?
Yuval Filmus

Zapomniałem wspomnieć, że A1A2...Ak
gprime

Powiązany problem , również bez zadowalającej odpowiedzi. (Na pierwszy rzut oka może nie być jasne, w jaki sposób są ze sobą powiązane, ale jeśli , problem jest równoznaczny ze znalezieniem permutacji 1 2 N, więc i 2 a - 1 - i 2 a = A i .K=2N12Ni2a1i2a=Ai
Peter Shor

Odpowiedzi:


8

Ten problem jest całkowicie NP.

Załóżmy, że wszystkie j są dziwne. Wiemy zatem, że skoro i 2 j - 1 + i 2 j = A j jest nieparzysta, jeden z i 2 j - 1 i i 2 j jest parzysty, a drugi jest nieparzysty. Możemy założyć, że i 2 j - 1 jest nieparzysta, a i 2 j jest parzysta. Pozwalając π j = 1Aji2j1+i2j=Aji2j1i2ji2j1i2jiσj=1πj=12(i2j1+1), możemy pokazać, że jest to równoważne z prośbą o dwie permutacje,πiσ, liczb1ntakich, żeπj+σj=1σj=12(i2j)πσ1n.πj+σj=12(Aj+1)

Ten problem jest znany jako NP-zupełny; zobacz ten problem z cstheory.se oraz artykuł W. Yu, H. Hoogeveen i JK Lenstry, do których odwołuje się odpowiedź.


6

Oto wskazówka na początek: ponieważ suma wszystkich liczb od do 2 k wynosi dokładnie k ( 2 k + 1 ) , rozwiązanie jest możliwe tylko wtedy, gdy w rzeczywistości i 1 + i 2 = A 1 , i 3 + i 4 = A 2 i tak dalej. Tak więc biorąc pod uwagę i 1 wiemy i 2 , i tak dalej. Również 3 A j4 k - 1 .12kk(2k+1)i1+i2=A1i3+i4=A2i1i23Aj4k1


Jak więc wybrać na początek? Nie widzę rozwiązania. Ale dzięki za właściwość 3 A j4 k - 1i13Aj4k1
gprime

2
Jeśli są posortowane, wiemy, że 3 A 1 , 10 A 1 + A 2 , 21 A 1 + A 2 + A 3 i tak dalej. Czy te kryteria wraz z i A i = k ( 2 k + 1 ) wystarczą? Jeśli tak, być może istnieje prosty algorytm dla tego problemu. Ai3A110A1+A221A1+A2+A3iAi=k(2k+1)
Peter Shor

Tak, są posortowane. Spróbuję użyć tego ...
gprime

@PeterShor Musisz także wziąć pod uwagę granice z przeciwnego kierunku, tj. , i tak dalej i tak dalej. Patrząc na problem anegdotycznie, wydaje się, że prosty, zachłanny algorytm powinien odkryć rozwiązania, gdy istnieją, i zawieść dokładnie, gdy nie istnieją - ale mam problem z udowodnieniem tego. 4n1An,8n6An1+An
torquestomp

@torquestomp: Podnosisz dobry punkt. W rzeczywistości ograniczenia z jednego kierunku oznaczają także ograniczenia z drugiego, ale na pierwszy rzut oka wcale nie jest to oczywiste. Patrzyłem na podobny problem i nie mogłem wymyślić prostego algorytmu (ale dla mnie również wyglądało na to, że analog tych kryteriów był wystarczający).
Peter Shor

0

Jest to pasujący problem, dlatego można go rozwiązać za pomocą algorytmu Edmonda. Zobacz wikipedia


1
Pomysł Stackexchange polega na zadaniu pytań i odpowiedzi, które są możliwie kompletne. Czy byłbyś w stanie rozwinąć swoją odpowiedź, aby była czymś więcej niż tylko linkiem do wikipedii?
Luke Mathieson

Czy możesz rozwinąć? Nie rozumiem, jak mogę użyć tych algorytmów do rozwiązania mojego pytania.
gprime

1
Właściwie dla mnie wygląda to na specjalny przypadek dopasowania 3, który jest NP-zupełny. Nie oznacza to, że problem PO jest kompletny.
Peter Shor

Czy to może być dopasowanie dwustronne? Przyjrzę się dopasowaniu 3, aby zobaczyć, czy mogę to rozgryźć. Dzięki!
gprime
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.