In generale, verificare se una particolare rete di confronto sia effettivamente una rete di smistamento corretta è un problema completo di Co-NP. Se si desidera verificare mediante test, è necessario provare in modo esponenziale molti test.
In particolare, esistono reti di ordinamento che ordinano correttamente tutti tranne un singolo valore, quindi non puoi sperare di testare se la rete è corretta o meno semplicemente alimentandola con alcuni input.
Un metodo standard consiste nel verificare se ordina correttamente tutti i input composti esclusivamente da zero e uno. Se lo fa, si scopre che ordinerà tutti gli input (anche quelli che non si limitano a zero e uno). Tuttavia, ciò richiede esponenzialmente molti test. Inoltre, il numero di test non può essere ridotto in modo significativo: per zero-uno input, è possibile dimostrare che sono necessari almeno test, al punto che la rete di smistamento è corretta.2n2n- n - 1
In alternativa, si possono usare i test in cui gli input sono permutazioni di . Ciò riduce un po 'il numero di test necessari, ma è comunque necessario esponenzialmente molti test. In particolare, i test sono necessari e sufficienti.1 , 2 , … , nC( n , ⌊ n / 2 ⌋ ) - 1
Per prove di questi fatti, consultare i seguenti documenti:
Sulla complessità computazionale della verifica della rete di smistamento ottimale . Ian Parberry. Parle'91 Parallel Architectures and Languages Europe, 1991.
Limita la dimensione dei set di test per l'ordinamento e le reti correlate . Moon Jung Chung e B. Ravikumar. Discrete Mathematics, vol 81, pp.1--9, aprile 1990.