Algoritma yang efisien untuk adanya permutasi dengan urutan perbedaan?


12

Pertanyaan ini dimotivasi oleh postingan ini, Dapatkah Anda mengidentifikasi jumlah dari dua permutasi dalam waktu polinomial? , dan minat saya pada sifat komputasi permutasi.

Sebuah perbedaan urutan dari permutasi π nomor 1 , 2 , ... n + 1 dibentuk dengan menemukan perbedaan antara setiap dua angka yang berdekatan dalam permutasi π . Dengan kata lain, a i = | π ( i + 1 ) - π ( i ) | untuk 1 i na1,a2,anπ1,2,n+1πai=|π(i+1)π(i)|1in

Sebagai contoh, urutan adalah urutan perbedaan permutasi 2 3 4 1 . Sementara, urutan 2 , 2 , 3 dan 3 , 1 , 2 bukanlah urutan perbedaan dari permutasi angka 1 , 2 , 3 , 4 .1,1,323412,2,33,1,21,2,3,4

Apakah ada algoritma yang efisien untuk menentukan apakah urutan yang diberikan adalah urutan perbedaan untuk beberapa permutasi , atau apakah itu NP-hard?π

EDIT : Kami mendapatkan masalah yang setara secara komputasi jika kami merumuskan masalah menggunakan permutasi melingkar.

EDIT2 : Lintas diposting di MathOverflow, Seberapa sulit merekonstruksi permutasi dari urutan perbedaannya?

EDIT3 Mendapat hadiah untuk sketsa bukti dan saya akan menerima jawabannya setelah mendapatkan bukti formal lengkap.

EDIT 4 : Bukti kelengkapan -Marzio yang bagus telah dipublikasikan dalam Electronic Journal of Combinatorics .NP


1
Mungkin komentar sepele lainnya (tetapi lebih banyak suara?) Adalah bahwa jika adalah permutasi dari [ 1 .. n ] (semua nilai berbeda) maka masalahnya adalah untuk memverifikasi bahwa urutannya adalah pelabelan anggun dari garis n + 1 node yang dipecahkan dalam waktu polinomial. ai[1..n]n+1
Marzio De Biasi

2
@MarzioDeBiasi Sepertinya Anda berbagi hasrat saya untuk masalah permutasi. Saya harap saya mendapatkan masalah permutasi yang paling menarik secara komputasi :)
Mohammad Al-Turkistany 5'13

2
:-) ... Saya lebih suka mengatakan bahwa komentar saya datang langsung dari jam yang saya habiskan dengan sia-sia pada masalah pelabelan pohon anggun ... namun saya punya ide kabur dari kemungkinan pengurangan NP-lengkap untuk masalah Anda; jika saya berhasil memformalkannya, saya akan mengirim jawaban.
Marzio De Biasi

@MarzioDeBiasi Saya menemukan komentar menarik ini oleh Shor yang menyatakan bahwa masalah Anda, Penjadwalan pekerjaan dengan masalah bottleneck , setara dengan kasus khusus masalah saya. Berikut adalah komentar Shor: jika , masalahnya setara dengan menemukan permutasi 1 ... 2 N sehingga i 2 a - 1 - i 2 a = A iK=2N1...2Ni2a1i2a=Ai . Ini memberikan bukti lain dari -completeness dari masalah saya. NP
Mohammad Al-Turkistany

Jawaban:


10

Ini adalah sketsa pengurangan yang mungkin untuk membuktikan bahwa NP-hard:

ai...11111...

21112112111

 a_i seq.:     1 1 1  2  1 1  2   1  1  1  forces
 permutation: 1 2 3 4 _ 6 7 8 _ 10 11 12 13 (or its decreasing equivalent)
 (from 4 you cannot go back to 2,
 from 8 you cannot go back to 6)

Lubang-lubang harus diisi dengan sisa permutasi.

3) menggunakan 1SEQ cukup besar, diikuti oleh 1SEQ dengan beberapa lubang, diikuti oleh 1SEQ besar Anda dapat membangun garis paksa ;

4) menyusun banyak garis paksa Anda dapat membangun grafik kotak permutasi di mana node sesuai dengan angka yang hilang dalam permutasi paksa yang mendasarinya.

Misalnya urutan 1111111112111111111112111111111, memaksa grafik kotak permutasi 5x7 berikut:

29 30 31 32 33 34 35
22 23 24    26 27 28
15 16 17 18 19 20 21
 8  9 10    12 13 14   
 1  2  3  4  5  6  7

w×wa,b|ab|=kw

G

GG

7) Anda dapat mengisi semua lubang (yaitu menyelesaikan permutasi) jika dan hanya jika grafik kotak asli memiliki siklus Hamiltonian

EDIT: 27 Juli 2013

Saya mencoba untuk secara resmi membuktikan kelengkapan NP masalah: Saya memperkenalkan masalah baru (masalah Crazy Frog ) yaitu NPC. Permutasi Rekonstruksi dari masalah Perbedaan setara dengan "1-D Crazy Frog masalah tanpa sel diblokir" (yang juga NPC).

Untuk detail pengurangan lihat pertanyaan saya / jawaban pada cstheory "Dua varian jalur Hamiltonian" atau unduh konsep bukti "Ketika katak bertemu permutasi" :)) (saya masih memeriksa / menyelesaikannya)


Bagus, saya yakin ini akan mengarah pada solusi, pemilihan gadget pasti dapat direalisasikan.
domotorp

@domotorp: Saya mempostingnya (saya akan memposting detail bagian pilih / sinkronisasi di hari-hari berikutnya); mungkin berisi kesalahan yang tidak saya lihat, namun saya bertaruh $ 1 bahwa seluruh pengurangan bisa sangat disederhanakan :-)
Marzio De Biasi

@MarzioDeBiasi Visualisasi yang bagus. Tampaknya Anda berada di jalur yang benar. Bisakah Anda memposting jawaban Anda di MathOverflow karena ada minat yang besar terhadap masalah ini?
Mohammad Al-Turkistany

@MarzioDeBiasi Bisakah Anda memposting jawaban akhir Anda (formal) sebelum hadiahnya berakhir?
Mohammad Al-Turkistany

@ MohammadAl-Turkistany: Saya baru saja kembali dari perjalanan, saya akan mencoba memformalkan (dan memeriksa dengan CSP) gadget di hari-hari berikutnya.
Marzio De Biasi
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.