Statistical analysis system for complex algorithms

Client and challenge

Theoretical estimates of the complexity of algorithms are inapplicable in practice if they rely on the latent properties of objects: numerical characteristics that become available only after the construction of the desired object. In such a situation, one of the variants of the empirical approach seems promising — carrying out computational experiments and constructing, on the basis of processing their results, absolute and relative statistical estimates of the execution time of competing algorithms. For a scientific project of the SPIIRAS laboratory, it was required to create a tool that allows to perform empirical estimates of competing algorithms for constructing algebraic Bayesian networks.

Technologies and solutions

To carry out statistical experiments, a complex of programs and unit tests in C# was implemented: a data generator for experiments and an analyzer of the results of experiments. Numerical results were written to the output file and visualized.

Results

The visualization of the obtained statistics and their analysis made it possible to reveal the competitive advantages of the algorithms used to construct the secondary structures of algebraic Bayesian networks. The statistical comparison algorithm has been generalized to any other competing algorithms. The research results were published in academic journals and presented at Russian and international conferences, and also formed the basis of my master's thesis.

Screenshots

Visualizing of algorithms speed
Visualizing of algorithms speed
Visualizing of algorithms speed
Visualizing of algorithms speed
Visualizing of algorithms speed
Visualizing of algorithms speed
Distribution visualization
Distribution visualization
Histogram visualization
Histogram visualization
Two-dimensional graphic
Two-dimensional graphic
Two-dimensional graphic with a frame
Two-dimensional graphic with a frame
Two-dimensional graphic with a frame
Two-dimensional graphic with a frame