Skip to content

Commit

Permalink
replace tabs with spaces
Browse files Browse the repository at this point in the history
  • Loading branch information
NoahPeeters committed Jan 30, 2018
1 parent 28c5471 commit 0519472
Show file tree
Hide file tree
Showing 5 changed files with 194 additions and 194 deletions.
146 changes: 73 additions & 73 deletions src/DiskreteMathematik/BoolescheAlgebra.tex
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
Die Semantik definiert mithilfe von Präzedensregeln wie die Aussage zu interpretieren ist und ordnet ihr einen Wahrheitswert zu.

\section{Junktoren}
\label{section:DiskreteMathematik:BoolscheAlgebra:Junktoren}
\label{section:DiskreteMathematik:BoolscheAlgebra:Junktoren}
\paragraph{Negation ($\neg$)}
Die Negation kehrt den Wahrheitswert um.

Expand Down Expand Up @@ -69,7 +69,7 @@
\paragraph{Implikation ($\rightarrow$)}
Die Implikation ist genau dann falsch, wenn der erste Operand wahr und der zweite falsch ist.

\begin{equation}
\begin{equation}
A \rightarrow B \leftrightarrow \neg A \vee B
\end{equation}

Expand Down Expand Up @@ -108,7 +108,7 @@
Eine Wertetabelle enthält verschiedene Belegungen einer oder mehrerer Aussage mit den zugeordneten Wahrheitswerten.

\paragraph{Belegung}
Eine Belegung ist ein n-Tupel aus Wahrheitswerten und entspricht einer Zeile in einer Wertetabelle. Es gibt genau $2^n$ Belegungen.
Eine Belegung ist ein n-Tupel aus Wahrheitswerten und entspricht einer Zeile in einer Wertetabelle. Es gibt genau $2^n$ Belegungen.


\paragraph{Modell}
Expand All @@ -128,11 +128,11 @@
\paragraph{Semantische Äquivalenz ($\equiv$)} Die semantische Äquivalenz beschreibt eine Relation zweier Ausdrücke, wo beide Aussagen für die gleiche Belegung den gleichen Wahrheitswert haben.

\subsection{Strategien zum Nachweis der semantischen Äquivalenz}
Gegeben sind zwei Aussagen $F$ und $G$. Um die semantische Äquivalenz beider nachzuweisen ($F \stackrel{?}{\equiv} G$) gibt es mehrere Methoden:
\begin{enumerate}
\item Umwandlung von $F$ in $G$ oder umgekehrt durch Anwendung der in Abschnitt \ref{section:DiskreteMathematik:BoolescheAlgebra:Implikationen} beschriebenen Rechenregeln.
\item Vereinfachung von $F$ und $G$ in einen gemeinsamen Term $H$.
\end{enumerate}
Gegeben sind zwei Aussagen $F$ und $G$. Um die semantische Äquivalenz beider nachzuweisen ($F \stackrel{?}{\equiv} G$) gibt es mehrere Methoden:
\begin{enumerate}
\item Umwandlung von $F$ in $G$ oder umgekehrt durch Anwendung der in Abschnitt \ref{section:DiskreteMathematik:BoolescheAlgebra:Implikationen} beschriebenen Rechenregeln.
\item Vereinfachung von $F$ und $G$ in einen gemeinsamen Term $H$.
\end{enumerate}

\section{Technische Notation}
Zusätzlich zu der klassischen Notation wie sie zuvor benutzt wurde gibt es noch die technische Notation. Sie unterscheidet sich in einer Reihe von Operatoren. In den nachfolgenden Abschnitten wird ausschließlich diese Form der Notation genutzt. In Tabelle \ref{table:DiskreteMathematik:BoolscheAlgebra:TechnischeNotation} sind die Unterschiede zur klassischen Notation gelistet
Expand Down Expand Up @@ -263,70 +263,70 @@
(A \rightarrow B) \cdot (B \rightarrow C) \models (A \rightarrow C)
\end{equation}

\section{Logische Schaltungen}
Bei der Zeichnung von logischen Schaltungen gibt es einige Konventionen zu beachten:
\begin{itemize}
\item Eingänge links/oben
\item Ausgänge rechts/unten
\item Gerade, rechtwinklige Verbindungen
\item Invertierung durch NOT-Gatter oder einen Kreis/ein Dreieck am Eingang oder Ausgang eines Gatters
\item Verzweigungen werden durch einen ausgefüllten Kreis dargestellt.
\end{itemize}
\subsection{Logikgatter}
\paragraph{Negation ($\bar A$)}
Das Negationsgatter negiert den eingehenden Wert.
\begin{center}
\begin{circuitikz}
\draw (0,0) node[not port] {};
\end{circuitikz}
\end{center}
\paragraph{Konjunktion ($AB$)}
Das Konjunktionsgatter stellt eine AND-Verknüpfung dar.
\begin{center}
\begin{circuitikz}
\draw (0,0) node[and port] {};
\end{circuitikz}
\end{center}
\paragraph{Disjunktion ($AB$)}
Das Disjunktionsgatter stellt eine OR-Verknüpfung dar.
\begin{center}
\begin{circuitikz}
\draw (0,0) node[or port] {};
\end{circuitikz}
\end{center}
\paragraph{NAND ($\overline{AB}$)}
Das NAND Gatter stellt eine negierte AND-Verknüpfung dar.
\begin{center}
\begin{circuitikz}
\draw (0,0) node[nand port] {};
\end{circuitikz}
\end{center}
\paragraph{NOR ($\overline{A+B}$)}
Das NOR Gatter stellt eine negierte OR-Verknüpfung dar.
\begin{center}
\begin{circuitikz}
\draw (0,0) node[nor port] {};
\end{circuitikz}
\end{center}
\paragraph{Äquivalenz ($A\leftrightarrow B$)}
Das Äquivalenz Gatter stellt eine XNOR Verknüpfung dar
\begin{center}
\begin{circuitikz}
\draw (0,0) node[xnor port] {};
\end{circuitikz}
\end{center}
\paragraph{Antivalenz ($A \not\leftrightarrow B$)}
Das Antivalenz Gatter stellt eine XOR Verknüpfung dar.
\begin{center}
\begin{circuitikz}
\draw (0,0) node[xor port] {};
\end{circuitikz}
\end{center}
\section{Logische Schaltungen}
Bei der Zeichnung von logischen Schaltungen gibt es einige Konventionen zu beachten:
\begin{itemize}
\item Eingänge links/oben
\item Ausgänge rechts/unten
\item Gerade, rechtwinklige Verbindungen
\item Invertierung durch NOT-Gatter oder einen Kreis/ein Dreieck am Eingang oder Ausgang eines Gatters
\item Verzweigungen werden durch einen ausgefüllten Kreis dargestellt.
\end{itemize}
\subsection{Logikgatter}
\paragraph{Negation ($\bar A$)}
Das Negationsgatter negiert den eingehenden Wert.
\begin{center}
\begin{circuitikz}
\draw (0,0) node[not port] {};
\end{circuitikz}
\end{center}
\paragraph{Konjunktion ($AB$)}
Das Konjunktionsgatter stellt eine AND-Verknüpfung dar.
\begin{center}
\begin{circuitikz}
\draw (0,0) node[and port] {};
\end{circuitikz}
\end{center}
\paragraph{Disjunktion ($AB$)}
Das Disjunktionsgatter stellt eine OR-Verknüpfung dar.
\begin{center}
\begin{circuitikz}
\draw (0,0) node[or port] {};
\end{circuitikz}
\end{center}
\paragraph{NAND ($\overline{AB}$)}
Das NAND Gatter stellt eine negierte AND-Verknüpfung dar.
\begin{center}
\begin{circuitikz}
\draw (0,0) node[nand port] {};
\end{circuitikz}
\end{center}
\paragraph{NOR ($\overline{A+B}$)}
Das NOR Gatter stellt eine negierte OR-Verknüpfung dar.
\begin{center}
\begin{circuitikz}
\draw (0,0) node[nor port] {};
\end{circuitikz}
\end{center}
\paragraph{Äquivalenz ($A\leftrightarrow B$)}
Das Äquivalenz Gatter stellt eine XNOR Verknüpfung dar
\begin{center}
\begin{circuitikz}
\draw (0,0) node[xnor port] {};
\end{circuitikz}
\end{center}
\paragraph{Antivalenz ($A \not\leftrightarrow B$)}
Das Antivalenz Gatter stellt eine XOR Verknüpfung dar.
\begin{center}
\begin{circuitikz}
\draw (0,0) node[xor port] {};
\end{circuitikz}
\end{center}

\end{document}
102 changes: 51 additions & 51 deletions src/DiskreteMathematik/FormaleGrundlagen.tex
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
\clearpage

\section{Mengenlehre}
\subsection{Naive Mengenlehre}
In der naiven Mengenlehre ist eine Menge durch die Elemente, die sie umschließt, definiert.
\subsection{Naive Mengenlehre}
In der naiven Mengenlehre ist eine Menge durch die Elemente, die sie umschließt, definiert.
Eine einfache Menge kann mit $A = \{a, b, c\}$ beschrieben werden. Dabei ist $A$ der Name der Menge und $a, b, c$ sind die Urelemente der Menge. Dabei sind die Elemente atomar, also nicht weiter zerlegbar und divers bzw. wohlverschieden\footnote{Jedes Element darf nur einmal in der Menge vorkommen}. Es gilt also $\{a, a, b, c\} = \{a, b, c\}$.

Eine Methode zur Beschreibung einer Menge $B$, welche alle durch zwei teilbaren natürlichen Zahlen enthält, ist:
Expand All @@ -18,7 +18,7 @@
Alternativ lässt sich die Bedingung auch ausschreiben:

\begin{equation}
B = \{a | a \text{ ist eine durch zwei teilbare, natürliche Zahl}\}
B = \{a | a \text{ ist eine durch zwei teilbare, natürliche Zahl}\}
\end{equation}

\subsubsection{Operatoren}
Expand All @@ -32,11 +32,11 @@
\end{equation}

\begin{tabular}{ r l }
Kommutativ & $A \cup B = B \cup A$ \\
Einselement & $\emptyset$ \\
Nullelement & Obermenge \\
Beispiel & $\{a, b, c\} \cup \{a, b, d\} = \{a, b, c, d\}$
\end{tabular}
Kommutativ & $A \cup B = B \cup A$ \\
Einselement & $\emptyset$ \\
Nullelement & Obermenge \\
Beispiel & $\{a, b, c\} \cup \{a, b, d\} = \{a, b, c, d\}$
\end{tabular}

\paragraph{Schnittmenge ($\cap$)}
Die Schnittmenge zweier Mengen $A$ und $B$ enthält alle Elemente, die in beiden Mengen vorhanden sind. Die Schnittmenge kann folgendermaßen definiert werden:
Expand All @@ -46,11 +46,11 @@
\end{equation}

\begin{tabular}{ r l }
Kommutativ & $A \cap B = B \cap A$ \\
Einselement & Obermenge \\
Nullelement & $\emptyset$ \\
Beispiel & $\{a, b, c\} \cap \{a, b, d\} = \{a, b\}$
\end{tabular}
Kommutativ & $A \cap B = B \cap A$ \\
Einselement & Obermenge \\
Nullelement & $\emptyset$ \\
Beispiel & $\{a, b, c\} \cap \{a, b, d\} = \{a, b\}$
\end{tabular}

\paragraph{Differenzmenge ($\setminus$)}
Die Differenzmenge der Mengen $A$ und $B$ enthält alle Elemente, die in A nicht aber in B enthalten sind. Die Differenzmenge kann folgendermaßen definiert werden:
Expand All @@ -60,11 +60,11 @@
\end{equation}

\begin{tabular}{ r l }
Kommutativ & $A \setminus B \not = B \setminus A$ \\
Einselement & $\emptyset$ \\
Nullelement & Existiert nicht \\
Beispiel & $\{a, b, c\} \setminus \{a, b, d\} = \{c\}$
\end{tabular}
Kommutativ & $A \setminus B \not = B \setminus A$ \\
Einselement & $\emptyset$ \\
Nullelement & Existiert nicht \\
Beispiel & $\{a, b, c\} \setminus \{a, b, d\} = \{c\}$
\end{tabular}

\paragraph{Symmetrische Differenzmenge ($\triangle$):}
Die Symmetrische Differenzmenge der Mengen $A$ und $B$ enthält alle Elemente, die in genau einer der beiden Menge enthalten sind. Die Symmetrische Differenzmenge kann folgendermaßen definiert werden:
Expand All @@ -74,18 +74,18 @@
\end{equation}

\begin{tabular}{ r l }
Kommutativ & $A \triangle B = B \triangle A$ \\
Einselement & $\emptyset$ \\
Nullelement & Existiert nicht \\
Beispiel & $\{a, b, c\} \triangle \{a, b, d\} = \{c, d\}$
\end{tabular}
Kommutativ & $A \triangle B = B \triangle A$ \\
Einselement & $\emptyset$ \\
Nullelement & Existiert nicht \\
Beispiel & $\{a, b, c\} \triangle \{a, b, d\} = \{c, d\}$
\end{tabular}

\paragraph{Mächtigkeit ($|A|$)}
Die Mächtigkeit oder Kardinalität einer Menge gibt an, wie viele Elemente sie enthält.

\begin{tabular}{ r l }
Beispiel & $|\{a, b, c\}| = 3$
\end{tabular}
Beispiel & $|\{a, b, c\}| = 3$
\end{tabular}

\paragraph{Komplement ($A^C$)}
Die komplementäre Menge zu einer Menge A in Bezug auf die Obermenge B ist
Expand All @@ -102,12 +102,12 @@
\end{equation}

\begin{tabular}{ r l }
Beispiel 1 & $P\left(\{a, b\}\right) = \{\emptyset, \{a\}, \{b\}, \{a, b\}\}$\\
Beispiel 2 & $P\left(\emptyset\right) = \{\emptyset\}$\\
Beispiel 3 & $P\left(\{a\}\right) = \{\emptyset, \{a\}\}$
\end{tabular}
Beispiel 1 & $P\left(\{a, b\}\right) = \{\emptyset, \{a\}, \{b\}, \{a, b\}\}$\\
Beispiel 2 & $P\left(\emptyset\right) = \{\emptyset\}$\\
Beispiel 3 & $P\left(\{a\}\right) = \{\emptyset, \{a\}\}$
\end{tabular}

\paragraph{Kartesisches Produkt}
\paragraph{Kartesisches Produkt}
Die Elemente in einer Menge haben keine Sortierung. Man kann das kartesische Produkt bilden, um geordnete n-Tupel zu erhalten:

\begin{equation}
Expand All @@ -123,8 +123,8 @@
A^* = \bigcup_{i \in \mathbb{N} } A^i=A^0\cup A^1\cup A^2\cup ...
\end{equation}

\paragraph{Leere Menge ($\emptyset$)}
Die leere Menge definiert eine Menge, welche keine Elemente enthält. Sie wird entweder durch $\emptyset$ oder $\{\}$ dargestellt und ist in jeder Menge enthalten, jedoch nicht in jedem Mengensystem.
\paragraph{Leere Menge ($\emptyset$)}
Die leere Menge definiert eine Menge, welche keine Elemente enthält. Sie wird entweder durch $\emptyset$ oder $\{\}$ dargestellt und ist in jeder Menge enthalten, jedoch nicht in jedem Mengensystem.

\subsubsection{Sprachen}
Gegeben sei das Alphabet $\Sigma$. Daraus ergibt sich folgendes:
Expand All @@ -139,7 +139,7 @@

\subsection{Relationen}
\subsubsection{Eigenschaften zweistelliger Relationen}
\paragraph{Linkstotal oder Total}
\paragraph{Linkstotal oder Total}
Eine Relation ist genau dann linkstotal, wenn jedem Element aus $A$ mindestens ein Element aus $B$ zugeordnet wird.
\begin{equation}
\forall a \in A\; \exists b \in B\colon \left(a, b\right) \in R
Expand All @@ -152,7 +152,7 @@
\end{equation}

\paragraph{Linkseindeutig oder Injektiv}
Eine Relation ist genau dann linkseindeutig, wenn jedem Element aus $B$ höchstens ein Element aus $A$ zugeordnet wird.
Eine Relation ist genau dann linkseindeutig, wenn jedem Element aus $B$ höchstens ein Element aus $A$ zugeordnet wird.
\begin{equation}
\forall b \in B\; \forall a, c \in A\colon \left(a, b\right) \in R \wedge \left(c, b\right) \in R \rightarrow a = c
\end{equation}
Expand All @@ -170,7 +170,7 @@
Eine Relation ist genau dann eineindeutig, wenn sie sowohl linkseindeutig als auch rechtseindeutig ist.

\paragraph{Bijektivität}
% TODO Check this! Might be wrong
% TODO Check this! Might be wrong
Eine Relation ist genau dann bijektiv, wenn jedem Element aus $B$ genau ein Element aus $A$ zugeordnet wird. Jede bijektiv Relation ist auch rechtstotal. % TODO Ist sowohl rechtstotal als auch rechtseindeutig.
\begin{equation}
\forall b \in B\; \exists! a \in A\colon \left(a, b\right) \in R
Expand Down Expand Up @@ -340,24 +340,24 @@
\end{equation}

\subsection[NEA]{Nicht deterministischer endlicher Automat}
Ein nicht deterministischer endlicher Automat unterscheidet sich von einem \hyperref[section:DiskreteMathematik:FormaleGrundlagen:DEA]{DEA} indem seine Zustandsüberführungsfunktion nicht eindeutig ist, sondern eine Menge von Zuständen zurückgibt. Es kann also mehrere Zustände für ein gegebenes Wort geben.
Formal wird ein NEA durch ein Quintupel aus den Elementen $(S, \Sigma, \delta, S_0, K)$ definiert:
\paragraph{Zustände ($S$)} Eine endliche, nicht leere Menge von möglichen Zuständen des DEA.
\paragraph{Eingabealphabet ($\Sigma$)} Eine endliche, nicht leere Menge aller Buchstaben die die Zustandsübergangsfunktion akzeptiert.
\paragraph{Zustandsübergangsfunktion ($\delta$)} Die Übergangsrelation gibt für einen gegebenen Zustand $s \in S$ und ein Buchstaben $a \in \Sigma$ die Menge der neuen Zustände zurück. Formal wird dies wie folgt geschrieben:
\begin{equation}
\delta: s \times a \rightarrow S^*
\end{equation}
\paragraph{Startzustand ($S_0$)}
Ein nicht deterministischer endlicher Automat unterscheidet sich von einem \hyperref[section:DiskreteMathematik:FormaleGrundlagen:DEA]{DEA} indem seine Zustandsüberführungsfunktion nicht eindeutig ist, sondern eine Menge von Zuständen zurückgibt. Es kann also mehrere Zustände für ein gegebenes Wort geben.
Formal wird ein NEA durch ein Quintupel aus den Elementen $(S, \Sigma, \delta, S_0, K)$ definiert:
\paragraph{Zustände ($S$)} Eine endliche, nicht leere Menge von möglichen Zuständen des DEA.
\paragraph{Eingabealphabet ($\Sigma$)} Eine endliche, nicht leere Menge aller Buchstaben die die Zustandsübergangsfunktion akzeptiert.
\paragraph{Zustandsübergangsfunktion ($\delta$)} Die Übergangsrelation gibt für einen gegebenen Zustand $s \in S$ und ein Buchstaben $a \in \Sigma$ die Menge der neuen Zustände zurück. Formal wird dies wie folgt geschrieben:
\begin{equation}
\delta: s \times a \rightarrow S^*
\end{equation}
\paragraph{Startzustand ($S_0$)}
Ein Element $S_0 \in S$ wird als Startzustand festgelegt.

\paragraph{Akzeptierende Zustände ($K$)}
Eine Menge $K \subseteq S$ wird als Menge der akzeptierenden Zustände festgelegt.
\paragraph{Akzeptierende Zustände ($K$)}
Eine Menge $K \subseteq S$ wird als Menge der akzeptierenden Zustände festgelegt.

\subsection{Chomsky-Hierarchie}
Die Chomsky-Hierarchie ordnet alle Sprachen mit 4 Typen:
Expand Down
Loading

0 comments on commit 0519472

Please sign in to comment.