Certifying algorithms Algorithms and Networks Certifying algorithms What
- Slides: 25
Certifying algorithms Algorithms and Networks
Certifying algorithms • What is it? • Examples: – Euler tour – Bipartite graphs – Flow – Planarity 2 Certifying algorithms
Certifying algorithms • Type of algorithm design, introduced by Mehlhorn and others • No formal definition here 3 Certifying algorithms
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? 4 Certifying algorithms
Example • Euler tour algorithm • Input: Graph G=(V, E) • Output: – An Euler tour if it exists – “NO”, if there is no Euler tour 5 Certifying algorithms
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? 6 Certifying algorithms
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 7 Certifying algorithms
Euler tour • Certificate for Euler tour program • YES: the Euler tour itseld • NO: … 8 Certifying algorithms
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 9 Certifying algorithms
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 10 Certifying algorithms
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? 11 Certifying algorithms
Bipartite certificate • Yes: bipartition • No: odd cycle in G 12 Certifying algorithms
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 13 Certifying algorithms
Flow • Input: flow network (G, s, t, c) • Output: maximum flow f • So, what is a certificate? 14 Certifying algorithms
Certificate for flow • Pair: – The flow function f – And, the corresponding maximum cut • See (the proof of) the max flow min cut theorem 15 Certifying algorithms
Bipartite Matching • Input: Bipartite graph G=(V U W, E) • Output: A maximum matching in G • What is a certificate for the matching? 16 Certifying algorithms
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 17 Certifying algorithms
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 18 Certifying algorithms
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 19 Certifying algorithms
Subdivision • Add vertices on edges 20 Certifying algorithms
Wagner Theorem (Wagner) A graph is planar, if and only if it does not contain K 5 or K 3, 3 as a minor 21 Certifying algorithms
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 22 Certifying algorithms
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. 23 Certifying algorithms
Certifying algorithm for planarity • Either output Schnyder embedding OR • Output minor 24 Certifying algorithms
Conclusions • • 25 Certifying algorithms Useful for reliability of software Some examples … Implemented in some packages nowadays, e. g. , LEDA Certifying algorithms
- Death certification geeky medics
- Virtual and datagram networks
- Basestore iptv
- Routing algorithms in computer networks
- Euler
- Wired and wireless media
- Constrained nodes and constrained networks
- Constrained nodes and constrained networks
- Visualizing and understanding recurrent networks
- Visualizing and understanding convolutional neural networks
- Measurement and analysis of online social networks
- Integrated and differentiated services in computer networks
- Iec 61850 communication networks and systems in substations
- Game theory in wireless and communication networks
- Conventions of a news report
- Star backbone and three ring networks
- Aon and aoa network diagrams examples pdf
- Deep neural networks and mixed integer linear optimization
- Cs 231 n
- Error detection and correction in computer networks
- Are countrywide and worldwide networks
- Bit stuffing and byte stuffing in computer networks
- Bit stuffing example in computer networks
- Arp rarp protocol
- Access networks and physical media
- Scada transport over llns with map-t