Bir listeyi sıralamak için minimum aktarma sayısı


15

Kendi sıralama algoritmamı tasarlamaya çalışırken, karşılaştırabileceğim en uygun ölçütü arıyorum. Elementler sıralanmamış bir sipariş için A ve sıralanmış bir sipariş B , almak transpozisyonlarının optimum sayısını hesaplamak için etkili bir yolu nedir A için B ?

Bir aktarma, listedeki 2 öğenin konumunu değiştirme olarak tanımlanır, örneğin

1 2 4 3

yapmak için bir transpozisyon (transpozisyon 4 ve 3) vardır

1 2 3 4

Gibi bir şey

1 7 2 5 9 6

4 transpozisyon gerektirir (7, 2), (7, 6), (6,5), (9, 7)

Güncelleme (9/7/11): soru, bitişik olmayan exchange'lere başvurmak için "takas" yerine "transpozisyon" kullanacak şekilde değiştirildi.


sadece komşularınızı değiştirebilirseniz ne olur? minimum takas sayısını nasıl bulabilirim?

Yanıtlar:


23

Yalnızca permütasyon dikkatli davranmalıyız elemanları, o zaman tam olarak gerekecektir n - c ( π ) swapları, c ( π ) devir sayısının ise ayrık döngüsü ayrışma ait tt . Bu mesafe, transforme iki değişmez olduğundan, π içine σ (ya da bir içine B tersine, ya da) gerektirir , n - C ( σ - 1 ∘ π ) gibi hareket eder.nn−c(π)c(π)ππσABn−c(σ−1∘π)


Uzun zaman önce bu oylamaya rağmen, bugün sadece tıkladı. Rubik küpü gibi, değil mi?
— sova

11

Takas mesafesi ayrıca Öklid uzayına izometrik olarak gömülebilir. Her bir dizi s, bir matris oluşturmak burada M i j = 1 ise ı daha önce ortaya çıkar j ve aksi takdirde sıfırdır. Sonra Frobenius mesafesi ‖ M (M(s)Mij=1ij takas mesafesi d ( s , s ′ ) 'dir . (Graham Cormode'un slaytlarından). Anthony'nin cevabı kadar zarif değil, ama hesaplaması oldukça kolay.‖M(s)−M(s′)‖2d(s,s′)

Güncelleme: lütfen Oleksandr'in yorumlarına bakın


Bana öyle geliyor ki Graham'ın sunumunda Frobenius normu ( ‖ A ‖ F ) değil, spektral norm ( ) anlamına geliyorlar . ‖A‖2‖A‖F
— Oleksandr Bondarenko

tek yapmanız gereken farklılıkları saymak olsa da, frobenius normunun karesi doğru çalışmalı mı?
— Suresh Venkat

Tabii ki 0-1 matrisler için Hamming mesafesi
— Suresh Venkat

Frobenius normu karesi ile Hamming mesafesi arasındaki eşitlik konusunda haklısınız. Hamming mesafesinin bölünmesini eklemek istiyorum2 takas mesafesine eşittir. Ancak soru, aktarma mesafesi ile ilgilidir ("Bir takas, listedeki 2 öğenin konumunu değiştirmek olarak tanımlanır") ve takas mesafesi ile ilgili değildi. Spektral norm ile ilgili olan şey, karesinin takas mesafesine eşit olmasıdır.
— Oleksandr Bondarenko

Oleksandr: Diyelim ki "takas" kelimesini "iki bitişik element değişimi" olarak yorumluyorsunuz?
— Anthony Labarre
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.