Alphabet (Informatik) Inhaltsverzeichnis Definition | Abgrenzung zur natürlichen Sprache | Beispiele |...


CompilerbauTheorie formaler Sprachen


endliche MengeSigmaenglischKleenesche HülleWörterdisjunkteω{displaystyle omega }0{displaystyle aleph _{0}}Wort (Theoretische Informatik)formale Sprachenleere WortZeichensatzZeichenkodierungDINtotal geordneteTotalordnungLexikographische OrdnungAlphabetenatürlicher Sprachenlateinischen BuchstabenBuchstabenArbitraritätSymboleWort









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 Σ{displaystyle Sigma } (Sigma) bezeichnet, seltener wird als Formelzeichen V{displaystyle V} als Abkürzung für Vokabular (englisch vocabulary) benutzt.[1] Die Kleenesche Hülle Σ{displaystyle Sigma ^{*}} des Alphabets bezeichnet die Menge aller Wörter (d. h. endlichen Sequenzen) über dem Alphabet Σ{displaystyle Sigma }, die durch Symbole aus Σ{displaystyle Sigma } gebildet werden können. Formal ist diese gegeben durch die disjunkte Vereinigung



Σ=⋃n∈N∪{0}Σn{displaystyle Sigma ^{*}=bigcup _{nin mathbb {N} cup {0}}Sigma ^{n}}  .

(Mit Σω{displaystyle Sigma ^{omega }} werden die abzählbar unendlichen Folgen von Zeichen aus den Alphabet Σ{displaystyle Sigma } bezeichnet, siehe: ω{displaystyle omega } = 0{displaystyle aleph _{0}}. Σ{displaystyle Sigma ^{infty }} bezeichnet die gesamte Menge ΣΣω{displaystyle Sigma ^{ast }cup Sigma ^{omega }} der endlichen Sequenzen und unendlichen Folgen von Zeichen.)


Die zu jedem Wort w{displaystyle w} aus Σ{displaystyle Sigma ^{*}} eindeutig bestimmte Zahl n{displaystyle n} mit w∈Σn{displaystyle win Sigma ^{n}} heißt Länge des Wortes w{displaystyle w}. 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:



Σ+=⋃n∈n{displaystyle Sigma ^{+}=bigcup _{nin mathbb {N} }Sigma ^{n}}  .   [3]



Inhaltsverzeichnis






  • 1 Definition


  • 2 Abgrenzung zur natürlichen Sprache


  • 3 Beispiele


  • 4 Einzelnachweise und Bemerkungen





Definition |


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 ,≤){displaystyle (Sigma ,leq )},[9][10] siehe auch Lexikographische Ordnung.



Abgrenzung zur natürlichen Sprache |


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 Σ={do,re,mi}{displaystyle Sigma ={{mathit {do}},{mathit {re}},{mathit {mi}}}} ein Alphabet mit drei Elementen. Sie können in beliebiger Reihenfolge zusammenfügt werden, etwa zu domidore{displaystyle color {black}{mathit {do}}color {red}{mathit {mi}}color {black}{mathit {do}}color {red}{mathit {re}}}.


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 domidore{displaystyle color {black}{mathit {do}}color {red}{mathit {mi}}color {black}{mathit {do}}color {red}{mathit {re}}} 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 cdfg{displaystyle cdfg} ein Wort.



Beispiele |



  • Mit Hilfe des Alphabets Σ={0,1,2,3,4,5,6,7,8,9}{displaystyle Sigma =lbrace 0,1,2,3,4,5,6,7,8,9rbrace } 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 ΣD={dit,dah}{displaystyle Sigma _{D}={dit,dah}} bzw. {.,−}{displaystyle {.,-}}, aus dem die Menge der Morsezeichen LD{displaystyle L_{D}} auf Grundlage der einzelnen Buchstabenhäufigkeiten gebildet wird. Neben den Buchstaben und Zahlen ist unter anderem auch SOS (...−...{displaystyle ...---...}) 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: ΣM=LD∪{PAUSE}{displaystyle Sigma _{M}=L_{D}cup {{text{PAUSE}}}}.


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 |




  1. Im Zusammenhang mit einer formalen Grammatik G{displaystyle G} und der durch sie erzeugten formalen Sprache L(G){displaystyle L(G)} wird der Zeichensatz der formalen Sprache Terminalalphabet genannt und oft mit dem Zeichen T{displaystyle T} (statt Σ{displaystyle Sigma }) bezeichnet. Darüber hinaus benötigt eine formale Grammatik noch eine davon disjunkte, nichtleere Menge von Nichtterminalen(Variablen), oft mit N{displaystyle N} (seltener mit <V{displaystyle V}) bezeichnet, formal handelt es sich dabei ebenfalls um ein Alphabet. Nichtterminale dürfen in Wörtern aus L(G){displaystyle L(G)} nicht vorkommen. Die (disjunkte) Vereinigung von Terminalen und Nichtterminalen ist dann das gesamte Vokabular, oft mit V{displaystyle V} (oder eben Σ{displaystyle Sigma }) 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 Original- und Archivlink 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). 




Popular posts from this blog

is 'sed' thread safeWhat should someone know about using Python scripts in the shell?Nexenta bash script uses...

How do i solve the “ No module named 'mlxtend' ” issue on Jupyter?

Pilgersdorf Inhaltsverzeichnis Geografie | Geschichte | Bevölkerungsentwicklung | Politik | Kultur...