HyperAI

Algorithm

An algorithm is an accurate and complete description of a solution to a problem. In mathematics and computer science, it can be viewed as a sequence of specific computational steps. The instructions in the algorithm describe the complete computational process, which means that it can start from an initial state and initial input, go through a series of finite and clearly defined states, and finally generate output and stop at a final state.

In simple terms, an algorithm is a well-defined computational procedure that takes one or a set of values as input and produces one or a set of values as output. In other words, an algorithm is a series of computational steps used to convert input data into output results.

We can also think of an algorithm as a tool for solving a well-specified computational problem. The problem can be described in a general language to specify the required input/output relationship. The corresponding algorithm describes a specific computational process to achieve this input/output relationship.

Algorithm characteristics

An algorithm should have the following five important characteristics:

  • Finiteness: The finiteness of an algorithm means that the algorithm must terminate after executing a finite number of steps;
  • Exactness: Each step of the algorithm must have an exact definition;
  • Input: An algorithm has 0 or more inputs to characterize the initial conditions of the operation object. The so-called 0 input means that the algorithm itself sets the initial conditions;
  • Output: An algorithm has one or more outputs to reflect the results of processing the input data. An algorithm without output is meaningless;
  • Feasibility: Any computational step performed in the algorithm can be decomposed into basic executable operation steps, that is, each computational step can be completed within a finite time.

Algorithm classification

Algorithms can be broadly divided into three categories:

  • Finite deterministic algorithms: These algorithms terminate within a finite period of time.
  • Finite non-deterministic algorithms: These algorithms terminate in finite time.
  • Infinite algorithm: An algorithm that does not terminate because there is no defined termination condition or the defined condition cannot be satisfied by the input data.

Machine Learning Algorithm Direction

  • Regression Algorithm
  • Classification Algorithms
  • Clustering Algorithms