1 algorithms and networks algorithms and networks 2015/2016 hans l. bodlaender johan m. m. van rooij

27
1 Algorithms and Networks Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

Upload: jocelin-gray

Post on 17-Jan-2016

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Algorithms and Networks Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

1

Algorithms and Networks

Algorithms and Networks 2015/2016Hans L. Bodlaender

Johan M. M. van Rooij

Page 2: 1 Algorithms and Networks Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

2

Teacher 1: Johan van Rooij

[email protected] ([email protected])

Room: BBG 507Office hours: Tuesday 9:00-17:00

For any questions or whatsoever,please contact me directly after the lecture.

Rest of the week, working at CQM.

Page 3: 1 Algorithms and Networks Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

3

Teacher 2: Hans Bodlander

[email protected]

Room: BBG 503Office hours: Thursday 15:00-17:00- Or see if I’ve time- Or make appointment by email

Page 4: 1 Algorithms and Networks Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

4

What are we going to do today?

Part 1: Algorithms and Networks: What and Why? Course organization. Euler tour example.

Part 2: Lecture: Stable marriage problem.

Page 5: 1 Algorithms and Networks Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

5

WHAT AND WHY?Algorithms and Networks

Page 6: 1 Algorithms and Networks Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

6

GraphsStarted in 1736 with paper by Euler: bridges of Königsberg.

Can we make a walk where we cross each bridge once (Euler-tour)?

A BC

D E

F

Page 7: 1 Algorithms and Networks Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

7

Networks

Graphs are a (mathematical) model for many things in the real world: Road networks, electrical networks, computer networks,

organizational diagrams, social networks, structure of software, data base diagrams, …

Often the real world problem has additional information: the network is graph with some extra info Weights, lengths, distances, costs, time, … Labels, sizes, names, …

Page 8: 1 Algorithms and Networks Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

8

Graph/network problems

Often, we want to compute something on the network, motivated from the application (or theoretical curiosity).

Examples: Shortest path from A to B. Maximum flow from A to B. Does the graph have an Euler tour (all edges exactly once). Does the graph have a Hamiltonian cycle (all nodes exactly

once).

How good and fast can we let the computer do this computation? Theoretical questions of algorithm design. If fast algorithms exists, of high practical value.

Page 9: 1 Algorithms and Networks Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

9

Model and algorithm

1. Real-world problem2. Mathematical model of real-world problem3. Algorithm for mathematical model4. Solution produced by the algorithm5. Translation of solution to solution for real-world problem6. Check that the translated solution makes sense for the real-

world problem.

If you do this for real problems for real customers, step 6 is often followed by designing a better model and returning to step 2.

This course is on steps 2 and 3: modelling and algorithms.

Page 10: 1 Algorithms and Networks Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

10

Algorithmic techniques

Combinatorial algorithms Mathematical programming

(Integer) linear programming. Quadratic programming. Non-linear programming.

Pruning an exhaustive search tree Branch and bound. Constraint programming.

Heuristics. Greedy heuristics Local search (iterative improvement, simulated annealing, tabu

search, evolutionary algorithms, …) …

Page 11: 1 Algorithms and Networks Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

11

Algorithms and complexity

Algorithms Exact, heuristic, approximation, special cases, … Polynomial time, exponential time, … Polynomial space, exponential space, … Algorithms that parallelize well, or not, … …

Complexity (asymptotic – O-notation) Intrinsic difficulty of a problem. NP-completeness, other complexity classes. Fixed parameter tractability. …

Page 12: 1 Algorithms and Networks Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

12

COURSE ORGANISATIONAlgorithms and Networks

Page 13: 1 Algorithms and Networks Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

13

Algorithms and networks

2 lectures per week Tuesday 9:00 – 10:45 by Johan van Rooij Thursday 13:15 – 15:00 by Hans Bodlaender

Approximately 8 sets of exercises Two weeks time for handing them in

2 partial exams

See the course website (www.cs.uu.nl/docs/vakken/an) for Important updates on the course Powerpoint files Exercises Schedules Dates, etc

Page 14: 1 Algorithms and Networks Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

14

Purpose of course

Knowing and being able to use and apply… Important algorithmic techniques. Important algorithms and their applications. Modelling. Analysis of algorithms.

In particular for combinatorial problems involving graphs and networks.

Page 15: 1 Algorithms and Networks Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

15

Topics of course (1)

Paths, flows, matchings, … Stable marriage Shortest paths Travelling salesman problem Maximum flow Minimum cost flow Matching (bipartite, general graphs)

Hard problems, …

Page 16: 1 Algorithms and Networks Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

16

Topics of course (2)

Paths, flows, matchings, … Hard problems, …

NP-completeness and complexity Parameterized complexity Exact expontial-time algorithms Kernelization Treewidth Approximation algorithms To be decided

Page 17: 1 Algorithms and Networks Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

17

Final grade

Final Grade = (Exercise set average) * 0.3 + (Exam 1) * 0.35 + (Exam 2) * 0.35

Assuming: Exercise sets at least 6 Average exams at least 5

Details see webpage.

Page 18: 1 Algorithms and Networks Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

18

Studying this course

Visit the lectures! Materials are scattered through literature: often hard to study

at home if you were not at the course. Make notes! If you are not at the course: borrow/copy notes of other

students. Next to the lectures, you learn the most from the exercises.

Finish them before the corresponding exam, even when the deadline is later.

Topics in exercises that are not in the lectures are exam content!

Some books are recommended, but not necessary. Use the powerpoints and pdf’s on the website.

Page 19: 1 Algorithms and Networks Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

19

Graded exercise sets

8 sets (maybe 7 or 9) You have two weeks for each set. Every week a new exercise set will be handed out.

Hand in: By e-mail: [email protected],

include [AN1], [AN2] etc in the header of your e-mail. Or, on paper during the lectures in the appropriate folder. Or, on paper in Hans’ mailbox on the 5th floor of the BBG. Deadline: Monday 23:59 hours. After the deadline: grade = 0 (exception: joker rule)

Dutch or English Write clear, legible, etc.

Unreadable, messy: grade = 0

Page 20: 1 Algorithms and Networks Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

20

On the exercise sets

Lots of work..., but you learn a lot...

Working in pairs: Both should have worked on and have understood all parts of

what is handed in. Allowed to mark parts as been done by one student. Not necessary to always have the same pair. Working alone is also allowed.

Joker rule (write joker on your work or in your e-mail): Twice during the course you can extend your deadline with

three days (Monday 23:59 becomes Thursday 23:59). Miss a third deadline: grade = 0. Unless there are very special circumstances for all missed

deadlines.

Page 21: 1 Algorithms and Networks Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

21

Are there ...

Any questions on the organisation of the course?

Page 22: 1 Algorithms and Networks Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

22

EULER TOUR EXAMPLEAlgorithms and Networks

Page 23: 1 Algorithms and Networks Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

23

Let’s get back to our example

Can we make a walk where we cross each bridge once? Yes!

Can we make a round tour where we cross each bridge once? No!

Why? (next slide)

A BC

D E

F

Page 24: 1 Algorithms and Networks Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

24

Why?

Can we make a walk where we cross each bridge once? Yes: D-E-A-D-C-A-C-F-A-F-B-F-E-B-A-E.

Can we make a round tour where we cross each bridge once? (Eurler tour). No. Why?

Theorem: A connected graph has an Euler tour, if and only if, every vertex in the graph has even degree. If: round trip through an odd degree vertex not possible. Only if...

A BC

D E

F

Page 25: 1 Algorithms and Networks Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

25

If... proof continued

Lemma: If every vertex in a connected graph has even degree, then it has an Euler tour that can be found using the following algorithm:

1. From any starting vertex v build up any tour using unvisited edges until returning to v. It is not possible to get stuck because all vertices have even

degree before and after the tour visits the vertex. Hence the tour can only enter vertices of degree at least 2.

2. While there exists unvisited edges, select a vertex u on the tour with unvisited edges.

3. Start another trail from u, following unused edges until returning to u, merge the two tours and return to step 2. Again we cannot get stuck because of the same reason.

Page 26: 1 Algorithms and Networks Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

26

Euler paths and tours

Theorem: A connected graph has an Euler tour, if and only if, every vertex in the graph has even degree.

Corrolary: A connected graph has an Euler path, if and only if, the graph has 0 or 2 vertices of odd degree.

So we can see directly that ourexample graph has an Euler path.Even without the given solution.

D-E-A-D-C-A-C-F-A-F-B-F-E-B-A-E

A BC

D E

F

Page 27: 1 Algorithms and Networks Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij

27

TIME FOR A BREAK...Algorithms and Networks