Taşıma işlemleriyle mesafeyi düzenleme


13

Motivasyon: Bir yazar bir yazıyı düzenler ve düzenlemelerin net bir özetini görmek istiyorum. Araçlar benzeri tüm "fark" Sen eğer yararsız olma eğilimi hem etrafına metin hareketli (örneğin yeniden organize yapı) ve yerel düzenlemeler yapıyor. Doğru yapmak gerçekten çok mu zor?


Tanımlar: İzin verilen işlemlerin yapıldığı minimum düzenleme mesafesini bulmak istiyorum:

  • "ucuz" işlemler: tek bir karakter ekleme / değiştirme / silme (olağan Levenshtein işlemleri),

  • "pahalı": işlemler: bir alt dizeyi yeni bir konuma ( , , , dizeleri için ).abcdacbdabcd

İki ve dizesi ve ve tamsayıları verildiğinde , aşağıdaki sorunu çözmek istiyorum:xykK

  • Eğer dönüştürebilir içine en fazla kullanan ucuz operasyonları ve en fazla pahalı operasyonlar?xykK

Sorular:

  1. Bu sorunun bir adı var mı? (Sıra hizalaması bağlamında çok standart bir soru gibi geliyor.)

  2. Zor mu?

  3. Zorsa , parametre olarak ile sabit parametre izlenebilir mi?K

  4. Etkili yaklaşım algoritmaları var mı? (Örneğin, ucuz ve pahalı operasyonları olan bir çözüm mevcutsa , en fazla ucuz ve pahalı operasyonları olan bir çözüm bulun .)2k2KkK

Wikipedia'da listelenen dize metriklerine bir göz atmaya çalıştım , ancak hiçbiri doğru görünmedi.


3
For , sorun transpositions göre sıralama edilir. Bkz. Örneğin web.cs.dal.ca/~whidden/HThesis07.pdf Sorununuzla karşılaşmadım, ancak çok iyi motive olmuş görünüyor. k=0
Serge Gaspers

4
Transpozisyonlara Göre Sıralama sorununun NP sertliği 2010 yılında kanıtlanmıştır, bkz . Transpozisyonlara göre sıralama zordur .
Marzio De Biasi

3
Aktarımlar zordur, ancak ekleme ve silme işlemleri zor değildir. Pahalı bir işlemin isteğe bağlı bir alt dizenin silinmesine veya diğer dizenin herhangi bir alt dizesinin eklenmesine izin verirseniz, sorun oldukça kolay olmalıdır. Sonuçta ortaya çıkan mesafe simetrik olmaz.
Jouni Sirén

Sabit parametreli izlenebilirliği daha çok merak ediyorum. Yeni bir keşif var mı?
Yixin Cao

Yanıtlar:



4

kak+ba,b0

xa+baAA[i,j]x[1i]y[1j]AdA[i1,j]A[i1,j1]A[i,j1]Ad[i1,j]A[i,j]Ad[i,j]O(1)

xAs

O(1)xO(|x|)As[i,j1]y[j]A[i,j]As[i,j]

zy[j]zAs[i,j1]xzzzy[j]xO(|z||z|)As[i,j]A[i,j|z|1]A[i,j1]zO(1)As[i,j]O(|z|)

O(min(|x||y|2,|x|2|y|))

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.