Ricerca nello spazio delle permutazioni


8

Mi vengono dati n oggetti e un insieme di n permutazioni di questi n oggetti (su n! Permutazioni totali). Esiste una vera permutazione sottostante, che so sia una tra le serie di n permutazioni, ma non so quale. Un oracolo tuttavia conosce la vera permutazione. Per trovare la vera permutazione, mi è permesso interrogare l'oracolo per un confronto a coppie tra 2 oggetti (è una prima b nella vera permutazione?).

Una strategia ingenua sarebbe quella di fare una ricerca binaria (porre la domanda di confronto a coppie "giusta" che elimina la metà delle permutazioni in ogni fase), per trovare la vera permutazione in log n step. La mia domanda è: può sempre essere fatto? Oppure posso trovare un insieme contraddittorio di permutazioni tale che le query O (log n) non sono sufficienti.

Modifica:
Esempio: supponi che i miei oggetti siano 1,2,3,4. L'insieme delle permutazioni è {1243, 2341, 1342, 3412}. Non conosco la vera permutazione. Chiedo "È 2 prima di 4 nella permutazione vera?". L'oracolo ritorna sì. Quindi so che è tra le prime due permutazioni. Quindi chiedo "È 1 prima di 3 nella permutazione vera?" per trovare la vera permutazione.


1) L'oracolo implementa una relazione d'ordine completa? 2) Prendo la permutazione "vera" è il minimo o il massimo di quella relazione? 3) Prima di poter effettuare la ricerca binaria devi ordinare. 4) Trovare un resp minimo. il massimo è possibile in tempo lineare. 5) Dato che il set di input non è ordinato, non è possibile evitare di controllare ogni permutazione di input almeno una volta, quindi un limite inferiore lineare è banale. 6) Tutto ciò presuppone che tu non sappia nulla della relazione d'ordine; se conosci qualcosa, potresti essere in grado di utilizzarlo.
Raffaello

@Raphael: la mia domanda non era chiara come avevo scritto prima. Vedi se l'esempio che ho aggiunto aiuta. Sono preoccupato per il numero di domande che devi porre all'oracolo.
elexhobby,

2
Se capisco il problema, penso che questo set non possa essere dimezzato con una singola coppia 213456 124356 123465 132456 124356 123546.
Louis

una domanda interessante sarebbe per quale sottoinsieme di permutazioni sarebbe sufficiente il registro associato?
Nikos M.,

Risposte:


8

Considera la seguente serie di ordini, che do per : Speriamo che la generalizzazione in arbitraria sia chiara.nn=6

123456213456132456124356123546123465
n

Se non si confrontano mai e non è possibile distinguere la permutazione dalla permutazione . Questo significa che hai bisogno di almeno confronti (questo non è un argomento, ma può essere convertito in uno); questo è stretto (per questo esempio).ii+11i+1n1

Consentitemi di menzionare anche due noti documenti della zona:

  1. Fredman ha mostrato che se ci sono molti possibili ordini, allora puoi trovare quello corretto usando query.Γlog2Γ+2n

  2. Kahn e Kim hanno dimostrato che se i potenziali ordini costituiscono tutti i possibili ordini che estendono un certo ordine parziale, allora le query sufficienti.O(logΓ)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.