Я использую команду constructs-to-c на верхнем уровне для преобразования моих конструкций в код c. До сих пор я знаю, как использовать эти исходные файлы в качестве черных ящиков. Я думаю, что в этих файлах CLIPS реализуют алгоритм RETE, верно? Я хотел бы знать, как я могу понять соглашение об именах и содержимое этих файлов? Я не нашел этому объяснения в справочниках. Это единственное объяснение, которое я нашел по этому поводу, но не нашел » Я многое понимаю по второму пункту. Однако я хорошо разбираюсь в алгоритме RETE. Также есть ли способ визуализировать сетевые CLIPS RETE, созданные для моих конструкций? Спасибо

0
Salahuddin 15 Июн 2017 в 13:34

1 ответ

Лучший ответ

Сгенерированные файлы constructs-to-c - это просто дамп структур данных C, используемых для представления конструкций CLIPS, поэтому они не являются представлением алгоритма rete, а скорее данными, с которыми алгоритм работает. Соглашение об именах, используемое массивами в сгенерированных файлах, предназначено для того, чтобы ссылки указателей от одного массива к другому были короткими и четкими, а не для облегчения их чтения. Чтобы визуализировать сеть, вам нужно вручную нарисовать соединения. Я бы сказал, что это проще сделать, добавив простые / единые правила в CLIPS и пройдя код с помощью отладчика, чтобы увидеть, как обрабатываются утверждения и отмены.

0
Gary Riley 15 Июн 2017 в 19:40
Спасибо, Грей, за твой ответ. Итак, как я могу понять, как CLIPS реализует алгоритм RETE? Я имею в виду альфа- и бета-сети (узлы и память)? Я имею в виду, как CLIPS действительно реализует это в коде. Что является отправной точкой для понимания этого?
 – 
Salahuddin
15 Июн 2017 в 23:19
Здесь есть несколько слайдов высокого уровня по некоторым деталям реализации: sourceforge. net / projects / clipsrules / files / CLIPS / Misc /…. Пошаговое выполнение кода с помощью отладчика - лучший способ изучить детали реализации.
 – 
Gary Riley
16 Июн 2017 в 00:04
Большой. Это то, что я искал. Спасибо Гэри
 – 
Salahuddin
16 Июн 2017 в 00:44