Theoretical Computer Science
Theoretical Computer Science
cation. This means that the so-called theory people regularly use experimental science(s) done in less-theoretical
areas such as software system research. It also means that
there is more cooperation than mutually exclusive competition between theory and application.
1 History
Main article: History of computer science
While logical inference and mathematical proof had existed previously, in 1931 Kurt Gdel proved with his
incompleteness theorem that there were fundamental limitations on what statements could be proved or disproved.
With the development of quantum mechanics in the beginning of the 20th century came the concept that mathematical operations could be performed on an entire particle wavefunction. In other words, one could compute
functions on multiple states simultaneously. This led to
the concept of a quantum computer in the latter half of
the 20th century that took o in the 1990s when Peter
Shor showed that such methods could be used to factor large numbers in polynomial time, which, if implemented, would render most modern public key cryptogTo this list, the ACMs journal Transactions on Compu- raphy systems uselessly insecure.
tation Theory adds coding theory, computational learning Modern theoretical computer science research is based
theory and theoretical computer science aspects of areas on these basic developments, but includes many other
such as databases, information retrieval, economic mod- mathematical and interdisciplinary problems that have
els and networks.[2] Despite this broad scope, the the- been posed.
ory people in computer science self-identify as dierent
from the applied people. Some characterize themselves
as doing the "(more fundamental) 'science(s)' underlying
the eld of computing.[3] Other theory-applied people 2 Topics
suggest that it is impossible to separate theory and appli1
2.1
2 TOPICS
Algorithms
2.3
2.9
Computational geometry
2.6
Very-large-scale integration
3
Computational biology involves the development and
application of data-analytical and theoretical methods, mathematical modeling and computational simulation techniques to the study of biological, behavioral, and social systems.[25] The eld is broadly dened and includes foundations in computer science,
applied mathematics, animation, statistics, biochemistry,
chemistry, biophysics, molecular biology, genetics,
genomics, ecology, evolution, anatomy, neuroscience,
and visualization.[26]
Computational biology is dierent from biological computation, which is a subeld of computer science and
computer engineering using bioengineering and biology
to build computers, but is similar to bioinformatics, which
is an interdisciplinary science using computers to store
and process biological data.
Computational geometry is a branch of computer science devoted to the study of algorithms that can be stated
in terms of geometry. Some purely geometrical problems arise out of the study of computational geometric
algorithms, and such problems are also considered to be
part of computational geometry. While modern compu2.7 Machine learning
tational geometry is a recent development, it is one of the
oldest elds of computing with history stretching back to
Main article: Machine learning
antiquity. An ancient precursor is the Sanskrit treatise
Shulba Sutras , or Rules of the Chord, that is a book
Machine learning is a scientic discipline that deals with of algorithms written in 800 BCE. The book prescribes
the construction and study of algorithms that can learn step-by-step procedures for constructing geometric obfrom data.[20] Such algorithms operate by building a jects like altars using a peg and chord.
model based on inputs[21]:2 and using that to make pre- The main impetus for the development of computadictions or decisions, rather than following only explicitly tional geometry as a discipline was progress in computer
programmed instructions.
graphics and computer-aided design and manufacturMachine learning can be considered a subeld of com- ing (CAD/CAM), but many problems in computational
puter science and statistics. It has strong ties to articial geometry are classical in nature, and may come from
intelligence and optimization, which deliver methods, mathematical visualization.
theory and application domains to the eld. Machine
learning is employed in a range of computing tasks
where designing and programming explicit, rule-based
algorithms is infeasible. Example applications include
spam ltering, optical character recognition (OCR),[22]
search engines and computer vision. Machine learning is
sometimes conated with data mining,[23] although that
focuses more on exploratory data analysis.[24] Machine
learning and pattern recognition can be viewed as two
facets of the same eld.[21]:vii
Other important applications of computational geometry include robotics (motion planning and visibility problems), geographic information systems (GIS) (geometrical location and search, route planning), integrated circuit
design (IC geometry design and verication), computeraided engineering (CAE) (mesh generation), computer
vision (3D reconstruction).
2.8
Computational biology
4
developed by Claude E. Shannon to nd fundamental limits on signal processing operations such as compressing
data and on reliably storing and communicating data.
Since its inception it has broadened to nd applications in
many other areas, including statistical inference, natural
language processing, cryptography, neurobiology,[27] the
evolution[28] and function[29] of molecular codes, model
selection in ecology,[30] thermal physics,[31] quantum
computing, linguistics, plagiarism detection,[32] pattern
recognition, anomaly detection and other forms of data
analysis.[33]
Applications of fundamental topics of information theory include lossless data compression (e.g. ZIP les),
lossy data compression (e.g. MP3s and JPEGs), and
channel coding (e.g. for Digital Subscriber Line (DSL)).
The eld is at the intersection of mathematics, statistics,
computer science, physics, neurobiology, and electrical
engineering. Its impact has been crucial to the success
of the Voyager missions to deep space, the invention
of the compact disc, the feasibility of mobile phones,
the development of the Internet, the study of linguistics
and of human perception, the understanding of black
holes, and numerous other elds. Important sub-elds
of information theory are source coding, channel coding,
algorithmic complexity theory, algorithmic information
theory, information-theoretic security, and measures of
information.
2 TOPICS
padbut these schemes are more dicult to implement
than the best theoretically breakable but computationally
secure mechanisms.
2.17
Automata theory
puting, they are generally considered as distinct elds because scientic computing is usually based on numerical
computation with approximate oating point numbers,
while symbolic computation emphasizes exact computation with expressions containing variables that have not
any given value and are thus manipulated as symbols
(therefore the name of symbolic computation).
Software applications that perform symbolic calculations
are called computer algebra systems, with the term system alluding to the complexity of the main applications
that include, at least, a method to represent mathematical data in a computer, a user programming language
(usually dierent from the language used for the implementation), a dedicated memory manager, a user interface for the input/output of mathematical expressions, a
large set of routines to perform usual operations, like simplication of expressions, dierentiation using chain rule,
polynomial factorization, indenite integration, etc.
3 Organizations
European Association for Theoretical Computer
Science
7 NOTES
SIGACT
SIGACT News
Fundamenta Informaticae
ACM Transactions on Computation Theory
6 See also
Computational Complexity
Formal science
Conferences
Annual ACM Symposium on Theory of Computing
(STOC)[47]
7 Notes
[1] SIGACT. Retrieved 2009-03-29.
Even representatives from Intel, a company generally associated with the 'higher clock-speed is better' position,
warned that traditional approaches to maximizing performance through maximizing clock speed have been pushed
to their limit.
[19] Hennessy, John L.; Patterson, David A.; Larus, James
R. (1999). Computer organization and design : the hardware/software interface (2. ed., 3rd print. ed.). San Francisco: Kaufmann. ISBN 1-55860-428-6.
[20] Ron Kovahi; Foster Provost (1998). Glossary of terms.
Machine Learning 30: 271274.
[21] C. M. Bishop (2006). Pattern Recognition and Machine
Learning. Springer. ISBN 0-387-31073-8.
[22] Wernick, Yang, Brankov, Yourganov and Strother, Machine Learning in Medical Imaging, IEEE Signal Processing Magazine, vol. 27, no. 4, July 2010, pp. 25-38
[25] NIH working denition of bioinformatics and computational biology (PDF). Biomedical Information Science
and Technology Initiative. 17 July 2000. Retrieved 18
August 2012.
[26] About the CCMB. Center for Computational Molecular
Biology. Retrieved 18 August 2012.
[27] F. Rieke, D. Warland, R Ruyter van Steveninck, W Bialek
(1997). Spikes: Exploring the Neural Code. The MIT
press. ISBN 978-0262681087.
[28] cf. Huelsenbeck, J. P., F. Ronquist, R. Nielsen and J. P.
Bollback (2001) Bayesian inference of phylogeny and its
impact on evolutionary biology, Science 294:2310-2314
[29] Rando Allikmets, Wyeth W. Wasserman, Amy Hutchinson, Philip Smallwood, Jeremy Nathans, Peter K. Rogan,
Thomas D. Schneider, Michael Dean (1998) Organization
of the ABCR gene: analysis of promoter and splice junction sequences, Gene 215:1, 111-122
[30] Burnham, K. P. and Anderson D. R. (2002) Model Selection and Multimodel Inference: A Practical InformationTheoretic Approach, Second Edition (Springer Science,
New York) ISBN 978-0-387-95364-9.
[31] Jaynes, E. T. (1957) Information Theory and Statistical
Mechanics, Phys. Rev. 106:620
[32] Charles H. Bennett, Ming Li, and Bin Ma (2003) Chain
Letters and Evolutionary Histories, Scientic American
288:6, 76-81
[33] David R. Anderson (November 1, 2003). Some background on why people in the empirical sciences may want
to better understand the information-theoretic methods
(pdf). Retrieved 2010-06-23.
Further reading
Martin Davis, Ron Sigal, Elaine J. Weyuker, Computability, complexity, and languages: fundamentals of theoretical computer science, 2nd ed., Academic Press, 1994, ISBN 0-12-206382-1. Covers
theory of computation, but also program semantics
and quantication theory. Aimed at graduate students.
EXTERNAL LINKS
9 External links
SIGACT directory of additional theory links
Theory Matters Wiki Theoretical Computer Science
(TCS) Advocacy Wiki
Usenet comp.theory
List of academic conferences in the area of theoretical computer science at confsearch
Theoretical Computer Science - StackExchange, a
Question and Answer site for researchers in theoretical computer science
Computer Science Animated
http://theory.csail.mit.edu/ @ Massachusetts Institute of Technology
10
10.1
10.2
Images
10.3
Content license