stringtranslate.com

Ordenación por combinación de pares e impares del dosificador

El método de ordenación por fusión de pares e impares de Batcher [1] es una construcción genérica ideada por Ken Batcher para ordenar redes de tamaño O( n  (log  n ) 2 ) y profundidad O((log  n ) 2 ), donde n es el número de elementos que se van a ordenar. Aunque no es asintóticamente óptimo, Knuth concluyó en 1998, con respecto a la red AKS , que "el método de Batcher es mucho mejor, a menos que n exceda la capacidad total de memoria de todas las computadoras en la Tierra". [2]

Se popularizó con el segundo libro GPU Gems [3] , como una forma sencilla de realizar ordenaciones razonablemente eficientes en hardware de procesamiento de gráficos.

Pseudocódigo

Existen varios esquemas recursivos e iterativos para calcular los índices de los elementos que se van a comparar y ordenar. Esta es una técnica iterativa para generar los índices para ordenar n elementos:

# nota: la secuencia de entrada está indexada de 0 a (n-1)para p = 1, 2, 4, 8, ... # siempre que p < n para k = p, p/2, p/4, p/8, ... # siempre que k >= 1 para j = mod(k,p) a (n-1-k) con un tamaño de paso de 2k para i = 0 a min(k-1, njk-1) con un tamaño de paso de 1 si piso((i+j) / (p*2)) == piso((i+j+k) / (p*2)) comparar y ordenar elementos (i+j) y (i+j+k)

También es posible el cálculo no recursivo del índice del nodo asociado. [4]

Véase también

Referencias

  1. ^ Batcher, Ken (1968), "Redes de clasificación y sus aplicaciones", Actas de la conferencia conjunta de informática de primavera del 30 de abril al 2 de mayo de 1968 - AFIPS '68 (primavera) , Atlantic City, Nueva Jersey: Association for Computing Machinery, págs. 307–314, doi :10.1145/1468075.1468121, S2CID  207171031, archivado desde el original el 24 de octubre de 2020
  2. ^ DE Knuth . El arte de la programación informática , volumen 3: Ordenación y búsqueda , segunda edición. Addison-Wesley, 1998. ISBN 0-201-89685-0 . Sección 5.3.4: Redes para la ordenación, págs. 219–247. 
  3. ^ "Capítulo 46. Ordenamiento de GPU mejorado".
  4. ^ "Red de ordenación a partir de la combinación de pares e impares de Batcher: cálculo de socios". Renat Bekbolatov . Consultado el 7 de mayo de 2015 .

Enlaces externos