The relationship between computer science and mathematics is a bit strange. 20 or 30 years ago, computer science was basically a mathematical score.
. At present, computer science has a wide range of research fields and a large number of researchers, in many ways, in turn to promote
In a sense, the development of mathematics can be said that children grow taller than their mothers.
But in any case, this child is always in the mother's blood. This blood is the mathematical underpi
Nning of computer science (mathematical basics of computer science), that is, theoretical computer science.
Another cross between modern computer science and mathematics is computational mathematics, numerical analysis, and scientific computing.
Within computer science. Therefore, this article ignores all computational mathematics.
What is the most common word that is put together with theoretical computer science? A: discrete mathematics. The relationship between the two is so confidential
Cut, so that they become synonyms in many occasions.
Traditionally, mathematics is centered on analysis. Students in the Mathematics Department should study the mathematical analysis for three or four semesters.
Variable, real variable, functional, and so on. Real-time variables and functional functions are considered by many to be the entry of modern mathematics. In physics, chemistry, Engineering
The application is also focused on analysis.
With the emergence of computer science, some mathematical branches that were not previously very valued suddenly become important. People found that
The mathematical objects of some branch processing are obviously different from those of traditional analysis: the objects of analysis and research are continuous, so the difference
Points become basic operations, and the objects studied by these branches are discrete, so there is little chance to perform such calculation.
. These branches are called discrete mathematics ". The name of "Discrete Mathematics" is getting louder and louder, leading
The traditional branch of analysis is relatively called continuous mathematics ".
After decades of development, discrete mathematics is basically stable. Discrete Mathematics is generally considered to include the following subjects:
1) set theory, mathematical logic and metamathematics. This is the foundation of mathematics and computer science.
2) graph theory, algorithm graph theory, combined mathematics, and combined algorithms. The core of computer science, especially Theoretical Computer Science, is
Algorithms, while a large number of algorithms are built on Graphs and combinations.
3) abstract algebra. Algebra is ubiquitous and is very important in mathematics. People are surprised in computer science.
It is found that there are so many applications in algebra.
However, is it so easy to add the "discrete" hat to the theory of computer science? Until the big
About a dozen years ago, a master finally told us: No.
D. E. knuth (how great he is, I don't want to talk nonsense) opened a brand new course Concrete in Stanford
Mathematics. The term concrete has two meanings:
First, for abstract. Knuth believes that the objects of traditional mathematical research are too abstract, leading to specific problems.
Insufficient concern. He complained that the mathematics he needed in his studies often did not exist, so he had to create some
Mathematics. To direct application-oriented needs, he must advocate "specific" mathematics.
Here I will give a simple explanation. For example, in set theory, mathematicians are concerned with the most fundamental problem-the system of justice.
Various properties. The nature of some specific sets, various common sets, relationships, mappings,
Mathematicians do not think it is important. However, what is used in computer science is exactly these specific things. Knuth Neng
This is the first person in computer science.
Second, concrete is continuous (continuous) plus discrete (discrete ). Continuous mathematics or discrete mathematics,
They are all useful mathematics!
The above is mainly from the mathematical point of view. From the computer point of view, theoretical computer science is currently the main research area
Includes: Computational Theory, algorithm design and complexity analysis, cryptography and information security, distributed computing theory, and
Line Computing Theory, network theory, biological information computing, computational geometry, programming language theory, and so on. These fields interact with each other
Cross-cutting, and new topics are constantly being proposed, so it is difficult to come up with a clue.
Here are some examples.
Due to the application demand, cryptography is now a hot topic in research. Cryptography is established in number theory (especially computational number theory)
In addition to algebra, information theory, probability theory, and random processes, graph theory and combination are sometimes used.
Many people think that cryptography is encryption and decryption, while encryption is to use a function to disrupt data. This is a big mistake.
Modern Cryptography includes at least the following levels:
First, the foundation of cryptography. For example, is it really difficult to break down a large number? Is there a general tool to prove that the agreement is positive?
OK?
Second, the Basic Topic of cryptography. For example, a better one-way function and signature protocol.
Third, advanced cryptography issues. For example, the length of the zero-knowledge proof is used to share secrets.
Fourth, new applications of cryptography. Such as digital cash and traitor tracking.