Probabilidad de que funcione una red de clasificación aleatoria

14

Dadas entradas , construimos una red de clasificación aleatoria con puertas seleccionando iterativamente dos variables con y agregando una puerta de comparación que las intercambia si .x 0 , , x n - 1 m x i , x j i < j x i > x jnx0,,xn1mxi,xji<jxi>xj

Pregunta 1 : Para fijo , ¿qué tan grande debe ser para que la red se ordene correctamente con probabilidad ?m > 1nm>12

Tenemos al menos el límite inferior ya que una entrada que está correctamente ordenada, excepto que cada par consecutivo se intercambia tomará tiempo para cada par para ser elegido como comparador. ¿Es ese también el límite superior, posiblemente con más factores ?Θ ( n 2 log n 2 ) log nm=Ω(n2logn)Θ(n2logn2)logn

Pregunta 2 : ¿Existe una distribución de compuertas de comparación que logre , quizás eligiendo comparadores cercanos con mayor probabilidad?m=O~(n)

Geoffrey Irving
fuente
1
Supongo que uno puede obtener un límite superior mirando una entrada a la vez y luego un límite de unión, pero eso suena lejos de ser ajustado. O(n3logO(1))
daniello
2
Idea para la pregunta 2: elija una red de clasificación de profundidad . En cada paso, elija aleatoriamente una de las puertas de la red de clasificación y realice esa comparación. Después de los pasos , se habrán aplicado todas las puertas de la primera capa. Después de otros pasos , se habrán aplicado todas las puertas en la segunda capa. Si puede demostrar que esto es monótono (insertar comparaciones adicionales en el medio de la red de clasificación no puede dañar), habrá obtenido una solución con comparadores en total en promedio. Sin embargo, no estoy seguro de si la monoticidad realmente es válida. ˜ O ( n ) ˜ O ( n ) ˜ OO(log2n)O~(n)O~(n)O~(n)
DW
2
@DW: La monotonicidad no necesariamente se cumple. Considere las secuencias Secuencia funciona; no (considere la entrada (1, 0, 0)). La idea es que clasifique cualquier entrada que reciba, excepto (ver aquí ). En , esa entrada no puede alcanzar . En puede. ss(x0,x2),(x0,x1)(0,1,0)s(x
s=(X1,X2),(X0 0,X2),(X0 0,X1);s=(X1,X2),(X0 0,X1),(X0 0,X2),(X0 0,X1).
ss(X0 0,X2),(X0 0,X1)(0 0,1,0 0)ss (X0 0,X2),(X0 0,X1)s
Neal Young
3
Considere la variante donde se elige la red seleccionando dos variables adyacentes al azar en cada paso. Ahora se mantiene la monotonicidad (ya que los intercambios adyacentes no crean inversiones). Aplicar @ idea de DW a una red de clasificación par-impar , que tiene rondas: en las rondas impares se compara todos los pares adyacentes, donde es impar, en rondas incluso se compara todos los pares adyacentes, donde es par. Whp la red aleatoria es correcta en las comparaciones , ya que "incluye" esta red. (¿O me estoy perdiendo algo?) n i i O ( n 2 log n )xi,xi+1niiO(n2logn)
Neal Young
2
Monotonicidad de redes adyacentes: Dado , para define . Diga si ( ). Arregle cualquier comparación " ". Deje y provienen de y al hacer esa comparación. Reclamación 1. y . Reclamación 2: si , entonces . Luego muestre inductivamente: si j { 0 , 1 , , n } s j ( a ) = j i = 1 a i a b s j ( a ) s j ( b ) j x i < x i + 1 a b a,b{0,1}nj{0,1,...,norte}sj(a)=i=1jaiabsj(a)sj(b)jxi<xi+1abb a a b b aab aabb a b ababs x y s s x y y y y yes el resultado de la secuencia de comparación en la entrada , y es el resultado de la súper secuencia de en , entonces . Entonces, si está ordenado, también lo está . sxyssxyyyy
Neal Young

Respuestas:

3

Aquí hay algunos datos empíricos para la pregunta 2, basados ​​en la idea de DW aplicada al ordenamiento bitónico. Para variables, elija con probabilidad proporcional a , luego seleccione uniformemente al azar para obtener un comparador . Esto coincide con la distribución de los comparadores en orden bitónico si es una potencia de 2, y se aproxima de otra manera.j - i = 2 k lg n - k i ( i , j ) nnortej-yo=2klgnorte-kyo(yo,j)norte

Para una secuencia infinita dada de compuertas extraídas de esta distribución, podemos aproximar el número de compuertas requeridas para obtener una red de clasificación clasificando muchas secuencias de bits aleatorias. Aquí está esa estimación para tomando la media de más de secuencias de compuerta con secuencias de bits utilizadas para aproximar el conteo: parece coincidir con , la misma complejidad que la ordenación bitónica. Si es así, no comemos un factor adicional debido al problema del colector de cupones de cruzar cada puerta.100 6.400 Θ ( n log 2 n ) log nn<2001006400Número aproximado de puertasΘ(nlog2n)logn

Para enfatizar: estoy usando solo secuencias de bits para aproximar el número esperado de puertas, no . Las puertas medias requeridas aumentan con ese número: para si uso secuencias , y , las estimaciones son , y . Por lo tanto, es posible que las últimas secuencias aumenten la complejidad asintótica, aunque intuitivamente se siente poco probable.64002nn=19964006400064000014270±106914353±101314539±965

Editar : Aquí hay una gráfica similar hasta , pero usando el número exacto de puertas (calculado a través de una combinación de muestreo y Z3). He cambiado de potencia de dos a arbitraria con probabilidad proporcional a . todavía parece plausible.n=80d=jid[1,n2]lognlogddΘ(nlog2n)

Números exactos de puertas

Geoffrey Irving
fuente
2
Buen experimento! Sin embargo, hay una forma diferente de que surja el problema del recolector de cupones: solo está muestreando una pequeña fracción de las secuencias de bits necesarias para verificar la corrección en todas las entradas. Parece que podemos concluir (científicamente, no matemáticamente, por supuesto) de su experimento que una red aleatoria de este tipo y tamaño clasifica un whp de permutación aleatoria . También me gustaría ver pruebas exhaustivas de en redes aleatorias para todos los a los que estás dispuesto a ir. ( no debería ser tan malo, tal vez incluso dependiendo del idioma y hardware que esté usando). 2n2nnnorte=20norte=30
Joshua Grochow
1
Se ve igual para exactos hasta , pero no lo veo como concluyente. n=27
Geoffrey Irving
1
@JoshuaGrochow: he agregado valores exactos hasta . n=80
Geoffrey Irving
1
¡Agradable! Sin embargo, parece haber una extensión creciente de los datos exactos, lo que quizás indica un límite superior con un factor adicional de ? (Es decir, si el "spread" está creciendo a un ritmo de .)Iniciar sesiónnorteIniciar sesiónnorte
Joshua Grochow
1
Sí, no podemos descartar un factor adicional. Sin embargo, me sorprendería si fuera , ya que hasta 80 tenemos y, contrario, la constante es sospechosamente cercana a . En este punto creo que la teoría tiene que hacerse cargo. :)lognlgn61
Geoffrey Irving