Probleme, bei denen auf Partitionsverfeinerung basierende Algorithmen schneller als in der loglinearen Zeit ausgeführt werden

20

Partitionsverfeinerung ist eine Technik, bei der Sie mit einer endlichen Menge von Objekten beginnen und die Menge schrittweise aufteilen. Einige Probleme, wie die DFA-Minimierung, können mithilfe der Partitionsoptimierung sehr effizient gelöst werden. Ich kenne keine anderen Probleme, die normalerweise durch Partitionsverfeinerung gelöst werden, außer den auf der Wikipedia-Seite aufgelisteten. Von all diesen Problemen werden auf der Wikipedia-Seite zwei erwähnt, für die Algorithmen, die auf Partitionsverfeinerungen basieren, in linearer Zeit ablaufen. Es gibt die lexikografisch geordnete topologische Sortierung [1] und einen Algorithmus für die lexikografische Breitensuche [2].

Gibt es noch andere Beispiele oder Hinweise auf Probleme, die mithilfe der Partitionsverfeinerung sehr effizient gelöst werden können und zeitlich besser als loglinear sind?


[1] Sethi, Ravi, "Scheduling Graphs on two Processors", SIAM Journal on Computing 5 (1): 73–82, 1976.

[2] Rose, DJ, Tarjan, RE, Lueker, GS, "Algorithmische Aspekte der Vertexeliminierung in Graphen", SIAM Journal on Computing 5 (2): 266–283, 1976.

Juho
quelle

Antworten:

2

Einige modulare Zerlegungsalgorithmen mit linearer Zeit verwenden (irgendeine Art von) Partitionsverfeinerung, siehe z. B. diese Algorithmen für gerichtete und ungerichtete Graphen .

frafl
quelle
1
Können Sie etwas genauer erläutern, wie die Partitionsverfeinerung in diesen Fällen verwendet wird? Ansonsten sieht das interessant aus!
Juho