Honors Track: Competitive Programming & Problem Solving Seminar Topics Kevin Verbeek.

Slides:



Advertisements
Similar presentations
NP-Hard Nattee Niparnan.
Advertisements

Chapter 11 Limitations of Algorithm Power Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Comments We consider in this topic a large class of related problems that deal with proximity of points in the plane. We will: 1.Define some proximity.
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
Introduction to Algorithms
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
Lecture 12: Revision Lecture Dr John Levine Algorithms and Complexity March 27th 2006.
S. J. Shyu Chap. 1 Introduction 1 The Design and Analysis of Algorithms Chapter 1 Introduction S. J. Shyu.
Algorithm Strategies Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
CSC5160 Topics in Algorithms Tutorial 2 Introduction to NP-Complete Problems Feb Jerry Le
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22.
Computational problems, algorithms, runtime, hardness
Semidefinite Programming
1 Introduction to Linear and Integer Programming Lecture 9: Feb 14.
Introduction to Linear and Integer Programming Lecture 7: Feb 1.
1 Optimization problems such as MAXSAT, MIN NODE COVER, MAX INDEPENDENT SET, MAX CLIQUE, MIN SET COVER, TSP, KNAPSACK, BINPACKING do not have a polynomial.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 21 Instructor: Paul Beame.
The Theory of NP-Completeness
Computability and Complexity 24-1 Computability and Complexity Andrei Bulatov Approximation.
Chapter 11: Limitations of Algorithmic Power
Chapter 11 Limitations of Algorithm Power Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
Chapter 11 Limitations of Algorithm Power. Lower Bounds Lower bound: an estimate on a minimum amount of work needed to solve a given problem Examples:
A. Levitin “Introduction to the Design & Analysis of Algorithms,” 3rd ed., Ch. 11 ©2012 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
Design Techniques for Approximation Algorithms and Approximation Classes.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Approximation Algorithms
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
CSE 024: Design & Analysis of Algorithms Chapter 9: NP Completeness Sedgewick Chp:40 David Luebke’s Course Notes / University of Virginia, Computer Science.
1 Lower Bounds Lower bound: an estimate on a minimum amount of work needed to solve a given problem Examples: b number of comparisons needed to find the.
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
CSE332: Data Abstractions Lecture 24.5: Interlude on Intractability Dan Grossman Spring 2012.
Honors Track: Competitive Programming & Problem Solving Optimization Problems Kevin Verbeek.
Data Structures & Algorithms Graphs
MAX FLOW APPLICATIONS CS302, Spring 2012 David Kauchak.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Unit 9: Coping with NP-Completeness
NP-COMPLETE PROBLEMS. Admin  Two more assignments…  No office hours on tomorrow.
Lecture 6 NP Class. P = ? NP = ? PSPACE They are central problems in computational complexity.
NP-Complete problems.
CS223 Advanced Data Structures and Algorithms 1 Maximum Flow Neil Tang 3/30/2010.
Unique Games Approximation Amit Weinstein Complexity Seminar, Fall 2006 Based on: “Near Optimal Algorithms for Unique Games" by M. Charikar, K. Makarychev,
Lecture 25 NP Class. P = ? NP = ? PSPACE They are central problems in computational complexity.
Exponential time algorithms Algorithms and networks.
NPC.
Young CS 331 D&A of Algo. NP-Completeness1 NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and.
1. For minimum vertex cover problem in the following graph give
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
TU/e Algorithms (2IL15) – Lecture 9 1 NP-Completeness NOT AND OR AND NOT AND.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
Hard Problems Some problems are hard to solve.  No polynomial time algorithm is known.  E.g., NP-hard problems such as machine scheduling, bin packing,
More NP-Complete and NP-hard Problems
Lecture 2-2 NP Class.
Richard Anderson Lecture 26 NP-Completeness
Lecture 22 Complexity and Reductions
Haim Kaplan and Uri Zwick
Graph Theory and Algorithm 02
P and NP CISC4080, Computer Algorithms CIS, Fordham Univ.
Analysis and design of algorithm
Richard Anderson Lecture 25 NP-Completeness
Chapter 11 Limitations of Algorithm Power
NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson, W.H. Freeman and Company, 1979.
Lecture 19 Linear Program
CSE 589 Applied Algorithms Spring 1999
Major Design Strategies
Our old list of problems
Major Design Strategies
Presentation transcript:

Honors Track: Competitive Programming & Problem Solving Seminar Topics Kevin Verbeek

Seminar Seminar: You give the lectures! Setup You pick a topic… You investigate the topic/problem/algorithm You choose which aspects to present You prepare a presentation You give the presentation! Picking a topic Everybody gives a presentation We provide topics You give preferences for each topic We assign topics using maximum weighted bipartite matching

Push-relabel algorithm Another algorithm to compute maximum flow s = 0 t = /3 0/2 0/1 0/2 0/3 0/2 0/1 Can run in O(V 2 √E ) time Usually faster than other algorithms

Avoiding negative edges Problem Dijkstra’s algorithm does not work with negative weight edges Johnson’s algorithm All-pairs shortest path for sparse graphs with negative weights Suurballe’s algorithm Finding two disjoint paths of minimum length

Min-cost flow problem Min-cost flow: Same as maximum flow, except: Amount of flow is specified Every edge has weight Goal is to minimize flow x weight s = 0 t = /3 0/2 0/1 0/2 0/3 0/2 0/

Stable Marriage Stable Marriage Problem A type of stable bipartite matching problem Every node has preferences Matching is stable if there is no pair (a, b) that prefer each other over their current matches A stable matching always exists

Layered graphs Layered graph technique Solving a graph problem with additional parameters Copy the graph several times into different layers Add cross-edges between layers Use graph algorithm

A* A* algorithm Shortest path algorithm using heuristics for speed-up Speed-up based on estimating distance to goal Often useful in geometric settings

Tree isomorphism Graph isomorphism Checking if two graphs have the same structure Hard for general graphs (Recent: quasi-polynomial, not NP-hard) Polynomial-time algorithms for trees Similar techniques for decision diagram reduction

Tries Trie Data structure to store a set of strings Every node can have a child for each letter Efficient to insert and search

Binary Indexed Trees Efficient data structure for cumulative (range) queries Easy to implement Like range trees, but coordinates must be bounded Also for higher dimensions

Simple convex optimization Problem For a convex function f, find the x such that f(x) is minimum (or max) Also in higher dimensions Ternary search, golden section search, gradient descent, etc.

Polynomial interpolation Problem Given d+1 pairs (x i, y i ), construct a polynomial y = f(x) of degree d such that y i = f(x i ) for all i Usefulness To approximate complex function If you know solution behaves as low-degree polynomial

Basic number theory Prime number An integer > 1 that can only be divided by 1 or itself Finite field A finite set with proper definitions for +,-,x,/ Numbers modulo prime number form a finite field… … thus binary digits also form finite field E.g. Gaussian elimination also possible in finite field

Linear programming Optimize linear function under linear constraints Very powerful Polynomial-time algorithms exist Usually simplex method works well Can model e.g. min-cost flow problem Example Maximize 5x + 4y Subject to: 2x + y ≤ 6 3x + 5y ≤ 12 x, y ≥ 0

Impartial game theory Impartial game A 2-player game where allowable moves are player-independent Goal Come up with a winning strategy

(Partisan) Game theory Partisan game A (2-player) game that is not impartial Generally harder than impartial games Minimax strategies (often using dynamic programming) Alpha-beta pruning

2-SAT 2-Satisfiability Given a 2-CNF boolean formula, determine if boolean variables can be set so that the formula is true 2-CNF formula A conjuction of disjunctions with two arguments

Subset dynamic programming Dynamic programming where subproblems are represented as subsets Use bitmasks for representation Slightly faster than brute-force Example: TSP

Meet-in-the-middle Meet-in-the-middle approach Split problem in the middle Solve halves separately with brute-force Merge results Examples Bidirectional BFS 4SUM Subset sum

Solution analysis Finding properties of an optimal solution that helps you find it more efficiently Sometimes these solutions are called canonical solutions Very useful in geometry

Randomized algorithms Randomized algorithm An algorithm that uses randomness as part of its logic Can be used for a simple and efficient algorithm Running time is random variable Examples Randomized Quicksort Finding a line through many points LP-type problems (min. enclosing circle)

Delaunay triangulation Special type of triangulation of a set of points For every triangle: the circle through the vertices must be empty Dual to Voronoi diagram Can be computed in O(n log n) time, but not easy

Geometric duality Points are lines and lines are points A problem can be simpler in the geometric dual Other geometric dualities exist

3D Convex hull Convex hull For a given set of points, the smallest convex set containing the points Like a rubber band around the points In 3D also in O(n log n) time, but harder than Delaunay triangulation

Picking Topics Procedure Assign an integer weight between 1 and 23 to every problem All weights must be unique! 1. Push-relabel algorithm9. Binary Indexed Trees17. Subset DP 2. Avoiding negative edges10. Convex optimization18. Meet-in-the-middle 3. Min-cost flow11. Polynomial interpolation19. Solution analysis 4. Stable marriage12. Basic number theory20. Randomized algs 5. Layered graphs13. Linear programming21. Delaunay triangulation 6. A* algorithm14. Impartial game theory22. Geometric duality 7. Tree isomorphism15. (Partisan) game theory23. 3D convex hull 8. Tries16. 2-Satisfiability