Results 1 
6 of
6
Certifying Algorithms
, 2010
"... A certifying algorithm is an algorithm that produces, with each output, a certificate or witness (easytoverify proof) that the particular output has not been compromised by a bug. A user of a certifying algorithm inputs x, receives the output y and the certificate w, and then checks, either manual ..."
Abstract

Cited by 10 (2 self)
 Add to MetaCart
A certifying algorithm is an algorithm that produces, with each output, a certificate or witness (easytoverify proof) that the particular output has not been compromised by a bug. A user of a certifying algorithm inputs x, receives the output y and the certificate w, and then checks, either manually or by use of a program, that w proves that y is a correct output for input x. In this way, he/she can be sure of the correctness of the output without having to trust the algorithm. We put forward the thesis that certifying algorithms are much superior to noncertifying algorithms, and that for complex algorithmic tasks, only certifying algorithms are satisfactory. Acceptance of this thesis would lead to a change of how algorithms are taught and how algorithms are researched. The widespread use of certifying algorithms would greatly enhance the reliability of algorithmic software. We survey the state of the art in certifying algorithms and add to it. In particular, we start a
Algorithm Engineering
 The Algorithmics Column (J. Diaz), Bulletin of the EATCS
, 2003
"... Algorithm Engineering is concerned with the design, analysis, implementation, tuning, debugging and experimental evaluation of computer programs for solving algorithmic problems. It provides methodologies and tools for developing and engineering e#cient algorithmic codes and aims at integrating a ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
Algorithm Engineering is concerned with the design, analysis, implementation, tuning, debugging and experimental evaluation of computer programs for solving algorithmic problems. It provides methodologies and tools for developing and engineering e#cient algorithmic codes and aims at integrating and reinforcing traditional theoretical approaches for the design and analysis of algorithms and data structures.
Contractions, Removals and How to Certify 3Connectivity in Linear Time
"... One of the most noted construction methods of 3vertexconnected graphs is due to Tutte and based on the following fact: Any 3vertexconnected graph G = (V, E) on more than 4 vertices contains a contractible edge, i. e., an edge whose contraction generates a 3connected graph. This implies the exis ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
One of the most noted construction methods of 3vertexconnected graphs is due to Tutte and based on the following fact: Any 3vertexconnected graph G = (V, E) on more than 4 vertices contains a contractible edge, i. e., an edge whose contraction generates a 3connected graph. This implies the existence of a sequence of edge contractions from G to the complete graph K4, such that every intermediate graph is 3vertexconnected. A theorem of Barnette and Grünbaum gives a similar sequence using removals on edges instead of contractions. We show how to compute both sequences in optimal time, improving the previously best known running times of O(V  2) to O(E). This result has a number of consequences; an important one is a new lineartime test of 3connectivity that is certifying; finding such an algorithm has been a major open problem in the design of certifying algorithms in the last years. The test is conceptually different from wellknown lineartime 3connectivity tests and uses a certificate that is easy to verify in time O(E). We show how to extend the results to an optimal certifying test of 3edgeconnectivity. 1
Certifying 3Connectivity in Linear Time
"... One of the most noted construction methods of 3vertexconnected graphs is due to Tutte and based on the following fact: Every 3vertexconnected graph G on more than 4 vertices contains a contractible edge, i. e., an edge whose contraction generates a 3connected graph. This implies the existence of ..."
Abstract
 Add to MetaCart
One of the most noted construction methods of 3vertexconnected graphs is due to Tutte and based on the following fact: Every 3vertexconnected graph G on more than 4 vertices contains a contractible edge, i. e., an edge whose contraction generates a 3connected graph. This implies the existence of a sequence of edge contractions from G to K4 such that every intermediate graph is 3vertexconnected. A theorem of Barnette and Grünbaum yields a similar sequence using removals of edges instead of contractions. We show how to compute both sequences in optimal time, improving the previously best known running times of O(V  2) to O(E). Based on this result, we give a lineartime test of 3connectivity that is certifying; finding such an algorithm has been a major open problem in the design of certifying algorithms in the last years. The 3connectivity test is conceptually different from wellknown lineartime tests of 3connectivity; it uses a certificate that is easy to verify in time O(E). We also provide an optimal certifying test of 3edgeconnectivity. 1