[Trennmuster] Warum nicht sisisi
Stephan Hennig
mailing_list at arcor.de
Fr Nov 29 22:12:51 CET 2013
Am 29.11.2013 21:50, schrieb Herbert Voss:
> Am 29.11.2013 21:38, schrieb Stephan Hennig:
>
>> Hier mal ein paar Vorteile des Liangschen Trennalgorithmus:
>
>> * Der Trennalgorithmus ist schnell (O(n) mit n = Wortlänge,
>> und die zugrundeliegenden Operationen sind sehr leichtgewichtig:
>> je Buchstabe ein Tabellenzugriff [für die Zustandsänderung des
>> Automaten] und eine schlecht zu schätzende, aber geringe Zahl
>> von Vergleichen [zur Maximumbestimmung]).
>
> das bezieht sich auf die Trennmusterdateien die im Allgemeinen
> < 100 kB sind und ist außerdem extrem abhängig von der maximalen
> Trennmusterlänge.
Nö, wie geschrieben, O(n) mit n = Wortlänge. Die Größe der Musterdatei
oder einzelner Muster ist völlig unerheblich. Jedenfalls in der
Implementierung in libhyphen, welches von LuaTeX verwendet wird.
Es kann sein, dass die Implementierung in traditionellem TeX etwas
einfacher ist (mehrere kleinere Tries parallel, statt eines großen
Automaten verwendet werden) und dort etwas mehr Tabellenzugriffe nötig
sind. Aber auch dann ist der Algorithmus O(n), nur die
zugrundeliegenden Operationen sind geringfügig aufwendiger (mehr
Tabellenzugriffe pro Buchstabe).
>> * Wie schon erwähnt, kommen Anwender mit dem rechenaufwendigen
>> Prozess der Mustererstellung nicht in Berührung.
>>
>> Vorteile eines anderen Algorithmus kann ich nur erkennen, wenn dieser in
>> der Lage ist, Trennstellen gleicher Klasse unterschiedlich zu wichten.
>
> Das ist doch mein Reden! Eure Liste ist für PatGen Overkill, wohingegen
> ein Script, welches die TeXquelle anhand von Parametern in
> beispielsweise
>
> "Vor\-teile eines anderen Algo\-rith\-mus kann ich nur er\-kennen,
> wenn die\-ser in der Lage ist, Trenn\-stellen gleicher Klasse
> unter\-schied\-lich zu wich\-ten."
>
> umwandelt, also dem pdflatex/xelatex/lualatex/was-auch-immer
> vorgeschaltet wird. Die Trennmuster finden dann in obigen Beispiel
> nur noch Anwendung bei (und zwar automatisch!)
>
> " eines anderen kann ich nur wenn in der Lage ist gleicher Klasse zu "
Nach wie vor kann ich das Problem nicht erkennen, für das Du Abhilfe suchst?
> Und ein Skript zu erstellen, welches mit der bereits vorhanden Wortliste
> gewichtete Trennungen durch Einfügen von "\-" in bekannte Wörter
> vornimmt, ist auch nicht sonderlich kompliziert.
Soweit ich weiß, müsste jenes Skript einen TeX-Parser implementieren.
Darunter geht es nicht.
Viele Grüße,
Stephan Hennig
Mehr Informationen über die Mailingliste Trennmuster