数式でシンボリック回帰を実行する遺伝子プログラムを書いています。私はECJを使用しています。これが何であるか、そして私が始めたベースの例については、ECJに付属するサンプルのチュートリアル4を参照してください。
問題は、遺伝子プログラムの関数として除算を実装するときに発生します。ゼロ除算をどのように防ぎますか?
数式でシンボリック回帰を実行する遺伝子プログラムを書いています。私はECJを使用しています。これが何であるか、そして私が始めたベースの例については、ECJに付属するサンプルのチュートリアル4を参照してください。
問題は、遺伝子プログラムの関数として除算を実装するときに発生します。ゼロ除算をどのように防ぎますか?
Javaでは、除算演算子ArithmeticException
はゼロに等しい整数除数をスローします。浮動小数点オペランドの場合、「ゼロ以外の有限値をゼロで除算すると、符号付きの無限大になります。符号は、[次の]ルールによって決定されます。...両方のオペランドの符号が同じ場合、結果の符号は正になります。 、オペランドの符号が異なる場合は負です。」
したがって、例外を処理するか、結果を確認します。