私は線形遺伝的プログラミング プロジェクトを行っています。このプロジェクトでは、自然な進化メカニズムによってプログラムが繁殖および進化します。彼らの「DNA」は基本的に、利用可能な関数のセットへの関数ポインタを含むコンテナです(私は配列とベクトルをうまく使用しました)。ここで、数学の問題などの単純な問題の場合、1 つの型定義関数ポインターを使用して、すべてが double を返し、すべてが 2 つの double をパラメーターとして受け取る関数を指すことができます。
残念ながら、これはあまり実用的ではありません。さまざまな種類の関数ポインターを持つことができるコンテナーを持つことができる必要があります。たとえば、引数を取らない関数への関数ポインター、引数を 1 つ取る関数、何かを返す関数などです (考え)...
任意の種類のコンテナを使用してこれを行う方法はありますか? さまざまな種類の関数ポインターを持つポリモーフィック クラスを含むコンテナーを使用してそれを行うことはできますか? これまでに行ったすべてを再設計するのは苦痛になるため、誰かが私を解決策に向けてくれることを願っています.