Что именно bsave сохраняет в Jess?
Я совершенно новичок в работе с Джесс и пытаюсь сохранить алгоритм Рете. До меня дошло, что в Jess есть функция bsave, которая сохраняет объект rete, но что именно это означает? Сохраняет ли он факты, функции и правила, а затем ему приходится повторять итерацию по сети, чтобы выполнить сопоставления, или он сохраняет все, включая промежуточные совпадения, что подразумевает, что при загрузке, при условии, что не было сделано никаких изменений для WM, двигатель должен быть готов к работе?
1 ответ
Функция bsave
и метод Rete bsave сериализует состояние объекта Rete. Это означает, что вы можете выполнить функцию, завершить сеанс, уничтожить объект Rete, запустить другой сеанс, загрузить состояние, используя bload
чтобы вернуться в состояние, где вы сделали bsave
,
Сохранение состояния включает в себя состояние сети Rete, включая повестку дня. Итак, если вы позвонили run
перед сохранением звоню run
после загрузки не будет срабатывать никаких правил.
призвание facts
например, выдает список фактов, которые были на момент вызова bsave
и т.п.
Смотрите документацию bload
для вещей, не включенных в снимок.