From 027ec4dd086473415072899f89156cb1a747d5e4 Mon Sep 17 00:00:00 2001 From: hmelder Date: Thu, 18 Apr 2024 17:05:27 +0200 Subject: [PATCH] Initial IN0011_Theo import --- IN0011_Theo/grundbegriffe.yaml | 172 +++++++++++++++++++++++++++++++++ build.sh | 1 + 2 files changed, 173 insertions(+) create mode 100644 IN0011_Theo/grundbegriffe.yaml diff --git a/IN0011_Theo/grundbegriffe.yaml b/IN0011_Theo/grundbegriffe.yaml new file mode 100644 index 0000000..ed893b0 --- /dev/null +++ b/IN0011_Theo/grundbegriffe.yaml @@ -0,0 +1,172 @@ +title: "Kapitel 2: Grundbegriffe" +author: hmelder +id: 1713440092 + +cards: +- type: markdown + front: Was ist ein **Wort**/String über [$]\Sigma[/$]? + back: | + Eine endliche Folge von Zeichen aus [$]\Sigma[/$]. +- type: markdown + front: Was bedeutet [$]\vert w \vert[/$]? + back: | + [$]\vert w \vert[/$] bezeichnet die Länge eines Wortes [$]w[/$]. +- type: markdown + front: Wie bezeichnet man auch das **leere Wort**? + back: | + Mit [$]\epsilon[/$]. +- type: markdown + front: Was ist die Besonderheit des leeren Wortes? + back: Es ist das *einzige* Wort der Länge 0. +- type: markdown + front: | + Sind [$]u[/$] und [$]v[/$] Wörter. Wie wird ihre Konkatenation bezeichnet? + back: | + [$]uv[/$] +- type: markdown + front: | + Ist [$]w[/$] ein Wort. Wie ist die Operation [$]w^n[/$] definiert? + back: | + [$]w^0 = \epsilon[/$] und [$]w^{n+1} = ww^n[/$]. +- type: markdown + front: | + Gebe das Ergebnis von [$]\(ab\)^3[/$] an, wobei a und b Wörter. + back: | + [$]ababab[/$] +- type: markdown + front: | + Was ist [$]\Sigma^*[/$]? + back: Die Menge aller Wörter über [$]\Sigma[/$]. +- type: markdown + front: | + Wann wird die Menge [$]L[/$] als **(formale) Sprache** bezeichnet? + back: | + Wenn [$]L \subseteq \Sigma^*[/$] + +# Eine Teilmenge L ⊆ Σ∗ ist eine (formale) Sprache. +# -> formal?? +# Um etwas eine formale Sprache nennen zu können, muss es präzise Mathematisch definiert werden können. +# +# -> Wenn nur Sprache, dann L \subseteq \Sigma^*???? +- type: markdown + front: Ist die Menge der deutschen Sätze eine *formale* Sprache? + back: | + Sätze können als Zeichenketten also Wörtern gesehen werden. + Das Lehrzeichen ist auch im Alphabet enthalten. + Jedoch ist die Menge der deutschen Sätze keine formale Sprache, da die + Grammatik der deutschen Sprache kann nicht präzise mathematisch bestimmt + werden. +- type: markdown + front: Nenne eine Sprache die kein Wort enthält. + back: Die **leere Menge** ist die einzige Sprache die kein Wort enthält. +# Definition 2.3 (Operationen auf Sprachen) +- type: markdown + front: | + Seien [$]A, B \subseteq \Sigma^*[/$] Sprachen. Wie ist die Konkatenation + [$]AB[/$] definiert? + back: | + [$]\lbrace uv \vert u \in A \land v \in B \rbrace[/$] +- type: markdown + front: | + Konkateniere die Sprache [$]\lbrace ab, b \rbrace[/$] mit [$]\lbrace a, bb \rbrace[/$] + back: | + [$]\lbrace aba, abbb, ba, bbb \rbrace[/$] +- type: markdown + front: | + Was ist das Ergebnis von [$]\lbrace ab, ba \rbrace^2[/$] + back: | + [$]\lbrace abab, abba, baab, baba \rbrace[/$] +- type: markdown + front: | + Was ist [$]\Sigma^+[/$]? + back: Menge aller nicht-leeren Wörter über [$]\Sigma[/$] +- type: markdown + front: | + Richtig oder Falsch? [$]\forall A : \epsilon \in A^*[/$] + back: Richtig +- type: markdown + front: | + Was ist die Menge [$]\emptyset^*[/$]? + back: | + [$]\lbrace \epsilon \rbrace[/$] +- type: markdown + front: Wie kann [$]A^+[/$] alternativ aber äquivalent beschrieben werden? + back: | + [$]A^+ = AA^* = \bigcup_{n \geq 1} A^n[/$] +- type: markdown + front: Was ist die Konkatenation von [$]\emptyset[/$] mit [$]A[/$], also [$]\emptyset A[/$]? + back: | + [$]\emptyset[/$] +- type: markdown + front: | + Was ist das Ergebnis von [$]\lbrace \epsilon \rbrace A[/$]? + back: | + [$]A[/$] +- type: markdown + front: | + Seien [$]A, B, C \subseteq \Sigma^*[/$]. Gilt [$]A(B \cup C) = AB \cup AC[/$]? + back: Ja. +- type: markdown + front: | + Seien [$]A, B, C \subseteq \Sigma^*[/$]. Gilt [$](A \cup B)C = AC \cup BC[/$]? + back: Ja. +- type: markdown + front: | + Seien [$]A, B, C \subseteq \Sigma^*[/$]. Gilt [$]A(B \cap C) = AB \cap AC[/$]? + back: i.A. nicht! +- type: markdown + front: | + Ergebnis von [$]A^* A^*[/$]? + back: | + [$]A^*[/$] +# 2.1 Grammatiken +- type: markdown + front: | + Eine Grammatik ist ein *4-Tupel* [$]G = (V, \Sigma, P, S)[/$]. Welche + Bedeutung haben die vier Symbole? + back: | + - [$]V[/$]: Eine Endliche Menge von **Nichtterminalzeichen** (auch + **Nichtterminale**, oder **Variablen**) + - [$]\Sigma[/$]: Eine Endliche Menge von **Terminalzeichen** (oder **Terminale**), + disjunkt von V (**Alphabet**). + - [$]P[/$]: Menge von **Produktionen** + - [$]S \in V[/$]: **Startsymbol** +- type: markdown + front: Wie ist die Menge von Produktionen in einer Grammatik definiert? + back: | + [$]P \subseteq (V \cup \Sigma)^* \times (V \cup \Sigma)^*[/$] +## Konventionen +- type: markdown + front: Was bezeichnen [$]A, B, C, ...[/$] nach unserer Konvention in einer Grammatik? + back: Nichtterminale +- type: markdown + front: | + Was bezeichnen [$]a, b, c, ...[/$] (und Sonderzeichen wie +, *, ...) nach + unserer Konvention in einer Grammatik? + back: | + Terminale +- type: markdown + front: | + In welcher Menge sind [$]\alpha, \beta, \gamma, ...[/$] nach unserer Konvention? + back: | + [$]\alpha, \beta, \gamma, ... \in (V \cup \Sigma)^*[/$] +- type: markdown + front: | + Eine Produktion ist als Tupel [$](\alpha, \beta) \in P[/$] definiert. Wie + werden Produktionen auch geschrieben? + back: | + [$]\alpha \to \beta[/$] + + oder bei [$]\alpha \to \beta_1, ..., \alpha \to \beta_n[/$] + schreiben wir [$]\alpha \to \beta_1 \vert \cdots \vert \beta_n[/$] +# Definition 2.9: Ableitungsrelation +# TODO: Kürzer und Verständlicher! +- type: markdown + front: | + Wann *induziert* eine Grammatik G eine **Ableitungsrelation** auf Wörtern + über [$]V \cup \Sigma[/$]? + back: | + [$]\alpha \to_G \alpha^\prime[/$] gdw. es eine Regel [$]\beta \to \beta^\prime[/$] + in P und Wörter [$]\alpha_1, \alpha_2[/$] gibt, so dass + + [$]\alpha = \alpha_1 \beta \alpha_2[/$] und [$]\alpha^\prime = \alpha_1 \beta^\prime \alpha_2[/$] \ No newline at end of file diff --git a/build.sh b/build.sh index 3d9152f..7ec0a84 100755 --- a/build.sh +++ b/build.sh @@ -7,6 +7,7 @@ dirs=( "IN0042_ITSEC" "MA0902_Analysis_Informatik" "WI00729_BWL2" + "IN0011_Theo" ) mkdir -p build