Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Работы с использованием оболочки EXSYS - 6 час



Лабораторная работа № 4б. Знакомство с пакетом. Изучение примеров ЭС.

Работа с имеющимися базами знаний. В меню кнопки "Пуск" найдите опцию Exsys Pro 16 с двумя приложениями: Pro Demo и ExDesign. Запустите приложение Pro Demo. Откройте меню File, выберите опцию Open и в открывшемся перечне баз знаний выберите cars.rul, помогающую американцам выбрать подходящий автомобиль. Откройте меню Options, выберите в нем опцию Run и отвечайте на вопросы экспертной системы согласно своим желаниям. Не удивляйтесь, если они не будут удовлетворены, так как база знаний располагает лишь двенадцатью моделями машин. Попытайтесь найти вариант пожеланий, который был бы удовлетворен.

Закончив последний сеанс общения с системой, откройте меню Rule, выберите в нем опцию Edit Rule, в открывшемся окне Rule to select выделите правило Number 1 и нажмите OK. В открывшемся окне вы сможете рассмотреть структуру первого правила, а действуя с помощью кнопок Next и Prev - получить доступ ко всем остальным. Внимательно изучите возможности этого окна, так как через него осуществляется не только просмотр, но также создание и редактирование правил. С помощью кнопки Cancel закройте окно редактирования правил. Далее, действуя через меню Rule, выберите опцию Qualifier List и откройте окно редактирования квалификаторов. Выделите последовательно каждый из квалификаторов и в режиме Edit внимально изучите их описание. Проделайте аналогичную работу со списком переменных (Variable List) и со списком выбора (Choice List). Ознакомьтесь описанным выше образом с остальными примерами баз знаний.

Задание: в соответствии с нашей действительностью (цены, состояние дорог) и вашим пониманием, как все должно быть, отредактируйте Initialize-значения переменных в системе cars.rul и проверьте, как изменится ее работа. Лучше ли она соответствует вашим представлениям? Внимание: не сохраняйте произведенные вами изменения при выходе из измененной вами базы знаний.

Инсталляция пакета. В лаборатории пакет инсталлирован. Вообще же пакет инсталлируется из папки Exsys на диске С:, содержащей саморазворачивающийся архив Wprodemo.exe (объем архива позволяет размещать его на одной дискете). Для инсталляции необходимо развернуть архив в папке Exsys, запустить появившуюся в ней программу Setup.exe и выполнять запросы программы установки. После завершения установки в меню "Пуск" появится опция Exsys Pro 16 с двумя приложениями: Pro Demo и ExDesign. Все файлы установленного пакета размещаются в папке C: \ Exsys 16 \ Pro.

Возврат
Лабораторная работа № 5а. Использование квалификаторов для построения ЭС.

Квалификатор - это переменная, принимающая вербальные значения, выражающие суждения качественного характера. Предположим, речь идет о выборе партнера в службе знакомств. Предположим также, что клиенты высказывают свои пожелания в отношении умственных возможностей, роста и дохода потенциального партнера. Введем тогда три квалификатора: "наличие ума" со значениями "важно", "желательно", "несущественно"; "желаемый рост" со значениями "большой", "средний", "малый" "любой"; "наличие дохода" со значениями "важно", "желательно", "несущественно". Следовательно, база данных службы знакомств должна содержать сведения такого характера о потенциальных партнерах, список которых в Exsys составляет содержание Choice List. Правила базы знаний (Rule) должны связать пожелания клиента (набор значений квалификаторов) с рекомендуемыми кандидатами (из списка Choice List), которые не всегда в полной мере соответствуют пожеланиям и потому не всегда рекомендуются с полной уверенностью (Confidence).

Создание ЭС в Exsys начинается с запуска приложение Pro Demo и выбора в меню File опции New, в результате чего открывается окно параметров, в котором по умолчанию заданы приемлемые для нашего случая все параметры и требуется лишь указать имя будущей системы (назовем ее choice0), предмет экспертизы (назовем его choice of partner) и автора системы (пусть это будет abc). В итоге основные параметры создаваемой нами системы будут таковы:

Subject: choice of partner

Author: abc

Confidence Mode: 0 - 10

DISPLAY THRESHOLD: 1

После подтверждения данных параметров нажатием кнопки ОК откроется окно с предложением сформировать список претендентов (Choice List). Проблема здесь в том, что Exsys не отображает кириллицу и приходится либо писать на английском, либо на русском с помощью латинских букв. Выберем для экономии времени последний вариант. В Choice List можно внести весь список выбора, либо его часть (минимум - один), а затем пополнить в режиме редактирования. Предположим, что мы ввели в этот список следующий состав потенциальных партнеров:

petr mal umen bogat

stepan nemal neglup nebeden

fedor velik glup beden

Подтвердив введенный список нажатием кнопки ОК, мы получаем возможность приступить к описанию квалификаторов. Откроем меню Rule и выберем опцию Qualifier List. Откроется окно для создания и редактирования квалификаторов. Обозначим квалификатор "наличие ума" со значениями "важно", "желательно", "несущественно" в латинском варианте сокращенно как um со значениями v, g, n. Последовательность действий при описании каждого квалификатора такова: New Qual. => Qualifier: um => Value: v => Add => g => Add => n => Add => OK. Эту последовательность действий повторим для квалификатора "желаемый рост" со значениями "большой", "средний", "малый", "любой", заменив его латинским вариантом rost со значениями b, s, m, l, и для квалификатора "наличие дохода" со значениями "важно", "желательно", "несущественно" в его латинском варианте dochod со значениями v, g, n. После завершения ввода последнего квалификатора подтвердим нажатием кнопки ОК весь список квалификаторов. В итоге в этом списке будем иметь квалификаторы: 1.um со значениями v, g, n; 2.rost со значенями b, s, m; 3.dochod со значениями v, g, n.

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

Предположим, что рассматривается совокупность требований: um=v ("наличие ума"="важно"), dochod=v ("наличие дохода"="важно"), rost=l ("желаемый рост"="любой"). Этим условиям в нашем списке Choice в разной степени соответствуют petr (10/10) и stepan (предположим, 8/10). Создадим соответствующее этим рассуждениям правило. В меню Rule выберем опцию Add Rule. В открывшкмся окне для формирования IF-части правила нажатием кнопки Qualifier получим доступ к специальному окну для выбора квалификатора и его значения. Выделим квалификатор um, его значение v и нажатием кнопки ОК включим в IF-часть формируемой продукции. Аналогичным образом выполним включение в IF-часть требований dochod=v и rost=l.

Для формирования THEN-части продукции переключим режим работы с IF на THEN и нажатием кнопки Choice откроем окно для формирования рекомендации. Выделив кандидатуру petr и степень уверенности 10 (из 10), нажатием кнопки ОК включим его в THEN-часть продукции. Повторив те же действия для кандидатуры stepan при уверенности 8 (из 10), закончим формирование THEN-части продукции. Подтвердим завершение формирования правила нажатием кнопки ОК. Сформированное нами правило (его можно просмотреть или отредактировать в режиме Rule => Edit Rule) будет иметь следующий вид:

IF:

um v

and dochod v

and rost l

THEN:

petr mal umen bogat - Confidence=10/10

and

stepan nemal neglup nebeden - Confidence=8/10

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

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

Лабораторная работа № 5б. Использование переменных при построении ЭС.

Что касается ума, то ему можно дать лишь качественную оценку. Что же касается роста и дохода, то клиенты нашей службы знакомств могут захотеть получить сведения и выдвинуть требования количественного характера. Учесть такие факторы позволяет использование переменных. Модифицируем ЭС предыдущей лабораторной работы, назвав ее choice1. Предоставим клиентам возможность задавать с помощью переменных minrost, maxrost, mindochod границы роста и дохода. Соответствующие характеристики кандидатов можно описать константами rostpetra, roststepana, rostfedora и dochodpetra, dochodstepana, dochodfedora в виде инициализированных переменных (переменных с фиксированными значениями). Задайте параметры новой ЭС choice1, список Choice возможных партнеров с их характеристиками роста, ума и дохода в составе:

petr 165 umen 20000

stepan 180 neglup 10000

fedor 190 glup 900

Квалификатор "наличие ума" со значениями "важно", "желательно", "несущественно" опишите так, как это делали в предыдущей работе (в латинском варианте сокращенно как um со значениями v, g, n). Таким образом Qualifier List в данном случае будет состоять лишь из одного этого квалификатора.

Далее займемся описанием переменных и констант. В меню Rule выберите опцию Variable List и в открывшемся окне нажмите кнопку New Variable, после чего вы окажетесь в окне описания переменной. Опишем переменную minrost. В разделе Name: напишем minrost, а в разделе Promt: расшифруем как minimal rost. Так как по умолчанию задана числовая переменная, какая нам и нужна, то можно описание этой переменной завершить нажатием кнопки ОК и пристурить к описанию следующей. Точно по этой схеме опишите перменные maxrost и mindochod. Несколько иначе описываются константы. Отличие состоит в том, что их значения фиксируются в разделе Initialize (например, константа rostpetra должна быть инициализирована значением 165, а константа dochodpetra - значением 20000). Кроме того, в данном случае можно установить для этих переменных режим Display at end, что позволит наблюдать их значения после завершения консультации. Проделайте эту работу для остальных констант: roststepana, rostfedora и dochodstepana, dochodfedora. Теперь мы готовы к построению правил.

Будем рекомендовать клиенту ту кандидатуру, которая удовлетворяет всем трем ограничениям: minrost, maxrost, mindochod. Это означает, что нам следует создать для каждой из кандидатур правило следующего типа.

В меню Rule выберем опцию Add Rule. В открывшкмся окне для формирования IF-части правила нажатием кнопки Qualifier получим доступ к окну выбора квалификатора и его значения. Выделим квалификатор um, его значение v и нажатием кнопки ОК включим в IF-часть формируемой продукции. Далее нажмем кнопку Var./Math, в результате чего откроется окно с предложением вввести формулу. Чтобы это сделать, надо получить доступ к переменным, что достигается нажатием кнопки Display Variables. Выделим в открывшемся окне переменную minrost и нажмем кнопку ОК В рельтате этого имя переменной minrost окажется включенным в будущую формулу. Так как у нас уже есть требование um=v, которому удовлетворяет petr, то продолжим написание формулы под кандидата petr, каждый раз извлекая имя нужной переменной через обращение к списку переменных путем нажатия кнопки Display Variables. Сформировав условие [minrost]<=[rostpetra], нажатием кнопки ОК включим его в IF-часть формируемой продукции. По этой же схеме сформируем м включим в IF-часть формируемой продукции третье условие [rostpetra]<=[maxrost] и четвертое условие [mindochod]<=[dochodpetra]. Этим будет закончено формрование IF-части правила.

Для формирования THEN-части продукции переключим режим работы с IF на THEN и нажатием кнопки Choice откроем окно для формирования рекомендации. Выделив кандидатуру petr и степень уверенности 10 (из 10), нажатием кнопки ОК включим его в THEN-часть продукции. Учитывая, что stepan и petr близки по характеристикам, включим в рекомендацию его кандидатуру при уверенности 8 (из 10) и закончим формирование THEN-части продукции. Подтвердим завершение формирования правила нажатием кнопки ОК. Сформированное нами правило будет иметь следующий вид:

IF:

um v

and [minrost]<=[rostpetra]

and [rostpetra]<=[maxrost]

and [mindochod]<=[dochodpetra]

THEN:

petr mal umen bogat - Confidence=10/10

and

stepan nemal neglup nebeden - Confidence=8/10

Задание: сформируйте аналогичным образом правила для остальных кандидатур. Проверьте работоспособность построенной ЭС.

Возврат


Лабораторная работа № 6. Построение нечетких иерархических продукционных систем.

Задача. Пусть - набор из двух заменяющих друг друга товаров (например, чай и кофе). Оценивать набор Х будем по трем критериям: - стоимость набора Х, - ресурс набора Х (количество чашек напитка), - " престижность " набора Х (например, в качестве напитка для угощения гостей).

Пусть = 40 руб.- цена пачки чая, =100 руб. - цена банки кофе; =200 - "ресурс" пачки чая (число чашек чая), =125 - "ресурс" банки кофе (число чашек кофе); = 0 - "престижность" пачки чая, = 125 - "престижность" банки кофе (наш потребитель считает, что угощать чаем - это "не престижно", а кофе -"престижно", поэтому =0, а = =125 - числу чашек кофе в банке).

Пусть "ценности" набора , где - число пачек чая, - число банок кофе в наборе Х вычисляются по формулам:

;

;

.

На ценности набора могут быть наложены сверху или снизу ограничения (например, стоимость набора Х может быть ограничена сверху величиной дохода, выделямого в месяц на этот вид потребления).

Предположим, что потребитель оценивает:

- стоимость набора Х в терминах: " низкая ", " средняя ", " высокая ";

- ресурс набора Х - в терминах: " недостаточный ", " достаточный "

- престижность набора Х - в терминах: " низкая ", " средняя ", " высокая ",

- интегральная полезность набора Х - в терминах " низкая ", " средняя ", " высокая ".

Если "ресурс" набора Х оценивается потребителем значением (X)=недостаточный, то (независимо от оценок набора Х по остальным критериям), интегральной оценке u(X) полезности набора Х следует присвоить значение u(X)=низкая. Если же "ресурс" набора Х оценивается потребителем значением (X)=достаточный, то интегральная полезность u(X) набора Х зависит от сочетания оценок его стоимости (X) и его "престижности" (X), представленной в следующей ниже таблице.

  (X)        
v v v s  
s v s n  
n n n n  
Рис.1. Интегральная функция полезности u (X) набора Х. Символы n,s, v соответствуют оценкам " низкая ", " средняя ", " высокая "  





Дата публикования: 2015-10-09; Прочитано: 391 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.011 с)...