Le funzioni che si ripetono sempre nello stesso out-out dato lo stesso input sono chiamate deterministiche .
Theu usa algoritmi deterministici.
In computer science, a deterministic algorithm is an algorithm which,
given a particular input, will always produce the same output, with
the underlying machine always passing through the same sequence of
states. Deterministic algorithms are by far the most studied and
familiar kind of algorithm, as well as one of the most practical,
since they can be run on real machines efficiently.
Per estensione le funzioni che fanno questo sono chiamate funzioni deterministiche.
La qualità dell'essere deterministico è chiamata determinismo .
Non so come dimostrare che una funzione è deterministica diversa dal test ir e dall'esame del codice, ma algoritmi non deterministici hanno alcuni dei seguenti:
- If it uses external state other than the input, such as user input, a global variable, a hardware timer value, a random value, or stored
disk data.
- If it operates in a way that is timing-sensitive, for example if it has multiple processors writing to the same data at the same time. In
this case, the precise order in which each processor writes its data
will affect the result.
- If a hardware error causes its state to change in an unexpected way.
Fonte.