cのロジックプログラミング
-
22-10-2019 - |
質問
私はCにいくつかのAI計画アルゴリズムを実装しようとしていますが、基本的な概念にとどまりました:)
主な問題にジャンプする前に、私は命題論理をサポートするいくつかの小さなフレームワークを実装しようとしました。
FORMULA f = PROPOSITION(a + 3 > 0);
FORMULA g = PROPOSITION(is_smaller_than(b, c));
f = AND(NOT(f), g);
さて、問題は、式を定義する瞬間に「A + 3> 0」のような式を評価しないでください。
bool res = EVALUATE(f);
この場合、閉鎖は便利だったと思いますが、残念ながらC99に固執することも好きです。
何か案が ?
これを拡張してロジックを述べていますか?
最終目標(理想的には)は、AI計画ライブラリを構築することです。AI計画ライブラリは、アプリケーションに直接差し込むことができ、Stripsプログラムの文字列として問題を受け取らないことです。
ありがとう
解決
わかった、
上記のように、メソッドポインターとデータを含む構造を使用して問題を解決しました。これは、Cで閉鎖をシミュレートする最も一般的な方法です。
私の実装はこちらから入手できます:https://github.com/pmilosev/clumsy
所属していません StackOverflow