Buscando el espacio de permutaciones

8

Me dan n objetos, y un conjunto de n permutaciones de estos n objetos (de n! Permutaciones totales). Hay una verdadera permutación subyacente, que sé que es una entre el conjunto de n permutaciones, pero no sé cuál. Sin embargo, un oráculo conoce la verdadera permutación. Para encontrar la permutación verdadera, se me permite consultar el oráculo para la comparación por pares entre 2 objetos (¿es a antes de b en la permutación verdadera?).

Una estrategia ingenua sería hacer una búsqueda binaria (haga la pregunta de comparación por pares "correcta" que elimine la mitad de las permutaciones en cada etapa), para encontrar la permutación verdadera en los pasos log n. Mi pregunta es, ¿se puede hacer esto siempre? ¿O puedo encontrar un conjunto de permutaciones de confrontación tal que las consultas O (log n) no sean suficientes.

Editar:
Ejemplo: Digamos que mis objetos son 1,2,3,4. El conjunto de permutaciones es {1243, 2341, 1342, 3412}. No sé la verdadera permutación. Pregunto "¿Está 2 antes de 4 en la verdadera permutación?". El oráculo devuelve sí. Entonces sé que está entre las dos primeras permutaciones. Luego pregunto "¿Está 1 antes de 3 en la verdadera permutación?" para encontrar la verdadera permutación.

elexhobby
fuente
1) ¿El oráculo implementa una relación de orden completa? 2) ¿Supongo que la permutación "verdadera" es el mínimo o el máximo de esa relación? 3) Antes de poder realizar una búsqueda binaria, debe ordenar. 4) Encontrar un mínimo resp. máximo es posible en tiempo lineal. 5) Dado que el conjunto de entrada no está ordenado, no puede evitar comprobar cada permutación de entrada al menos una vez, por lo que un límite inferior lineal es trivial. 6) Que todo asume que no sabes nada sobre la relación de orden; Si sabe algo, puede utilizarlo.
Raphael
@Raphael: Mi pregunta no estaba clara como había escrito antes. Vea si el ejemplo que agregué ayuda. Me preocupa la cantidad de consultas que debe hacerle al oráculo.
elexhobby
2
Si entiendo el problema, entonces creo que este conjunto no se puede reducir a la mitad con un solo par 213456 124356 123465 132456 124356 123546.
Louis
Una pregunta interesante sería: ¿para qué subconjunto de permutaciones sería suficiente el registro?
Nikos M.

Respuestas:

8

Considere el siguiente conjunto de norte órdenes, que doy por norte=6 6:

123456213456132456124356123546123465
Ojalá la generalización a arbitraria norte es claro.

Si nunca comparas yo y yo+1 entonces no puedes distinguir la permutación 1 de permutación yo+1. Esto significa que necesitas al menosnorte-1comparaciones (esto no es un argumento, pero se puede convertir en uno); Esto es apretado (para este ejemplo).

Permítanme mencionar también dos documentos conocidos en el área:

  1. Fredman demostró que si hayΓ muchos pedidos posibles, entonces puede encontrar el correcto usando Iniciar sesión2Γ+2norte consultas

  2. Kahn y Kim demostraron que si los posibles pedidos constituyen todos los posibles pedidos que se extienden a un orden parcial, entoncesO(Iniciar sesiónΓ) Las consultas son suficientes.

Yuval Filmus
fuente