Программное обеспечение для разработки моделей нечетких систем автоматического управления

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

В дальнейшем в направлении прикладного исследования ИУС принятия решений активными субъектами целесообразно разработать:

• методы и алгоритмы решения задач информационного управления в социальных и экономических системах с учетом человеческого фактора;

• проблемно-ориентированные нечеткие и гибридные социально-экономические ИУС и нейронные сети;

• специальное программное обеспечение.

Подводя итоги, можно сделать следующие

выводы: сформулирована постановка задачи проектирования ИУС управления созданием ГГ-биз-

нес-инкубатора, рассмотрены необходимость и структура научного исследования по созданию ИУС принятия решений целеустремленными субъектами, представлена схема самоуправления в информационном конфликте, а также приведены программные приложения по обеспечению органов, ответственных за выполнение программы, возможностью планирования, оперативного отслеживания хода выполнения намеченных мероприятий с учетом имеющихся ресурсов и их своевременной корректировки.

Литература

1. Акофф Р., Эмери Ф. О целеустремленных системах. -М.: Сов. радио, 1974. - 274 с.

2. Бурков В.Н. Основы математической теории активных систем. - М.: Наука, 1977. - 255 с.

3. Бурков В.Н., Новиков Д.А. Как управлять организациями. - М.: Синтег, 2004. - 400 с.

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ДЛЯ РАЗРАБОТКИ МОДЕЛЕЙ НЕЧЕТКИХ СИСТЕМ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ

А.А. Тачков

Ключевые слова: логико-лингвистические модели, типовые функции принадлежностей, продукционные правила, алгоритм трансляции.

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

При этом приходится сталкиваться с проблемой выбора среды разработки и отладки таких моделей. Специфика ряда задач зачастую не позволяет использовать существующие решения типа Matlab, LabView, Fuzzy System Component и другие, особенно в случаях, когда требуется кардинальная перестройка модели без перекомпиляции проекта. Результаты, полученные с их помощью, не всегда могут быть использованы в других пользовательских приложениях. Поэтому удобное для практики решение заключается в разработке автономного модуля в виде DLL-библиотеки, подключаемой к объектно-ориентированным средам программирования.

Предлагаемый программный модуль выполняет следующие функции:

• оперативно формирует входные и выходные лингвистические переменные, термы (функции принадлежности);

• оперативно формирует, пополняет и редактирует базы нечетких знаний в интерактивном режиме;

• задает правила на языке, близком к естественному («ЕСЛИ ... ТО....»);

• позволяет оперативно отлаживать базы знаний и осуществлять их настройки;

• проверяет правила при помощи синтаксического анализатора;

• осуществляет визуализацию результата выполнения правил из сформированной базы;

• сохраняет созданную модель в файл, а также считывает ее из файла;

• пошагово выполняет продукционные правила.

Модуль поддерживает тип моделей MIMO (multi-input multi-output), логические операции И, ИЛИ, связанные с лингвистическими переменными, реализует классический метод максимина (max-min) при преобразовании функций принадлежности термов выходных лингвистических переменных, а также осуществляет импорт входных значений из внешней программы и экспорт результатов в нее.

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

Рис. 1. Структурная схема модуля

База данных имеет древовидную структуру и хранит указатели на соответствующие объекты: ТУапаЫв (лингвистическая переменная) и Т¥ы11у$>еХ (нечеткое множество). Все лингвистические переменные разделены на входные и выходные, поэтому дерево содержит два родительских узла - «Входы» и «Выходы». Ветви, содержащие указатели на Т¥ы1ху$>ег, в свою очередь, являются дочерними по отношению к соответствующим узлам лингвистических переменных.

Нечеткие множества в модуле задаются типовыми функциями принадлежностей S-, П-, Л-типа) по двум-четырем точкам.

Формирование базы продукционных правил осуществляется построчным синтаксическим вводом в специальное окно редактирования. Такой ввод более приближен к естественному языку. Отдельно взятая строка представляет собой продукционное правило, антецедентами которого выступают соответствующие термы входных лингвистических переменных, а консеквентом - терм выходной переменной. В качестве логических операторов, связывающих несколько антецедентов в правиле, используются операции И, ИЛИ, операция НЕ зарезервирована. По мнению авторов, использование операции НЕ усложняет обработку правил, и в этом случае проще использовать термы новой лингвистической переменной, противоположной исходной по смыслу. С позиции человеческой логики, например, выражение «неопасно слева» эквивалентно «безопасно слева», и тогда математическая интерпретация входной переменной может быть представлена в виде Х=1-Х*, где X* - множество точек, описывающее исходную лингвистическую переменную.

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

ЕСЛИ ЦельСлева ТО ВлевоМедленно ЕСЛИ ЦельСправа ТО Вправо

ЕСЛИ ЦельПрямо И ОпасностьПрямо ТО ВлевоБыстро

В начале трансляции лексемы каждой строки считываются в список и передаются в транслятор, осуществляющий проверку на их допустимость и порядка следования. Если ошибок не обнаружено, происходит дальнейшая трансляция в динамический массив целого типа данных, длина которого определяется количеством лексем в строке. Антецеденты передаются в массив в виде номеров ветвей в дереве, являющихся идентификаторами, а операторы И, ИЛИ, ТО в виде отрицательных констант. По окончании трансляции всех правил функция анализа процесса трансляции возвращает значение логической истины. В случае возникновения ошибок формируется лист, в который заносится информация об ошибке. Трансляция всегда проводится до конца с регистрацией всех возникших ошибок, что минимизирует время, затрачиваемое на отладку правил. Конечным ее результатом является формирование п-динамических векторов, где п - количество продукционных правил.

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

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

ЦельПрямо И ОпасностьПрямо ТО ВлевоБыстро

0 1 2 3 4

Такая структура массива позволяет легко формализовать процесс определения степени истинности каждого правила в соответствии с блок-схемой (рис. 2).

Полученные значения степеней истинности каждого правила позволяют провести тш-активи-зацию, при этом результирующая функция для

ИЛИ

У=шах(У,]

Найти позицию в дереве, соответствующую идентификатору, и записать по его адресу ОупАггау[1+1]

Конец

Рис. 2. Блок-схема активизации одного правила

Сместиться на 2 позиции

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

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

Графический интерфейс модуля представлен двумя формами: главной и вспомогательной диалоговой, применяемой при добавлении новых переменных и термов. Визуальные компоненты главной формы распределены по трем закладкам: «Функции принадлежности», «Правила» и «Отладка» таким образом, чтобы обеспечить пользователю последовательность разработки и удобство в эксплуатации. Первая содержит дерево БД, хранящее указатели на объекты ТУапаЫе и ТЕыну-БгХ, поля редактирования характеристик функций принадлежности, а также диаграмму, отображающую ансамбль термов для одной лингвистической переменной. Вторая - окна для ввода правил и отображения возникших во время трансляции ошибок, а также кнопку ее запуска. В последней закладке располагаются динамически создаваемые

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

Испытания БЬЬ-библиотеки проводились на базе программного обеспечения, работающего совместно со средой имитационного моделирования ПК МВТУ 3.5, при исследовании работы нечетких регуляторов. Результаты компьютерного моделирования подтвердили эффективность алгоритмов, заложенных в модуль, и правильность его функционирования, а также высокую скорость выполнения операций.

Литература

1. Джонс М.Т. Программирование искуственного интеллекта в приложениях. / Пер.с англ. - М.: ДМК Пресс, 2006.

2. Макаров И.М., Лохин В.М., Манько С.В., Романов М.П. Искуственный ителлект и интеллектуальные системы управления: Отделение ИТ и ВС РАН. - М.: Наука, 2006.

3. Градецкий В.Г., Вешников В.Б., Калиниченко С.В., Кравчук Л.Н. Управляемое движение мобильных роботов по произвольно ориентированным в пространстве поверхностям. - М.: Наука, 2001.

УГРОЗЫ БЕЗОПАСНОСТИ СЕТЕВОЙ ИНФРАСТРУКТУРЫ ОРГАНИЗАЦИЙ

Н.О. Андреев

Ключевые слова: несанкционированная модификация информации, эксплойты, вирусы, аудит безопасности программного кода, рассылка спама, «кардеры», «троянцы».

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

Все организации стремятся избежать нарушений и перебоев в работе программного обеспечения (ПО) внутреннего пользования и сервисов, предоставляемых клиентам, полного либо частичного повреждения, перехвата сторонним лицом управления какими-либо сервисами системы.

Нарушения и перебои в работе периодически происходят практически в любой организации. Причины самые разные - от физического отказа оборудования до выключения электричества. В данном контексте можно выделить две проблемы безопасности: DoS-атаки и действие вирусов. DoS (denial of service - отказ в обслуживании) - попытка грубо вывести из строя какую-либо станцию. Как правило, неудобства длятся до прекра-

щения атаки, так как фактически атакующая станция испытывает такую же нагрузку, как и атакуемая. Поэтому для атаки выгодно задействовать несколько компьютеров, тогда к аббревиатуре добавляется буква Б (Disributed - распределенная) -ББо8-атака.

Борьба с попытками нарушить работу обычно сводится к блокировке 1Р-адресов (отдельных или диапазона). От того, насколько оперативно это будет сделано, зависит размер ущерба организации.

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