HOME

TheInfoList



OR:

In
computer science Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
, unbounded nondeterminism or unbounded indeterminacy refers to a behavior in concurrency (multiple tasks running at once) where a process may face unpredictable delays due to competition for shared resources—such as a printer or
memory Memory is the faculty of the mind by which data or information is encoded, stored, and retrieved when needed. It is the retention of information over time for the purpose of influencing future action. If past events could not be remembe ...
—or have infinitely many options to choose from at a given point. While these delays or choices can be arbitrarily large, the process is typically guaranteed to complete eventually under certain conditions (e.g., fairness in resource allocation). This concept, explored in abstract models rather than practical systems, became significant in developing mathematical descriptions of such systems (
denotational semantics In computer science, denotational semantics (initially known as mathematical semantics or Scott–Strachey semantics) is an approach of formalizing the meanings of programming languages by constructing mathematical objects (called ''denotations'' ...
) and later contributed to research on advanced computing theories (
hypercomputation Hypercomputation or super-Turing computation is a set of hypothetical models of computation that can provide outputs that are not Turing-computable. For example, a machine that could solve the halting problem would be a hypercomputer; so too woul ...
).


Fairness

Unbounded nondeterminism is often discussed alongside the concept of ''fairness''. In this context, fairness means that if a system keeps returning to a certain state forever, it must eventually try every possible next step from that state. For example, if a task is waiting to use a shared tool—like a printer—it can’t be delayed forever; fairness ensures it gets its turn, even if the wait is unpredictable and long. This guarantee matters when a system runs indefinitely, preventing any option from being ignored over time. This idea of fairness isn’t like flipping a "fair" coin forever. With a coin, random chance means you’d eventually see both heads and tails, but there’s no rule forcing it—pure luck could delay one outcome for an arbitrarily long time. In unbounded nondeterminism, fairness isn’t about hoping every step happens; it’s a strict requirement that they do, regardless of chance.


Example

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.


Implementation

Edsger Dijkstra argued that it is impossible to implement systems with unbounded nondeterminism. For this reason,
Tony Hoare Sir Charles Antony Richard Hoare (; born 11 January 1934), also known as C. A. R. Hoare, is a British computer scientist who has made foundational contributions to programming languages, algorithms, operating systems, formal verification, and ...
suggested that "an efficient implementation should try to be reasonably fair."


Nondeterministic automata

Unlike systems with unbounded nondeterminism, nondeterministic Turing machines exhibit only bounded nondeterminism. This means their choices—such as which path to take at a decision point—are limited to a fixed number of options at each step, keeping delays predictable and finite. Similarly, sequential programs that use guarded commands (rules that pick one action from a set based on conditions) as their only source of nondeterminism also stay bounded, since the number of possible choices doesn’t grow without limit. In these cases, known as choice nondeterminism, the system’s behavior remains constrained. Mathematician
Gordon Plotkin Gordon David Plotkin (born 9 September 1946) is a theoretical computer scientist in the School of Informatics at the University of Edinburgh. Plotkin is probably best known for his introduction of structural operational semantics (SOS) and his ...
formalized this in his original paper on powerdomains, proving that such nondeterminism has clear limits, unlike the unbounded delays seen in concurrent systems: :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 In mathematics and logic, an operation is finitary if it has finite arity, i.e. if it has a finite number of input values. Similarly, an infinitary operation is one with an infinite number of input values. In standard mathematics, an operat ...
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 provided the following analysis of the above proof: :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 modelbecause of finite delay n the arrival of messages 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 suggested that unbounded nondeterminism could theoretically solve the
halting problem In computability theory (computer science), 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 for ...
, a famous challenge in
computability theory Computability theory, also known as recursion theory, is a branch of mathematical logic, computer science, and the theory of computation that originated in the 1930s with the study of computable functions and Turing degrees. The field has since ex ...
that asks whether a
Turing machine 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 ...
will stop or continue forever on a given input—a problem proven unsolvable by standard machines. They propose an algorithm split into two parts: # The first part requests the second part for a
natural number In mathematics, the natural numbers are the numbers 0, 1, 2, 3, and so on, possibly excluding 0. Some start counting with 0, defining the natural numbers as the non-negative integers , while others start with 1, defining them as the positive in ...
, then runs the Turing machine for exactly that many steps. If the machine halts within those steps, the algorithm accepts (indicating "it halts"); if not, it rejects ("it has not halted"). # The second part nondeterministically picks a natural number when requested, starting at 0. It repeatedly chooses between two actions: increase the number by 1 or return the current number to the first part. The fairness constraint ensures it eventually sends the number, avoiding an endless loop of just increasing it. If the Turing machine halts after a finite number of steps—for example, 50—the algorithm has a path where the second part selects 50 or more, allowing the first part to detect the halt and accept. If the machine never halts, the first part rejects for any finite number chosen, since no fixed run can confirm an infinite process. Unbounded nondeterminism enables the second part to explore every possible number across infinite time, and fairness ensures a choice is made, implying all possibilities are evaluated. This suggests the algorithm could decide the halting problem, though it relies on an infinite process—a theoretical construct that uses unbounded steps to assess unbounded behavior, distinguishing it from the finite capabilities of standard Turing machines and linking it to noncomputability.


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 an ''actor'' as the basic building block of concurrent computation. In response to a message it receives, an actor can: make local decisions, create ...
) of concurrent computation with the property of unbounded nondeterminism built in linger 1981; ; ; 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.) 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 (usually shortened to email; alternatively hyphenated e-mail) is a method of transmitting and receiving Digital media, digital messages using electronics, electronic devices over a computer network. It was conceived in the ...
enables unbounded nondeterminism since mail can be stored on servers indefinitely before being delivered, and that
data link A data link is a means of telecommunications link, 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 t ...
s to servers on the
Internet The Internet (or internet) is the Global network, 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 ...
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 alg ...
, Post productions, the
lambda calculus In mathematical logic, the lambda calculus (also written as ''λ''-calculus) is a formal system for expressing computability, computation based on function Abstraction (computer science), abstraction and function application, application using var ...
, 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 with close connections to cognitive science and mathematical l ...
for
finite-state machine A finite-state machine (FSM) or finite-state automaton (FSA, plural: ''automata''), finite automaton, or simply a state machine, is a mathematical model of computation. It is an abstract machine that can be in exactly one of a finite number o ...
s and push down stack machines including their nondeterministic 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 an ''actor'' as the basic building block of concurrent computation. In response to a message it receives, an actor can: make local decisions, create ...
. 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 Dana Stewart Scott (born October 11, 1932) is an American logician who is the emeritus Hillman University Professor of Computer Science, Philosophy, and Mathematical Logic at Carnegie Mellon University; he is now retired and lives in Berkeley, C ...
. ''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