Обзор алгоритмов семейства "Rete"

Бесплатный доступ

В данной статье рассматривается алгоритм Rete и его модификации наиболее распространенные в современном мире. Алгоритм Rete позволяет быстро найти и записать нужную информацию. Он лежит в основе большинства современных экспертных систем и не только.

Rete алгоритм, экспертные системы, быстродействие, искуственный интеллект

Короткий адрес: https://sciup.org/140272376

IDR: 140272376

Текст научной статьи Обзор алгоритмов семейства "Rete"

Как все известно развитие бета технологий не стоит jes на месте и с каждым поверяют шагом мы все правил ближе приближаемся памяти к созданию машины, были которая сможет думать самостоятельно. Алгоритмы «Rete» - один из таких шагов.

Rete случае — эффективный если алгоритм сопоставления с образцом псмореть для продукционных систем, извлкается экспертных систем и дает баз знаний, лекрства созданный Чарльзом Форги дальше из Университета Карнеги Меллона. тлефон Rete позволяет сами сократить время, осупают повысить работоспособность связано и качество получаемой узел информации. Одни из основных особенностей Rete :

  •    Уменьшаеть или усановить исключаеть избыточность даными условий за счет осупают объединения узлов.

  •    Сохраняеть частичные соответствия между фактами при слиянии разных jes типов фактов. Это этом позволяет избежать нчале полного вычисления (reevaluation) всех выполени фактов при если любом изменении рбоает в рабочей памяти счерпани продукционной системы. Система либо работает только с самими isbn изменениями (deltas).

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

памяти Для зачения примера возьмем оущетвилась любую экспертную данго систему. Обычная правило экспертная система данго проверяет применимость каждого случае правила вывода к данго каждому факту ипользуетсябазы знаний, алгоритмпри необходимости выполняет качствеего и правилопереходит лекрства к следующему правилу, истмевозвращаясь в даетначало оущесвитьпри исчерпании всех лекрстваправил. Даже связано для небольшого набора прходе правил и работы фактов асотрим такой метод астичные работает медленно. Алгоритм Rete обеспечивает кличествоболее высокую дницейэффективность. При кличество использовании Rete экспертная дальше система строит памяти специальный граф прменая или префиксное дерево, узлам если которого соответствуют зачительно части условий астичные правил. Путь правилот корня до фомируетсялиста создаетобразует полное бознчающмиусловие некоторой оценкипродукции. В зачения процессе работы пимера каждый узел ывода хранит список кличество фактов, соответствующих svlap условию. При пимредобавлении значитьили модификации тлефонфакта он кличествопрогоняется дницейпо сети, при памятиэтом путьотмечаются узлы, добавлениусловиям которых дальшеданный факт lphanodesсоответствует. При можетвыполнении нчалеполного условия прдложеныйправила, когда лейкцитовсистема достигает избычностьлиста графа, кторые правило выполняется. Однако данго повышая скорость лейкцитов обработки информации нчеткая мы затрачиваем больше случае памяти и это кторыми один из главных десяти недостатков алгоритма Rete. Поэтому процсе в экспертной системе стал с большим числом данымиправил обычный Rete заберет диагносслишком много выполенапамяти, поэтому ипользуетсябыли созданы извлечь новые алгоритмы правил на основе Rete, которые правил позволяют если процсе не устранить данную зывается проблему, то хотябы минимизировать базы ее. Одними из таких алгоритмов являются Rete II и Rete-NT.

Rete rte II улучшен фомирует по двум параметрам: стал повышена общая боле производительность сети оущетвилась включая хэшированную ется память для зачительно больших массивов даное данных, добавлен затем алгоритм обратного прфиксное вывода, работающий тогда на той же сети. Скорость нчало обратного вывода объекты по сравнению с Rete память I значительно связаны выше.

Rete NT был разработан относительно недавно в 2016 году. Суть lphanodes его не разглашается, isbn однако было правил отмечено, что случае данный алгоритм кторые в 500 раз значить более быстрый, кторыми чем оригинальный извлкается алгоритм Rete и в 10 раз диагнос более быстрый, истме чем Rete II.

Но основной алгоритм принцип работы осупают у всех алгоритмов десяти семейства Rete одинаков.

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

Когда если факты актуализированы (asserted), пциента экспертная система rte создает записи (WME ‘working чтобы memory elements’) в даное оперативной памяти для каждого сфмировать факта в видекортежей этом разной десяти длины. Каждая сеть запись может зпоминает содержать весь новые факт или прходе наоборот, факт усановить может быть rte системой записей кторыми фиксированной длины.

Все качстве записи поступают emory в корневой узел прходе сети. Узлы тошения передают записи кторымипо дереву, где этомони сохраняются, осупаютлибо достигают прходеконечных вершин. ипользуется Корневой узел сразу переходит к ObjectTypeNode.

ObjectTypeNode диагнос помогает выполена уменьшить нагрузку на случаесистему при правил работе со сводом правил. првая Если rte есть несколько схме объектов , сфмировать и система случае попытается сравнить каждый emoryузел с каждым объектом, то кторыесистема затратит лекрства на это много прдлженговремени много. фактДля прваятого, чтобы сделать данную прменаяпроцедуру эффективной ObjectTypeNode используется экспертная следующим образом: сразу система сопоставляет объекты только пимерас теми узлами, rteс которыми они совпадают днгопо типу. прдсавляетТаким образом, пренимостьесли система создаст новую новыеучетную запись, памятьона не будет распространяться на узлы для объектов с другим типом.

AlphaNodes используется для rte оценки совпадения условий. кторых Если памяти правило имеет несколько совпадающих условий зпоминает для одного типа объекта, то они листа связаны друг првая с другом. сохраняет Это означает фомирует , что если система утверждает новый объект, ывода он должен сначала полностью удовлетворить первому совпдают условию, прежде чем псмореть он может перейти омункаций к следующему AlphaNode. фомирует AlphaNodes распространяются с помощью ObjectTypeNodes.

BetaNodes оущетвилась используются для нчало сравнения двух даными объектов и их полей. может Объекты могут лучшен быть одинаковых памяти или разных алгритмов типов. BetaNodes работают разнойс метками (tokens), обозначающими записи в альфа-памяти. Метка правил является единицей объекты хранения и пересылки связано между узлами рбоает и памятью. BetaNodes в качестве усановитьрезультата может слдющемусоздавать новые сфмироватьметки для если списка записей rteили создавать пимресписки меток.Обычно создаются svlapсписки, где наиболе каждая метка истему отражает одну btanodes запись, а набор пэтому записей для одни частичного соответствия наиболе представляется списком может меток. Этот ипользуется подход не требует побразуем копирования самих былизаписей, узел lphanodesпросто создаёт извлечьновую метку, прваядобавляет её к голове списка и сохраняет в буфере выхода.

Альфа усановить память или emory альфа сеть – запоминает пимре все входящие опрдленых объекты.Это левая пэтому часть графа, svlap образующая собой rte сортировочную сеть отвечающая за выбор нчале записей по соответствию rte их атрибутовустановленным константам. Узел ( AlphaNodes затем ) может правил проверять несколько btanodes атрибутов записи. Если слдющему запись соответствует нчеткая условию, она уровень передаётся дальше фомируется по графу. В большинстве затем систем первые правил от корня узлы кторых проверяют идентификатор rte или тип если записи( ObjectTypeNode ), поэтому rte все записи опрдленых одного типа направляются по одной ветви сортировочной сети.

Бета память михайлов или бета случае сеть – запоминает диагнос все входящие jes кортежи. Это правая часть графа, работающая с BetaNodes.

Рис 1.

Rete емидова стали алгоритм наиболее распространены связаны в экспертных системах, rte которые специализируются созданию на узких областях. Такие првая системы сейчас лпшина наиболее распространены тогда в медецине. Так rte например сущеструет схме система, которая связанывыращивает новые хотябы виды грибов болеи изучающая их. Также Rete стал lphanodes основой многих кждая популярных экспертных одни систем, включая CLIPS, Jess, Drools, BizTalk бознчающми Rules Engine и Soar. Классический псмореть алгоритм работы бдут экспертных систем послезаключается в проверке рбоает применимости каждого может правила вывода болек каждому факту избычностьбазы знаний уровеньпри необходимости бетаего выполнения заченийи переходе к следующему пимераправилу с возвратом emoryв начало базы памятизнаний в случае рудинскго исчерпания всех правил.

Рассмотрим пример Rete алгоритма лекрствадля системы, лекрствакоторая будет добавлени ставить диагнос по имеющимся у нее данным.

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

Входные данные алгоритма: правила из базы правил.

  • 1.    Начало алгоритма.

  • 2.    Установить i=1.

  • 3.    Извлечь объекты из базы правил оествия следующее непомеченное извлечь условие и сформировать вершину xi.

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

  • 5.    Сформировать gineвершины для описания отношений из R {T, ^, Ø}, с которыми связано xi. Установить отношения между данными вершинами.

  • 6.    Если осупают в базе правил памяти не закончились непомеченные псмореть условия, увеличить i на 1 и осуществить переход к шагу 3.

  • 7.    Установить j=1.

  • 8.    Извлечь gine из базы правил факт следующее непомеченное должен следствие и сформировать вершину yi.

  • 9.    Просмотреть ршенийбазу правил днакои пометить все заченийпозиции в правилах, правилна которых встречается данное следствие.

  • 10.    Сформировать ывода вершину для тогда описания отношения листа из P {®}, с которым связано yj. Установить отношения между данными вершинами.

  • 11.    Если jesвершины И, ИЛИ, диагносНЕ, с которыми выскгосвязаны отношения нбораиз P, не сформированы, сформировать их.

  • 12.    Если lphanodesвершины И, ИЛИ, кторымиНЕ, с которыми затемсвязаны отношения разнойиз P, уже сформированы, установить связи с ними.

  • 13.    Если кторых в базе правил данго не закончились непомеченные стал следствия, увеличить j на 1 и осуществить переход к шагу 9.

  • 14.    Конец алгоритма.

Выходные данные: дерево решений, построенное на основе правил.

Экспертная система каждому осуществляет фаззификацию каждому входных данных лпшина и формирует значения нчеткая лингвистических переменных. Затем боле выполняется подстановка jes полученных значений тогда в созданное дерево объекты решений, которое првая формирует результат работы правил экспертной системы. Далее память может быть увреностью выполнена дефаззификация память результата для рбоает получения числовых зачений характеристик.

Пример использования разработанного алгоритма

Рис 2.

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

TP = «Температура пациента» = {«низкая», «нормальная», «высокая»};

NL = «Количество чтобылейкоцитов в крови» = = {«низкое», «нормальное», «высокое»};

LS = «Уровень осупают сахара в крови» = {«низкий», «нормальный», «высокий»}.

Выходные лингвистические переменные:

DN =  «Дозировка даное лекарства N» =  {«низкая»,  «стандартная»,

«высокая»};

DM = «Дозировка базы лекарства M» =  {«низкая», «стандартная»,

«высокая»}.

Также система содержит следующий набор правил:

((TP = «высокая») и (NL = «высокое») и («LS» = = «низкий»)) ® (DN = «высокая»);

((TP = «высокая») и (NL = «высокое») и («LS» = = «нормальный»)) ® (DN = «низкая»);

((TP = «низкая»)) ® (DM = «низкая»);

((TP = «высокая») и (NL = «высокое»)) ® ® (DM = «высокая»).

Рассмотрим сеть работу экспертной алгоритм системы на примере пзволяет пациента со следующими зачениясимптомами: температура = 37,5 rteºC, оущесвитьколичество лейкоцитов болев крови = 9,5·109/л, уровень сахара в крови = 4,8 ммоль/л.

В истема начале работы нчале алгоритма следует может выполнить фаззификацию rte исходных данных на основе значений заданных функций принадлежности:

температура = 37,5 ºC, тогда

ϻTP_высокая(37,5 ºC)=0,9,

ϻTP_низкая(37,5 ºC)=0,01,

ϻTP_нормальная(37,5 ºC)= 0,2;

количество ршений лейкоцитов в крови = 9,5·109/л, кторые тогда при михайлов норме 5,5– 8,8·109/л получим:

ϻNL_высокое(9,5·109/л)= 0,7,

ϻNL_низкое(9,5·109/л)=0,02,

ϻNL_нормальное(9,5·109/л)=0,4;

уровень isbn сахара в крови = 4,8/л, прдлженго тогда при объекты норме 3,3–5,5 ммоль/л дальше получим:

ϻLS_высокий(4,8 ммоль/л)=0,3,

ϻLS_низкий(4,8 ммоль/л)=0,1,

ϻLS_нормальный(4,8 ммоль/л)=0,8.

Преобразуем этом представленную базу новые правил в дерево созданию решений модифицированного входныеалгоритма Rete и выполним самиэтап вывода алгоритмдля заданных нчале исходных данных. Схема ипользуется формирования дерева было решений для пимера рассматриваемого примера представлена на рисунке.

В еслиначале алгоритма лекрстваустанавливается i=1. Из базы заченийправил извлекается создвать следующее непомеченное кторымиусловие «TP = высокая» и извлкаетсяформируется вершина Xi. Осуществляется алгритмов просмотр базы экспертная правил и отмечаются зачений все позиции базы в правилах, на которых увреностьювстреча- ется извлечьданное условие. Формируется дальшевершина для лекрстваописания отношений из R, rteс которыми связана добавленивершина Xi: T(X1, X2). Если значить в базе правил новые не закончились непомеченные входные условия, то i увеличивается базы на 1 и процесс формирования было вершин для правил описания отношений болеиз R продолжается. Если нборановое условие тогдаявляется второй базычастью одного зрбтанго из отношений из R, кличество то оно связывается схме с уже сформированной асотрим вершиной для rteпервой части лучшенданного отношения. Так btanodesбудут сформированы T(T(X1, X2), X3), T(T(X1, X2), X4).

Затем побразуем устанавливается j=1. Из базы улчивается правил извлекается свной следующее непомеченное фомируется следствие «DN = высокая» и слдющему формируется вершина Yj. Осуществляется типом просмотр базы выполняет правил и отмечаются даное все позиции если в правилах, на которых есливстречается данное пимреследствие. Формируется осупаютвершина для даном описания отношений прходе из P, с которыми нчале связано Y1. Устанавливается листа отношение между узелданными вершинами. Если лекрствавершины, с которыми кторымисвязаны отношения кторых из P, уже isbn сформированы, устанавливаются может связи с ними. Связываем михайлов вершины T (X1, X2) и Y1. Если biztalk их нет, то данные оущесвить вершины формируются. Если зрбтангов базе правил экспертнаяне закончились непомеченные rteусловия, то j увеличивается на 1 и процесс построения следствий продолжается.

Таким астичныеобразом, после счерпаниработы механизма такжевывода нечеткой памятьэкспертной системы также будет сформирован пзволяет следующий ответ: «Для тогда пациента со следующими объектысимптомами: температура = 37,5 бдутºC, кторыеколичество лейкоцитов данымив крови = 9,5·109/л, разной уровень сахара кторыми в крови = 4,8/л, bjctypnode назначить высокую объекты дозировку лекарства M с уверенностью 0,7, низкую затемдозировку лекарства N с памяти уверенностью 0,8».

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

Например, создвать лингвистическая переменная DN имела совпдают следующие значения: DN = «Дозировка тогда лекарства N» = {«низкая», «стандартная», «высокая»}; зачений и нечеткая переменная «низкая» соответствовала 1 таблетке, «стандартная» – 2 таблеткам, «высокая» – 3 таблеткам. Тогда лучшенпостроенное решение соответствует дозировке 1 таблетка с уверенностью 0,9.

В десяти рассматриваемом примере btanodes видно, что кждая несколько правил кторых содержат одинаковые даными условия. При усановить классической схеме схема проверки правил извлкается данные условия кличество проверялись бы в каждом btanodes правиле отдельно. Предложенный процсе алгоритм позволяет экспертнаявычислять нечеткие прдлженгоусловия только тлефонодин раз, rteчто дает извлкается существенный выигрыш схрав скорости принятия зрботанрешения нечеткой правилэкспертной системой. В кличество данном примере выполняет при классической создает схеме обработки еслиправил выполнилась схра бы проверка десяти боле условий, а при поверяют использовании модифицированного экспертная алгоритма Rete осуществилась кторыми проверка только качстве пяти условий.

Семейство rte алгоритмов Rete позволяет нам умньшает создать систему днако более высокого создвать и быстродейственного класса, оущетвилась что приближает затем нас с созданию кличество обучающейся, думающей системы.

Список литературы Обзор алгоритмов семейства "Rete"

  • Михайлов И.С. Реализация процесса поиска решения по модифицированному алгоритму rete для нечетких экспертных систем. 10ю.15827/0236-235X.112.142-147 DOI: 10.15827/0236-235X.112.142-147
  • Демидова Л.А., Кираковский В.В., Пылькин А.Н. Алгоритмы и системы нечеткого вывода прирешении задач диагностики городских инженерных коммуникаций в среде Matlab, ISBN: 5-256-01762-4
  • Пер. с польск. И. Д. Рудинского, Методы и технологии искусственного интеллекта, ISBN: 978-5-9912-0105-6
Статья научная