cs5234 combinatorial and graph algorithms n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
CS5234 Combinatorial and Graph Algorithms PowerPoint Presentation
Download Presentation
CS5234 Combinatorial and Graph Algorithms

Loading in 2 Seconds...

play fullscreen
1 / 33

CS5234 Combinatorial and Graph Algorithms - PowerPoint PPT Presentation


  • 114 Views
  • Uploaded on

CS5234 Combinatorial and Graph Algorithms. Welcome!. Combinatorial & Graph Algorithms http:// www.comp.nus.edu.sg/~cs5234/ Instructor: Seth Gilbert Office: COM2-204 Office hours: by appointment. CS5234 Overview. Combinatorial and Graph Algorithms. Algorithms. What is an algorithm ?

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'CS5234 Combinatorial and Graph Algorithms' - kylee-wallace


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide2

Combinatorial & Graph Algorithms

http://www.comp.nus.edu.sg/~cs5234/

  • Instructor: Seth Gilbert

Office: COM2-204

Office hours: by appointment

CS5234 Overview

slide4
Algorithms

What is an algorithm?

  • Set of instructions for solving a problem

“First, wash the tomatoes.”

“Second, peel and cut the carrots.”

“Third, mix the olive oil and vinegar.”

“Finally, combine everything in a bowl.”

  • Finite sequence of steps
  • Unambiguous
  • English, Chinese, pseudocode, Java, etc.
slide6
Combinatorial Optimization

Optimization:

Find the minimum/maximum…

slide7
Combinatorial Optimization

Optimization:

Find the minimum/maximum:

Discrete: a collection of items

slide8
Combinatorial Optimization

Optimization:

Find the minimum/maximum:

Discrete: a collection of items

Combinatorial: a collection of items generated by counting, combining, and enumerating.

slide9
Combinatorial Optimization

Optimization:

Find the minimum/maximum:

Discrete: a collection of items

Combinatorial: a collection of items generated by counting, combining, and enumerating.

Examples:

Graphs

Matroids

Similar structures…

slide10
Combinatorial Optimization

Find the “best” item in a large set of items:

Problem Set of items Size Difficulty

Searching List of integersLinear Easy

Shortest paths All paths in a graph Exponential Easy

Minimum spanning tree All spanning trees Exponential Easy

Steiner tree All steiner trees Exponential Hard

Travelling salesman All possible tours Exponential Hard

Matching All possible matchings Exponential Easy

Bipartite vertex cover All possible covers Exponential Easy

Vertex cover All possible covers Exponential Hard

Maximum clique All possible subsets Exponential Very Hard

slide11
Combinatorial Optimization

Find the “best” item in a large set of items:

Problem Difficulty

Maintain student records Easy

Data compression Easy

Program halting problem Impossible

VLSI chip layout Hard

Exam timetable scheduling Hard

Job assignment problem Easy

Computer deadlock problem Easy

Finding patterns in a database Easy

slide12
Combinatorial Optimization

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

slide14

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

slide15

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

slide16

“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

slide17

“... pleasure has probably been the main goal all along.

But I hesitate to admit it, because computer scientists want to maintain their image as hard-working individuals who deserve high salaries... ”

-- D. E. Knuth

slide18

“... pleasure has probably been the main goal all along.

But I hesitate to admit it, because computer scientists want to maintain their image as hard-working individuals who deserve high salaries... ”

-- D. E. Knuth

slide19
Algorithms for Combinatorial Optimization

Target students:

  • Beginning graduate students
  • Advanced (4th year) undergraduates
  • Anyone planning to do research in algorithmic design

Prerequisites:

  • CS3230 (Analysis of Algorithms), or equivalent
  • Mathematical maturity
slide20
Algorithms for Combinatorial Optimization

You must already know these:

  • Data Structures (with analyses)
    • Stacks, Queues, Lists,
    • Binary search trees, balanced trees,
    • Heaps and priority queues
  • Algorithm Design Paradigms (with Analysis)
    • Standard sorting and searching algorithms
    • Graph algorithms: DFS, BFS,
    • Shortest Path Algorithms, MST Algorithms
    • Greedy Algorithms, Divide-and-Conquer
slide21
Algorithms for Combinatorial Optimization

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, Shortest Path & MST algorithms

slide22
CS5234 Overview
  • Mid-term exam

October 7 In class

  • Final exam

December 2 Exams will be graded and returned.

slide23
CS5234 Overview
  • Grading

40% Problem sets

25% Mid-term exam

35% Final exam

  • Problem sets
    • 6-7 sets (about every 1-2 weeks)
    • A few may have programming components (C++).
slide24
CS5234 Overview
  • Last problem set

Small project

Idea: put together some of the different ideas we have used in the class.

Time scale: last 2-3 weeks of the semester.

slide25
CS5234 Overview
  • Problem sets released now

PS0: Covers background knowledge. Do not submit.

PS1: Routine problems --- easy practice. Do not submit.

Standard problems --- to be submitted.

Advanced problems --- for a challenge/fun. Do not submit.

slide26
CS5234 Overview
  • Problem set grading

Simple scheme:

2 : excellent, near perfect answer

1 : mostly right

0 : mostly wrong / not handed in

-1 : utter nonsense

slide27
CS5234 Overview
  • What to submit:

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.

slide28
CS5234 Overview
  • How to draw pictures?

By hand:

Either submit hardcopy, or scan, or take a picture with your phone!

Or use a tablet / iPad…

Digitally: 1. xfig (ugh) 2. OmniGraffle (mac) 3. Powerpoint (hmmm) 4. ???

slide29
CS5234 Overview
  • Policy on plagiarism:

Do your work yourself: Your submission should be unique, unlike anything else submitted, on the web, etc.

Discuss with other students: 1. Discuss general approach and techniques. 2. Do not take notes. 3. Spend 30 minutes on facebook (or equiv.). 4. Write up solution on your own. 5. List all collaborators.

Do not search for solutions on the web: Use web to learn techniques and to review material from class.

slide30
CS5234 Overview
  • 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.

Do not copy/compare solutions!

slide31
Textbooks

Introduction to Algorithms

  • Cormen, Leiserson, Rivest, Stein
  • Recommended…
slide32
Textbooks

Algorithm Design

  • Kleinberg and Tardos
  • Recommended…
slide33
CS5234 Overview
  • Topics (tentative, TBD)

Introduction to combinatorial optimization Vertex cover, set cover, Steiner tree, TSP

Flows and matching Maximum flow, bipartite matching

Planar GraphsFaster algorithms…

Linear programming LPs, duality, relaxations, rounding