mirror of
https://github.com/2martens/uni.git
synced 2026-05-06 19:36:26 +02:00
Compare commits
21 Commits
gdb_blatt_
...
opti_blatt
| Author | SHA1 | Date | |
|---|---|---|---|
| da05933c8d | |||
| 4cbbe10194 | |||
| 99ca499a0a | |||
| 4d8389eba9 | |||
| a6ed748153 | |||
| 758f40ea1f | |||
| 26fda0ddb4 | |||
| 347f0584a0 | |||
| 240dd113ab | |||
| 7fb91df76f | |||
| 542da545e2 | |||
| 8743f36082 | |||
| 02da1f0144 | |||
| 44ab3e4e0b | |||
| 7913205597 | |||
| 1f552564c9 | |||
| b3df21b7d1 | |||
| 66ba6adf3c | |||
| 034d351d48 | |||
| 7782f3bce6 | |||
| 891d29e8db |
11
README.md
11
README.md
@ -1,4 +1,13 @@
|
||||
uni
|
||||
===
|
||||
|
||||
University stuff
|
||||
Aus gegebenem Anlass:
|
||||
|
||||
Die in diesem Repository zu findenen Latex- und .rkt-Dateien sind Hausaufgaben. Zum Zwecke der Zusammenarbeit innerhalb
|
||||
**meiner** Gruppe werden auch Dateien hochgeladen, deren Abgabedeadline noch nicht erreicht ist.
|
||||
|
||||
Es nutzt anderen Gruppen kein Stück diese noch ausstehenden Abgaben 1:1 zu kopieren, die Namen zu ändern und als ihre
|
||||
eigene Arbeit auszugeben. Denn dann bekommen beide Gruppen keine Punkte. Da dies so in GDB passiert ist, werden die entsprechenden
|
||||
Latexdateien für GDB ab sofort erst nach der Abgabedeadline hochgeladen. Es ist bedauerlich, dass einige Personen in dieser
|
||||
Hinsicht derartig dumm sind. Es spricht nichts dagegen sich die von mir bearbeiteten Abgaben anzusehen und sich Ideen zu holen.
|
||||
Identische Kopien sind aber in keinem Falle angebracht.
|
||||
|
||||
@ -39,7 +39,7 @@ Jim Martens (6420323)}
|
||||
\maketitle
|
||||
\section{} %1
|
||||
\subsection{} %a
|
||||
Der Algorithmus funktioniert nicht weiterhin. Dies wird anhand dieses Gegenbeispiels deutlich:
|
||||
Der Algorithmus funktioniert nicht mehr. Dies wird anhand dieses Gegenbeispiels deutlich:
|
||||
|
||||
\begin{verbatim}
|
||||
A = [0,1,4,8,10,13]
|
||||
@ -135,13 +135,27 @@ Jim Martens (6420323)}
|
||||
\subsubsection{} %ii
|
||||
\begin{verbatim}
|
||||
IST_2FAERBUNG(G) {
|
||||
// todo: make this algorithm
|
||||
kanten = E(G)
|
||||
valid = true
|
||||
farben = new Set()
|
||||
foreach kante in kanten {
|
||||
knoten1 = kante.knoten1
|
||||
knoten2 = kante.knoten2
|
||||
farben.add(knoten1.farbe)
|
||||
farben.add(knoten2.farbe)
|
||||
if (knoten1.farbe == knoten2.farbe) {
|
||||
valid = false
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
return (valid && (farben.getAnzahl() == 2))
|
||||
}
|
||||
\end{verbatim}
|
||||
\subsubsection{} %iii
|
||||
Es gibt 2 verschiedene 2-Färbungen, sofern man unterschiedliche Farben nicht als Unterschied ansieht. Pro 2 Farben gibt es genau 2 verschiedene Färbungen.
|
||||
\subsection{} %c
|
||||
Bei einer beliebigen Landkarten, überführt in einen Graphen, werden mindestens so viele Farben benötigt, wie der kürzeste Zyklus ist.
|
||||
Bei einer beliebigen Landkarte werden mindestens vier Farben benötigt, damit direkt benachbarte Länder stets unterschiedliche Farben haben.
|
||||
\subsubsection{} %i
|
||||
\begin{tikzpicture}
|
||||
\node (altona) {A};
|
||||
@ -174,7 +188,7 @@ Jim Martens (6420323)}
|
||||
c_{k}(W) &=& rot
|
||||
\end{alignat*}
|
||||
\subsubsection{} %iii
|
||||
|
||||
Die Aussage, dass vier Farben minimal sind, besagt nur, dass man es bei einer beliebigen Landkarte schafft diese mit maximal vier Farben zu färben. Es gibt die Obergrenze der nötigen Farben an. Die Regel besagt hingegen nicht, dass immer mindestens vier Farben benötigt werden. Bei einer Landkarte mit nur zwei aneinandergrenzenden Ländern reichen auch zwei Farben. Bei einer Karte mit nur einer zusammenhängenden Fläche ohne angrenzende Flächen reicht sogar eine Farbe.
|
||||
\subsubsection{} %iv
|
||||
\begin{tikzpicture}
|
||||
\node (sh) {SH};
|
||||
@ -196,13 +210,125 @@ Jim Martens (6420323)}
|
||||
In dieser konstruierten Karte (dargestellt als Graph), müssen mindestens vier Farben verwendet werden.
|
||||
\section{} %3
|
||||
\subsection{} %a
|
||||
\[
|
||||
G_{1}: 1, 3, 4, 5, 2, 8, 6, 7
|
||||
\]
|
||||
\[
|
||||
G_{2}: 1, 3, 5, 6, 4, 7, 2
|
||||
\]
|
||||
\subsection{} %b
|
||||
\[
|
||||
G_{1}: 4, 3, 7, 6, 8, 2, 5, 1
|
||||
\]
|
||||
\[
|
||||
G_{2}: 4, 6, 5, 3, 2, 7, 1
|
||||
\]
|
||||
\subsection{} %c
|
||||
\[
|
||||
G_{1}: 1, 3, 5, 4, 2, 7, 8, 6
|
||||
\]
|
||||
\[
|
||||
G_{2}: 1, 3, 4, 7, 5, 2, 6
|
||||
\]
|
||||
\subsection{} %d
|
||||
Für $G_1$ existiert keine topologische Sortierung, da es sich nicht um einen DAG (Directed acyclic graph) handelt. Dies erkennt man daran, dass beispielsweise ein Zyklus von 1 über 5 über 2 zurück zur 1 existiert. $\square$
|
||||
|
||||
Für $G_2$ existieren topologische Sortierungen, z.B.:
|
||||
\[
|
||||
1, 3, 5, 6, 4, 7, 2
|
||||
\]
|
||||
\subsection{} %e
|
||||
Wie bereits etabliert, existieren für $G_1$ keine mit ihm konsistenten topologischen Sortierungen. Für $G_2$ allerdings existieren mehrere:
|
||||
|
||||
Nach Proposition 5 (Uniqueness of topological Sort) im Skript, Folie 163, ist eine topologische Sortierung nur eindeutig, wenn der dazugehörige Graph einen Hamilton-Kreis enthält. $G_2$ enthält keinen Hamilton-Kreis. Dies ist leicht zu erkennen: es gibt keinen Pfad in dem Graphen, der die Knoten $2$ \textit{und} $3$ besucht. Daher gibt es mehrere topologische Sortierungen.
|
||||
|
||||
Eine weitere wäre z.B.:
|
||||
\[
|
||||
1, 7, 2, 5, 6, 4, 3
|
||||
\]
|
||||
\subsection{} %f
|
||||
starke Zusammenhangskomponenten von $G_{1}:$
|
||||
\begin{alignat*}{2}
|
||||
comp1:&&\; 1, 2, 5, 6, 7, 8 \\
|
||||
comp2:&&\; 3 \\
|
||||
comp3:&&\; 4
|
||||
\end{alignat*}
|
||||
|
||||
starke Zusammenhangskomponenten von $G_{2}:$
|
||||
\begin{alignat*}{1}
|
||||
comp1: 1 \\
|
||||
comp2: 2 \\
|
||||
comp3: 3 \\
|
||||
comp4: 4 \\
|
||||
comp5: 5 \\
|
||||
comp6: 6 \\
|
||||
comp7: 7
|
||||
\end{alignat*}
|
||||
\section{} %4
|
||||
\subsection{} %a
|
||||
% Senken finden (alle Senken infiltrieren, dadurch werden alle Module eliminiert)
|
||||
% Algorithmus aus Vorlesung benutzen
|
||||
Es müssen alle Module (oder Knoten) ohne eingehende Kanten eliminiert (bzw. markiert) werden, da diese andernfalls nie erreicht werden können. Zu allen anderen Knoten muss es gerichtete Pfade von einem dieser Knoten geben. Ausnahmen können starke Zusammenhangskomponenten bilden. In jeder starken Zusammenhangskomponente wird daher ebenfalls ein Knoten eliminiert.
|
||||
\newpage
|
||||
\begin{verbatim}
|
||||
function eliminiereMCP() {
|
||||
int zaehler = 0
|
||||
|
||||
list infiltrierteKnoten
|
||||
// füge alle Knoten ohne Vorgänger hinzu:
|
||||
for-all v in Knotenmenge:
|
||||
if v.eingehendeKanten == 0:
|
||||
infiltriere(v)
|
||||
infiltrierteKnoten.add(v)
|
||||
end if
|
||||
end for-all
|
||||
// füge einen Knoten aus jeder
|
||||
// starken Zusammenhangskomponente hinzu:
|
||||
list starkZusammenhaengend = findeStarkeZusammenhangskomponenten()
|
||||
for-all elemente in starkZusammenhaengend:
|
||||
for i = 0; i < elemente.length; i++
|
||||
if infiltrierteKnoten.contains(elemente[i]):
|
||||
zaehler++
|
||||
end if
|
||||
if zaehler == 0:
|
||||
infiltriere(elemente[0])
|
||||
infiltrierteKnoten.add(elemente[0])
|
||||
end if
|
||||
end for
|
||||
end for-all
|
||||
eliminiere(infiltrierteKnoten)
|
||||
}
|
||||
\end{verbatim}
|
||||
\subsection{} %b
|
||||
Wenn alle Senken infiltriert werden, werden dadurch alle Module eliminiert, da alle Module direkt oder indirekt mit mindestens einer Senke verbunden sind.
|
||||
\subsection{} %c
|
||||
Es müssen alle Senken infiltriert werden, da ansonsten einzelne Module nicht eliminiert werden könnten.
|
||||
|
||||
\section*{Zusatzaufgabe} %Zusatz
|
||||
|
||||
Beweis der Terminierung für beliebige natürliche Zahlen größer $0$.\\
|
||||
Trivialer Fall: \\
|
||||
Der Algorithmus terminiert für $n=1$. \\
|
||||
Zweiter Fall: \\
|
||||
Der Algorithmus terminiert für $2^{c} = n$. Dies gilt, da damit nach $c$ Rekursionsschritten immer $n=1$ gilt. \\
|
||||
Dritter Fall: \\
|
||||
Es ist zu zeigen, dass nach endlich vielen Rekursionsschritten \textsc{Coll} mit einer 2er-Potenz aufgerufen wird.
|
||||
|
||||
Dazu lohnt es sich die verbleibenden Zahlen bis 10 anzuschauen.
|
||||
\begin{alignat*}{2}
|
||||
3 \rightarrow 10 \rightarrow 5 \rightarrow 16 \\
|
||||
5 \rightarrow 16 \\
|
||||
6 \rightarrow 3 \\
|
||||
7 \rightarrow 22 \rightarrow 11 \rightarrow 34 \rightarrow 17 \rightarrow 52 \rightarrow 26 \rightarrow 13 \rightarrow 40 \rightarrow 20 \rightarrow 10 \rightarrow 5 \rightarrow 16 \\
|
||||
9 \rightarrow 28 \rightarrow 14 \rightarrow 7 \\
|
||||
10 \rightarrow 5
|
||||
\end{alignat*}
|
||||
|
||||
Was kann aus dieser Reihe geschlossen werden? Alle Zahlen, die aus dem Produkt einer 2er-Potenz und einer dieser Zahlen entstehen, lassen sich auf eine 2er-Potenz zurückführen. Auf diese Weise könnte man für die ersten $d$ natürlichen Zahlen zeigen, dass sie sich alle auf eine 2er-Potenz zurückführen lassen.
|
||||
|
||||
Aufgrund dieser Annahme steigt die Wahrscheinlichkeit bei einem Rekursionsaufruf mit $3n+1$ auf ein solches Vielfaches einer bereits auf eine 2er-Potenz zurückgeführte Zahl zu stoßen.
|
||||
|
||||
Da es jedoch unendlich viele Primzahlen gibt, wenngleich sich deren Abstand zueinander immer weiter erhöht, findet man immer Zahlen, die noch nicht auf eine 2er-Potenz zurückgeführt sind. Aufgrund dieser Tatsache kann es keine allgemeingültige Aussage für alle natürlichen Zahlen geben. Allerdings kann dieser Algorithmus selbst als Antwort verstanden werden. Für eine beliebig große Zahl, die nicht ein gerades Vielfaches einer bereits zurückgeführten Zahl ist, muss daher nur der Algorithmus ausgeführt werden bis ein solches Vielfaches erreicht wurde.
|
||||
|
||||
Nach endlich vielen Schritten wird dies praktisch der Fall sein, wenngleich die Anzahl dieser Schritte dramatisch zunehmen wird. Es ist jedoch nicht möglich dafür einen theoretischen Beweis zu finden, der ebenjene Tatsache darlegen kann.
|
||||
\end{document}
|
||||
|
||||
200
gdb/G62B4_Dittrich-Lindemann-Martens.tex
Normal file
200
gdb/G62B4_Dittrich-Lindemann-Martens.tex
Normal file
@ -0,0 +1,200 @@
|
||||
\documentclass[ngerman]{gdb-aufgabenblatt}
|
||||
\RequirePackage[utf8]{inputenc}
|
||||
\renewcommand{\Aufgabenblatt}{3}
|
||||
\renewcommand{\Ausgabedatum}{Mi. 13.11.2013}
|
||||
\renewcommand{\Abgabedatum}{Do. 28.11.2013}
|
||||
\renewcommand{\Gruppe}{Tim Dittrich, Sebastian Lindemann, Jim Martens}
|
||||
|
||||
% define how the sections are rendered
|
||||
\def\thesection{Aufgabe \arabic{section}:}
|
||||
\def\thesubsection{\alph{subsection})}
|
||||
\def\thesubsubsection{(\roman{subsubsection})}
|
||||
|
||||
\usetikzlibrary{positioning}
|
||||
\usetikzlibrary{shadows}
|
||||
|
||||
\begin{document}
|
||||
\section{Relationenalgebra}
|
||||
\subsection{} %a
|
||||
\[
|
||||
\pi_{Obst.Sorte}(Obst \underset{Obst.Entdecker=Person.PNR}{\bowtie}( \sigma_{Vorname='Horst'}(Person)))
|
||||
\]
|
||||
\subsection{} %b
|
||||
\[
|
||||
\pi_{Person.Vorname, Person.Nachname}(Person \underset{Person.PNR=Allergie.Person}{\bowtie} (\sigma_{Symptom='Halskratzen'}(Allergie)))
|
||||
\]
|
||||
\subsection{} %c
|
||||
\[
|
||||
\pi_{Obst.Sorte, Person.Nachname}((Person \underset{Obst.Entdecker=Person.PNR}{\bowtie} Obst) \underset{Allergie.Obst=Obst.ONR}{\bowtie} (\sigma_{Symptom='W"urgreiz'}(Allergie)))
|
||||
\]
|
||||
|
||||
\section{SQL - Schemadefinition}
|
||||
\subsection{} %a
|
||||
\begin{verbatim}
|
||||
CREATE TABLE Rennstall (
|
||||
RSID INT(10) NOT NULL PRIMARY KEY,
|
||||
Name VARCHAR(255) NOT NULL UNIQUE KEY,
|
||||
Teamchef VARCHAR(255) DEFAULT NULL,
|
||||
Budget INT(3) NOT NULL CHECK(Budget>=0 AND Budget <= 500)
|
||||
);
|
||||
|
||||
CREATE TABLE Rennfahrer (
|
||||
RID INT(10) NOT NULL PRIMARY KEY,
|
||||
Rennstall INT(10) NOT NULL,
|
||||
Vorname VARCHAR(255) NOT NULL,
|
||||
Nachname VARCHAR(255) NOT NULL,
|
||||
Geburt DATE NOT NULL,
|
||||
Wohnort VARCHAR(255) DEFAULT NULL,
|
||||
CONSTRAINT fk_rennstall FOREIGN KEY (Rennstall) REFERENCES Rennstall (RSID)
|
||||
);
|
||||
|
||||
CREATE TABLE Rennort (
|
||||
OID INT(10) NOT NULL PRIMARY KEY,
|
||||
Name VARCHAR(255) NOT NULL,
|
||||
Strecke VARCHAR(255) NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE Platzierung (
|
||||
RID INT(10) NOT NULL,
|
||||
OID INT(10) NOT NULL,
|
||||
Platz INT(3) NOT NULL,
|
||||
CONSTRAINT pk_platzierung PRIMARY KEY (RID, OID)
|
||||
);
|
||||
\end{verbatim}
|
||||
\subsection{} %b
|
||||
Dadurch muss beim Erstellen einer Datenbankabfrage verstärkt darauf geachtet werden, dass nach jeder einzelnen Anweisung die Integrität eingehalten wird. Demnach wird eine feste Reihenfolge vorgegeben. Zyklische Verweise verhindern damit ein irgendwie geartetes Verändern auch nur eines Bestandteils, wenn durch diese Änderung irgendeine Fremdschlüsselbedingung verletzt ist.
|
||||
|
||||
Der Fremdschlüssel von Rennstall zu Rennfahrer könnte erst nach der Anlegung der Tabelle Rennfahrer erstellt werden.
|
||||
|
||||
Außerdem könnten dadurch weder Rennställe noch Rennfahrer gelöscht werden. Wenn ein Rennfahrer gelöscht werden soll und er ein Star eines Rennstalles ist, dann wird die Operation sofort abgebrochen. Umgekehrt kann kein Stall gelöscht werden, da zumindest der Star des Rennstalles selber auf den Rennstall referenziert, wodurch auch solche eine Operation abgebrochen würde.
|
||||
\subsection{} %c
|
||||
\begin{verbatim}
|
||||
INSERT INTO Rennstall
|
||||
(RSID, Name, Teamchef, Budget)
|
||||
VALUES (2, 'Red Bull', 'Christian Horner', 370),
|
||||
(5, 'Ferrari', 'Stefano Domenicali', 350),
|
||||
(31, 'McLaren', 'Martin Whitmarsh', 220),
|
||||
(34, 'Lotus F1', 'Eric Boullier', 100);
|
||||
|
||||
INSERT INTO Rennfahrer
|
||||
(RID, Rennstall, Vorname, Nachname, Geburt, Wohnort)
|
||||
VALUES (4, 2, 'Sebastian', 'Vettel', 19870703, 'Kemmental (Schweiz)'),
|
||||
(6, 5, 'Fernando', 'Alonso', 19810729, 'Lugano (Schweiz)'),
|
||||
(8, 2, 'Marc', 'Webber', 19760827, 'Aston Clinton (UK)'),
|
||||
(9, 31, 'Lewis', 'Hamilton', 19850107, 'Genf (Schweiz)'),
|
||||
(20, 31, 'Jenson', 'Button', 19800119, 'Monte Carlo (Monaco)'),
|
||||
(21, 5, 'Felipe', 'Massa', 19820425, 'São Paulo (Brasilien)'),
|
||||
(44, 34, 'Kimi', 'Räikkönen', 19791017, 'Espoo (Finnland)');
|
||||
|
||||
INSERT INTO Rennort
|
||||
(OID, Name, Strecke)
|
||||
VALUES (4, 'Australien GP', 'Albert Park Circuit'),
|
||||
(15, 'Malaysia GP', 'Sepang International Circuit'),
|
||||
(21, 'China GP', 'Shanghai International Circuit');
|
||||
|
||||
INSERT INTO Platzierung
|
||||
(RID, OID, Platz)
|
||||
VALUES (8, 4, 6),
|
||||
(4, 15, 1),
|
||||
(20, 15, 17),
|
||||
(4, 4, 3),
|
||||
(6, 4, 2),
|
||||
(8, 15, 2),
|
||||
(6, 21, 1),
|
||||
(9, 4, 5),
|
||||
(21, 15, 5),
|
||||
(20, 4, 9),
|
||||
(21, 4, 4);
|
||||
\end{verbatim}
|
||||
\subsection{} %d
|
||||
|
||||
\begin{itemize}
|
||||
\item \begin{verbatim}
|
||||
DELETE FROM Rennfahrer
|
||||
WHERE Vorname LIKE 'F%';
|
||||
\end{verbatim}
|
||||
\item \begin{verbatim}
|
||||
DROP TABLE Platzierung;
|
||||
DROP TABLE Rennort;
|
||||
DROP TABLE Rennfahrer;
|
||||
DROP TABLE Rennstall;
|
||||
\end{verbatim}
|
||||
\end{itemize}
|
||||
|
||||
\section{SQL - Anfragen}
|
||||
\subsection{} %a
|
||||
\begin{verbatim}
|
||||
SELECT DISTINCT obst.Sorte
|
||||
FROM Person pers,
|
||||
Allergie aller,
|
||||
Obst obst
|
||||
WHERE pers.PNR = aller.Person
|
||||
AND aller.Obst = obst.ONR
|
||||
AND pers.Vorname = 'Peter'
|
||||
AND pers.Nachname = 'Meyer'
|
||||
ORDER BY obst.Sorte DESC;
|
||||
\end{verbatim}
|
||||
\subsection{} %b
|
||||
\begin{verbatim}
|
||||
SELECT pers.PNR, pers.Nachname, COUNT(aller.Obst)
|
||||
FROM Person pers,
|
||||
Allergie aller
|
||||
WHERE pers.PNR = aller.Person
|
||||
GROUP BY pers.PNR;
|
||||
\end{verbatim}
|
||||
\subsection{} %c
|
||||
\begin{verbatim}
|
||||
SELECT pers.PNR
|
||||
FROM Person pers,
|
||||
Obst obst
|
||||
WHERE pers.PNR = obst.Entdecker
|
||||
GROUP BY pers.PNR
|
||||
HAVING COUNT(obst.ONR) > 6;
|
||||
\end{verbatim}
|
||||
\subsection{} %d
|
||||
\begin{verbatim}
|
||||
SELECT pers.Vorname, pers.Nachname
|
||||
FROM Person pers,
|
||||
Person entdecker,
|
||||
Obst obst
|
||||
WHERE entdecker.PNR = obst.Entdecker
|
||||
AND pers.Lieblingsobst = obst.ONR
|
||||
AND entdecker.Vorname = pers.Vorname;
|
||||
\end{verbatim}
|
||||
\subsection{} %e
|
||||
\begin{verbatim}
|
||||
SELECT pers.PNR, pers.Vorname, pers.Nachname
|
||||
FROM Person pers
|
||||
WHERE pers.PNR NOT IN (SELECT obst.Entdecker
|
||||
FROM Obst obst);
|
||||
\end{verbatim}
|
||||
|
||||
\section{Optimierung}
|
||||
anfänglicher Operatorbaum:\\
|
||||
\begin{tikzpicture}[shorten >=1pt,node distance=1.1cm,on grid]
|
||||
\node (proj) {$\pi_{Person.PNR, Person.Vorname, Person.Nachname}$};
|
||||
\node (sel) [below=2.0 of proj] {$\sigma_{Obst.Sorte\text{ LIKE 'K\%'}}$};
|
||||
\node (join) [below=2.0 of sel] {$\underset{Person.Lieblingsobst = Obst.ONR}{\bowtie}$};
|
||||
\node (person) [below left=2.0 and 2.0 of join] {Person};
|
||||
\node (obst) [below right=2.0 and 2.0 of join] {Obst};
|
||||
\path (proj) edge node [right] {400} (sel)
|
||||
(sel) edge node [right] {2000} (join)
|
||||
(join) edge node [left] {2000} (person)
|
||||
(join) edge node [right] {25} (obst);
|
||||
\end{tikzpicture}
|
||||
|
||||
optimierter Operatorbaum:\\
|
||||
\begin{tikzpicture}[shorten >=1pt,node distance=1.1cm,on grid]
|
||||
\node (proj) {$\pi_{Person.PNR, Person.Vorname, Person.Nachname}$};
|
||||
\node (join) [below=2.0 of proj] {$\underset{Person.Lieblingsobst = Obst.ONR}{\bowtie}$};
|
||||
\node (person) [below left=2.0 and 2.0 of join] {Person};
|
||||
\node (sel) [below right=2.0 and 2.0 of join] {$\sigma_{Obst.Sorte\text{ LIKE 'K\%'}}$};
|
||||
\node (obst) [below=of sel] {Obst};
|
||||
\path (proj) edge node [right] {400} (join)
|
||||
(join) edge node [left] {2000} (person)
|
||||
(join) edge node [right] {5} (sel)
|
||||
(sel) edge node [right] {25} (obst);
|
||||
\end{tikzpicture}
|
||||
|
||||
Der zweite Operatorbaum ist klar performanter, da die Selektion der Obstsorte bereits vor dem Join stattfindet.
|
||||
\end{document}
|
||||
@ -107,8 +107,7 @@
|
||||
font=\footnotesize,
|
||||
},
|
||||
erbt/.style={
|
||||
isosceles triangle, isosceles triangle apex angle=60,
|
||||
shape border rotate=-90,
|
||||
regular polygon, regular polygon sides=6,
|
||||
draw, black, very thick, minimum size=3em
|
||||
},
|
||||
% Layout fuer referenzgraphen
|
||||
|
||||
296
mk/VortragElektronischeDemokratie.tex
Normal file
296
mk/VortragElektronischeDemokratie.tex
Normal file
@ -0,0 +1,296 @@
|
||||
\documentclass[14pt]{beamer}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Meta informations:
|
||||
\newcommand{\trauthor}{Jim Martens}
|
||||
\newcommand{\trtype}{} %{Proseminar} %{Seminar} %{Workshop}
|
||||
\newcommand{\trcourse}{Einführung in das wissenschaftliche Arbeiten}
|
||||
\newcommand{\trtitle}{Elektronische Demokratie}
|
||||
\newcommand{\trmatrikelnummer}{}
|
||||
\newcommand{\tremail}{2martens@informatik.uni-hamburg.de}
|
||||
\newcommand{\trinstitute}{Fachbereich Informatik}
|
||||
\newcommand{\trwebsiteordate}{}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Languages:
|
||||
|
||||
% Falls die Ausarbeitung in Deutsch erfolgt:
|
||||
\usepackage[ngerman]{babel}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage[utf8]{inputenc}
|
||||
% \usepackage[latin9]{inputenc}
|
||||
\selectlanguage{ngerman}
|
||||
|
||||
% If the thesis is written in English:
|
||||
%\usepackage[english]{babel}
|
||||
%\selectlanguage{english}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Bind packages:
|
||||
\usepackage{beamerthemesplit}
|
||||
\usetheme{Boadilla}
|
||||
%\usetheme{Copenhagen}
|
||||
%\usetheme{Darmstadt}
|
||||
%\usetheme{Frankfurt}
|
||||
%\usetheme{Ilmenau}
|
||||
%\usetheme{JuanLesPins}
|
||||
%\usetheme{Madrid}
|
||||
%\usetheme{Warsaw }
|
||||
%\usecolortheme{dolphin}
|
||||
%\setbeamertemplate{sections/subsections in toc}[sections numbered]
|
||||
%\beamertemplatenavigationsymbolsempty
|
||||
%\setbeamertemplate{headline}[default] % deaktiviert die Kopfzeile
|
||||
\setbeamertemplate{navigation symbols}{}% deaktiviert Navigationssymbole
|
||||
%\useinnertheme{rounded}
|
||||
|
||||
\usepackage{acronym} % Acronyms
|
||||
\usepackage{algorithmic} % Algorithms and Pseudocode
|
||||
\usepackage{algorithm} % Algorithms and Pseudocode
|
||||
\usepackage{amsfonts} % AMS Math Packet (Fonts)
|
||||
\usepackage{amsmath} % AMS Math Packet
|
||||
\usepackage{amssymb} % Additional mathematical symbols
|
||||
\usepackage{amsthm}
|
||||
\usepackage{color} % Enables defining of colors via \definecolor
|
||||
\usepackage{fancybox} % Gleichungen einrahmen
|
||||
\usepackage{fancyhdr} % Paket zur schickeren der Gestaltung der
|
||||
\usepackage{graphicx} % Inclusion of graphics
|
||||
%\usepackage{latexsym} % Special symbols
|
||||
\usepackage{longtable} % Allow tables over several parges
|
||||
\usepackage{listings} % Nicer source code listings
|
||||
\usepackage{lmodern}
|
||||
\usepackage{multicol} % Content of a table over several columns
|
||||
\usepackage{multirow} % Content of a table over several rows
|
||||
\usepackage{rotating} % Alows to rotate text and objects
|
||||
\usepackage[section]{placeins} % Ermoeglich \Floatbarrier fuer Gleitobj.
|
||||
\usepackage[hang]{subfigure} % Allows to use multiple (partial) figures in a fig
|
||||
%\usepackage[font=footnotesize,labelfont=rm]{subfig} % Pictures in a floating environment
|
||||
\usepackage{tabularx} % Tables with fixed width but variable rows
|
||||
\usepackage{url,xspace,boxedminipage} % Accurate display of URLs
|
||||
|
||||
\definecolor{uhhRed}{RGB}{254,0,0} % Official Uni Hamburg Red
|
||||
\definecolor{uhhGrey}{RGB}{136,136,136} % Official Uni Hamburg Grey
|
||||
\definecolor{uhhLightGrey}{RGB}{180,180,180} % Official Uni Hamburg LightGrey
|
||||
\definecolor{uhhLightLightGrey}{RGB}{220,220,220} % Official Uni Hamburg LightLightGrey
|
||||
\setbeamertemplate{itemize items}[ball]
|
||||
\setbeamercolor{title}{fg=uhhRed,bg=white}
|
||||
\setbeamercolor{title in head/foot}{bg=uhhRed}
|
||||
\setbeamercolor{block title}{bg=uhhGrey,fg=white}
|
||||
\setbeamercolor{block body}{bg=uhhLightLightGrey,fg=black}
|
||||
\setbeamercolor{section in head/foot}{bg=black}
|
||||
\setbeamercolor{frametitle}{bg=white,fg=uhhRed}
|
||||
\setbeamercolor{author in head/foot}{bg=black,fg=white}
|
||||
\setbeamercolor{author in footline}{bg=white,fg=black}
|
||||
\setbeamercolor*{item}{fg=uhhRed}
|
||||
\setbeamercolor*{section in toc}{fg=black}
|
||||
\setbeamercolor*{separation line}{bg=black}
|
||||
\setbeamerfont*{author in footline}{size=\scriptsize,series=\mdseries}
|
||||
\setbeamerfont*{institute}{size=\footnotesize}
|
||||
|
||||
\newcommand{\opticalseperator}{0.0025\paperwidth}
|
||||
|
||||
\institute{Universit\"at Hamburg\\\trinstitute}
|
||||
\title{\trtitle}
|
||||
\subtitle{\trtype}
|
||||
\author{\trauthor}
|
||||
\date{}
|
||||
\logo{}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Configurationen:
|
||||
%\hypersetup{pdfpagemode=FullScreen}
|
||||
|
||||
\hyphenation{whe-ther} % Manually use: "\-" in a word: Staats\-ver\-trag
|
||||
|
||||
%\lstloadlanguages{C} % Set the default language for listings
|
||||
\DeclareGraphicsExtensions{.pdf,.svg,.jpg,.png,.eps} % first try pdf, then eps, png and jpg
|
||||
\graphicspath{{./src/}} % Path to a folder where all pictures are located
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Custom Definitions:
|
||||
\setbeamertemplate{title page}
|
||||
{
|
||||
\vbox{}
|
||||
\vspace{0.4cm}
|
||||
\begin{centering}
|
||||
\begin{beamercolorbox}[sep=8pt,center,colsep=-4bp]{title}
|
||||
\usebeamerfont{title}\inserttitle\par%
|
||||
\ifx\insertsubtitle\@empty%
|
||||
\else%
|
||||
\vskip0.20em%
|
||||
{\usebeamerfont{subtitle}\usebeamercolor[fg]{subtitle}\insertsubtitle\par}%
|
||||
\fi%
|
||||
\end{beamercolorbox}%
|
||||
\vskip0.4em
|
||||
\begin{beamercolorbox}[sep=8pt,center,colsep=-4bp,rounded=true,shadow=true]{author}
|
||||
\usebeamerfont{author}\insertauthor \\ \insertinstitute
|
||||
\end{beamercolorbox}
|
||||
|
||||
\vfill
|
||||
%\begin{beamercolorbox}[ht=8ex,center]{}
|
||||
% \includegraphics[width=0.20\paperwidth]{wtmIcon.pdf}
|
||||
% \end{beamercolorbox}%
|
||||
\begin{beamercolorbox}[sep=8pt,center,colsep=-4bp,rounded=true,shadow=true]{institute}
|
||||
\usebeamerfont{institute}%\trwebsiteordate
|
||||
\end{beamercolorbox}
|
||||
\vspace{-0.1cm}
|
||||
\end{centering}
|
||||
}
|
||||
|
||||
\setbeamertemplate{frametitle}
|
||||
{
|
||||
\begin{beamercolorbox}[wd=\paperwidth,ht=3.8ex,dp=1.2ex,leftskip=0pt,rightskip=4.0ex]{frametitle}%
|
||||
\usebeamerfont*{frametitle}\centerline{\insertframetitle}
|
||||
\end{beamercolorbox}
|
||||
\vspace{0.0cm}
|
||||
}
|
||||
|
||||
\setbeamertemplate{footline}
|
||||
{
|
||||
\leavevmode
|
||||
\vspace{-0.05cm}
|
||||
\hbox{
|
||||
\begin{beamercolorbox}[wd=.32\paperwidth,ht=4.8ex,dp=2.7ex,center]{author in footline}
|
||||
\hspace*{2ex}\usebeamerfont*{author in footline}\trauthor
|
||||
\end{beamercolorbox}%
|
||||
\begin{beamercolorbox}[wd=.60\paperwidth,ht=4.8ex,dp=2.7ex,center]{author in footline}
|
||||
\usebeamerfont*{author in footline}\trtitle
|
||||
\end{beamercolorbox}%
|
||||
\begin{beamercolorbox}[wd=.07\paperwidth,ht=4.8ex,dp=2.7ex,center]{author in footline}
|
||||
\usebeamerfont*{author in footline}\insertframenumber{}
|
||||
\end{beamercolorbox}
|
||||
}
|
||||
\vspace{0.15cm}
|
||||
}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Additional 'theorem' and 'definition' blocks:
|
||||
\newtheorem{axiom}{Axiom}[section]
|
||||
%\newtheorem{axiom}{Fakt}[section] % Wenn in Deutsch geschrieben wird.
|
||||
%Usage:%\begin{axiom}[optional description]%Main part%\end{fakt}
|
||||
|
||||
%Additional types of axioms:
|
||||
\newtheorem{observation}[axiom]{Observation}
|
||||
|
||||
%Additional types of definitions:
|
||||
\theoremstyle{remark}
|
||||
%\newtheorem{remark}[section]{Bemerkung} % Wenn in Deutsch geschrieben wird.
|
||||
\newtheorem{remark}[section]{Remark}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Provides TODOs within the margin:
|
||||
\newcommand{\TODO}[1]{\marginpar{\emph{\small{{\bf TODO: } #1}}}}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Abbreviations and mathematical symbols
|
||||
\newcommand{\modd}{\text{ mod }}
|
||||
\newcommand{\RS}{\mathbb{R}}
|
||||
\newcommand{\NS}{\mathbb{N}}
|
||||
\newcommand{\ZS}{\mathbb{Z}}
|
||||
\newcommand{\dnormal}{\mathit{N}}
|
||||
\newcommand{\duniform}{\mathit{U}}
|
||||
|
||||
\newcommand{\erdos}{Erd\H{o}s}
|
||||
\newcommand{\renyi}{-R\'{e}nyi}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Display of TOCs:
|
||||
\AtBeginSection[]
|
||||
{
|
||||
\setcounter{tocdepth}{2}
|
||||
\frame
|
||||
{
|
||||
\frametitle{Outline}
|
||||
\tableofcontents[currentsection]
|
||||
}
|
||||
}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Document:
|
||||
\begin{document}
|
||||
\renewcommand{\arraystretch}{1.2}
|
||||
|
||||
\begin{frame}[plain] % plain => kein Rahmen
|
||||
\titlepage
|
||||
\end{frame}
|
||||
%\setcounter{framenumber}{0}
|
||||
|
||||
\frame{
|
||||
\frametitle{Outline}
|
||||
\tableofcontents
|
||||
}
|
||||
|
||||
%%%%%%%%%%%%%%
|
||||
% Your Content
|
||||
|
||||
\section{Herleitung}
|
||||
|
||||
\frame[t]{
|
||||
\frametitle{Beispiele}
|
||||
\only<1-5>{
|
||||
\begin{itemize}
|
||||
\item<1-5> Terminfindung per Dudle
|
||||
\item<2-5> Petitionen
|
||||
\item<3-5> Crowdfunding - Abstimmen mit Geld
|
||||
\begin{itemize}
|
||||
\item<4-5> Star Citizen
|
||||
\item<5> Oculus Rift
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
}
|
||||
}
|
||||
|
||||
\section{3-Phasen Modell}
|
||||
|
||||
\frame[t]{
|
||||
\frametitle{3-Phasen Modell}
|
||||
\begin{itemize}
|
||||
\item<1-> Single-point-of-entry
|
||||
\item<2-> E-Government
|
||||
\item<3> eins-zu-eins Beziehung zwischen Staat und Bürger
|
||||
\end{itemize}
|
||||
}
|
||||
|
||||
\section{Kritische Diskussion}
|
||||
|
||||
\frame[t]{
|
||||
\only<1-2>{
|
||||
\frametitle{Vorteile}
|
||||
\begin{itemize}
|
||||
\item<1-> Erleichterung der Informationsbeschaffung
|
||||
\item<2> Vereinfachung der Interaktion
|
||||
\item<2> gesteigerte Effizienz
|
||||
\item<2> erhöhte Transparenz
|
||||
\end{itemize}
|
||||
}
|
||||
\only<3->{
|
||||
\frametitle{Nachteile}
|
||||
\begin{itemize}
|
||||
\item<4-> Arbeitsplatzverlust
|
||||
\item<5-> Einschnitt in Privatsphäre
|
||||
\item<6-> erhöhtes Risiko des Identitätsdiebstahls
|
||||
\item<6-> Gefahr von politischer Verfolgung
|
||||
\end{itemize}
|
||||
}
|
||||
}
|
||||
|
||||
\section{Auswertung}
|
||||
|
||||
\frame[t]{
|
||||
\frametitle{Auswertung}
|
||||
|
||||
\begin{itemize}
|
||||
\item<1-> Übertragung aufs Internet nötig
|
||||
\item<2> unter Beachtung integraler Prinzipien
|
||||
\end{itemize}
|
||||
}
|
||||
|
||||
%%%%%%%%%%%%%%
|
||||
|
||||
\frame[c]{
|
||||
\frametitle{Ende}
|
||||
\begin{center}
|
||||
Danke für Eure Aufmerksamkeit.\\[1ex]
|
||||
Fragen?\\[5ex]
|
||||
\end{center}
|
||||
}
|
||||
|
||||
\end{document}
|
||||
12
mk/feedback.txt
Normal file
12
mk/feedback.txt
Normal file
@ -0,0 +1,12 @@
|
||||
Feedback zu Vortrag Elektronische Demokratie
|
||||
|
||||
* roter Faden war nicht zu erkennen
|
||||
* Gesamtüberblick über Elektronische Demokratie
|
||||
* auf einen einzelnen Aspekt konzentrieren
|
||||
* aktuellere Quellen benutzen (z.B. Piratenpartei, etc.)
|
||||
* mehr Quellen
|
||||
* Vergleich basierend auf mehreren Quellen
|
||||
* Definition der Begriffe
|
||||
* miteinbeziehen des Publikums bei einem so populären Thema
|
||||
|
||||
|
||||
@ -267,7 +267,7 @@
|
||||
% Insbesondere stehen die eigentlichen Informationen in der Datei
|
||||
% ``bib.bib''
|
||||
%
|
||||
\clearpage
|
||||
%\clearpage
|
||||
\bibliography{bib}
|
||||
\bibliographystyle{ieeetr}
|
||||
\addcontentsline{toc}{section}{Literatur}% Add to the TOC
|
||||
|
||||
285
optimierung/Uebungsblatt8.tex
Normal file
285
optimierung/Uebungsblatt8.tex
Normal file
@ -0,0 +1,285 @@
|
||||
\documentclass[10pt,a4paper,oneside,ngerman,numbers=noenddot]{scrartcl}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage[ngerman]{babel}
|
||||
\usepackage{amsmath}
|
||||
\usepackage{amsfonts}
|
||||
\usepackage{amssymb}
|
||||
\usepackage{paralist}
|
||||
\usepackage{gauss}
|
||||
\usepackage{pgfplots}
|
||||
\usepackage[locale=DE,exponent-product=\cdot,detect-all]{siunitx}
|
||||
\usepackage{tikz}
|
||||
\usetikzlibrary{matrix,fadings,calc,positioning,decorations.pathreplacing,arrows,decorations.markings}
|
||||
\usepackage{polynom}
|
||||
\polyset{style=C, div=:,vars=x}
|
||||
\pgfplotsset{compat=1.8}
|
||||
\pagenumbering{arabic}
|
||||
% ensures that paragraphs are separated by empty lines
|
||||
\parskip 12pt plus 1pt minus 1pt
|
||||
\parindent 0pt
|
||||
% define how the sections are rendered
|
||||
\def\thesection{\arabic{section})}
|
||||
\def\thesubsection{\alph{subsection})}
|
||||
\def\thesubsubsection{(\roman{subsubsection})}
|
||||
% some matrix magic
|
||||
\makeatletter
|
||||
\renewcommand*\env@matrix[1][*\c@MaxMatrixCols c]{%
|
||||
\hskip -\arraycolsep
|
||||
\let\@ifnextchar\new@ifnextchar
|
||||
\array{#1}}
|
||||
\makeatother
|
||||
|
||||
\begin{document}
|
||||
\author{Jan Branitz (6326955), Jim Martens (6420323),\\
|
||||
Stephan Niendorf (6242417)}
|
||||
\title{Hausaufgaben zum 9. Dezember}
|
||||
\maketitle
|
||||
\section{} %1
|
||||
\subsection{} %a
|
||||
\begin{alignat*}{4}
|
||||
\text{minimiere}\; & y_{1} \,&+&\, 2y_{2} \,&+&\, 3y_{3} && \\
|
||||
\multicolumn{8}{l}{\text{unter den Nebenbedingungen}} && \\
|
||||
\;& 2y_{1} \,&+&\, 3y_{2} \,&+&\, y_{3} \,&\geq & 5 \\
|
||||
\;& 3y_{1} \,&+&\, y_{2} \,&+&\, y_{3} \,&\geq & -7 \\
|
||||
\;-& y_{1} \,&+&\, 4y_{2} \,&-&\, 2y_{3} \,&\geq & 3 \\
|
||||
\;& y_{1} \,&-&\, 2y_{2} \,&-&\, y_{3} \,&=& 1 \\
|
||||
\multicolumn{6}{r}{$y_{2}, y_{3}$} \,&\geq &\, 0
|
||||
\end{alignat*}
|
||||
\subsection{} %b
|
||||
\begin{alignat*}{9}
|
||||
\text{maximiere}\; -& y_{1} &+& 16y_{2} &+& 5y_{3} &+& 8y_{4} &+& y_{5} &-& 4y_{6} &-& 10y_{7} &+& 9y_{8} && \\
|
||||
\multicolumn{18}{l}{\text{unter den Nebenbedingungen}} && \\
|
||||
& 2y_{1} &+& y_{2} &+& y_{3} &+& 2y_{4} &+& y_{5} &+& 4y_{6} &-& 4y_{7} &+& y_{8} &\leq &\, -2 \\
|
||||
-& 4y_{1} &+& 5y_{2} && &+& 4y_{4} &-& 3y_{5} &-& 3y_{6} &+& 3y_{7} &+& 2y_{8} &=&\, 3 \\
|
||||
& y_{1} &+& y_{2} &+& y_{3} &-& y_{4} &+& y_{5} && &-& 5y_{7} &+& y_{8} &=&\, 22 \\
|
||||
\multicolumn{16}{r}{$y_{4}, y_{5}, y_{6}, y_{7}$} \,&\geq &\, 0
|
||||
\end{alignat*}
|
||||
\section{} %2
|
||||
\subsection{} %a
|
||||
Das LP-Problem:
|
||||
\begin{alignat*}{3}
|
||||
\text{maximiere}\; & 40x_{1} \,&+&\, 70x_{2} && \\
|
||||
\multicolumn{6}{l}{\text{unter den Nebenbedingungen}} && \\
|
||||
\;& x_{1} \,&+&\, x_{2} \,&\leq & 100 \\
|
||||
\;& 10x_{1} \,&+&\, 50x_{2} \,&\leq & 4000 \\
|
||||
\multicolumn{4}{r}{$x_{1}, x_{2}$} \,&\geq &\, 0
|
||||
\end{alignat*}
|
||||
|
||||
Das duale Problem:
|
||||
\begin{alignat*}{3}
|
||||
\text{minimiere}\; & 100y_{1} \,&+&\, 4000y_{2} && \\
|
||||
\multicolumn{6}{l}{\text{unter den Nebenbedingungen}} && \\
|
||||
\;& y_{1} \,&+&\, 10y_{2} \,&\geq & 40 \\
|
||||
\;& y_{1} \,&+&\, 50y_{2} \,&\geq & 70 \\
|
||||
\multicolumn{4}{r}{$y_{1}, y_{2}$} \,&\geq &\, 0
|
||||
\end{alignat*}
|
||||
|
||||
\subsubsection{} %i
|
||||
\underline{Starttableau}:
|
||||
\begin{alignat*}{4}
|
||||
x_{3} \,&=&\, 100 \,&-&\, x_{1} \,&-&\, x_{2} \\
|
||||
x_{4} \,&=&\, 4000 \,&-&\, 10x_{1} \,&-&\, 50x_{2} \\ \cline{1 - 7}
|
||||
z &=& &&\, 40x_{1} \,&+&\, 70x_{2}
|
||||
\end{alignat*}
|
||||
|
||||
\underline{1. Iteration}:
|
||||
|
||||
Eingangsvariable: $x_{2}$\\
|
||||
Ausgangsvariable: $x_{4}$
|
||||
|
||||
Es folgt
|
||||
\begin{alignat*}{2}
|
||||
50x_{2} \,&=&&\, 4000 - 10x_{1} - x_{4} \\
|
||||
x_{2} \,&=&&\, 80 - \frac{1}{5}x_{1} - \frac{1}{50}x_{4} \\
|
||||
x_{3} \,&=&&\, 100 - x_{1} - \left(80 - \frac{1}{5}x_{1} - \frac{1}{50}x_{4}\right) \\
|
||||
&=&&\, 100 - x_{1} - 80 + \frac{1}{5}x_{1} + \frac{1}{50}x_{4} \\
|
||||
&=&&\, 20 - \frac{4}{5}x_{1} + \frac{1}{50}x_{4} \\
|
||||
z \,&=&&\, 40x_{1} + 70\left(80 - \frac{1}{5}x_{1} - \frac{1}{50}x_{4}\right) \\
|
||||
&=&&\, 40x_{1} + 5600 - 14x_{1} - \frac{7}{5}x_{4} \\
|
||||
&=&&\, 5600 + 26x_{1} - \frac{7}{5}x_{4}
|
||||
\end{alignat*}
|
||||
|
||||
\underline{Ergebnis der 1. Iteration}:
|
||||
\begin{alignat*}{4}
|
||||
x_{2} \,&=&\, 80 \,&-&\, \frac{1}{5}x_{1} \,&-&\, \frac{1}{50}x_{4} \\
|
||||
x_{3} \,&=&\, 20 \,&-&\, \frac{4}{5}x_{1} \,&+&\, \frac{1}{50}x_{4} \\ \cline{1 - 7}
|
||||
z &=& 5600 \,&+&\, 26x_{1} \,&-&\, \frac{7}{5}x_{4}
|
||||
\end{alignat*}
|
||||
|
||||
\underline{2. Iteration}:
|
||||
|
||||
Eingangsvariable: $x_{1}$\\
|
||||
Ausgangsvariable: $x_{3}$
|
||||
|
||||
Es folgt
|
||||
\begin{alignat*}{2}
|
||||
\frac{4}{5}x_{1} \,&=&&\, 20 + \frac{1}{50}x_{4} - x_{3} \\
|
||||
x_{1} \,&=&&\, 25 + \frac{1}{40}x_{4} - \frac{5}{4}x_{3} \\
|
||||
x_{2} \,&=&&\, 80 - \frac{1}{5}\left(25 + \frac{1}{40}x_{4} - \frac{5}{4}x_{3}\right) - \frac{1}{50}x_{4} \\
|
||||
&=&&\, 80 - 5 + \frac{1}{200}x_{4} - \frac{1}{4}x_{3} - \frac{1}{50}x_{4} \\
|
||||
&=&&\, 75 - \frac{3}{200}x_{4} - \frac{1}{4}x_{3} \\
|
||||
z \,&=&&\, 5600 + 26\left(25 + \frac{1}{40}x_{4} - \frac{5}{4}x_{3}\right) - \frac{7}{5}x_{4} \\
|
||||
&=&&\, 5600 + 650 + \frac{13}{20}x_{4} - \frac{65}{2}x_{3} - \frac{7}{5}x_{4} \\
|
||||
&=&&\, 6250 - \frac{3}{4}x_{4} - \frac{65}{2}x_{3}
|
||||
\end{alignat*}
|
||||
|
||||
\underline{Ergebnis der 2. Iteration}:
|
||||
\begin{alignat*}{4}
|
||||
x_{1} \,&=&\, 25 \,&-&\, \frac{1}{40}x_{4} \,&-&\, \frac{5}{4}x_{3} \\
|
||||
x_{2} \,&=&\, 75 \,&-&\, \frac{3}{200}x_{4} \,&-&\, \frac{1}{4}x_{3} \\ \cline{1 - 7}
|
||||
z &=& 6250 \,&-&\, \frac{3}{4}x_{4} \,&-&\, \frac{65}{2}x_{3}
|
||||
\end{alignat*}
|
||||
|
||||
Wie hier deutlich wird, ist $x_{1}^{*} = 25, x_{2}^{*} = 75$ eine optimale Lösung des primalen Problems.
|
||||
|
||||
\underline{Startlösung ("`zulässige Basislösung am Anfang"')}:
|
||||
\[
|
||||
x_{1} = 0, x_{2} = 0, x_{3} = 100, x_{4} = 4000 \text{ mit } z = 0
|
||||
\]
|
||||
\underline{Zulässige Basislösung nach der 1. Iteration}:
|
||||
\[
|
||||
x_{1} = 0, x_{2} = 80, x_{3} = 20, x_{4} = 0 \text{ mit } z = 5600
|
||||
\]
|
||||
\underline{Zulässige Basislösung nach der 2. Iteration}:
|
||||
\[
|
||||
x_{1} = 25, x_{2} = 75, x_{3} = 0, x_{4} = 0 \text{ mit } z = 6250
|
||||
\]
|
||||
|
||||
Durch Einsetzen von $y_{1}^{*} = 32.5$ und $y_{2}^{*} = 0.75$ in die Zielfunktion des dualen Problems ergibt sich folgendes:
|
||||
\[
|
||||
100 \cdot \frac{65}{2} + 4000 \cdot \frac{3}{4} = 3250 + 3000 = 6250
|
||||
\]
|
||||
|
||||
Die beiden Zielfunktionswerte stimmen überein. Nach dem Dualitätssatz folgt daraus, dass $y_{1}^{*} = 32.5, y_{2}^{*} = 0.75$ tatsächlich eine optimale Lösung für das duale Problem darstellt.
|
||||
\subsubsection{} %ii
|
||||
Zum Überprüfen der vorgeschlagenen Lösung werden die Werte zunächst in die Ungleichungen des LP-Problems eingesetzt.
|
||||
|
||||
Erste Ungleichung:
|
||||
\begin{alignat*}{2}
|
||||
25 + 75 &\leq & 100 \\
|
||||
100 &\leq & 100
|
||||
\end{alignat*}
|
||||
|
||||
Zweite Ungleichung:
|
||||
\begin{alignat*}{2}
|
||||
10 \cdot 25 + 50 \cdot 75 &\leq & 4000 \\
|
||||
4000 &\leq & 4000
|
||||
\end{alignat*}
|
||||
|
||||
Da beide Ungleichungen mit Gleichheit erfüllt sind, lassen sich keine Rückschlüsse auf $y$-Werte ziehen. Da beide $x$-Werte größer als $0$ sind, müssen beide Ungleichungen im dualen Problem mit Gleichheit erfüllt sein.
|
||||
|
||||
\begin{alignat*}{2}
|
||||
I \;& y_{1} + 10y_{2} &=& 40 \\
|
||||
II \;& y_{1} + 50y_{2} &=& 70 \\
|
||||
II - I \;& 40y_{2} &=& 30 \\
|
||||
\;& y_{2} &=& \frac{3}{4} \\
|
||||
\intertext{Einsetzen von $y_{2}$ in $I$}
|
||||
I \;& y_{1} + 10 \cdot \frac{3}{4} &=& 40 \\
|
||||
\;& y_{1} + \frac{15}{2} &=& 40 \\
|
||||
\;& y_{1} &=& \frac{65}{2}
|
||||
\end{alignat*}
|
||||
|
||||
Es ergeben sich somit die eindeutig bestimmten Zahlen $y_{1}^{*} = \frac{65}{2}, y_{2}^{*} = \frac{3}{4}$. Diese Zahlen erfüllen zusammen mit der vorgeschlagenen Lösung die komplementären Schlupfbedingungen.
|
||||
Schließlich muss noch geprüft werden, ob diese Zahlen auch eine zulässige Lösung des dualen Problems sind. Dafür werden diese eingesetzt:
|
||||
|
||||
Erste Ungleichung:
|
||||
\begin{alignat*}{2}
|
||||
1 \cdot \frac{65}{2} + 10 \cdot \frac{3}{4} &\geq & 40 \\
|
||||
40 &\geq & 40
|
||||
\end{alignat*}
|
||||
|
||||
Zweite Ungleichung:
|
||||
\begin{alignat*}{2}
|
||||
1 \cdot \frac{65}{2} + 50 \cdot \frac{3}{4} &\geq & 70 \\
|
||||
70 &\geq & 70
|
||||
\end{alignat*}
|
||||
|
||||
Da alle zwei Ungleichungen mit den herausgefundenen Zahlen gültig sind, stellen die gefundenen Zahlen eine zulässige Lösung des dualen Problems dar.
|
||||
\subsection{} %b
|
||||
\underline{Starttableau}:
|
||||
\begin{alignat*}{4}
|
||||
x_{3} \,&=&\, 100 \,&-&\, x_{1} \,&-&\, x_{2} \\
|
||||
x_{4} \,&=&\, 4000 + t \,&-&\, 10x_{1} \,&-&\, 50x_{2} \\ \cline{1 - 7}
|
||||
z &=& &&\, 40x_{1} \,&+&\, 70x_{2}
|
||||
\end{alignat*}
|
||||
|
||||
\underline{1. Iteration}:
|
||||
|
||||
\textbf{Es wird vorausgesetzt, dass $0 \leq t \leq 1000$ gilt.} Für $t=0$ gilt im Folgenden genau das Gleiche wie in 2a i). Für $t=1000$ kann eine der Ausgangsvariablen nach Belieben gewählt werden, da beide potentiellen Ausgangsvariablen $x_{2}$ gleichermaßen beschränken. Da in den meisten Fällen jedoch $t$ kleiner als $1000$ ist, wird $x_{4}$ als Ausgangsvariable gewählt.
|
||||
|
||||
Eingangsvariable: $x_{2}$\\
|
||||
Ausgangsvariable: $x_{4}$
|
||||
|
||||
Es folgt
|
||||
\begin{alignat*}{2}
|
||||
50x_{2} \,&=&&\, 4000 + t - 10x_{1} - x_{4} \\
|
||||
x_{2} \,&=&&\, 80 + \frac{1}{50}t - \frac{1}{5}x_{1} - \frac{1}{50}x_{4} \\
|
||||
x_{3} \,&=&&\, 100 - x_{1} - \left(80 + \frac{1}{50}t - \frac{1}{5}x_{1} - \frac{1}{50}x_{4}\right) \\
|
||||
&=&&\, 100 - x_{1} - 80 - \frac{1}{50}t + \frac{1}{5}x_{1} + \frac{1}{50}x_{4} \\
|
||||
&=&&\, 20 - \frac{1}{50}t - \frac{4}{5}x_{1} + \frac{1}{50}x_{4} \\
|
||||
z \,&=&&\, 40x_{1} + 70\left(80 + \frac{1}{50}t - \frac{1}{5}x_{1} - \frac{1}{50}x_{4}\right) \\
|
||||
&=&&\, 40x_{1} + 5600 + \frac{7}{5}t - 14x_{1} - \frac{7}{5}x_{4} \\
|
||||
&=&&\, 5600 + \frac{7}{5}t + 26x_{1} - \frac{7}{5}x_{4}
|
||||
\end{alignat*}
|
||||
|
||||
\underline{Ergebnis der 1. Iteration}:
|
||||
\begin{alignat*}{4}
|
||||
x_{2} \,&=&\, 80 + \frac{1}{50}t \,&-&\, \frac{1}{5}x_{1} \,&-&\, \frac{1}{50}x_{4} \\
|
||||
x_{3} \,&=&\, 20 - \frac{1}{50}t \,&-&\, \frac{4}{5}x_{1} \,&+&\, \frac{1}{50}x_{4} \\ \cline{1 - 7}
|
||||
z &=& 5600 + \frac{7}{5}t \,&+&\, 26x_{1} \,&-&\, \frac{7}{5}x_{4}
|
||||
\end{alignat*}
|
||||
|
||||
\underline{2. Iteration}:
|
||||
|
||||
\textbf{Es wird vorausgesetzt, dass $t \leq 1000$ gilt.} Könnte $t$ größer sein, dann würde die Möglichkeit bestehen, dass $x_{3}$ in der Basislösung nach der ersten Iteration einen negativen Wert hat.
|
||||
|
||||
Eingangsvariable: $x_{1}$\\
|
||||
Ausgangsvariable: $x_{3}$
|
||||
|
||||
Es folgt
|
||||
\begin{alignat*}{2}
|
||||
\frac{4}{5}x_{1} \,&=&&\, 20 - \frac{1}{50}t + \frac{1}{50}x_{4} - x_{3} \\
|
||||
x_{1} \,&=&&\, 25 - \frac{1}{40}t + \frac{1}{40}x_{4} - \frac{5}{4}x_{3} \\
|
||||
x_{2} \,&=&&\, 80 + \frac{1}{50}t - \frac{1}{5}\left(25 - \frac{1}{40}t + \frac{1}{40}x_{4} - \frac{5}{4}x_{3}\right) - \frac{1}{50}x_{4} \\
|
||||
&=&&\, 80 + \frac{1}{50}t - 5 + \frac{1}{200}t - \frac{1}{200}x_{4} - \frac{1}{4}x_{3} - \frac{1}{50}x_{4} \\
|
||||
&=&&\, 75 + \frac{1}{40}t - \frac{1}{40}x_{4} - \frac{1}{4}x_{3} \\
|
||||
z \,&=&&\, 5600 + \frac{7}{5}t + 26\left(25 - \frac{1}{40}t + \frac{1}{40}x_{4} - \frac{5}{4}x_{3}\right) - \frac{7}{5}x_{4} \\
|
||||
&=&&\, 5600 + \frac{7}{5}t + 650 - \frac{13}{20}t + \frac{13}{20}x_{4} - \frac{65}{2}x_{3} - \frac{7}{5}x_{4} \\
|
||||
&=&&\, 6250 + \frac{3}{4}t - \frac{3}{4}x_{4} - \frac{65}{2}x_{3}
|
||||
\end{alignat*}
|
||||
|
||||
\underline{Ergebnis der 2. Iteration}:
|
||||
\begin{alignat*}{4}
|
||||
x_{1} \,&=&\, 25 - \frac{1}{40}t \,&-&\, \frac{1}{40}x_{4} \,&-&\, \frac{5}{4}x_{3} \\
|
||||
x_{2} \,&=&\, 75 + \frac{1}{40}t \,&-&\, \frac{1}{40}x_{4} \,&-&\, \frac{1}{4}x_{3} \\ \cline{1 - 7}
|
||||
z &=& 6250 + \frac{3}{4}t \,&-&\, \frac{3}{4}x_{4} \,&-&\, \frac{65}{2}x_{3}
|
||||
\end{alignat*}
|
||||
|
||||
Wie hier deutlich wird, ist $x_{1}^{*} = 25, x_{2}^{*} = 75$ eine optimale Lösung des primalen Problems.
|
||||
|
||||
\underline{Startlösung ("`zulässige Basislösung am Anfang"')}:
|
||||
\[
|
||||
x_{1} = 0, x_{2} = 0, x_{3} = 100, x_{4} = 4000 + t \text{ mit } z = 0
|
||||
\]
|
||||
\underline{Zulässige Basislösung nach der 1. Iteration}:
|
||||
\[
|
||||
x_{1} = 0, x_{2} = 80 + \frac{1}{50}t, x_{3} = 20 - \frac{1}{50}t, x_{4} = 0 \text{ mit } z = 5600 + \frac{7}{5}t
|
||||
\]
|
||||
\underline{Zulässige Basislösung nach der 2. Iteration}:
|
||||
\[
|
||||
x_{1} = 25 - \frac{1}{40}t, x_{2} = 75 + \frac{1}{40}t, x_{3} = 0, x_{4} = 0 \text{ mit } z = 6250 + \frac{3}{4}t
|
||||
\]
|
||||
|
||||
Wie im Folgenden zu sehen ist, entsprechen die Werte der optimalen Lösung den in (7.24) auf Skriptseite 67 angenommenen Werten.
|
||||
\[
|
||||
x_{1} = 25 - \frac{1}{40}t = 25 - \frac{25}{1000}t = 25 - 0.025t
|
||||
\]
|
||||
\[
|
||||
x_{2} = 75 + \frac{1}{40}t = 75 + \frac{25}{1000}t = 75 + 0.025t
|
||||
\]
|
||||
Im Folgenden ist zu sehen, dass tatsächlich ein zusätzlicher Gewinn von $0.75t$ erzielt wird.
|
||||
\[
|
||||
z = 6250 + \frac{3}{4}t = 6250 + \frac{75}{100}t = 6250 + 0.75t
|
||||
\]
|
||||
\end{document}
|
||||
286
prosem/VortragProsem.tex
Normal file
286
prosem/VortragProsem.tex
Normal file
@ -0,0 +1,286 @@
|
||||
\documentclass[14pt]{beamer}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Meta informations:
|
||||
\newcommand{\trauthor}{Horst Hansen}
|
||||
\newcommand{\trtype}{} %{Proseminar} %{Seminar} %{Workshop}
|
||||
\newcommand{\trcourse}{Knowledge Processing with Neural Networks}
|
||||
\newcommand{\trtitle}{Neural Networks for Artificial Agents}
|
||||
\newcommand{\trmatrikelnummer}{6543210}
|
||||
\newcommand{\tremail}{hansen@informatik.uni-hamburg.de}
|
||||
\newcommand{\trinstitute}{Dept. Informatik -- Knowledge Technology, WTM}
|
||||
\newcommand{\trwebsiteordate}{{http://www.informatik.uni-hamburg.de/WTM/}}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Languages:
|
||||
|
||||
% Falls die Ausarbeitung in Deutsch erfolgt:
|
||||
% \usepackage[german]{babel}
|
||||
% \usepackage[T1]{fontenc}
|
||||
% \usepackage[latin1]{inputenc}
|
||||
% \usepackage[latin9]{inputenc}
|
||||
% \selectlanguage{german}
|
||||
|
||||
% If the thesis is written in English:
|
||||
\usepackage[english]{babel}
|
||||
\selectlanguage{english}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Bind packages:
|
||||
\usepackage{beamerthemesplit}
|
||||
\usetheme{Boadilla}
|
||||
%\usetheme{Copenhagen}
|
||||
%\usetheme{Darmstadt}
|
||||
%\usetheme{Frankfurt}
|
||||
%\usetheme{Ilmenau}
|
||||
%\usetheme{JuanLesPins}
|
||||
%\usetheme{Madrid}
|
||||
%\usetheme{Warsaw }
|
||||
%\usecolortheme{dolphin}
|
||||
%\setbeamertemplate{sections/subsections in toc}[sections numbered]
|
||||
%\beamertemplatenavigationsymbolsempty
|
||||
%\setbeamertemplate{headline}[default] % deaktiviert die Kopfzeile
|
||||
\setbeamertemplate{navigation symbols}{}% deaktiviert Navigationssymbole
|
||||
%\useinnertheme{rounded}
|
||||
|
||||
\usepackage{acronym} % Acronyms
|
||||
\usepackage{algorithmic} % Algorithms and Pseudocode
|
||||
\usepackage{algorithm} % Algorithms and Pseudocode
|
||||
\usepackage{amsfonts} % AMS Math Packet (Fonts)
|
||||
\usepackage{amsmath} % AMS Math Packet
|
||||
\usepackage{amssymb} % Additional mathematical symbols
|
||||
\usepackage{amsthm}
|
||||
\usepackage{color} % Enables defining of colors via \definecolor
|
||||
\usepackage{fancybox} % Gleichungen einrahmen
|
||||
\usepackage{fancyhdr} % Paket zur schickeren der Gestaltung der
|
||||
\usepackage{graphicx} % Inclusion of graphics
|
||||
%\usepackage{latexsym} % Special symbols
|
||||
\usepackage{longtable} % Allow tables over several parges
|
||||
\usepackage{listings} % Nicer source code listings
|
||||
\usepackage{lmodern}
|
||||
\usepackage{multicol} % Content of a table over several columns
|
||||
\usepackage{multirow} % Content of a table over several rows
|
||||
\usepackage{rotating} % Alows to rotate text and objects
|
||||
\usepackage[section]{placeins} % Ermoeglich \Floatbarrier fuer Gleitobj.
|
||||
\usepackage[hang]{subfigure} % Allows to use multiple (partial) figures in a fig
|
||||
%\usepackage[font=footnotesize,labelfont=rm]{subfig} % Pictures in a floating environment
|
||||
\usepackage{tabularx} % Tables with fixed width but variable rows
|
||||
\usepackage{url,xspace,boxedminipage} % Accurate display of URLs
|
||||
|
||||
\definecolor{uhhRed}{RGB}{254,0,0} % Official Uni Hamburg Red
|
||||
\definecolor{uhhGrey}{RGB}{136,136,136} % Official Uni Hamburg Grey
|
||||
\definecolor{uhhLightGrey}{RGB}{180,180,180} % Official Uni Hamburg LightGrey
|
||||
\definecolor{uhhLightLightGrey}{RGB}{220,220,220} % Official Uni Hamburg LightLightGrey
|
||||
\setbeamertemplate{itemize items}[ball]
|
||||
\setbeamercolor{title}{fg=uhhRed,bg=white}
|
||||
\setbeamercolor{title in head/foot}{bg=uhhRed}
|
||||
\setbeamercolor{block title}{bg=uhhGrey,fg=white}
|
||||
\setbeamercolor{block body}{bg=uhhLightLightGrey,fg=black}
|
||||
\setbeamercolor{section in head/foot}{bg=black}
|
||||
\setbeamercolor{frametitle}{bg=white,fg=uhhRed}
|
||||
\setbeamercolor{author in head/foot}{bg=black,fg=white}
|
||||
\setbeamercolor{author in footline}{bg=white,fg=black}
|
||||
\setbeamercolor*{item}{fg=uhhRed}
|
||||
\setbeamercolor*{section in toc}{fg=black}
|
||||
\setbeamercolor*{separation line}{bg=black}
|
||||
\setbeamerfont*{author in footline}{size=\scriptsize,series=\mdseries}
|
||||
\setbeamerfont*{institute}{size=\footnotesize}
|
||||
|
||||
\newcommand{\opticalseperator}{0.0025\paperwidth}
|
||||
|
||||
\institute{Universit\"at Hamburg\\\trinstitute}
|
||||
\title{\trtitle}
|
||||
\subtitle{\trtype}
|
||||
\author{\trauthor}
|
||||
\date{}
|
||||
\logo{}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Configurationen:
|
||||
%\hypersetup{pdfpagemode=FullScreen}
|
||||
|
||||
\hyphenation{whe-ther} % Manually use: "\-" in a word: Staats\-ver\-trag
|
||||
|
||||
%\lstloadlanguages{C} % Set the default language for listings
|
||||
\DeclareGraphicsExtensions{.pdf,.svg,.jpg,.png,.eps} % first try pdf, then eps, png and jpg
|
||||
\graphicspath{{./src/}} % Path to a folder where all pictures are located
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Costom Definitions:
|
||||
\setbeamertemplate{title page}
|
||||
{
|
||||
\vbox{}
|
||||
\vspace{0.4cm}
|
||||
\begin{centering}
|
||||
\begin{beamercolorbox}[sep=8pt,center,colsep=-4bp]{title}
|
||||
\usebeamerfont{title}\inserttitle\par%
|
||||
\ifx\insertsubtitle\@empty%
|
||||
\else%
|
||||
\vskip0.20em%
|
||||
{\usebeamerfont{subtitle}\usebeamercolor[fg]{subtitle}\insertsubtitle\par}%
|
||||
\fi%
|
||||
\end{beamercolorbox}%
|
||||
\vskip0.4em
|
||||
\begin{beamercolorbox}[sep=8pt,center,colsep=-4bp,rounded=true,shadow=true]{author}
|
||||
\usebeamerfont{author}\insertauthor \\ \insertinstitute
|
||||
\end{beamercolorbox}
|
||||
|
||||
\vfill
|
||||
\begin{beamercolorbox}[ht=8ex,center]{}
|
||||
\includegraphics[width=0.20\paperwidth]{wtmIcon.pdf}
|
||||
\end{beamercolorbox}%
|
||||
\begin{beamercolorbox}[sep=8pt,center,colsep=-4bp,rounded=true,shadow=true]{institute}
|
||||
\usebeamerfont{institute}\trwebsiteordate
|
||||
\end{beamercolorbox}
|
||||
\vspace{-0.1cm}
|
||||
\end{centering}
|
||||
}
|
||||
|
||||
\setbeamertemplate{frametitle}
|
||||
{
|
||||
\begin{beamercolorbox}[wd=\paperwidth,ht=3.8ex,dp=1.2ex,leftskip=0pt,rightskip=4.0ex]{frametitle}%
|
||||
\usebeamerfont*{frametitle}\centerline{\insertframetitle}
|
||||
\end{beamercolorbox}
|
||||
\vspace{0.0cm}
|
||||
}
|
||||
|
||||
\setbeamertemplate{footline}
|
||||
{
|
||||
\leavevmode
|
||||
\vspace{-0.05cm}
|
||||
\hbox{
|
||||
\begin{beamercolorbox}[wd=.32\paperwidth,ht=4.8ex,dp=2.7ex,center]{author in footline}
|
||||
\hspace*{2ex}\usebeamerfont*{author in footline}\trauthor
|
||||
\end{beamercolorbox}%
|
||||
\begin{beamercolorbox}[wd=.60\paperwidth,ht=4.8ex,dp=2.7ex,center]{author in footline}
|
||||
\usebeamerfont*{author in footline}\trtitle
|
||||
\end{beamercolorbox}%
|
||||
\begin{beamercolorbox}[wd=.07\paperwidth,ht=4.8ex,dp=2.7ex,center]{author in footline}
|
||||
\usebeamerfont*{author in footline}\insertframenumber{}
|
||||
\end{beamercolorbox}
|
||||
}
|
||||
\vspace{0.15cm}
|
||||
}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Additional 'theorem' and 'definition' blocks:
|
||||
\newtheorem{axiom}{Axiom}[section]
|
||||
%\newtheorem{axiom}{Fakt}[section] % Wenn in Deutsch geschrieben wird.
|
||||
%Usage:%\begin{axiom}[optional description]%Main part%\end{fakt}
|
||||
|
||||
%Additional types of axioms:
|
||||
\newtheorem{observation}[axiom]{Observation}
|
||||
|
||||
%Additional types of definitions:
|
||||
\theoremstyle{remark}
|
||||
%\newtheorem{remark}[section]{Bemerkung} % Wenn in Deutsch geschrieben wird.
|
||||
\newtheorem{remark}[section]{Remark}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Provides TODOs within the margin:
|
||||
\newcommand{\TODO}[1]{\marginpar{\emph{\small{{\bf TODO: } #1}}}}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Abbreviations and mathematical symbols
|
||||
\newcommand{\modd}{\text{ mod }}
|
||||
\newcommand{\RS}{\mathbb{R}}
|
||||
\newcommand{\NS}{\mathbb{N}}
|
||||
\newcommand{\ZS}{\mathbb{Z}}
|
||||
\newcommand{\dnormal}{\mathit{N}}
|
||||
\newcommand{\duniform}{\mathit{U}}
|
||||
|
||||
\newcommand{\erdos}{Erd\H{o}s}
|
||||
\newcommand{\renyi}{-R\'{e}nyi}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Display of TOCs:
|
||||
\AtBeginSection[]
|
||||
{
|
||||
\setcounter{tocdepth}{2}
|
||||
\frame
|
||||
{
|
||||
\frametitle{Outline}
|
||||
\tableofcontents[currentsection]
|
||||
}
|
||||
}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Document:
|
||||
\begin{document}
|
||||
\renewcommand{\arraystretch}{1.2}
|
||||
|
||||
\begin{frame}[plain] % plain => kein Rahmen
|
||||
\titlepage
|
||||
\end{frame}
|
||||
%\setcounter{framenumber}{0}
|
||||
|
||||
\frame{
|
||||
\frametitle{Outline}
|
||||
\tableofcontents
|
||||
}
|
||||
|
||||
%%%%%%%%%%%%%%
|
||||
% Your Content
|
||||
|
||||
\section{Motivation and Question}
|
||||
|
||||
\frame[t]{
|
||||
\frametitle{Motivation}
|
||||
\begin{itemize}
|
||||
\item Add your motivation here
|
||||
\begin{itemize}
|
||||
\item Maybe with some details
|
||||
\begin{itemize}
|
||||
\item but not too much
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\item Use references \textsuperscript{[Author, 2010]}
|
||||
\end{itemize}
|
||||
}
|
||||
|
||||
\section{Basics and Definition}
|
||||
|
||||
\section{Approach}
|
||||
|
||||
\section{Results}
|
||||
|
||||
\section{Conclusion}
|
||||
|
||||
\frame[t]
|
||||
{
|
||||
\frametitle{Conclusion}
|
||||
|
||||
Novelty and contribution of this work:
|
||||
\begin{itemize}
|
||||
\item Sum up the approach
|
||||
\item Sum op the results
|
||||
\item ...
|
||||
\item Show that it solves the question
|
||||
\end{itemize}
|
||||
|
||||
\mbox{ }
|
||||
|
||||
Open Questions:
|
||||
\begin{itemize}
|
||||
\item Something
|
||||
\item ... is always missing
|
||||
\end{itemize}
|
||||
}
|
||||
|
||||
%%%%%%%%%%%%%%
|
||||
|
||||
\frame[c]{
|
||||
\frametitle{The End}
|
||||
\begin{center}
|
||||
Thank you for your attention.\\[1ex]
|
||||
Any question?\\[5ex]
|
||||
\end{center}
|
||||
\footnotesize
|
||||
Literature:
|
||||
\begin{itemize}
|
||||
\item Author , Author , Author, and Author. Name of the conference paper. \emph{In: Proceedings of the Conference Name}, 2008
|
||||
\item Author, Author, and Author. Name of the Article. \emph{Name of the Journal}, 42:111-133, 2010
|
||||
\item Author, and Author. \emph{Name of the Book}. Publisher, 2009
|
||||
\end{itemize}
|
||||
}
|
||||
|
||||
\end{document}
|
||||
@ -22,12 +22,9 @@ Abgebende: Jim 2martens, Britta 2noack, Jan-Simon 0giesel
|
||||
; gewählt. Dafür wird eine Funktion randomRezessiv benötigt, die ebendies bewerkstelligt.
|
||||
|
||||
; randomRezessiv greift auf die Dominanzliste zurück. Dafür wird eine Zugriffsfunktion
|
||||
; key->schluessel benutzt. Zusätzlich wird eine Hilfsfunktion (randomList) benutzt, um
|
||||
; key->wert benutzt. Zusätzlich wird eine Hilfsfunktion (randomList) benutzt, um
|
||||
; von der Liste der dominierten Merkmale ein zufälliges Merkmal auszuwählen.
|
||||
|
||||
; Die Hilfsfunktion reverseList dient zum Umkehren der Reihenfolge der Listen-
|
||||
; elemente und wird an mehreren Stellen verwendet.
|
||||
|
||||
; randomSelection wählt aus gegebenen dominanten und rezessiven Merkmalen zufällig eine Liste
|
||||
; an Merkmalen aus, die dann die vererbten Merkmale darstellen.
|
||||
|
||||
@ -81,23 +78,13 @@ Abgebende: Jim 2martens, Britta 2noack, Jan-Simon 0giesel
|
||||
))
|
||||
|
||||
; gibt den Wert von key in tafel zurück
|
||||
(define (key->schluessel key tafel)
|
||||
(define (key->wert key tafel)
|
||||
(cdr (assoc key tafel)))
|
||||
|
||||
; wählt ein zufälliges Element einer Liste aus
|
||||
(define (randomListe xs)
|
||||
(car (shuffle xs)))
|
||||
|
||||
; kehrt die Reihenfolge einer Liste um
|
||||
(define (reverseList list)
|
||||
(letrec ((rev (λ (xs result)
|
||||
(if (empty? xs)
|
||||
result
|
||||
(rev (cdr xs)
|
||||
(cons (car xs) result)
|
||||
)))))
|
||||
(rev list '())))
|
||||
|
||||
; wählt zu einer gegebenen Liste an dominanten Merkmalen die rezessiven Merkmale aus
|
||||
(define (randomRezessiv dominant)
|
||||
(letrec ((help (λ (xs result)
|
||||
@ -106,11 +93,11 @@ Abgebende: Jim 2martens, Britta 2noack, Jan-Simon 0giesel
|
||||
(help
|
||||
(cdr xs)
|
||||
(cons
|
||||
(randomListe (key->schluessel (car xs) dominanzliste))
|
||||
(randomListe (key->wert (car xs) dominanzliste))
|
||||
result
|
||||
))
|
||||
))))
|
||||
(reverseList (help dominant '()))))
|
||||
(reverse (help dominant '()))))
|
||||
|
||||
; wählt von den gegebenen Elementen zufällig eines aus
|
||||
(define (randomElement x y)
|
||||
@ -128,7 +115,7 @@ Abgebende: Jim 2martens, Britta 2noack, Jan-Simon 0giesel
|
||||
(select (cdr xs) (cdr ys) (cons (randomElement (car xs) (car ys))
|
||||
result))
|
||||
))))
|
||||
(reverseList (select dominant rezessiv '()))))
|
||||
(reverse (select dominant rezessiv '()))))
|
||||
|
||||
; bestimmt aus den zufälligen Merkmalen des Vaters und der Mutter die sichtbaren Elemente
|
||||
; beim Kind
|
||||
@ -136,19 +123,19 @@ Abgebende: Jim 2martens, Britta 2noack, Jan-Simon 0giesel
|
||||
(letrec ((rec (λ (xs ys result)
|
||||
(if (empty? xs)
|
||||
result
|
||||
(if (empty? (filter (λ (x) (equal? x (car ys))) (key->schluessel (car xs) dominanzliste)))
|
||||
(if (empty? (filter (λ (x) (equal? x (car ys))) (key->wert (car xs) dominanzliste)))
|
||||
(rec (cdr xs) (cdr ys) (cons (car ys) result))
|
||||
(rec (cdr xs) (cdr ys) (cons (car xs) result))
|
||||
)))))
|
||||
(reverseList (rec vaterMerkmale mutterMerkmale '()))))
|
||||
(reverse (rec vaterMerkmale mutterMerkmale '()))))
|
||||
|
||||
(require se3-bib/butterfly-module)
|
||||
|
||||
(define (zeigeSchmetterling merkmale)
|
||||
(show-butterfly (key->schluessel (cadr merkmale) translationlist)
|
||||
(key->schluessel (car merkmale) translationlist)
|
||||
(key->schluessel (caddr merkmale) translationlist)
|
||||
(key->schluessel (cadddr merkmale) translationlist)
|
||||
(show-butterfly (key->wert (cadr merkmale) translationlist)
|
||||
(key->wert (car merkmale) translationlist)
|
||||
(key->wert (caddr merkmale) translationlist)
|
||||
(key->wert (cadddr merkmale) translationlist)
|
||||
))
|
||||
; zeigt (in dieser Reihenfolge) den Vater, die Mutter und die Kinder
|
||||
(define (mendel vaterDominant mutterDominant anzahlKinder)
|
||||
@ -189,3 +176,45 @@ Abgebende: Jim 2martens, Britta 2noack, Jan-Simon 0giesel
|
||||
(mendel '(punkte rot gerade rhombisch) '(punkte rot gerade rhombisch) 2)
|
||||
|
||||
; 2)
|
||||
; überprüft, ob ein Element in einer Liste ist
|
||||
(define (in-list? element list)
|
||||
(if (pair? (member element list))
|
||||
#t
|
||||
#f))
|
||||
|
||||
(define erbbarliste
|
||||
'((punkte . (punkte streifen sterne))
|
||||
(streifen . (streifen sterne))
|
||||
(sterne . (sterne))
|
||||
(rot . (rot gruen blau gelb))
|
||||
(gruen . (gruen blau gelb))
|
||||
(blau . (blau gelb))
|
||||
(gelb . (gelb))
|
||||
(gerade . (gerade gekruemmt geschweift))
|
||||
(gekruemmt . (gekruemmt geschweift))
|
||||
(geschweift . (geschweift))
|
||||
(rhombisch . (rhombisch hexagonal elliptisch))
|
||||
(hexagonal . (hexagonal elliptisch))
|
||||
(elliptisch . (elliptisch))
|
||||
))
|
||||
|
||||
; überprüft, ob das Kind von den Eltern abstammen kann
|
||||
(define (testeElternschaft sichtbarVater sichtbarMutter sichtbarKind)
|
||||
(letrec ((rec (λ (xs ys zs valid)
|
||||
(if (or (not valid) (empty? xs))
|
||||
valid
|
||||
(rec (cdr xs)
|
||||
(cdr ys)
|
||||
(cdr zs)
|
||||
(or (in-list? (car zs) (key->wert (car xs) erbbarliste))
|
||||
(in-list? (car zs) (key->wert (car ys) erbbarliste))
|
||||
))
|
||||
))))
|
||||
(rec sichtbarVater sichtbarMutter sichtbarKind #t)))
|
||||
|
||||
(display "\nKönnen Anton und Antonia die Eltern von Toni sein:")
|
||||
(testeElternschaft '(sterne gruen geschweift rhombisch) '(streifen blau gekruemmt hexagonal) '(sterne rot gekruemmt rhombisch))
|
||||
(display "\nKönnen Anton und Antonia die Eltern von Tini sein:")
|
||||
(testeElternschaft '(sterne gruen geschweift rhombisch) '(streifen blau gekruemmt hexagonal) '(punkte gruen gerade rhombisch))
|
||||
(display "\nKönnen Anton und Antonia die Eltern von Tina sein:")
|
||||
(testeElternschaft '(sterne gruen geschweift rhombisch) '(streifen blau gekruemmt hexagonal) '(streifen gelb geschweift elliptisch))
|
||||
115
se3/G08_B06_Jim-2martens_Britta-2noack_Jan-Simon-0giesel.rkt
Normal file
115
se3/G08_B06_Jim-2martens_Britta-2noack_Jan-Simon-0giesel.rkt
Normal file
@ -0,0 +1,115 @@
|
||||
#lang racket
|
||||
|
||||
#|
|
||||
SE 3 Funktional Blatt 6
|
||||
Abgebende: Jim 2martens, Britta 2noack, Jan-Simon 0giesel
|
||||
|#
|
||||
|
||||
; 1)
|
||||
;
|
||||
; kopfstueck ist eine lineare Rekursion, da pro else-Aufruf,
|
||||
; die Funktion nur einmal sich selbst aufruft.
|
||||
; Daher kann kopfstueck keine Baumrekursion sein.
|
||||
; kopfstueck wird auch nicht als Argument für kopfstueck verwendet,
|
||||
; womit auch geschachtelte Rekursion mit nein zu beantworten ist.
|
||||
; Da sich kopfstueck direkt rekursiv aufruft, ist es eine direkte
|
||||
; und keine indirekte Rekursion.
|
||||
|
||||
; endstueck ist ebenso linear, keine Baumrekursion, keine geschachtelte
|
||||
; Rekursion, eine direkte Rekursion und keine indirekte Rekursion.
|
||||
|
||||
; merge ist eine lineare Rekursion, da pro Fallunterscheidung
|
||||
; merge nur einmal aufgerufen wird. Demnach ist es keine Baumrekursion.
|
||||
; Es ist ebenso wenig eine geschachtelte Rekursion, da es sich selbst
|
||||
; nicht als Argument übergeben wird.
|
||||
; merge ist eine direkte Rekursion, da es sich direkt aufruft.
|
||||
; Deswegen ist merge keine indirekte Rekursion.
|
||||
|
||||
; merge-sort ist keine lineare Rekursion, da es in jeder Fallunterscheidung
|
||||
; zweimal aufgerufen wird. merge-sort ist keine geschachtelte Rekursion,
|
||||
; da es sich selbst nicht als Argument übergeben wird.
|
||||
; merge-sort ist eine direkte Rekursion, da es sich direkt aufruft.
|
||||
; Demnach ist merge-sort keine indirekte Rekursion.
|
||||
|
||||
; ___________________________________________________________________________________________________________________
|
||||
; | | lineare Rekursion | Baumrekursion | geschachtelte Rekursion | direkte Rekursion | indirekte Rekursion|
|
||||
; |____________|___________________|_______________|_________________________|___________________|____________________|
|
||||
; | kopfstueck | ja | nein | nein | ja | nein |
|
||||
; | endstueck | ja | nein | nein | ja | nein |
|
||||
; | merge | ja | nein | nein | ja | nein |
|
||||
; | merge-sort | nein | ja | nein | ja | nein |
|
||||
; --------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
; 2)
|
||||
(require 2htdp/image)
|
||||
(require lang/posn)
|
||||
|
||||
; erzeugt einen Tannenbaum mit n Ebenen
|
||||
(define (tannenbaum n)
|
||||
(letrec ((leaves (λ (width x result)
|
||||
(if [= x 0]
|
||||
result
|
||||
; rekursiver Aufruf, um die nächsthöhere Ebene zu generieren
|
||||
(leaves
|
||||
(/ width 1.5)
|
||||
(- x 1)
|
||||
(cons
|
||||
; erzeugt ein Trapez, welches als eine Ebene fungiert
|
||||
(polygon
|
||||
(list (make-posn 0 0)
|
||||
(make-posn width 0)
|
||||
(make-posn (+ (/ width 2) (* (/ width 2) 0.2)) (* -1 (/ width 4)))
|
||||
(make-posn (- (/ width 2) (* (/ width 2) 0.2)) (* -1 (/ width 4))))
|
||||
"solid"
|
||||
"darkgreen")
|
||||
result)))
|
||||
)))
|
||||
; Anwenden von above/align auf alle Blätter, den Stamm und den Stern
|
||||
(apply above/align
|
||||
(cons "center"
|
||||
(cons (star-polygon 20 5 2 "solid" "gold")
|
||||
(leaves 180 n `(,(rectangle 30 30 "solid" "brown") . ()))
|
||||
)))
|
||||
|
||||
))
|
||||
|
||||
; erzeugt einen Monitor
|
||||
(define (monitor content)
|
||||
(above/align
|
||||
"center"
|
||||
(overlay
|
||||
(text content 24 "red")
|
||||
(rectangle 160 90 "solid" "blue")
|
||||
(rectangle 165 95 "solid" "gray")
|
||||
)
|
||||
(polygon
|
||||
(list (make-posn 0 0)
|
||||
(make-posn 80 0)
|
||||
(make-posn 55 -10)
|
||||
(make-posn 25 -10))
|
||||
"solid"
|
||||
"gray")
|
||||
))
|
||||
|
||||
; erzeugt ein Star Citizen Poster
|
||||
(define scPoster (overlay
|
||||
(above
|
||||
(text "Star Citizen" 34 "gold")
|
||||
(text "Squadron 42" 28 "gold"))
|
||||
(rectangle 185 85 "solid" "royalblue")
|
||||
(rectangle 200 100 "solid" "black")))
|
||||
|
||||
; linker Tannenbaum
|
||||
(display (tannenbaum 8))
|
||||
; Monitor
|
||||
(display (monitor "cout << 0x2a;"))
|
||||
; Abstand zwischen Monitor und Poster
|
||||
(display " ")
|
||||
; Star Citizen Poster
|
||||
(display scPoster)
|
||||
; Abstand zwischen Monitor und Poster
|
||||
(display " ")
|
||||
; Monitor
|
||||
(display (monitor "6.12.13"))
|
||||
; rechter Tannenbaum
|
||||
(display (tannenbaum 8))
|
||||
Reference in New Issue
Block a user