Skip to content
Fabian Steeg edited this page Jun 20, 2011 · 1 revision

Softwaretechnologie: Java (Teil II, Sommersemester), Aufgabe 9

  1. Eine verbreitete Erweiterung der Editierdistanz-Berechnung ist eine unterschiedliche Gewichtung bestimmter Ersetzungen. So können etwa Tippfehler, die durch nahe Tasten entstehen (z.B. m-n) geringer gewichtet werden. Erweitern Sie die besprochene Implementierung der Editierdistanz um eine solche Gewichtung. Implementieren Sie dazu ein Gewichtungsmatrix, in der die Gewichtung aller Buchstabenpaare eingetragen wird. Überprüfen Sie die Funktionalität mit Unit-Tests, die zeigen, dass Vergleiche mit identischer Anzahl von Operationen (insert, delete, replace) je nach Wort unterschiedlich gewichtet werden. Füllen Sie Ihre Matrix dazu z.B. mit zufälligen Werten.
  2. Erweitern Sie die Index-basierte Suche aus der letzten Sitzung um eine Korrektur für Anfragen mit Tippfehlern (z.B. burtus). Schreiben Sie Unit-Tests die zeigen, dass bei solchen Anfragen die Ergebnisse für die korrigierte Wortform (z.B. brutus) geliefert werden.