Algorithmik - Kompaktkurs



Ähnliche Dokumente
Datenstrukturen. Sommersemester Kapitel 1: Motivation / Grundlagen. Steffen Lange

Modul Algorithmik, T-Katalog

Informatikgrundlagen (WS 2015/2016)

Algorithmen und Berechnungskomplexität I

Organisatorisches. Informatik II Informationen und Daten. Organisatorisches. Organisatorisches. Rainer Schrader. 13. Oktober 2008

Kapitel 5: Dynamisches Programmieren Gliederung

Eine Logikschaltung zur Addition zweier Zahlen

Theoretische Informatik SS 04 Übung 1

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

Einführung in die Informatik II

Vorlesung Finanzmathematik (TM/SRM/SM/MM) Block : Ausgewählte Aufgaben Investitionsrechnung und festverzinsliche Wertpapiere

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

Kapitel 2: Analyse der Laufzeit von Algorithmen Gliederung

Approximation durch Taylorpolynome

Numerische Verfahren und Grundlagen der Analysis

Aufgabe 1 (Fundamentum)

Zeichen bei Zahlen entschlüsseln

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Die Gesellschaftsformen

Kosten-Leistungsrechnung Rechenweg Optimales Produktionsprogramm

Alignment-Verfahren zum Vergleich biologischer Sequenzen

Wir gehen aus von euklidischen Anschauungsraum bzw. von der euklidischen Zeichenebene. Parallele Geraden schneiden einander nicht.

5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12)

16. All Pairs Shortest Path (ASPS)

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

Leitfaden für die Mitgliederregistrierung auf der neuen Webseite des SFC-Erkelenz

Datenstrukturen und Algorithmen

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen

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

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

Finanzwirtschaft Wertpapiere

Notar Stephan Römer, Troisdorf, Telefon:

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen

Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen

Übungsaufgaben Tilgungsrechnung

Teile und Herrsche Teil 2

Softwaretechnologie -Wintersemester 2013/ Dr. Günter Kniesel

Kapitalerhöhung - Verbuchung

Organisatorisches. Ökonometrie I Michael Hauser WS15/16

Was ist eine Aktie? Detlef Faber

Anlegen eines DLRG Accounts

Kapiteltests zum Leitprogramm Binäre Suchbäume

Anmerkungen zur Übergangsprüfung

Informatik-Sommercamp Mastermind mit dem Android SDK

Grundlagen der Informatik

Tutorial Moodle 2 globale Gruppen bzw. Kohorten

und Optionskontrakte an der Eurex Deutschland Stand und der Eurex Zürich Seite 1

Teil 2 - Softwaretechnik. Modul: Programmierung B-PRG Grundlagen der Programmierung 1 Teil 2. Übersicht. Softwaretechnik

Fragebogen zur Evaluation der Vorlesung und Übungen Computer Grafik, CS231, SS05

Torben Weber. Datensammlung nach den Boarderline Engineering Essentials by systemtrading24 Fachverlag

Forschen - Schreiben - Lehren

Institut für Telematik Universität zu Lübeck. Programmieren. Kapitel 0: Organisatorisches. Wintersemester 2008/2009. Prof. Dr.

Algorithmen mit Python

Algorithmen und Datenstrukturen. Große Übung vom Nils Schweer

1. Das dekadische Ziffernsystem (Dezimalsystem) Eine ganze Zahl z kann man als Summe von Potenzen zur Basis 10 darstellen:

Rationale Zahlen. Vergleichen und Ordnen rationaler Zahlen

Grundbegriffe der Informatik

Wir machen neue Politik für Baden-Württemberg

Übung zum Thema. Abmaße ablesen und Toleranzen berechnen

Klausur Software-Engineering SS 2005 Iwanowski

Algorithmen II Vorlesung am

Spiel und Spaß im Freien. Arbeitsblat. Arbeitsblatt 1. Zeichnung: Gisela Specht. Diese Vorlage darf für den Unterricht fotokopiert werden.

Auszug aus dem Kommentierten Vorlesungsverzeichnis des Faches Geschichte, Stand WS 2007/08 HINWEISE ZU GRUNDSTUDIUM, ZWISCHENPRÜFUNG UND HAUPTSTUDIUM

Abschnitt: Algorithmendesign und Laufzeitanalyse

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

2. Aufgabe (3 Punkte) Errechne anhand der angegebenen Daten den Abschreibungssatz der linearen Abschreibung in Prozent. Erklärung:

Hyperlink-Erstellung in InDesign für

HIER GEHT ES UM IHR GUTES GELD ZINSRECHNUNG IM UNTERNEHMEN

Klassenarbeit zu linearen Gleichungssystemen

XONTRO Newsletter. Makler. Nr. 16

Saldo-Konto eines Mitarbeiters korrigieren

Übungen zur Softwaretechnik

Flonia Lengu. Termingeschäfte: Futures und Optionen/Forwards/Futures: Terminkauf und -verkauf

Übung 11.1: Deine Kompetenz-Checkliste

Algorithmen & Datenstrukturen 1. Klausur

Aufgabe 1 Berechne den Gesamtwiderstand dieses einfachen Netzwerkes. Lösung Innerhalb dieser Schaltung sind alle Widerstände in Reihe geschaltet.

Vorkurs Mathematik Übungen zu Polynomgleichungen

Wichtig ist die Originalsatzung. Nur was in der Originalsatzung steht, gilt. Denn nur die Originalsatzung wurde vom Gericht geprüft.

Excel Pivot-Tabellen 2010 effektiv

Professionelle Seminare im Bereich MS-Office

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Das Institut für berufliche Aus- und Fortbildung stellt sich vor

Sicherheitseinstellungen... 2 Pop-up-Fenster erlauben... 3

Erster Prüfungsteil: Aufgabe 1

Fakultät III Wirtschaftswissenschaften Univ.-Prof. Dr. Jan Franke-Viebach

Registrierung im Portal (Personenförderung)

Lernmaterial für die Fernuni Hagen effizient und prüfungsnah

Beschreibung der Plattform

Linearen Gleichungssysteme Anwendungsaufgaben

Beispiel vor dem Beweis:

Zahlenmauern. Dr. Maria Koth. Ausgehend von dieser einfachen Bauvorschrift ergibt sich eine Vielzahl an möglichen Aufgabenstellungen.

Windows 10 > Fragen über Fragen

Investitionsentscheidungsrechnung vollständiger Finanzplan

Auswertung zu "Projektmanagement B, SS08"

Bachelor Maschinenbau Das Modul Projektarbeit am Institut für Dynamik und Schwingungen im Sommersemester 2016

Analysis I für Studierende der Ingenieurwissenschaften

Kapitel 6: Graphalgorithmen Gliederung

DISKUSSIONSBEITRÄGE DER FAKULTÄT FÜR BETRIEBSWIRTSCHAFTSLEHRE MERCATOR SCHOOL OF MANAGEMENT UNIVERSITÄT DUISBURG-ESSEN. Nr. 374

VALUATION Übung 5 Terminverträge und Optionen. Adrian Michel Universität Bern

Aufgaben Brealey/Myers [2003], Kapitel 21

Transkript:

Algorithmik - Kompaktkurs Sommersemester 2012 Steffen Lange 0/1, Folie 1 2012 Prof. Steffen Lange - HDa/FbI - Algorithmik

Organisatorisches Vorlesung Folien im Netz (/* bitte zur Vorlesung mitbringen */) Übung Übungsblätter im Netz bitte zur Übung durcharbeiten http://www.fbi.h-da.de/~slange Anregungen / Kommentare / Fragen per e-mail: slange@fbi.h-da.de per Telefon: 06151 16 8417 0/1, Folie 2 2012 Prof. Steffen Lange - HDa/FbI - Algorithmik

Literatur Th.H. Cormen, Ch.E. Leiserson, R. Rivest, C. Stein, Algorithmen - Eine Einführung, 2. Auflage, Oldenbourg Verlag, 2007. Uwe Schöning, Algorithmik, Spektrum Akademischer Verlag, 2001. Rolf Klein, Algorithmische Geometrie, 2. Auflage, Springer 2005. Juraj Hromkovič, Algorithmics for Hard Problems, 2nd Edition, Springer, 2003. 0/1, Folie 3 2012 Prof. Steffen Lange - HDa/FbI - Algorithmik

Aufgabenstellung Ein großes Wirtschaftsmagazin will eine Analyse der Börsenentwicklung der letzten 5 Jahre erstellen. Dabei soll u.a. für jede Aktie nachträglich ein bester Einkaufstag und Verkaufstag festgestellt werden.... Das Wirtschaftsmagazin hat Informationen über die Börsennotierungen gekauft. Für jede Aktie gibt es eine Zahlenfolge. Die erste Zahl ist der Kurs der Aktie am ersten Börsentag und jede folgende Zahl gibt (in der Reihenfolge der Börsentage) die absolute Kursänderung gegenüber dem Vortag an.... Anhand der gegebenen Zahlenfolge soll der im gegebenen Zeitraum durch einen einmaligen Kauf und Verkauf der Aktie maximal erzielbare Gewinn bestimmt werden. 0/1, Folie 4 2012 Prof. Steffen Lange - HDa/FbI - Algorithmik

Beispiel Daten für die Aktie xyz Kurs der Aktie am 0. Tag: 120 Tag 1 2 3 4 5 6... K-änd. -0.5 2-1 1 3.5-13... Aufgabe... Anhand der gegebenen Zahlenfolge soll der im gegebenen Zeitraum durch einen einmaligen Kauf und Verkauf der Aktie maximal erzielbare Gewinn bestimmt werden. 0/1, Folie 5 2012 Prof. Steffen Lange - HDa/FbI - Algorithmik

Beispiel Daten für die Aktie xyz Kurs der Aktie am 0. Tag: 120 Tag 1 2 3 4 5 6... K-änd. -0.5 2-1 1 3.5-13... Einkaufstag: 0 Verkaufstag: 1 Gewinn: -0.5 Einkaufstag: 0 Verkaufstag: 5 Gewinn: 5.0 Einkaufstag: 0 Verkaufstag: 2 Gewinn: 1.5 Einkaufstag: 1 Verkaufstag: 5 Gewinn: 5.5 0/1, Folie 6 2012 Prof. Steffen Lange - HDa/FbI - Algorithmik

Beispiel Daten für die Aktie xyz Kurs der Aktie am 0. Tag: 120 Tag 1 2 3 4 5 6... K-änd. -0.5 2-1 1 3.5-13... Lösungsansatz... finde Tage i und k (/* 1 i k */), so daß die Summe der Kursänderungen für die Tage i, i+1,..., k maximal ist 0/1, Folie 7 2012 Prof. Steffen Lange - HDa/FbI - Algorithmik

algorithmische Fragestellung finde einen möglichst effizienten Algorithmus zur Lösung des folgenden algorithmischen Problems (/* die Anzahl der benötigten Vergleiche V(n) und der benötigten Additionen A(n) soll also klein sein */) es sei a[1],...,a[n] eine Folge rationaler Zahlen für alle Paare (i,k) mit 1 i k n sei f(i,k) wie folgt definiert: k f(i,k) = Σ a[j] j=i zulässige Eingabe: Folge a[1],...,a[n] von rationalen Zahlen zulässige Ausgabe: bestimme z = max { f(i,k) 1 i k n } 0/1, Folie 8 2012 Prof. Steffen Lange - HDa/FbI - Algorithmik

Algorithmus 1 (/* normal */) 1. Berechne nacheinander für jedes zulässige Paar (i,k) den Wert von f(i,k) (/* benutze dabei, daß f(i,k+1) = f(i,k) + a[k+1] gilt */) 2. Bestimme ein Paar (i,k) für das f(i,k) maximal ist und gib f(i,k) aus. Analyse von Algorithmus 1 A(n) =... = 1/2*(n*(n-1)) V(n) =... = 1/2*(n*(n+1)) - 1 T(n) = A(n) + V(n) = n 2-1 0/1, Folie 9 2012 Prof. Steffen Lange - HDa/FbI - Algorithmik

Algorithmus 2 (/* divide and conquer */) a[1],...,a[n] sei eine Folge rationaler Zahlen, wobei n eine Zweierpotenz ist für alle zulässigen Paare (i,k) seien die Werte C rechts (i,k) und C links (i,k) wie folgt definiert: C rechts (i,k) = max { f(j,k) i j k } C links (i,k) = max { f(i,j) i j k } für alle zulässigen Paare (i,k) sei C max (i,k) wie folgt definiert: C max (i,k) = max { f(j,m) i j m k } C max (1,8) = 8 Tag 1 2 3 4 5 6 7 8 K-änd. -0.5 2-1 1 3.5-13 3 5 0/1, Folie 10 2012 Prof. Steffen Lange - HDa/FbI - Algorithmik C rechts (1,4) = 2 C links (5,8) = 3.5

Algorithmus 2 (/* divide and conquer; Berechnung von c max (1,n) */) 1. Falls n = 1, so gib a[n] aus. 2. Falls n > 1, so gehe gehe wie folgt vor: Berechne mit diesem Algorithmus C max (1,n/2) und C max (n/2+1,n). Berechne C rechts (1,n/2) und C links (n/2+1,n). Bestimme M = max { C max (1,n/2),C max (n/2+1,n),c rechts (1,n/2)+C links (n/2+1,n) } und gib M aus. Analyse von Algorithmus 2 T(n) = 2*T(n/2) + 2n - 1 =... = 2n*log(n) - n + 1 0/1, Folie 11 2012 Prof. Steffen Lange - HDa/FbI - Algorithmik

Algorithmus 3 (/* clever */) 1. Setze Max = max { a[1],0 } und Max* = Max. 2. Für z = 2,...,n: Bestimme Max* = max { Max*+a[z],0 }. Max = max { Max*,Max } 3. Falls Max > 0, so gib Max aus. Sonst bestimme z = max { a[1],...,a[n] } und gib z aus. Schleifeninvariante... für jedes z mit 2 z n gilt: Max = max { C max (1,z),0 } Max* = max { C rechts (1,z),0 } 0/1, Folie 12 2012 Prof. Steffen Lange - HDa/FbI - Algorithmik

Algorithmus 3 (/* clever */) 1. Setze Max = max { a[1],0 } und Max* = Max. 2. Für z = 2,...,n: Bestimme Max* = max { Max*+a[z],0 }. Max = max { Max*,Max } 3. Falls Max > 0, so gib Max aus. Sonst bestimme z = max { a[1],...,a[n] } und gib z aus. Analyse von Algorithmus 3 A(n) = n - 1 V(n) 1 + 2*(n - 1) + 1 + n - 1 = 3n - 1 T(n) = A(n) + V(n) 4n - 2 0/1, Folie 13 2012 Prof. Steffen Lange - HDa/FbI - Algorithmik

Vergleich der Algorithmen Anzahl der Elemente normal divide & conquer clever 4 (= 2 2 ) 15 13 14 16 (=2 4 ) 255 113 62 64 (=2 6 ) 4095 705 254 256 (=2 8 ) 65535 3841 1022 1024 (=2 10 ) 1048575 19457 4094 0/1, Folie 14 2012 Prof. Steffen Lange - HDa/FbI - Algorithmik

Zielstellungen Verständnis ausgewählter Prinzipien zum Entwurf effizienter Algorithmen Kenntnis von der Umsetzung dieser Prinzipien im Gebiet algorithmische Geometrie Fähigkeit, komplizierte Algorithmen in Bezug auf deren Laufzeit zu analysieren 0/1, Folie 15 2012 Prof. Steffen Lange - HDa/FbI - Algorithmik

Gliederung 1. Grundlagen 2. Sortier- und Selektionsverfahren 3. Paradigmen des Algorithmenentwurfs 4. Ausgewählte Datenstrukturen 5. Algorithmische Geometrie 6. Umgang mit algorithmisch schwierigen Problemen 0/1, Folie 16 2012 Prof. Steffen Lange - HDa/FbI - Algorithmik