The greatest ten algorithms in the 20th Century

Source: Internet
Author: User
Http://blog.csdn.net/v_JULY_v/archive/2011/01/10/6127953.aspx

 

The greatest ten algorithms in the 20th Century

 

Translator: July November January 10, 2011

------------------------------------

References:
The best of the 20th Century: editors name top 10 algorithms.
By Barry A. CIPRA.

Bloggers:
1. In addition to the fast sorting algorithm or the fast Fourier transformation algorithm, the top ten algorithms in the 20th century only need to be slightly understood.
2. This Article is not the latest article. I am only interested in algorithms, so I also translate and study it.
3. I like to study algorithms and write a series of columns.Classic Algorithm Research. For more information, see the link at the end of this article.

====================================

 

Several algorithm masters who have invented the top ten Algorithms

I. 1946 Monte Carlo Method
[1946: John von norann, Stan Ulam, and Nick metropolis, all at the Los Alamos scientific laboratory, cook up the Metropolis algorithm, also known as the Monte Carlo method.]

In 1946, John von norann, Stan Ulam, and Nick metropolis, three scientists at the Las Vegas National Laboratory
Co-invention, called Monte Carlo method.

Its specific definition is:
Draw a square with a one-meter-long side on the square, and draw an irregular shape with a pink stroke inside the square,
How do I calculate the area of this irregular image?
The Monte Carlo method tells us that n (n is a large natural number) soy beans are evenly distributed to the square,
Then count the number of soy beans in this irregular shape, for example, M,
The area of this strange shape is similar to M/N. The larger the N value, the more accurate the calculated value.
Here we want to assume that all beans are on a plane and there is no overlap between them.

The Monte Carlo method can be used to calculate the circumference rate: let the computer randomly generate the number between two 0 and 1 each time to check whether the two real numbers are in the unit.

Incircle. Generate a series of random points and count the points in the unit circle to the total points. (the ratio of the circular area to the square area is Pi: 1, and the PI is the circumference rate.

),
When more random points are obtained (but even if the first four random points of 10 are obtained, the result is only consistent with the circumference rate,
The closer the result is to the circumference rate.

Ii. 1947 simple form Method
[2, 1947: George dantzig, at the RAND Corporation, creates the simplex method for Linear Programming.]

In 1947, grorge dantzig of randcompany invented the simple form method.
Since then, the single pure shape method has become an important cornerstone of linear planning.
The so-called linear planning, simply put, is to give a set of linear (all variables are a power) constraints.
(For example, A1 * X1 + B1 * X2 + C1 * X3> 0), calculate the extreme value of a given target function.

This may seem too abstract, but examples that can be used in reality are not uncommon-for example, for a company, it can

The human and material resources involved in production are limited ("Linear Constraints"), while the company's goal is to maximize profits ("the most objective function is used ").

Linear Planning is not abstract!

As part of operational research, linear planning has become an important tool in the field of management science.
Dantzig's simple form method is an extremely effective method for solving problems similar to linear programming.

3. 1950 Krylov subspace iteration method
[1950: Magnus hestenes, Eduard Stiefel, and Cornelius Lanczos, all from the Institute for numerical analysis at the National Bureau of Standards, initiate the development of Krylov subspace iteration methods.]

1950: at the Institute of Numerical Analysis of the US National Bureau of Standards, Manus hestenes
The Lanczos of Krylov invented the iterative method of Krylov.

The Krylov sub-space iteration method is used to solve the equation, for example, Ax = B. A is an N * n matrix. When n is sufficiently large, the direct calculation becomes very

But the Krylov method cleverly converts it into an iterative form of kxi + 1 = kxi + B-Axi for solving.
Here, K (from the first letter of the Russian Nikolai Krylov surname) is a matrix constructed close to,
The magic of iterative algorithms is that they simplify complex problems into stages of easy computing.

Iv. Decomposition Method of matrix computing in 1951
[1951: Alston householder of Oak Ridge National Laboratory formalizes the decompositional approach to matrix computations.]

In 1951, Alston householder of the National Laboratory of Alstom Oak Ridge proposed the decomposition method of matrix computing.

This algorithm proves that any matrix can be divided into triangles, diagonal pairs, orthogonal pairs, and other special forms of matrices,
The significance of this algorithm makes it possible to develop flexible matrix computing software packages.

V. 1957 optimized Fortran Compiler
[1957: John Backus leads a team at IBM in developing the Fortran Optimizing Compiler.]

1957: the IBM team led by John Bakos, created the Fortran optimization compiler.

FORTRAN, also translated as Fu Chuan, is a combination of formula translation, meaning "formula translation ".
It is the first advanced programming language in the world that has been officially adopted and circulated so far.
This language has now been developed to Fortran 2008 and is well known.

Vi. QR Algorithm for calculating matrix feature values from 1959 to 61
[1959-61: J. g.f. Francis of Ferranti Ltd, London, finds a stable Method for Computing

Eigenvalues, known as the QR algorithm.]

1959-61: J. g.f. Francis of London felentty Co., Ltd. found a stable feature value calculation method,
This is the famous QR algorithm.

This is also an algorithm related to linear algebra. If you have learned linear algebra, you should remember "The feature value of the matrix". The feature value is calculated by the matrix.

One of the core contents is that the traditional solution involves root of higher-order equations, which is very difficult when the problem is large.

The QR algorithm splits the matrix into an orthogonal matrix (you want to read this article and know what an orthogonal matrix is. : D .) Product of an upper triangle matrix,

Similar to the Krylov method mentioned above, this is an iterative algorithm that simplifies the root problem of complex high-order equations into a phase easy

The substeps of calculation make it possible to use a computer to solve large-scale matrix feature values.
The author of this algorithm is J. g.f. Francis from London, England.

VII. 1962 fast Sorting Algorithm
[1962: Tony Hoare of Elliott brothers, Ltd., London, presents quicksort.]
1962: Tony elitot Brothers Limited in London, Hall proposed a quick sorting.

Haha, congratulations, you finally saw the first familiar algorithm ~.
As a classic algorithm in the sorting algorithm, the quick sorting algorithm is everywhere.

The quick sorting algorithm was first designed by Sir Tony Hoare. Its basic idea is to divide the columns to be sorted into two halves,
The half of the left side is always "small", and the half on the right is always "big". This process continues recursively until the whole sequence is ordered.
Speaking of this Sir Tony Hoare, the fast sorting algorithm is just a small accidental discovery. His contribution to the computer mainly includes

He also received the 1980 Turing Award for his achievements in the theory of formal methods and the invention of the algol60 programming language.

==========

For more information about the Quick Sort Algorithm and Its Application, see my article,
Proficient in eight sorting algorithm series, I. Fast sorting algorithms:

Http://blog.csdn.net/v_JULY_v/archive/2011/01/04/6116297.aspx

------------------------------------------------------------

The average time complexity of fast sorting is only O (nlog (N). Compared with general selection sorting and Bubble sorting,
It is indeed a historic innovation.

VIII. 1965 Fast Fourier Transformation
[1965: James Cooley of the IBM t. J. Watson research center and John Tukey of Princeton
University and at&t Bell Laboratories unveil the fast Fourier transform.]

1965: James Cooley from IBM Watson Research Institute, and John Tukey from Princeton University,
At&t Bell Labs jointly launched the fast Fourier transformation.

The Fast Fourier algorithm is a fast algorithm of Discrete Fourier algorithm (which is the cornerstone of Digital Signal Processing). Its time complexity is only O

(Nlog (n), which is more important than time efficiency, is that the fast Fourier algorithm is very easy to implement using hardware. Therefore, it is obtained in the field of electronic technology.

It is widely used.

In the future, I willClassic Algorithm Research SeriesFocuses on this calculation method.

9. Integer relationship detection algorithm 1977
[1977: helaman Ferguson and rosydney forcade of briham young university advance an integer

Relation detection algorithm.]
1977: helaman Ferguson and roundun forcade of Birmingham University proposed the integer relationship of the forcade detection algorithm.

Integer relationship detection is an old problem. Its History can even be traced back to the Euclidean era. Specifically:
Set-group real numbers x1, x2 ,..., XN, whether there are all zero integers A1, A2 ,... an, so that: A1 X 1 + A2 X2 +... + an X

N = 0?
Helaman Ferguson and rosydney forcade from brighamyoung University solved this problem this year.
This algorithm is applied to "Simplifying the calculation of Feynman graphs in quantum field theory ". OK. You can understand it. : D.

10. 1987 fast multi-pole Algorithm
[1987: Leslie greengard and Vladimir rokhlin of Yale University invent the fast multipole

Algorithm.]

1987: Leslie's greengard and rokhlin from Yale University invented the fast multi-pole algorithm.

This fast multi-pole algorithm is used to calculate the exact motion of n particles interacting by gravity or power.
-- For example, the stars in the Milky Way, or the interaction between atoms in the protein ". OK.
.
If you have any comments or questions, please comment.

--------------------------------------

Link at the end of this article, a series of classical algorithms:

I have only written 7 articles on this series of classical algorithm research, which is constantly being updated.
The seven algorithms that have been written or written are as follows (Will be continuously and permanently updated):
1,Classic Algorithm Research Series: 1. A * Search Algorithm
Http://blog.csdn.net/v_JULY_v/archive/2010/12/23/6093380.aspx
2,Classic Algorithm Research Series: II. Dijkstra Algorithm
Http://blog.csdn.net/v_JULY_v/archive/2010/12/24/6096981.aspx
3,Classic Algorithm Research Series: 3. dynamic planning algorithm solving Microsoft interview questions [56th]
Http://blog.csdn.net/v_JULY_v/archive/2010/12/31/6110269.aspx
4,Classical Algorithm Research Series: 4. How to thoroughly understand BFS and DFS Priority Search Algorithms
Http://blog.csdn.net/v_JULY_v/archive/2011/01/01/6111353.aspx
5,Classical Algorithm Research Series: V. Implementation and Analysis of the Red-black Tree Algorithm
Http://blog.csdn.net/v_JULY_v/archive/2010/12/31/6109153.aspx
6,Classical Algorithm Research Series: 6. Teach you to thoroughly understand the KMP algorithm from start to end
Http://blog.csdn.net/v_JULY_v/archive/2011/01/01/6111565.aspx
7,Classical Algorithm Research Series: 7. Exploring Genetic Algorithms to find out the essence of GA (Update on 12th)
Http://blog.csdn.net/v_JULY_v/archive/2011/01/12/6132775.aspx
If you have any questions, please let me know. Thank you.

========================================================== =====

 

Author's statement:
July is copyrighted to all the articles and materials in this blog. If you repost or reference any articles or materials, please indicate the source.
Thank you. July and July January 10, 2011.

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.