Konferencja Naukowa Studentów » 2004 » Informatyka - algorytmy i sieci
Strony: 1 | 2 | 3 | 4 | 5 | »

Porównanie algorytmów wyszukujących wzorzec w tekście

Piątek, 26 grudnia

Abstract

W pracy zaprezentowano 4 algorytmy umożliwiające wyszukiwanie wzorców tekstu. W celu umożliwienia badania własności algorytmów i ich porównania zaprojektowano i zaimplementowano komputerowy system eksperymentalny.
Autor: Grzegorz SAJ

1. SFORMUŁOWANIE PROBLEMU.

Problemem, który często pojawia się w programach do redagowania tekstów, jest znajdowanie miejsca wystąpienia wzorca w tekście. W typowych sytuacjach tekstem jest redagowany dokument, natomiast wzorcem jest konkretne słowo podane przez użytkownika. Algorytmy wyszukiwania wzorca są również używane przy szukaniu specjalnych wzorców w sekwencjach DNA.

Problem wyszukiwania wzorca możemy sformułować następująco. Zakładamy, że tekst jest tablicą T[1...n] długości n, a wzorzec jest tablicą P[1…m] długości m. Ponadto zakładamy, że elementami tablic T i P są symbole należące do pewnego skończonego alfabetu ∑. Może to być na przykład: ∑={0,1} lub ∑={a,b,…,z}.

Mówimy, że wzorzec P występuje z przesunięciem s w tekście T (lub równoważnie, że wzorzec P występuje począwszy od pozycji s+1), gdy 0 ≤ s ≤ n-m oraz T[s+1…s+m]= P[1…m] (tzn. gdy T[s+j]=P[j] dla 1 ≤ j ≤ m). Jeżeli P występuje z przesunięciem s w T, to s nazywamy poprawnym przesunięciem; w przeciwnym razie nazywamy niepoprawnym przesunięciem. Problem wyszukiwania wzorca w tekście polega na znajdowaniu wszystkich poprawnych przesunięć danego wzorca P w ustalonym tekście T. Na rys. 1 pokazano przykład.


Rys. 1 Wyszukiwanie wzorca

W przykładzie celem było znalezienie wszystkich wystąpień wzorca P=ABAA w tekście T=ABCABAABCABAC. Wzorzec występuje dokładnie raz, z poprawnym przesunięciem s=3.
Czytaj dalej

Artykuły z tej samej kategorii
1. Przykład systemu informacji przestrzennej wspomagającego podejmowanie decyzji strategicznych
2. Gwarancja czasu dostarczenia pakietów oparta na wyznaczeniu opóźnień cząstkowych
3. System eksperymentowania porównujący rozwiązania problemu komiwojażera, dostarczone przez algorymt genetyczny i algorytm oparty na optymalizacji kolonią mrówek
4. Wprowadzenie do idei adaptacyjnego strojenia kontrolera pi przy użyciu algorytmów uczenia ze wzmocnieniem uwzględniając wielkości overshoot i steady state error

powrót »

Kategorie


projekt i wykonanie: smetek.biz