6. Parallele Algorithmen

Größe: px
Ab Seite anzeigen:

Download "6. Parallele Algorithmen"

Transkript

1 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, wenn die Arbeitsgeschwindigkeit der einzelnen Komponenten (Prozessor, Speicher, Datenübertragung) erhöht wird. Eine weitere Geschwindigkeitssteigerung kann generell erreicht werden, wenn man die vonneumann Architektur verlässt und Algorithmen parallel auf mehreren Prozessoren implementiert oder in mehrere unabhängige Teilaufgaben zerlegt und diese auf mehrere Rechner verteilt. nicht vonneumann Architekturen Parallelrechner Verteilte Systeme MIMD SIMD Cluster LANs WANs etc. Array (Feld)Rechner Systolische Systeme Parallelrechner: viele Prozessoren, jeder ist mit "privatem" Speicher ausgestattet. Alternativ oder zusätzlich kann ein globaler (common) Speicher vorliegen. Arbeitsweise: Verbindungsnetz: zwischen Prozessoren und Speichermodulen, oder zwischen Prozessoren untereinander Ein/Ausgabeeinrichtungen, etc. eine oder mehrere Aufgaben [Programme] werden auf die Prozessoren verteilt. I.a. arbeiten mehrere Prozessoren an einem Programm ("parallele Programme") SIMDTyp: alle Prozessoren führen zur selben Zeit dieselbe Operation aus MIMDTyp: die zur selben Zeit ausgeführten Operationen können unterschiedlich sein, die Prozessoren arbeiten unabhängiger Prozessoren kommunizieren direkt miteinander über das Verbindungsnetz oder über den gemeinsamen Speicher Als Modell für eine von Neumann Maschine dient z. B. die Random Access Maschine (RAM). Analog zur RAM kann man auch ein idealisiertes Modell von Parallelrechnern konzipieren: ein Beispiel dafür ist die Parallel RandomAccess Maschine (PRAM). Eine PRAM besteht aus p > 1 Prozessoren P 1,..., P p, die auf einen gemeinsamen Speicher (common oder shared memory) zugreifen können. Zusätzlich kann jeder Prozessor über einen privaten (lokalen) Arbeitsspeicher verfügen. Die Prozessoren sind synchronisiert, d.h. sie führen die Rechenschritte gleichzeitig und taktweise aus. Ein Rechenschritt besteht aus drei Phasen: ein Prozessor liest Daten aus dem gemeinsamen Speicher, führt dann die Operation aus, und schreibt schließlich das Ergebnis in den gemeinsamen Speicher. Die Kommunikation zwischen den Prozessoren erfolgt über den gemeinsamen Speicher. Beim Datenzugriff euf eine Speicherzelle unterscheidet man den EREW (exclusive read exclusive write), CREW (concurrent read exclusive write), und CRCW (concurrent read concurrent write). Gleichzeitiges Lesen und Schreiben dsb. Speicherzelle führt zu Konflikten, außer die schreibenden Prozessoren wollen denselben Datenwert in die Speicherzelle eintragen. Andere Parallelrechnermodelle benutzen statt eines gemeinsamen Speichers ein Verbindungsnetz, über das diese miteinander kommunizieren können. Hier tritt die Frage auf, welche Struktur das Verbindungsnetz haben soll. Dessen Struktur bestimmt nämlich weitgehend, für welche Aufgaben der Rechner besonders geeignet ist. Untersuchungen gehen auch in die Richtung, welche Verbindungstrukturen insbesondere für universell einsetzbare Parallelrechner in Frage kommen. Beispiele sind Hypercubes und shuffleexchangegraphen K. Ecker Angewandte und praktische Informatik, Kap. 6: Parallele Algorithmen 61

2 6.2 Einige einfache Beispiele für parallele Algorithmen Minimumsbestimmung Gegeben eine Menge von Zahlen z 1,..., z n ; bestimme den kleinsten Wert. Sei n eine Potenz von 2. Auf einer EREW PRAM mit n/2 Prozessoren könnte das so implementiert werden: Im ersten Durchgang bestimmt man z 1 ' = min{z 1, z 2 }, z 2 ' = min{z 3, z 4 }, z 3 ' = min{z 5, z 6 },..., parallel auf n/2 Prozessoren, im zweiten Durchgang z 1 " = min{z 1 ', z 2 '}, z 2 " = min{z 3 ', z 4 '},..., parallel auf n/4 Prozessoren, usw. Das Minimum wird nach log 2 n Schritten erhalten. Wenn n keine Potenz von 2 ist, muss das Verfahren geringfügig modifiziert werden. Der Zeitaufwand ist O(log 2 n) Summe von n Zahlen Dies kann auf einer EREW PRAM mit n/2 Prozessoren in log 2 n = O(log 2 n) Schritten berechnet werden (ein Schritt besteht dabei jeweils aus zwei SpeicherZugriffen zum Holen der Operanden, der Addition, und schließlich dem Zurückspeichern des Resultats in den gemeinsamen Speicher). "Fanin" Technik: z 1 z 2 z 3 z 4 z 5 z 6 z 7 z Skalarprodukt zweier Vektoren Seien Vektoren v = (v 1,..., v n ) und w = (w 1,..., w n ) gegeben. Das Skalarprodukt s = i=1 Σ vi w i kann auf einer EREW PRAM mit n Prozessoren in 1 log 2 n = O(log 2 n) Schritten berechnet werden. Im ersten Schritt werden die Multiplikationen ausgeführt, einschließlich der dazu erforderlichen Zugriffe auf den gemeinsamen Speicher. Danach werden die n Produktwerte addiert Produkt von Matrizen Seien Matrizen A, B der Dimension n n im gemeinsamen Speicher einer EREW PRAM abgelegt. Das Produkt C = A B kann in O(log 2 n) Schritten berechnet werden, indem man zur Bestimmung jedes einzelnen Skalarprodukts n c ij = Σ k=1 aik b kj n Prozessoren verwendet, insgesamt also n 3 Prozessoren. Bei Verwendung von weniger Prozessoren erhält man entsprechend größere Laufzeiten; z.b. bei n Prozessoren kann man die Skalarprodukte nur hintereinander ausführen; der Zeitaufwand steigt dann auf O(n 2 log 2 n) Potenzen einer Matrix Sei A eine n n Matrix und k IN. Zunächst sei nur A k zu berechnen: Wenn k eine Potenz von 2 ist, müssen hintereinander A 2, A 4,... A k, also k 1 Produkte von Matrizen berechnet werden. Dafür sind insgesamt (log 2 k)( log 2 n 1) Schritte bei n 3 Prozessoren erforderlich. Wenn k keine Potenz von 2 ist, ergibt sich ein in der Größenordnung ähnlicher Zeitaufwand. Als nächstes sollen alle Potenzen A 2, A 3,..., A k bestimmt werden. Probleme dieser Art treten etwa bei Wegeproblemen in Graphen mit n Ecken auf. Der Zeitaufwand ergibt sich zu O(log 2 n) bei n 4 /2 Prozessoren. A A 2 A 4 A 8 n A 3 A 7 A 6 A K. Ecker Angewandte und praktische Informatik, Kap. 6: Parallele Algorithmen 62

3 6.3 Paralleles Mischen und Sortieren Oddeven transposition sort (vgl. Kap. 3) lässt sich auf einer PRAM mit n/2 Prozessoren bei einem Zeitaufwand von O(n) realisieren. Ein schnelleres Verfahren zur Sortierung von einer gegebenen Menge von Zahlen, das zudem mit weniger Prozessoren auskommt, wird nun besprochen Theoretische Grundlage Bitonische Zahlenfolgen Eine Zahlenfolge heißt, wenn sie durch Aneinanderhängen einer absteigend en Zahlenfolge und einer aufsteigend en Folge, oder durch eine zyklische Vertauschung daraus entsteht. Beispiele: Bitonische Zahlenfolgen haben eine Eigenschaft, die man zum Sortieren ausnutzen kann: Lemma. Sei a = (,..., a n 1 ). Sei b i = min{a i, a in/2 } und c i = max{a i, a in/2 } für 0 i < n/2. Dann gilt: (i) Die Folgen b = (,..., b n 1 ) und c = (c 0,..., c n 1 ) sind. (ii) b i c j für alle i und j. Beweis. Zunächst sei angenommen, dass... a n/2 1 und a n/2... a n 1. In diesem Fall ist es klar, dass die Behauptung gilt. Den Fall, dass die auf und absteigende Teilfolge in a ungleiche Länge haben, oder zyklisch vertauscht sind, überlegt man sich ebenfalls leicht.? Folge a Folge c Folge a Folge c Folge b Folge b 0 n/2 n 0 n/2 1 0 n/2 n 0 n/2 1 Wenn man nun eine e Folge von Zahlen, hat, dann kann man durch rekursive Anwendung des Lemmas eine Sortierung erhalten. Im folgenden wird gezeigt, wie ein Sortiernetz, das auf dem Prinzip der en Folgen operiert, realisiert werden kann Bitonischer Sortierer Basis des Verfahrens sind Vertauschungselemente der Form: a b min{a,b} a max{a,b} a a max{a,b} b min{a,b} b b Funktion Funktion Durchschalten Mit diesen werden Sortiernetzwerke aufgebaut. Ein ner bekommt als Eingabe eine e Folge mit n Elementen, und gibt diese in er Reihenfolge (ansteigend mit wachsendem Index) aus. Man kann leicht nachvollziehen, dass der 4e () diese Aufgabe erfüllt. Der 4Sortierer () wird dann erhalten, indem man zuerst die eingegebenen Zahlen reiht, was durch die beiden Vergleichselemente erreicht wird, und anschließend den en () anwendet. Der 4Sortierer () beliebige 4 Zahlen aufsteigend. 4er 4Sortierer 4er 2001 K. Ecker Angewandte und praktische Informatik, Kap. 6: Parallele Algorithmen 63

4 Analog der 4e ( ) und der 4Sortierer ( ) : 4er 4Sortierer 4er un Ein 8er () und 8Sortierer () sehen dann entsprechend so aus: 8er 8Sortierer a 4 a 5 a 6 a 7 c 0 c 1 c 2 c 3 c 4 c 5 c 6 c 7 b 4 b 5 b 6 b 7 a 4 a 5 a 6 a 7 4Sortierer 4Sortierer 8er b 4 b 5 b 6 b 7 un Sei im folgenden n = 2 k. Ein ner enthält eine Spalte von Vergleichselementen, gefolgt von zwei parallelen n/2en n. Insgesamt hat ein ner daher k Spalten von Vergleichselementen. Das rekursive Konstruktionsprinzip kann nun leicht erkannt werden: Ein nsortierer besteht aus zwei n/2sortierern, gefolgt von einem nen. Die Anzahl der Vergleichsspalten s(k) beim Sortierer ergibt sich somit aus der Rekursion 1 für k = 1 s(k) = s(k 1) k für k > 1, also s(k) = k(k1)/2 = O(log 2 n) ShuffleexchangeNetz... n/2 Sortierer n/2... Sortierer nsortierer ner Bitonische Sortierer können systematisch mittels sog. shuffleexchangenetze aufgebaut werden. Ein shuffleexchangenetz der Größe n = 2 k ist ein Netz, deren Eingänge so mit Ausgängen verbunden, dass deren Binärwerte zyklische Vertauschungen sind: Eingang i ist mit Ausgang j verbunden, falls der Binärwert von j durch ein Ringshift links aus dem Binärwert von i erhalten wird. Für n = 8 sieht das so aus: Shuffleexchange Netz Das Shuffle exchangenetz definiert also eine Permutation auf der Menge der Eingänge; diese ist zyklisch mit der Zyklenlänge log(n) = k K. Ecker Angewandte und praktische Informatik, Kap. 6: Parallele Algorithmen 64

5 Es liegt nahe, ein Sortiernetz aus einer einzigen Spalte von Vergleichselementen aufzubauen, und die Eingänge mit Hilfe des Shuffle exchange Netzes zu permutieren. Die Vergleichselemente müssen dabei über Steuerleitungen so gesteuert werden, dass sie jeweils die richtige Funktion (,, Durchschalten) ausführen. Insgesamt braucht man daher für einen n = 2 k Sortierer n/2 Vergleichselemente. Satz. Mit Hilfe eines aus n/2 Vergleichselementen nach dem Shuffle exchange Prinzip aufgebauten Sortiernetzes können n Zahlen in der Zeit O(log 3 n) werden. Beweis. Insgesamt werden bei O(log 2 n) Durchläufen des Sortiernetzes oder Vergleiche durchgeführt. Dazwischen müssen die Eingänge vor dem nächsten Durchlauf geeignet permutiert werden; dazu sind jeweils bis zu k 1 = O(log n) Durchläufe erforderlich, bei denen die Vergleichselemente lediglich durchschalten. 8Sortiernetz 6.4 Systolische Algorithmen Prinzipien: wenige unterschiedliche Typen von Prozessoren, die i.a. in einem regelmäßigen Netz von nur lokalen Verbindungen angeordnet sind. Die Verarbeitung erfolgt pipelineartig nach dem SIMDPrinzip. Als Beispiel wird die MatrixVektor Multiplikation y = A x betrachtet. Bei gegebener Matrix A = (a ij ) (Dimension n) und Vektor x = (x 1,..., x n ) T kann das Produkt (y 1,..., y n ) T = A (x 1,..., x n ) T wie folgt berechnet werden: y i (1) = 0 y i (k1) = y i (k) a ik x k y i = y i (n1) Die Matrix A sei eine Bandmatrix mit Bandweite w = q p 1 mit festen Werten p und q n. Z. B. für p = 2 und q = 3: a 42 a 43 a 44 a 45 Bandweite w a Berechnung von y = A x : die Elemente von A, x und y (anfangs 0) werden durch ein systolisches Array hindurchgeschoben. Das systolische Array besteht aus w Prozessoren, die jeweils einen Schritt zur Berechnung von A x ausführen. Die Werte von A werden von oben nach unten, die Werte von x von links nach rechts, und die Werte von y von rechts nach links geschoben: die Elemente von A bei jedem Takt, die Werte von x bei jedem ungeraden Takt, und die Werte von y bei jedem geraden Takt.. x 1 x 2 x 3 x 4. = y 1 y 2 y 3 y K. Ecker Angewandte und praktische Informatik, Kap. 6: Parallele Algorithmen 65

6 4 a 43 3 a x 1 x 2 y 1 y 2 = 0 1 Takt 1 x 1 y 1 = 0 2 x 1, 1 ; y 1 y 2 3 x 2, 2 ; y 1 x 1, 1 ; y 2 4 x 2, 2 ; y 2 x 1, 1 ; y Benachbarte Prozessoren sind abwechselnd aktiv. Wenn (z.b.) w = p q 1 gerade: nach w Takten wird das erste Element von y, und nach jeweils zwei weiteren Takten das nächste Element von y ausgegeben. Damit benötigt das Netz insgesamt 2n w Takte zur Bestimmung von y = A x. Ende Kapitel K. Ecker Angewandte und praktische Informatik, Kap. 6: Parallele Algorithmen 66

Kapitel 1 Parallele Modelle Wie rechnet man parallel?

Kapitel 1 Parallele Modelle Wie rechnet man parallel? PRAM- PRAM- DAG- R UND R Coles und Kapitel 1 Wie rechnet man parallel? Vorlesung Theorie Paralleler und Verteilter Systeme vom 11. April 2008 der Das DAG- Das PRAM- Das werkmodell Institut für Theoretische

Mehr

7. Parallele Algorithmen für FPGA-Implementierungen

7. Parallele Algorithmen für FPGA-Implementierungen 7. Parallele Algorithmen für FPGA-Implementierungen Odd-Even-Transposition-Sort für 8 Elemente Ein sinnvolles Werkzeug bei der Entwicklung und dem Beweis von Sortierverfahren ist das 0-1-Pinzip. 0-1-Prinzip

Mehr

Klausur Paralleles Rechnen (Richtwert 60 min) 10. Dez. 2015

Klausur Paralleles Rechnen (Richtwert 60 min) 10. Dez. 2015 Klausur Paralleles Rechnen (Richtwert 60 min) 10. Dez. 2015 Aufgabe 1: (30 Punkte) 1. Erläutern Sie kurz das PRAM-Modell? Was wird sehr idealistisch, was wird realistischer im Vergleich mit echten Parallelrechnern

Mehr

Präfix-Summe. Das Schweizer Offiziersmesser der Parallelen Algorithmen. Parallele Rechenmodelle Präfix-Summe Brents Lemma Anwendungen

Präfix-Summe. Das Schweizer Offiziersmesser der Parallelen Algorithmen. Parallele Rechenmodelle Präfix-Summe Brents Lemma Anwendungen Präfix-Summe Das Schweizer Offiziersmesser der Parallelen Algorithmen Parallele Rechenmodelle Präfix-Summe Brents Lemma Anwendungen Parallele Rechenmodelle Beispiel: Summieren von Zahlen Verlauf des Rechenprozesses:

Mehr

Systeme 1: Architektur

Systeme 1: Architektur slide 1 Vorlesung Systeme 1: Architektur Prof. Dr. Ulrich Ultes-Nitsche Forschungsgruppe Departement für Informatik Universität Freiburg slide 2 Prüfung 18. Februar 2004 8h00-11h40 13h00-18h20 20 Minuten

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

p max = 4 T = 8 Work = 28 3 I = Work / T = 3,5 2 Cost = p max * T = 32 U = I / p max = 87,5% 1

p max = 4 T = 8 Work = 28 3 I = Work / T = 3,5 2 Cost = p max * T = 32 U = I / p max = 87,5% 1 Massivparallele Modelle und Architekturen Wintersemester 2010/2011 Lösungsvorschlag 1. Übung 1. Aufgabe: Leistungsbewertung paralleler Systeme Betrachtet werden soll der Odd-Even-Sort-Algorithmus mit n

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

Parallele Algorithmen

Parallele Algorithmen Parallele Algorithmen bereits behandelt: paralleles Sortieren mit Ranksort parallele Matrixmultiplikation nach Gentleman numerisches Iterationsverfahren nach Jacobi Matrixmultiplikation im Hypercube (DNS-Verfahren)

Mehr

κ(k) k K S Algorithmus zur Bestimmung eines spannenden Baumes mit minimalen Kosten (Kruskal, 1965).

κ(k) k K S Algorithmus zur Bestimmung eines spannenden Baumes mit minimalen Kosten (Kruskal, 1965). 5. Graphenprobleme Im folgenden bezeichnen G = (E, K) einen endlichen Graphen mit der Eckenmenge E und der Kantenmenge K. G kann ungerichtet, gerichtet, schlicht oder nicht schlicht sein. 5.1 Spannende

Mehr

Mathematik I. Vorlesung 14. Rang von Matrizen

Mathematik I. Vorlesung 14. Rang von Matrizen Prof Dr H Brenner Osnabrück WS 2009/2010 Mathematik I Vorlesung 14 Rang von Matrizen Definition 141 Es sei K ein Körper und sei M eine m n-matrix über K Dann nennt man die Dimension des von den Spalten

Mehr

Parallel Computing. Einsatzmöglichkeiten und Grenzen. Prof. Dr. Nikolaus Wulff

Parallel Computing. Einsatzmöglichkeiten und Grenzen. Prof. Dr. Nikolaus Wulff Parallel Computing Einsatzmöglichkeiten und Grenzen Prof. Dr. Nikolaus Wulff Vorüberlegungen Wann ist paralleles Rechnen sinnvoll? Wenn die Performance/Geschwindigkeit steigt. Wenn sich größere Probleme

Mehr

mit "Skalarprodukt" aus i-tem "Zeilenvektor" und j-tem "Spaltenvektor"

mit Skalarprodukt aus i-tem Zeilenvektor und j-tem Spaltenvektor Zusammenfassung Matrizen Transponierte: Addition: mit Skalare Multiplikation: Matrixmultiplikation: m x p m x n n x p mit ES "Skalarprodukt" aus i-tem "Zeilenvektor" und j-tem "Spaltenvektor" "Determinante"

Mehr

Christoph Niederseer, Michaela Mayr, Alexander Aichinger, Fabian Küppers. Wissenschaftl. Arbeitstechniken und Präsentation

Christoph Niederseer, Michaela Mayr, Alexander Aichinger, Fabian Küppers. Wissenschaftl. Arbeitstechniken und Präsentation Christoph Niederseer, Michaela Mayr, Alexander Aichinger, Fabian Küppers 1. Was ist paralleles Programmieren 2. Bitoner Sortieralgorithmus 3. Quicksort a) sequenzielles Quicksort b) paralleles Quicksort

Mehr

Skript zur Vorlesung Parallele Algorithmen. Andreas Goerdt Technische Universität Chemnitz Fakultät Informatik Theoretische Informatik

Skript zur Vorlesung Parallele Algorithmen. Andreas Goerdt Technische Universität Chemnitz Fakultät Informatik Theoretische Informatik Skript zur Vorlesung Parallele Algorithmen Andreas Goerdt Technische Universität Chemnitz Fakultät Informatik Theoretische Informatik Wintersemester 1994 Das Skript ist eine etwas breiter dargestellte

Mehr

1 Matrizenrechnung zweiter Teil

1 Matrizenrechnung zweiter Teil MLAN1 1 Literatur: K. Nipp/D. Stoffer, Lineare Algebra, Eine Einführung für Ingenieure, VDF der ETHZ, 4. Auflage, 1998, oder neuer. 1 Matrizenrechnung zweiter Teil 1.1 Transponieren einer Matrix Wir betrachten

Mehr

Algorithmen & Komplexität

Algorithmen & Komplexität Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik [email protected] Kürzeste Pfade Problem Gegeben Netzwerk: Graph G = (V, E), Gewichtsfunktion w: E N Zwei Knoten: s, t Kantenzug/Weg

Mehr

16. All Pairs Shortest Path (ASPS)

16. All Pairs Shortest Path (ASPS) . All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e

Mehr

MLAN1 1 MATRIZEN 1 0 = A T =

MLAN1 1 MATRIZEN 1 0 = A T = MLAN1 1 MATRIZEN 1 1 Matrizen Eine m n Matrix ein rechteckiges Zahlenschema a 11 a 12 a 13 a 1n a 21 a 22 a 23 a 2n a m1 a m2 a m3 amn mit m Zeilen und n Spalten bestehend aus m n Zahlen Die Matrixelemente

Mehr

In allen Fällen spielt die 'Determinante' einer Matrix eine zentrale Rolle.

In allen Fällen spielt die 'Determinante' einer Matrix eine zentrale Rolle. Nachschlag:Transposition von Matrizen Sei Explizit: Def: "Transponierte v. A": (tausche Zeilen mit Spalten d.h., spiegle in der Diagonale) m Reihen, n Spalten n Reihen, m Spalten z.b. m=2,n=3: Eigenschaft:

Mehr

Algorithmische Methoden zur Netzwerkanalyse

Algorithmische Methoden zur Netzwerkanalyse Algorithmische Methoden zur Netzwerkanalyse Juniorprof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund für Theoretische

Mehr

Lineare Algebra 1. Roger Burkhardt

Lineare Algebra 1. Roger Burkhardt Lineare Algebra 1 Roger Burkhardt [email protected] Fachhochschule Nordwestschweiz Hochschule für Technik Institut für Geistes- und Naturwissenschaft HS 2010/11 3 und lineare Gleichungssysteme und

Mehr

4. Sortieren 4.1 Vorbemerkungen

4. Sortieren 4.1 Vorbemerkungen . Seite 1/21 4. Sortieren 4.1 Vorbemerkungen allgemeines Sortierproblem spezielle Sortierprobleme Ordne a 1,..., a n so um, dass Elemente in aufsteigender Reihenfolge stehen. Die a i stammen aus vollständig

Mehr

Parallelität und Kommunikation

Parallelität und Kommunikation Parallelität und Kommunikation WS 2010/2011 Friedhelm Meyer auf der Heide V9, 3.1.2011 Friedhelm Meyer auf der Heide 1 Rückblick, Thema heute Wir wollen herausfinden, wie gut Routing entlang unabhängig

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2010

Mehr

37 Gauß-Algorithmus und lineare Gleichungssysteme

37 Gauß-Algorithmus und lineare Gleichungssysteme 37 Gauß-Algorithmus und lineare Gleichungssysteme 37 Motivation Lineare Gleichungssysteme treten in einer Vielzahl von Anwendungen auf und müssen gelöst werden In Abschnitt 355 haben wir gesehen, dass

Mehr

Übungspaket 23 Mehrdimensionale Arrays

Übungspaket 23 Mehrdimensionale Arrays Übungspaket 23 Mehrdimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung mehrdimensionaler Arrays Kapitel: 49 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:

Mehr

[Nächste Frage: wie wissen wir, ob Spaltenvektoren eine Basis bilden? Siehe L6.1] , enthält eine Basis v. V, nämlich und somit das ganze V.

[Nächste Frage: wie wissen wir, ob Spaltenvektoren eine Basis bilden? Siehe L6.1] , enthält eine Basis v. V, nämlich und somit das ganze V. Kriterien für Invertierbarkeit einer Matrix Eine lineare Abbildung falls und nur falls ist bijektiv, d.h. ihre Matrix ist invertierbar, (i) für jede Basis, die Bildvektoren auch eine Basis, bilden; (intuitiv

Mehr

Blockmatrizen. Beispiel 1 Wir berechnen das Produkt von A R 4 6 mit B R 6 4 :

Blockmatrizen. Beispiel 1 Wir berechnen das Produkt von A R 4 6 mit B R 6 4 : Blockmatrizen Beispiel 1 Wir berechnen das Produkt von A R 4 6 mit B R 6 4 : 2 1 3 1 1 0 1 0 1 0 0 2 1 1 11 1 1 4 0 1 0 1 0 1 4 1 0 2 1 0 1 0 1 0 3 1 2 1 = 2 4 3 5 11 1 1 4 0 1 0 1 0 1 5 1 2 1 2 4 3 5

Mehr

Parallele Algorithmen in der Bildverarbeitung

Parallele Algorithmen in der Bildverarbeitung Seminar über Algorithmen - SoSe 2009 Parallele Algorithmen in der Bildverarbeitung von Christopher Keiner 1 Allgemeines 1.1 Einleitung Parallele Algorithmen gewinnen immer stärker an Bedeutung. Es existieren

Mehr

Konvexe Hülle. Abbildung: [Wikipedia]: Nicht-konvexe Menge (links), konvexe Menge (rechts) KIT Institut für Theoretische Informatik 510

Konvexe Hülle. Abbildung: [Wikipedia]: Nicht-konvexe Menge (links), konvexe Menge (rechts) KIT Institut für Theoretische Informatik 510 Konvexe Hülle Definition konvexe Menge: Für je zwei beliebige Punkte, die zur Menge gehören, liegt auch stets deren Verbindungsstrecke ganz in der Menge. Abbildung: [Wikipedia]: Nicht-konvexe Menge (links),

Mehr

9.2 Invertierbare Matrizen

9.2 Invertierbare Matrizen 34 9.2 Invertierbare Matrizen Die Division ist als Umkehroperation der Multiplikation definiert. Das heisst, für reelle Zahlen a 0 und b gilt b = a genau dann, wenn a b =. Übertragen wir dies von den reellen

Mehr

2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1}

2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1} 1. Berechne für jeden Knoten i in BFS-Art eine Liste S i von von i aus erreichbaren Knoten, so dass (i) oder (ii) gilt: (i) S i < n 2 + 1 und Si enthält alle von i aus erreichbaren Knoten (ii) S i = n

Mehr

5 Lineare Gleichungssysteme und Determinanten

5 Lineare Gleichungssysteme und Determinanten 5 Lineare Gleichungssysteme und Determinanten 51 Lineare Gleichungssysteme Definition 51 Bei einem linearen Gleichungssystem (LGS) sind n Unbekannte x 1, x 2,, x n so zu bestimmen, dass ein System von

Mehr

12. Algorithmus der Woche Paralleles Sortieren Parallel geht schnell

12. Algorithmus der Woche Paralleles Sortieren Parallel geht schnell . Algorithmus der Woche Informatikjahr 00 http://www.informatikjahr.de/algorithmus/. Algorithmus der Woche Paralleles Sortieren Parallel geht schnell Autor Rolf Wanka, FAU Erlangen-Nürnberg Seit es Hardware

Mehr

Matrix: Eine rechteckige Anordnung reeller Zahlen a ij (i = 1,..., n i ; j = 1,..., m) in Zeilen und Spalten. Die a ij heiÿen Elemente von A.

Matrix: Eine rechteckige Anordnung reeller Zahlen a ij (i = 1,..., n i ; j = 1,..., m) in Zeilen und Spalten. Die a ij heiÿen Elemente von A. Matrizenrechnung Matrix: Eine rechteckige Anordnung reeller Zahlen a ij i = 1,..., n i ; j = 1,..., m in Zeilen und Spalten. Die a ij heiÿen Elemente von A. a 11 a 12... a ij... a 1m a 21 a 22.........

Mehr

8.2 Invertierbare Matrizen

8.2 Invertierbare Matrizen 38 8.2 Invertierbare Matrizen Die Division ist als Umkehroperation der Multiplikation definiert. Das heisst, für reelle Zahlen a 0 und b gilt b = a genau dann, wenn a b =. Übertragen wir dies von den reellen

Mehr

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen 1 Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Ziele 2 Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:

Mehr

Eine lineare Abbildung ist bijektiv, d.h. ihre Matrix ist invertierbar, falls und nur falls

Eine lineare Abbildung ist bijektiv, d.h. ihre Matrix ist invertierbar, falls und nur falls Kriterien für Invertierbarkeit einer Matrix Eine lineare Abbildung ist bijektiv, d.h. ihre Matrix ist invertierbar, falls und nur falls (i) für jede Basis, die Bildvektoren auch eine Basis, bilden; (intuitiv

Mehr

4 Matrizenrechnung. Beide Operationen geschehen also koeffizientenweise. Daher übertragen sich die Rechenregeln von K(m n, k).

4 Matrizenrechnung. Beide Operationen geschehen also koeffizientenweise. Daher übertragen sich die Rechenregeln von K(m n, k). 4 Matrizenrechnung Der Vektorraum der m n Matrizen über K Sei K ein Körper und m, n N\{0} A sei eine m n Matrix über K: a a 2 a n a 2 a 22 a 2n A = = (a ij) mit a ij K a m a m2 a mn Die a ij heißen die

Mehr

Vektoren und Matrizen

Vektoren und Matrizen Universität Basel Wirtschaftswissenschaftliches Zentrum Vektoren und Matrizen Dr. Thomas Zehrt Inhalt: 1. Vektoren (a) Einführung (b) Linearkombinationen (c) Länge eines Vektors (d) Skalarprodukt (e) Geraden

Mehr

3 Matrizenrechnung. 3. November

3 Matrizenrechnung. 3. November 3. November 008 4 3 Matrizenrechnung 3.1 Transponierter Vektor: Die Notation x R n bezieht sich per Definition 1 immer auf einen stehenden Vektor, x 1 x x =.. x n Der transponierte Vektor x T ist das zugehörige

Mehr

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Arrays 1 Ziele Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:

Mehr

WiMa-Praktikum 1. Woche 8

WiMa-Praktikum 1. Woche 8 WiMa-Praktikum 1 Universität Ulm, Sommersemester 2017 Woche 8 Lernziele In diesem Praktikum sollen Sie üben und lernen: Besonderheiten der For-Schleife in Matlab Wiederholung des Umgangs mit Matrizen und

Mehr

5.1 Determinanten der Ordnung 2 und 3. a 11 a 12 a 21 a 22. det(a) =a 11 a 22 a 12 a 21. a 11 a 21

5.1 Determinanten der Ordnung 2 und 3. a 11 a 12 a 21 a 22. det(a) =a 11 a 22 a 12 a 21. a 11 a 21 5. Determinanten 5.1 Determinanten der Ordnung 2 und 3 Als Determinante der zweireihigen Matrix A = a 11 a 12 bezeichnet man die Zahl =a 11 a 22 a 12 a 21. Man verwendet auch die Bezeichnung = A = a 11

Mehr

Serie 5. Lineare Algebra D-MATH, HS Prof. Richard Pink. 1. [Aufgabe] Invertieren Sie folgende Matrizen über Q:

Serie 5. Lineare Algebra D-MATH, HS Prof. Richard Pink. 1. [Aufgabe] Invertieren Sie folgende Matrizen über Q: Lineare Algebra D-MATH, HS 214 Prof Richard Pink Serie 5 1 [Aufgabe] Invertieren Sie folgende Matrizen über Q: 1 a) 1 1 1 1 1 2 1 1 1 b) 1 2 1 1 1 1 2 1 1 1 1 2 1 2 3 1 c) 1 3 3 2 2 1 5 3 1 2 6 1 [Lösung]

Mehr

1 Lineare Algebra. 1.1 Matrizen und Vektoren. Slide 3. Matrizen. Eine Matrix ist ein rechteckiges Zahlenschema

1 Lineare Algebra. 1.1 Matrizen und Vektoren. Slide 3. Matrizen. Eine Matrix ist ein rechteckiges Zahlenschema 1 Lineare Algebra 1.1 Matrizen und Vektoren Slide 3 Matrizen Eine Matrix ist ein rechteckiges Zahlenschema eine n m-matrix A besteht aus n Zeilen und m Spalten mit den Matrixelementen a ij, i=1...n und

Mehr

Die Determinante ist nur für beliebige quadratische Matrizen (n = m) definiert: a 11 a 12 a a 1n a 21 a 22. det. a nn.

Die Determinante ist nur für beliebige quadratische Matrizen (n = m) definiert: a 11 a 12 a a 1n a 21 a 22. det. a nn. Die Determinante ist nur für beliebige quadratische Matrizen (n = m) definiert: Definition 1.2 (Leibniz-Formel) Die Determinante einer n n-matrix ist a 11 a 12 a 13... a 1n a 11 a 12 a 13... a 1n a 21

Mehr

Rechneraufbau und Rechnerstrukturen

Rechneraufbau und Rechnerstrukturen Rechneraufbau und Rechnerstrukturen von Prof. Dr. Walter Oberschelp, RWTH Aachen und Prof. Dr. Gottfried Vossen, Universität Münster 7, vollständig überarbeitete und aktualisierte Auflage R.Oldenbourg

Mehr

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 31.01.2013 Algorithmen für externen Speicher INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

x x y x y Informatik II Schaltkreise Schaltkreise Schaltkreise Rainer Schrader 3. November 2008

x x y x y Informatik II Schaltkreise Schaltkreise Schaltkreise Rainer Schrader 3. November 2008 Informatik II Rainer Schrader Zentrum für Angewandte Informatik Köln 3. November 008 1 / 47 / 47 jede Boolesche Funktion lässt mit,, realisieren wir wollen wir uns jetzt in Richtung Elektrotechnik und

Mehr

1 Random Access Maschine

1 Random Access Maschine 1 RANDOM ACCESS MASCHINE 1 1 Random Access Maschine Neue Hardware: Random Access Maschine = RAM. Der Name hat nichts mit Zufall zu tun, sondern mit wahlfreiem Zugriff. Die RAM besteht aus einem Eingabeband,

Mehr

Rechneraufbau und Rechnerstrukturen

Rechneraufbau und Rechnerstrukturen Rechneraufbau und Rechnerstrukturen von Prof. Dr. em. Walter Oberschelp, RWTH Aachen und Prof. Dr. Gottfried Vossen, Universität Münster 9. Auflage Oldenbourg Verlag München Wien Inhaltsverzeichnis Vorwort

Mehr

Suchen und Sortieren

Suchen und Sortieren Suchen und Sortieren Suchen Sortieren Mischen Zeitmessungen Bewertung von Sortier-Verfahren Seite 1 Suchverfahren Begriffe Suchen = Bestimmen der Position (Adresse) eines Wertes in einer Datenfolge Sequentielles

Mehr

bekannt: Eliminationsverfahren von Gauß Verfahren führt zu einer Zerlegung der Koeffizientenmatrix: A = LR A = LR

bekannt: Eliminationsverfahren von Gauß Verfahren führt zu einer Zerlegung der Koeffizientenmatrix: A = LR A = LR LR-Zerlegung bekannt: Eliminationsverfahren von Gauß Verfahren führt zu einer Zerlegung der Koeffizientenmatrix: A = LR Definition 2.17 Unter einer LR-Zerlegung einer Matrix A R n n verstehen wir eine

Mehr

1 Sortieren in zweidimensionalen Zellularautomaten

1 Sortieren in zweidimensionalen Zellularautomaten 1 Sortieren in zweidimensionalen Zellularautomaten Der Einfachheit halber beschränken wir uns in diesem Kapitel auf das Sortieren quadratischer Muster. Mit n bezeichnen wir immer die Anzahl zu sortierender

Mehr

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

Sortiernetzwerke. Patrick Bäuerle. Sommersemester Hochschule Aalen Betreuender Professor: Prof. Dr. Thierauf Sortiernetzwerke Patrick Bäuerle 40510 Hochschule Aalen Betreuender Professor: Prof. Dr. Thierauf Sommersemester 2015 Inhaltsverzeichnis 1 Einleitung 3 2 Grundlagen 4 2.1 Komparator...................................

Mehr

Musterlösungen Blatt Mathematischer Vorkurs. Sommersemester Dr. O. Zobay. Matrizen

Musterlösungen Blatt Mathematischer Vorkurs. Sommersemester Dr. O. Zobay. Matrizen Musterlösungen Blatt 8 34007 Mathematischer Vorkurs Sommersemester 007 Dr O Zobay Matrizen Welche Matrixprodukte können mit den folgenden Matrizen gebildet werden? ( 4 5 A, B ( 0 9 7, C 8 0 5 4 Wir können

Mehr

Algebraische und arithmetische Algorithmen

Algebraische und arithmetische Algorithmen Kapitel 1 Algebraische und arithmetische Algorithmen 1.1 Das algebraische Berechnungsmodell Struktur: Körper (oder Ring) mit den Operationen +,,, (/) Eingabe: endliche Folge von Zahlen Ausgabe: endliche

Mehr

5. Bäume und Minimalgerüste

5. Bäume und Minimalgerüste 5. Bäume und Minimalgerüste Charakterisierung von Minimalgerüsten 5. Bäume und Minimalgerüste Definition 5.1. Es ein G = (V, E) ein zusammenhängender Graph. H = (V,E ) heißt Gerüst von G gdw. wenn H ein

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 24-6. Sitzung Marcus Georgi [email protected] 04.12.2009 1 Repräsentation von Graphen im Rechner Adjazenzlisten Adjazenzmatrizen Wegematrizen 2 Erreichbarkeitsrelationen

Mehr

Übungen zur Vorlesung Technische Informatik I, SS 2002 Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 5 Rechenwerke / Scheduling

Übungen zur Vorlesung Technische Informatik I, SS 2002 Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 5 Rechenwerke / Scheduling Übungen zur Vorlesung Technische Informatik I, SS 2002 Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 5 Rechenwerke / Scheduling Aufgabe 1: Sie haben in der Vorlesung einen hypothetischen Prozessor kennen

Mehr

12 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang

12 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang 12 (2-4)-Bäume (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang 2. Die Ordnung (maximale Anzahl der Söhne eines Knotens) ist gleich 4 3. Innere Knoten haben 2 Söhne

Mehr

2.2 Allgemeine (vergleichsbasierte) Sortierverfahren

2.2 Allgemeine (vergleichsbasierte) Sortierverfahren . Allgemeine (vergleichsbasierte) Sortierverfahren Vergleichsbaum: Der Aufbau des Verbleichsbaum ist für jeden Algorithmus und jede Eingabelänge n gleich. Jede Permutation der Eingabe, muss zu einem anderen

Mehr

Programmierpraktikum

Programmierpraktikum TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Praktikum: Grundlagen der Programmierung Programmierpraktikum Woche 05 (24.11.2016) Stefan Berktold [email protected] PRÄSENZAUFGABEN Heutige Übersicht

Mehr

5 Sortieren in eindimensionalen Zellularautomaten

5 Sortieren in eindimensionalen Zellularautomaten 5 Sortieren in eindimensionalen Zellularautomaten 5.1 Für alle x A und w A bezeichne im folgenden N x (w) die Anzahl der Vorkommen des Symboles x in dem Wort w. 5.2 Problem. (Eindimensionales Sortieren

Mehr

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Aufgabe 1. / 16 P Instruktionen: 1) In dieser Aufgabe sollen Sie nur die Ergebnisse angeben. Diese können Sie direkt bei den Aufgaben notieren. 2) Sofern

Mehr

Lineare Algebra für D-ITET, D-MATL, RW. Beispiellösung für Serie 10. Aufgabe ETH Zürich D-MATH. Herbstsemester Dr. V. Gradinaru D.

Lineare Algebra für D-ITET, D-MATL, RW. Beispiellösung für Serie 10. Aufgabe ETH Zürich D-MATH. Herbstsemester Dr. V. Gradinaru D. Dr. V. Gradinaru D. Devaud Herbstsemester 5 Lineare Algebra für D-ITET, D-MATL, RW ETH Zürich D-MATH Beispiellösung für Serie Aufgabe..a Bezüglich des euklidischen Skalarprodukts in R ist die Orthogonalprojektion

Mehr

Matrizen, Determinanten, lineare Gleichungssysteme

Matrizen, Determinanten, lineare Gleichungssysteme Matrizen, Determinanten, lineare Gleichungssysteme 1 Matrizen Definition 1. Eine Matrix A vom Typ m n (oder eine m n Matrix, A R m n oder A C m n ) ist ein rechteckiges Zahlenschema mit m Zeilen und n

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Technische Universität München Fakultät für Informatik Lehrstuhl für Effiziente Algorithmen Dr. Hanjo Täubig Tobias Lieber Sommersemester 2011 Übungsblatt 1 16. September 2011 Grundlagen: Algorithmen und

Mehr

Algorithmen und Datenstrukturen 1 Kapitel 3

Algorithmen und Datenstrukturen 1 Kapitel 3 Algorithmen und Datenstrukturen 1 Kapitel 3 Technische Fakultät [email protected] Vorlesung, U. Bielefeld, Winter 2005/2006 3.6 Dynamische Programmierung Die rekursive Problemzerlegung kann

Mehr

Besprechung des 5. Übungsblattes Parallelität innerhalb der CPU Pipelining

Besprechung des 5. Übungsblattes Parallelität innerhalb der CPU Pipelining Themen heute Besprechung des 5. Übungsblattes Parallelität innerhalb der CPU Pipelining Organisatorisches Wie schon in den vorhergehenden Tutorien erwähnt, ist Mehrfachabgabe, außer bei Programmieraufgaben,

Mehr

Mathematik für Informatiker 1 Wintersemester 2013/14 Übungsblatt 12

Mathematik für Informatiker 1 Wintersemester 2013/14 Übungsblatt 12 Dipl.Inf. Malte Isberner Dr. Oliver Rüthing Dipl.Inf. Melanie Schmidt Dr. Hubert Wagner Übungen zur Vorlesung Mathematik für Informatiker 1 Wintersemester 2013/14 Übungsblatt 12 Die Lösungshinweise dienen

Mehr

Theoretische Informatik SS 03 Übung 3

Theoretische Informatik SS 03 Übung 3 Theoretische Informatik SS 03 Übung 3 Aufgabe 1 a) Sind die folgenden Funktionen f : partiell oder total: f(x, y) = x + y f(x, y) = x y f(x, y) = x y f(x, y) = x DIV y? Hierbei ist x DIV y = x y der ganzzahlige

Mehr

LINEARE ALGEBRA II. FÜR PHYSIKER

LINEARE ALGEBRA II. FÜR PHYSIKER LINEARE ALGEBRA II FÜR PHYSIKER BÁLINT FARKAS 4 Rechnen mit Matrizen In diesem Kapitel werden wir zunächst die so genannten elementaren Umformungen studieren, die es ermöglichen eine Matrix auf besonders

Mehr

a 11 a 12 a 1(m 1) a 1m a n1 a n2 a n(m 1) a nm Matrizen Betrachten wir das nachfolgende Rechteckschema:

a 11 a 12 a 1(m 1) a 1m a n1 a n2 a n(m 1) a nm Matrizen Betrachten wir das nachfolgende Rechteckschema: Matrizen Betrachten wir das nachfolgende Rechteckschema: a 12 a 1(m 1 a 1m a n1 a n2 a n(m 1 a nm Ein solches Schema nennt man (n m-matrix, da es aus n Zeilen und m Spalten besteht Jeder einzelne Eintrag

Mehr

Komplexität von Algorithmen:

Komplexität von Algorithmen: Komplexität von Algorithmen: Ansatz: Beschreiben/erfassen der Komplexität über eine Funktion, zur Abschätzung des Rechenaufwandes abhängig von der Größe der Eingabe n Uns interessiert: (1) Wie sieht eine

Mehr

Charles Babbage. Vortrag für das Oberseminar Geschichte der Informatik

Charles Babbage. Vortrag für das Oberseminar Geschichte der Informatik Charles Babbage Vortrag für das Oberseminar Geschichte der Informatik Übersicht Kurzer Überblick über das Leben und Wirken von Charles Babbage Die großen Erfindungen von Charles Babbage: Difference Engine

Mehr

Mikroprozessortechnik Grundlagen 1

Mikroprozessortechnik Grundlagen 1 Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega28 Progammierung in C - Vergleich C und C++ - Anatomie eines µc-programmes

Mehr

Mathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016

Mathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016 und Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016 25. April 2016 Die Dimensionsformel Definition 3.9 Sei f : V W eine lineare Abbildung zwischen zwei K-Vektorräumen. Der Kern

Mehr

Mathematik für Naturwissenschaftler II SS 2010

Mathematik für Naturwissenschaftler II SS 2010 Mathematik für Naturwissenschaftler II SS 2010 Lektion 9 20. Mai 2010 Kapitel 9. Matrizen und Determinanten Der Begriff der Matrix Die transponierte Matrix Definition 84. Unter einer (reellen) m n-matrix

Mehr

Übung zur Vorlesung Berechenbarkeit und Komplexität

Übung zur Vorlesung Berechenbarkeit und Komplexität RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 9 10.12.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T20 Beweisen Sie die

Mehr

Vorkurs: Mathematik für Informatiker

Vorkurs: Mathematik für Informatiker Vorkurs: Mathematik für Informatiker Teil 3 Wintersemester 2016/17 Steven Köhler [email protected] mathe.stevenkoehler.de 2 c 2016 Steven Köhler Wintersemester 2016/17 Inhaltsverzeichnis Teil 1 Teil

Mehr

LOOP-Programme: Syntaktische Komponenten

LOOP-Programme: Syntaktische Komponenten LOOP-Programme: Syntaktische Komponenten LOOP-Programme bestehen aus folgenden Zeichen (syntaktischen Komponenten): Variablen: x 0 x 1 x 2... Konstanten: 0 1 2... Operationssymbole: + Trennsymbole: ; :=

Mehr

Kap 7. Funktionen und Arrays

Kap 7. Funktionen und Arrays Kap 7. Funktionen und Arrays Elementare Algorithmen Allgemein Mathematik Text Eingabe ٧ Skalarprodukt wie Allgemein Ausgabe ٧ Länge ersetzen Summation Winkel Laenge Maximum ٧ Polynome berechnen ausschneiden

Mehr

2. Grundlagen. Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten.

2. Grundlagen. Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten. 2. Grundlagen Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten. Laufzeitverhalten beschreiben durch O-Notation. 1 Beispiel Minimum-Suche Eingabe bei Minimum

Mehr

6. Transitive Hülle. 6.1 Min-Plus-Matrix-Produkt und Min-Plus-Transitive Hülle Ring Z(+, ) Semiring N(+, )

6. Transitive Hülle. 6.1 Min-Plus-Matrix-Produkt und Min-Plus-Transitive Hülle Ring Z(+, ) Semiring N(+, ) 6. Transitive Hülle 6.1 Min-Plus-Matrix-Produkt und Min-Plus-Transitive Hülle Ring Z(+, ) Semiring N(+, ) Gruppe Halbgruppe Halbgruppe Halbgruppe Wir betrachten den (kommutativen) Semiring über R { } mit

Mehr

5. Übungsblatt zu Algorithmen I im SoSe 2016

5. Übungsblatt zu Algorithmen I im SoSe 2016 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Dennis Hofheinz Lukas Barth, Lisa Kohl 5. Übungsblatt zu Algorithmen I im SoSe 2016 https://crypto.iti.kit.edu/index.php?id=algo-sose16

Mehr

DATENSTRUKTUREN UND ALGORITHMEN

DATENSTRUKTUREN UND ALGORITHMEN DATENSTRUKTUREN UND ALGORITHMEN 2 Ist die Datenstruktur so wichtig??? Wahl der Datenstruktur wichtiger Schritt beim Entwurf und der Implementierung von Algorithmen Dünn besetzte Graphen und Matrizen bilden

Mehr