アカウント名:
パスワード:
のように、アルゴリズム/ソフトウェアのレベルでは既に主要な研究分野として認められるほどよく知られたものです。 なので、今回の研究の目新しい点は、その
>累積誤差の問題や、最終的な演算結果の精度保証などはどのように解決するつもりなのでしょう?
応用例に出されているように、音声や動画の再生ならば、定期的にキーフレームが出現するので、累積誤差はリセットされます。また、もし精度が保たれなかったとしても、画像が乱れたりノイズが入るだけで、動作そのものに大きな影響は出ません。
あと、ゲームの3D表示とかも、フレーム毎の計算ですから誤差の累積は心配ありませんし、多少の誤差が出てても動いてりゃ気になりません。
>誤差を認めるのは浮動小数点演算に限るとか
「確率的な型」と「従来どおりの型」との二種類を導入したらどうかな。整数にも(小数にも)「確率的な整数型」とかを用意するの。
ただし、「確率的なポインタ(参照)」は使い物にならんだろうけどね…オブジェクトの「取り違え」を低確率とはいえ一定頻度で起こすような処理系って、デジタルのメリットを丸ごと捨ててしまうことになるので。
逆にいえば今回の確率的云々という話は、「アナログ的に解釈してもよいデータには」適用可能だということですね。BOOLEANなどは確率化したときのダメージが大きいでしょうし、参照型のように複数の誤差つきコアが出す答えの「平均化」が行いにくい型も、確率化が苦手とする分野でしょうし。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲはアレゲを呼ぶ -- ある傍観者
ハードウェアやチップ関係には詳しくないですが (スコア:3, 興味深い)
のように、アルゴリズム/ソフトウェアのレベルでは既に主要な研究分野として認められるほどよく知られたものです。
なので、今回の研究の目新しい点は、その
Re: (スコア:1)
>累積誤差の問題や、最終的な演算結果の精度保証などはどのように解決するつもりなのでしょう?
応用例に出されているように、音声や動画の再生ならば、定期的にキーフレームが出現するので、累積誤差はリセットされます。
また、もし精度が保たれなかったとしても、画像が乱れたりノイズが入るだけで、動作そのものに大きな影響は出ません。
あと、ゲームの3D表示とかも、フレーム毎の計算ですから誤差の累積は心配ありませんし、多少の誤差が出てても動いてりゃ気になりません。
Re: (スコア:2)
つまり、ひとつのプログラム中で「正確であることが必要な部分」と「誤差があっても能率を優先してよい部分」をどうにか分ける必要があると思います。プログラミングのノウハウも変えるのか、何らかの方法で自動的に分けることができるのか、興味深いと思います。
誤差を認めるのは浮動小数点演算に限るとか、あるいはプログラミング言語としてroughly{ ... }キーワードを作って、くくったところだけ誤差を認めるとか思いついたのですが、どうでしょうね。
人生は七転び八起き、一日は早寝早起き
Re: (スコア:0)
>誤差を認めるのは浮動小数点演算に限るとか
「確率的な型」と「従来どおりの型」との二種類を導入したらどうかな。
整数にも(小数にも)「確率的な整数型」とかを用意するの。
ただし、
「確率的なポインタ(参照)」は使い物にならんだろうけどね…
オブジェクトの「取り違え」を低確率とはいえ一定頻度で起こすような処理系って、
デジタルのメリットを丸ごと捨ててしまうことになるので。
逆にいえば今回の確率的云々という話は、
「アナログ的に解釈してもよいデータには」適用可能だということですね。
BOOLEANなどは確率化したときのダメージが大きいでしょうし、
参照型のように複数の誤差つきコアが出す答えの「平均化」が行いにくい型も、確率化が苦手とする分野でしょうし。
Re:ハードウェアやチップ関係には詳しくないですが (スコア:2)
float{2} var;
なんて書いて有効数字2桁ということを明示すると、その後の計算は仮数部3桁以上は計算しないので不定です、その代わり速いor電力消費が少ないです、ということなら具体的な用途がありそうに思います(実現可能かどうかはしりませんが)。これは計算しないということであってちょっと誤差とは違うと思うのですが……
人生は七転び八起き、一日は早寝早起き