HOME

TheInfoList



OR:

In
computer science Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to practical disciplines (includin ...
, unbounded nondeterminism or unbounded indeterminacy is a property of
concurrency Concurrent means happening at the same time. Concurrency, concurrent, or concurrence may refer to: Law * Concurrence, in jurisprudence, the need to prove both ''actus reus'' and ''mens rea'' * Concurring opinion (also called a "concurrence"), a ...
by which the amount of delay in servicing a request can become unbounded as a result of arbitration of contention for shared resources ''while still guaranteeing that the request will eventually be serviced''. Unbounded nondeterminism became an important issue in the development of the denotational semantics of concurrency, and later became part of research into the theoretical concept of hypercomputation.


Fairness

Discussion of unbounded nondeterminism tends to get involved with discussions of ''fairness''. The basic concept is that all computation paths must be "fair" in the sense that if the machine enters a state infinitely often, it must take every possible transition from that state. This amounts to requiring that the machine be guaranteed to service a request if it can, since an infinite sequence of states will only be allowed if there is no transition that leads to the request being serviced. Equivalently, every possible transition must occur eventually in an infinite computation, although it may take an unbounded amount of time for the transition to occur. This concept is to be distinguished from the local fairness of flipping a "fair" coin, by which it is understood that it is possible for the outcome to always be heads for any finite number of steps, although as the number of steps increases, this will
almost surely In probability theory, an event is said to happen almost surely (sometimes abbreviated as a.s.) if it happens with probability 1 (or Lebesgue measure 1). In other words, the set of possible exceptions may be non-empty, but it has probability 0 ...
not happen. An example of the role of fair or unbounded nondeterminism in the merging of strings was given by William D. Clinger, in his 1981 thesis. He defined a "fair merge" of two strings to be a third string in which each character of each string must occur eventually. He then considered the set of all fair merges of two strings , assuming it to be a monotone function. Then he argued that , where is the empty stream. Now , so it must be that is an element of , a contradiction. He concluded that: :It appears that a fair merge cannot be written as a nondeterministic data flow program operating on streams.


On the possibility of implementing unbounded nondeterminism

Edsger Dijkstra Edsger Wybe Dijkstra ( ; ; 11 May 1930 – 6 August 2002) was a Dutch computer scientist, programmer, software engineer, systems scientist, and science essayist. He received the 1972 Turing Award for fundamental contributions to developing progr ...
argued that it is impossible to implement systems with unbounded nondeterminism. For this reason,
Tony Hoare Sir Charles Antony Richard Hoare (Tony Hoare or C. A. R. Hoare) (born 11 January 1934) is a British computer scientist who has made foundational contributions to programming languages, algorithms, operating systems, formal verification, and c ...
suggested that "an efficient implementation should try to be reasonably fair."


Nondeterministic automata

Nondeterministic Turing machines have only bounded nondeterminism. Likewise sequential programs containing guarded commands as the only sources of nondeterminism have only bounded nondeterminism. Briefly, choice nondeterminism is bounded. Gordon Plotkin gave a proof in his original paper on powerdomains: :Now the set of initial segments of execution sequences of a given nondeterministic program , starting from a given state, will form a tree. The branching points will correspond to the choice points in the program. Since there are always only finitely many alternatives at each choice point, the branching factor of the tree is always finite. That is, the tree is finitary. Now Kőnig's lemma says that if every branch of a finitary tree is finite, then so is the tree itself. In the present case this means that if every execution sequence of terminates, then there are only finitely many execution sequences. So if an output set of is infinite, it must contain nonterminating computation


Indeterminacy versus nondeterministic automata

William Clinger William Floyd Clinger Jr. (April 4, 1929 – May 28, 2021) was an American attorney and Republican politician who represented northwest and north-central Pennsylvania in the U.S. House of Representatives from 1979 to 1997. Early life and edu ...
provided the following analysis of the above proof by Plotkin: :This proof depends upon the premise that if every node of a certain infinite branch can be reached by some computation , then there exists a computation that visits every node on the branch. ... Clearly this premise follows not from logic but rather from the interpretation given to choice points. This premise fails for arrival nondeterminism
n the arrival of messages in the Actor model N, or n, is the fourteenth letter in the Latin alphabet, used in the modern English alphabet, the alphabets of other western European languages and others worldwide. Its name in English is ''en'' (pronounced ), plural ''ens''. History ...
because of finite delay
n the arrival of messages N, or n, is the fourteenth letter in the Latin alphabet, used in the modern English alphabet, the alphabets of other western European languages and others worldwide. Its name in English is ''en'' (pronounced ), plural ''ens''. History ...
Though each node on an infinite branch must lie on a branch with a limit, the infinite branch need not itself have a limit. Thus the existence of an infinite branch does not necessarily imply a nonterminating computation.


Unbounded nondeterminism and noncomputability

Spaan et al. have argued that it is possible for an unboundedly nondeterministic program to solve the
halting problem In computability theory, the halting problem is the problem of determining, from a description of an arbitrary computer program and an input, whether the program will finish running, or continue to run forever. Alan Turing proved in 1936 that a ...
; their algorithm consists of two parts defined as follows: The first part of the program requests a natural number from the second part; after receiving it, it will iterate the desired Turing machine for that many steps, and accept or reject according to whether the machine has yet halted. The second part of the program nondeterministically chooses a natural number on request. The number is stored in a variable which is initialized to 0; then the program repeatedly chooses whether to increment the variable, or service the request. The fairness constraint requires that the request eventually be serviced, for otherwise there is an infinite loop in which only the "increment the variable" branch is ever taken. Clearly, if the machine does halt, this algorithm has a path which accepts. If the machine does not halt, this algorithm will always reject, no matter what number the second part of the program returns.


Arguments for dealing with unbounded nondeterminism

Clinger and Carl Hewitt have developed a model (known as the
Actor model The actor model in computer science is a mathematical model of concurrent computation that treats ''actor'' as the universal primitive of concurrent computation. In response to a message it receives, an actor can: make local decisions, create mor ...
) of concurrent computation with the property of unbounded nondeterminism built in
linger 1981; ; ; Linger may refer to: *Linger (surname) Linger is a surname. Notable people with the surname include: * Andreas Linger (born 1981), Austrian luger * Carl Linger (1810–1862), German Australian composer * Chelton Linger (born 1988), Dutch football ...
this allows ''computations'' that cannot be implemented by Turing Machines, as seen above. However, these researchers emphasize that their model of concurrent computations defined by Church, Kleene, Turing, ''etc.'' (See
Indeterminacy in concurrent computation Indeterminacy in concurrent computation is concerned with the effects of indeterminacy in concurrent computation. Computation is an area in which indeterminacy is becoming increasingly important because of the massive increase in concurrency due ...
.) Hewitt justified his use of unbounded nondeterminism by arguing that there is no bound that can be placed on how long it takes a computational circuit called an ''arbiter'' to settle (see metastability in electronics). Arbiters are used in computers to deal with the circumstance that computer clocks operate asynchronously with input from outside, ''e.g..'', keyboard input, disk access, network input, ''etc.'' So it could take an unbounded time for a message sent to a computer to be received and in the meantime the computer could traverse an unbounded number of states. He further argued that
Electronic mail Electronic mail (email or e-mail) is a method of exchanging messages ("mail") between people using electronic devices. Email was thus conceived as the electronic ( digital) version of, or counterpart to, mail, at a time when "mail" mean ...
enables unbounded nondeterminism since mail can be stored on servers indefinitely before being delivered, and that
data link A data link is the means of connecting one location to another for the purpose of transmitting and receiving digital information ( data communication). It can also refer to a set of electronics assemblies, consisting of a transmitter and a rece ...
s to servers on the
Internet The Internet (or internet) is the global system of interconnected computer networks that uses the Internet protocol suite (TCP/IP) to communicate between networks and devices. It is a ''internetworking, network of networks'' that consists ...
can likewise be out of service indefinitely. This gave rise to the unbounded nondeterminism controversy.


Hewitt's analysis of fairness

Hewitt argued that issues in fairness derive in part from the global state point of view. The oldest models of computation (e.g..
Turing machines A Turing machine is a mathematical model of computation describing an abstract machine that manipulates symbols on a strip of tape according to a table of rules. Despite the model's simplicity, it is capable of implementing any computer algori ...
, Post productions, the
lambda calculus Lambda calculus (also written as ''λ''-calculus) is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution. It is a universal model of computation t ...
, etc.) are based on mathematics that makes use of a global state to represent a computational ''step''. Each computational step is from one global state of the computation to the next global state. The global state approach was continued in
automata theory Automata theory is the study of abstract machines and automata, as well as the computational problems that can be solved using them. It is a theory in theoretical computer science. The word ''automata'' comes from the Greek word αὐτόματο� ...
for finite state machines and push down stack machines including their
nondeterministic Nondeterminism or nondeterministic may refer to: Computer science * Nondeterministic programming *Nondeterministic algorithm In computer programming, a nondeterministic algorithm is an algorithm that, even for the same input, can exhibit diffe ...
versions. All of these models have the property of bounded nondeterminism: if a machine always halts when started in its initial state, then there is a bound on the number of states in which it can halt. Hewitt argued that there is a fundamental difference between choices in global state nondeterminism and the arrival order indeterminacy (nondeterminism) of his
Actor model The actor model in computer science is a mathematical model of concurrent computation that treats ''actor'' as the universal primitive of concurrent computation. In response to a message it receives, an actor can: make local decisions, create mor ...
. In global state nondeterminism, a "choice" is made for the "next" global state. In arrival order indeterminacy, arbitration locally decides each arrival order in an unbounded amount of time. While a local arbitration is proceeding, unbounded activity can take place elsewhere. There is no global state and consequently no "choice" to be made as to the "next" global state.


References

* * * * * * * * * * * * * * * * * Dana Scott. ''What is Denotational Semantics?'' MIT Laboratory for Computer Science Distinguished Lecture Series. April 17, 1980. * * * * * * * * * {{DEFAULTSORT:Unbounded Nondeterminism Actor model (computer science) Concurrency (computer science) Models of computation Process calculi Denotational semantics