Reicht es aus, für ein Sortiernetzwerk polynomiell viele 0-1-Sequenzen zu sortieren?


16

Das 0-1-Prinzip besagt, dass, wenn ein Sortiernetzwerk für alle 0-1-Sequenzen funktioniert, es für einen beliebigen Satz von Zahlen funktioniert. Gibt es ein so dass, wenn ein Netzwerk jede 0-1-Sequenz von S sortiert, es jede 0-1-Sequenz sortiert und die Größe von S in n polynomial ist ?S{0,1}nSn

Wenn beispielsweise aus allen Sequenzen besteht, in denen höchstens zwei Läufe (Intervalle) von Einsen vorhanden sind, gibt es ein Sortiernetzwerk N und eine Sequenz, die nicht nach N geordnet ist, wenn alle Mitglieder von S nach N geordnet sind?S2S

Antwort: Wie aus der Antwort und den Kommentaren zu sehen ist, gibt es für jede unsortierte Zeichenfolge ein Sortiernetzwerk, das jede andere Zeichenfolge sortiert. Ein einfacher Beweis dafür ist der folgende. Sei der String so, dass s i = 0 für immer i < k und s k = 1 ist . Da s unsortiert ist, sollte s k nach dem Sortieren 0 sein . Vergleiche k mit jedem i, für das s i =s=s1snsi=0i<ksk=1ssk0ki . Dann vergleiche jedes Paar ( i , j ) so, dass i k und j k oft sind. Dies lässt die ganze Zeichenfolge sortiert, außer vielleicht für s k , die für unsortiert ist s , und für bestimmte andere Zeichenfolgendie mehr 1 ‚s als s . Vergleichen Sie nun s k für i = n downto 1 mit Ausnahme der Stelle, an der s k in s stehen soll . Dies wird alles außer s sortieren.si=1(i,j)ikjksks1sski=n1skss

Update: Ich frage mich, was passiert, wenn wir die Tiefe des Netzwerks auf .O(logn)


Es scheint möglich zu sein, dass Sie die Größe des Sortiernetzwerks so einschränken müssen, dass sie kleiner als die Größe von . Könnte das Netzwerk sonst nicht einfach überprüfen, ob die Eingabe eines der Elemente von S ist und richtig handeln, wenn ja, sonst falsch handeln? SS
usul

@usul: Ich glaube nicht, dass ein Sortiernetzwerk so etwas überprüfen kann. Wie auch immer, es ist nur natürlich, mit Sortiernetzen zu arbeiten, deren Größe in polynomial ist . n
Domotorp

Antworten:


8

Es scheint nicht. Ian Parberry nimmt Bezug auf einen Artikel von Chung und Ravikumar, wo sie angeblich eine rekursive Konstruktion eines Sortiernetz geben , die jeden bitstring aber ein, und weiter ableiten , dass das Problem der Überprüfung eines Sortiernetz ist sortiert - N P abgeschlossen. Ich kann das Originalpapier nicht sofort finden, aber es entspricht mit Sicherheit (meiner) Intuition.coNP

Bearbeiten zum Hinzufügen: Es ist tatsächlich sehr einfach, ein solches Netzwerk zu finden, in dem genau eine Zeichenfolge fehlt. Die zu übersehende Zeichenfolge ist . Jetzt wollen Sie nur eine Schaltung, die die letzten n - 1 Bits sortiert, und dann die ersten n - 1 Bits. Diese Schaltung wird alles mit mindestens zwei sortiert 1 s, wird offensichtlich Art des All-Null - String, und wird jede Zeichenfolge beginnend mit sortieren 0 .(1,0,,0)n1n110


Kann das beispielhafte Sortiernetzwerk in Ihrer Antwort verallgemeinert werden, sodass Sie für eine bestimmte Zeichenfolge ein Sortiernetzwerk erstellen können, das diese Zeichenfolge falsch sortiert? Sie zeigen, wie es für eine bestimmte Saite gemacht wird, aber was ist mit anderen Saiten?
DW

Sie können dies definitiv für jede Zeichenfolge mit einer Gewichtung von oder n - 1 tun , aber ich bezweifle, dass es möglich ist, eine einzelne beliebige Bitfolge zu übersehen. 1n1
Andrew D. King

7
OK, also sehe ich nicht, wie Ihre Antwort zeigt, dass die Antwort "Nein" ist. Die Konstruktion im zweiten Absatz Ihrer Antwort impliziert keine negative Antwort auf die ursprüngliche Frage, da es nur polynomiell viele Zeichenfolgen mit der Gewichtung oder n - 1 gibt . Es scheint, dass die ganze Arbeit in Ihrer Antwort durch den Verweis im Ian Parberry-Papier erledigt wird, aber dieser Satz im Parberry-Papier ist ziemlich vage, und ohne das Chung et al-Papier zu lesen, sehe ich nicht, wie wir daraus auf die Antwort schließen können zur frage steht "nein". 1n1
DW

8
Weitere Informationen: " Starke nicht deterministische Turingreduktion - eine Technik zum Nachweis der Unlösbarkeit " (Chung & Ravikumar) führt Folgendes als Lemma 2.1 auf: Bei einer nicht sortierten Zeichenfolge gibt es ein polynomielles Sortiernetzwerk, das alle Zeichenfolgen mit Ausnahme von x korrekt sortiert . Für den Beweis bezieht es sich auf "Über die Größe von Testsets für Sortier- und verwandte Probleme" (Chung & Ravikumar), aber ich kann anscheinend keine Kopie des letzteren Papiers finden. Dies würde in der Tat bedeuten, dass die Antwort auf diese Frage "Nein" lautet. xx
DW

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.