Skip to main content Accessibility help
×
Home
  • Print publication year: 2017
  • Online publication date: May 2017

5 - Sublinear Algorithms

from Part II - Methodology and Mathematical Background

Summary

Introduction

Sublinear algorithms were initially developed in the theoretical computer science community. The sublinear algorithm can be seen as one further classification of the approximation algorithm. It studies the classic trade-off between algorithm processing time and algorithm output quality.

In a conventional approximation algorithm, the algorithm can output an approximate result that deviates from the optimal result (the deviation is bounded), so that the algorithm processing time can become faster. One hidden implication of the approximation algorithm is that the approximate result is 100% guaranteed within the bound. In a sublinear algorithm, such an implication is relaxed. More specifically, a sublinear algorithm outputs an approximate result that deviates from the optimal result (the deviation is bounded) for a (usually) majority of the time. As a concrete example, a sublinear algorithm usually says that the output of the algorithm differs from the optimal solution by at most 0.1 (the bound) at least 95% of the time (the confidence).

From the theoretical research point of view, sublinear algorithms become a new category of approximation algorithms. From the practical point of view, sublinear algorithms provide two controlling parameters for the user in making trade-offs, while approximation algorithms have only one controlling parameter.

Sublinear algorithms are developed based on random and probabilistic techniques. Note, however, that the guarantee of a sublinear algorithm is on the individual outputs of this algorithm. In this sense, the sublinear algorithm differs from stochastic techniques, which analyze the mean and variance of a system in a steady state. For example, a typical queuing theory result is that the expected waiting time is 100 seconds.

In the theoretical computer sciences in the past few years, there have been many studies on sublinear algorithms. Sublinear algorithms have been developed for many classic computer science problems, such as finding the frequently element, finding distinct elements, and others; and for graph problems, such as finding the minimum spanning tree, and others; and for geometry problems, such as finding the intersection of two polygons, and others. Sublinear algorithms can be broadly classified into sublinear time algorithms, sublinear space algorithms, and sublinear communication algorithms, where the amount of time, storage space, or communications needed is o(N) with N as the input size.