Content deleted Content added
Quuxplusone (talk | contribs) |
Citation bot (talk | contribs) Added isbn. | Use this bot. Report bugs. | Suggested by Dominic3203 | Category:Computer programming | #UCB_Category 142/144 |
||
(47 intermediate revisions by 38 users not shown) | |||
Line 1:
{{more citations needed|date =April 2017}}
A '''nondeterministic programming''' language is a [[programming language|language]] which can specify, at certain points in the [[Computer program|program]] (called "choice points"), various alternatives for [[Control flow|program flow]]. Unlike an [[Conditional (computer programming)|if-then statement]], the method of choice between these alternatives is not directly specified by the programmer; the program must decide at [[runtime (program lifecycle phase)|run time]] between the alternatives, via some general method applied to all choice points. A [[programmer]] specifies a limited number of alternatives, but the program must later choose between them. ("Choose" is, in fact, a typical name for the nondeterministic operator.) A hierarchy of choice points may be formed, with higher-level choices leading to branches that contain lower-level choices within them.
One method of choice is embodied in [[backtracking]] systems (such as [
Another method of choice is [[reinforcement learning]], embodied in systems such as [
==See also==
*[[Nondeterminism (disambiguation)]]
*[[:Category:Nondeterministic programming languages|Category: Nondeterministic programming languages]]
*[[angelic non-determinism]]
*[[demonic non-determinism]]
==References==
{{Reflist}}
{{Programming paradigms navbox}}
{{DEFAULTSORT:Nondeterministic Programming}}
[[Category:Computer programming]]
[[Category:Programming paradigms]]
[[Category:Determinism]]
|