Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

СППР

.pdf
Скачиваний:
192
Добавлен:
19.02.2016
Размер:
10.12 Mб
Скачать

169

Предположим, что через некоторое время возникла Необходимость получить информацию о всех дедушках. Для этого необходимо ввести предикат "дед" в секцию clauses. Сделаем это:

domains

имя = symbol database

дед = (имя, имя) predicates

ввод отец(имя, имя)

clauses

отец(а, в). отец(в, с). отец(с, е). Ввод:-

отец(Т, У),отец(7, Y),assert(a,ea(X, У)), write(X,naea",Y), nl.fail.

В результате наших действий, в секцию database записывается новый предикат, которого нет в секции predicates, а также появляется новый предикат "ввод", который позволяет вводить новые факты в базу данных.

Полученные программой факты можно записать на магнитный носитель, например, с помощью предиката:

save ("с: имя файла").

В свою очередь, прочитать этот файл можно с помощью предиката: consult(“c: имя файла”).

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

include (имя программы)

Рассмотрим пример, иллюстрирующий включение одной программы в другую:

программа EM P- содержит информацию о служащих, программа SAL - реализует алгоритм расчета заработной платы.

EMP:

include "SAL PRO" domains

η —integer s = symbol r = real

predicates

служащий(и, s, n, r) clauses

/* список служащих */

служащий(1484, "Петренко",20,720).

служащий(1486, "Сидоренко",14,740).

SAL: predicates

calculate clauses

calculate:- служащий^,A,Q,S),

write (“Фамилия служащего

F), nl,

write(“Адрес

“,Λ)’ nl,

 

мті/е(“Квалификация

“,Q), nl,

write(“Зарплата

“,Z), nl.

 

Fail.

 

 

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

171

ЧАСТЬ 2. ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ СИСТЕМ ПОДДЕРЖКИ ПРИНЯТИЯ РЕШЕНИЙ

2.1.Система поддержки принятия решений

вмедицинской диагностике

Материалы раздела базируются на результатах исследований, проведённых А.П. Ротштейном и описанных им в работах [1,2].

Медицинская диагностика (от греческого diagnostikos - способный распознавать) - это учение о методах и принципах распознавания болезней и постановки диагноза. Понятие "диагноз" трактуется обычно как нынешнее состояние больного или прогноз на будущее. Объективные и субъективные данные (симптомы), учитываемые врачом при постановке диагноза, называются параметрами состояния больного.

Любая задача медицинской диагностики может рассматриваться как поиск отображения

х" =(х*,Xj,...,**) -> d j e D = (di,d2,...,dm),

(2.1)

где X* - множество параметров состояния больного; D - множество возможных диагнозов.

Трудности решения задач диагностики обусловлены следующими причинами:

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

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

Вэтих условиях актуальной становится проблема создания автоматизированных систем, предназначенных для интеллектуальной

поддержки

принятия

решений

в

медицинской диагностике.

В рассматриваемой работе [2] предлагается реализовать подобную систему

на базе нечёткой логики.

 

 

 

Основными принципами функционирования

диагностической

интеллектуальной системы являются [2]:

 

 

1.

Принцип

лингвистичности

диагноза и

параметров состояния

больного.

В соответствии с этим принципом диагноз больного (выходная переменная) и параметры его состояния (входные переменные)

172

рассм атриваю тся как лингвистические переменные с качественными

термами.

Например: температура (пониженная, нормальная, повышенная, высокая); ишемическая болезнь сердца (дистония лёгкой степени dt> средней степени d2, тяжёлой степени di, стенокардия первого функционального класса d4, второго класса d5, третьего класса d6).

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

2. Принцип лингвистичносш диагностических знаний.

Согласно этому принципу причинно-следственные связи между параметрами состояния больного (причинами) и диагнозом (следствием) должны быть описаны на естественном языке, а затем формализованы в виде совокупности нечутких логических высказываний типа "ЕСЛИ....ТО...ИНАЧЕ".

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

3. Принцип иерархичности диагностических знаний.

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

Рис. 2.1. Дерево логического выводадля диагностики ИБС

173

Дерево логического вывода [2] для ишемической болезни сердца (ИБС) приведено на рис. 2.1.

Здесь через X1 + х12 обозначены основные диагностические параметры (таблица 2.1); d - опасность ИБС, которая измеряется уровнями d x+ d 6,

описанными выше; у - инструментальная опасность, которая зависит от параметров (X2lX35X45X5jJt10jJtn ); 2 - биохимическая опасность, которая

зависит от параметров {х6,Jt7,JC8,JC9,Xj2}.

Т а б л и ц а 2.1

* Примечание: параметры измеряются после работы на велоэргометре.

Структура дерева логического вывода отвечает соотношениям:

 

d=fi(x\,y,z),

(2.2)

y=fy(x2 ,xi,x*,x5,*to,*n),

(2-3)

z

(*6, Хъ *8, *9, *12)·

(2.4)

Для оценки значений лингвистических переменных X 1

+ xi2; у ; z

использована единая шкала качественных термов: H - низкий, нС - ниже среднего, С - средний, вС - выше среднего, В - высокий. Каждый из этих термов задаётся соответствующей функцией принадлежности.

174

При построении AqpeBa вывода необходимо стремиться к тому, чтобы число аргументов (входных стрелок) в каждом узле дерева вывода удовлетворяло правилу 7 ± 2 [3].

С формальной точки зрения задача установления медицинского диагноза на базе применения нечёткой логики полностью соответствует математической модели идентификации объекта с дискретным выходом, описанной в разделе 1.8. Например, соотношение для оценки достоверности диагноза dt имеет вид:

μ Λ'(ά) = \μΗ(Χι)μιί^ )μ Η(2)]ν

V[и"(*,)μΛ O')/**(ζ)]ν\μ* (*,)μΛ (γ)μ'*(ζ)]’

где

μΗ0 ) = μΒ(χ2)μΒ(Χ3)μΒ(Λ4)μΗ(Χ5)μΒ(Λιο)μΒ( ^ 1) ν

ν μ Β(χ2)μΒθ(χ3)μΒ(Χ4)μΗ^ 5 ) μ Β(^θ)μΒ(^.1) ν

.

(2-6)

*°(*2 )μ в(*з№^(*4 )μ Η(*з )μΒ(^ιο)μ V i ι)

 

 

PhcW = μΒ° ( ^ ) μ ^ (^ )μ Β(^ )μ Ηθ(^ )μ Β(*.ο)μΒί:(^ ι) V

 

ν μ 8(χ2)μ в ( з ) ц вС(х4)μ°(Λ5 )μ Β(^ιο)μ Β(¾ ) ν

»

(2-7)

V μ Βε(χ 2)μ (χ 3>μΒ (·*4)μ Ηθ(Λ:5 )μΒθ(·ϊ ιο)μ (χ π ) ..

 

μΗ(г) = μΒ(χ6)μΒ(χ7)μΒ (χ8 )μΒ(χ9)μΒ(χ12 ) ν

 

 

ν μ

(χ 6 )μ Β0ϊ 7)μ*ε (·ϊ 8)μ (χ β)μΒ<::(χ ΐ2 )ν

>

(2-8)

V μ Β(χ6)μΒ<:(χ7)μΒ(χ*)μ°(χ9)μΒ°(χ12)

 

 

μ"°(ζ) ш цвс(хб)цвс(х7)рс (х8)цс (х9)рвс(л12) V

 

ν μ °(χ 6)μΒ°(χ7 )μ° (-½)ЦвС(*9)μ Β (Χ12) V

 

(2.9)

ν ЦС(хб)ЦВ(х7)ЦВС(ЛГ8)ЦВС(лг9)ЦВС(х12)

 

 

Здесь μ(...) -

соответствующие функции принадлежности:

Общее

число логических уравнений составляет 16.

Нечёткие логические уравнения вместе с функциями принадлежности нечётких термов позволяют принимать решение об уровне ИБС по

следующему алгоритму:

 

 

 

1.

Фиксируются

значения

параметров состояния

больного

X* =(xlxl...,x*l2).

 

 

 

 

2.

Определяются

значения

функций принадлежности

μ*(χ’) при

Vфиксированных значениях параметров х*, і = 1, 12; к = Н, нС, С, вС, В.

3.

Используя логические уравнения вычисляются значения функций

 

 

А,, · *

*

ч

 

TTtiUUOn Пймгиллти

Il ' I Y. У*

Y-- I

ППИ ПРІГТЛПІ» гллтлоиио

 

175

X* ==(х1*,др2,...,х*2) для всех диагнозов du d2,

d6. При этом логические

операции И (л) и ИЛИ (v) над функциями принадлежности заменяются операциями min и шах:

μ(α) л μ(2>) = τηΐη[μ(α),μ(Ζ>)],

(2.10)

μ(α)νμ(Α) = η ΐ3 χ [ μ ( β ) ,μ ( 6 ) ] .

4. Выбирается решение d* (диагноз), для которого

 

\id> (χ ΐ,χ 2 ,...,χ*2) = im x|>rf' (**,¾ ,...,¾ )]

(2.11)

Структура СППР приведена на рис. 2.2. Она содержит 7 программных блоков. СППР на базе нечёткой логики состоит из двух частей: оболочки и собственно системы подготовки решения. Программное обеспечение (ПО) СППР выполнено на языке Паскаль в объектно-ориентированном стиле IBM-совместимых ПЭВМ, работающих под управлением операционной системы MS-DOS. ПО использует международный стандарт символьного пользовательского интерфейса CUI.

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

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

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

Для представления знаний в СППР использовался объектноориентированный подход, предусматривающий хранение данных в виде объектов. Данные о дереве вывода и знания сформированы в виде двух объектЬв, имеющих списочную структуру. Объект "нечёткая переменная" (НП) имеет следующую структуру:

<имя, N, список термов, имя 1 >,

где N - количество термов в нечёткой переменной; имя - имя нечёткой переменной; имя 1 - имя корневой ветви дерева знаний для данной нечёткой переменной.

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

Рис. 2.2. Структура системы поддержки принятия решений

177

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

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

По желанию пользователя все ранее введённые данные сводятся в библиотеку, организованную по принципу базы данных. Это позволяет вводить для различных наборов данных правильные решения, полученные из практики. Такая информация из библиотеки позволяет контролировать достоверность работы СППР.

Возможна работа СППР в следующих пяти режимах: I) система; 2) база знаний; 3) настройка; 4) запрос; 5) объяснение. Каждый из режимов имеет подрежимы в виде меню. При выборе одного из подрежимов на экране появляются окна, в которых реализуются требуемые функции.

Вид развёрнутых режимов интерфейса представлен на рис. 2.3.

Рис. 2.3. Режимы работы программной оболочки

2.2.Система поддержки принятия решений при химической защите растений

Материалы данного раздела основаны на результатах исследований, проведённых Джумой Л.Н. и описанных в публикациях [4, 5].

По данным специалистов ООН прирост сельскохозяйственной продукции на 70 % может быть достигнут за счёт совершенствования агротехнических приёмов, включая применение химических способов борьбы с возбудителями заболеваний растений, вредителями, грызунами, а также внесения удобрений для подкормки растений и обогащения минерального состава грунта и обработку растений химическими препаратами с использованием наземной техники и авиации.

178

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

Задача химической защиты растений является комплексной задачей, включающей:

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

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

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

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

Рассмотрим основные принципы создания СППР при химической защите растений (СППР ХЗР). В основу этих принципов положены общие принципы создания автоматизированных систем: системности, развития (открытости), совместимости, стандартизации (унификации) и эффективности [5].

Основными требованиями к СППР ХЗР являются:

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

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