Wertrichtiges alphabetisches Sortieren von Zahlen
Das Problem
Man kann Wörter in Alphabetreihenfolge sortieren, und Zahlen nach ihrem Wert.
Doch beide Verfahren widersprechen sich: Sortiert man Zahlen alphabetisch,
so geraten die Werte durcheinander. Zum Beispiel wird aus der Liste 2, 12, 30
(numerisch geordnet) die Liste 12, 2, 30 (alphabetisch geordnet nach ASCII):
Die 12 kommt jetzt vor der 2, weil sie mit einer kleineren Ziffer anfängt.
Schöner wäre es, ein Ordnungsschema für Wörter (einschließlich Zahlen) zu haben,
das Zahlen automatisch nach Wert sortiert. Wir zeigen 3 Lösungen:
Lösung 1: Vorsortierung nach Länge
1) Alle Wörter (Lexikon-Wörter und Zahlen) werden zuerst nach Länge sortiert:
zuerst kommen alle Wörter der Länge 1 Zeichen, dann alle Wörter der Länge 2, ...
2) Alle gleichlangen Wörter werden dann wie üblich alphabetisch sortiert
Dabei spielt es keine Rolle, ob die Ziffern im Zeichensatz vor oder hinter den
Buchstaben liegen. Nur müssen sie nach aufsteigendem Wert geordnet sein,
damit die Zahlen aufsteigend sortiert sind.
Die Sortierung muß an der Wortseite beginnen, wo der Stellenwert bei Zahlen höher ist:
bei "westlicher" Schreibweise am Wortanfang, bei arabischer Schreibweise am Wortende.
(Im Arabischen werden Zahlen geschrieben, indem man mit der Ziffer mit dem
kleinsten Stellenwert beginnt. Das hat den Vorteil, daß in Spalten mit
ungleich langen Zahlen alle Ziffern stellenrichtig untereinander stehen,
auch ohne vorher eingefügte Leerräume.)
Mit diesem Verfahren sind alphabetisch sortierte ganze Zahlen in Wertreihenfolge,
auch gebrochene Zahlen mit gleichlangem Nachkommateil.
Alle gebrochenen Zahlen werden alphabetisch und wertrichtig sortiert, wenn sie
zuerst nach dem Vorkomma-Teil sortiert werden. Aber das macht die Sache komplizierter,
was sich kaum lohnt: Exponentialausdrücke und Rechenausdrücke ( 5+7 , 3*9 )
sind formal eh nicht wertrichtig zu sortieren - man muß zuerst den Wert
errechnen und in Standarddarstellung bringen.
Bewertung allgemein
Das eben beschriebene Ordnungsschema hat den Vorteil, daß alpabetisch
sortierte Zahlen gleichzeitig nach Wert sortiert sind.
Auch bewirkt es, daß gleichlange Wörter zusammen im Lexikon erscheinen:
- Das sieht viel ordentlicher aus
- Ist viel intuitiver: sogar ein Analphabet erkennt dieses Ordnungsschema
- Man hat eine Liste der kürzesten und gleichlangen Wörter einer Sprache
Es kann aber auch nachteilig sein: "Haus" und "Hausbau" liegen im Lexikon weit auseinander,
allerdings nur im Deutschen. Im Englischen gibt es Wortgruppen statt Wortzusammensetzungen.
Die Vorsortierung der Wörter nach Länge macht es nötig, zuerst die Zeichen
im Wort zu zählen. Das ist unpraktisch, wenn man ganze Wortgruppen sortiert,
und bei aufgeblähter Schreibweise (z.B. "sch" für einen einzigen Laut).
Und ist ziemlich einfach bei kompakter Schreibweise, z.B. einer Silbenschrift.
Oder bei Silbenstruktur "Konsonant + Vokal" und daran angelehnter Schreibweise
(z.B. Konsonantenzeichen mit Oberlängen, Vokalzeichen ohne Oberlängen, wie z.B. im Wort "kitali").
Fazit: Eine wertrichtige ABC-Folge ist zwar für jedes Alphabet machbar
und immer vorteilhaft. Wie praktisch obige Methode ist, hängt jedoch vom
Alphabet und der Sprache ab, deren Wörter sortiert werden sollen. Für
manche Sprachen / Schriften ist sie eher unpraktisch, für andere vermutlich
die optimale Lösung.
Bewertung für Englisch
a I an at be .. add aid all .. able also byte .. apple apply april .. | Die Liste aller Wörter in einem englischen Text könnte z.B. aussehen wie links gezeigt Am Anfang erscheinen viele der wichtigsten englischen Wörter, weil diese ziemlich kurz sind. Die ganze Liste wirkt sehr ordentlich. Noch schöner wäre sie, wenn man für das Latein-Alphabet eine logischere Ordnung einführen würde, z.B. zuerst alle Vokale, nach Tonhöhe geordnet (s.u. Plansprache) Wortgruppen wie "apple cake" werden nach dem ersten Wort, hier "apple", einsortiert |
Bewertung für Deutsch
Im Deutschen gibt es viele Wortzusammensetzungen, z.B. "Hausbau", wo das Englische
Wortgruppen wie "house building" verwendet. Leider lägen "Haus" und "Hausbau"
im Lexikon weit auseinander, weil sie verschieden lang sind.
Eine Lösung wäre es, zusammengesetzte Wörter hinter dem ersten Wort einzusortieren.
Sie sollten irgendwie markiert werden, um dem Leser das Suchen im Lexikon zu erleichtern.
Automatisch ergäbe sich das, wenn man zusammengesetzte Wörter mit Bindestrich schreiben
würde, was aber höheren Schreibaufwand bedeutet und der zusammenhängenden Aussprache
widerspricht.
Diese Sortierung zusammengesetzter Wörter wäre rein formal machbar:
Auch ein Computer kann erkennen, daß "Astwerk" aus "Ast" und "Werk" besteht.
Nur bei kurzen Endsilben ist Vorsicht geboten: "Aster" besteht nicht aus "Ast" und "er".
Bewertung für Japanisch
Japanische Wörter haben Silben der Form "Konsonant + Vokal"
oder "Vokal" (nur am Wortanfang). Das macht eine Sortierung von Wörtern
nach Länge ziemlich einfach. Besonders wenn Japanisch mit einer der beiden
Silbenschriften, Hiragana oder Katakana, geschrieben wird. Zahlen
werden meist mit westlichen Ziffern geschrieben.
Bewertung für akustisch einfache Plansprachen
Wir stellen uns eine akustisch einfache Plansprachwe vor:
Alle Silben haben die Form "Konsonant + Vokal", z.B. ti, ta, ki .
Die Bestimmung der Wortlängen (für unsere Sortierung nötig) ist sehr einfach,
bei einer Durchschnittslänge von 3 - 4 Silben pro Wort. Sowohl auf optische
Art (Silbenzeichen zählen), als auch akustisch: man spricht ein Wort quasi
im Geiste und zählt im Takt die Silben.
Lösung 2: Ziffernabstand
Eine Zahl wird als Folge von Ziffern mit Zwischenräumen geschrieben: statt 123 schreibt man 1 2 3 .
Jede Ziffer ist also immer ein einzelnes Wort (eine Zahl eine Wortgruppe),
und alle Worte werden somit immer wertrichtig sortiert. Will man aber auch Zahlen
(aus mehreren Ziffern bestehend) alphabetisch und gleichzeitig wertrichtig sortieren,
so muß man Wortgruppen zuerst nach der Gesamtlänge sortieren, wie bei Lösung 1
Die Lösung "Ziffernabstand" wurde z.B. bei der
Lautbildschrift
gewählt, einer aus speziellen Buchstaben zusammengesetzten Bilderschrift.
Zahlen bestehen aus getrennt geschriebenen Ziffern deshalb, weil sie dann eher
den Eindruck einer Menge machen, als bei einem Ziffernblock. Genau genommen
gibt es in der Lautbildschrift keine speziellen Ziffern, sondern manche
Buchstaben (Einfach-, Doppel-, Dreifachstrich) werden als Ziffern verwendet.
Das hat den Vorteil, daß die 'Ziffern' automatisch sprechbar sind.
Bei alphabetischer Sortierung sind die 'Ziffern' also automatisch nicht
nur nach Schrift, sondern auch nach Aussprache richtig sortiert, und auch
nach Wert (wenn sie in Wertreihenfolge im ABC stehen, am besten zusammen
und am Anfang, die 'Ziffer' 1 (= das Wort 1) ist dann der erste Buchstabe).
Daß eine Zahl eine Wortgruppe ist, bestehend aus Ziffern als einzelnen
Worten, hat auch den Vorteil, daß die Sprache weniger Worte hat -
ansonsten wäre ja jede Zahl (es gibt unendlich viele) ein Wort,
und das Lexikon wäre unendlich lang.
Lösung 3: Wörter in Zahlen umrechnen
Alphabetische Wörter werden in Zahlen umgerechnet. Zahlen selbst behalten ihren Wert.
In einer Liste kann eine Zahl selbst und ein Wort mit diesem Zahlenwert vorkommen.
Dann sollte die Zahl standardmäßig vor dem entsprechenden Wort stehen.
Für die Umrechnung Wort - Zahl gibt es unzählige Methoden, die vor allem in der
Kryptographie eine Rolle spielen. Hier interessiert nur die Sortierung von Wörtern.
Bei der Umrechnung gibt es 4 Stufen der Einfachheit:
Stufe 1: Jeder Buchstabe wird als Ziffer aufgefaßt: Im Latein-ABC z.B.
a=1, b=2, c=3, ... z=26 . Dann wird ein Wort als Zahl aufgefaßt:
"abc" z.B. wäre die Zahl 123, allerdings im System zur Basis 26
oder höher (weil man 26 Ziffern hat, soviel wie Buchstaben).
Diese Methode ist wegen der damit verbundenen Rechnerei sehr unpraktisch.
Stufe 2: Jeder Buchstabe wird als Doppelziffer aufgefaßt: Im Latein-ABC z.B.
a=01, b=02, c=03, ... z=26 . Dann wird ein Wort als Zahl aufgefaßt:
"abc" z.B. wäre die Zahl 010203
Diese Methode erfordert keine Rechnerei, aber die Zahlen sind fast doppelt so lang.
Stufe 3: Ein Wort in einer Schrift mit nur 10 Buchstaben läßt sich
leicht in eine Dezimalzahl umwandeln: Man macht aus jedem Buchstaben
eine Ziffer = seine Nr. im ABC
Auch Wörter in einer Schrift mit 20 Buchstaben - 10 Konsonanten und 10 Vokalen -
lassen sich leicht in eine Dezimalzahl umwandeln, wenn alle Silben die
Struktur "Konsonant + Vokal" haben:
Man weist jedem Konsonanten eine Ziffer von 0 - 9 zu, genauso jedem Vokal,
und schon ist jedem Wort eindeutig eine Zahl zugeordnet.
Umgekehrt ist auch jeder Zahl eindeutig ein Wort zugeordnet.
Das Verfahren funktioniert auch, wenn die Schrift weniger Konsonanten oder
Vokale hat, ist dann aber nicht mehr umkehrbar.
Stufe 4: Am einfachsten ist die Umwandlung eines Wortes (in einer Schrift
mit nur 10 Buchstaben) in eine Dezimalzahl, wenn man generell Buchstaben
als Ziffern verwendet (ähnlich wie in der griechisch / römischen Antike).
Zahlen müßten durch eine Partikel gekennzeichnet sein, weil man sonst nicht wüßte,
ob z.B. mit dem Wort "Haus" ein Haus oder die entsprechende Zahl gemeint ist.
Ähnlich könnte man die Zeichen einer Silbenschrift mit 60 Zeichen als Ziffern im 60-er
System verwenden - auch dann wäre jedes Wort automatisch eine Zahl.
Die beschriebenen Arten, die ABC-Folge von Wörtern per Zahlenwert zu definieren,
bewirken dieselbe Wortreihenfolge wie die oben beschriebene Lösung 1 (Vorsortierung
nach Länge, dann alphabetische Sortierung)
Die Benutzung der hier beschriebenen Techniken ist frei Stand: 15.7.05 Autor: Leonhard Heinzmann Homepage