Sortiernetzwerke. Patrick Bäuerle. Sommersemester Hochschule Aalen Betreuender Professor: Prof. Dr. Thierauf

Größe: px
Ab Seite anzeigen:

Download "Sortiernetzwerke. Patrick Bäuerle. Sommersemester Hochschule Aalen Betreuender Professor: Prof. Dr. Thierauf"

Transkript

1 Sortiernetzwerke Patrick Bäuerle Hochschule Aalen Betreuender Professor: Prof. Dr. Thierauf Sommersemester 2015

2 Inhaltsverzeichnis 1 Einleitung 3 2 Grundlagen Komparator Komparatornetzwerke Folge Bitonische Folge Sortiernetzwerke Prinzip Half-Cleaner Bitonischer Sortierer Merger Sortierer Zusammenfassung und Rückblick 16 2

3 1 Einleitung Sortiernetzwerke sind Konstrukte, welche effiziente Lösungsansätze für Sortierprobleme in der Informatik bereitstellen. Zum Nachteil gegenüber normalen Sortierverfahren, können Sortiernetzwerke nur Folgen mit fester Länge sortieren, außerdem sind sie viel schwieriger zu konstruieren, als normale Sortieralgorithmen. Ein Vorteil von Sortiernetzwerken ist die parallele Verarbeitung von Zahlenfolgen. Dies ermöglicht insbesondere den Einsatz in Hardware. Ziel dieser Arbeit ist es, das effiziente n-sortiernetzwerk Sortierer, welches sich an dem Sortieralgorithmus Mergesort orientiert, zu entwerfen. Als Grundlagen werden Komparatoren und Komparatornetzwerke, 0-1-Folgen und bitonische Folgen erklärt. Mithilfe dieser Grundlagen werden Half-Cleaner, bitonischer Sortierer und Merger konstruiert. Diese Bausteine werden schließlich in das Sortiernetzwerk Sortierer eingebaut. 3

4 2 Grundlagen 2.1 Komparator Abbildung 2.1: Komparator Ein Komparator ist die kleinste Komponente in Sortier-/Komparatornetzwerken und wird in linearer Zeit abgearbeitet. Er besitzt genau zwei Eingänge i 1, i 2 sowie zwei Ausgänge o 1, o 2. Der Komparator vergleicht die Werte der beiden Eingänge miteinander und gibt anschließend den niedrigeren Wert an o 1 und den höheren Wert an o 2 aus. Formal sieht die Funktion eines Komparators folgendermaßen aus: o 1 = min(i 1, i 2 ) o 2 = max(i 1, i 2 ) 2.2 Komparatornetzwerke Ein Komparatornetzwerk besitzt n Eingänge e 1 e n und genauso viel Ausgänge a 1 a n. Eingang e i ist mit Ausgang a i (für i = 1,..., n)verbunden. Diese Verbindungen zwischen Eingängen und Ausgängen werden als Leitungen bezeichnet. Eine Leitung überträgt Werte von den Eingängen zu den Ausgängen. In Abbildung 2.2 verlaufen die Leitungen von links nach rechts. Die vertikalen Linien sind Komparatoren, welche zu Gunsten der Übersicht in Linien anstelle von Rechtecken dargestellt werden. An der linken Seite eines Punktes eines Komparators ist dessen Eingang, an der rechten Seite ist dessen Ausgang. Komparatoren vergleichen erst, wenn an beiden seiner Eingänge Werte anliegen. Ein Komparator liegt zwischen zwei beliebigen Leitungen. Er vergleicht die Werte am Eingang und gibt sie sortiert an den Ausgängen aus. Das heißt, wenn an den Eingängen eine Folge (e 1,..., e n ) anliegt, wird diese zum Ausgang transportiert. Im trivialen Fall, wenn das Komparatornetzwerk keinen Komparator hat, ist die Ausgangsfolge (a 1,..., a n ) = (e 1,..., e n ). Sind Komparatoren vorhanden, wird die Eingangsfolge durch die Komparatoren zur Ausgangsfolge transformiert. Die Ausgangsfolge ist immer eine Permutation der Eingangsfolge. 4

5 Abbildung 2.2: Komparatornetzwerk mit zwei Komparatoren Die Tiefe d eines Komparators entspricht der Anzahl der Komparatoren, welche auf derselben Leitung liegen und vorher ausgeführt wurden (Vorgänger) plus Eins. Tiefe d des Komparators K n wobei K 1,..., K n 1 Vorgänger von K sind: d(k n ) = d(k K 1 ) + 1 Die Tiefe eines Komparatornetzwerkes ist die maximale Tiefe der Komparatoren im Netzwerk. Komparatornetzwerke werden parallel abgearbeitet, allerdings können nur Komparatoren zeitgleich ausgeführt werden, wenn sich deren Eingänge auf verschiedenen Leitungen befinden. Das heißt Komparatoren in der gleichen Tiefe werden gleichzeitig ausgeführt. Sei n die Anzahl der Leitungen. bei n Leitungen können also maximal n 2 Komparatoren gleichzeitig ausgeführt werden. Abbildung 2.3: Tiefe in Komparatornetzwerken. Komparatoren mit derselben Tiefe werden parallel ausgeführt. In Abbildung 2.4 vergleicht der erste Komparator K 1 die Werte auf den Leitungen e 1 und e 3. Die Werte müssen nicht vertauscht werden, da der niedrigere Wert schon oben anliegt. Komparator K 2 vergleicht die Werte auf e 2 und e 4 und vertauscht diese, da der Wert auf der Leitung e 2 > e 4. 5

6 Abbildung 2.4: Komparatornetzwerk, Beispiel mit Zahlen Folge Definition 1 Eine Folge heißt 0-1-Folge, wenn gilt: a i [0, 1] i N Bsp , , 1 Definition 2 Ein Bereich einer 0-1-Folge heißt clean, wenn dieser nur aus Nullen oder nur aus Einsen besteht. 2.4 Bitonische Folge Definition 3 Eine 0-1-Folge (x n ) mit n Elementen heißt bitonisch, falls es einen Index i gibt, so dass gilt: (x 1,..., x i ) ist monoton steigend und (x i+1,..., x n ) ist monoton fallend, oder umgekehrt. Alle 0-1-Folgen mit n 2 Elementen sind bitonisch. Bsp. 2 Es gibt maximal zwei Wechsel zwischen Nullen und Einsen: , 110, 0, 11111,

7 3 Sortiernetzwerke Sortiernetzwerke sind Komparatornetzwerke, welche beliebige Eingangsfolgen sortieren, so dass die Ausgangsfolge monoton steigend ist. Wenn ein Komparatornetzwerk eine Folge korrekt sortiert, bedeutet das nicht, dass es ein Sortiernetzwerk ist. Ein Sortiernetzwerk der Größe n muss alle möglichen Eingangsfolgen sortieren Prinzip Satz 1 Wenn ein Komparatornetzwerk mit n Eingängen alle 2 n möglichen 0-1-Eingangsfolgen sortiert, dann sortiert es jede beliebige Folge mit beliebigen Zahlenwerten. Das 0-1-Prinzip wird dazu verwendet, den Beweis für die Korrektheit eines Sortiernetzwerks zu vereinfachen. Es reicht also aus, nur die korrekte Sortierung aller 0-1-Folgen zu beweisen. Falls das 0-1-Prinzip auf ein Komparatornetzwerk zutrifft, bedeutet dies, dass dieses Komparatornetzwerk ein Sortiernetzwerk ist. Theoretisch lassen sich neben Zahlenwerten auch andere Werte sortieren, sofern diese einen logischen Vergleich zulassen. Für den Beweis des 0-1-Prinzips muss erst folgendes Hilfs-Lemma eingeführt werden: Lemma 1 Wenn ein Komparatornetzwerk eine Folge (a n ) = (a 1, a 2,..., a n ) in die Form (b n ) = (b 1, b 2,..., b n ) transformiert, dann gilt für jede monotone Funktion f: Das Komparatornetzwerk transformiert die Folge f(a) = (f(a 1 ), f(a 2 ),..., f(a n )) in die Form f(b) = (f(b 1 ), f(b 2 ),..., f(b n )). Beweis von Lemma 1. Das Lemma baut darauf auf, dass ein Komparator mit der Eingabe (f(x), f(y)) am oberen Ausgang f(min(x, y)) und am unteren Ausgang f(max(x, y)) ausgibt. Als Beweis dieser Aussage gilt folgende Überlegung: Ein Komparator mit der Eingabe (x, y) gibt am oberen Ausgang min(x, y) und am unteren Ausgang max(x, y) aus. Bei monton steigenden Funktion gilt: x y impliziert f(x) f(y). Daher ergibt sich: min(f(x), f(y)) = f(min(x, y)) und max(f(x), f(y)) = f(max(x, y)), womit die obige Aussage bewiesen ist. Beweis des 0-1-Prinzips. Angenommen das 0-1-Prinzip wäre falsch. Dann gäbe es ein Komparatornetzwerk, welches alle 2 n 0-1-Folgen sortiert, aber nicht alle beliebigen Folgen. Das heißt es gibt eine Folge (a n ) mit a i < a j, aber das Komparatornetzwerk setzt 7

8 a j vor a i in die Ausgangsfolge. Wir definieren folgende monotone Funktion: { 0 für x a i f(x) = (3.1) 1 für x > a i Da der Komparator a j vor a i setzt, folgt aus Lemma 1, dass er f(a j ) vor f(a i ) setzt. Da a j > a i, gilt f(a j ) = 1 und f(a i ) = 0. Somit wird die Folge (a n ) nicht sortiert, falls die 0-1-Folge nicht sortiert wird. 3.2 Half-Cleaner Ein Half-Cleaner ist ein Komparatornetzwerk, welches eine bitonische Folge der Größe n so transformiert, dass gilt: (a 1,..., a n ) ist bitonisch und (a n ,..., a n ) ist clean beziehungsweise (a 1,..., a n ) ist 2 clean und (a n 2 +1,..., a n ) ist bitonisch Das heißt, wenn eine 0-1-Folge am Eingang anliegt, dann sortiert der Half-Cleaner diese so, dass die niedrigeren Werte in der ersten Hälfte der Ausgangsfolge sind und die höheren Werte in der zweiten Hälfte. Beide Hälften sind jeweils bitonisch. Ein Half- Cleaner der Größe n besitzt n 2 Komparatoren. Die Komparatoren K 1,..., K i vergleichen Leitung i mit Leitung i + n 2 für i = 1,..., n 2. Dies bedeutet auch, dass der Half-Cleaner nur Eingaben verarbeiten kann, welche eine Länge von 2 k haben. Abbildung 3.1: Zwei Half-Cleaner mit Zahlenbeispielen Abbildung 3.1 verdeutlicht die Funktionsweise des Half-Cleaners. Beweis: Funktionsweise eines Half-Cleaners. Eine bitonische 0-1-Folge hat entweder die Form 0 i 1 j 0 k oder 1 i 0 j 1 k für i, j, k 1. Bewiesen wird die Funktion für die Eingangsfolge in Form 0 i 1 j 0 k. 1 i 0 j 1 k wird analog bewiesen. Wenn der Einserblock komplett in der ersten oder zweiten Hälfte der Folge ist, also nicht durch n 2 getrennt wird, dann ist die Funktion trivialerweise bewiesen, da der Einserblock vom Half-Cleaner nur von der einen Hälfte auf die andere Hälfte verschoben wird, bzw. die ursprüngliche Form erhalten bleibt. 8

9 Sei der Anfang des Einserblocks bei n 2 α und das Ende bei n 2 + β. Wenn n 2 α β (der Bereich der Nullen in der ersten Hälfte der Bereich der Einsen in der zweiten Hälfte), dann besteht die erste Hälfte der Ausgangsfolge nur aus Nullen. Wenn n 2 α < β (der Bereich der Nullen in der ersten Hälfte <der Bereich der Einsen in der zweiten Hälfte), dann besteht die zweite Hälfte der Ausgangsfolge nur aus Einsen. 3.3 Bitonischer Sortierer Der bitonische Sortierer sortiert eine bitonische Eingabefolge der Länge n = 2 k für k 1. Er ist rekursiv aufgebaut und besteht, wie in Abbildung 3.2 abgebildet, aus einem Half- Cleaner der Größe n und zwei parallel geschalteten bitonischen Sortierern der Größe n 2. Abbildung 3.2: Bitonischer Sortierer In Abbildung 3.3 ist der bitonische Sortierer der Größe n = 8 abgebildet. Die Rekursion aufgelöst ergibt sieben Half-Cleaner. Der erste Half-Cleaner hat noch die ursprüngliche Größe 8. Die mittleren Half-Cleaner sind halb so groß, deswegen werden zwei parallel 9

10 geschalten, um alle acht Eingänge zu verarbeiten. Die rechten vier Half-Cleaner bestehen nur noch aus jeweils einem einfachen Komparator und werden ebenfalls parallel abgearbeitet. Daraus lässt sich folgende allgemeine Aussage treffen: Durch die Rekursion halbiert sich die Größe eines Half-Cleaners pro Rekursionsebene, also lg n Rekursionsebenen. Für eine Rekursionsebene k sind n k Half-Cleaner notwendig, um alle n Leitungen zu verarbeiten. Also hat ein bitonischer Sortierer mit n Leitungen n 1 Half-Cleaner. Da der Half-Cleaner eine Tiefe von 1 hat, sind die Anzahl der Rekursionsebenen des bitonischen Sortierers und die Tiefe des bitonischen Sortierers identisch. d bitonischersortierer = lg n Beweis: Funktionsweise eines bitonischen Sortierers. Nach dem ersten Half-Cleaner ist entweder die erste Hälfte clean und besteht aus Nullen oder die zweite Hälfte ist clean und besteht aus Einsen. (Beweis in Kapitel 3.2). Die jeweils andere Hälfte is eine bitonische Folge. Die Hälfte, welche clean ist, wird nicht mehr verändert. Die andere Hälfte wird durch den nächsten Half-Cleaner wieder in zwei bitonische Hälften sortiert, wobei eine clean ist. Im nächsten Rekursionsschritt können wieder die zwei oben genannten Formen auftreten. dadurch vergrößert sich der linke Nullblock oder der rechte Einserblock so lange, bis es nur noch eine sortierte Folge gibt. 10

11 Abbildung 3.3: Bitonischer Sortierer der Größe 8 11

12 3.4 Merger Der Merger fügt zwei jeweils sortierte Eingaben der Größe n 2 zusammen und gibt eine sortierte Ausgangsfolge der Größe n aus. Da der bitonische Sortierer eine bitonische Folge als Eingabe benötigt, gleichzeitig aber eine sortierte Folge ausgibt, dreht man die zweite Folge um und hängt diese an die erste Folge an. Folglich wird aus einer sortierten Folge eine bitonische Folge. Bsp. 3 x = , y = z = x + y R = Diese Invertierung wird implizit realisiert, indem der Half-Cleaner in der ersten Rekursionsebene so abgeändert wird, dass die Anschlüsse der zweiten Hälft invertiert werden. Somit muss die zweite sortierte Folge (im obigen Beispiel y) nicht mit Zusatzaufwand invertiert werden. Das heißt: anstatt i und n 2 + i vergleicht man i und n-i+1. Der modifizierte Half-Cleaner gibt zwei bitonische Folgen der Größe n 2 aus, welche von jeweils einem Half-Cleaner der Größe n 2 bearbeitet wird. Abbildung 3.4: Merger der Größe n=8. Die grünen Kästen stellen die Rekursionsebenen dar. Die erste Rekursionsebene ist gegenüber dem bitonischen Sortierer modifiziert. Da der Merger vom Aufbau fast gleich, wie der bitonische Sortierer ist, muss nur der modifizierte Half-Cleaner bewiesen werden. Der modifizierte Half-Cleaner wandelt zwei sortierte Eingaben der Länge n 2 in zwei bitonische Folgen der Länge n 2 um. Beweis: Funktionsweise des Mergers. α wird als die Anzahl der Einsen der ersten Folge definiert. β wird als die Anzahl der Nullen der zweiten Folge definiert. 12

13 Wenn α > β gilt, dann folgt: 0,..., n 2 besteht nur aus Nullen. n 2,..., n ist bitonisch. Der Nullerblock 0,..., n 2 α bleibt immer unverändert, da er ganz am Anfang der Folge steht und es keine kleinere Zahlen in der 0-1-Folge geben kann. Die Einsen im Einserblock werden mit den Nullen aus β getauscht. Da α > β werden in β alle Nullen durch Einsen getauscht. Im α-block bleiben noch α β Einsen übrig. Dadurch entsteht für die erste Hälfte die Form: 0 i 1 j 0 k für i, j, k 1. Wenn α < β gilt, dann folgt: 0,..., n 2 ist bitonisch. n 2,..., n besteht nur aus Einsen. Der Einserblock n 2 + β,..., n bleibt immer unverändert, da er ganz hinten in der Folge steht und es keine größeren Zahlen in der 0-1-Folge geben kann. Da α < β werden in α alle Nullen durch Einsen getauscht. Im β-block bleib noch β α Einsen übrig. Dadurch entsteht für die zweite Hälfte die Form: 1 i 0 j 1 k für i, j, k 1 Wenn α = β gilt, dann folgt: 0,..., n 2 ist clean und besteht aus Nullen. n 2,..., n ist clean und besteht aus Einsen. 0,..., n ist sortiert Die zwei äußersten Blöcke werden nicht verändert. α und β sind genau gleich groß, was bedeutet, dass die Nullen aus α in β landen und umgekehrt. 3.5 Sortierer Das Sortiernetzwerk Sortierer ist rekursiv definiert und besteht aus Mergern, welche wiederum aus den Komponenten der vorherigen Kapiteln besteht. Der Sortierer basiert auf dem Mergesort-Verfahren. Es wird eine Eingabefolge sukzessive verkleinert, bis nur noch zwei Werte verglichen werden müssen. Danach werden alle Teilfolgen wieder zu einer 13

14 gemeinsamen Folge zusammengesetzt. Abbildung 3.5 illustriert den rekursiven Aufbau des Sortierers. Ein Sorter der Größe n besteht aus einen Merger der Größe n und zwei parallel laufenden Sortierern der Größe n 2. Abbildung 3.5 zeigt das vereinfachte, noch nicht rekursiv aufgelöste Sortiernetzwerk. Die Tiefe des Sortierers setzt sich aus der Tiefe des Mergers in der obersten Rekursionsebene und der Tiefe eines n 2 -Sortierers zusammen. Der zweite n 2 -Sortierer läuft parallel zum Anderen und wirkt sich daher nicht auf die Tiefe aus. Die Tiefe des Mergers ergibt sich aus d merger = lg n. Ein n 2 -Sortierer beinhaltet n 2 k -Merger. Ein 1-Merger besteht nur aus einem einzigen Komparator und hat daher die Tiefe 1. Somit ergibt sich die 2 k Tiefe d = d merger +d n/2 Sortierer = lg n+d n/2 Sortierer. Mit dem Master-Theorem (siehe [CLRS01, Kap. 4]) folgt d sortierer[n] = Θ(lg 2 n) Abbildung 3.5: Aufbau des Mergers In Abbildung 3.6 ist ein Sortierer der Größe n = 8 zu sehen. (a) zeigt den Sortierer, wenn man die Rekursion des Sortierers nach Mergern auflöst. (b) zeigt denselben Sortierer, komplett nach Komparatoren aufgelöst. (a) Sortierer mit aufgelöster Rekursion (b) Sortiernetzwerk aus (a), mit Komparatoren eingesetzt Abbildung 3.6: Sortierer der Größe n = 8 Beweis: Funktionsweise des Sortierers. Behauptung: Sortierer der Größe n = 2 k für k 1 sortiert alle 0-1-Folgen. Induktionsanfang: k = 1 Der Sortierer besteht aus einem Merger, welche aus nur einem Komparator besteht und daher die Folge sortiert. 14

15 Induktionsschritt: k = k+1 Ein Sortierer der Größe 2 k+1 besteht aus zwei Sortierer der Größe 2 k und einem Merger der Größe 2 k+1 (siehe Abbildung 3.5). Nach Induktionsvoraussetzung sortiert der Sortierer der Größe 2 k korrekt. Durch die beiden 2 k -Sortierer werden jeweils die Eingangsfolgen in sortierte Folgen umgewandelt. Der Merger wandelt die zwei für sich sortierten Folgen in einer sortierte Folge um (siehe Beweis in Kapitel 3.4). Somit sortiert der Sortierer jede beliebige 0-1-Folge der Größe 2 k für k 1. Mit dem 0-1-Prinzip (siehe Satz 1) folgt: Das Sortiernetzwerk Sortierer sortiert jede beliebige Eingangsfolge. 15

16 4 Zusammenfassung und Rückblick Komparatornetzwerke (Kap. 2.2 ) sind Leitungen, welche über Komparatoren verbunden sind. Sortiernetzwerke sind Sonderfälle von Komparatornetzwerke, welche jede beliebe Eingabe sortieren. Die Korrektheit eines Sortiernetzwerkes kann man mithilfe des 0-1- Prinzips ( Satz 1 )bewiesen werden. Das Sortiernetzwerk Sortierer (Kap. 3.5) sortiert jede beliebe Zahlenfolge der Länge 2 k für k 1 in O(lg (2 k )). Um den Sortierer zu konstruieren, wurde zuerst der Half-Cleaner (Kap. 3.2) eingeführt. Der Half-Cleaner wandelt eine bitonische Folge der Größe n in zwei bitonische Folgen der Größe n 2 um. Die obere Folge enthält die niedrigen Werte, die untere Folge enthält die höheren Werte. Eine dieser zwei Folgen ist clean. Der Half-Cleaner wurde dann im bitonischen Sortierer (Kap. 3.3) verbaut. Der bitonische Sortierer sortiert bitonische Folgen. Der Merger(Kap. 3.4) kann zwei sortierte Folgen in eine sortiere Folge zusammenfügen und wird aus bitonischen Sortierern konstruiert. Er ist genauso wie der bitonische Sortierer rekursiv definiert. Der Merger wird schließlich im Sortiernetzwerk Sortierer (Kap. 3.5) verbaut. Der Sortierer sortiert eine beliebige Folge in O(lg 2 n). Parallele Algorithmen sind heutzutage wichtig, da die Hardware nur noch kleine Fortschritte macht, im Gegensatz zu den gigantischen Datenmengen, welche heutzutage verarbeitet werden müssen. Parallele Algorithmen können diesen Rückstand unter Umständen ausgleichen. Zudem wird Hardware immer billiger und macht es somit möglich, parallele Algorithmen zu realisieren. Sortiernetzwerke lassen sich sehr leicht in Hardware realisieren, da sie auf einfachen logischen Vergleichen basieren. Problematisch wird die Anwendung der parallelen (Sortier-)Algorithmen im privaten Bereich. Im privaten Bereich werden kaum mehr als vier Prozessoren eingesetzt. Mit vier Prozessoren lassen sich allerdings nur Folgen mit einer Länge bis zu 16 Stellen bearbeiten. 16

17 Abbildungsverzeichnis 2.1 Komparator Komparatornetzwerk mit zwei Komparatoren Tiefe in Komparatornetzwerken. Komparatoren mit derselben Tiefe werden parallel ausgeführt Komparatornetzwerk, Beispiel mit Zahlen Zwei Half-Cleaner mit Zahlenbeispielen Bitonischer Sortierer Bitonischer Sortierer der Größe Merger der Größe n=8. Die grünen Kästen stellen die Rekursionsebenen dar. Die erste Rekursionsebene ist gegenüber dem bitonischen Sortierer modifiziert Aufbau des Mergers Sortierer der Größe n =

18 Literaturverzeichnis [adh] Friedhelm Meyer auf der Heide. Sortiernetzwerke. [CLRS01] Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms [HP] Sariel Har-Peled. Sorting networks. 18

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekt mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten

Mehr

Beispiellösungen zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 6

Beispiellösungen zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 6 Robert Elsässer u.v.a. Paderborn, 29. Mai 2008 Beispiellösungen zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 6 Aufgabe 1 (6 Punkte): Zunächst sollte klar sein, daß ein vollständiger Binärer

Mehr

Vom Leichtesten zum Schwersten Sortieralgorithmen

Vom Leichtesten zum Schwersten Sortieralgorithmen Aktivität 7 Vom Leichtesten zum Schwersten Sortieralgorithmen Zusammenfassung Häufig verwendet man Computer dazu Listen von Elementen in eine bestimmte Ordnung zu bringen. So kann man beispielsweise Namen

Mehr

11 Logarithmus und allgemeine Potenzen

11 Logarithmus und allgemeine Potenzen Logarithmus und allgemeine Potenzen Bevor wir uns mit den Eigenschaften von Umkehrfunktionen, und insbesondere mit der Umkehrfunktion der Eponentialfunktion ep : R R + beschäftigen, erinnern wir an den

Mehr

Einführung in die linearen Funktionen. Autor: Benedikt Menne

Einführung in die linearen Funktionen. Autor: Benedikt Menne Einführung in die linearen Funktionen Autor: Benedikt Menne Inhaltsverzeichnis Vorwort... 3 Allgemeine Definition... 3 3 Bestimmung der Steigung einer linearen Funktion... 4 3. Bestimmung der Steigung

Mehr

JAVA - Suchen - Sortieren

JAVA - Suchen - Sortieren Übungen Informatik I JAVA - Suchen - Sortieren http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 Folie 1 Inhalt Suchen/Sortieren binary search mergesort bubblesort Übungen Informatik

Mehr

Diskrete Strukturen Kapitel 2: Grundlagen (Beweise)

Diskrete Strukturen Kapitel 2: Grundlagen (Beweise) WS 2014/15 Diskrete Strukturen Kapitel 2: Grundlagen (Beweise) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_14

Mehr

3 Vollständige Induktion

3 Vollständige Induktion 3.1 Natürliche Zahlen In den vorherigen Kapiteln haben wir die Menge der natürlichen Zahlen schon mehrfach als Beispiel benutzt. Das Konzept der natürlichen Zahlen erscheint uns einfach, da wir es schon

Mehr

Donnerstag, 11. Dezember 03 Satz 2.2 Der Name Unterraum ist gerechtfertigt, denn jeder Unterraum U von V ist bzgl.

Donnerstag, 11. Dezember 03 Satz 2.2 Der Name Unterraum ist gerechtfertigt, denn jeder Unterraum U von V ist bzgl. Unterräume und Lineare Hülle 59 3. Unterräume und Lineare Hülle Definition.1 Eine Teilmenge U eines R-Vektorraums V heißt von V, wenn gilt: Unterraum (U 1) 0 U. (U ) U + U U, d.h. x, y U x + y U. (U )

Mehr

6. Parallele Algorithmen

6. Parallele Algorithmen 6. Parallele Algorithmen 6.1 Vorbemerkungen Bisher: Instruktionen von Programmen werden durch einen einzigen Prozessor sequentiell ausgeführt. Eine Beschleunigung von Algorithmen ist dabei nur möglich,

Mehr

Übung zu Grundbegriffe der Informatik. Simon Wacker. 15. November 2013

Übung zu Grundbegriffe der Informatik. Simon Wacker. 15. November 2013 Übung zu Grundbegriffe der Informatik Simon Wacker 15. November 2013 Vollständige Induktion über die Wortlänge Es sei B ein Alphabet. Dann ist B = n N 0 B n. Für jedes Wort w B sei A w eine Aussage, die

Mehr

Lösungen zu Ungerade Muster in Pyramiden. Muster: Die Summe der ungeraden Zahlen (in jeder Teilpyramide) ist stets eine Quadratzahl.

Lösungen zu Ungerade Muster in Pyramiden. Muster: Die Summe der ungeraden Zahlen (in jeder Teilpyramide) ist stets eine Quadratzahl. Lösungen zu Ungerade Muster in Pyramiden Aufgabe Muster: Die Summe der ungeraden Zahlen (in jeder Teilpyramide) ist stets eine Quadratzahl. Begründung : Zunächst schauen wir eine Abbildung an, in der die

Mehr

2. Symmetrische Gruppen

2. Symmetrische Gruppen 14 Andreas Gathmann 2 Symmetrische Gruppen Im letzten Kapitel haben wir Gruppen eingeführt und ihre elementaren Eigenschaften untersucht Wir wollen nun eine neue wichtige Klasse von Beispielen von Gruppen

Mehr

6 Reelle und komplexe Zahlenfolgen

6 Reelle und komplexe Zahlenfolgen $Id: folgen.tex,v.7 200//29 :58:57 hk Exp hk $ 6 Reelle und komplexe Zahlenfolgen 6. Folgenkonvergenz In der letzten Sitzung hatten wir den Begriff der Konvergenz einer reellen oder komplexen Folge gegen

Mehr

Induktive Definitionen

Induktive Definitionen Priv.-Doz. Dr.rer.nat.habil. Karl-Heinz Niggl Technische Universität Ilmenau Fakultät IA, Institut für Theoretische Informatik Fachgebiet Komplexitätstheorie und Effiziente Algorithmen J Induktive Definitionen

Mehr

Sortierverfahren für Felder (Listen)

Sortierverfahren für Felder (Listen) Sortierverfahren für Felder (Listen) Generell geht es um die Sortierung von Daten nach einem bestimmten Sortierschlüssel. Es ist auch möglich, daß verschiedene Daten denselben Sortierschlüssel haben. Es

Mehr

Algorithmen und Berechnungskomplexität I

Algorithmen und Berechnungskomplexität I Institut für Informatik I Wintersemester 2010/11 Organisatorisches Vorlesung Montags 11:15-12:45 Uhr (AVZ III / HS 1) Mittwochs 11:15-12:45 Uhr (AVZ III / HS 1) Dozent Professor für theoretische Informatik

Mehr

18 Höhere Ableitungen und Taylorformel

18 Höhere Ableitungen und Taylorformel 8 HÖHERE ABLEITUNGEN UND TAYLORFORMEL 98 8 Höhere Ableitungen und Taylorformel Definition. Sei f : D R eine Funktion, a D. Falls f in einer Umgebung von a (geschnitten mit D) differenzierbar und f in a

Mehr

$Id: reihen.tex,v /06/12 10:59:50 hk Exp $ unendliche Summe. a 1 + a 2 + a 3 +.

$Id: reihen.tex,v /06/12 10:59:50 hk Exp $ unendliche Summe. a 1 + a 2 + a 3 +. Mathematik für Informatiker B, SS 202 Dienstag 2.6 $Id: reihen.tex,v.8 202/06/2 0:59:50 hk Exp $ 7 Reihen Eine Reihe ist eine unendliche Summe a + a 2 + a 3 +. Die Summanden a i können dabei reell oder

Mehr

Übungen zur Linearen Algebra 1

Übungen zur Linearen Algebra 1 Übungen zur Linearen Algebra 1 Wintersemester 014/015 Universität Heidelberg - IWR Prof. Dr. Guido Kanschat Dr. Dörte Beigel Philipp Siehr Blatt 7 Abgabetermin: Freitag, 05.1.014, 11 Uhr Aufgabe 7.1 (Vektorräume

Mehr

Algorithmen und Datenstrukturen Wintersemester 2004/ November T(n) = T(n a) + T(a) + n

Algorithmen und Datenstrukturen Wintersemester 2004/ November T(n) = T(n a) + T(a) + n Lehrstuhl für Praktische Informatik III Norman May B6, 29, Raum C0.05 68131 Mannheim Telefon: (0621) 181 2517 Email: norman@pi3.informatik.uni-mannheim.de Matthias Brantner B6, 29, Raum C0.05 68131 Mannheim

Mehr

1. Einführung. Was ist ein Algorithmus (eine Datenstruktur)? Welche Probleme kann man damit lösen? Warum betrachten wir (effiziente) Algorithmen?

1. Einführung. Was ist ein Algorithmus (eine Datenstruktur)? Welche Probleme kann man damit lösen? Warum betrachten wir (effiziente) Algorithmen? 1. Einführung Was ist ein Algorithmus (eine Datenstruktur)? Welche Probleme kann man damit lösen? Warum betrachten wir (effiziente) Algorithmen? Wie beschreiben wir Algorithmen? Nach welchen Kriterien

Mehr

Kapitel 10. Lineare Abbildungen Definition linearer Abbildungen Eigenschaften und Beispiele Alle linearen Abbildungen R n V Bild von Unterräumen

Kapitel 10. Lineare Abbildungen Definition linearer Abbildungen Eigenschaften und Beispiele Alle linearen Abbildungen R n V Bild von Unterräumen Kapitel 10. Lineare Abbildungen Definition linearer Abbildungen Eigenschaften und Beispiele Alle linearen Abbildungen R n V Bild von Unterräumen Vorschau: Lineare Abbildungen Wer Vektorräume studiert,

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen 1 Algorithmen und Datenstrukturen Wintersemester 2014/15 3. Vorlesung Laufzeitanalyse Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Recap: Diskutieren Sie mit Ihrer NachbarIn! 1. 2. 3. Was sind

Mehr

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Proseminar Online Algorithmen, Prof. Dr. Rolf Klein Vortrag von Michael Daumen am 13.12.2000 Thema : Minimum Spanning Tree und 2-Approximation der TSP-Tour Inhalt des Vortrags : 1. genaue Vorstellung des

Mehr

TECHNISCHE UNIVERSITÄT MÜNCHEN

TECHNISCHE UNIVERSITÄT MÜNCHEN TECHNISCHE UNIVERSITÄT MÜNCHEN Zentrum Mathematik PROF. DR.DR. JÜRGEN RICHTER-GEBERT, VANESSA KRUMMECK, MICHAEL PRÄHOFER Aufgabe 45. Polynome sind stets stetig. Höhere Mathematik für Informatiker II (Sommersemester

Mehr

Datenstrukturen und Algorithmen

Datenstrukturen und Algorithmen Joost-Pieter Katoen Datenstrukturen und Algorithmen 1/32 Datenstrukturen und Algorithmen Vorlesung 7: Sortieren (K2) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group

Mehr

MATHEMATIK FÜR WIRTSCHAFTSWISSENSCHAFTLER MUSTERLÖSUNG 3. TEST

MATHEMATIK FÜR WIRTSCHAFTSWISSENSCHAFTLER MUSTERLÖSUNG 3. TEST Privatdozent Dr. C. Diem diem@math.uni-leipzig.de http://www.math.uni-leipzig.de/ diem/wiwi MATHEMATIK FÜR WIRTSCHAFTSWISSENSCHAFTLER MUSTERLÖSUNG 3. TEST Es folgt eine Musterlösung zusammen mit Anleitungen

Mehr

Beschreibungskomplexität von Grammatiken Definitionen

Beschreibungskomplexität von Grammatiken Definitionen Beschreibungskomplexität von Grammatiken Definitionen Für eine Grammatik G = (N, T, P, S) führen wir die folgenden drei Komplexitätsmaße ein: Var(G) = #(N), Prod(G) = #(P ), Symb(G) = ( α + β + 1). α β

Mehr

Vorlesung. Vollständige Induktion 1

Vorlesung. Vollständige Induktion 1 WS 015/16 Vorlesung Vollständige Induktion 1 1 Einführung Bei der vollständigen Induktion handelt es sich um ein wichtiges mathematisches Beweisverfahren, mit dem man Aussagen, die für alle natürlichen

Mehr

Analysis I - Stetige Funktionen

Analysis I - Stetige Funktionen Kompaktheit und January 13, 2009 Kompaktheit und Funktionengrenzwert Definition Seien X, d X ) und Y, d Y ) metrische Räume. Desweiteren seien E eine Teilmenge von X, f : E Y eine Funktion und p ein Häufungspunkt

Mehr

Handout zu Beweistechniken

Handout zu Beweistechniken Handout zu Beweistechniken erstellt vom Lernzentrum Informatik auf Basis von [Kre13],[Bün] Inhaltsverzeichnis 1 Was ist ein Beweis? 2 2 Was ist Vorraussetzung, was ist Behauptung? 2 3 Beweisarten 3 3.1

Mehr

2 Sortieren. Beispiel: Es seien n = 8 und a = i : a i : ϕ(i) : a ϕ(i) :

2 Sortieren. Beispiel: Es seien n = 8 und a = i : a i : ϕ(i) : a ϕ(i) : 2 Sortieren Das Sortieren einer Datenfolge ist eines der am leichtesten zu verstehenden und am häufigsten auftretenden algorithmischen Probleme. In seiner einfachsten Form besteht das Problem darin, eine

Mehr

Bin Packing oder Wie bekomme ich die Klamotten in die Kisten?

Bin Packing oder Wie bekomme ich die Klamotten in die Kisten? Bin Packing oder Wie bekomme ich die Klamotten in die Kisten? Ich habe diesen Sommer mein Abi gemacht und möchte zum Herbst mit dem Studium beginnen Informatik natürlich! Da es in meinem kleinen Ort keine

Mehr

Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).

Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)). 8. Untere Schranken für Sortieren Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)). Werden nun gemeinsame Eigenschaften dieser Algorithmen untersuchen. Fassen gemeinsame

Mehr

7 KONVERGENTE FOLGEN 35. inf M = Infimum von M. bezeichnet haben. Definition. Sei (a n ) n N eine beschränkte Folge in R. Dann heißt.

7 KONVERGENTE FOLGEN 35. inf M = Infimum von M. bezeichnet haben. Definition. Sei (a n ) n N eine beschränkte Folge in R. Dann heißt. 7 KONVERGENTE FOLGEN 35 und die größe untere Schranke mit bezeichnet haben. inf M = Infimum von M Definition. Sei (a n ) n N eine beschränkte Folge in R. Dann heißt der Limes superior der Folge, und lim

Mehr

Informationsverarbeitung auf Bitebene

Informationsverarbeitung auf Bitebene Informationsverarbeitung auf Bitebene Dr. Christian Herta 5. November 2005 Einführung in die Informatik - Informationsverarbeitung auf Bitebene Dr. Christian Herta Grundlagen der Informationverarbeitung

Mehr

Kapitel 3. Natürliche Zahlen und vollständige Induktion

Kapitel 3. Natürliche Zahlen und vollständige Induktion Kapitel 3 Natürliche Zahlen und vollständige Induktion In Kapitel 1 haben wir den direkten Beweis, den modus ponens, kennen gelernt, der durch die Tautologie ( A (A = B) ) = B gegeben ist Dabei war B eine

Mehr

15 Hauptsätze über stetige Funktionen

15 Hauptsätze über stetige Funktionen 15 Hauptsätze über stetige Funktionen 15.1 Extremalsatz von Weierstraß 15.2 Zwischenwertsatz für stetige Funktionen 15.3 Nullstellensatz von Bolzano 15.5 Stetige Funktionen sind intervalltreu 15.6 Umkehrfunktionen

Mehr

7. Übungsblatt Aufgaben mit Lösungen

7. Übungsblatt Aufgaben mit Lösungen 7. Übungsblatt Aufgaben mit Lösungen + Selbsttest-Auflösung β-version) Aufgabe : Bestimmen Sie alle Häufungspunkte der Folgen mit den Folgengliedern a) a n n n X + cosnπ), b) b n i) i j, und geben Sie

Mehr

Algorithmen und Datenstrukturen Kapitel 10

Algorithmen und Datenstrukturen Kapitel 10 Algorithmen und Datenstrukturen Kapitel 10 Flüsse Frank Heitmann heitmann@informatik.uni-hamburg.de 6. Januar 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/8 Flüsse Graphen Grundlagen Definition

Mehr

Elementare Beweismethoden

Elementare Beweismethoden Elementare Beweismethoden Christian Hensel 404015 Inhaltsverzeichnis Vortrag zum Thema Elementare Beweismethoden im Rahmen des Proseminars Mathematisches Problemlösen 1 Einführung und wichtige Begriffe

Mehr

Induktive Beweise und rekursive Definitionen

Induktive Beweise und rekursive Definitionen Induktive Beweise und rekursive Definitionen Vorlesung Logik in der Informatik, HU Berlin 1. Übungsstunde Beweis durch vollständige Induktion über N Aufgabe 1 Zeige, dass für alle n N gilt: n 2 i = 2 n+1

Mehr

Nichtlineare Optimierung ohne Nebenbedingungen

Nichtlineare Optimierung ohne Nebenbedingungen Kapitel 2 Nichtlineare Optimierung ohne Nebenbedingungen In diesem Abschnitt sollen im wesentlichen Verfahren zur Bestimmung des Minimums von nichtglatten Funktionen in einer Variablen im Detail vorgestellt

Mehr

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 0..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum

Mehr

Definition 3.1. Sei A X. Unter einer offenen Überdeckung von A versteht man eine Familie (U i ) i I offener Mengen U i X mit U i

Definition 3.1. Sei A X. Unter einer offenen Überdeckung von A versteht man eine Familie (U i ) i I offener Mengen U i X mit U i 3 Kompaktheit In der Analysis I zeigt man, dass stetige Funktionen f : [a, b] R auf abgeschlossenen, beschränkten Intervallen [a, b] gleichmäßig stetig und beschränkt sind und dass sie ihr Supremum und

Mehr

Sortieralgorithmen. Jan Pöschko. 18. Januar Problemstellung Definition Warum Sortieren?... 2

Sortieralgorithmen. Jan Pöschko. 18. Januar Problemstellung Definition Warum Sortieren?... 2 Jan Pöschko 18. Januar 2007 Inhaltsverzeichnis 1 Problemstellung 2 1.1 Definition................................... 2 1.2 Warum Sortieren?.............................. 2 2 Einfache Sortieralgorithmen

Mehr

Induktive Definitionen

Induktive Definitionen Induktive Definitionen Induktive Definition: Konstruktive Methode zur Definition einer Menge M von Objekten aus Basisobjekten mittels (Erzeugungs-) Regeln Slide 1 Rekursion über den Aufbau: Konstruktive

Mehr

Aufgaben und Lösungen zum Vorkurs Mathematik: Beweismethoden Für Mittwoch den

Aufgaben und Lösungen zum Vorkurs Mathematik: Beweismethoden Für Mittwoch den Fachbereich Mathematik Aufgaben und Lösungen zum Vorkurs Mathematik: Beweismethoden Für Mittwoch den 8.9.011 Vorkurs Mathematik WS 011/1 Die mit * gekennzeichneten Aufgaben sind etwas schwerer. Dort braucht

Mehr

Übungsblatt 1. f(n) = f(n) = O(g(n)) g(n) = O(f(n)) Zeigen oder widerlegen Sie: 3 n = Θ(2 n ) Aufgabe 1.2 Gegeben sei die folgende Funktion:

Übungsblatt 1. f(n) = f(n) = O(g(n)) g(n) = O(f(n)) Zeigen oder widerlegen Sie: 3 n = Θ(2 n ) Aufgabe 1.2 Gegeben sei die folgende Funktion: Übungsblatt 1 Aufgabe 1.1 Beweisen oder widerlegen Sie, dass für die im Folgenden definierte Funktion f(n) die Beziehung f(n) = Θ(n 4 ) gilt. Beachten Sie, dass zu einem vollständigen Beweis gegebenenfalls

Mehr

6 F O R M A L E S P R A C H E N. 6.1 formale sprachen

6 F O R M A L E S P R A C H E N. 6.1 formale sprachen 6.1 formale sprachen 6 F O R M A L E S P R A C H E N Eine natürliche Sprache umfasst mehrere Aspekte, z. B. Aussprache und Stil, also z. B. Wortwahl und Satzbau. Dafür ist es auch notwendig zu wissen,

Mehr

9 Konvergenz und absolute Konvergenz von Reihen

9 Konvergenz und absolute Konvergenz von Reihen 9 Konvergenz und absolute Konvergenz von Reihen 9.2 Konvergenz von Reihen 9.5 Monotoniekriterium für Reihen 9.6 Konvergenzkriterium von Cauchy für Reihen 9.9 Rechenregeln für konvergente Reihen 9.10 Absolute

Mehr

Minimal spannende Bäume

Minimal spannende Bäume Minimal spannende Bäume Ronny Harbich 4. Mai 006 (geändert 19. August 006) Vorwort Ich danke Patrick Bahr und meinem Bruder Steffen Harbich für die Unterstützung bei dieser Arbeit. Sie haben sowohl zu

Mehr

Kapitel 1. Grundlagen Mengen

Kapitel 1. Grundlagen Mengen Kapitel 1. Grundlagen 1.1. Mengen Georg Cantor 1895 Eine Menge ist die Zusammenfassung bestimmter, wohlunterschiedener Objekte unserer Anschauung oder unseres Denkens, wobei von jedem dieser Objekte eindeutig

Mehr

6 Reelle und komplexe Zahlenfolgen

6 Reelle und komplexe Zahlenfolgen Mathematik für Physiker I, WS 200/20 Freitag 0.2 $Id: folgen.tex,v. 200/2/06 :2:5 hk Exp $ $Id: reihen.tex,v. 200/2/0 4:4:40 hk Exp hk $ 6 Reelle und komplexe Zahlenfolgen 6. Cauchyfolgen Wir kommen nun

Mehr

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen Elektronik Praktikum / Digitaler Teil Name: Jens Wiechula, Philipp Fischer Leitung: Prof. Dr. U. Lynen Protokoll: Philipp Fischer Versuch: 3 Datum: 24.06.01 RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

Mehr

1. Aufgabe [2 Punkte] Seien X, Y zwei nicht-leere Mengen und A(x, y) eine Aussageform. Betrachten Sie die folgenden Aussagen:

1. Aufgabe [2 Punkte] Seien X, Y zwei nicht-leere Mengen und A(x, y) eine Aussageform. Betrachten Sie die folgenden Aussagen: Klausur zur Analysis I svorschläge Universität Regensburg, Wintersemester 013/14 Prof. Dr. Bernd Ammann / Dr. Mihaela Pilca 0.0.014, Bearbeitungszeit: 3 Stunden 1. Aufgabe [ Punte] Seien X, Y zwei nicht-leere

Mehr

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7)

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7) Datenstrukturen und Algorithmen Vorlesung 9: (K7) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.rwth-aachen.de/i2/dsal0/ Algorithmus 8. Mai 200 Joost-Pieter

Mehr

Allgemeines Gleichungssystem mit zwei Gleichungen und zwei Variablen. Der erste Index bezeichnet die Nummer der Zeile, der zweite die der Spalte.

Allgemeines Gleichungssystem mit zwei Gleichungen und zwei Variablen. Der erste Index bezeichnet die Nummer der Zeile, der zweite die der Spalte. Lineare Gleichungssysteme. Einleitung Lineare Gleichungssysteme sind in der Theorie und in den Anwendungen ein wichtiges Thema. Theoretisch werden sie in der Linearen Algebra untersucht. Die Numerische

Mehr

Reihen/Partialsummenfolgen und vollständige Induktion. Robert Klinzmann

Reihen/Partialsummenfolgen und vollständige Induktion. Robert Klinzmann Reihen/Partialsummenfolgen und vollständige Induktion Robert Klinzmann 3. Mai 00 Reihen / Partialsummen 1 Inhaltsverzeichnis 1 Vorwort Das Prinzip der vollständigen Induktion 3 3 Herleitung der Gauß schen

Mehr

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de Diskrete Strukturen und Logik WiSe 2007/08 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Diskrete Strukturen und Logik Gesamtübersicht Organisatorisches Einführung Logik & Mengenlehre

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

2 i. i=0. und beweisen Sie mittels eines geeigneten Verfahrens die Korrektheit der geschlossenen Form.

2 i. i=0. und beweisen Sie mittels eines geeigneten Verfahrens die Korrektheit der geschlossenen Form. für Informatik Prof. aa Dr. Ir. Joost-Pieter Katoen Christian Dehnert, Friedrich Gretz, Benjamin Kaminski, Thomas Ströder Tutoraufgabe (Vollständige Induktion): Finden Sie eine geschlossene Form für die

Mehr

Musterlösung zu Blatt 11, Aufgabe 1

Musterlösung zu Blatt 11, Aufgabe 1 Musterlösung zu Blatt 11, Aufgabe 1 I Aufgabenstellung Es sei I =[a, b] ein kompaktes Intervall. (a) Zeigen Sie, daß eine stetige Funktion f : I R genau dann injektiv ist, wenn sie strikt monoton ist.

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik Einheit 1 Mathematische Methodik 1. Problemlösen 2. Beweistechniken 3. Wichtige Grundbegriffe Methodik des Problemlösens Klärung der Voraussetzungen Welche Begriffe sind zum Verständnis

Mehr

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 1 für die Übung

Mehr

In diesem Abschnitt betrachten wir nur quadratische Matrizen mit Komponenten aus einem Körper K, also A K n n für ein n N. Wenn (mit einem n > 1)

In diesem Abschnitt betrachten wir nur quadratische Matrizen mit Komponenten aus einem Körper K, also A K n n für ein n N. Wenn (mit einem n > 1) 34 Determinanten In diesem Abschnitt betrachten wir nur quadratische Matrizen mit Komponenten aus einem Körper K, also A K n n für ein n N Wenn (mit einem n > 1) a 11 a 12 a 1n a 21 a 22 a 2n A =, (1)

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Grundlagen der Informationverarbeitung

Grundlagen der Informationverarbeitung Grundlagen der Informationverarbeitung Information wird im Computer binär repräsentiert. Die binär dargestellten Daten sollen im Computer verarbeitet werden, d.h. es müssen Rechnerschaltungen existieren,

Mehr

Folgen und Reihen. Rainer Hauser. Februar 2011

Folgen und Reihen. Rainer Hauser. Februar 2011 Folgen und Reihen Rainer Hauser Februar 2011 1 Einleitung 1.1 Unendliche Prozesse und Approximationen Zählen ist ein unendlicher Prozess, der theoretisch von 1 über die Nachfolgerfunktion plus 1 jede natürlich

Mehr

Kapitel 16 : Differentialrechnung

Kapitel 16 : Differentialrechnung Kapitel 16 : Differentialrechnung 16.1 Die Ableitung einer Funktion 16.2 Ableitungsregeln 16.3 Mittelwertsätze und Extrema 16.4 Approximation durch Taylor-Polynome 16.5 Zur iterativen Lösung von Gleichungen

Mehr

Algorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert und Dr. Thomas Stibor

Algorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert und Dr. Thomas Stibor Algorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert und Dr. Thomas Stibor Organisatorisches: Vorlesung 4 SWS, Zentralübung 2 SWS: 6 Credit Points Mi 9:45 11:15 Raum 1200 (Vorlesung) Do 8:00

Mehr

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier

Diskrete Strukturen und Logik WiSe 2007/08 in Trier. Henning Fernau Universität Trier Diskrete Strukturen und Logik WiSe 2007/08 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Diskrete Strukturen und Logik Gesamtübersicht Organisatorisches Einführung Logik & Mengenlehre

Mehr

Einführung in die Informatik I Kapitel II.3: Sortieren

Einführung in die Informatik I Kapitel II.3: Sortieren 1 Einführung in die Informatik I Kapitel II.3: Sortieren Prof. Dr.-Ing. Marcin Grzegorzek Juniorprofessur für Mustererkennung im Institut für Bildinformatik Department Elektrotechnik und Informatik Fakultät

Mehr

Thema 4 Limiten und Stetigkeit von Funktionen

Thema 4 Limiten und Stetigkeit von Funktionen Thema 4 Limiten und Stetigkeit von Funktionen Wir betrachten jetzt Funktionen zwischen geeigneten Punktmengen. Dazu wiederholen wir einige grundlegende Begriffe und Schreibweisen aus der Mengentheorie.

Mehr

Fragen für die Klausuren

Fragen für die Klausuren Fragen für die Klausuren Vom Quellcode zum ausführbaren Programm Was ist ein Quellcode? Ist der Quellcode von einem Programm auf unterschiedlichen Rechner gleich? Nennen Sie drei Programmiersprachen. Was

Mehr

TU8 Beweismethoden. Daniela Andrade

TU8 Beweismethoden. Daniela Andrade TU8 Beweismethoden Daniela Andrade daniela.andrade@tum.de 12.12.2016 1 / 21 Kleine Anmerkung Meine Folien basieren auf den DS Trainer von Carlos Camino, den ihr auf www.carlos-camino.de/ds findet ;) 2

Mehr

Folge 13 - Quicksort

Folge 13 - Quicksort Für Abiturienten Folge 13 - Quicksort 13.1 Grundprinzip des Quicksort Schritt 1 Gegeben ist ein unsortierter Array von ganzen Zahlen. Ein Element des Arrays wird nun besonders behandelt, es wird nämlich

Mehr

Abschnitt: Algorithmendesign und Laufzeitanalyse

Abschnitt: Algorithmendesign und Laufzeitanalyse Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher

Mehr

Fachwissenschaftliche Grundlagen

Fachwissenschaftliche Grundlagen Fachwissenschaftliche Grundlagen Vorlesung im Wintersemester 2011/2012, Universität Landau Roland Gunesch 9. Vorlesung Roland Gunesch (Mathematik) Fachwissenschaftliche Grundlagen 9. Vorlesung 1 / 17 Themen

Mehr

Die Dimension eines Vektorraumes

Die Dimension eines Vektorraumes Die Dimension eines Vektorraumes Ist (b 1, b 2,..., b n ) eine Basis des Vektorraums V, so heißt n die Dimension von V. Die Möglichkeit dieser Definition beruht auf dem folgenden nichttrivialen Satz. Je

Mehr

Pratts Primzahlzertifikate

Pratts Primzahlzertifikate Pratts Primzahlzertifikate Markus Englert 16.04.2009 Technische Universität München Fakultät für Informatik Proseminar: Perlen der Informatik 2 SoSe 2009 Leiter: Prof. Dr. Nipkow 1 Primzahltest Ein Primzahltest

Mehr

1 Das Prinzip der vollständigen Induktion

1 Das Prinzip der vollständigen Induktion 1 1 Das Prinzip der vollständigen Induktion 1.1 Etwas Logik Wir nennen eine Formel oder einen Satz der Alltagssprache eine Aussage, wenn sie wahr oder falsch sein kann. Die Formeln 2 = 3, 2 4, 5 5 sind

Mehr

Induktive Beweise und rekursive Definitionen

Induktive Beweise und rekursive Definitionen Induktive Beweise und rekursive Definitionen Vorlesung Logik in der Informatik, HU Berlin 1. Übungsstunde Beweis durch vollständige Induktion über N Aufgabe 1 Zeige, dass für alle n N gilt: n 2 i = 2 n+1

Mehr

Kapitel V. Folgen und Konvergenz. V.1 Konvergenz von Zahlenfolgen

Kapitel V. Folgen und Konvergenz. V.1 Konvergenz von Zahlenfolgen Kapitel V Folgen und Konvergenz V.1 Konvergenz von Zahlenfolgen Wir erinnern an den Begriff der Folge, den wir schon im Kapitel III verwenden. Eine Folge (a n ) n=1 AN in A ist eine Abbildung a ( ) : N

Mehr

Lösungen 1 zum Mathematik-Brückenkurs für alle, die sich für Mathematik interessieren

Lösungen 1 zum Mathematik-Brückenkurs für alle, die sich für Mathematik interessieren Lösungen 1 zum Mathematik-Brückenkurs für alle, die sich für Mathematik interessieren µfsr, TU Dresden Version vom 11. Oktober 2016, Fehler, Ideen, Anmerkungen und Verbesserungsvorschläge bitte an benedikt.bartsch@myfsr.de

Mehr

Algorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert

Algorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert Algorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert Organisatorisches: Vorlesung 4 SWS, Zentralübung 2 SWS: 6 Credit Points Mi 10:30-12:00 Raum 1200 (Vorlesung) Do 8:15-9:45 Raum 1200 (Vorlesung)

Mehr

Kapitel 1. Grundlagen

Kapitel 1. Grundlagen Kapitel 1. Grundlagen 1.1. Mengen Georg Cantor 1895 Eine Menge ist die Zusammenfassung bestimmter, wohlunterschiedener Objekte unserer Anschauung oder unseres Denkens, wobei von jedem dieser Objekte eindeutig

Mehr

Numerische Ableitung

Numerische Ableitung Numerische Ableitung Die Ableitung kann angenähert werden durch den Differentenquotient: f (x) f(x + h) f(x) h oder f(x + h) f(x h) 2h für h > 0, aber h 0. Beim numerischen Rechnen ist folgendes zu beachten:

Mehr

Lineare Algebra I. Auswahlaxiom befragen. (Wer schon im Internet danach sucht, sollte das auch mal mit dem Begriff

Lineare Algebra I. Auswahlaxiom befragen. (Wer schon im Internet danach sucht, sollte das auch mal mit dem Begriff Universität Konstanz Wintersemester 2009/2010 Fachbereich Mathematik und Statistik Lösungsblatt 2 Prof. Dr. Markus Schweighofer 11.11.2009 Aaron Kunert / Sven Wagner Lineare Algebra I Lösung 2.1: Behauptung:

Mehr

1.2 Eigenschaften der ganzen Zahlen

1.2 Eigenschaften der ganzen Zahlen Lineare Algebra I WS 2015/16 c Rudolf Scharlau 13 1.2 Eigenschaften der ganzen Zahlen Dieser Abschnitt handelt von den gewöhlichen ganzen Zahlen Z und ihren Verknüpfungen plus und mal. Man kann die natürlichen

Mehr

2 Mengen und Abbildungen

2 Mengen und Abbildungen 2.1 Mengen Unter einer Menge verstehen wir eine Zusammenfassung von Objekten zu einem Ganzen. Die Objekte heiÿen Elemente. Ist M eine Menge und x ein Element von M so schreiben wir x M. Wir sagen auch:

Mehr

Programmiertechnik II

Programmiertechnik II Analyse von Algorithmen Algorithmenentwurf Algorithmen sind oft Teil einer größeren Anwendung operieren auf Daten der Anwendung, sollen aber unabhängig von konkreten Typen sein Darstellung der Algorithmen

Mehr

Vervollständigung Lateinischer Quadrate

Vervollständigung Lateinischer Quadrate Vervollständigung Lateinischer Quadrate Elisabeth Schmidhofer 01.12.2013 Inhaltsverzeichnis 1 Vorwort 3 2 Einleitung 4 2.1 Beispele.............................................. 4 3 Lateinische Quadrate

Mehr

mathe plus Aussagenlogik Seite 1

mathe plus Aussagenlogik Seite 1 mathe plus Aussagenlogik Seite 1 1 Aussagenlogik 1.1 Grundbegriffe Def 1 Aussage Eine Aussage ist ein beschriebener Sachverhalt, dem eindeutig einer der Wahrheitswerte entweder wahr oder falsch zugeordnet

Mehr

Aufgaben und Lösungen zum Vorkurs Mathematik: Beweismethoden Für Donnerstag den x > 1 3x > 3 3x + 3 > 6 6x + 3 > 3x + 6.

Aufgaben und Lösungen zum Vorkurs Mathematik: Beweismethoden Für Donnerstag den x > 1 3x > 3 3x + 3 > 6 6x + 3 > 3x + 6. Fachbereich Mathematik Aufgaben und Lösungen zum Vorkurs Mathematik: Beweismethoden Für Donnerstag den 7.9.01 Vorkurs Mathematik WS 01/13 Die mit * gekennzeichneten Aufgaben sind etwas schwerer. Dort braucht

Mehr

damit hätten wir nach Ende der Schleife: "a[0 n-1] enthält nur Elemente aus a[0 n-1], aber in sortierter Reihenfolge".

damit hätten wir nach Ende der Schleife: a[0 n-1] enthält nur Elemente aus a[0 n-1], aber in sortierter Reihenfolge. Korrektheit Invariante: a[0 k-1] enthält nur Elemente aus a[0 k-1], aber in sortierter Reihenfolge Terminierung: Die Schleife endet mit k=n def insertionsort(a): for k in range( 1, len(a) ): while i >

Mehr

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben

Mehr

T (n) = max. g(x)=n t(n) S(n) = max. g(x)=n s(n)

T (n) = max. g(x)=n t(n) S(n) = max. g(x)=n s(n) Beim Logarithmischen Kostenmaß wird, im Gegensatz zum EKM, die Stelligkeit der Werte berücksichtigt und mit in die Laufzeit eingerechnet. Beispiel: R1 := R2 (R3), wobei R2 den Wert 5, R3 den Wert 10 und

Mehr