1 Einführung. 2 Grundlagen von Algorithmen. 3 Grundlagen von Datenstrukturen. 4 Grundlagen der Korrektheit von Algorithmen

Größe: px
Ab Seite anzeigen:

Download "1 Einführung. 2 Grundlagen von Algorithmen. 3 Grundlagen von Datenstrukturen. 4 Grundlagen der Korrektheit von Algorithmen"

Transkript

1 Programm heute lgorithmen und atenstrukturen (für T/IT) Sommersemester 0 r. Tobias Lasser omputer ided Medical Procedures Technische Universität München inführung rundlagen von lgorithmen rundlagen von atenstrukturen rundlagen der Korrektheit von lgorithmen rundlagen der ffizienz von lgorithmen rundlagen des lgorithmen-ntwurfs ntwurfsprinzipien ivide and onquer reedy-lgorithmen acktracking ynamisches Programmieren lgorithmen-muster: reedy lgorithmen-muster: reedy greedy = gierig, gefräßig reedy Prinzip: Lösung eines Problems durch schrittweise rweiterung der Lösung ausgehend von Startlösung in jedem Schritt wähle den bestmöglichen Schritt (ohne erücksichtigung zukünftiger Schritte) greedy gefundene Lösung muss nicht immer optimal sein! reedy-muster als Pseudocode: Input: ufgabe reedy(): while ( nicht gelöst) { wähle bestmöglichen Schritt; // reedy Strategie baue Schritt in Lösung ein;

2 reedy: eispiel Wechselgeld I reedy: eispiel Wechselgeld II reedy-lgorithmus: Problem: erausgabe von Wechselgeld Voraussetzung: übliche uro-münzen e, e, 0c, 0c, 0c, c, c und c ufgabe: Wechselgeld-erausgabe mit möglichst wenig Münzen eispiel: Preis e., bezahlt mit e Münze. Wechselgeld: c Minimum nzahl Münzen: c = 0c + 0c + 0c + c + c + c Input: etrag b Wechselgeld(b): ausgegeben = 0; while (ausgegeben < b) { wähle größte Münze s mit ausgegeben + s b; // greedy print(s); ausgegeben += s; chtung: bhängig vom eldsystem liefert dieser lgorithmus nicht immer die optimale Lösung! eispiel: Münzen c, c, c. etrag: c reedy-lösung: c = c + c + c + c Optimale Lösung: c = c + c Von reedy lösbare Probleme Voraussetzungen für nwendbarkeit von reedy: feste Menge von ingabewerten Lösungen werden aus ingabewerten aufgebaut Lösungen lassen sich schrittweise durch inzufügen von ingabewerten aufbauen, beginnend bei leerer Lösung ewertungsfunktion für partielle und vollständige Lösung esucht wird eine/die optimale Lösung nwendung reedy: lasfasernetz Problemstellung: ufbau von möglichst billigem lasfasernetz zwischen n Knoten K,..., K n, so daß alle Knoten miteinander verbunden sind (u.u. mit Umweg) Input: Knoten K,..., K n Kosten d ij > 0 für direkte Verbindung zwischen K i und K j für i j, i, j {,..., n K K 0 K K K Output: Teilmenge aller Verbindungen, so daß alle Knoten verbunden sowie minimale Kosten 0

3 lasfasernetz: eispiel I lasfasernetz: eispiel II K K K K K 0 K K 0 K K K Knoten K,..., K Kosten d ij repräsentiert als gewichteter, ungerichteter raph (Kapitel ) Startknoten: K beste Verbindung: zu K, Kosten andere Kosten: (zu K ), 0 (zu K ), (zu K ) lasfasernetz: eispiel III lasfasernetz: eispiel IV K K K K 0 0 K K K K K K nächst-beste Verbindung von {K, K : zu K, Kosten andere Kosten: (zu K ), (zu K ), (zu K ) nächst-beste Verbindung von {K, K, K : zu K, Kosten andere Kosten: bzw. (zu K )

4 lasfasernetz: eispiel V lasfasernetz: eispiel VI K 0 K K K K K 0 K K K K K K K K nächst-beste Verbindung von {K, K, K, K : zu K, Kosten alle Knoten behandelt, lgorithmus fertig rgebnis: ein sog. minimaler Spannbaum (minimum spanning tree, MST) vom raphen K lasfasernetz: lgorithmus Input: eld von Knoten K (Länge n), Kostenfunktion d(i, j) Output: minimaler Spannbaum lasfasernetz(k, d): = {K ; // Startlösung while ( nicht Spannbaum von {K,..., K n ) { suche billigste Kante, die aus rausgeht; // reedy Schritt füge entsprechenden Knoten und Kante zu hinzu; Komplexität naiver Implementation: O(n ) geht besser, s. Kapitel Programm heute inführung rundlagen von lgorithmen rundlagen von atenstrukturen rundlagen der Korrektheit von lgorithmen rundlagen der ffizienz von lgorithmen rundlagen des lgorithmen-ntwurfs ntwurfsprinzipien ivide and onquer reedy-lgorithmen acktracking ynamisches Programmieren

5 lgorithmen-muster: acktracking acktracking: systematische Suchtechnik, um vorgegebenen Lösungsraum vollständig abzuarbeiten Paradebeispiel: Labyrinth. Wie findet Maus den Käse? acktracking: Labyrinth I Problem: Wie findet Maus den Käse? Lösung: systematisches bgehen des Labyrinths Zurückgehen falls Sackgasse (daher: acktracking) trial and error 0 acktracking: Labyrinth II lgorithmen-muster: acktracking Voraussetzungen: Mögliche Wege repräsentiert als aum: Lösungs(teil)raum repräsentiert als Konfiguration K K 0 ist Start-Konfiguration jede Konfiguration K i kann direkt erweitert werden (,) (,) (,) (,) (,) (,) (,) (,) (,) für jede Konfiguration ist entscheidbar, ob Lösung Input: Konfiguration K acktrack(k): if (K ist Lösung) { gib K aus; else { for each (direkte rweiterung K von K) { acktrack(k ); initialer ufruf mittels acktrack(k 0 )

6 acktracking: Konfigurationen acktracking: igenschaften (,) (,) Terminierung von acktracking: nur wenn Lösungsraum endlich nur wenn sichergestellt daß Konfigurationen nicht wiederholt getestet werden (,) (,) (,) (,) (,) Konfiguration z.. repräsentiert als Pfad im aum (,) (,) Komplexität von acktracking: direkt abhängig von röße des Lösungsraums meist exponentiell, also O( n ), oder schlimmer! nur für kleine Probleme wirklich anwendbar lternative: egrenzung der Rekursionstiefe dann uswahl der bis dahin besten Lösung z.. für Schach-Programme acktracking eispiel: Traveling Salesman Traveling Salesman Problem: lgorithmus mit acktracking Traveling Salesman Problem: n Städte finde kürzeste Rundreise, die alle Städte exakt einmal besucht außer Start- und Zielort (identisch) K 0 K K K K Input: n Städte, Rundreise trip TSP(trip): if (trip besucht jede Stadt) { erweitere trip um Reise zum Startort; gebe trip und die Kosten aus; else { for each (bislang unbesuchte Stadt s) { trip = trip erweitert um s; TSP(trip ); Lösung z.. mit lgorithmen-muster acktracking

7 Traveling Salesman Problem: eispiel acktracking eispiel: cht-amen-problem cht-amen-problem: K suche alle Konfigurationen von amen auf Schachbrett K so daß keine ame eine andere bedroht 0 K K ame auf Schachbrett: K hier: Sta dte! = Rundreisen bei n Sta dten mit fixiertem Start-/Zielort gibt es (n )! Rundreisen Laufzeit von TSP hier ist O (n )! hier: ku rzeste Rundreise hat La nge z.. u ber Route K K K K K K cht-amen-problem cht-amen-problem: lgorithmus mit acktracking Zwei der mo glichen Lo sungen: Input: Zeilenindex i chtamen(i): for h = to { // probiere alle Spalten aus if (eld in Zeile i, Spalte h nicht bedroht) { setze ame auf eld (i, h); if (rett voll) { // i == gib Lo sung aus; chtamen(i + ); nimm ame von eld (i, h) wieder weg; eobachtung: jeweils nur eine ame pro Zeile/Spalte Lo sung z.. mit lgorithmen-muster acktracking 0

8 cht-amen-problem: Illustration cht-amen-problem es gibt Lösungen für das cht-amen-problem das Problem läßt sich auf n amen auf einem n n Schachbrett ausweiten nzahl Lösungen wächst stark z.. für n = gibt es Lösungen ähnliche Spiele, wie z.. Sudoku, lassen sich entsprechend lösen Programm heute ynamisches Programmieren inführung rundlagen von lgorithmen rundlagen von atenstrukturen rundlagen der Korrektheit von lgorithmen rundlagen der ffizienz von lgorithmen rundlagen des lgorithmen-ntwurfs ntwurfsprinzipien ivide and onquer reedy-lgorithmen acktracking ynamisches Programmieren ynamisches Programmieren einsetzbar für Probleme, deren optimale Lösung sich aus optimalen Lösungen von Teilproblemen zusammensetzt (z.. Rekursion) Optimalitätsprinzip von ellman Prinzip: statt Rekursion berechnet man vom kleinsten Teilproblem aufwärts Zwischenergebnisse werden in Tabellen gespeichert

9 ibonacci Zahlen ibonacci olge ie ibonacci olge ist eine olge natürlicher Zahlen f, f, f,..., für die gilt f n = f n + f n für n mit nfangswerten f =, f =. ibonacci unktion Input: Index n der ibonacci olge Output: Wert f n fib(n): if (n == n == ) { return ; else { return fib(n ) + fib(n ); ufrufstruktur für fib(): fib() fib() fib() fib() fib() fib() fib() fib() fib() eingesetzt von Leonardo ibonacci zur eschreibung von Wachstum einer Kaninchenpopulation olge lautet:,,,,,,,,,,,... berechenbar z.. via Rekursion eobachtung: Komplexität ist O( n ) gleicher unktionswert wird mehrfach berechnet! z.. x fib(), x fib(), x fib() dynamisches Programmieren ibonacci unktion: dynamisch programmiert Prinzip dynamisches Programmieren: vom kleinsten Teilproblem aufwärts Zwischenergebnisse in Tabelle Input: Index n der ibonacci olge Output: Wert f n ibyn(n): fib = leeres eld röße n + ; // Tabelle fib[] = ; // kleinstes Teilproblem fib[] = ; // kleinstes Teilproblem for k = to n { fib[k] = fib[k-] + fib[k-]; // Rekursion aufwärts return fib[n]; Komplexität dynamisch programmiert: O(n) Zusammenfassung inführung rundlagen von lgorithmen rundlagen von atenstrukturen rundlagen der Korrektheit von lgorithmen rundlagen der ffizienz von lgorithmen rundlagen des lgorithmen-ntwurfs ntwurfsprinzipien ivide and onquer reedy-lgorithmen acktracking ynamisches Programmieren

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Prof. r. V. Linnemann Lübeck, den. Oktober 00 Universität zu Lübeck Institut für Informationssysteme lgorithmen und atenstrukturen Sommersemester 00. Klausur Lösungen Hinweis: chten Sie bei Programmieraufgaben

Mehr

HEUTE. Datenstrukturen im Computer. Datenstrukturen. Rekursion. Feedback Evaluation. abstrakte Datenstrukturen

HEUTE. Datenstrukturen im Computer. Datenstrukturen. Rekursion. Feedback Evaluation. abstrakte Datenstrukturen 9.2.5 HUT 9.2.5 3 atenstrukturen im omputer atenstrukturen ie beiden fundamentalen atenstrukturen in der Praxis sind rray und Liste Rekursion Feedback valuation rray Zugriff: schnell Umordnung: langsam

Mehr

Dynamische Programmierung. Problemlösungsstrategie der Informatik

Dynamische Programmierung. Problemlösungsstrategie der Informatik als Problemlösungsstrategie der Informatik und ihre Anwedung in der Diskreten Mathematik und Graphentheorie Fabian Cordt Enisa Metovic Wissenschaftliche Arbeiten und Präsentationen, WS 2010/2011 Gliederung

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

Entwurf von Algorithmen

Entwurf von Algorithmen Kapitel : Entwurf von Algorithmen Einführung in die Informatik Wintersemester /8 Prof. Bernhard Jung Übersicht Einleitung: Entwurf von Algorithmen Entwurfsprinzip: Schrittweise Verfeinerung Entwurfsprinzip:

Mehr

Kapitel Komplexität. Beispiel II. Beispiel I. Methodische Grundlagen und Graphen

Kapitel Komplexität. Beispiel II. Beispiel I. Methodische Grundlagen und Graphen . Komplexität Kapitel Methodische Grundlagen und Graphen Lösung von Modellen der Produktion und Logistik mittels: xakten Lösungsverfahren Heuristiken: teilweise verwendet wenn exakte Verfahren vorhanden

Mehr

12.4 Traveling Salesman Problem

12.4 Traveling Salesman Problem 96 KOMBINATORISCHE SUCHE.4 Traveling Salesman Problem Definition.3(TSP, Problem des Handlungsreisenden): Wir betrachten einen gerichteten, gewichteten Graphen G = (V,E) mit K : V R. K({u,v}) sind die Kosten

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 00

Mehr

Abgabe: :00. Achten Sie darauf nicht zu lange Zeilen, Methoden und Dateien zu erstellen 1

Abgabe: :00. Achten Sie darauf nicht zu lange Zeilen, Methoden und Dateien zu erstellen 1 Programmieren Wintersemester 2/ Software-esign und Qualität (SQ) https://sdqweb.ipd.kit.edu/wiki/programmieren Prof. r. Ralf H. Reussner Kiana Rostami Michael Langhammer bschlussaufgabe usgabe:.2.2 : bgabe:..2

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 und Datenstrukturen 1 Kapitel 3

Algorithmen und Datenstrukturen 1 Kapitel 3 Algorithmen und Datenstrukturen 1 Kapitel 3 Technische Fakultät robert@techfak.uni-bielefeld.de Vorlesung, U. Bielefeld, Winter 2005/2006 3.6 Dynamische Programmierung Die rekursive Problemzerlegung kann

Mehr

Backtracking mit Heuristiken

Backtracking mit Heuristiken Backtracking mit Heuristiken Thomas Dübendorfer thomas@duebendorfer.ch 14. September 2000 Inhalt und Ablauf 1. Einführendes Beispiel (4 min) 2. Konzepte zu Backtracking (8 min) 3. Eingesperrt im Labyrinth

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Werner Struckmann Wintersemester 2005/06 9. Entwurf von Algorithmen 9.1 Einführung 9.2 Teile-und-Beherrsche-Algorithmen 9.3 Gierige Algorithmen 9.4 Backtracking-Algorithmen

Mehr

11. Rekursion, Komplexität von Algorithmen

11. Rekursion, Komplexität von Algorithmen nwendung der Rekursion 11. Rekursion, Komplexität von lgorithmen Teil 2 Java-eispiele: Power1.java Hanoi.java Rekursiv definierte Funktionen - Fibonacci-Funktion - Fakultät, Potenz -... Rekursiver ufbau

Mehr

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de

Datenbankanwendung. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2014/15. smichel@cs.uni-kl.de Datenbankanwendung Wintersemester 2014/15 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de Wiederholung: Anfragegraph Anfragen dieses Typs können als Graph dargestellt werden: Der

Mehr

Einführung in Heuristische Suche

Einführung in Heuristische Suche Einführung in Heuristische Suche Beispiele 2 Überblick Intelligente Suche Rundenbasierte Spiele 3 Grundlagen Es muss ein Rätsel / Puzzle / Problem gelöst werden Wie kann ein Computer diese Aufgabe lösen?

Mehr

Traveling Salesman Problem (TSP)

Traveling Salesman Problem (TSP) Traveling Salesman Problem (TSP) Das Traveling Salesman Problem (TSP) ist ein bekanntes Optimierungsproblem. Ein Handlungsreisender soll in einer Rundreise (auch Tour genannt) n vorgegebene Städte besuchen.

Mehr

10 Dynamische Programmierung

10 Dynamische Programmierung 137 Dynamische Programmierung Das Prinzip der Dynamischen Programmierung wird häufig bei Fragestellungen auf Worten angewendet..1 Längste gemeinsame Teilfolge Wir betrachten Worte der rt w = a 1 a 2 a

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2007 11. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Das Rucksack-Problem Ein Dieb, der einen Safe

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 20 Einstieg in die Informatik mit Java Rekursion Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 20 1 Überblick 2 Rekursion 3 Rekursive Sortieralgorithmen 4 Backtracking

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2006 5. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Wdhlg.: Dijkstra-Algorithmus I Bestimmung der

Mehr

15. Elementare Graphalgorithmen

15. Elementare Graphalgorithmen Graphen sind eine der wichtigste Modellierungskonzepte der Informatik Graphalgorithmen bilden die Grundlage vieler Algorithmen in der Praxis Zunächst kurze Wiederholung von Graphen. Dann Darstellungen

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

Graphen: Datenstrukturen und Algorithmen

Graphen: Datenstrukturen und Algorithmen Graphen: Datenstrukturen und Algorithmen Ein Graph G = (V, E) wird durch die Knotenmenge V und die Kantenmenge E repräsentiert. G ist ungerichtet, wenn wir keinen Start- und Zielpunkt der Kanten auszeichnen.

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: Algorithmen und Datenstrukturen 2 ADS: Algorithmen und Datenstrukturen 2 Teil 5 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität

Mehr

Kombinatorische Optimierung

Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 4 Programm des

Mehr

Wie komme ich von hier zum Hauptbahnhof?

Wie komme ich von hier zum Hauptbahnhof? NP-Vollständigkeit Wie komme ich von hier zum Hauptbahnhof? P Wie komme ich von hier zum Hauptbahnhof? kann ich verwende für reduzieren auf Finde jemand, der den Weg kennt! Alternativ: Finde eine Stadtkarte!

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

Algorithmen und Datenstrukturen 4. ENTWURFSMUSTER. Algorithmen und Datenstrukturen - Ma5hias Thimm 1

Algorithmen und Datenstrukturen 4. ENTWURFSMUSTER. Algorithmen und Datenstrukturen - Ma5hias Thimm 1 und atenstrukturen 4. ENTWURFSMUSTER Algorithmen und atenstrukturen - Ma5hias Thimm (thimm@uni-koblenz.de) 1 Allgemeines Überblick Entwurfsprinzipien Greedy-Algorithmen ivide and Conquer Backtracking ynamische

Mehr

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 6: Matchings und TSP-Problem

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 6: Matchings und TSP-Problem Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 6: Matchings und TSP-Problem Dipl-Math. Wolfgang Kinzner 4.4.2012 Kapitel 6: Matchings und TSP-Problem Matching und Matchingproblem Flussalgorithmus

Mehr

2. Optimierungsprobleme 6

2. Optimierungsprobleme 6 6 2. Beispiele... 7... 8 2.3 Konvexe Mengen und Funktionen... 9 2.4 Konvexe Optimierungsprobleme... 0 2. Beispiele 7- Ein (NP-)Optimierungsproblem P 0 ist wie folgt definiert Jede Instanz I P 0 hat einen

Mehr

Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 2 Algorithmen und Datenstrukturen 2 Sommersemester 2006 3. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Algorithmen für Graphen Fragestellungen: Suche

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Dynamische Programmierung Einführung Ablaufkoordination von Montagebändern Längste gemeinsame Teilsequenz Optimale

Mehr

5.4 Das Rucksackproblem

5.4 Das Rucksackproblem Problemstellung: 5.4 Das Rucksackproblem Eingabe: Ganzzahlige Volumina a 1,..., a n > 0, Nutzenwerte c 1,..., c n > 0, ganzzahlige Volumenschranke b. Aufgabe: Packe die Objekte in einen Rucksack von Volumen

Mehr

Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem

Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem Andreas Moser Dietmar Ebner Christian Schauer Markus Bauer 9. Dezember 2003 1 Einführung Der in der Vorlesung gezeigte Algorithmus für das Steiner

Mehr

Das Heiratsproblem. Definition Matching

Das Heiratsproblem. Definition Matching Das Heiratsproblem Szenario: Gegeben: n Frauen und m > n Männer. Bekanntschaftsbeziehungen zwischen allen Männern und Frauen. Fragestellung: Wann gibt es für jede der Frauen einen Heiratspartner? Modellierung

Mehr

abgeschlossen unter,,,, R,

abgeschlossen unter,,,, R, Was bisher geschah Turing-Maschinen können Sprachen L X akzeptieren entscheiden Funktionen berechnen f : X X (partiell) Menge aller Turing-akzeptierbaren Sprachen genau die Menge aller Chomsky-Typ-0-Sprachen

Mehr

Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP

Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP Kap..1 Heuristiken Kap.. Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 3. VO DAP SS 008 14. Juli 009 Überblick

Mehr

Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien

Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 23. VO DAP2 SS 2008 14. Juli 2009

Mehr

Lösungsvorschlag Serie 2 Rekursion

Lösungsvorschlag Serie 2 Rekursion (/) Lösungsvorschlag Serie Rekursion. Algorithmen-Paradigmen Es gibt verschiedene Algorithmen-Paradigmen, also grundsätzliche Arten, wie man einen Algorithmus formulieren kann. Im funktionalen Paradigma

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Dr. Hanjo Täubig Lehrstuhl für Eziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester 2007/08

Mehr

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.

Programmierung 2. Dynamische Programmierung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland. 1 Programmierung 2 Dynamische Programmierung Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 2 Übersicht Stammt aus den Zeiten als mit Programmierung

Mehr

Dynamisches Programmieren - Problemstruktur

Dynamisches Programmieren - Problemstruktur Dynamisches Programmieren - Problemstruktur Optimale Substruktur: Optimale Lösung enthält optimale Lösungen von Teilproblemen. Bsp.: Kürzester Weg im Graphen, LCS (s. etwa Folie 42 der letzten Vorlesung)

Mehr

Teil III. Komplexitätstheorie

Teil III. Komplexitätstheorie Teil III Komplexitätstheorie 125 / 160 Übersicht Die Klassen P und NP Die Klasse P Die Klassen NP NP-Vollständigkeit NP-Vollständige Probleme Weitere NP-vollständige Probleme 127 / 160 Die Klasse P Ein

Mehr

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 3: Minimal aufspannende Bäume und Matroide

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 3: Minimal aufspannende Bäume und Matroide Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 3: Minimal aufspannende Bäume und Matroide Dipl-Math. Wolfgang Kinzner 3.4.2012 Kapitel 3: Minimal aufspannende Bäume und Matroide Minimal aufspannende

Mehr

7. Übung zu Algorithmen und Datenstrukturen

7. Übung zu Algorithmen und Datenstrukturen 7. Übung zu Algorithmen und Datenstrukturen Dynamisches Programmieren Greedy Algorithms Exceptions 1 Dynamische Programmierung nutzt gezielt aus, dass man bei manchen Problemen den Rechenaufwand extrem

Mehr

Definition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind.

Definition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind. 3.5 Gerichteter Pfad Definition 291 Eine Folge (u 0, u 1,..., u n ) mit u i V für i = 0,..., n heißt gerichteter Pfad, wenn ( i {0,..., n 1} ) [ (u i, u i+1 ) A]. Ein gerichteter Pfad heißt einfach, falls

Mehr

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7 1 Kürzeste Pfade Woche 6 7 Hier arbeiten wir mit gewichteten Graphen, d.h. Graphen, deren Kanten mit einer Zahl gewichtet werden. Wir bezeichnen die Gewichtsfunktion mit l : E R. Wir wollen einen kürzesten

Mehr

Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20

Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20 Suche in Spielbäumen Suche in Spielbäumen KI SS2011: Suche in Spielbäumen 1/20 Spiele in der KI Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche Einschränkung von Spielen auf: 2 Spieler:

Mehr

9. Heuristische Suche

9. Heuristische Suche 9. Heuristische Suche Prof. Dr. Rudolf Kruse University of Magdeburg Faculty of Computer Science Magdeburg, Germany rudolf.kruse@cs.uni-magdeburg.de S Heuristische Suche Idee: Wir nutzen eine (heuristische)

Mehr

Dynamisches Routing in der Logistik

Dynamisches Routing in der Logistik Informatik, Angewandte Informatik, Technische Informationssysteme Dynamisches Routing in der Logistik Tobias Dimmel Dresden, 24.05.2012 Agenda 1. Begriffe 2. Traveling Salesman Problem 3. Ameisenalgorithmus

Mehr

Das Sightseeing Problem

Das Sightseeing Problem as Sightseeing Problem Wie plane ich meinen Urlaub optimal? Melanie erzog Wolfgang erdinand Riedl Lehrstuhl M9 für ngewandte eometrie und iskrete Mathematik Technische Universität München Voraussetzungen:

Mehr

Problemlösen, ein Einstieg nicht nur für die Informatik

Problemlösen, ein Einstieg nicht nur für die Informatik Fakultät Informatik Software und Multimedia Technik, Professur Didaktik der Informatik Problemlösen, ein instieg nicht nur für die Informatik Dresden, 25.04.2008 Inhalt Definition von Problem und ufgabe

Mehr

Algorithmen & Komplexität

Algorithmen & Komplexität Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Kürzeste Pfade Problem Gegeben Netzwerk: Graph G = (V, E), Gewichtsfunktion w: E N Zwei Knoten: s, t Kantenzug/Weg

Mehr

Modul N5 - Routing. Informatik erleben. Anwendung: http, smtp. Transport: TCP, UDP. Segment. Vermittlung: IP. Datagramm. Sicherung: Ethernet, PPP

Modul N5 - Routing. Informatik erleben. Anwendung: http, smtp. Transport: TCP, UDP. Segment. Vermittlung: IP. Datagramm. Sicherung: Ethernet, PPP N-Netze Modul - Routing eitrahmen 0 Minuten ielgruppe Sekundarstufe II Inhaltliche Voraussetzung keine, N4 von Vorteil Lehrziel Kennen lernen eines Routing-lgorithmus, sowie der Netzwerkschichten http://www.sxc.hu

Mehr

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J Greedy-Strategie Definition Paradigma Greedy Der Greedy-Ansatz verwendet die Strategie 1 Top-down Auswahl: Bestimme in jedem Schritt eine lokal optimale Lösung, so dass man eine global optimale Lösung

Mehr

Programmieren, Algorithmen und Datenstrukturen II 8. Allgemeine Lösungsverfahren

Programmieren, Algorithmen und Datenstrukturen II 8. Allgemeine Lösungsverfahren Programmieren, Algorithmen und Datenstrukturen II 8. Allgemeine Lösungsverfahren 1 Übersicht 1. Ziele des Kapitels 2. Bereits behandelte Lösungsstrategien 3. Backtracking 4. Branch-and-Bound 5. Weiterführende

Mehr

Informatik I: Einführung in die Programmierung

Informatik I: Einführung in die Programmierung Informatik I: Einführung in die Programmierung 7. Albert-Ludwigs-Universität Freiburg Bernhard Nebel 31. Oktober 2014 1 31. Oktober 2014 B. Nebel Info I 3 / 20 Um zu, muss man zuerst einmal. Abb. in Public

Mehr

Algorithmen und Datenstrukturen (für ET/IT) Wiederholung: Ziele der Vorlesung. Wintersemester 2012/13. Dr. Tobias Lasser

Algorithmen und Datenstrukturen (für ET/IT) Wiederholung: Ziele der Vorlesung. Wintersemester 2012/13. Dr. Tobias Lasser Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Wiederholung: Ziele der Vorlesung Wissen: Algorithmische

Mehr

2. Lernen von Entscheidungsbäumen

2. Lernen von Entscheidungsbäumen 2. Lernen von Entscheidungsbäumen Entscheidungsbäume 2. Lernen von Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch Attribut/Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse

Mehr

Das Multi Traveling Salesman Problem

Das Multi Traveling Salesman Problem Das Multi Traveling Salesman Problem Harald Voit Seminar Ganzzahlige Optimierung 19. bis 21. Januar 2007 Wallenfels Das Multi Traveling Salesman Problem p.1/26 Übersicht Vom TSP zum ATSP Das Multi Traveling

Mehr

Vorlesung 3 MINIMALE SPANNBÄUME

Vorlesung 3 MINIMALE SPANNBÄUME Vorlesung 3 MINIMALE SPANNBÄUME 72 Aufgabe! Szenario: Sie arbeiten für eine Firma, die ein Neubaugebiet ans Netz (Wasser, Strom oder Kabel oder...) anschließt! Ziel: Alle Haushalte ans Netz bringen, dabei

Mehr

Lineare Programmierung

Lineare Programmierung asis Definition 3.38 Gegeben sei ein LP in der Normalform mit m als Rang der Matrix 2 R m n. x 2 R n mit x = b heißt asislösung gdw. n m Komponenten x i gleich Null und die zu den restlichen Variablen

Mehr

4. Kreis- und Wegeprobleme Abstände in Graphen

4. Kreis- und Wegeprobleme Abstände in Graphen 4. Kreis- und Wegeprobleme Abstände in Graphen Abstände in Graphen Definition 4.4. Es sei G = (V,E) ein Graph. Der Abstand d(v,w) zweier Knoten v,w V ist die minimale Länge eines Weges von v nach w. Falls

Mehr

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph. Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph. a) Es seien W 1 = (V, E 1 ), W 2 = (V, E 2 ) Untergraphen von G, die beide Wälder sind. Weiter gelte E 1 > E 2.

Mehr

Algorithmen und Datenstrukturen Tafelübung 4. Jens Wetzl 15. November 2011

Algorithmen und Datenstrukturen Tafelübung 4. Jens Wetzl 15. November 2011 Algorithmen und Datenstrukturen Tafelübung 4 Jens Wetzl 15. November 2011 Folien Keine Garantie für Vollständigkeit und/oder Richtigkeit Keine offizielle Informationsquelle LS2-Webseite Abrufbar unter:

Mehr

Grundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann

Grundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann Grundlagen der Informatik Kapitel 20 Harald Krottmaier Sven Havemann Agenda Klassen von Problemen Einige Probleme... Approximationsalgorithmen WS2007 2 Klassen P NP NP-vollständig WS2007 3 Klasse P praktisch

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

Datenstrukturen und Algorithmen SS07

Datenstrukturen und Algorithmen SS07 Datenstrukturen und Algorithmen SS07 Datum: 27.6.2007 Michael Belfrage mbe@student.ethz.ch belfrage.net/eth Programm von Heute Online Algorithmen Update von Listen Move to Front (MTF) Transpose Approximationen

Mehr

Effiziente Algorithmen I

Effiziente Algorithmen I H 10. Präsenzaufgabenblatt, Wintersemester 2015/16 Übungstunde am 18.01.2015 Aufgabe Q Ein Reiseveranstalter besitzt ein Flugzeug, das maximal p Personen aufnehmen kann. Der Veranstalter bietet einen Flug

Mehr

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume Effiziente Algorithmen und Datenstrukturen I Kapitel 9: Minimale Spannbäume Christian Scheideler WS 008 19.0.009 Kapitel 9 1 Minimaler Spannbaum Zentrale Frage: Welche Kanten muss ich nehmen, um mit minimalen

Mehr

3 Klassifikation wichtiger Optimierungsprobleme

3 Klassifikation wichtiger Optimierungsprobleme 3 Klassifikation wichtiger Optimierungsprobleme 3.1 Das MIN- -TSP Wir kehren nochmal zurück zum Handlungsreisendenproblem für Inputs (w {i,j} ) 1 i

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 4 für die Übung

Mehr

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

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen. Hashing 6. Algorithmische Geometrie 4/6, Folie 1 2014 Prof. Steffen Lange - HDa/FbI

Mehr

Uninformierte Suche in Java Informierte Suchverfahren

Uninformierte Suche in Java Informierte Suchverfahren Uninformierte Suche in Java Informierte Suchverfahren Stephan Schwiebert WS 2009/2010 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Suchprobleme bestehen aus Zuständen

Mehr

Kapitel 5: Dynamisches Programmieren Gliederung

Kapitel 5: Dynamisches Programmieren Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

2.5 Backtracking. 1 Ausgang. Beispiel: ungerichteter Graph: Ausweg aus einem Labyrinth suchen, modelliert als. Sackgasse. Ecken. Kanten 2.

2.5 Backtracking. 1 Ausgang. Beispiel: ungerichteter Graph: Ausweg aus einem Labyrinth suchen, modelliert als. Sackgasse. Ecken. Kanten 2. 2.5 Backtracking Beispiel: Ausweg aus einem Labyrinth suchen, modelliert als ungerichteter Graph: 2 0 Sackgasse 3 6 4 Ecken 5 Kanten 1 Ausgang 2.5 1 Vorgeschichte: Man hat sich ins Labyrinth begeben, geht

Mehr

Informatik II Greedy-Algorithmen

Informatik II Greedy-Algorithmen lausthal Informatik II reedy-algorithmen. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Erinnerung: Dynamische Programmierung Zusammenfassung der grundlegenden Idee: Optimale Sub-Struktur:

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 9. Klassische Suche: Tiefensuche und iterative Tiefensuche Malte Helmert Universität asel 21. März 2014 Tiefensuche Iterative Tiefensuche linde Suche: Zusammenfassung

Mehr

Vorlesung Wissensentdeckung in Datenbanken

Vorlesung Wissensentdeckung in Datenbanken Vorlesung Wissensentdeckung in Datenbanken Data Cube Katharina Morik, Uwe Ligges Informatik LS 8 22.04.2010 1 von 26 Gliederung 1 Einführung 2 Aggregation in SQL, GROUP BY 3 Probleme mit GROUP BY 4 Der

Mehr

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

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/5, olie 1 2014 Prof. Steffen Lange - HDa/bI

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

Hamiltonsche Graphen (2. Teil)

Hamiltonsche Graphen (2. Teil) Hamiltonsche Graphen (2. Teil) Themen des Vortrages Für Schachspieler Hamiltons Spiel Sitzordnungen Eine billige Rundreise Ein vielleicht unlösbares Problem Bäcker mit Kenntnissen in Graphentheorie Fazit

Mehr

Durchschnitt von Matroiden

Durchschnitt von Matroiden Durchschnitt von Matroiden Satz von Edmonds Dany Sattler 18. Januar 2007/ Seminar zur ganzzahligen Optimierung / Wallenfels Definition: Unabhängigkeitssystem Definition: Ein Mengensystem (S, J ) nennt

Mehr

Das Steinerbaumproblem

Das Steinerbaumproblem Das Steinerbaumproblem Natalie Richert Fakultät für Elektrotechnik, Informatik und Mathematik, Universität Paderborn 4. Februar 008 / 3 Überblick Problembeschreibung Vorstellung von zwei Approimationsalgorithmen

Mehr

Eulerweg, Eulerkreis. Das Königsberger Brückenproblem. Definition 3.1. Ein Weg, der jede Kante von G genau einmal

Eulerweg, Eulerkreis. Das Königsberger Brückenproblem. Definition 3.1. Ein Weg, der jede Kante von G genau einmal 3. Kreis- und Wegeprobleme Kapitelübersicht 3. Kreis- und Wegeprobleme Eulerweg, Eulerkreis Charakterisierung von eulerschen Graphen Bestimmung von eulerschen Wegen und Kreisen Hamiltonsche Graphen Definition

Mehr

Statistische Untersuchungen zu endlichen Funktionsgraphen

Statistische Untersuchungen zu endlichen Funktionsgraphen C# Projekt 1 Name: Statistische Untersuchungen zu endlichen Funktionsgraphen Aufgabe: Basierend auf dem Abschnitt 2.1.6. Random mappings, Kap.2, S 54-55, in [1] sollen zunächst für eine beliebige Funktion

Mehr

Rechnerische Komplexität

Rechnerische Komplexität Proseminar Effiziente Algorithmen SS 2002 Rechnerische Komplexität Ulrike Krönert (34180) 0. Inhalt 1. Einführung 2. Algorithmen und Komplexität 2.1. Algorithmen 2.2. Laufzeitabschätzung 2.3. Polynomialzeit

Mehr

11. Übung zu Algorithmen I 6. Juli 2016

11. Übung zu Algorithmen I 6. Juli 2016 11. Übung zu Algorithmen I 6. Juli 2016 Lisa Kohl lisa.kohl@kit.edu mit Folien von Lukas Barth Roadmap Ausblick: Was sind schwierige Probleme? Travelling Salesman Problem - Reprise ein ILP ein Algorithmus

Mehr

Informatik III. Christian Schindelhauer Wintersemester 2006/07 24. Vorlesung 26.01.2007

Informatik III. Christian Schindelhauer Wintersemester 2006/07 24. Vorlesung 26.01.2007 Informatik III Christian Schindelhauer Wintersemester 26/7 24. Vorlesung 26..27 NP-Vollständigkeit Gegeben ein unbekanntes NP-Problem X, sollte man nicht nur nach einem Algorithmus mit polynomieller Laufzeit

Mehr

Übungen zum Vortrag Backtracking mit Heuristiken

Übungen zum Vortrag Backtracking mit Heuristiken Übungen zum Vortrag Backtracking mit Heuristiken A) Java-Implementierung studieren von Backtracking im Labyrinth B) Pseudocode schreiben zu Backtracking beim n Damen Problem C) Implementierung der Springerwege

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen

Mehr

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 16/17 Ausgabe 22. Dezember 2016 Abgabe 17. Januar 2017, 11:00 Uhr

Mehr

Customization (Zuschneiden)

Customization (Zuschneiden) Customization (Zuschneiden) Anpassen der (Graph)Datenstruktur an die Anwendung. I Ziel: schnell, kompakt. I benutze Entwurfsprinzip: make the common case fast I Listen vermeiden Mögliches Problem: Software-Engineering-Alptraum

Mehr

Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung Kapitel 6 Komplexität von Algorithmen 1 6.1 Beurteilung von Algorithmen I.d.R. existieren viele Algorithmen, um dieselbe Funktion zu realisieren. Welche Algorithmen sind die besseren? Betrachtung nicht-funktionaler

Mehr

Informatik II Backtracking

Informatik II Backtracking 6//0 lausthal Informatik II Backtracking. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Allgemeines Problem-Statement egeben: Eine Reihe von Variablen, für die man eine Belegung sucht onstraints

Mehr

Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3

Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3 Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3 LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Andreas Gemsa 26.06.2012 Prüfung! Termine: 20. Juli 27.

Mehr

Kapitel 4: Minimal spannende Bäume Gliederung der Vorlesung

Kapitel 4: Minimal spannende Bäume Gliederung der Vorlesung Kapitel : Minimal spannende Bäume Gliederung der Vorlesung. Fallstudie Bipartite Graphen 2. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen. Minimal spannende Bäume. Kürzeste Wege. Traveling

Mehr

Technische Informatik 1 Übung 2 Assembler (Rechenübung) Georgia Giannopoulou (ggeorgia@tik.ee.ethz.ch) 22./23. Oktober 2015

Technische Informatik 1 Übung 2 Assembler (Rechenübung) Georgia Giannopoulou (ggeorgia@tik.ee.ethz.ch) 22./23. Oktober 2015 Technische Informatik 1 Übung 2 Assembler (Rechenübung) Georgia Giannopoulou (ggeorgia@tik.ee.ethz.ch) 22./23. Oktober 2015 Ziele der Übung Aufgabe 1 Aufbau und Aufruf von Funktionen in Assembler Codeanalyse

Mehr

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011

Graphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011 Graphen: Einführung Vorlesung Mathematische Strukturen Zum Ende der Vorlesung beschäftigen wir uns mit Graphen. Graphen sind netzartige Strukturen, bestehend aus Knoten und Kanten. Sommersemester 20 Prof.

Mehr