Skip to content
EntityQ402342· pop 16· linked from 63 articles

Aho-Corasick-Algorithmus

Sign in to save

String-Matching-Algorithmus

Wikidata facts

Image
Aho Corasick Concept.PNG
Show 2 more facts
Commons category
Aho–Corasick algorithm
time of discovery or invention
1975-00-00
Sources (1)

via Wikidata · CC0

Article · Deutsch

Der Aho-Corasick-Algorithmus ist ein String-Matching-Algorithmus, der von Alfred V. Aho und 1975 entwickelt wurde. Der Algorithmus führt eine Art Wörterbuch-Vergleich durch, bei dem die Eingabe effizient nach vorher festgelegten Signaturen durchsucht wird. Dabei wird kein Zeichen der Eingabe mehr als einmal gelesen.Das Verfahren ist dann besonders effizient, wenn sich die Signaturen überlappen, d. h. in Präfix- und Suffix-Beziehungen stehen (z. B. {„Igel“, „Geld“, „Eldorado“}).Der Aho-Corasick-Algorithmus besteht aus zwei Phasen: 1. * Zunächst erzeugt der Algorithmus auf Basis der gegebenen bzw. gewünschten Wörterbuchmenge eine Trie-Struktur, die auch als endlicher Zustandsautomat interpretiert werden kann. Jedem Zustand wird eine Ausgabemenge zugeordnet, die zunächst leer ist. Für jeden Zustand, bei dem ein Suchwort endet, wird dieses Suchwort seiner Ausgabemenge hinzugefügt. 2. * In der zweiten Phase werden die Knoten oder Zustände des Tries paarweise disjunkt nummeriert und eine Fehlerfunktion berechnet. Die Funktion ist für jeden Knoten definiert und legt fest, in welchem Zustand die Verarbeitung fortgesetzt wird, falls das gerade gelesene Zeichen der Eingabe keinen regulär gültigen Zustandsübergang bewirkt. Dadurch wird es möglich, schnell zwischen bereits erkannten Teilsignaturen zu wechseln und die Erkennung fortzusetzen, ohne den Automaten neu starten zu müssen.

Abstract from DBpedia / Wikipedia · CC BY-SA