Content deleted Content added
No edit summary |
Magioladitis (talk | contribs) m reflist and other fixes using AWB (12151) |
||
Line 1:
{{
{{Programming paradigms}}
A '''nondeterministic programming''' language is a [[programming language|language]] which can specify, at certain points in the program (called "choice points"), various alternatives for [[Control flow|program flow]]. Unlike an [[Conditional (programming)|if-then statement]], the method of choice between these alternatives is not directly specified by the programmer; the program must decide at [[run time (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 [[AMB]],<ref>http://mitpress.mit.edu/sicp/full-text/sicp/book/node91.html</ref>
Another method of choice is reinforcement learning, embodied in systems such as [[Alisp]].<ref>http://www.cs.berkeley.edu/~russell/papers/aaai02-alisp.pdf
==See also==
Line 12:
*[[Nondeterminism (disambiguation)]]
*[[:Category:Nondeterministic programming languages|Category: Nondeterministic programming languages]]
==References==
{{Reflist}}
{{DEFAULTSORT:Nondeterministic Programming}}
|