2009-05-03 4 views
3

Ich bin neu im Bereich der ungefähren String-Übereinstimmung.Überwindung der Suchmusterlänge des Bitap-Algorithmus

Ich erkunde Anwendungen für die Bitap algorithm, aber bis jetzt seine begrenzte Musterlänge hat mich beunruhigt. Ich arbeite mit Flash, und ich verfüge über 32-Bit-Ganzzahlen ohne Vorzeichen und einen IEEE-754-Gleitkommazahl mit doppelter Genauigkeit, die bis zu 53 Bits für Ganzzahlen verwenden können. Trotzdem hätte ich lieber einen unscharfen Matching-Algorithmus, der längere Muster als 50 Zeichen verarbeiten kann. Die Wikipedia page des Bitap-Algorithmus erwähnt libbitap, die angeblich eine unbegrenzte Musterlängenimplementierung des Algorithmus demonstriert, aber ich habe Schwierigkeiten, die Idee von ihren Quellen zu bekommen.

Haben Sie Vorschläge zur Verallgemeinerung von Bitap für Muster unbegrenzter Länge oder zu einem anderen Algorithmus, der eine unscharfe Zeichenkettenanpassung einer Nadel in der Nähe eines vorgeschlagenen Ortes im Heuhaufen durchführen kann?

Antwort

2

Es gibt eine ziemlich detaillierte Implementierung dieses Algorithmus unter google code. Probieren Sie es aus. Obwohl ich nicht verstehen kann, wie man einen genauen Ort (der Anfangs- und Endpunkt im Text) der Fuzzy-Übereinstimmung erhält. Wenn Sie eine Idee haben, wie Sie sowohl Anfangs- als auch Endpunkt bekommen, teilen Sie das bitte mit.

+0

Da habe ich angefangen. Sie umgehen das Problem mit begrenzter Länge, indem sie mehrere Suchen durchführen, anstatt eine Implementierung mit unbegrenzter Länge zu verwenden. – Hristo

Verwandte Themen