決定論は本質的に機能です。代数から、関数はドメインと範囲の間の対応であり、ドメインの各メンバーが範囲の厳密に1つのメンバーに対応することを思い出してください。
したがって、f(x)= zの場合、yがzでない限りf(x)!= yです。それは機能です。JavaScriptを想像してください:
function Add(A, B) {
return A + B;
}
var addedNumber = Add(2,3);//returns 5
addedNumber = Add(2,3);//still 5
何度呼び出しAdd(2,3)
ても、常に5が返されます。つまり、Add()は決定的な関数です。
外部要因により、Addは非決定的な方法で動作する場合があります。たとえば、方程式にマルチスレッドを導入する場合。人間の入力も非決定性を引き起こします。
さて、これは物事が面白くなる場所です。
「ランダムな数字を生成する算術的な方法を考えている人は、もちろん、罪の状態にあります。」
フォン・ノイマンは、「算術的生産方法[...]」と述べています。これは、人間の入力、同時実行性、正確な機器から読み取られたサンプル風速、または決定論的関数へのランダム入力を生成する他の非アルゴリズム的な方法についてではありません。
これは単に、関数または関数のシステムが突然非決定論的にならないことを示しています。言い換えると、Add(2,3)は、同じ入力が与えられた場合、なんとか6または5以外を返さないでしょう。それは不可能です。
引用の作成者はさらに一歩踏み出します。
期待できる最善のものは、擬似乱数、つまりランダムに生成されたように見える一連の数字です。
コンテキストは以前に「任意の決定論的デバイス上」に定義されています。ここで議論を終えることができます。しかし、システムに新しい要素を導入してコンテキストを変更したらどうなるでしょうか?入力として追加された非決定的要素は、システムを非決定的システムにします。ただし、非決定的な要素を削除すると、決定的なシステムに戻ります。入力を何らかの方法でトレースまたは再現できる場合、結果を再現できます。しかし、この段落全体は、著者が言っていることとは無縁です。コンテキストを覚えておいてください。
非決定論の意味について議論することができます。もう一度、タンゲテニアル。コンテキストを覚えておいてください。
だから彼は正しい。決定論的なデバイスでは、決定論的なシステムが真のランダムな結果を生成することは不可能です。