Presentation is loading. Please wait.

Presentation is loading. Please wait.

Certifying algorithms Algorithms and Networks. Certifying algorithms What is it? Examples: –Euler tour –Bipartite graphs –Flow –Planarity Certifying algorithms2.

Similar presentations


Presentation on theme: "Certifying algorithms Algorithms and Networks. Certifying algorithms What is it? Examples: –Euler tour –Bipartite graphs –Flow –Planarity Certifying algorithms2."— Presentation transcript:

1 Certifying algorithms Algorithms and Networks

2 Certifying algorithms What is it? Examples: –Euler tour –Bipartite graphs –Flow –Planarity Certifying algorithms2

3 Type of algorithm design, introduced by Mehlhorn and others No formal definition here Certifying algorithms3

4 Correctness of programs Program: –Input –(Working of program): Hidden to user –Output But... how do we know there is no bug? Why is the program correct? Certifying algorithms4

5 Example Euler tour algorithm Input: Graph G=(V,E) Output: –An Euler tour if it exists –“NO”, if there is no Euler tour Certifying algorithms5

6 Example Euler tour algorithm Input: Graph G=(V,E) Output: –An Euler tour if it exists This, we can check! –“NO”, if there is no Euler tour But how do we know if this answer is correct? Certifying algorithms6

7 Certifying algorithm Program –Input –(Working of program): still hidden to user –Output + proof (certificate) that output is correct! Plus: easy way to check these proofs Certifying algorithms7

8 Euler tour Certificate for Euler tour program YES: the Euler tour itseld NO: … Certifying algorithms8

9 Euler theorem A graph G=(V,E) has an Euler tour, if and only if the following two conditions hold: –Every vertex has even degree –G is connected Certifying algorithms9

10 No-Certificate for Euler tour A vertex of odd degree Or A set of vertices W that forms a connected component –Verify: W has less than n vertices, and all neighbors of all vertices in W belong to W Certifying algorithms10

11 Bipartite graphs A graph G=(V,E) is bipartite if we can partition V into sets X and Y such that each edge in E has one endpoint in X and one endpoint in Y So … what would be a certificate for Bipartiteness? Certifying algorithms11

12 Bipartite certificate Yes: bipartition No: odd cycle in G Certifying algorithms12

13 Algorithm Make a depth first search spanning forest of G Color the vertices on odd levels red and on even levels blue Is there an edge between two vertices of the same color? Then: take the path between these in the tree, and add the edge: odd cycle Certifying algorithms13

14 Flow Input: flow network (G, s, t, c) Output: maximum flow f So, what is a certificate? Certifying algorithms14

15 Certificate for flow Pair: –The flow function f –And, the corresponding maximum cut See (the proof of) the max flow min cut theorem Certifying algorithms15

16 Bipartite Matching Input: Bipartite graph G=(V U W,E) Output: A maximum matching in G What is a certificate for the matching? Certifying algorithms16

17 Certificate for bipartite matching Look at the flow model from bipartite matching, and a minimum cut. You get: A vertex cover C with the property that |C|=|M| –I.e., each edge has one endpoint in C Details on the board Certifying algorithms17

18 Planarity Planar graphs: can be drawn on the plane without crossing edges Many applications! Complicated linear time algorithms for checking planarity –Tarjan, 1976: linear time for checking planarity –Chiba et al, 1985: linear time algorithm that finds a planar embedding Certifying algorithms18

19 Kuratowski Theorem (Kuratowski) A graph is planar, if and only if it does not contain a subgraph that is a subdivision of K 5 or K 3,3 Certifying algorithms19

20 Subdivision Add vertices on edges Certifying algorithms20

21 Wagner Theorem (Wagner) A graph is planar, if and only if it does not contain K 5 or K 3,3 as a minor Certifying algorithms21

22 Certificate for nonplanarity Hundack et al. 1987: linear time algorithm that finds a a subgraph that is a subdivision of K 5 or K 3,3 of a nonplanar graph Certifying algorithms22

23 Certificate for planarity Schnyder 1990: –Finds in O(n) time an embedding of a graph in the plane, such that Each vertex has integer coordinates between 1 and n – 2 Each edge is a straight line One can easily verify that such an embedding is indeed correct. Certifying algorithms23

24 Certifying algorithm for planarity Either output Schnyder embedding OR Output minor Certifying algorithms24

25 Conclusions Certifying algorithms Useful for reliability of software Some examples … Implemented in some packages nowadays, e.g., LEDA Certifying algorithms25


Download ppt "Certifying algorithms Algorithms and Networks. Certifying algorithms What is it? Examples: –Euler tour –Bipartite graphs –Flow –Planarity Certifying algorithms2."

Similar presentations


Ads by Google