Я много раз кодировал различные алгоритмы поиска по графику (A *, DFS, BFS и т. Д.).Каждый раз единственное реальное различие заключается в фактических состояниях поиска, по которым я выполняю поиск, и в том, как новые состояния генерируются из существующих.
Теперь я столкнулся с еще одним проектом, требующим значительных поисков, и хотел бы избежатьнеобходимость кодировать и снова отлаживать общий алгоритм поиска.Было бы здорово, если бы я мог определить класс состояний поиска, включая информацию для генерации последовательных состояний, эвристических затрат и т. Д., И просто подключить его к какой-либо существующей структуре поиска, которая может сделать для меня всю тяжелую работу.Я знаю, что алгоритмы не особенно сложны в коде, но всегда достаточно хитрости, чтобы это раздражало.
Существует ли что-нибудь подобное?Я не мог ничего найти.