Какое максимальное количество фактов может быть добавлено в механизм правил клипов? - PullRequest
0 голосов
/ 06 мая 2018

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

https://github.com/gomezgoiri/CLIPS4Android

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

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

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

Ответы [ 2 ]

0 голосов
/ 07 мая 2018

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

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

0 голосов
/ 07 мая 2018

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

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

...