Softwareengineering Wie schnell ist ein Computerprogramm?

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Christian Scheideler SS 2009
Eine dynamische Menge, die diese Operationen unterstützt,
Asymptotische Notation
DNA-Array oder DNA-Chip
O-Notation in der Informatik
Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen
Dr. Brigitte Mathiak Kapitel 10 Physische Datenorganisation.
Kapitel 6: Klassifizierung von Sortiertechniken
Suche in Texten (Stringsuche )
3. Kapitel: Komplexität und Komplexitätsklassen
2. Kapitel: Komplexität und Komplexitätsklassen
Algorithmen und Komplexität
Formale Sprachen – Mächtigkeit von Maschinenmodellen
Felder sortieren. Aufgabe: Die Zahlen eines Feldes sollen der Größe (zuerst die kleinste Zahl) nach sortiert werden.
Algorithmentheorie 04 –Hashing
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
1 Bewegungsplanung Computational Geometry Prof. Dr. Th. Ottmann Bewegungsplanung bei unvollständiger Information Ausweg aus einem Labyrinth Finden eines.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 – Sortieren vorsortierter Daten) Prof. Th. Ottmann.
Sortieren vorsortierter Daten
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (24 – Sortieren vorsortierter Daten) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
Algorithmen und Datenstrukturen
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Algorithmen und Komplexität Teil 1: Grundlegende.
Diskrete Mathematik I Vorlesung 9b AVL-Baum, Algorithmen.
Algorithmische Geometrie
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
Effiziente Faktorisierung
Effiziente Algorithmen
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Algorithmen Gruppe 4.
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
External Quicksort Optimierung des Quicksort-Verfahrens für Speicherhierarchien Martin Gronemann, Bernd Zey.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Mehrkriterielle Optimierung mit Metaheuristiken
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Institut für Theoretische Informatik
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Systementwicklung Vorgehensmodelle am Beispiel des RUP
Softwareengineering Graphen und Bäume Teil II
Softwareengineering Endliche Automaten
se_10_regulaere_ausdruecke.ppt1 Softwareengineering Reguläre Ausdrücke (regular expressions) Prof. Dr.-Ing. Axel Benz, Berlin School of Economics.
se_11_interfaces.ppt1 Softwareengineering Interfaces Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law.
se_8_statische_klassen.ppt1 Softwareengineering Statische Klassen Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law.
Softwareengineering Organisation
se_5_liste_stack_etc.ppt1 Softwareengineering Listenstrukturen und ähnliches Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law.
se_4_graphen_und_baeume_I.ppt1 Softwareengineering Graphen und Bäume 1 Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law.
se_2_hooks.ppt1 Softwareengineering Einfache Hooks und Abstrakte Methoden (Klassen) Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and.
se_7_parametrierte_klassen.ppt1 Softwareengineering Parametrierte Klassen Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II 6. Sem. Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms.
Analyse der Laufzeit von Algorithmen
Vor an auf über PRÄPOSITIONEN unter neben zwischen hinter in.
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
Mergesort.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 3 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Allgemeine Formulierung des Suchproblems
Sprachen und Programmiersprachen
Bubblesort. Inhaltsverzeichnis Allgemeines Aufbau Prinzip Beispiel.
Suchen und Sortieren.
Vorlesung AVL-Bäume/Algorithmen-
Vorlesung AVL-Bäume/Algorithmen-
Laufzeitverhalten beim Sortieren
Auf welche Zahl zeigt der Pfeil?
 Präsentation transkript:

Softwareengineering Wie schnell ist ein Computerprogramm? Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law 25.03.2017 se_3_schnelligkeitsmessung.ppt

Intuitiver Ansatz: Beispiel: Sortieren Wir bemerken intuitiv: Eine große Menge von Dingen zu sortieren dauert länger als eine kleine Menge. Folgerung: Ein Maß für die Schnelligkeit eines Algorithmus ist eine Funktion, die von der Größe der Eingabe abhängt. 25.03.2017 se_3_schnelligkeitsmessung.ppt

Beispiel 1: Bucket Sort bis 40000 bis 50000 bis 20000 bis 30000 Sortieralgorithmus, Voraussetzung: Kategorien, in die einsortiert wird, sind bekannt und endlich viele. Eingabe: 11101, 15000, 50300, ......... Intuitiv sehen wir, dass wir die Zahlen nur einmal anschauen müssen. Folgerung: Der Algorithmus dauert (ungefähr) doppelt so lang, wenn die Größe der Eingabe sich verdoppelt. Exakte Ausdrucksweise: Die Zeitkomplexität des Algorithmus ist eine Funktion aus O(n) (n ist die Größe der Eingabe) bis 40000 bis 50000 PLZ: 0-10000 bis 20000 bis 30000 25.03.2017 se_3_schnelligkeitsmessung.ppt

Beispiel 2: Bubble Sort Ausgangspunkt: Menge von Dingen (Zahlen), die man sortieren will. Algorithmus: Nimm die erste Zahl und vertausche sie so lange mit der jeweils nächsten Zahl, bis die nächste Zahl kleiner ist. Wenn die nächste Zahl der Anfangszahl bereits kleiner ist, dann ist die Anfangszahl bereits an der richtigen Stelle. Nimm dann die nächste Zahl als Anfangszahl Es ist beweisbar: Im Worst Case ist die Komplexität aus O (n^2) (passiert dann, wenn die Zahlen am Anfang falsch herum sortiert sind) 8 1 6 3 10 12 15 13 25.03.2017 se_3_schnelligkeitsmessung.ppt

Eine exakte Definition der O-Notation                                                                         Eine exakte Definition der O-Notation                                                                         Eine Funktion f ist dann aus O(g) (g ist eine andere Funktion), wenn Es existiert eine Konstante c > 0 so dass FÜR ALLE x gilt: Betrag von f(x) <= c * Betrag (g(x)) 25.03.2017 se_3_schnelligkeitsmessung.ppt

Fazit Ein Maß für die Schnelligkeit eines Algorithmus ist eine Funktion, die von der Größe der Eingabe abhängt. Die Schnelligkeit eines Algorithmus wird dadurch angegeben, dass wir die Funktionsklasse benennen, in der die Funktion liegt. Übliche Funktionsklassen in aufsteigender Komplexität (der Algorithmus wird immer langsamer): O (log n) O (n) O (n * log n) O (n^2) O (Polynom aus n) (z.B.) n^3+4n^2+6n O (n!) O (e^n) 25.03.2017 se_3_schnelligkeitsmessung.ppt

Ausblick Genau das selbe Modell wird verwendet, wenn man darstellen will "Wieviel Speicherplatz braucht ein Algorithmus" - Speicherplatz ist abhängig von der Eingabe - Speicherplatz wird angegeben als die Funktionsklasse, in der die Funktion liegt, die den Speicherplatz angibt Funktionsklassen sind die selben wir vorher angegeben. Man spricht von: "Zeitkomplexität" (time complexity) eines Algorithmus (statt Schnelligkeit) "Platzkomplexität" (space complexity) eines Algorithmus (statt Speicherplatzverbrauch) 25.03.2017 se_3_schnelligkeitsmessung.ppt