An empirical estimation for time and memory algorithm complexities: newly developed R package

When an algorithm or a program runs on a computer, it requires some resources. The complexity of an algorithm is the measure of the resources, for some input. These complexities are usually space and time. The subject of the empirical computational complexity has been studied in the research. This article introduces GuessCompx which is an R package that performs an empirical estimation on the time and memory complexities of an algorithm or a function, and provides a reliable, convenient and simple procedure for estimation process. It tests multiple increasing-sizes samples of the user’s data and attempts to fit one of seven complexity functions: O(N), O(Nˆ2), O(log(N)) , etc. In addition, based on the best fit procedure using leave one out-mean squared error (LOO-MSE), it predicts the full computation time and memory usage on the whole dataset. Together with this results, a plot and a significance test are returned. Complexity is assessed with regard to the user’s actual dataset through its size (and no other parameter). This article provides several examples demonstrating several cases (e.g., distance function, time series and custom function) and optimal parameters tuning.

[1]  Wei-Chiang Hong,et al.  SVR with Hybrid Chaotic Immune Algorithm for Seasonal Load Demand Forecasting , 2011 .

[2]  Qihui Wu,et al.  A survey of machine learning for big data processing , 2016, EURASIP Journal on Advances in Signal Processing.

[3]  You Yang,et al.  Experimental study on the five sort algorithms , 2011, 2011 Second International Conference on Mechanic Automation and Control Engineering.

[4]  Laith Mohammad Abualigah,et al.  Unsupervised text feature selection technique based on hybrid particle swarm optimization algorithm with genetic operators for the text clustering , 2017, The Journal of Supercomputing.

[5]  Harsh Sadawarti,et al.  Hybrid Algorithm of Cuckoo Search and Particle Swarm Optimization for Natural Terrain Feature Extraction , 2015 .

[6]  Laith Mohammad Abualigah,et al.  A new feature selection method to improve the document clustering using particle swarm optimization algorithm , 2017, J. Comput. Sci..

[7]  Laith Abualigah,et al.  Multi-verse optimizer algorithm: a comprehensive survey of its results, variants, and applications , 2020, Neural Computing and Applications.

[8]  Zichen Zhang,et al.  Electric load forecasting by complete ensemble empirical mode decomposition adaptive noise and support vector regression with quantum-based dragonfly algorithm , 2019, Nonlinear Dynamics.

[9]  A. D. Ghare,et al.  Computer Modeling for the Operation Optimization of Mula Reservoir, Upper Godavari Basin, India, Using the Jaya Algorithm , 2019, Sustainability.

[10]  Deepak Kumar Sharma,et al.  Predicting the Algorithmic Time Complexity of Single Parametric Algorithms Using Multiclass Classification with Gradient Boosted Trees , 2018, 2018 Eleventh International Conference on Contemporary Computing (IC3).

[11]  Gerhard J. Woeginger,et al.  Space and Time Complexity of Exact Algorithms: Some Open Problems (Invited Talk) , 2004, IWPEC.

[12]  Zichen Zhang,et al.  A Hybrid Seasonal Mechanism with a Chaotic Cuckoo Search Algorithm with a Support Vector Regression Model for Electric Load Forecasting , 2018 .

[13]  Xin Yao,et al.  Drift analysis and average time complexity of evolutionary algorithms , 2001, Artif. Intell..

[14]  Ian Chivers,et al.  An Introduction to Algorithms and the Big O Notation , 2015 .

[15]  Laith Mohammad Abualigah,et al.  Feature Selection and Enhanced Krill Herd Algorithm for Text Document Clustering , 2018, Studies in Computational Intelligence.

[16]  Mikkel T. Jensen,et al.  Reducing the run-time complexity of multiobjective EAs: The NSGA-II and other algorithms , 2003, IEEE Trans. Evol. Comput..

[17]  Leslie G. Valiant,et al.  The Complexity of Computing the Permanent , 1979, Theor. Comput. Sci..

[18]  John B. Anderson,et al.  Sequential Coding Algorithms: A Survey and Cost Analysis , 1984, IEEE Trans. Commun..

[19]  Simon Goldsmith,et al.  Measuring empirical computational complexity , 2007, ESEC-FSE '07.

[20]  Godwin C. Ovuworie,et al.  Mathematical Programming: Structures and Algorithms , 1979 .

[21]  Yang Zhang,et al.  Novel chaotic bat algorithm for forecasting complex motion of floating platforms , 2019, Applied Mathematical Modelling.

[22]  Maël Pégny,et al.  How to Make a Meaningful Comparison of Models: The Church–Turing Thesis Over the Reals , 2016, Minds and Machines.

[23]  Amaury Pouly,et al.  A Survey on Analog Models of Computation , 2018, Theory and Applications of Computability.

[24]  Wang Min Analysis on Bubble Sort Algorithm Optimization , 2010, 2010 International Forum on Information Technology and Applications.

[25]  Wei-Chiang Hong,et al.  Electric Load Forecasting by Hybrid Self-Recurrent Support Vector Regression Model With Variational Mode Decomposition and Improved Cuckoo Search Algorithm , 2020, IEEE Access.