Alphabet (Informatik)

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Die Artikel Alphabet (Informatik) und Alphabet (Mathematik) überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zusammenzuführen (→ Anleitung). Beteilige dich dazu an der betreffenden Redundanzdiskussion. Bitte entferne diesen Baustein erst nach vollständiger Abarbeitung der Redundanz und vergiss nicht, den betreffenden Eintrag auf der Redundanzdiskussionsseite mit {{Erledigt|1=~~~~}} zu markieren. Ziegenberg (Diskussion) 20:28, 22. Feb. 2017 (CET)

In der Informatik ist ein Alphabet eine endliche Menge voneinander unterscheidbarer Symbole, die auch Zeichen oder Buchstaben genannt werden.

Alphabete werden oft mit dem Formelzeichen (Sigma) bezeichnet, seltener wird als Formelzeichen als Abkürzung für Vokabular (englisch vocabulary) benutzt.[1] Die Kleenesche Hülle des Alphabets bezeichnet die Menge aller Wörter (d. h. endlichen Sequenzen) über dem Alphabet , die durch Symbole aus gebildet werden können. Formal ist diese gegeben durch die disjunkte Vereinigung

  .

(Mit werden die abzählbar unendlichen Folgen von Zeichen aus den Alphabet bezeichnet, siehe: = . bezeichnet die gesamte Menge der endlichen Sequenzen und unendlichen Folgen von Zeichen.)

Die zu jedem Wort aus eindeutig bestimmte Zahl mit heißt Länge des Wortes . Operationen auf Wörtern sind die Konkatenation (Verkettung), Potenz (mehrfach hintereinander Setzen), Spiegelung; ein Wort kann Teil eines anderen Wortes sein (Infix, englisch substring) – näheres siehe Wort (Theoretische Informatik): Alphabete stellen somit das Zeicheninventar für Wörter zur Verfügung und bilden damit die Grundlage für formale Sprachen.

Man muss unterscheiden zwischen dem Alphabet aus Einzelzeichen und den Wörtern unterschiedlicher Länge, die über diesem Alphabet gebildet werden. Insbesondere gehört das leere Wort (das triviale Wort mit der Länge 0) nie zum Alphabet, da es in jeder Wortmenge enthalten ist.[2] Menge der nicht-leeren Worte:

  .   [3]

Definition[Bearbeiten | Quelltext bearbeiten]

Ein Alphabet ist eine endliche Menge. Oft wird auch verlangt, dass die Menge nicht leer ist. Die Elemente eines Alphabets werden als Buchstaben, Symbole oder Zeichen bezeichnet.[4][5][6][7] Dieser Definition zufolge ist das Alphabet ein Zeichenvorrat, gleichbedeutend mit einem Zeichensatz.[8] Mit dem Wort Zeichensatz ist aber oft auch eine Zeichenkodierung gemeint. Alphabete sind hingegen unabhängig von einer Kodierung.

Nach DIN 44300 ist ein Alphabet dagegen eine total geordnete endliche Menge von unterscheidbaren Symbolen. Es handelt sich demnach genauer gesagt um einen Zeichenvorrat zusammen mit einer Totalordnung ,[9][10] siehe auch Lexikographische Ordnung.

Abgrenzung zur natürlichen Sprache[Bearbeiten | Quelltext bearbeiten]

In der Informatik ist das Alphabet eine Verallgemeinerung der üblichen Alphabete natürlicher Sprachen. Beispielsweise ist das Alphabet der lateinischen Buchstaben auch ein Alphabet im Sinne der Informatik. In der Theoretischen Informatik kommen jedoch häufig auch Alphabete vor, deren Elemente Symbole sind, die man mit mehreren Buchstaben darstellt. Zum Beispiel ist ein Alphabet mit drei Elementen. Sie können in beliebiger Reihenfolge zusammenfügt werden, etwa zu .

Hier ist dann die Arbitrarität der Symbole besonders wichtig: Welche Zeichen für die Elemente des Alphabets verwendet werden, ist belanglos, solange sie voneinander unterscheidbar sind. Die Zeichenkette kann also beispielsweise für eine Tonfolge stehen, aber genauso auch für eine Programmsteuerung mit drei unterschiedlichen Befehlen.

In dem Zusammenhang ist auch zu beachten, dass man in der Informatik jede beliebige Folge von Zeichen eines Alphabets als Wort bezeichnet. In vielen Computersprachen ist dafür die englische Bezeichnung string im Gebrauch. Auch über dem lateinischen Alphabet ist also in der Informatik die Zeichenfolge ein Wort.

Beispiele[Bearbeiten | Quelltext bearbeiten]

  • Mit Hilfe des Alphabets können alle natürlichen Zahlen im Dezimalsystem gebildet werden. In der Zahlenlehre wird entsprechend der Unterscheidung von Zeichen eines Alphabets und Wörtern über diesem Alphabet zwischen Ziffern und Zahlendarstellungen unterschieden. Eine Zahl ist dann ein Abstraktum, nämlich die Bedeutung (Semantik, hier: Zahlenwert) einer syntaktisch korrekten Zahlendarstellung.
  • Das römische Zahlensystem basiert in der Grundform auf dem Alphabet Σ = {I, V, X, L, C, D, M} (mit verschiedenen Erweiterungen für große Zahlen). Hier sind jedoch die Regeln, wie die Zeichenfolge beschaffen sein muss, um als Wort des römischen Zahlensystems zu gelten, komplex (IV anstatt IIII, größere Einheiten weiter links als kleinere, …). Sie können aber durch eine formale Grammatik dargestellt werden. Die Zeichenfolgen 13 und XIII sind verschiedene Darstellungen derselben (abstrakten) Zahl.
  • Für den Morsecode lassen sich zwei unterschiedliche Alphabete angeben, die das Kommunikationssystem des Morsens auf unterschiedlichen Ebenen beschreiben: Zunächst gibt es das Alphabet bzw. , aus dem die Menge der Morsezeichen auf Grundlage der einzelnen Buchstabenhäufigkeiten gebildet wird. Neben den Buchstaben und Zahlen ist unter anderem auch SOS () direkt ein Morsezeichen, da es ohne Pause zwischen den dit und dah gemorst wird. Die Zeichen einer Nachricht werden - abgesehen von dieser Ausnahme - im Allgemeinen aber nicht einfach hintereinanderweg gemorst, sondern es wird zwischen den einzelnen Zeichen jeweils eine kurze Pause eingelegt. Dies ist nötig, da einige Zeichen ebenfalls den Anfang anderer Zeichen bilden; siehe Präfixcode. Das Morsealphabet selbst besteht also insgesamt aus den Zeichen und der Pause zwischen den Zeichen: .

Diese Beispiele sollen verdeutlichen, dass sich der Aufbau eines komplexen Kommunikationssystems durch gegebenenfalls hierarchisch aufgebaute Paare von Alphabeten und zugeordneten Sprachen beschreiben lässt.

Einzelnachweise und Bemerkungen[Bearbeiten | Quelltext bearbeiten]

  1. Im Zusammenhang mit einer formalen Grammatik und der durch sie erzeugten formalen Sprache wird der Zeichensatz der formalen Sprache Terminalalphabet genannt und oft mit dem Zeichen (statt ) bezeichnet. Darüber hinaus benötigt eine formale Grammatik noch eine davon disjunkte, nichtleere Menge von Nichtterminalen(Variablen), oft mit (seltener mit <) bezeichnet, formal handelt es sich dabei ebenfalls um ein Alphabet. Nichtterminale dürfen in Wörtern aus nicht vorkommen. Die (disjunkte) Vereinigung von Terminalen und Nichtterminalen ist dann das gesamte Vokabular, oft mit (oder eben ) bezeichnet.
  2. Christian Wagenknecht, Michael Hielscher: Formale Sprachen, abstrakte Automaten und Compiler: Lehr- und Arbeitsbuch für Grundstudium und Fortbildung. ISBN 3-8348-0624-2, S. 20. (online)
  3. Klaus Reinhardt: Prioritatszahlerautomaten und die Synchronisation von Halbspursprachen (Memento des Originals vom 17. Januar 2018 im Internet Archive) i Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe den Link gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/users.informatik.uni-halle.de, Fakultät Informatik der Universität Stuttgart; Doktorarbeit 1994
  4. Katrin Erk, Lutz Priese: Theoretische Informatik: eine umfassende Einführung. 2., erw. Auflage. Springer-Verlag, 2002, ISBN 3-540-42624-8, S. 27.
  5. Juraj Hromkovič: Theoretische Informatik. Formale Sprachen, Berechenbarkeit, Komplexitätstheorie, Algorithmik, Kommunikation und Kryptographie (= Teubner Leitfäden der Informatik). 2. über. u. erw. Auflage. B.G. Teubner Verlag, 2004, ISBN 3-519-10332-X, S. 33 (eingeschränkte Vorschau in der Google-Buchsuche).
  6. Susanna S. Epps: Discrete Mathematics with Applications. 4. Auflage. Brooks Cole Pub Co, 2010, ISBN 0-495-39132-8, S. 781 (eingeschränkte Vorschau in der Google-Buchsuche).
  7. Alexandru Mateescu, Arto Salomaa: Formal Languages: an Introduction and a Synopsis. In: Grzegorz Rozenberg, Arto Salomaa (Hrsg.): Handbook of formal languages. Word, Language, Grammar. Vol. 1. Springer-Verlag, 1997, ISBN 3-540-60420-0, S. 10 (eingeschränkte Vorschau in der Google-Buchsuche).
  8. Manfred Broy: Systemstrukturen und Theoretische Informatik. In: Informatik. Eine grundlegende Einführung. 2. überarb. Auflage. Band 2. Springer, Berlin 1998, ISBN 3-540-64392-3, S. 191 (eingeschränkte Vorschau in der Google-Buchsuche).
  9. Hans-Jürgen Appelrath, Jochen Ludewig: Skriptum Informatik. Eine konventionelle Einführung. 5. Auflage. B.G. Teubner, Stuttgart/ Leipzig 2000, ISBN 3-519-42153-4, S. 24 (eingeschränkte Vorschau in der Google-Buchsuche).
  10. Gerhard Goos, Friedrich L. Bauer: Informatik 1. Eine einführende Übersicht. 4. verb. Auflage. Springer, Berlin/ Heidelberg 1991, ISBN 3-540-52790-7, S. 29 (eingeschränkte Vorschau in der Google-Buchsuche).