Durchsuchen des Permutationsraums

8

Ich bekomme n Objekte und eine Menge von n Permutationen dieser n Objekte (von n! Gesamtpermutationen). Es gibt eine echte zugrunde liegende Permutation, von der ich weiß, dass sie eine unter den n Permutationen ist, aber ich weiß nicht, welche. Ein Orakel kennt jedoch die wahre Permutation. Um die wahre Permutation zu finden, darf ich das Orakel zum paarweisen Vergleich zwischen zwei Objekten abfragen (steht a vor b in der wahren Permutation?).

Eine naive Strategie wäre, eine binäre Suche durchzuführen (stellen Sie die "richtige" paarweise Vergleichsfrage, bei der in jeder Phase die Hälfte der Permutationen eliminiert wird), um die wahre Permutation in log n Schritten zu finden. Meine Frage ist, kann das immer gemacht werden? Oder kann ich einen kontroversen Satz von Permutationen finden, sodass O (log n) -Abfragen nicht ausreichen?

Bearbeiten:
Beispiel: Angenommen, meine Objekte sind 1,2,3,4. Der Satz von Permutationen ist {1243, 2341, 1342, 3412}. Ich kenne die wahre Permutation nicht. Ich frage "Ist 2 vor 4 in der wahren Permutation?". Das Orakel gibt ja zurück. Ich weiß also, dass es sich um eine der ersten beiden Permutationen handelt. Ich frage dann "Ist 1 vor 3 in der wahren Permutation?" um die wahre Permutation zu finden.

Elexhobby
quelle
1) Das Orakel implementiert eine vollständige Ordnungsbeziehung? 2) Ich nehme an, die "wahre" Permutation ist das Minimum oder Maximum dieser Beziehung? 3) Bevor Sie binär suchen können, müssen Sie sortieren. 4) Finden eines Minimums bzw. Maximum ist in linearer Zeit möglich. 5) Da der Eingabesatz ungeordnet ist, können Sie es nicht vermeiden, jede Eingabepermutation mindestens einmal zu überprüfen, sodass eine lineare Untergrenze trivial ist. 6) Das alles setzt voraus, dass Sie nichts über die Ordnungsbeziehung wissen; Wenn Sie etwas wissen, können Sie dies möglicherweise nutzen.
Raphael
@ Raphael: Meine Frage war unklar, wie ich zuvor geschrieben hatte. Überprüfen Sie, ob das von mir hinzugefügte Beispiel hilfreich ist. Ich bin besorgt über die Anzahl der Fragen, die Sie dem Orakel stellen müssen.
elexhobby
2
Wenn ich das Problem verstehe, dann denke ich, dass dieses Set mit keinem einzelnen Paar halbiert werden kann. 213456 124356 123465 132456 124356 123546.
Louis
Eine interessante Frage wäre, für welche Teilmenge von Permutationen das gebundene Protokoll ausreichend wäre.
Nikos M.

Antworten:

8

nn=6

123456213456132456124356123546123465
n

ichich+11ich+1n- -1

Lassen Sie mich auch zwei bekannte Artikel in der Region erwähnen:

  1. ΓLog2Γ+2n

  2. Ö(LogΓ)

Yuval Filmus
quelle