Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Краткие теоретические сведения. Факторы уверенности используются в области математики, называемой нечеткой логикой
Факторы уверенности используются в области математики, называемой нечеткой логикой. Поскольку эвристические правила "ЕСЛИ-ТО" (т.е. эмпирические, получаемые из личного опыта эксперта) основываются исключительно на человеческой опыте, то с полной определенностью нельзя сказать, что они верны. Пользователь ЭС также не может быть полностью уверен, что значения, которые он присваивает переменным, абсолютно корректны. Например, правило: Если процентные ставки растут и налоги уменьшаются, то уровень цен на бирже растет, верно не всегда, поэтому можно приписать ему значение некоторого фактора уверенности (ФУ). ФУ может иметь значение от 0 до 100. Конечно, правила, для которых ФУ = 0, рассматривать нет смысла. А если ФУ = 100, то это полная уверенность в том, что правило верно. Пусть приведенное правило имеет ФУ, разный 90, и нельзя утверждать. что процентные ставки падают, т.е. первому условию правила назначен ФУ, равный 60. Кроме того, допустим, что налоги колеблются (то увеличиваются, то уменьшаются), поэтому предположить уменьшение налогов можно, только если ФУ равен 80. Тогда правило можно записать так: "Если процентные ставки падают (ФУ = 60) и налоги уменьшаются (ФУ = 60), то уровень цен на бирже растет {ФУ = 90). ФУ, что уровень цен на бирже будет расти, может быть подсчитан, например, следующим образом: выбирается минимальный ФУ для условий части "ЕСЛИ" правила, разделенных логическим оператором "И", и умножается на ФУ для всего правила. Для приведенного правила (minimum (60, 90) * 90) /100=54. (Делим на 100 для нормализации ФУ). Следовательно, при ФУ=54 можно сказать, что уровень цен на бирже будет падать. Возможны различные действия с ФУ. Например, можно было бы так объединить ФУ: maximum (minimum (60,80), 90) = 90. Т.е. объединение ФУ зависит от контекста поставленной задачи {но при этом все равно существуют определенные правила, которые будут объяснены ниже).
1. Факторы уверенности
ФУ присваиваются с помощью указателя сf, например, problem = alternator cf 80. "GURU" разрешает связать ФУ с любой рабочей переменной, используемой набором правил. ФУ используются для того, чтобы определить степень достоверности в наших знаниях. По мере накопления данных наша уверенность в отдельном факте может либо возрастать, либо снижаться. Результаты, полученные на основе применения более достоверных факторов, значительно весомее тех, которые была получены на основе применения менее достоверной информации. Если ФУ не указан для какого-либо значения, тогда предполагается, что cf = 100. ФУ используются также для того, чтобы определить, известна конкретная переменная или нет. Если значения ФУ выше, чем граничное значение, определяемое пользователем к устанавливаемое с помощью переменной среды {E.UNKN}, тогда считается,. что эта переменная известна, и что на основе данного факта можно делать заключения. ФУ можно явно присваивать, используя операторы "GURU". ФУ могут присваиваться самим пользователем.
2. Объединение ФУ
Если в набор правил включена одна или несколько переменных, ФУ которых ниже 100, то во время консультации "GURU" будет аргументировать с этими показателями недостоверности. Метод их использования в процессе аргументации относятся к алгебре ФУ. Различным ситуациям соответствует свои алгебры. В зависимости от характера применения одна алгебра вычисления ФУ может быть предпочтительнее остальных. Для большей гибкости в системе "GURU" используется широкий диапазон встроенных алгебр вычисления ФУ. В процессе любой консультации вы можете сами выбирать имеющуюся алгебру путем присвоения нужным переменным среды необходимых значений. Когда вы впервые столкнетесь с ФУ, вы не будете иметь дело с изменением значений по умолчанию переменных среды. Их первоначальные значения по умолчанию - это алгебры вычисления ФУ, который обычно используется в традиционных ЭС. В процесса ознакомления с характеристиками ЭС "GURU" может возникнуть желание использовать гибкость "GURU", которая предоставляется для процесса аргументации с недостоверными переменными. Значения переменных среды E.CFJO, E.CFCO, E.CFVA и E.ONKN указывают, каким образом будет осуществляться вычисление ФУ системой "GURU" во время консультации. Необходимо заметить, что данные переменные среды не являются "жестко закрепленными" к набору правил. Это значит, что можно динамически изменять алгебраические методы. не меняя при этом сам набор правил. E.CFJO и Е.СFСО контролирует процесс вычисления общего ФУ логического выражения, если в качестве такового рассматривается посылка правила. Если полученный в результате ФУ превышает E.UNKN, то "GURU" считает посылку известной с достаточной степенью уверенности, чтобы включить правило в перечень допустимых к использовании. Если ФУ. посылки меньше или равен E.UNKN, то посылка считается неизвестной и правило не будет включено. Поясним разницу в использовании Е. CFJO и Е. CFCO. Допустим, выражения 1 и 2 истинны в некоторой посылке каждое в отдельности (с факторами уверенности соответственно CF1 и CF2. Причем в СF1 и CF2 превышают граничное значение ФУ E.UNKN, при котором или меньше посылка с этими выражениями была бы недопустима для использования. Нам необходимо теперь "определить" степень достоверности посылок такого вида: а) выражение 1 И выражение 2; б) выражение ИЛИ выражение 2 И "а" и "б" истинны, но степень достоверности, "б" выше, чем степень достоверности "а". Это объясняется тем, что в случае с "а" истинными должны быть оба выражения, а в случае с "б" для того, чтобы общее значение было истинным, необходимо истинность только одного выражения. E.CFJO объединяет степени достоверности в случае "a", E.CFCO обрабатывает случай "б". Оценка ФУ всего правила (в предположении, что были заданы ФУ посылки и заключения в отдельности) осуществляется с использованием только E.CFJO. В том случае, если значение отдельной переменной было получено в результате действия двух правил, для обеспечения зачисления ФУ этой переменной по совокупности двух правил используется Е.СFVA. "Случай" двух правил с использованием E.CFVA обобщается на любое количество правил (см. ниже в описании настоящей лабораторной работы).
3. Методы объединения ФУ для переменной Е.GFJO, описывающей среду
Предположим, что "а" и "в" - это два ФУ, соединяемые в один фактор на основе использования переменной среды E.CFJO. Результирующий ФУ приведен в табл.1.
Таблица 1.
Методы вычисления ФУ на основе значения E.CFJO
Из этих методов метод минимального значения всегда будет в результате давать наивысший ФУ, а произведение - самый низший, среднее значение - это среднее между этими двумя методами. Если через Е.CFJO соединяются больше двух ФУ, то результаты двух предельных методов вычисления (минимум и произведение) не зависят от порядка объединения этих факторов. Например, объединение "с" результатом "а" и "в" дает тот же результат, что а объединение "в" с результатом "а" и "с". Порядок вычисления может влиять на результат только в случае использования методов вычисления среднего значения и остатка, но эти результаты будут всегда располагаться между предельными результатами (минимум и произведение).
4. Методы объединения ФУ для переменной E.CFCO, описывающей среду
Предположим "а" и "в" - это ФУ, соединяемые в один фактор на основе использования переменной среды Е.CFCО. Результирующий ФУ приведен в табл.2.
Таблица 2
Методы вычисления ФУ на основе E.CFCO
Из этих методов низший ФУ всегда у методов максимумов, а вероятная сумма всегда имеет в результате высший ФУ. Среднее значение располагается посередине этих методов. Если через E.CFCO соединяются больше двух ФУ, то результаты двух предельных методов вычисления (максимальное значение и вероятная сумма) не зависят от порядка объединения этих фактов. Например, объединение "с" с результатом ''а" и "в" дает в тот же результат, что и объединение "в" с результатом "а" и "с". Порядок вычисления может влиять на результат только в случае использования методов среднего значения, но эти результаты будут всегда располагаться между предельными результатами (максимальных значений и суммы вероятностей).
5.Методы объединения ФУ для переменной E.CFVA, описывающей среду
Во время процесса консультации: может быть много правил. Возможно, что несколько из них в результате выдадут одно и то же значение для определенной переменной. Например, два из всех включенных правил могут иметь LET URATE=0.6 CCF X в качестве части действий, где ФУ=Х того, что URATЕ равен 0.06, может быть для каждого правила различной. Более того, каждое из их правил может включаться с различной степенью уверенности (т.е. ФУ их посылок отличаются друг от друга). "GURU" объединяет все эти ФУ. для вычисления уверенности, при которой URATE равен 0,06. Используемый метод вычисления определяется значением CFVA, если только какой-либо другой метод вычисления не был специфицирован для URATЕ в разделе переменной набора правил. В разделе переменной может использоваться любой но шестнадцати типов вычисления, разрешенный для E.CFVA. Предположим, что ai - это ФУ, вычисленный "GURU" для посылки правила i, a вi - это ФУ, присвоенный определенному значению переменной V в действии этого правила. Предположим что аj - это ФУ, который "GURU" вычислила для посылки правила, a вj - это ФУ, присвоенный тому же значении V в действии завила j. "GURU" вычисляет ФУ для значения V в два этапа. 1. В пределах правила "GURU" вычисляет Ci как общий ФУ из аi и вi, Cj - как общий ФУ из aj и вj. Если предположить, что помимо правил i и j встретились правила, в действий которых V присвоено то же значение, что и в действиях правил i и j, то ФУ каждого из этих других правил вычислялся бы тем же способом. При вычислении общей уверенности могут последовательно использоваться методы (М) МИНИМУМ, (Р) ПРОИЗВЕДЕНИЕ или (А) СРЕДНЕЕ ЗНАЧЕНИЕ. 2. По совокупности правил "GURU" вычисляет фактор уверенности для переменной V из Ci и Cj (и других С, если такие имеются; методом подтверждения. Данный способ вычисления использует следующие методы: М (максимальное значение). Р (сумма вероятностей, А (среднее значение). Этот этап пропускается если было включено хотя бы одно правило, дающее в результате определенное значение V. Встроенные методы вычисления фактора уверенности для значения переменной во время консультация приведены в табл.3
Таблица 3 Встроенные методы вычисления фактора уверенности
6.Значения ФУ для выражений, содержащих переменные
Пусть даны команды: FIRSTHAME = "ГЕОРГИЙ" cf 40 LASTNAME = "ГЕОРГИЕВ" cf 60 NAME = FIRSTNAME + LASTNAME "GURU" должна воспользоваться каким-либо методом., чтобы вычислить общий ФУ для NAME. Метод объединения ФУ выражений зависит от E.CFJO. По умолчанию E.CFJO = М (минимум). В этом случае NAME имеет ФУ, равный 40. Другой примеp: FIRSTNAME = "ГЕОРГИ" cf 40, LASTHAME = "ГЕОРГИЕВ"-cf 60, NAME = FIRSTNAME + LASTNAME cf 80. Этот пример аналогичен предыдущему, за исключением дополнительного третьего ФУ, который осложняет процесс вычисления общего ФУ. Сначала с помощью E.CFJO объединяются ФУ FIRSTNAME и LASTNAME. Выдается промежуточный ФУ, равный 40. ФУ, равный 40, объединяется. с ФУ переменной NAME, разный 80. Опять берется минимум и выбирается 40.
7.Переменные набора (нечеткие переменные)
Переменная; которая одновременно может иметь несколько значений, каждое из которых характеризуется своим фактором уверенности, называется переменной набора. С помощью этих переменных можно получать наилучшую консультацию: вы можене использовать их для того, чтобы найти наилучший вариант или наиболее вероятное значение для критериев принятия решения. Например, если А имеет 2 значения, В - 3 значения, то Х = А + В может иметь 3 значения. Дублирующие результирующие значения объединяются. Если у вас есть команда "variable = 5", то она может означать либо то, что сейчас переменная.имеет значение 5, либо то что кроме всех предыдущих значений, принимаемых этой переменной, она имеет сейчас значение 5 с ФУ 100. Чтобы различать эти случае. в "GURU" существует синтаксическая структура {…}, которая используется для того, чтобы указать набор значений, принадлежащих одной переменной. X = { } - означает, что X имеет известных значений. X = { 1,2,3 } - переменная X является переменной набора, имеющей три значения 1, 2, 3. Переменные набора могут содержать значения, относящиеся к различным типам. Например { 1, "яблоко", 2.1). Каждый элемент переменной набора может иметь свой ФУ, например: { 1 cf 30, 2 cf' 40, 3 cf 100}. Все элементы набора переносятся в присваиваемое значение, например: X = { 1, 2 cf 50, 3 }, У = X, тогда Y = { 1, 2 cf 50, 3 }. Присвоение можно выполнять и при условии неопределенности, например: X = { 1, 2, 3 }, Y = X cf 50; тогда Y = { 1 cf 50, 2 cf 50, 3 cf 50 }. Используя E.CFCC, ФУ присвоенных значений можно объединить. Допустим E.CFCO - "р". В этом случае такое представление: X = { 1 cf 50. 2 cf 60 }, Y = X cf 50 можно заменить: У = { 1 cf 25, 2 сf 30 }. В "GURU" существуют операторы "+ =" и "- =', которые добавляют элементы в набор и удаляет элементы из набора. Например, запись; X = { 1,2,3 } и X + = 4 означает, что Х = { 1, 2, 3, 4}. Используя операторы "+ =" можно объединить, например X = { 1,2,3 }, Y = { 4,5 }, X += Y, тогда-X = { 1,2,3,4,5 }. Еще пример: X = { 1,2,3 }, X -= { 2,3 }, тогда X = { 1 }.
8.Функции поиска ФУ
CFV (переменная, значение) – выдает максимальное значение ФУ данной переменной CFN (переменная, номер) – выдает ФУ значения переменной, указанного номером. Порядок следующий: 1 – наивысший ФУ, 2 – второй по величине и т.д. VALN (переменная, номер) – выдает значение переменной по списку NUMVAL (переменная) – выдает количество значений переменной HIVAL (HIVAL переменная) – выдает значение переменной с наивысшим ФУ HICF (переменная) – выдает ФУ значения HIVAL LOVAL (переменная) – выдает значение переменной с наименьшим ФУ LOCF (переменная) – выдает значение переменной LOVAL TAB (переменная) – выдает внутренний номер переменной, который может использоваться командой HOW KNOWN (переменная) – выдает true, если у переменной есть значения, ФУ которых превышает минимальный уровень достоверности, устанавливаемый с помощью E.UNKN. Например, геолог уверен в том, что скальный пласт можно скорее обнаружить на глубине 20 футов, чем на глубине 40 футов, а найти его на глубине 60 футов почти невозможно. Тогда BERDOCK = { 60 cf 5, 40 cf 62, 20 cf 89 }. Другой пример. Предположим, цвет (color) имеет значения: красный cf 40, желтый cf 60, голубой cf 50, а дом (house) имеет значение красный cf 70.
Таблица 3.
Примеры вычисления ФУ для различных посылок
9.Пример для закрепления полученных знаний о ФУ
Рассмотрим и объясним подробно пример. Воспользуемся, примером лабораторной работы 1, но внесем в него изменения. Предположим, что мы проводим технический осмотр автомобиля и хотим сделать заключение, поедет он или нет. Мы проверяем аккумулятор, стартер и цепь зажигания и на основе результатов осмотра принимаем решение. Вот какие правила в этой экспертной системе.
Правило 1
Если исправны стартер, аккумулятор и цепь зажигания, то двигатель заведется с ФУ, равным минимуму ФУ аккумулятора, стартера и цепи зажигания.
Правило 2
Если ФУ того, что двигатель заведется больше 30, то система зажигания исправна.
Правило 3
Если ФУ того что двигатель заведется больше 30 к меньше 80, то необходим мелкий ремонт.
Правило 4
Если ФУ того что двигатель заведется меньше 30, то необходим капитальный ремонт. Вот как выглядит эта ЭС на языке "GURU":
GOAL: RESULT
RULE R1 IF: AKKUM = "ЗАРЯЖЕН" AND START = "ИСПРДВЕН" AND CIR = "ИСПРАВHA" THEN: DVIG="ЗАВЕДЕТСЯ" REASON: ЕСЛИ CTAPТЕP, АККУМУЛЯТОР И ЦЕПЬ ЗАЖИГАНИЯ В ИСПРАВНОМ СОСТОЯНИИ, ТО ДВИГАТЕЛЬ ЗАВЕДЕТСЯ
RULE: R2 IF: HICF(DVIG) > 80 THEN: RESULT="ИСПРАВЕН" RSASGH: если ФУ того, что двигатель заведется больше 60, то автомобиль – ИСПРАВЕН
RULE: R3 IF: HICF(DVIG) >= 30 AND HICF (DVIG) <= 80 ТНEN: RESULT="МЕЛКИЙ РЕМОНТ" REASON: если ФУ того что двигатель заведется больше 30 и меньше 80, то необходим мелкий ремонт
RULE: R4 IF: HICF(DYIG) < 30 THEN: RESULT="капитальный ремонт" REASOH: если ФУ того что двигатель заведется меньше 30, то необходим капитальный ремонт
INITIAL: E.RIGR = "A" E.WHH = "F" E.TRYP = "P" E.LSTR = 80 E.DECI = 0 E.OFVA = "MM" E.OFJO = "M" E.OFCO = "M" START = UNKNOWN CIR = UNKNOWN AKKUM = UNKNOWN DVIG = UNKNOWN RESULT = UNKNOWN PROM = UNKNOWN CLEAR "*** ТЕХОСМОТР АВТОМОБИЛЯ *** OUTPUT OUTPUT "ответьте на все вопросы и получите консультацию" OUTPUT "по системе зажигания" OUTPUT
DO: CLEAR OUTPUT "КОНСУЛЬТАЦИЯ ПО СИСТЕМЕ ЗАЖИГАНИЯ", RESULT
VAR: AKKUM FIND: PROM=0 INPUT PROM NUM WITH “на сколько вы уверены, что аккумулятор заряжен?” AKKUM = “ЗАРЯЖЕН” CF PROM LABEL ОПРЕДЕЛЯЕТ ЗАРЯЖЕН ЛИ АККУМУЛЯТОР
VAR: CIR INPUT РROM NUM WITH "насколько вы уверены, что схема зажигания исправна?" CIR = “ИСПРАВНА” CF PROM LABEL: ОПРЕДЕЛЯЕТ, ИСПРАВНА ЛИ СХЕМА ЗАЖИГАНИЯ
VAR: START FIND: PROM = 0 INPUT PROM NUM WITH "насколько вы уверены, что исправен стартер?" START = "ИСПРАВЕН" LABEL: ОПРЕДЕЛЯЕТ, ИСПРАВЕН ЛИ СТАРТЕР
VAR: DVIG LABEL: ОПРЕДЕЛЯЕТ, ЗАВЕДЕТСЯ ЛИ ДВИГАТЕЛЬ
VAR: RESULT LABEL: результат технического осмотра
VAR: PROM LABEL: промежуточная переменная для ввода ФУ END:
Для закрепления знаний рассмотрим подробно эту ЭС. Целью является переменная RESULT. Правило R1 определяет техническое состояние приборов. Правила R2, R3, R4 проверяют граничные значения ФУ. Функция HICF() определяет максимальное значение ФУ. Теперь рассмотрим переменные, которые используются в ЭС. Переменная PROM – это вспомогательная переменная, которая служит для ввода значений ФУ. Переменные AKKUM, START и CIR определяются одинаковым образом. Т.к. эти переменные должны вводиться в ходе диалога, то они имеют пункт FIND. Здесь сначала переменной PROM присваивается нуль, затем в переменную PROM вводится значение ФУ соответствующей переменной, затем соответствующая переменная специализируется с введенным ФУ. Данные переменные должны запрашиваться при проверке первого правила. При инициализации ЭС определяются системные переменные. E.RIGR = "А" - использование всех необходимых правил. Е.WHN - "F" - для поиска значения неизвестной переменной. Поиск осуществляется еще до попытки вывести значения неизвестных переменных. При этой запрашивается FIND. E.TRYP - "Р" - терпеливо пытаться определить значения всех неизвестных переменных, а затем оценить посылку. E.LSTR - 80 - длина символьной строки, при выводе на экран. E.DECI = 0 - количество десятичных знаков. E.CFVA "ММ", E.CFJO = "М", E.CFCO = "М" определяют алгебру ФУ (см. настоящее описание лабораторной работы, п.3). Далее идет инициализация переменных и команды для определения работы системы.
Date: 2015-12-12; view: 615; Нарушение авторских прав |