Какое максимальное количество фактов может быть добавлено в механизм правил клипов?

Я строю блок, который содержит механизм правил клипа внутри. Верхний уровень моего блока - Android(Java-код), и у меня есть собственный код, который общается с механизмом клипов с помощью модуля "CLIPS4Android".

https://github.com/gomezgoiri/CLIPS4Android

Предположим, я просто включил движок правил (Создать среду из Java). Когда я добавляю первый факт (из Java) с некоторым значением, факт нумеруется как <1>. Поскольку CLIPS4Android не поддерживает модификацию, когда нужно изменить факт, мне нужно убрать факт и затем добавить его снова с другим значением. и теперь факт пронумерован как <2>.

если я делаю этот процесс много раз, я могу достичь предела фактов.

У меня вопрос: есть ли предел фактов, которые я могу добавить в свой механизм правил, и если да, то что это? и если нет предела, то, что произошло после того, как я достиг максимального числа фактов (я знаю, что максимальное число целых на андроиде составляет 2 147 483 647, а когда я добавляю ++, оно равно -2 147 483 647.

2 ответа

Решение

Индексы фактов в CLIPS 6.3 и выше представлены с использованием длинных целых чисел. Это дает вам максимальное значение для фактических показателей 9,223,372,036,854,775,808. Если вы изменяете миллиард фактов в секунду, потребуется около трех столетий, чтобы обернуть индекс фактов.

Поиск по индексу фактов является линейным, поэтому вам лучше потратить некоторое время на добавление поддержки функции модификации в CLIPS4Android.

Из основного руководства CLIPS, 2.4.1 Facts:

"Количество фактов в списке фактов и количество информации, которая может быть сохранена в факте, ограничено только объемом памяти в компьютере".

Другие вопросы по тегам