-
Notifications
You must be signed in to change notification settings - Fork 5
/
example.tex
185 lines (148 loc) · 5.21 KB
/
example.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
\documentclass[aspectratio=169,usepdftitle=true,t]{beamer}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{microtype}
\usepackage[english,main=ngerman]{babel}
\usetheme[emblem,theorems]{colorful-dream}
\title{Example Presentation}
\subtitle{This is madness}
\institute{Cute-Dispute-Institute \(\circ\) University Ulm}
\date{14, August 2020}
\author{Florian Sihler}
\email{[email protected]}
\outro{Ulm, \today}
\SetEmblem[university Ulm]{Example Institute}{\faCode}
% tikz code is possible as well!
% TODO: you may want to change this if you do not have downloaded the image
\titleimage{\includegraphics{exampletitleimage.png}}
% just an example command
\newcommand\twosplit[3][t]{%
\begin{columns}[#1]
\begin{column}{0.475\linewidth}
#2
\end{column}\hfill
\begin{column}{0.475\linewidth}
#3
\end{column}
\end{columns}
}
\usepackage[backend=bibtex8,style=alphabetic]{biblatex}
\addbibresource{example.bib}
\begin{document}
\begin{frame}[c]{The table of contents}
\begin{center}
\twosplit{\tableofcontents[sections={1-2}]}
{\tableofcontents[sections={3-4}]}
\end{center}
\end{frame}
\section{Theoretische Grundlagen}
\subsection{Der Algorithmusbegriff}
\begin{frame}{Was ist ein Algorithmus?}
\begin{definition}[Algorithmus]
Ein \emph{Algorithmus} ist eine \emph{eindeutige Handlungsvorschrift} zur Lösung eines Problems.
\end{definition}
\begin{itemize}
\item Es existieren verschiedene Darstellungsformen: \begin{itemize}
\item Textuell (1. Tue dies, 2. Tue das, 3. Falls \(X\)\ldots)
\item Grafisch (Instruktionsabläufe, Graphen, Grafiken, \ldots)
\item Pseudocode
\end{itemize}
\item Klassische Alltagsbeispiele: (Koch-)Rezepte, Gebrauchsanleitungen, \ldots
\end{itemize}
\end{frame}
\subsection{Algorithmen analysieren}
\begin{frame}{Algorithmuseigenschaften}
\begin{itemize}
\item Zu Beginn gilt es einige Begriffe zu klären: \begin{description}[Elementaroperation]
\item[Prozess] Die Ausführung der Schritte eines Algorithmus
\item[Prozessor] Der Ausführende (Mensch, Computer, \ldots)
\item[Elementaroperation] Eine einzelne, eindeutige Handlung.
\end{description}
\item Ein Algorithmus besitzt einige Eigenschaften: \begin{description}[Ausführbarkeit]
\item[Ausführbarkeit] Die Anleitung muss ausführ- und reproduzierbar sein.
\item[Endlichkeit] Der gesamte Algorithmus muss mit endlich viel Text beschrieben werden können.
\item[Termination] Der Algorithmus muss nach endlich vielen Schritten zum Ende kommen.
\item[Verarbeitung] Ein Algorithmus erhält Eingabeobjekte \(E\), hält lokale Daten \(D\) und erzeugt Ausgabedaten \(A\).
\end{description}
\end{itemize}
\end{frame}
\begin{frame}[c]{Eigenschaften für die Analyse}
\twosplit{%
\begin{block}{Korrektheit}
Ein Algorithmus ist korrekt, wenn er für jede (definierte) Eingabe, die korrekte Ausgabe erzeugt.
\end{block}
\begin{block}{Partielle Korrektheit}
Wenn der Algorithmus terminiert, ist er korrekt.
\end{block}
}{%
\begin{block}{Robust}
Ein Algorithmus ist (maximal) robust, wenn er falsche Eingabe erkennen und abfangen kann.
\end{block}
\begin{block}{Totale Korrektheit}
Der Algorithmus ist partiell korrekt und terminiert.
\end{block}
}
\end{frame}
\begin{frame}{Eigenschaften für die Analyse}
\twosplit{%
\begin{block}{Determinismus}
Der Ablauf des Algorithmus ist \emph{eindeutig}. Für jede Anweisung folgt bei gleichen Vorraussetzungen dieselbe.
\end{block}
}{%
\begin{block}{Determiniertheit}
Die selben Eingabedaten erzeugen immer die selben Ausgabedaten.
\end{block}
}\bigskip
\begin{itemize}
\item Die Begriffe sind zu unterscheiden!
\item So können bei einem Algorithmus verschiedene Wege zum selben Ziel führen.
\item (Sinnfreies) Beispiel: Der Algorithmus kann jedes Element eines Arrays quadrieren. Die Reihenfolge wählt er zufällig aus!
\item Dieser Algorithmus \emph{determiniert}, ist aber \emph{nicht-deterministisch}!
\end{itemize}
\end{frame}
\section{Another example}
\subsection{This is an example}
\begin{frame}{Mega-Example 1}
Hello \cite{knuth-fa}!
\end{frame}
\begin{frame}{Mega-Example 2}
World
\end{frame}
\subsection{This is an example, 2}
\begin{frame}{Mega-Example 1}
Hello
\end{frame}
\begin{frame}{Mega-Example 2}
World \cite{knuth-web}!
\end{frame}
\section{Talk the talker}
\subsection{This is an example}
\begin{frame}{Mega-Example 1}
Hello \cite{dirac}!
\end{frame}
\begin{frame}{Mega-Example 2}
World as seen in \cite{einstein}.
\end{frame}
\subsection{This is an example, 2}
\begin{frame}{Mega-Example 1}
Hello
\end{frame}
\begin{frame}{Mega-Example 2}
World
\end{frame}
\section{Conclusion}
\subsection{This is an example}
\begin{frame}{Mega-Example 1}
Hello
\end{frame}
\begin{frame}{Mega-Example 2}
World
\end{frame}
\subsection{This is an example, 2}
\begin{frame}{Mega-Example 1}
Hello
\end{frame}
\begin{frame}{Mega-Example 2}
World
\end{frame}
\end{document}