Divergence (computer science)

Divergence (computer science)

In computer science, a computation is said to diverge if it does not terminate or terminates in an (unobservable) exceptional state. Otherwise it is said to converge. In domains where computations are expected to be infinite, such as process calculi, a computation is said to diverge if it fails to be productive (always produces an action within a finite amount of time.)

Contents

Definitions

Various subfields of computer science use a varying, but mathematically precise, definitions of what it means for a computation to converge or diverge.

Rewriting

In abstract rewriting a reduction is called convergent if and only if it is both confluent and terminating.[1] The notation tn means term t reduces to normal form n in zero or more reductions, t↓ means t reduces to some normal form in zero or more reductions, and t↑ means t does not reduce to a normal form.

In the lambda calculus an expression is divergent if it has no normal form.[2]

Denotational semantics

In denotational semantics an object function f : AB can be modelled as a mathematical function f : A ∪ {⊥} → B ∪ {⊥} where ⊥ (bottom) indicates that the object function or its argument diverges.

Concurrency theory

In the calculus of communicating sequential processes, divergence is a drastic situation where a process performs an endless series of hidden actions. For example, consider the following process, defined by CSP notation:

Clock = tick \rightarrow Clock

The traces of this process are defined as:

traces(Clock) = \{<>, <tick>, <tick,tick>, \cdots \}=\{tick\}^*

Now, consider the following process, which conceals the tick event of the Clock process:

P=Clock\backslash tick

By definition, P is called a divergent process.

See also

Notes

  1. ^ Baader & Nipkow 1998, p. 9.
  2. ^ Pierce 2002, p. 65.

References

  • Baader, Franz; Nipkow, Tobias (1998). Term Rewriting and All That. Cambridge University Press. 
  • Pierce, Benjamin C. (2002). Types and Programming Languages. MIT Press. 
  • J. M. R. Martin and S. A. Jassim (1997). "How to Design Deadlock-Free Networks Using CSP and Verification Tools: A Tutorial Introduction" in Proceedings of the WoTUG-20.

Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • Divergence (disambiguation) — Divergence can refer to: In mathematics: Divergence, a function that associates a scalar with every point of a vector field Divergence (computer science), a computation which does not terminate (or terminates in an exceptional state) Divergence… …   Wikipedia

  • Divergence-from-randomness model — In the field of information retrieval, divergence from randomness is one type of probabilistic model. External links Terrier s DFR Web page Glasgow IR group Wiki DFR page Categories: Information retrievalProbabilistic modelsComputer science stubs …   Wikipedia

  • science, philosophy of — Branch of philosophy that attempts to elucidate the nature of scientific inquiry observational procedures, patterns of argument, methods of representation and calculation, metaphysical presuppositions and evaluate the grounds of their validity… …   Universalium

  • Computer data processing — Data processing redirects here. For Unit record data processing, see Unit record equipment. Computer data processing is any process that a computer program does to enter data and summarise, analyse or otherwise convert data into usable… …   Wikipedia

  • physical science, principles of — Introduction       the procedures and concepts employed by those who study the inorganic world.        physical science, like all the natural sciences, is concerned with describing and relating to one another those experiences of the surrounding… …   Universalium

  • Kullback–Leibler divergence — In probability theory and information theory, the Kullback–Leibler divergence[1][2][3] (also information divergence, information gain, relative entropy, or KLIC) is a non symmetric measure of the difference between two probability distributions P …   Wikipedia

  • Actuarial science — are professionals who are qualified in this field through examinations and experience. Actuarial science includes a number of interrelating subjects, including probability and statistics, finance, and economics. Historically, actuarial science… …   Wikipedia

  • Infinite loop — This article is about the programming term. For the street on which Apple Inc. s campus is located, see Infinite Loop (street). An infinite loop (also known as an endless loop) is a sequence of instructions in a computer program which loops… …   Wikipedia

  • Information theory — Not to be confused with Information science. Information theory is a branch of applied mathematics and electrical engineering involving the quantification of information. Information theory was developed by Claude E. Shannon to find fundamental… …   Wikipedia

  • education — /ej oo kay sheuhn/, n. 1. the act or process of imparting or acquiring general knowledge, developing the powers of reasoning and judgment, and generally of preparing oneself or others intellectually for mature life. 2. the act or process of… …   Universalium

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”