Das folgende Problem ist kürzlich aus meiner Forschung hervorgegangen, und ich möchte fragen, ob jemand weiß, ob dieses Problem zuvor in Betracht gezogen wurde oder von irgendetwas gehört hat, das damit zusammenhängen könnte.
Die allgemeine Einstellung ist die folgende. Wir erhalten , eine Familie von Teilmengen von für einen Parameter (ich interessiere mich am meisten für den Fall, dass ). Es gibt einen Gegner, der einen Satz in auswählt, der mit . Unsere Aufgabe ist es herauszufinden, was ist. Zu diesem Zweck dürfen wir zwei beliebige Sätze in an den Gegner senden , z. B. und und der Gegner gibt wenn und wenn . Beachten Sie, dass wenn dann kann der Gegner entweder oder ausgeben .
Dieses Problem kann trivial gelöst werden, wenn es uns egal ist, wie viele Abfragen wir stellen können, da beim Vergleich aller Mengenpaare die einzige Menge ist, die beim Senden einer Abfrage immer vom Gegner zurückgegeben wird , für jeden . Unser Ziel ist es jedoch, die Anzahl der Abfragen zu minimieren.
Mein Ziel ist es zu zeigen, dass dieses Problem entweder mit Abfragen gelöst werden kann oder dass eine superpolynomielle Anzahl von Abfragen erforderlich ist. Ich interessiere mich besonders für den Fall, dass die Menge aller Teilmengen von .
Alle Hinweise auf alles, was damit zu tun hat, sind willkommen.
Antworten:
Dies ist eine Variation des berühmten Puzzles, eine gefälschte Münze mithilfe der Waage zu finden . Bevor wir jedoch fortfahren, lösen wir zunächst die Frage, da die Technik zur Lösung auch nützlich ist, um den Zusammenhang mit dem Problem mit gefälschten Münzen zu erkennen.
Angenommen, die Abfragesätze A und B müssen nicht aus der Familie F stammen . Dann können Sie die Menge S durch höchstens Abfragen wie folgt finden. Stellen Sie Abfragen ({ a }, { b }) für 1 ≤ a < b ≤ n . Beachten Sie, dass jedes Element i ∈ {1,…, n } in n −1 Abfragen verwendet wird. Wenn ein Element i zu S gehört , wird die Menge { i } zumindest dann beantwortet, wenn der Gegner nicht zu S gehört ( n( n2) =O(n2) ( n2) und daher wird die Menge { i } mindestens n - t Mal beantwortet . Wenn ein Element i nicht zu S gehört , kann die Menge { i } nicht beantwortet werden, wenn der Gegner zu S gehört , und daher wird die Menge { i } höchstens n - t - 1 Mal beantwortet . Wenn wir also zählen, wie oft jeder Satz beantwortet wird, können wir den gesamten Satz S bestimmen .
Dies erfordert Abfragesätze, die nicht aus der Familie F stammen , was im Problem nicht zulässig ist. Wir können dies jedoch umgehen, indem wir beiden Seiten dieselben t −1-Elemente hinzufügen . Anstatt beispielsweise die Abfrage ({1}, {2}) durchzuführen, können wir die Abfrage ({1,3,4,…, t +1}, {2,3,4,…, t +1) durchführen }). Daher kann das Problem durch O ( n 2 ) -Abfragen gelöst werden.
Jetzt beginnt der lustige Teil. Betrachten Sie n Münzen mit den Bezeichnungen 1,…, n und t als Fälschungen und etwas schwerer als die echten Münzen. Alle gefälschten Münzen haben das gleiche Gewicht. Sie müssen den Satz S der Etiketten der t gefälschten Münzen finden, indem Sie eine Waage nur Poly ( n ) mal verwenden. Jedes Mal, wenn Sie eine Waage verwenden, können Sie höchstens min { t , n - t } Münzen auf jede Seite der Waage legen . Die Waage ist etwas ungenau in dem Sinne, dass bei gleichem Gewicht der beiden Seiten beide Seiten nach unten gehen können (kontrovers). Wie ich hoffe, dass Sie jetzt sehen können, ist dies genau das gleiche Problem wie die Frage.
Bearbeiten : Revision 4 und früher hatte den einen oder anderen Fehler (oops) in der genauen Verbindung zum gefälschten Münzpuzzle.
quelle
... ähm ... Ich versuche einen Polynomalgorithmus herauszufinden ... arbeite noch daran ... aber ich denke, das Problem sollte besser umformuliert werden, da es Fälle gibt, in denen es unmöglich ist zu gewinnen (zumindest) wenn F die Familie aller Teilmengen ist)
Zum Beispiel:
Wie Sie sehen können - wenn der Gegner ein Fuchs ist - kann er die beiden Spalten gleich machen, so dass es keine Möglichkeit gibt, zwischen Lösung und Lösung S = { 1 , 2 } zu unterscheiden ... selbst mit einem Exponential Anzahl der Abfragen.S.= { 1 } S.= { 1 , 2 }
Und ich denke, selbst wenn Sie die Familie F einschränken, können Sie in ein unmögliches Spiel "fallen". Wenn Sie beispielsweise das Element irgendwo in einem oder mehreren der Sätze von F im Beispiel hinzufügen , wird der Fuchs nicht getötet :-)))4
Es sieht aus wie eine Variante des Master Mind Game, die normalerweise polynomisch ist, aber eine statische Version hat, die NP-vollständig ist ( siehe Beweis ).
... Das ursprüngliche Mastermind-Spiel wurde 1970 von Meirowitz als Brettspiel mit Löchern für Sequenzen der Länge N = 4 und K = 6 erfunden. Knuth (1) zeigte anschließend, dass diese Instanz des Mastermind-Spiels in fünf oder weniger Vermutungen gelöst werden kann. Chv´atal (2) untersuchte die Kombinatorik des allgemeinen Masterminds und zeigte, dass sie im Fall K> = N in Polynomzeit gelöst werden kann. Stuckman und Zhang (3) zeigten, dass es NP-vollständig ist, um festzustellen, ob Eine Folge von Vermutungen und Antworten im Allgemeinen ist Mastermind mit doppelter Zählung zufriedenstellend. ...
(1) D. Knuth. Der Computer als Meistergeist. Journal of Recreational Mathematics, 9: 1–5, 1977.
(2) V. Chv´atal. Mastermind. Combinatorica, 3 (3/4): 325–329, 1983.
(3) J. Stuckman und G.-Q. Zhang. Mastermind ist np-complete, 2005. http://arxiv.org/abs/cs/0512049 .
quelle