Search (1 results, page 1 of 1)

  • × author_ss:"Ackermann, J."
  • × type_ss:"x"
  1. Ackermann, J.: Knuth-Morris-Pratt (2005) 0.01
    0.0055199023 = product of:
      0.011039805 = sum of:
        0.011039805 = product of:
          0.02207961 = sum of:
            0.02207961 = weight(_text_:r in 865) [ClassicSimilarity], result of:
              0.02207961 = score(doc=865,freq=2.0), product of:
                0.15092614 = queryWeight, product of:
                  3.3102584 = idf(docFreq=4387, maxDocs=44218)
                  0.045593463 = queryNorm
                0.14629413 = fieldWeight in 865, product of:
                  1.4142135 = tf(freq=2.0), with freq of:
                    2.0 = termFreq=2.0
                  3.3102584 = idf(docFreq=4387, maxDocs=44218)
                  0.03125 = fieldNorm(doc=865)
          0.5 = coord(1/2)
      0.5 = coord(1/2)
    
    Abstract
    Im Rahmen des Seminars Suchmaschinen und Suchalgorithmen beschäftigt sich diese Arbeit mit dem Auffinden bestimmter Wörter oder Muster in Texten. Der Begriff "Text" wird hier in einem sehr allgemeinen Sinne als strukturierte Folge beliebiger Länge von Zeichen aus einem endlichen Alphabet verstanden. Somit fällt unter diesen Bereich ganz allgemein die Suche nach einem Muster in einer Sequenz von Zeichen. Beispiele hierfür sind neben der Suche von Wörtern in "literarischen" Texten, z.B. das Finden von Pixelfolgen in Bildern oder gar das Finden von Mustern in DNS-Strängen. Das Anwendungsgebiet für eine solche Suche ist weit gefächert. Man denke hier allein an Texteditoren, Literaturdatenbanken, digitale Lexika oder die besagte DNADatenbank. Betrachtet man allein das 1989 publizierte Oxford English Dictionary mit seinen etwa 616500 definierten Stichworten auf gedruckten 21728 Seiten, so gilt es, einen möglichst effizienten Algorithmus für die Suche in Texten zu nutzen. Der in der Arbeit zugrunde liegende Datentyp ist vom Typ String (Zeichenkette), wobei hier offen gelassen wird, wie der Datentyp programmtechnisch realisiert wird. Algorithmen zur Verarbeitung von Zeichenketten (string processing) umfassen ein bestimmtes Spektrum an Anwendungsgebieten [Ot96, S.617 f.], wie z.B. das Komprimieren, das Verschlüssen, das Analysieren (parsen), das Übersetzen von Texten sowie das Suchen in Texten, welches Thema dieses Seminars ist. Im Rahmen dieser Arbeit wird der Knuth-Morris-Pratt Algorithmus vorgestellt, der wie der ebenfalls in diesem Seminar vorgestellte Boyer-Moore Algorithmus einen effizienten Suchalgorithmus darstellt. Dabei soll ein gegebenes Suchwort oder Muster (pattern) in einer gegeben Zeichenkette erkannt werden (pattern matching). Gesucht werden dabei ein oder mehrere Vorkommen eines bestimmten Suchwortes (exact pattern matching). Der Knuth-Morris-Pratt Algorithmus wurde erstmals 1974 als Institutbericht der Stanford University beschrieben und erschien 1977 in der Fachzeitschrift Journal of Computing unter dem Titel "Fast Pattern Matching in Strings" [Kn77]. Der Algorithmus beschreibt eine Suche in Zeichenketten mit linearer Laufzeit. Der Name des Algorithmus setzt sich aus den Entwicklern des Algorithmus Donald E. Knuth, James H. Morris und Vaughan R. Pratt zusammen.