Effizienter Diff-Algorithmus für Bäume und Levenshtein-Distanz

20

Ich habe vor kurzem diese Zusammenfassung der Probleme gelesen, die mit dem Diff zwischen Bäumen verbunden sind, und sie hat mich daran interessiert, den Stand der Technik für dieses Problem zu erfahren.

Angenommen, zwischen den erlaubten Bearbeitungsoperationen befindet sich der traditionelle Knoten zum Hinzufügen / Löschen. Bearbeiten Sie den Inhalt, indem Sie die erweiterten Operationen zum Kopieren / Verschieben von Teilstrukturen hinzufügen. Macht dies das Problem (Finden eines optimalen Unterschieds) einfacher oder schwieriger?

lurscher
quelle

Antworten:

16

Der folgende Artikel beschreibt einen etwas effizienteren Algorithmus als Zhang-Shasha zur Berechnung der Baumeditierentfernung sowie den Beweis, dass der Algorithmus optimal ist (innerhalb einer bestimmten breiten Klasse von Algorithmen):

Jeffε
quelle
7

Eine nützliche, etwas veraltete Umfrage zum Thema:

Philip Bille. Eine Umfrage zur Baumbearbeitung und den damit verbundenen Problemen . Theoretical Computer Science, Band 337, Hefte 1–3, Seiten 217–239, 2005.

Eine aktuelle Veröffentlichung zu einer der Versionen des Problems:

Tatsuya Akutsu et al. Genaue Algorithmen zur Berechnung der Baumbearbeitungsentfernung zwischen ungeordneten Bäumen . Theoretical Computer Science, Volume 412, Issues 4–5, Pages 352–364, 2011.

Alexander Tiskin
quelle