В прошлом мне приходилось разрабатывать программу, которая действовала как оценщик правил. У вас был антецедент и некоторые последствия (действия), поэтому, если антецедент оценивался как true, действия выполнялись.
В то время я использовал модифицированную версию алгоритма RETE (есть три версии RETE, только сначала общедоступный) для предшествующего сопоставления с образцом. Мы говорим о большой системе с миллионом операций на правило и некоторыми операторами, «повторяющимися» в нескольких правилах.
Возможно, мне придется реализовать это снова и снова на другом языке, и, несмотря на то, что у меня есть опыт работы с RETE, кто-нибудь знает другие алгоритмы сопоставления с образцом? Любые предложения или я должен продолжать использовать RETE?