Я пытаюсь реализовать некоторые алгоритмы планирования ИИ в C, но застрял с основной концепцией:)
Прежде чем перейти к основной проблеме, я попытался реализовать небольшую инфраструктуру, которая поддерживала бы логику высказываний:
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.
Любая идея?
Как насчет расширения этого для предикатной логики?
Конечной целью (в идеале) будет создание библиотеки планирования искусственного интеллекта, которую можно напрямую подключить к приложению, а не получение проблемы в виде строк программы STRIPS.
Спасибо