48530 (588561), страница 6
Текст из файла (страница 6)
Если рассматривать ,
и
как дескрипторы, а
как некоторый спецификатор, то легко установить соответствие между функциональными моделями и набором логико-трансформационных правил, хранящихся в базе знаний.
В задаче управления безопасностью магистральных газопроводов переходы между состояниями в пространстве состояний недетерминированы, что отражает неполноту знаний о возможностях таких переходов. В этом случае дуги сети, на которой производится планирование, взвешиваются значениями функции принадлежности.
В идеале необходимо получить прогноз развития событий на уровне описания тех ситуаций, которые могут возникнуть в будущем. То есть необходимо получить экстраполяцию в виде перевернутого дерева, показанного на рис.3.5 Его корень соответствует ситуации на объекте в данный момент времени. Если в качестве решения планируется , то последующие ярусы дерева показывают те ситуации, в которые может попасть объект в результате реализации именно данного решения. Ветвление дерева соответствует той неопределенности, с которой можно представить процесс развертывания событий. Около каждой ситуации, лежащей на концевых ветвях дерева, проставлены оценки
, характеризующие возможность такого исхода.
Рисунок 3.5 - Дерево экстраполяции управленческих решений.
Если в исходной ситуации кроме решения можно использовать некоторые другие решения, то для всех них строится имитационный процесс, порождающий свое дерево такого же типа, как на рис.3.5 Далее по некоторому решающему правилу оцениваются полученные в результате моделирования оценки
и выбирается то решение
, для которого решающее правило дает наилучший результат.
Особенность описанного метода состоит в том, что при моделировании каждый раз имеется описание получаемой ситуации, а, значит, ее можно классифицировать с помощью Классификатора и оценивать ее конфликтность или неконфликтность для управления объектом.
3.3 Схема программы управления безопасностью магистральных газопроводов
Схема программы формирования дерева событий и определения пути движения по нему (поиск наиболее вероятного сценария развития событий) приведена на рис.3.6.
Поиск наименее вероятного сценария развития событий осуществляется аналогично, с той лишь разницей, что рассчитывается минимальная вероятность для выбранного следствия, а затем выбирается наименьшая из текущей и предыдущей.
По этой же схеме определяется сценарий развития событий с максимальным /минимальным ущербом. Отличие состоит в том, что рассчитывается значение не вероятности, а возможного совокупного коэффициента ущерба.
Рисунок 3.6 - Схема процесса формирования дерева событий и поиска пути движения по нему.
4. Программное обеспечение ситуационного управления безопасностью магистральных газопроводов
4.1 Описание программы управления безопасностью магистральных газопроводов
Программа предназначена для работы в операционных средах MicroSoft Windows 98/NT/XP. Windows обеспечивает удобный и наглядный интерфейс для осуществления операций с файлами, дисками и т.д. А также позволяет приложениям взаимодействовать с дисплеем, клавиатурой, мышью вне зависимости от конкретной модели устройства. Такая независимость от аппаратуры позволяет одному и тому же приложению работать на компьютерах с различной аппаратной конфигурацией.
В качестве среды программирования была выбрана Delphi 7.
Данный язык создает программы для операционной системы Windows, обеспечивает полную поддержку всех возможностей предоставляемых системой. Язык является полностью объектно-ориентированным, что позволяет легко моделировать необходимые модули программы. Большинство необходимых визуальных элементов уже встроены в оболочку и легко переносятся в проект. Основная концепция Delphi - это многомодульность. Объектно-ориентированный язык Delphi 7 позволяет сократить количество межмодульных вызовов и уменьшить объем информации, передаваемой между модулями, по сравнению с модульным программированием.
Программное обеспечение "МАГ" представлено следующими модулями:
Модуль формирования узлов дерева;
Модуль обработки степени доверия;
Модуль вопросов об объектах;
Модуль использования правил базы знаний;
Модуль поиска пути движения по дереву.
Модуль формирования узлов дерева выполняет следующие функции:
1) создание нового узла в вершине дерева (см. рис.4.1);
Рисунок 4.1 - Схема создания нового узла в вершине дерева
2) вставка узла в дерево после указанного узла (см. рис.4.2);
Рисунок 4.2 - Схема процесса вставки узла в дерево после указаного.
3) поиск узла - осуществляется последовательным перебором всех узлов дерева;
4) просмотр узлов дерева - позволяет вывести на экран список всех объектов и их значений, содержащихся в базе данных.
Модуль обработки степени доверия позволяет:
1) добавлять коэффициент доверия для каждого значения объекта;
2) изменять существующий коэффициент доверия;
3) извлекать коэффициент доверия из пары "объект-значение".
Модуль вопросов об объектах выполняет следующие функции:
1) добавляет вопрос об объекте;
2) выводит существующий вопрос для заданного объекта;
3) позволяет пользователю ответить на вопрос об объекте.
Модуль использования правил базы знаний позволяет:
1) добавлять к текущему правилу предпосылку;
2) добавлять к текущему правилу заключение;
3) считывать правила из текстового файла и заносить его в список правил базы знаний.
Модуль поиска пути движения по дереву выполняет следующие функции:
1) выводит наиболее или наименее вероятный сценарий развития ситуации;
2) подсчитывает вероятности реализации событий;
3) подсчитывает возможный ущерб при реализации каждого сценария.
В базе знаний хранятся сведения обо всех ситуациях, складывающихся либо на объекте транспорта газа, либо во внешней среде и связанных с возникновением аварии. В программе понятие "ситуация" определено как "объект". Для каждой ситуации определяются возможные пути трансформации текущей ситуации в другие ситуации ("значения объекта"). Каждое значение тот или иной объект может принимать с определенной степенью доверия, которая выражается относительной величиной - коэффициентом доверия (изменяется в пределах от 0 до 100).
Кроме того, каждая ситуация характеризуется коэффициентом ущерба - некоторой неотрицательной величиной, определяющей сумму материальных затрат, направленных на ликвидацию последствий ситуации.
Основной модуль программы - MAG. dpr. Модуль MainUnit описывает процедуру формирования "дерева" и поиска возможных путей движения по нему. В текстовом файле rules. txt хранятся все факты базы знаний и правила движения по "дереву".
Текст программы приведен в приложении Б.
4.2 Руководство по эксплуатации
Для запуска программы необходимо выбрать файл MAG. exe. На экране появится главная рабочая форма программы (рис.4.3).
Рисунок 4.3 - Главная форма ПО "МАГ".
Для того, чтобы наполнить базу знаний фактами, необходимо ввести имена объектов, их возможные значения коэффициенты доверия и коэффициенты ущерба. После чего нажать кнопку "1. Добавление факта в базу знаний" (рис.4.4).
Рисунок 4.4 - Область добавления фактов в базу знаний
Для проверки наличия в базе объекта с определенным значением необходимо ввести в соответствующее поле имя объекта и значение, а затем нажать кнопку "2. Проверить факт из базы" (рис.4.5).
Рисунок 4.5 - Область проверки наличия фактов в базе
Просмотреть все имеющиеся в базе факты можно, нажав кнопку "3. Просмотр фактов базы знаний". При этом результаты отобразятся в окне "Ход выполнения" (рис.4.3).
Запись всех фактов в текстовый файл осуществляется при нажатии кнопки "Сохранить базу в файл".
Для каждого объекта возможно добавление вопроса. Для этого необходимо ввести имя объекта и вопрос, после чего нажать кнопку "4. Добавить вопрос объекта" (рис.4.6).
Рисунок 4.6 - Область добавления вопроса объекта.
Кнопка "5.1. Получить вопрос об объекте" позволяет определить заданный по конкретному объекту вопрос.
Для того, чтобы выбрать определенное значение ответа на вопрос, необходимо выбрать его порядковый номер и затем нажать кнопку "5.2. Ответить на вопрос об объекте" (рис.4.7).
Рисунок 4.7 - Область получения ответа на вопрос
Для определения наименее вероятного сценария развития событий необходимо ввести описание ситуации и нажать кнопку "6. Поиск наименее вероятного сценария развития событий". Результаты поиска отобразятся в окне "Ход выполнения".
Для определения наиболее вероятного сценария развития событий необходимо ввести описание ситуации и нажать кнопку "7. Поиск наиболее вероятного сценария развития событий". Результаты поиска отобразятся в окне "Ход выполнения".
Для поиска сценария с наименьшим возможным ущербом необходимо ввести описание ситуации и нажать кнопку "8. Поиск сценария с наименьшим ущербом". Результаты поиска отобразятся в окне "Ход выполнения".
Для поиска сценария с наибольшим возможным ущербом необходимо ввести описание ситуации и нажать кнопку "9. Поиск сценария с наибольшим ущербом". Результаты поиска отобразятся в окне "Ход выполнения".
Завершение работы программы осуществляется при нажатии кнопки "Выход".
4.3 Контрольный пример
Для начала работы с программой необходимо запустить файл MAG. exe. После запуска файла на экране появится главная форма (рис.4.3).
Сначала необходимо наполнить базу фактами. Для этого нужно ввести имена объектов, их возможные значения, коэффициенты доверия и коэффициенты ущерба.
Например, объект "ветер на здание", значение "концентрация <1%", коэффициент доверия 35, коэффициент ущерба 79.
Далее нажать кнопку "1. Добавление факта в базу знаний". Факт будет добавлен в базу знаний (рис.4.8).
Рисунок 4.8 - Добавление факта в базу знаний
Проверить факт на наличие в базе можно следующим образом. Ввести имя объекта ("ветер на здание") и его значение ("концентрация <1%"), затем нажать кнопку "2. Проверить факт из базы". В окне "Ход выполнения" появится информация "Факт верен" (рис.4.9).
Рисунок 4.9 - Проверка наличия факта в базе (факт имеется)
Если факт отсутствует в базе знаний (например, объект "ветер на здание" со значением "концентрация <10%"), то после нажатия кнопки "2. Проверить факт из базы" в окне "Ход выполнения" появится информация "Факт неверен" (рис.4.10).
Рисунок 4.10 - Проверка наличия факта в базе (факт отсутствует)
Чтобы просмотреть все имеющиеся в базе факты необходимо нажать кнопку "3. Просмотр фактов базы знаний". В окне "Ход выполнения" отобразятся все имеющиеся в базе факты (рис.4.11).
1>1>10>