Map
Index
Random
Help
Topics
th

Topic: non-deterministic processing

topics > computer science > Group: parallel processing



Topic:
asynchronous processing
Topic:
backtracking
Topic:
conditional statement language
Topic:
concurrency
Topic:
concurrent while in parallel processing
Topic:
high priority processes
Topic:
interrupt handler
Topic:
logic programming
Topic:
parallel algorithms
Topic:
parallel control statements
Topic:
parameter passing by value
Topic:
task scheduling
Topic:
what is a computer

Summary

A process is non-deterministic when several equally likely paths can be followed. This is prevalent in goal searching algorithms where either branch may be the correct branch to follow. Non-deterministic algorithms can be multi-processed with a new process for each non-deterministic choice, but the number of generated processes is unbounded. Generally heuristics are used for non-deterministic choices with backtracking on failures. If no choices exist the process may terminate normally, signal an exception, or wait for a possible choice.

Dijkstra has made his guarded selection commands non-deterministic. He finds non-determinism can simplify program proofs since arbitrary selection rules are removed. In a repeated non-deterministic command the processor will make arbitrary choices until no alternatives remain. Temporal relationships in multi-processor or parallel processing systems may be non-deterministic. (cbb 5/80)

Subtopic: process vs. sequential implementation up

Quote: a non-deterministic algorithm generates tasks for all branches; easy way to parallel programming [»reynJC5_1970, OK]
Quote: parallel is more natural than sequential; e.g., processing an array seldom requires a definite order [»gellDP7_1974]
Quote: the main advantage of nondeterminism is in specifying a process; allows either implementation
Quote: a process only guarantees execution of some unfinished operation; does not guarantee completion of operations [»brinP11_1978]

Subtopic: OS/robotics and indeterminism up

Quote: structure an operating system as layers of insensitive, abstract machines

Related Topics up

Topic: asynchronous processing (30 items)
Topic: backtracking (30 items)
Topic: conditional statement language (5 items)
Topic: concurrency (33 items)
Topic: concurrent while in parallel processing (5 items)
Topic: high priority processes (13 items)
Topic: interrupt handler (20 items)
Topic: logic programming (34 items)
Topic: parallel algorithms (15 items)
Topic: parallel control statements (12 items)
Topic: parameter passing by value (5 items)
Topic: task scheduling (49 items)
Topic: what is a computer
(62 items)

Updated barberCB 9/04
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.