Everything about Algorithm
Finite sequence of instructions
In mathematics and computer science, an algorithm is a finite sequence of mathematically rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing calculations and data processing. More advanced algorithms can use conditionals to divert the code execution through various routes and deduce valid inferences, achieving automation eventually. Using human characteristics as descriptors of machines in metaphorical ways was already practiced by Alan Turing with terms such as "memory", "search" and "stimulus". Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: AlgorithmA 5-minute orientation
- Skim a recent paper: A Review of Yolo Algorithm DevelopmentsInfluential work since 2022
- Pick up a classic book: The art of computer programmingThe most-reprinted book on the subject
- Read the landmark paper: A fast and elitist multiobjective genetic algorithm: NSGA-IICited 45,248 times
- Go sideways: Theory of computationA closely related topic
- Go sideways: Church–Turing thesisA closely related topic
📖 Definitions
Noun A collection of ordered steps that solve a mathematical problem. A precise step-by-step plan for a computational procedure that possibly begins with an input value and yields an output value in a finite number of steps.
Noun A flow chart illustrating a decision-making process for human users, especially health care professionals.
Noun Calculation with Arabic numerals; algorism.
Noun A software system that makes decisions for end users on a platform; the algorithmic curation system on social media feeds; the personalized feed itself.
🏆 Landmark papers (most cited)
A fast and elitist multiobjective genetic algorithm: NSGA-II
Maximum Likelihood from Incomplete Data Via the EM Algorithm
IQ-TREE: A Fast and Effective Stochastic Algorithm for Estimating Maximum-Likelihood Phylogenies
SPAdes: A New Genome Assembly Algorithm and Its Applications to Single-Cell Sequencing
An Algorithm for Least-Squares Estimation of Nonlinear Parameters
A Simple, Fast, and Accurate Algorithm to Estimate Large Phylogenies by Maximum Likelihood
The Whale Optimization Algorithm
A Fast Learning Algorithm for Deep Belief Nets
🆕 Influential since 2022
A Review of Yolo Algorithm Developments
Particle Swarm Optimization Algorithm and Its Applications: A Systematic Review
Dung beetle optimizer: a new meta-heuristic algorithm for global optimization
Reptile Search Algorithm (RSA): A nature-inspired meta-heuristic optimizer
Honey Badger Algorithm: New metaheuristic algorithm for solving optimization problems
📚 Books worth reading
The art of computer programmingDonald Knuth · 1922
Introduction to AlgorithmsThomas H. Cormen, Charles E. Leiserson · 1990
Weapons of Math DestructionCathy O'Neil · 2016
Graphs, algorithms, and optimizationWilliam Kocay · 2004
Algorithms to Live ByBrian Christian, Tom Griffiths · 2016
Hello worldHannah Fry · 2018
The algorithm design manualSteven S. Skiena · 1998
Foundations of machine learningMehryar Mohri · 2012
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Theory of computation In theoretical computer science and mathematics, the theory of computation is the branch that deals with what problems can be solved on a model of computation…
- Church–Turing thesis In computability theory, the Church–Turing thesis is a thesis about the nature of computable functions. It states that a function on the natural numbers…
- Halting problem In computability theory, the halting problem is the decision problem of, given an arbitrary computer program and an input, determining whether said program…
- Algorithm characterizations Algorithm characterizations are attempts to formalize the word algorithm. Algorithm does not have a generally accepted formal definition. Researchers are…
- Hypercomputation Hypercomputation or super-Turing computation is a set of hypothetical models of computation that can provide outputs that are not Turing-computable. For…
- Effective method In metalogic, mathematical logic, and computability theory, an effective method or effective procedure is a finite-time, deterministic procedure for solving…
- Computability theory Computability theory, also known as recursion theory, is a branch of mathematical logic, computer science, and the theory of computation that originated…
- History of the Church–Turing thesis The history of the Church–Turing thesis ("thesis") involves the history of the development of the study of the nature of functions whose values are effectively…