TU/e Algorithms (2IL15) – Lecture 13 1 Wrap-up lecture.

Slides:



Advertisements
Similar presentations
Lecture 5: Network Flow Algorithms Max-Flow Min-Cut Single-Source Shortest-Path (SSSP) Job Sequencing.
Advertisements

1 LP Duality Lecture 13: Feb Min-Max Theorems In bipartite graph, Maximum matching = Minimum Vertex Cover In every graph, Maximum Flow = Minimum.
1 Maximum flow sender receiver Capacity constraint Lecture 6: Jan 25.
October 31, Algorithms and Data Structures Lecture XIII Simonas Šaltenis Nykredit Center for Database Research Aalborg University
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
 2004 SDU Lecture11- All-pairs shortest paths. Dynamic programming Comparing to divide-and-conquer 1.Both partition the problem into sub-problems 2.Divide-and-conquer.
Introduction To Algorithms CS 445 Discussion Session 8 Instructor: Dr Alon Efrat TA : Pooja Vaswani 04/04/2005.
1 Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
1 Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2001 Lecture 1 (Part 1) Introduction/Overview Tuesday, 9/4/01.
TU/e computational geometry introduction Mark de Berg.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Spring, 2003 Review Lecture Tuesday, 5/6/03.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2002 Lecture 1 (Part 1) Introduction/Overview Tuesday, 9/3/02.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2001 Lecture 4 Tuesday, 10/2/01 Graph Algorithms: Part 2 Network.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2002 Review Lecture Tuesday, 12/10/02.
2-Layer Crossing Minimisation Johan van Rooij. Overview Problem definitions NP-Hardness proof Heuristics & Performance Practical Computation One layer:
Recurrences / HW: 2.4 Quiz: 2.1, 4.1, 4.2, 5.2, 7.3, 7.4 Midterm: 8 given a recursive algorithm, state the recurrence solve a recurrence, using Master.
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
A New Approach to the Maximum-Flow Problem Andrew V. Goldberg, Robert E. Tarjan Presented by Andrew Guillory.
1 Ford-Fulkerson method Ford-Fulkerson(G) f = 0 while( 9 simple path p from s to t in G f ) f := f + f p output f Runs in time O(|f max | |E|) where f.
Assignment 4. (Due on Dec 2. 2:30 p.m.) This time, Prof. Yao and I can explain the questions, but we will NOT tell you how to solve the problems. Question.
Advanced Algorithms Piyush Kumar (Lecture 5: Weighted Matching) Welcome to COT5405 Based on Kevin Wayne’s slides.
Advanced Algorithms Piyush Kumar (Lecture 5: Weighted Matching) Welcome to COT5405 Based on Kevin Wayne’s slides.
Advanced Algorithm Design and Analysis (Lecture 13) SW5 fall 2004 Simonas Šaltenis E1-215b
Lecture 5: Network Flow Algorithms Single-Source Shortest-Path (SSSP) (Dijkstra's Algorithm) Max Flow - Min Cut (Ford-Fulkerson) Job Sequencing.
RESOURCES, TRADE-OFFS, AND LIMITATIONS Group 5 8/27/2014.
Theory of Computing Lecture 13 MAS 714 Hartmut Klauck.
Algorithms  Al-Khwarizmi, arab mathematician, 8 th century  Wrote a book: al-kitab… from which the word Algebra comes  Oldest algorithm: Euclidian algorithm.
1 CPSC 320: Intermediate Algorithm Design and Analysis July 11, 2014.
Approximation Algorithms
Single Source Shortest-Path: The General Case (with negative edges) Bellman-Ford algorithm. Iteratively relax all edges |V|-1 times Running time? O(VE).
1 CPSC 320: Intermediate Algorithm Design and Analysis July 28, 2014.
1 COMMONWEALTH OF AUSTRALIA Copyright Regulations 1969 WARNING This material has been reproduced and communicated to you by or on behalf.
MA/CSSE 473 Day 28 Dynamic Programming Binomial Coefficients Warshall's algorithm Student questions?
Introduction to Algorithms Jiafen Liu Sept
Lecture 12: Algorithm Review. General Problem Solving Methods Divide & Conquer Greedy Method Dynamic Programming Graph & Tree Traversal Backtracking Branch.
Shortest Path Algorithms. Definitions Variants  Single-source shortest-paths problem: Given a graph, finding a shortest path from a given source.
MAX FLOW APPLICATIONS CS302, Spring 2012 David Kauchak.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
NP-COMPLETE PROBLEMS. Admin  Two more assignments…  No office hours on tomorrow.
CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.
Advanced Algorithms Piyush Kumar (Lecture 16: Review) Welcome to the end of COT5405.
CS223 Advanced Data Structures and Algorithms 1 Maximum Flow Neil Tang 3/30/2010.
Chapter 7 April 28 Network Flow.
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 25.
1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 8 Lecture 8 Network Flow Based Modeling Mustafa Ozdal Computer Engineering Department,
Design and Analysis of Algorithms (09 Credits / 5 hours per week) Sixth Semester: Computer Science & Engineering M.B.Chandak
10/11/10 A. Smith; based on slides by E. Demaine, C. Leiserson, S. Raskhodnikova, K. Wayne Adam Smith Algorithm Design and Analysis L ECTURE 21 Network.
Announcements Finish up Network Flow today Then Review for Final on Monday ◦ HW#5 is due on Monday, let me or the TA’s know if you have trouble starting.
Chapter 7 May 3 Ford-Fulkerson algorithm Step-by-step walk through of an example Worst-case number of augmentations Edmunds-Karp modification Time complexity.
Exercise 6.1 Find the number of different shortest paths from point A to point B in a city with perfectly horizontal streets and vertical avenues as shown.
Introduction to Algorithms All-Pairs Shortest Paths My T. UF.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2001 Review Lecture Tuesday, 12/11/01.
Final Review Chris and Virginia. Overview One big multi-part question. (Likely to be on data structures) Many small questions. (Similar to those in midterm.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
TU/e Algorithms (2IL15) – Lecture 3 1 DYNAMIC PROGRAMMING
TU/e Algorithms (2IL15) – Lecture 4 1 DYNAMIC PROGRAMMING II
Honors Track: Competitive Programming & Problem Solving Seminar Topics Kevin Verbeek.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
TU/e Algorithms (2IL15) – Lecture 8 1 MAXIMUM FLOW (part II)
TU/e Algorithms (2IL15) – Lecture 11 1 Approximation Algorithms.
Lecture 5 Dynamic Programming
Richard Anderson Lecture 29 NP-Completeness and course wrap-up
Summary of lectures Introduction to Algorithm Analysis and Design (Chapter 1-3). Lecture Slides Recurrence and Master Theorem (Chapter 4). Lecture Slides.
Lecture 5 Dynamic Programming
Edmonds-Karp Algorithm
Problem Solving 4.
Algorithms (2IL15) – Lecture 7
INTRODUCTION TO ALOGORITHM DESIGN STRATEGIES
Department of Computer Science & Engineering
Presentation transcript:

TU/e Algorithms (2IL15) – Lecture 13 1 Wrap-up lecture

TU/e Algorithms (2IL15) – Lecture 13 2 Part I of the course: Optimization Problems we want to find valid solution minimizing cost (or maximizing profit)  always start by investigating structure of optimal solution backtracking: just try all solutions (pruning when possible) −extra exercises: backtracking algorithms for NP-hard problems Vertex Cover, 3-SAT, Hamiltonian Cycle, … greedy algorithms: make choice that seems best, recursively solve remaining subproblem −proof is crucial; make sure you know proof structure by heart −extra exercises: greedy algorithms explained in book dynamic programming: give recursive formula, fill in table −make sure you know steps to design dynamic-programming algorithm −extra exercises: dynamic-programming algorithms explained in book

TU/e Algorithms (2IL15) – Lecture 13 3 Part II of the course: optimization problems on graphs single-source shortest paths Find shortest path from source vertex to all other vertices all-pairs shortest paths Find shortest paths between all pairs of vertices maximum flow Find maximum flow from source vertex to target vertex maximum bipartite matching Find maximum number of disjoint pairs of vertices with edge between them −

TU/e Algorithms (2IL15) – Lecture 13 4 single-source / all-pairs shortest paths − you should know and understand the various algorithms SSSP: Bellman-Ford, Dijkstra, algorithm on DAGs APSP: relation to matrix multiplication, Johnson’s reweighting − extra exercises: give algorithms, give proofs of important lemmas maximum flow + maximum bipartite matching − definition of flow network, flow − Ford-Fulkerson method + Edmonds-Karp implementation (concept of augmenting flow, residual path, etcetera) − relation between flows and cuts (e.g. max flow = min cut) − integer capacities: there is always a max flow that is integral  basis for many applications, e.g. for max bipartite matching)

TU/e Algorithms (2IL15) – Lecture 13 5 Part III of the course: miscellaneous topics Part III of the course: Miscellaneous topics NP-completeness − definitions and concepts: P, NP, reductions − list of NP-complete problems you should be able to reproduce NP-completeness proofs … (they also teach you tricks for other NP-completeness proofs) approximation algorithms − definitions and concepts: approximation factor, (F)PTAS − how to prove approximation ratio: compare to lower (upper) bound linear programming − definitions and concepts: LP, standard form integer LP, 0/1-LP − how to model a problem as an LP

TU/e Algorithms (2IL15) – Lecture 13 6 The exam  most exercises are of the same type as the homework exercises  about 1/3 of exercises is (almost) identical to homework exercises  exam may also have some questions where the answer can be found literally on the slides or in the book (reproduce algorithm or proof, definitions) How to prepare  study the slides (only look into the book when there are things in the slides that you do not understand)  solve all the homework exercises again !  reproduce algorithms / proofs from the book

TU/e Algorithms (2IL15) – Lecture 13 7 What we did not do in the course … … lots, in particular … algorithms for big data geometric algorithms algorithms for geographic data

TU/e Algorithms (2IL15) – Lecture 13 8 Algorithms for Big Data disk internal memory L3 cache L2 cache L1 cache ALU registers Data, data, everywhere. Economist 2010

TU/e Algorithms (2IL15) – Lecture 13 9 I/O- and caching behavior analysis of running time: (asymptotically) determine number of elementary operations as a function of input size basic assumption: elementary operations take roughly same amount of time is this justified? Not when data is stored on disk: disk operations can be factor 100,000 (or more) slower than operations on data in main memory − how can we design I/O-efficient algorithms? − how should we analyze such algorithms? − can / should we also worry about caching ? disk internal memory L3 cache L2 cache L1 cache ALU registers

TU/e Algorithms (2IL15) – Lecture streaming algorithms data stream model:  data is read sequentially in one (or few) passes  size of the working memory is much smaller than size of data example: traffic going through high speed routers (data can not be revisited) − how can we design algorithms for data streams? (e.g. maintain approximate median of stream of numbers) − how should we analyze such algorithms?  take Advanced Algorithms (big data + more approximation algorithms)

TU/e Algorithms (2IL15) – Lecture Geometric algorithms

TU/e Algorithms (2IL15) – Lecture computer-aided design and manufacturing (CAD/CAM) 3D model of power plant ( triangles)  motion planning  virtual walkthroughs

TU/e Algorithms (2IL15) – Lecture D copier surface reconstruction 3D scanner 3D printer

TU/e Algorithms (2IL15) – Lecture many areas where geometry plays important role:  geographic information systems  computer-aided design and manufacturing  robotics and motion planning  computer graphics and virtual reality  databases  structural computational biology  and more … age salary

TU/e Algorithms (2IL15) – Lecture Geometric data structures  store geometric data in 2-, 3- or higher dimensional space such that certain queries can be answered efficiently  applications: GIS, graphics and virtual reality, … Examples:  range searching  nearest-neighbor searching  point location want to know more about algorithms and data structures for spatial data?  take Geometric Algorithms

TU/e Algorithms (2IL15) – Lecture 13 Algorithms for Geographic Data

TU/e Algorithms (2IL15) – Lecture geographic information systems (GIS) Mississippi delta Memphis Arlington 30 cities: 4 30 = possibilities

TU/e Algorithms (2IL15) – Lecture 13 automated cartography examples:  map labeling  scaling and simplification  schematization  maps for various types of data, e.g., flows 18

TU/e Algorithms (2IL15) – Lecture trajectory data data of  animals, humans, vehicles, … Examples of analysis tasks:  How similar are two trajectories?  How to find clusters?  How to represent a cluster?  How to simplify a trajectory? ……  take Algorithms for Geographic Data

TU/e Algorithms (2IL15) – Lecture THE END well, except for the exam … comments / suggestions for improvements are welcome