Discrete mathematics is the study of mathematical structures that are fundamentally discrete in the sense of not supporting or requiring the notion of continuity. Discrete objects can be enumerated by integers. Topics in discrete mathematics include number theory (which deals mainly with the properties of integers), combinatorics, logic, graphs, algorithms, and formal languages.
Discrete mathematics has become popular in recent decades because of its applications to computer science. Discrete mathematics is the mathematical language of computer science. Concepts and notations from discrete mathematics are useful in studying and describing objects and problems in all branches of computer science, such as computer algorithms, programming languages, cryptography, automated theorem proving, and software development. Conversely, computer implementations are tremendously significant in applying ideas from discrete mathematics to real-world applications, such as in operations research.
The set of objects studied in discrete mathematics can be finite or infinite. In real-world applications, the set of objects of interest are mainly finite, the study of which is often called finite mathematics. In some mathematics curricula, the term "finite mathematics" refers to courses that cover discrete mathematical concepts for business, while "discrete mathematics" courses emphasize discrete mathematical concepts for computer science majors.
In mathematics, computing, linguistics and related disciplines, an algorithm is a type of effective method in which a definite list of well-defined instructions for completing a task, when given an initial state, will proceed through a well-defined series of successive states, eventually terminating in an end-state. The transition from one state to the next is not necessarily deterministic; some algorithms, known as probabilistic algorithms, incorporate randomness.
A partial formalization of the concept began with attempts to solve the Entscheidungsproblem (the "decision problem") that David Hilbert posed in 1928. Subsequent formalizations were framed as attempts to define "effective calculability" (Kleene 1943:274) or "effective method" (Rosser 1939:225); those formalizations included the Gödel-Herbrand-Kleene recursive functions of 1930, 1934 and 1935, Alonzo Church's lambda calculus of 1936, Emil Post's "Formulation I" of 1936, and Alan Turing's Turing machines of 1936-7 and 1939.
The Mathematics WikiProject is the center for mathematics-related editing on Wikipedia. Join the discussion on the project's talk page.