Content deleted Content added
direct link to indeterminacy in computation |
Maxeto0910 (talk | contribs) added multiple issues hatnote Tags: Mobile edit Mobile web edit Advanced mobile edit |
||
(29 intermediate revisions by 22 users not shown) | |||
Line 1:
{{multiple|
{{
{{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 [[
==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".
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 [[
▲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 [[indeterminacy]].
The authors
▲==A 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{{fact|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 can not implement concurrent computation in open systems.
▲The authors note 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 programming|parallel]] computation including the [[lambda calculus]].
==Arrival order indeterminacy==
According to Hewitt
It is important to be clear about the basis for the published claim about the limitation of mathematical logic.
What does the mathematical theory of Actors have to say about this?
<blockquote>
:The mathematical denotation denoted by a closed system
::<
</blockquote>
In this way, the behavior of
So mathematical logic can characterize (as opposed to implement) all the possible computations of a closed Actor system.
==A limitation of logic due to lack of information==
An open Actor system
==Prolog-like concurrent systems were claimed to be based on mathematical logic==
[[Keith Clark (computer scientist)|Keith Clark]], Hervé Gallaire, Steve Gregory, Vijay Saraswat, Udi Shapiro, Kazunori Ueda, etc. developed a family of [[Prolog]]-like concurrent message passing systems using unification of shared variables and data structure streams for messages.
Carl Hewitt and Gul Agha [1991] argued that these Prolog-like concurrent systems were neither deductive nor logical: like the Actor model, the Prolog-like concurrent systems were based on message passing and consequently were subject to the same indeterminacy.
==Logical operations and system efficiency==
Hewitt maintained that a basic lesson can be learned from Prolog and the Prolog-like concurrent systems:
==Indeterminacy in other models of computation==
Arbitration is the basis of the indeterminacy in the [[Actor model]] of concurrent computation (see [[
==See also==
*[[Quantum
*[[Randomized algorithm]]
*[[
==References==
*[[Carl Hewitt]]
*Carl Hewitt. '''PLANNER: A Language for Proving Theorems in Robots''' [[IJCAI]] 1969.
*Carl Hewitt. '''Procedural Embedding of Knowledge In Planner''' IJCAI 1971.
*Carl Hewitt, Peter Bishop and Richard Steiger. '''A Universal Modular Actor Formalism for Artificial Intelligence'''
*[[Robert Kowalski]] '''Predicate Logic as Programming Language''' Memo 70, Department of Artificial Intelligence, [[Edinburgh University]]. 1973.
*Pat Hayes. '''Computation and Deduction''' Mathematical Foundations of Computer Science: Proceedings of Symposium and Summer School, Štrbské Pleso, High Tatras, Czechoslovakia, September
*Carl Hewitt and [[Henry Baker (computer scientist)|Henry Baker]] '''Laws for Communicating Parallel Processes''' IFIP-77, August 1977.
*Carl Hewitt. '''Viewing Control Structures as Patterns of Passing Messages''' [[Journal of Artificial Intelligence]]. June 1977.
*Henry Baker. '''Actor Systems for Real-Time Computation''' MIT EECS Doctoral Dissertation. January 1978.
*Bill Kornfeld and Carl Hewitt.
*Will Clinger.
*Carl Hewitt. '''The Challenge of Open Systems''' Byte Magazine. April 1985.
*Gul Agha.
*Robert Kowalski. '''The limitation of logic''' Proceedings of the 1986 ACM 14th Annual Conference on Computer science.
*Ehud Shapiro (Editor). '''Concurrent Prolog''' [[MIT Press]].
*Robert Kowalski.
*Ehud Shapiro.
*Carl Hewitt and Gul Agha.
*Carl Hewitt.
==
*
{{Concurrent computing}}
[[Category:Actor model (computer science)]]
[[Category:Logic programming]]▼
[[Category:Determinism]]
▲[[Category:Logic programming]]
|