An algorithm is a series of instructions, either in the form of pseudo-code or in a computer programming language, which aim at solving a problem or at performing some sort of computation. Algorithms are therefore strongly connected to various fields of mathematics and physics, such as probability and statics, calculus and linear algebra. Algorithms apply to all categories of scientific fields and knowledge domains. Combining algorithms with machine learning (AI), artificial intelligence (AI), AI accelerator hardware (NPU chips) and quantum computing, some of humanity's most difficult and unresolved problems could be tackled, including problems in the field of quantum physics and bioinformatics.
Algorithms can be classified based on different classification factors. Some of the most well-known algorithm types are the following:
- Brute force algorithms
- Recursive algorithms
- Divide and conquer
- Dynamic programming
- Greedy
- Backtracking
- Randomized algorithms
- Sorting algorithms
- Searching algorithms
- Graph Algorithms
- Hashing algorithms
- Machine learning (ML) algorithms
- Supervised learning (classification, regression, forecasting).
- Examples of supervised learning algorithms include logistic regression and k-nearest neighbor (classification problems).
- Decision trees and random forest algorithms can be used for either classification or regression problems.
- Support-vector machine (SVM) algorithms can be used for classification problems.
- Unsupervised learning (clustering, dimension reduction)
- Semi-supervised learning (use both labelled and unlabelled data)
- Reinforcement learning (Artificial Neural Networks - ANN)
- Deep learning
- Convolutional Neural Networks (CNNs)
- Generative Adversarial Networks (GANs)
- Long Short Term Memory Networks (LSTMs)
- Multilayer Perceptrons (MLPs)
- Deep Belief Networks (DBNs)
- Restricted Boltzmann Machines( RBMs)
- Autoencoders
- Recurrent Neural Networks (RNNs)
- Radial Basis Function Networks (RBFNs)
- Self Organizing Maps (SOMs)
- Supervised learning (classification, regression, forecasting).