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+1n−1

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.