Разница в выводе: обработка взаимозависимостей между правилами

Разница в выводе: обработка взаимозависимостей между правилами
Сет Мелдон Опубликовано 29 июня 2023 г. 0 комментариев

При работе с бизнес-решениями часто

возникают зависимости между условиями. Давайте посмотрим, как мы можем работать с такими зависимостями правил.

Зависимости между правилами существуют, когда условное выражение одного правила оценивает данные, созданные действием другого правила. Второе правило называется «зависимым» от первого.

Первый шаг в изучении использования циклов — понять, чем он отличается от обычного поведения вывода при выполнении правил, независимо от того, выполняется ли он Progress Corticon Studio или Server. Когда таблица правил компилируется (либо Studio во время выполнения Ruletest, либо Server во время развертывания), сеть зависимостей для правил автоматически генерируется. Corticon Studio и Server используют эту сеть для определения порядка, в котором правила срабатывают во время выполнения.

Для иллюстрации давайте рассмотрим с

ценарий назначения лекарств. Некоторые препараты назначаются на основе веса пациента, но врач также должен учитывать, имеет ли пациент избыточный или недостаточный вес. Когда пациент находится в пределах клинически здорового веса, этот вес будет служить входными данными для расчета соответствующей дозировки.

Если пациент на 20–30 % превышает свой идеальный вес, то эти данные корректируются — для некоторых лекарств вместо фактического веса пациента рассчитывается скорректированный вес тела. Для других лекарств используется его идеальный вес тела.

В таблице правил Corticon мы можем реа

лизовать все необходимые рекомендации по дозировке на основе его веса, пола, роста и назначенных лекарств.

Таблица правил Corticon с рекомендациями по дозировке для веса, пола, роста для препарата и пациента

Если мы откроем диаграмму последовательности выполнения, мы увидим, как Corticon будет оценивать данные по этим правилам, используя механизм вывода по умолчанию в Corticon, который называется «Оптимизированный вывод».

Пункт меню «Логический анализ» выбран с помощью диаграммы последовательности выполнения ниже

Пример оптимизированного вывода с шагами блок-схемы

Обработка оптимизированного вывода — это мощная возможность, которая позволяет разработчику правил «разбить» сложную логику на ряд более мелких, менее сложных правил. После разбиения на более мелкие или более простые правила логика будет автоматически выполняться в правильной последовательности на основе зависимостей, определенных компилятором.

Важная характеристика обработки

оптимизированного вывода: поток выполнения правил — это один проход, то есть правило в последовательности оценивается один раз и никогда не пересматривается, даже если значения данных (или «состояние» данных), оцененные его условиями,  Рекламодатели, собранные с разрешенных сайтов, были удовлетворены и продвигали продукт/услугу, что бы они ни имели для продаж, означают рекламную сеть из мира и библиотеку телефонных номеров UserEngage (влияние на телефонные номера означает, что мы собирали данные в основном всех пользователей в одном  Зарубежные данные месте) или, с другой стороны, качество, а не количество, дает приоритет для бизнес-лидов). Еженедельное обновление нашей базы данных телефонных номеров. В моей базе данных есть все текущие издания 2024 года. Вся библиотека телефонных номеров. Все данные являются базой GDRP. Вы также можете купить ее там по низкой цене. изменяются в ходе выполнения правила. Эти правила прекрасно обрабатываются с помощью параметра оптимизированного вывода по умолчанию.

Когда мы тестируем этот лист правил с использованием тестового случая пациента мужского пола ростом 62 дюйма, весом 70 кг, которому назначен Ацикловир, порядок выполнения правил определяется Corticon на основе логических зависимостей между правилами.

Ввод и вывод данных пациента с

ростом, полом, весом, препаратом. Препарат использует скорректированную массу тела

Открыв панель трассировки правил, мы видим, что порядок выполненных правил был следующим: правило № 3, правило № 2, правило № B0, правило № 8, правило № 7 и, наконец, правило № 11.

Трассировка правил показывает последовательность необходимых и примененных правил

Мы можем увидеть, как Corticon принял эти решения по выводу, просмотрев логический график зависимости.

диаграммы логического графика зависимости диаграмма решений

Типы логических циклов
Иногда мы хотим, чтобы правила были повторно оценены и повторно запущены (если они удовлетворены). Этот сценарий требует, чтобы
движок правил Corticon выполнил несколько проходов по одному и тому же листу правил.

Каждый раз, когда лист правил содержит более одного правила, если только они не из совершенно разных контекстов (т. е. не имеют одинаковых псевдонимов), они Руководство по настройкам WordPress  , естественно, имеют логические зависимости друг от друга. Эти логические зависимости можно увидеть, перейдя в меню таблицы правил -> Логический анализ -> График логической зависимости.

Меню таблицы правил – Логический анализ – опции меню включают диаграмму последовательности выполнения, график логической зависимости, очистку результатов анализа, проверку на наличие логических циклов, проверку на полноту, проверку на наличие конфликтов и т. д.

Если в графике логической зависимости нет циклов (а в большинстве случаев их не будет), то правила можно обрабатывать в режиме обработки по умолчанию. Это происходит потому, что движок Corticon автоматически обрабатывает правила в последовательности, которая учитывает логические зависимости: каждое правило обрабатывается после всех других правил, america email от которых оно логически зависит. В результате таблицу правил можно обрабатывать за один проход без необходимости итерации. Это наиболее эффективный способ обработки правил в таблице правил, поскольку для этого требуется только один проход.

Вот ключ к пониманию цикличности: когда

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

Scroll to Top