Wort (Theoretische Informatik)

Wort (Theoretische Informatik)

In der theoretischen Informatik ist ein Wort eine endliche Folge von Symbolen eines Alphabets. Im Gegensatz zur natürlichsprachlichen Bedeutung von Wörtern, die stets eine eigenständige Bedeutung haben, hat ein Wort in der theoretischen Informatik keine sprachliche Bedeutung. Es ist lediglich ein anderer Begriff für eine Zeichenkette.

Wörter oder Worte[1] sind die Elemente einer formalen Sprache. Sie sind deshalb wichtig für mathematische Modellierungen, für die Theorie der Programmiersprachen, für die Berechenbarkeitstheorie und andere Gebiete der theoretischen Informatik.

Inhaltsverzeichnis

Definition

Es sei Σ ein gegebenes Alphabet und n eine natürliche Zahl aus \mathbb{N}_{0}, der Menge der natürlichen Zahlen einschließlich der Null (\mathbb{N}_{0} = \{ 0, 1, 2, \ldots \}). Ein Wort w der Länge n ist eine endliche Folge (x_{1}, x_{2}, x_{3}, \ldots, x_{n}) mit x_{i} \in \Sigma für alle i \in \{ 1, \ldots, n \}.

Die Länge n eines Wortes w wird als | w | notiert. Ein besonderes Wort ist das leere Wort, das aus keinem Symbol besteht (die Länge 0 besitzt) und meist mit dem griechischen Buchstaben ε (Epsilon) dargestellt wird. Die Menge aller Wörter, die man aus einem Alphabet Σ bilden kann, ist die Kleenesche Hülle über diesem Alphabet, kurz Σ * .

Zur Angabe eines Wortes wird oft die vereinfachte Schreibweise w=x_{1} x_{2} x_{3} \ldots x_{n} benutzt, was jedoch nur möglich ist, wenn das verwendete Alphabet eine eindeutige Zuordnung der benutzten Symbole zulässt. So kann diese Kurzschreibweise beim Alphabet Σ = {a,aa} nicht angewendet werden, da hier zum Beispiel aus der Schreibweise w = aaa nicht eindeutig hervorgeht, ob das Wort (a,aa), (aa,a) oder (a,a,a) gemeint ist.

Beispiele

Es sei Σ1 das Alphabet der lateinischen Buchstaben und \Sigma_{2} = \lbrace \diamondsuit, \heartsuit, \spadesuit, \clubsuit \rbrace. Dann sind die Wörter w1 = haus und w2 = xyzzy Beispiele für Wörter über Σ1 und w_{3} = \heartsuit \clubsuit \clubsuit \heartsuit \spadesuit ist ein Wort über Σ2. Man erkennt, dass | w1 | = 4 und | w2 | = | w3 | = 5 ist.

Operationen auf Wörtern

Konkatenation

Die Konkatenation oder Verkettung ist eine Verknüpfung zweier Wörter zu einem neuen Wort, das durch Aneinanderhängen der beiden Symbolfolgen entsteht. Die Konkatenation der beiden Wörter x und y über einem Alphabet Σ wird mit xy oder x \circ y angegeben und ist definiert durch:

xy = x \circ y := (x_{1}, x_{2}, x_{3}, \ldots, x_{n}, y_{1}, y_{2}, y_{3}, \ldots, y_{k})

Dabei ist nach der Definition des Wortes x=(x_{1}, x_{2}, x_{3}, \ldots, x_{n}) und y=(y_{1}, y_{2}, y_{3}, \ldots, y_{k}) mit n,k \in \mathbb{N}_{0} und x_{i},y_{j} \in \Sigma für alle i \in \{ 1, \ldots, n \} und j \in \{ 1, \ldots, k \}. Nach der obigen Definition ist x ein Präfix und y ein Suffix des durch die Konkatenation entstandenen Wortes x \circ y. Die Länge eines konkatenierten Wortes entspricht dabei der Summe der Längen der einzelnen (Teil-)Wörter. So gilt für jedes Wort u und v:

|u \circ v| = |u| + |v|

Das neutrale Element der Konkatenation ist das leere Wort, da für jedes beliebige Wort w gilt, dass:

w \circ \varepsilon = \varepsilon \circ w = w

Da außerdem die Konkatenation assoziativ ist, bildet das Tripel (\Sigma^*,\circ,\varepsilon) aus der Menge aller Wörter über einem beliebigen Alphabet Σ, der Verknüpfung der Konkatenation und dem leeren Wort als neutralem Element ein Monoid. Die Assoziativität bedeutet, dass ohne weiteres Klammern weggelassen werden können:

(haus \circ \heartsuit \clubsuit \clubsuit \heartsuit \spadesuit) \circ xyzzy = haus \circ( \heartsuit \clubsuit \clubsuit \heartsuit \spadesuit \circ xyzzy) = haus \heartsuit \clubsuit \clubsuit \heartsuit \spadesuit xyzzy

Demgegenüber ist die Konkatenation nicht kommutativ, d. h. nicht für alle Wörter u und v gilt, dass  u \circ v = v \circ u ist. Dies ist nämlich nur der Fall, wenn u und v übereinstimmen und/oder mindestens eines der beiden Wörter das leere Wort ist. So ist zum Beispiel:

haus \circ \heartsuit \clubsuit \clubsuit \heartsuit \spadesuit = haus \heartsuit \clubsuit \clubsuit \heartsuit \spadesuit \not= \heartsuit \clubsuit \clubsuit \heartsuit \spadesuit haus = \heartsuit \clubsuit \clubsuit \heartsuit \spadesuit \circ haus

Potenz

Die n-te Potenz wn eines Wortes w ist definiert als die (n − 1)-fache Konkatenation dieses Wortes mit sich selbst. Die Definition der Potenz wird meist rekursiv angegeben:

w0: = ε
w^{n+1} := w^{n} \circ w   (für n \in \mathbb{N}_{0})

So sind zum Beispiel:

(xyzzy)0 = ε
(\heartsuit \clubsuit \clubsuit \heartsuit \spadesuit)^1 = (\heartsuit \clubsuit \clubsuit \heartsuit \spadesuit)^0 \,\circ\, \heartsuit \clubsuit \clubsuit \heartsuit \spadesuit = \varepsilon \,\circ\, \heartsuit \clubsuit \clubsuit \heartsuit \spadesuit = \heartsuit \clubsuit \clubsuit \heartsuit \spadesuit
(haus)^3=(haus)^2 \,\circ\, haus = ((haus)^1 \,\circ\, haus) \,\circ\, haus = ((\varepsilon \,\circ\, haus) \,\circ\, haus) \,\circ\, haus = haushaushaus

Nach der Definition der Konkatenation ist die Länge der n-ten Potenz eines beliebigen Wortes w gleich dem Produkt aus n und der Länge von w:

|w^n| = n \cdot |w|

Spiegelung

Die Spiegelung oder das Reverse wR eines Wortes w ergibt sich, wenn man w rückwärts schreibt. Wenn also w = (x_{1}, x_{2}, x_{3}, \ldots, x_{n}) ist, so ist wR die endliche Folge (y_{1}, y_{2}, y_{3}, \ldots, y_{k}) mit k = n und yi = xn + 1 − i für alle i \in \{ 1, \ldots, k \}. Die Länge eines Wortes ist also gleich der Länge seiner Spiegelung:

| wR | = | w |

So gilt zum Beispiel für die folgenden Wörter:

εR = ε
(abb)R = bba
(\heartsuit \clubsuit \spadesuit \heartsuit)^R = \heartsuit \spadesuit \clubsuit \heartsuit

Das Reverse eines Wortes lässt sich außerdem mit Hilfe der strukturellen Induktion über dem Aufbau des betreffenden Wortes definieren. Dazu definiert man im Induktionsanfang das Reverse des leeren Wortes als das leere Wort. Im Induktionsschritt definiert man das Reverse eines aus einem Teilwort und einem Symbol zusammengesetzten Wortes als die Konkatenation des Symbols mit dem Reversen des Teilwortes:

Induktionsanfang: w=\varepsilon \Rightarrow w^{R} = \varepsilon^{R} := \varepsilon

Induktionsschritt: (w=v \circ a) \and (v \in \Sigma^*, a \in \Sigma) \Rightarrow w^R = (v \circ a)^R := a \circ (v^R)

So lässt sich schrittweise das Reverse eines Wortes herleiten:

 \varepsilon^R = \varepsilon
 (abb)^R = b \circ (ab)^R = b \circ b \circ (a)^R = b \circ b \circ a \circ (\varepsilon)^R = b \circ b \circ a \circ \varepsilon = bba
(\heartsuit \clubsuit \spadesuit \heartsuit)^R = \heartsuit \circ (\heartsuit \clubsuit \spadesuit)^R = \heartsuit \circ \spadesuit \circ (\heartsuit \clubsuit)^R = \heartsuit \circ \spadesuit \circ \clubsuit \circ (\heartsuit)^R = \heartsuit \spadesuit \clubsuit \heartsuit

Ein Wort wie abaaba, das identisch mit seiner Spiegelung ist, wird Palindrom genannt.

Infix, Suffix und Präfix

Infix

Jede endliche Teilfolge von aufeinander folgenden Symbolen eines Wortes w wird Infix oder Teilwort des Wortes w genannt. Ein Infix eines gegebenen Wortes w = (x_{1}, x_{2}, x_{3}, \ldots, x_{n}) ist demnach jedes Wort \hat w = (y_{1}, y_{2}, y_{3}, \ldots, y_{k}), für das es (mindestens) ein i \in \mathbb{N}_{0} gibt, für das gilt, dass zum einen k+i \leq n und zum anderen xj + i = yj für jedes j \in \{ 1, \ldots, k \} ist. Demnach ist ein Wort u genau dann Infix eines Wortes w, wenn gilt, dass es mindestens ein Wort p und ein Wort s aus der Kleeneschen Hülle über dem Alphabet von w gibt, so dass p \circ u \circ s = w ist:

u\ \mathrm{ist\ Infix\ von}\ w :\; \Longleftrightarrow \exists p,s \in \Sigma^\ast:\; p \circ u \circ s = w

So ist das Wort \hat w = aba mit \hat w \in \lbrace a , b \rbrace^* ein Infix der Wörter babaab, abaababb und aba, nicht aber der Wörter abba, babbaabbab beziehungsweise des leeren Wortes ε.

Speziell ist das leere Wort ein Infix jedes beliebigen Wortes, und jedes Wort ist ein Infix von sich selbst. Ein Infix eines beliebigen Wortes, das nicht identisch mit diesem ist, wird echtes Infix genannt.

Präfix

Ein Präfix eines Wortes ist ein Infix am Anfang dieses Wortes. Ein Präfix eines Wortes w = (x_{1}, x_{2}, x_{3}, \ldots, x_{n}) ist demnach jedes Infix \hat w = (y_{1}, y_{2}, y_{3}, \ldots, y_{k}), für das gilt, dass k \leq n und xj = yj für jedes j \in \{ 1, \ldots, k \} ist. Demnach ist u genau dann Präfix des Wortes w, wenn es mindestens ein s aus der Kleeneschen Hülle über dem Alphabet, aus dem w erzeugt wurde, gibt, so dass u \circ s = w ist:

u\ \mathrm{ist\ Pr \ddot a fix\ von}\ w :\; \Longleftrightarrow \exists s \in \Sigma^\ast:\; u \circ s = w

Auch für Präfixe gilt, dass jedes Wort ein Präfix von sich selbst und das leere Wort ein Präfix jedes beliebigen Wortes ist. Ein Präfix eines Wortes, das nicht identisch mit ihm ist, wird echtes Präfix genannt.

Beispiel

Sei w = abaabb, so lauten die echten Präfixe für w:

  • ε
  • a
  • ab
  • aba
  • abaa
  • abaab.

Suffix

Ein Suffix eines Wortes ist ein Infix am Ende dieses Wortes. Ein Suffix eines Wortes w = (x_{1}, x_{2}, x_{3}, \ldots, x_{n}) ist nach der Definition des Infixes jedes Teilwort \hat w = (y_{1}, y_{2}, y_{3}, \ldots, y_{k}), für das gilt, dass es ein i \in \mathbb{N}_{0} gibt, für das zum einen k + i = n und zum anderen xj + i = yj für jedes j \in \{ 1, \ldots, k \} ist. Demnach ist ein Wort u genau dann Suffix eines Wortes w mit w \in \Sigma^\ast, wenn es mindestens ein p \in \Sigma^\ast gibt, so dass p \circ u = w ist:

u\ \mathrm{ist\ Suffix\ von}\ w :\; \Longleftrightarrow \exists p \in \Sigma^\ast:\; p \circ u = w

Wie für Präfixe und Infixe gilt auch für Suffixe, dass das leere Wort ein Suffix jedes beliebigen Wortes und ein beliebiges Wort stets auch ein Suffix von sich selbst ist. Ein Suffix eines Wortes, das nicht identisch mit ihm ist, wird echtes Suffix genannt.

Beispiel

Sei w = abaabb, so lauten die echten Suffixe für w:

  • baabb
  • aabb
  • abb
  • bb
  • b
  • ε.

Literatur

  • John E. Hopcroft, Jeffry D. Ullman: Einführung in die Automatentheorie, formale Sprachen und Komplexitätstheorie. 3. korrigierte Auflage. Addison Wesley, Bonn u. a. 1994, ISBN 3-89319-744-3 (Internationale Computer-Bibliothek).
  • Katrin Erk, Lutz Priese: Theoretische Informatik. Eine umfassende Einführung. 2. erweiterte Auflage. Springer-Verlag, Berlin u. a. 2002, ISBN 3-540-42624-8, S. 27–28 (Springer-Lehrbuch).
  • Gottfried Vossen, Kurt-Ulrich Witt: Grundkurs theoretische Informatik. Eine anwendungsbezogene Einführung - für Studierende in allen Informatik-Studiengängen. 4. verbesserte und erweiterte Auflage. Vieweg, Wiesbaden 2006, ISBN 3-8348-0153-4, S. 15 (online).

Anmerkungen und Einzelnachweise

  1. Gebräuchlich sind beide Pluralformen, vgl. z. B. dtv-Atlas zur Mathematik, Bd. I, S. 245, ISBN 3-423-03007-0 versus Bauer, Goos: Informatik, Bd. I, S. 28, ISBN3-540-06332-3

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Palindrom (Theoretische Informatik) — Ein Palindrom (von griechisch Παλίνδρομος (palíndromos) „rückwärts laufend“) ist eine Zeichenkette, die von vorn und von hinten gelesen gleich bleibt. Palindrome müssen nicht immer einen Sinn ergeben, die Zeichenkette muss allerdings von vorne… …   Deutsch Wikipedia

  • Theoretische Informatik — Mind Map zu einem Teilbereich der Theoretischen Informatik Die Theoretische Informatik beschäftigt sich mit der Abstraktion, Modellbildung und grundlegenden Fragestellungen, die mit der Struktur, Verarbeitung, Übertragung und Wiedergabe von… …   Deutsch Wikipedia

  • Infix (Theoretische Informatik) — In der theoretischen Informatik ist ein Wort eine endliche Folge von Symbolen (Zeichenkette) aus einem Alphabet. Die Anzahl der Symbole eines Wortes w ist ihre Länge und wird mit | w | bezeichnet. Ein besonderes Wort ist das leere Wort, welches… …   Deutsch Wikipedia

  • Präfix (Theoretische Informatik) — In der theoretischen Informatik ist ein Wort eine endliche Folge von Symbolen (Zeichenkette) aus einem Alphabet. Die Anzahl der Symbole eines Wortes w ist ihre Länge und wird mit | w | bezeichnet. Ein besonderes Wort ist das leere Wort, welches… …   Deutsch Wikipedia

  • Suffix (Theoretische Informatik) — In der theoretischen Informatik ist ein Wort eine endliche Folge von Symbolen (Zeichenkette) aus einem Alphabet. Die Anzahl der Symbole eines Wortes w ist ihre Länge und wird mit | w | bezeichnet. Ein besonderes Wort ist das leere Wort, welches… …   Deutsch Wikipedia

  • Reduktion (Theoretische Informatik) — Die Reduktion ist eine Methode der Theoretischen Informatik. Eine Reduktion ist die Lösung eines Problems mit Hilfe eines hypothetischen Algorithmus für ein anderes Problem. Die Reduzierbarkeit ist somit eine Relation zwischen zwei Problemen.… …   Deutsch Wikipedia

  • Wort (Begriffsklärung) — Wort steht allgemein für: Wort, ein Element der Sprache und Objekt der Sprachwissenschaft die Worte einer bestimmten Person, siehe Zitat Wort ist Kurzwort für: Geflügeltes Wort, spezielle Form von Redewendungen Sprichwort, spezielle Form von… …   Deutsch Wikipedia

  • Das Wort — Wort steht allgemein für: Wort, ein Element der Sprache und Objekt der Sprachwissenschaft die Worte einer bestimmten Person, siehe Zitat Wort ist Kurzwort für: Geflügeltes Wort, spezielle Form von Redewendungen Sprichwort, spezielle Form von… …   Deutsch Wikipedia

  • Konkatenation (Wort) — In der theoretischen Informatik ist ein Wort eine endliche Folge von Symbolen (Zeichenkette) aus einem Alphabet. Die Anzahl der Symbole eines Wortes w ist ihre Länge und wird mit | w | bezeichnet. Ein besonderes Wort ist das leere Wort, welches… …   Deutsch Wikipedia

  • Potenz (Wort) — In der theoretischen Informatik ist ein Wort eine endliche Folge von Symbolen (Zeichenkette) aus einem Alphabet. Die Anzahl der Symbole eines Wortes w ist ihre Länge und wird mit | w | bezeichnet. Ein besonderes Wort ist das leere Wort, welches… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”