Gibt es entscheidbare Probleme, für die wir für keinen Algorithmus Zeitgrenzen festlegen können?


12

Gibt es entscheidbare Probleme, so dass wir für keinen Algorithmus, der das Problem löst, eine Zeitgrenze als Funktion der Länge n der Eingabeinstanz angeben können?

Ich bin zu dieser Frage gekommen, weil ich über Folgendes nachgedacht habe:

Angenommen, wir haben ein rekursiv aufzählbares, aber unentscheidbares Problem. Angenommen, ich bin eine "Ja" -Instanz des Problems. Dann können wir für keinen Algorithmus, der die "Ja" -Instanzen des Problems identifiziert, eine Zeitgrenze in Bezug auf die Größe n von I angeben. Wenn wir eine solche Zeitgrenze angeben könnten, könnten wir das Problem entscheiden, wie wir es einfach könnten zu dem schluss kommen, dass ich ein "nein" -instanz bin, wenn die zeitgrenze überschritten wird.

Da wir keine Zeit für rekursiv aufzählbare, unentscheidbare Probleme angeben können (für die Rechenzeit für "Ja" -Instanzen), habe ich mich gefragt, ob es auch entscheidbare Probleme gibt, für die wir keine Zeit angeben können.


9
Für solche Algorithmen gibt es eine triviale Zeitspanne: Führen Sie den Algorithmus aus und geben Sie die Anzahl der von diesem Algorithmus ausgeführten Schritte zurück. Andererseits ist es einfach, Beispiele zu konstruieren, für die es schwierig ist, leicht zu verstehende oder auszudrückende Grenzen anzugeben, z. B. die ackermann-Funktion.
Cody

2
Du musst präziser sein. Wenn Sie über (mathematische) Funktionen sprechen, gibt es eine Funktion, die der Laufzeit einer Turing-Maschine entspricht (tatsächlich gibt es mehr Funktionen als Turing-Maschinen). Wenn Sie von berechenbaren Funktionen oder gleichwertigen Algorithmen sprechen, gibt Ihnen @cody die Antwort: Führen Sie einfach die Turing-Maschine aus, um das Problem zu ermitteln, und zählen Sie die Laufzeit.
Alex ten Brink

8
@AlextenBrink: Um die Laufzeit im ungünstigsten Fall als Funktion der Eingabegröße , müssen Sie die Turing-Maschine für alle möglichen Eingaben der Größe n ausführen und das Maximum nehmen. Das ist aber natürlich auch machbar. nn
Jukka Suomela

8
Darf ich eine Überarbeitung vorschlagen? Um die triviale Antwort zu vermeiden, definieren wir den Ausdruck "wir können eine Zeitgrenze angeben" und meinen "wir können eine Obergrenze für die Laufzeit im ungünstigsten Fall schneller berechnen als durch Ausführen des Algorithmus für alle Instanzen der Größe n." Oder "alle Instanzen" sollten "eine einzelne Instanz" sein.
Jeffs

1
Ihr Argument hängt davon ab, ob Ihre zeitgebundene Funktion vollständig berechenbar ist. Es ist bekannt, dass dies nicht möglich ist. Wenn dies jedoch Ihre Frage ist (dh es gibt teilweise berechenbare Funktionen ohne vollständige berechenbare Funktionserweiterung), ist die Frage nicht auf Forschungsniveau. Bitte beachten Sie die FAQ für Anregungen , wo Sie vielleicht in der Lage , diese Art von Fragen zu stellen.
Kaveh,

Antworten:


13

Für jeden Algorithmus , der an einer Klasse von Eingängen I n endet , können wir die Funktion seiner Laufzeiten definieren : f ( n ) = max i I n ( n ) t i m e ( A ( i ) ) , wobei I n ( n ) ist die Klasse von Eingaben der Länge n und t i m e ( A ( i )AIn

f(n)=maxichichn(n)  tichme(EIN(ich)),
ichn(n)n ist der Zeitalgorithmus, den A benötigt, um auf i zu enden. Natürlich ist diese Definition in Bezug auf den Algorithmus unbefriedigend, zeigt aber die Existenz einer solchen Funktion. Es bleibt die Frage, ob es eineprägnanteDarstellung gibt (und ich glaube, das haben Sie sich gewünscht).tichme(EIN(ich))EINich

Wenn wir einfache algebraische Begriffe (ohne jegliche Rekursion) als Definition von Prägnanz verwenden, dann lautet die Antwort meines Erachtens nein: Es gibt Probleme, die entschieden werden können, deren Komplexität jedoch nicht elementar ist. Das heißt, es gibt keinen Stapel der Form , der die Ausführungszeit eines Algorithmus für ein Problem der Größe n begrenzt.2222n

Ich hoffe, ich habe Ihre Frage richtig verstanden.


6

Dies ist eine etwas andere Sichtweise auf Ihre Frage als die von Marcus, aber angesichts Ihrer Erklärung, wie Sie zu dieser Frage gekommen sind, ist sie möglicherweise näher an dem, wonach Sie suchen.

Manchmal kann man beweisen, dass ein Problem entscheidbar ist, ohne in der Lage zu sein, den Algorithmus dafür aufzuzeigen. Das bekannteste Beispiel dafür ist die Arbeit von Robertson und Seymour über Graph-Minderjährige, die zeigt, dass jede erbliche Graph-Eigenschaft in polynomieller Zeit entschieden werden kann, indem nach einer geeigneten endlichen Liste verbotener Minderjähriger gesucht wird. Ihr Beweis zeigt nur, dass eine endliche Liste verbotener Minderjähriger existiert, liefert jedoch kein Rezept zum Auffinden der Liste.

Ich bin kein Experte auf diesem Gebiet, daher kenne ich kein konkretes Beispiel für eine erbliche Grapheneigenschaft, für die wir keinen Algorithmus darstellen können, da wir die Liste der verbotenen Minderjährigen nicht kennen und keine andere Möglichkeit dazu kennen das problem lösen, aber ich vermute, dass es solche beispiele gibt. (Und wir können die Laufzeit für die Suche nach einem Beispiel einschränken, wenn es existiert, da wir wissen, dass es höchstens 8 Milliarden Menschen auf der Welt gibt, und im schlimmsten Fall können wir sie alle fragen!)

Ö(n3)Ö(n3)


2
Wenn Sie jedoch eine explizite Gruppe ausgeschlossener Minderjähriger auswählen, können Sie einen Algorithmus anzeigen. Besser wäre es, ein Erbgut auszuwählen, das nicht untersucht wurde. Das ist allerdings etwas kniffliger.
Timothy Chow

2
Ö(n2)

1
@ EmilJeřábek: Noch tangentialer ist es, in linearer Zeit zu entscheiden, ob ein Diagramm aus einer minderjährigen geschlossenen Familie eine Eigenschaft erster Ordnung erfüllt: arxiv.org/abs/1109.5036
András Salamon

1
Übrigens behaupten Kowarabayashi und Wollan in ihrem STOC 2011- Artikel dsi.uniroma1.it/~wollan/PUBS/shorter_struct_web.pdf , dass weitere Fortschritte "noch nicht vollständig niedergeschrieben" seien. Ich kann jedoch nicht leicht eine explizite Bindung aus diesem Papier extrahieren.
András Salamon

2
Für ein solches Beispiel haben Sie Diagramme mit einer planaren Abdeckung. Seltsamerweise kennen wir fast eine Liste: Es gibt 31 verbotene Minderjährige und eine 32. potenzielle, aber für diese letzte ist es offen, ob sie eine planare Abdeckung hat oder nicht. Daher haben wir keinen Algorithmus für diese Klasse von Graphen. Siehe zum Beispiel: fi.muni.cz/~hlineny/papers/plcover20-gc.pdf
Denis

3

Um nur eine andere Perspektive hinzuzufügen, lassen Sie mich daran erinnern, dass nicht jedes Problem eine "intrinsische" Komplexität aufweist, die wahrscheinlich die interessanteste und irgendwie vernachlässigte Konsequenz von Blums Beschleunigungssatz ist.

Im Wesentlichen besagt der Satz, dass man, wenn man eine gewünschte Beschleunigung g festlegt, immer ein Rechenproblem P finden kann, das für jedes gilt Programm, das P löst, ein anderes Programm existiert, das P noch löst und g-mal schneller als das vorherige läuft.

Daher können Sie für diese Art von Problemen keine zeitliche Beschränkung festlegen. Erstaunliches und ziemlich rätselhaftes Ergebnis. Natürlich hat P eine sehr große Komplexität.


Warum hat P eine sehr große Komplexität?

Da der Beschleunigungsprozess iteriert werden kann, muss er mit einer unendlichen Kette von Algorithmen mit abnehmender Komplexität kompatibel sein.
Andrea Asperti

3

Den theoretischen Aspekt Ihrer Frage kümmert sich Markus. Praktisch gesehen ist eine interessante Art und Weise, Ihre Frage zu verstehen: Gibt es entscheidbare Probleme, für die wir keine Zeitgrenze kennen?

Die Antwort lautet: Ja, zum Beispiel kann es vorkommen, dass Sie einen Halbalgorithmus für JA-Instanzen Ihres Problems und einen Halbalgorithmus für NEIN-Instanzen haben. Dies gibt Ihnen Entscheidungsfreiheit für Ihr Problem, aber keine Zeitbeschränkung.

Hier ist ein allgemeines Beispiel: Nehmen Sie an, Sie haben ein axiomatisches System, mit dem Sie alle wahren Identitäten in einer Algebra beweisen können. Außerdem wissen Sie, dass falsche Identitäten immer von einer endlichen Struktur zeugen.

Dann haben Sie folgenden Algorithmus, um zu entscheiden, ob eine Identität vorliegt ich ist wahr: Zählen Sie parallel Beweise und endliche Strukturen auf und hören Sie auf, wenn Sie einen Beweis dafür finden ich oder eine Struktur, die das bezeugt ichist falsch. Es gibt Ihnen einen korrekten Algorithmus, aber keine Komplexitätsgrenze, es sei denn, Sie können die Größe von Beweisen und endlichen Strukturen in Bezug auf begrenzenich.

Ein Beispiel hierfür ist die affine lineare Logik (LLW): Es ist nun bekannt, dass sie turmvollständig ist [1], aber für einige Zeit waren keine Grenzen bekannt, und es wurde nur die Entscheidbarkeit gezeigt, wobei unter anderem endliche Modelleigenschaften verwendet wurden [2]. .

Verweise:

[1] Nicht-elementare Komplexität für die Verzweigung von VASS, MELL und Extensions. Ranko Lazic und Sylvain Schmitz. CSL-LICS 2014

[2] Die endliche Modelleigenschaft für verschiedene Fragmente der linearen Logik. Yves Lafont, J. Symb. Logik. 1997


-4

Wie andere angegeben haben, wird die Frage nicht so gestellt, dass eine triviale Antwort vermieden wird. Es gibt jedoch einige verwandte / ähnliche Konzepte in der TCS- und Zahlentheorie.

1) in der Raum- und Zeithierarchie die Begriffe "zeitkonstruierbar" und "raumkonstruierbar" Funktionen benötigt. Nicht zeitkonstruierbare und nicht raumkonstruierbare Funktionen existieren und führen zu ungewöhnlichen Eigenschaften, die in den Blum-Theoremen zu finden sind, wie zum Beispiel den "Gap, Speedup" -Sätzen. Die meisten (alle?) Standardkomplexitätsklassen werden in Bezug auf räumlich und zeitlich konstruierbare Funktionen definiert.

2) Die Ackerman-Funktion ist vollständig rekursiv, aber nicht primitiv rekursiv, und dies hat Auswirkungen auf ihre Zeitbindung. Die primitiven rekursiven Funktionen repräsentieren in gewisser Weise die "grundlegenden" mathematischen Operationen.

3) Es gibt Thms über zahlentheoretische Sequenzen, die in der Peano-Arithmetik nicht berechenbar sind und so interpretiert werden können, dass sie nicht berechenbare Zeitgrenzen wie die Goodstein-Sequenz oder die Paris-Harrington- Thms erzeugen


5
Keine Antwort auf die Frage.
Kaveh
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.