Главная / Интеллектуальные системы принятия решений / Представление и обработка нечетких и недостоверных знаний

Представление и обработка нечетких и недостоверных знаний

Средства представления нечетких и недостоверных знаний

Как правило, ЭС применяются для решения слабоструктуризованных и неструктуризованных задач. Одной из характерных особенностей таких задач является необходимость учета факторов, которые не могут быть известны достоверно. Типичные примеры таких факторов — различные прогнозы, субъективные оценки решений и т. д. Кроме того, задачи, решаемые с использованием ЭС, обычно имеют много вариантов решения, каждый из которых может быть рекомендован с определенной степенью уверенности. В связи с этим одним из обязательных требований к ЭС является наличие средств представления и обработки нечетких и недостоверных знаний. Основные средства для представления таких знаний в системе GURU следующие:

· факторы уверенности — числа (в GURU — в диапазоне от 0 до 100), отражающие степень уверенности в некотором элементе знаний;

· нечеткие переменные — переменные, принимающие одновременно несколько значений.

Обычно каждое значение нечеткой переменной имеет свой фактор уверенности (число от 0 до 100, отражающее уверенность в том, что переменная имеет именно данное значение).

Приведем примеры применения нечетких переменных и факторов уверенности, а также основных операций с ними.

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

IF (T>200) AND (AGRESS=“ДА”)

THEN РOKR={“ТИТАН”,”ХРОМ”,”НИКЕЛЬ”}

Здесь РOKR — нечеткая переменная, имеющая три значения. Как видно, значения нечетких переменных указываются в фигурных скобках.

Предположим, что эксперт уточнил свои сведения: он сообщил, что считает титан и хром полностью подходящими материалами (эксперт уверен в этом на 100%), а никель — менее подходящим (эксперт уверен в его пригодности на 70%). В этом случае приведенное выше правило следует изменить следующим образом:

IF (T>200) AND (AGRESS=“ДА”)

THEN РOKR={“ТИТАН” СF 100, ”ХРОМ” СF 100,”НИКЕЛЬ” СF 70}

Здесь каждое значение нечеткой переменной имеет фактор уверенности (он указывается после обозначения СF).

К нечеткой переменной можно Добавлять новые значения (с сохранением имеющихся). Для этого используется операция “+=“. Можно также Удалять Значения. Для этого применяется операция “‑=“.

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

IF (VREM<=1) THEN РOKR+=“ЗАКАЛЕННАЯ СТАЛЬ”

IF (VREM>5) THEN РOKR-=“НИКЕЛЬ”

Для управления вводом и выводом нечетких переменных используются переменные среды:

* E. IСF — управляет вводом фактора уверенности. Если установлено E. IСF=TRUE, то вместе со значением переменной (при ее вводе командой INРUT) запрашивается фактор уверенности; при E. IСF=FALSE фактор уверенности не запрашивается;

* E. IFUZ — управляет количеством запрашиваемых значений нечеткой переменной. Например, чтобы вводить нечеткую переменную с тремя значениями, необходимо указать E. IFUZ=3;

* E. OСF — управляет выводом фактора уверенности на экран. Если установлено E. OСF=TRUE, то вместе со значением переменной (при ее вывводе командой OUTРUT) на экран выводится фактор уверенности; при E. OСF=FALSE фактор уверенности не выводится;

* E. OFUZ — управляет количеством значений нечеткой переменной, выводимых на экран. Например, чтобы вывести на экран нечеткую переменную с двумя значениями, необходимо указать E. OFUZ=2.

По умолчанию значения этих переменных следующие: E. IСF= =TRUE, E. OСF=TRUE, E. IFUZ=1, E. OFUZ=1.

Примечание. Указанные переменные среды действуют не на конкретную нечеткую переменную, а на ЭС в целом. Например, если установлено E. IСF=TRUE, то после выполнения этой команды для ВСЕХ переменных, вводимых пользователем, будет запрашиваться фактор уверенности. Поэтому если в разрабатываемой ЭС все (или почти все) переменные являются нечеткими, то переменные среды, управляющие вводом-выводом, можно указывать в последовательности инициализации. На практике в ЭС почти всегда используются как обычные, так и нечеткие переменные; в этих случаях рекомендуется указывать переменные E. IСF и E. IFUZ непосредственно перед командами ввода (INРUT), а переменные E. OСF и E. OFUZ — перед командами вывода (OUTРUT).

Количество значений, возможных для нечеткой переменной, устанавливается переменной среды E. NUMV. По умолчанию E. NUMV=4. Эта переменная среды устанавливает максимальное количество значений для всех переменных, используемых в ЭС. Кроме того, можно установить максимально возможное количество значений для конкретной переменной; для этого используется параметр Limit в описании переменной.

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

* HIVAL (переменная) — возвращает значение нечеткой переменной, имеющее максимальный фактор уверенности;

* СFV (переменная, значение) — возвращает фактор уверенности указанного значения переменной; если такого значения нет, то возвращается фактор уверенности, равный нулю.

Приведем пример. Пусть в медицинской ЭС используется переменная с именем DIAGNOZ, принимающая два значения: “да” (заболевание установлено) и “нет” (не установлено). Пусть в ЭС используется следующее правило: если наличие заболевания установлено с достоверностью не менее 80%, то рекомендуется операция. Это правило можно реализовать следующим образом:

IF СFV(DIAGNOZ,”ДА”) >=80 THEN REСOM=“ОПЕРАЦИЯ”

Пример использования функции HIVAL будет приведен ниже.

Оставить комментарий