Biarkan menyatakan himpunan { 1 , . . . , n } dan C (n, k) menunjukkan himpunan semua k- kombinasi elemen dari [ n ] tanpa pengulangan. Misalkan p = p 1 p 2 . . . p k menjadi k -tupel dalam C ( n , k ) . Kami mengatakan bahwa permutasi π : [ n ] → [ n dari himpunan [ n ] menghindari p jika tidak ada k-tupel bilangan bulat i 1 < i 2 < . . . < i k sedemikian rupa sehingga π ( i 1 ) = p 1 ,
Sebagai contoh, jika maka permutasi 12453 menghindari 134 sebagai urutan, sedangkan permutasi 1 2 3 5 4 tidak.
Pertanyaan: Biarkan menjadi konstanta. Mengingat satu set S ⊂ C ( n , k ) dari k -tuples, menemukan permutasi π : [ n ] → [ n ] yang menghindari setiap k -tuple di S .
- Apakah ada algoritma untuk masalah ini yang jumlahnya banyak dalam dan n ? Di sini n diberikan dalam unary. Algoritma yang berjalan dalam waktu n f ( k ) | P | g ( k ) akan baik-baik saja.
- Atau apakah ini masalah NP-complete?
Referensi apa pun untuk masalah ini, atau saran algoritme dipersilahkan. Perhatikan bahwa gagasan permutasi yang menghindari urutan yang didefinisikan di atas tidak sama dengan gagasan permutasi yang menghindari pola di mana hanya urutan relatif unsur-unsur yang penting, dan yang tampaknya dipelajari dengan baik dalam kombinatorik.
sumber
Jawaban:
Ini NP-lengkap untuk dengan pengurangan dari antara . Dalam masalah ketersinggungan, satu diberikan n item untuk dipesan secara total, dan kendala pada beberapa item lipat tiga yang memaksa satu item dari triple berada di antara dua item lainnya. Dalam masalah Anda, kendala yang sama dapat dipaksakan dengan melarang semua berikutnya pada tiga elemen yang tidak menempatkan elemen tengah di tengah. Namun, ketersamaan diketahui sebagai NP-complete: lihat J. Opatrny, Masalah pemesanan total, SIAM J. Comput. , 8 (1979), hlm. 111–114.k=3 n
sumber