Komplexitätsklasse entsprechend der Sortierung


14

Zwei Teile von TCS sind Algorithmen und Komplexität. Ich sage vereinfacht gesagt, dass Algorithmen das Studium von Obergrenzen sind und zeigen, dass Sie etwas (mit bestimmten eingeschränkten Ressourcen) tun können , und Komplexität bedeutet, dass Sie es nicht ohne einige minimale Ressourcen tun können.

So oft wird ein algorithmisches Problem in einem Entscheidungsmodell angegeben, um es einer Komplexitätsklasse zuzuordnen.

Aber etwas, das mich immer gestört hat, ist, dass einige elementare Algorithmen nie direkt als zu einer bestimmten Klasse gehörend erwähnt werden. Ein Beispiel ist das (Vergleichs-) Sortieren. Nach meinem Geschmack scheint eine relevante Klasse einfach zu mangelhaft zu sein. (Ist es wirklich so, dass nur der Protokollbereich überprüft wird, in dem das Ergebnis sortiert ist? Das scheint einfach zu schwach zu sein, oder ich verstehe die richtige Entscheidungsversion nicht).

Was ist die beste / am besten geeignete / nützlichste Komplexitätsklasse, in der die Vergleichssortierung liegt?

Antworten:


17

Das Sortierproblem ist für tatsächlich abgeschlossen (unter -Reduktion). Eine Standardquelle hierfür ist Abschnitt 1.4.3 von Vollmers Buch .TC0AC0

Beachten Sie, dass die Klasse der Entscheidungsprobleme ist, aber wir denken normalerweise an das Sortieren als ein Funktionsproblem, dh wir möchten die Zahlen beispielsweise in nicht absteigender Reihenfolge ausgeben. Wir können das Sortieren jedoch auch wie folgt als Entscheidungsproblem definieren:TC0

Bei einer gegebenen Folge von Zahlen und zwei Zahlen wollen wir entscheiden, ob sich an der Position in der Folge befindet, die wir erhalten, indem wir in nicht absteigender Reihenfolge sortieren. Beachten Sie, dass zur Vermeidung von Mehrdeutigkeiten, wenn , vor wenn . k , p [ n ] a k p a 1 , ... , a n a i = einem j ein i ein j i < ja1,,ank,p[n]akpa1,,anai=ajaiaji<j


Hervorragend ... angegeben als welches formale Entscheidungsproblem?
Mitch

1
Es wäre doppelt gut, einen Verweis in Ihre Antwort aufzunehmen.
Oleksandr Bondarenko

@Mitch und @Okeksandr: Danke für deine Kommentare! Ich habe gerade meine Antwort erweitert, um diese Punkte zu klären.
Dai Le

Das klingt nach einem Entscheidungsproblem für die Auftragsstatistik. Gibt es ein ähnliches Problem, bei dem sich alles am richtigen Ort befindet? wenn eine Sequenz und eine Permutation auf , entscheidet . Das ist so schwer wie deins; Ist es schwieriger oder vollständiger für eine inklusive Klasse? a1...anσ[1..n]1k<jn,aσk<aσj
Mitch

2
@Mitch: Ich glaube, dass es einfacher ist, zu überprüfen, ob alles am richtigen Ort ist, als zu sortieren. Die Intuition ist, dass Sie überprüfen können, ob für alle möglichen Paare mit parallel ausgeführt werden kann, was meines Erachtens möglich ist in . Für das obige Sortierproblem müssen Sie in der Lage sein, die richtige Position einer Zahl in der linearen Reihenfolge zu "zählen". aσk<aσj(aσk,aσj)k<jAC0
Dai Le

0

Ich glaube, FP ist das, wonach Sie suchen.


Nun, ich suche eher nach der relevanten Klasse der Entscheidungskomplexität als nach der funktionalen, aber trotzdem bin ich mir ziemlich sicher, dass die Vergleichssortierung nicht annähernd P-vollständig (oder FP-vollständig) ist, also erwarte ich es eine kleinere Klasse, für die erwartet wird, dass sie vollständig ist.
Mitch

Mir war nicht bewusst, dass Vollständigkeit eine der Anforderungen an Ihre Frage war. Als Entscheidungsproblem (wenn Sie Ihre Vollständigkeitsbeschränkung missachten), warum wäre P als Antwort nicht akzeptabel? Mit einem DTM können Sie ein Zertifikat in polynomieller Zeit erstellen und validieren.
Nicholas Mancuso

Angesichts eines allgemeinen Problems möchte ich in der Regel nicht nur wissen, dass es sich um eine Polynomzeit handelt, sondern auch um die kleinste Klasse, in der es sich befinden könnte. Ich möchte wissen, ob es sich um LOGCFL, NL, L, AC_0 usw. handelt. Vollständigkeit ist eine Möglichkeit, die Sie nicht besser machen können. Das ist also keine Voraussetzung für meine Frage, aber wahrscheinlich eine Antwort.
Mitch
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.