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.nnc(π)c(π)ππσABnc(σ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 . A2AF
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.