From bd727a1b4a6cebd079ab34681d35d2d467072265 Mon Sep 17 00:00:00 2001 From: hmelder Date: Mon, 22 Jul 2024 16:22:50 +0200 Subject: [PATCH] Remove incomplete Theo cards --- IN0011_Theo/grundbegriffe.yaml | 204 ----------------- ...und Regul\303\244re Ausdr\303\274cke.yaml" | 216 ------------------ 2 files changed, 420 deletions(-) delete mode 100644 IN0011_Theo/grundbegriffe.yaml delete mode 100644 "IN0011_Theoretische_Informatik/Endliche Automaten und Regul\303\244re Ausdr\303\274cke.yaml" diff --git a/IN0011_Theo/grundbegriffe.yaml b/IN0011_Theo/grundbegriffe.yaml deleted file mode 100644 index 22898bb..0000000 --- a/IN0011_Theo/grundbegriffe.yaml +++ /dev/null @@ -1,204 +0,0 @@ -title: 'Kapitel 2: Grundbegriffe' -author: hmelder -id: 1713440092 - -cards: -- type: markdown - id: 0 # (generated) - front: Was ist ein **Wort**/String über [$]\Sigma[/$]? - back: | - Eine endliche Folge von Zeichen aus [$]\Sigma[/$]. -- type: markdown - id: 1 # (generated) - front: Was bedeutet [$]\vert w \vert[/$]? - back: | - [$]\vert w \vert[/$] bezeichnet die Länge eines Wortes [$]w[/$]. -- type: markdown - id: 2 # (generated) - front: Wie bezeichnet man auch das **leere Wort**? - back: | - Mit [$]\epsilon[/$]. -- type: markdown - id: 3 # (generated) - front: Was ist die Besonderheit des leeren Wortes? - back: Es ist das *einzige* Wort der Länge 0. -- type: markdown - id: 4 # (generated) - front: | - Sind [$]u[/$] und [$]v[/$] Wörter. Wie wird ihre Konkatenation bezeichnet? - back: | - [$]uv[/$] -- type: markdown - id: 5 # (generated) - front: | - Ist [$]w[/$] ein Wort. Wie ist die Operation [$]w^n[/$] definiert? - back: | - [$]w^0 = \epsilon[/$] und [$]w^{n+1} = ww^n[/$]. -- type: markdown - id: 6 # (generated) - front: | - Gebe das Ergebnis von [$]\(ab\)^3[/$] an, wobei a und b Wörter. - back: | - [$]ababab[/$] -- type: markdown - id: 7 # (generated) - front: | - Was ist [$]\Sigma^*[/$]? - back: Die Menge aller Wörter über [$]\Sigma[/$]. -- type: markdown - id: 8 # (generated) - 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 - id: 9 # (generated) - 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 - id: 10 # (generated) - 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 - id: 11 # (generated) - 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 - id: 12 # (generated) - front: | - Konkateniere die Sprache [$]\lbrace ab, b \rbrace[/$] mit [$]\lbrace a, bb \rbrace[/$] - back: | - [$]\lbrace aba, abbb, ba, bbb \rbrace[/$] -- type: markdown - id: 13 # (generated) - front: | - Was ist das Ergebnis von [$]\lbrace ab, ba \rbrace^2[/$] - back: | - [$]\lbrace abab, abba, baab, baba \rbrace[/$] -- type: markdown - id: 14 # (generated) - front: | - Was ist [$]\Sigma^+[/$]? - back: Menge aller nicht-leeren Wörter über [$]\Sigma[/$] -- type: markdown - id: 15 # (generated) - front: | - Richtig oder Falsch? [$]\forall A : \epsilon \in A^*[/$] - back: Richtig -- type: markdown - id: 16 # (generated) - front: | - Was ist die Menge [$]\emptyset^*[/$]? - back: | - [$]\lbrace \epsilon \rbrace[/$] -- type: markdown - id: 17 # (generated) - front: Wie kann [$]A^+[/$] alternativ aber äquivalent beschrieben werden? - back: | - [$]A^+ = AA^* = \bigcup_{n \geq 1} A^n[/$] -- type: markdown - id: 18 # (generated) - front: Was ist die Konkatenation von [$]\emptyset[/$] mit [$]A[/$], also [$]\emptyset - A[/$]? - back: | - [$]\emptyset[/$] -- type: markdown - id: 19 # (generated) - front: | - Was ist das Ergebnis von [$]\lbrace \epsilon \rbrace A[/$]? - back: | - [$]A[/$] -- type: markdown - id: 20 # (generated) - front: | - Seien [$]A, B, C \subseteq \Sigma^*[/$]. Gilt [$]A(B \cup C) = AB \cup AC[/$]? - back: Ja. -- type: markdown - id: 21 # (generated) - front: | - Seien [$]A, B, C \subseteq \Sigma^*[/$]. Gilt [$](A \cup B)C = AC \cup BC[/$]? - back: Ja. -- type: markdown - id: 22 # (generated) - front: | - Seien [$]A, B, C \subseteq \Sigma^*[/$]. Gilt [$]A(B \cap C) = AB \cap AC[/$]? - back: i.A. nicht! -- type: markdown - id: 23 # (generated) - front: | - Ergebnis von [$]A^* A^*[/$]? - back: | - [$]A^*[/$] -# 2.1 Grammatiken -- type: markdown - id: 24 # (generated) - 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 - id: 25 # (generated) - front: Wie ist die Menge von Produktionen in einer Grammatik definiert? - back: | - [$]P \subseteq (V \cup \Sigma)^* \times (V \cup \Sigma)^*[/$] -## Konventionen -- type: markdown - id: 26 # (generated) - front: Was bezeichnen [$]A, B, C, ...[/$] nach unserer Konvention in einer Grammatik? - back: Nichtterminale -- type: markdown - id: 27 # (generated) - front: | - Was bezeichnen [$]a, b, c, ...[/$] (und Sonderzeichen wie +, *, ...) nach - unserer Konvention in einer Grammatik? - back: | - Terminale -- type: markdown - id: 28 # (generated) - front: | - In welcher Menge sind [$]\alpha, \beta, \gamma, ...[/$] nach unserer Konvention? - back: | - [$]\alpha, \beta, \gamma, ... \in (V \cup \Sigma)^*[/$] -- type: markdown - id: 29 # (generated) - 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 - id: 30 # (generated) - 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[/$] diff --git "a/IN0011_Theoretische_Informatik/Endliche Automaten und Regul\303\244re Ausdr\303\274cke.yaml" "b/IN0011_Theoretische_Informatik/Endliche Automaten und Regul\303\244re Ausdr\303\274cke.yaml" deleted file mode 100644 index 8243844..0000000 --- "a/IN0011_Theoretische_Informatik/Endliche Automaten und Regul\303\244re Ausdr\303\274cke.yaml" +++ /dev/null @@ -1,216 +0,0 @@ -title: Endliche Automaten und reguläre Ausdrücke -author: Hendrik Hübner -id: 3709563985 -cards: -- type: latex_plus - id: 0 # (generated) - front: Def. Konkatenation von Sprachen - back: |+ - [$]AB = \{xy \mid x \in A \land y \in B\}[/$] - -- type: latex_plus - id: 1 # (generated) - front: Def. Kleene Stern bei Sprache A - back: | - [$]A^* = \bigcup_{i=0}^{\infty} A^i[/$] -- type: latex_plus - id: 2 # (generated) - front: Def. Kleene Plus bei Sprache A - back: |+ - [$]A^+ = \bigcup_{i=1}^{\infty} A^i = AA^*[/$] - -- type: latex_plus - id: 3 # (generated) - front: | - [$]A \emptyset = ?[$] - back: |+ - [$]\emptyset[/$] - -- type: latex_plus - id: 4 # (generated) - front: | - [$]A(B \cup C) = [/$] - back: |+ - [$]AB \cup AC[/$] - -- type: latex_plus - id: 5 # (generated) - front: Def. Grammar - back: |+ - [$]G = (V, \Sigma, P, S)[$] - - [$]V[/$] is the set of non-terminal symbols. - [$]\Sigma[/$] is the set of terminal symbols. - [$]P \subseteq (V \cup \Sigma)^* \times (V \cup \Sigma)^*[/$] is the set of production rules. - [$]S[/$] is the start symbol. - -- type: latex_plus - id: 6 # (generated) - front: Def. Chomsky Hierarchy - back: |+ - [$] - Type 0: All grammars - L = \{ w \in \Sigma^* \mid w \text{ can be derived from the start symbol using any production rule} \} - - Type 1: Context sensitive Grammars - L = \{ w \in \Sigma^* \mid \text{there exists a production } \alpha \rightarrow \beta \text{ such that} |\alpha| \leq |\beta| \text{ and} w = \alpha u \gamma \text{ where} u \in \Sigma^* \text{ and} \gamma \in \Sigma^* \} - - Type 2: Context free Grammars - L = \{ w \in \Sigma^* \mid S \Rightarrow^* w \} - - Type 3: Regular languages - L = \{ w \in \Sigma^* \mid w \text{ can be derived from the start symbol using production rules of the form} A \rightarrow aB \text{ or} A \rightarrow a \text{ where} A,B \in V \text{ and} a \in \Sigma \} - - [/$] - -- type: latex_plus - id: 7 # (generated) - front: Def. DFA - back: |+ - [$]DFA[/$] = (Q, \Sigma, \delta, q_0, F)[/$] - [$]Q[/$] is the set of states. - [$]\Sigma[/$] is the input alphabet. - [$]\delta: Q \times \Sigma \rightarrow Q[/$] is the transition function. - [$]q0 \in Q[/$] is the initial state. - [$]F \suseteq Q[/$] is the set of accepting (final) states. - -- type: latex_plus - id: 8 # (generated) - front: Def. NFA - back: |+ - [$]NFA[/$] = (Q, \Sigma, \delta, q_0, F)[/$] - [$]Q[/$] is the set of states. - [$]\Sigma[/$] is the input alphabet. - [$]\delta: Q \times \Sigma \rightarrow \mathcal{P}(Q)[/$] is the transition function. - [$]q0 \in Q[/$] is the initial state. - [$]F \suseteq Q[/$] is the set of accepting (final) states. - -- type: latex_plus - id: 9 # (generated) - front: | - Def. [$]\hat{\delta}(q, w)[/$] - back: |+ - The state which is reached with w from q - - [$]\hat{\delta}(q, \epsilon) = q[/$] - [$]\hat{\delta}(q, aw) = \hat{\delta}(\delta(q, a), w)[/$] - -- type: latex_plus - id: 10 # (generated) - front: Welche gestalt haben Produktionen bei einer rechtslinearen Grammatik? - back: |+ - [$]A \rightarrow a \mid aB [/$] - -- type: latex_plus - id: 11 # (generated) - front: Was gilt für rechtslineare Grammatiken? - back: |+ - - Es existiert ein äquivalenter DFA (und umgekehrt) - -- type: latex_plus - id: 12 # (generated) - front: | - Def. [$]\bar{\delta}(S, a)[/$] - back: |+ - The state which is reached with w from q - - [$]\bar{\delta}(S, a) = \bigcup\limits{q \in S} \delta(q, a} [/$] - - -- type: latex_plus - id: 13 # (generated) - front: Was ist die Potenzmengenkonstruktion? - back: |+ - Sei N ein NFA - - Def. [$]DFA M = (\mathcal{P}(Q), \Sigma, \bar{\delta}, q_0, F_M)[/$] - Mit [$]F_M := {S \subseteq Q \mid S \cap F \neq \emptyset}[/$] - - Der enstehende DFA hat bis zu 2^|Q| zustände - -- type: latex_plus - id: 14 # (generated) - front: Def. pumping lemma - back: |+ - [$] - A language $L$ is regular if and only if there exists a constant $p \geq 1$ such that for any string $s \in L$ with $|s| \geq p$, $s$ can be decomposed as $s = xyz$ satisfying the following conditions: - - \begin{itemize} - \item $|xy| \leq p$: The length of the prefix $xy$ is at most $p$. - \item $|y| \geq 1$: The substring $y$ is non-empty. - \item For all $i \geq 0$, $xy^iz \in L$: Repeating the substring $y$ any number of times ($i \geq 0$) and concatenating it with $xz$ results in a string in $L$. - \end{itemize} - [/$] - -- type: latex_plus - id: 15 # (generated) - front: | - Was gilt für [$]\epsilon[/$]-NFAs? - back: |+ - Es existiert immer ein äquivalenter NFA und damit auch DFA - - -- type: latex_plus - id: 16 # (generated) - front: Welche sechs erweiterungen von Regulären Ausdrücken für UNIX haben wir kennengelernt? - back: |+ - . = beliebiges Zeichen des Alphabets - [a1 ... an] = beliebiges Zeichen aus {a1 ... an} - [^a1 ... an] = beliebiges Zeichen NICHT aus {a1 ... an} - w? = leeres Wort oder w - w+ = ww* - w{n} = www...ww (n mal) - -- type: latex_plus - id: 17 # (generated) - front: Satz von Kleene? - back: |+ - Eine Sprache ist genau dann als regulärer ausdruck darstellbar, wenn sie regulär ist - -- type: latex_plus - id: 18 # (generated) - front: Def. Ardens lemma - back: |+ - [$] - Sind \alpha, \beta und X reguläre ausdrücke mit \epsilon \notin L(\alpha), so gilt: - X \equiv \alpha X \mid \beta \Rightarrow X \equiv \alpha^*\beta - [/$] - -- type: latex_plus - id: 19 # (generated) - front: Zeitkomplexität umwandlung RE -> e-NFA? - back: n -> Q in O(n) - -- type: latex_plus - id: 20 # (generated) - front: Zeitkomplexität umwandlung NFA -> DFA? - back: n -> Q in O(2^n) - -- type: latex_plus - id: 21 # (generated) - front: Zeitkomplexität umwandlung NFA -> RE? - back: |+ - n -> länge RE in O(3^n) - -- type: latex_plus - id: 22 # (generated) - front: Zeitkomplexität umwandlung e-NFA -> NFA? - back: Q -> Q - -- type: latex_plus - id: 23 # (generated) - front: Wann sind zwei Reguläre Ausdrücke oder Automaten äquivalent? - back: |+ - [$] \alpha \equiv \beta \Leftrightarrow L(\alpha) = L(\beta) [/$] - -- type: latex_plus - id: 24 # (generated) - front: Def. Produktautomat - back: | - Sind [$]M_1[/$] und [$]M_2[/$] DFAs so ist der Produktautomat wie folgt definiert: - [$] - (Q_1 \times Q_2, \Sigma, \delta, (s_1, s_2), F_1 \times F_2) - wobei, \delta((q_1, q_2), a) = (\delta_1(q_1, a), \delta_2(q_2, a)) - - Der Produktautomat akzeptiert L(M_1) \cap L(M_2) - [/$]