Научная статья на тему 'ОБЗОР АЛГОРИТМОВ СЕМЕЙСТВА "RETE"'

ОБЗОР АЛГОРИТМОВ СЕМЕЙСТВА "RETE" Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
89
13
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
RETE АЛГОРИТМ / ЭКСПЕРТНЫЕ СИСТЕМЫ / БЫСТРОДЕЙСТВИЕ / ИСКУСТВЕННЫЙ ИНТЕЛЛЕКТ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Лапшина С.А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

AN OVERVIEW OF ALGORITHMS OF THE FAMILY, "RETE"

In this article, the Rete algorithm and its modifications are considered the most common in the modern world. The Rete algorithm allows you to quickly find and write down the information you need. It is the basis of most modern expert systems and not only.

Текст научной работы на тему «ОБЗОР АЛГОРИТМОВ СЕМЕЙСТВА "RETE"»

- организовать информирование клиентов и четкое взаимодействие с ними.

Использованные источники:

1. ITU-Т Recommendation Е.860 (06/2002). Framework оf а service level agreement.

2. ITU-Т Recommendation М.3342 (07/2006). Guidelines For the definition оf SLA representation templates.

3. ЕG 202 009-3. User Group; (Quality of telecom services; Part 3: Template for Service Level Agreements (SLА). 2007.

4. SLA Management Handbook. GВ917. Rel. 3.1, v. 1.2. ТМ Forum, 2012.

УДК 519.712.2

Лапшина С. А. студент 4 курса

кафедра «Система обработки информации и управления»

научный руководитель: Гапанюк Ю.Е.

доцент

кафедра «Система обработки информации и управления»

МГТУ им. Н.Э. Баумана Россия, г. Москва ОБЗОР АЛГОРИТМОВ СЕМЕЙСТВА «RETE»

Аннотация :

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

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

Lapshina S. A., student

4year the Department of "informationprocessing System and control"

Russia, Moscow, MGTU im N. Uh. Bauman Supervisor: Gapanyuk Yu. e., associate Professor theDepartment "System of information processing and management"

Russia, Moscow, MGTU im. N. Uh. Bauman AN OVERVIEW OF ALGORITHMS OF THE FAMILY, "RETE" Annotation :

In this article, the Rete algorithm and its modifications are considered the most common in the modern world. The Rete algorithm allows you to quickly find and write down the information you need. It is the basis of most modern expert systems and not only. Keywords:

Rete algorithm, expert systems, speed, artificial intelligence.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Rete

Type Nodes Select Nodes Л

Рис 1.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Рис 2.

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

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

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

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

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

DN = «Дозировка лекарства №> = {«низкая», «стандартная», «высокая»};

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

Также система содержит следующий набор правил: ((TP = «высокая») и (NL = «высокое») и («LS» = = «низкий»)) ® (DN = «высокая»);

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

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

((TP = «высокая») и (NL = «высокое»)) ® ® (DM = «высокая»). Рассмотрим работу экспертной системы на примере пациента со следующими I симптомами: температура = 37,5 °C, I количество лейкоцитов в крови = 9,5 109/л, уровень сахара в крови = 4,8 ммоль/л.

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

температура = 37,5 °C, тогда ]ТР_высокая(37,5 °C)=0,9, ]ТР_низкая(37,5 °C)=0,01, ]ТР_нормальная(37,5 °C)= 0,2;

количество лейкоцитов в крови = 9,5109/л, тогда при норме 5,58,8- 109/л получим:

]Ж_высокое(9,5 109/л)= 0,7, ]Ж_низкое(9,5 - 109/л)=0,02, ]№_нормальное(9,5 109/л)=0,4;

уровень сахара в крови = 4,8/л, тогда при норме 3,3-5,5 ммоль/л получим:

]Ь$_высокий(4,8 ммоль/л)=0,3,

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

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

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

данного отношения. Так будут сформированы T(T(X1, X2), X3), T(T(X1, X2), X4).

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

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

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

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

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

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

Использованные источники: 1. Михайлов И.С. Реализация процесса поиска решения по модифицированному алгоритму rete для нечетких экспертных систем. DOI: 10ю. 15827/0236-235X.112.142-147

2. Демидова Л.А., Кираковский В.В., Пылькин А.Н. Алгоритмы и системы нечеткого вывода прирешении задач диагностики городских инженерных коммуникаций в среде Matlab, ISBN 5-256-017624

3. Пер. с польск. И. Д. Рудинского, Методы и технологии искусственного интеллекта, ISBN 978-5-9912-0105-6

УДК 004.056.5; 53.04; 53.06

Мишина О.О.

студент НИУ «БелГУ» Лихолоб П. Г. стпреподаватель РФ, г. Белгород СКРЫТОЕ КОДИРОВАНИЕ РЕЧИ В ИЗОБРАЖЕНИИ

Аннотация: в данной статье рассматриваются стеганографический метод скрытного кодирования речи в изображении.

Ключевые слова: Информация, защита, стеганография, кодирование, стеганографические методы.

Mishina O. О. student «BelSU» Likholob P. G. St. Ave.

Russia, Belgorod COVERT SPEECH ENCODING IN THE IMAGE

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Abstract: this article discusses method of steganography is covert speech coding in the image.

Keywords: Information, security, steganography, encoding, steganography methods.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.