Hierarchische Sortierstrategien zur Vermeidung von Permutationen mit Mustern?

8

Für eine Klasse von Permutationen können wir nicht erwarten, die Permutationen von mit weniger als Vergleichen zu sortieren , wobei gemäß Konvention .C.C.Ö(Log|C.n|)C.n: =C.S.n

Insbesondere wenn durch Untermuster geschlossen wird, folgt nach dem Marcus-Tardos-Theorem (verfeinert von J. Fox), dass wobei die Stanley-Wilf-Konstante von . Dies führt zu folgender Frage: Ist es möglich, eine solche Klasse mit höchstens -Vergleichen zu sortieren ? Diese Frage ist eine Verstärkung von Frage 1 in der Arbeit ' Schnelle Sortierung und Mustervermeidung von Permutationen ' von D. Arthur.C.|C.n|C.nC.C.Ö(nLogC.)

Es scheint möglich zu sein, eine solche Sortierstrategie durch einen Binärbaum darzustellen, der im Wesentlichen einen "unausgeglichenen" Zusammenführungssortieralgorithmus imitieren würde. Hier ist die Idee: Bei einer Permutation würden wir nach einem Baum suchen, der durch die Punkte von , so dass für jeden Knoten von die 'Überlappung' zwischen dem Zwei untergeordnete Teilbäume wären (entweder im schlimmsten Fall oder im Durchschnitt). Ich vermute jedoch, dass eine komplexere Struktur erforderlich ist, um dieses Problem zu lösen. sollte es eine positive Lösung zulassen.πT.ππuT.πÖ(LogC.)

NisaiVloot
quelle
2
Was meinst du mit "durch Untermuster geschlossen"? Unterscheidet sich dies von der Vermeidung eines festen Musters?
Sasho Nikolov
Unter Bezugnahme auf Stanley-Wilf scheint dies genau das zu sein, was beabsichtigt ist.
Suresh Venkat
1
Eine verwandte Frage: Wann ist es möglich, eine Klasse von Permutationen darzustellen, wobei ein Muster in n log C- Bits vermieden wird? βnLogC.
Suresh Venkat
1
@SashoNikolov: Ich meinte die Schließung unter der "Beteiligungs" -Beziehung, wie sie allgemein genannt wird. Dies entspricht der Vermeidung eines (möglicherweise unendlichen) Satzes von Mustern.
NisaiVloot
@SureshVenkat: Es ist möglich, dass bestimmte Klassen eine baum- oder wortbasierte Darstellung zulassen. Die Lösung des allgemeinen Falls mit einer Polyzeitdarstellung ist meines Wissens offen. In der Sprache der kombinatorischen Aufzählung ist dies ein Ranking- / Unranging- Problem, während das damit verbundene Listungsproblem durch Generieren von Bäumen effizient gelöst werden kann.
NisaiVloot

Antworten:

2

Ein anderer Ansatz ist die Aufzählungscodierung. Betrachten Sie zum Beispiel Vermeiden von Permutationen, von denen es C n gibt . Die Anzahl der 231- vermeidenden Permutationen mit π - 1 ( n ) = i ist C i - 1 C n - i , und dies ergibt einen rekursiven Algorithmus zum Codieren von 231- vermeidenden Permutationen: Teilen Sie das Intervall [ 0 , C n ) in n Intervalle I 1 , ,231C.n231π- -1(n)=ichC.ich- -1C.n- -ich231[0,C.n)n der Längen C i C n - i - 1 für i = 1 , , n willkürlich. Beachten Sie bei einer Permutation mit π - 1 ( n ) = i , dass π | 1 , , i - 1 ist eine 231- vermeidende Permutation von { 1 , , i - 1 } und π | ichich1,,ichnC.ichC.n- -ich- -1ich=1,,nπ- -1(n)=ichπ|1,,ich- -1231{1,,i1} ist eine231-vermeidende Permutation von{i+1,,n}. Codieren Sie rekursiv den ersten Teil in[0, C i - 1 )und den zweiten Teil in[0, C n - i )und setzen Sie beide Codierungen zusammen, umπin I i zu codieren.π|i+1,,n231{i+1,,n}[0,Ci1)[0,Cni)πIi

Für jede andere , τ -avoiding Permutationen bijektiv auf verwandte werden 231 -avoiding Permutationen durch die inverse Einnahme, zur Ergänzung der Elemente, Wende- oder Simion-Schmidt Bijektion zwischen 132 - und 123 -avoiding Permutationen. Diese Codierung gilt also für alle Muster der Länge 3 .τS3τ2311321233

Yuval Filmus
quelle