Indeterminacy in concurrent computation: Difference between revisions

Content deleted Content added
Rescuing 1 sources and tagging 0 as dead. #IABot (v1.6.1) (Balon Greyjoy)
clean up, typo(s) fixed: Therefore → Therefore,; add MI;
Line 1:
{{Multiple issues|
{{Essay|date=November 2010}}
{{Citation style|date=March 2014}}
}}
 
'''Indeterminacy in concurrent computation''' is concerned with the effects of [[nondeterministic algorithm|indeterminacy]] in [[concurrent computation]]. Computation is an area in which indeterminacy is becoming increasingly important because of the massive increase in concurrency due to networking and the advent of [[multi-core processor|many-core]] computer architectures. These computer systems make use of [[arbiter (electronics)|arbiters]] which give rise to [[nondeterministic algorithm|indeterminacy]].
<!-- this sentence just restates the title without adding anything -->
 
Computation is an area in which indeterminacy is becoming increasingly important because of the massive increase in concurrency due to networking and the advent of [[multi-core processor|many-core]] computer architectures. These computer systems make use of [[arbiter (electronics)|arbiters]] which give rise to [[nondeterministic algorithm|indeterminacy]].
 
==A supposed limitation of logic programming==
[[Patrick J. Hayes|Patrick Hayes]] [1973] argued that the "usual sharp distinction that is made between the processes of computation and deduction, is misleading". [[Robert Kowalski]] developed the thesis that ''computation could be subsumed by deduction'' and quoted with approval "Computation is controlled deduction." which he attributed to Hayes in his 1988 paper on the early history of Prolog. Contrary to Kowalski and Hayes, [[Carl Hewitt]] claimed that logical deduction was incapable of carrying out concurrent computation in open systems{{citation needed|date=January 2011}}.
 
Hewitt [1985] and Agha [1991], and other published work argued that mathematical models of concurrency did not determine particular concurrent computations as follows: The Actor model makes use of arbitration (often in the form of notional [[arbiter (electronics)|arbiters]]) for determining which message is next in the [[Actor model theory#Arrival orderings|arrival ordering]] of an Actor that is sent multiple messages concurrently. This introduces [[arbiter (electronics)#Arbiters give rise to indeterminacy|indeterminacy]] in the arrival order. Since the arrival orderings are indeterminate, they cannot be deduced from prior information by mathematical logic alone. Therefore, mathematical logic cannot implement concurrent computation in open systems.
 
The authors claim that although mathematical logic cannot, in their view, implement general concurrency it can implement some special cases of concurrent computation, e.g., sequential computation and some kinds of [[parallel computing]] including the [[lambda calculus]].
Line 29 ⟶ 28:
 
==A limitation of logic due to lack of information==
An open Actor system {{mono|S}} is one in which the addresses of outside Actors can be passed into {{mono|S}} in the middle of computations so that {{mono|S}} can communicate with these outside Actors. These outside Actors can then in turn communicate with Actors internal to {{mono|S}} using addresses supplied to them by {{mono|S}}. Due to limitation of the inability to deduce arrival orderings, knowledge of what messages are sent from outside would not enable the response of {{mono|S}} to be deduced. When other models of concurrent systems (e.g., [[process calculus|process calculi]]) are used to implement open systems, these systems also can have behavior that depends on arrival time orderings and so cannot be implemented by logical deduction.
When other models of concurrent systems (e.g., [[process calculus|process calculi]]) are used to implement open systems, these systems also can have behavior that depends on arrival time orderings and so cannot be implemented by logical deduction.
 
==Prolog-like concurrent systems were claimed to be based on mathematical logic==