In
computer science
Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
, angelic non-determinism is the execution of a
nondeterministic algorithm
In computer science and computer programming, a nondeterministic algorithm is an algorithm that, even for the same input, can exhibit different behaviors on different runs, as opposed to a deterministic algorithm.
Different models of computation ...
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
In theoretical computer science, a nondeterministic Turing machine (NTM) is a theoretical model of computation whose governing rules specify more than one possible action when in some given situations. That is, an NTM's next state is ''not'' comp ...
, the choices would always favor
termination of the program.
The "angelic" terminology comes from the Christian religious conventions of
angel
An angel is a spiritual (without a physical body), heavenly, or supernatural being, usually humanoid with bird-like wings, often depicted as a messenger or intermediary between God (the transcendent) and humanity (the profane) in variou ...
s being benevolent and acting on behalf of an
omniscient
Omniscience is the property of possessing maximal knowledge. In Hinduism, Sikhism and the Abrahamic religions, it is often attributed to a divine being or an all-knowing spirit, entity or person. In Jainism, omniscience is an attribute that any ...
God.
References
*
Theoretical computer science
*
{{comp-sci-theory-stub