アカウント名:
パスワード:
情報科学の分野では、近似アルゴリズムや乱択アルゴリズムなどがかなり研究されている。ほかにもヒューリスティクスを利用した方法も広く応用されている。カーナビの経路探索や、暗号に必要な素数の生成など、誤差を許容することで劇的な高速化を実現しているものは、日常的に使われている。
それは特定のアプリケーションにおいて、利用する側も「(主に計算量的な要請から)近似的に得た解」と理解しているケースですよね。EnerJで提案されているのはもっと踏み込んだものです。
たとえばタレコミにあるコード例でいえば、FloatSetのインスタンス s が近似値を扱っている場合は s.mean() は「コンパイラが自動的に」mean_APPROX() のほうを呼ぶようにするのです。
そうではなくて、mean_APPROX()を使うと、それで得られる値は近似値としてしか扱えず、また、近似値の集合にはmean()を使うことはできないって事じゃないの?
自動的に呼ぶものを変えるんじゃなくて、暗黙の型変換は一方向しか認めないことを利用しているだけでしょ。
#暗黙の型変換を一方向しか認めないことはC++でよくやるけど、汎用的なのは書いたことがない。テンプレートを使えばできそうな気もするが。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
Stableって古いって意味だっけ? -- Debian初級
アルゴリズム (スコア:0)
情報科学の分野では、近似アルゴリズムや乱択アルゴリズムなどがかなり研究されている。ほかにもヒューリスティクスを利用した方法も広く応用されている。
カーナビの経路探索や、暗号に必要な素数の生成など、誤差を許容することで劇的な高速化を実現しているものは、日常的に使われている。
Re:アルゴリズム (スコア:2)
それは特定のアプリケーションにおいて、利用する側も「(主に計算量的な要請から)近似的に得た解」と理解しているケースですよね。EnerJで提案されているのはもっと踏み込んだものです。
↓
↓
↓
たとえばタレコミにあるコード例でいえば、FloatSetのインスタンス s が近似値を扱っている場合は s.mean() は「コンパイラが自動的に」mean_APPROX() のほうを呼ぶようにするのです。
Re: (スコア:0)
そうではなくて、mean_APPROX()を使うと、それで得られる値は近似値としてしか扱えず、また、近似値の集合にはmean()を使うことはできないって事じゃないの?
自動的に呼ぶものを変えるんじゃなくて、暗黙の型変換は一方向しか認めないことを利用しているだけでしょ。
#暗黙の型変換を一方向しか認めないことはC++でよくやるけど、汎用的なのは書いたことがない。テンプレートを使えばできそうな気もするが。