Im Allgemeinen ist die Überprüfung, ob ein bestimmtes Vergleichsnetzwerk tatsächlich ein korrektes Sortiernetzwerk ist, ein vollständiges Co-NP-Problem. Wenn Sie dies durch Testen überprüfen möchten, müssen Sie exponentiell viele Tests versuchen.
Insbesondere gibt es Sortiernetzwerke, die alle bis auf einen Wert korrekt sortieren. Sie können also nicht hoffen, zu testen, ob das Netzwerk korrekt ist oder nicht, indem Sie ihm einfach einige Eingaben zuführen.
Eine Standardmethode besteht darin, zu testen, ob alle Eingaben, die nur aus Nullen und Einsen bestehen, korrekt sortiert werden. Wenn dies der Fall ist, werden alle Eingaben sortiert (auch diejenigen, die nicht auf Nullen und Einsen beschränkt sind). Dies erfordert jedoch exponentiell viele Tests. Darüber hinaus kann die Anzahl der Tests nicht wesentlich reduziert werden: Für Null-Eins-Eingaben kann nachgewiesen werden, dass mindestens Tests erforderlich sind, bis das Sortiernetzwerk korrekt ist.2 n - n - 12n2n- n - 1
Alternativ kann man Tests verwenden, bei denen die Eingaben Permutationen von . Dies reduziert die Anzahl der benötigten Tests etwas, aber Sie benötigen immer noch exponentiell viele Tests. Insbesondere sind Tests notwendig und ausreichend.C ( n , ⌊ n / 2 ⌋ ) - 11 , 2 , … , nC.( n , ⌊ n / 2 ⌋ ) - 1
Beweise für diese Tatsachen finden Sie in den folgenden Abhandlungen:
Zur rechnerischen Komplexität der Überprüfung des optimalen Sortiernetzwerks . Ian Parberry. Parle'91 Parallele Architekturen und Sprachen Europa, 1991.
Grenzen der Größe von Testsätzen zum Sortieren und zugehörigen Netzwerken . Moon Jung Chung und B. Ravikumar. Discrete Mathematics, Bd. 81, S. 1–9, April 1990.