Content deleted Content added
tag with {{Bare URL PDF}} |
Citation bot (talk | contribs) Added isbn. | Use this bot. Report bugs. | Suggested by Dominic3203 | Category:Computer programming | #UCB_Category 142/144 |
||
(9 intermediate revisions by 7 users not shown) | |||
Line 1:
{{more citations needed|date =April 2017}}
{{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}}
|