Content deleted Content added
Citation bot (talk | contribs) Add: title. Changed bare reference to CS1/2. | Use this bot. Report bugs. | Suggested by Abductive | Category:Programming paradigms | #UCB_Category 9/113 |
Citation bot (talk | contribs) Added isbn. | Use this bot. Report bugs. | Suggested by Dominic3203 | Category:Computer programming | #UCB_Category 142/144 |
||
(10 intermediate revisions by 8 users not shown) | |||
Line 1:
{{
{{Programming paradigms}}▼
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 [[Amb (evaluator)|Amb]],<ref>{{Cite web |
Another method of choice is [[reinforcement learning]], embodied in systems such as [[Alisp]].<ref>
==See also==
Line 17 ⟶ 16:
==References==
{{Reflist}}
▲{{Programming paradigms navbox}}
{{DEFAULTSORT:Nondeterministic Programming}}
|