Angelic non-determinism explained

See also: Demonic non-determinism.

In computer science, angelic non-determinism is the execution of a nondeterministic algorithm where particular choices are declared to always favor a desired result, if that result is possible.

For example, in halting analysis of a Nondeterministic Turing machine, the choices would always favor termination of the program.

The "angelic" terminology comes from the Christian religious conventions of angels being benevolent and acting on behalf of an omniscient God.

References

Wirsing . M. . Broy . M. . On the algebraic specification of nondeterministic programming languages . Caap '81 . 112 . 5 March 1981 . 162–179 . 10.1007/3-540-10828-9_61 . Springer, Berlin, Heidelberg . en. Lecture Notes in Computer Science . 978-3-540-10828-3 .

Bodik . Rastislav . Chandra . Satish . Galenson . Joel . Kimelman . Doug . Tung . Nicholas . Barman . Shaon . Rodarmor . Casey . Programming with Angelic Nondeterminism . SIGPLAN Notices . 2010 . 45 . 1 . 339–352 . 10.1145/1707801.1706339 . 0362-1340.