Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS4234 Optimiz(s)ation Algorithms Welcome!. Optimization Algorithms (we will use ‘z’) –http://www.comp.nus.edu.sg/~stevenha/cs4234.htmlhttp://www.comp.nus.edu.sg/~stevenha/cs4234.html.

Similar presentations


Presentation on theme: "CS4234 Optimiz(s)ation Algorithms Welcome!. Optimization Algorithms (we will use ‘z’) –http://www.comp.nus.edu.sg/~stevenha/cs4234.htmlhttp://www.comp.nus.edu.sg/~stevenha/cs4234.html."— Presentation transcript:

1 CS4234 Optimiz(s)ation Algorithms Welcome!

2 Optimization Algorithms (we will use ‘z’) –http://www.comp.nus.edu.sg/~stevenha/cs4234.htmlhttp://www.comp.nus.edu.sg/~stevenha/cs4234.html Materials updated from: –http://www.comp.nus.edu.sg/~gilbert/CS4234/http://www.comp.nus.edu.sg/~gilbert/CS4234/ Instructor: Steven Halim –Office: COM2-03-37 –Email: stevenhalim@gmail.com CS4234 Overview

3 Optimization: Find the minimum/maximum: Discrete: a collection of items Combinatorial: a collection of items generated by counting, combining, and enumerating Examples: Graphs Trees Similar structures… Optimization Algorithms

4 Find the “best” item in a large set of items: ProblemSet of itemsSize Difficulty Searching List of integersLinearEasy Shortest PathAll paths in a graphExponentialEasy Minimum Spanning TreeAll spanning treesExponentialEasy Steiner TreeAll steiner treesExponentialHard Travelling SalesmanAll possible toursExponentialHard MatchingAll possible matchingsExponentialEasy Bipartite Vertex CoverAll possible coversExponentialEasy Vertex CoverAll possible coversExponentialHard Maximum CliqueAll possible subsetsExponentialHard Combinatorial Optimization

5 Find the “best” item in a large set of items: ProblemDifficulty Maintain student recordsEasy Exam timetable schedulingHard Program halting problemImpossible Data compressionEasy VLSI chip layoutHard Job assignment problemEasy Computer deadlock problemEasy Finding patterns in a databaseEasy Combinatorial Optimization

6 Operations Research: How to make better decisions (e.g., maximize profit) Project planning / critical path analysis Facility location: where to open stores / plants Floorplanning: layout of factory or computer chips Supply chain management Berth assignment problem (BAP): port management Assignment problems (e.g., weapon target assignment) Routing / transportation problems: buses, subways, trucking. Airline ticket pricing Combinatorial Optimization

7 Optimization: Find the minimum/maximum: Discrete: a collection of items Combinatorial: a collection of items generated by counting, combining, and enumerating Continuous: given a function f(x), find the vector x that maximizes f(x) Optimization Algorithms

8

9 Goals: Algorithmic 1. Design (problem solving) 2. Analysis (rigorous, deep understanding) 3. Implementation (able to put it to use)

10 “If you need your software to run twice as fast, hire better programmers. But if you need your software to run more than twice as fast, use a better algorithm.” -- Software Lead at Microsoft

11 Relatively new class –First offered last year, S1 AY 2015/16, +ve feedback –Subset of CS5234 (which will evolve too) CS5234: Combinatorial and Graph Algorithms More general: all sorts of optimization (not only graphs) More specific: just optimization Relatively new lecturer (on this topic) –Previously handled lower level algorithm classes –The last time I rigorously touched this topic was during my PhD thesis defence in 2010… CS4234 : Optimization Algorithms

12 Target students: –Advanced (3 rd or 4 th year) undergraduates Not sure if there will be Postgrad students taking –(Very) interested in algorithms –Interested in tools for solving hard problems Prerequisites: –CS3230 (Analysis of Algorithms) –Mathematical fundamentals (currently MA1101R, but good performance in CS1231 is needed too) CS4234 : Students

13 You must already know these: Data Structures (with Analysis) –Linked Lists, Stacks, Queues, –(Binary) Heaps and Priority Queues, –Binary Search Trees, Balanced BSTs Algorithm Design Paradigms (with Analysis) –Standard Sorting and Searching algorithms –Graph traversal algorithms: DFS, BFS, –MST Algorithms and Shortest Path Algorithms, –Greedy Algorithms, Divide-and-Conquer Pre-requisites (1)

14 You must already know these: Analysis of Algorithms –Expertise with Big-O, ,  notations –Summation of series, Master Theorem –Competent with Algorithmic Analysis: Quicksort, Heapsort, Divide-and-Conquer algorithms DFS, BFS, MST & Shortest Paths algorithms Pre-requisites (2)

15  Important changes on Week 01 and 02 Two make up classes on Week 01 :O Monday, 8 August 2016, 6.30-8.30pm, SR1 Wednesday, 10 August 2016, 6.30-8.30pm, SR1  Mid-term Test @ lecture venue Tuesday, 4 October 2016, using lecture time  Final Assessment (venue TBA) Thursday, 24 November 2016, AM CS4234 Important Dates

16  Grading 20% Problem Sets 15%Mini Project 5%Tutorial Attendance + Participation Level 25% Mid-term Test 35% Final Assessment  Problem Sets –4 sets (approximately every 2-3 weeks, 5% each) –Mix of algorithm design, analysis, and/or implementation (using Online Judges :O) CS4234 Grading

17  Mini-Project –Small project, likely individual –Idea: To put together some of the different ideas we have used in the class –Time scale: Last 3-4 weeks of the semester –15%  Tutorial Attendance & Participation –5%, bell curve system, i.e. more active in class = more points CS4234 Grading

18  Released Today PS1: Released today but will not due until end of Week 03, so that you can use this information to retain/drop CS4234 CS4234 Problem Sets

19  Problem Set Grading Simple scheme (some? with help of Online Judge): 5 : Perfect 4 : Excellent, minor errors 3 : Satisfactory, mostly right 2 : Some mistakes 1 : Many mistakes / poorly written 0 : Mostly wrong / no submission CS4234 Problem Sets

20  What to submit (online judge version): C++ or Java code that solves the optimization problem(s) being discussed Write additional comments inside source code (only the last submitted code is graded): 1.Summary of the coded algorithm in English 2.If still not AC(cepted) nearing the deadline, write a "proof of correctness" (hopefully your non AC is just due to coding bug) and performance analysis (hopefully your TLE is just due to constant factor weakness) CS4234 Problem Sets

21  What to submit (paper version): Concise and precise answers: Solutions should be rigorous, containing all necessary detail, but no more Algorithm descriptions consist of: 1.Summary of results/claims 2.Description of algorithm in English 3.Pseudocode, if helpful 4.Worked example of algorithm 5.Diagram / picture 6.Proof of correctness and performance analysis CS4234 Problem Sets

22  How to draw (graph) pictures? By hand: Either submit hardcopy, or scan, Or take a picture with your phone! Or use a tablet / iPad… Digitally: 1. VisuAlgo (graph) drawing feature 2. Excel or Powerpoint (hmmm) 3. ??? CS4234 Problem Sets

23  Policy on plagiarism: Do your work yourself: Your submission should be unique, unlike anything else submitted, on the web, etc You can discuss with other students, but…: 1. Discuss only general approach and techniques 2. Do not take notes during such discussions 3. Code/write up solution on your own 4. List all collaborators in your submission Do not search (or ask for) for solutions on the web: Use web to learn techniques and to review material from class; students who ask CS4234 stuffs in StackOverflow, Quora etc will be punished CS4234 Problem Sets

24  Policy on plagiarism: Penalized severely: First offense: Minimum of one letter grade lost on final grade for class (or referral to SoC disciplinary committee) Second offense: F for the class and/or referral to SoC disciplinary committee Do not copy/compare solutions! PS: Do not store your coded solutions in public repository (e.g. GitHub or ideone.com) with public setting  CS4234 Problem Sets

25 Introduction to Algorithms –Cormen, Leiserson, Rivest, Stein –Strongly Recommended… Textbooks

26 Algorithm Design –Kleinberg and Tardos –Recommended… Textbooks

27 Competitive Programming 3 –Steven and Felix Halim –Only a subset of these are relevant (especially the implementation side)… Textbooks

28  Topics (tentative, can still change) Introduction to Combinatorial Optimization Vertex Cover, Set Cover, Steiner Tree, TSP Linear Programming LPs, Relaxations, Rounding Flows and Matching Maximum Flow, (Bipartite) Matching Local Search Gradient Descent, Meta-heuristics CS4234 Topics


Download ppt "CS4234 Optimiz(s)ation Algorithms Welcome!. Optimization Algorithms (we will use ‘z’) –http://www.comp.nus.edu.sg/~stevenha/cs4234.htmlhttp://www.comp.nus.edu.sg/~stevenha/cs4234.html."

Similar presentations


Ads by Google