Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая ЭС.rtf
Скачиваний:
45
Добавлен:
01.05.2015
Размер:
14.03 Mб
Скачать

1.2.3 Разработка логического блока программы

Для данной ЭС в программе Exsys Corvid были использованы следующие типы переменных (рис.1.2.1):

Рис.1.2.1

экспертный программа интерфейс пользовательский

Static List Variable - переменные со статическим списком значений - переменный, принимающие значения из заранее определенного списка, например, список множественного выбора.

Используемые переменные этого типа:

[Autonomy]

[Business]

[Cost]

[Games]

[Multimedia]

[Portability]

[Web]Variable - доверительные переменные - переменные, используемые для представления рекомендаций, которые будет выдавать система. С доверительными переменными ассоциируется доверительное значение (степень уверенности), которое показывает, основываясь на введенных пользователем данных, насколько достоверна та или иная рекомендация. Используемые переменные этого типа: [Ranking]- переменные коллекции - содержат пункты - текстовые строки (могут быть любой длины). Опции:

1. Добавлять отдельные текстовые пункты

2. Добавлять строку, которая является значением переменной

. Сортировать пункты, по значению

. Добавлять целый файл пунктов

. Добавлять другую переменную коллекции

. Удалить первый, последний или отдельный пункт, или все пункты.

Используемые переменные этого типа:

[Best]

[Comments]

[Firmlist]- используется для переменных имеющих числовой диапазон, включая числовые, строчные и переменные даты.

Используемые переменные этого типа:

[Battery]

BlueTooth

[CAM]

[CDDVD]

[Company]

[Core]

[CPU]

[Display]

[HDD]

[Message]

[Price]

[RAM]

[TypeGC]

[VideoRAM]

[Weighs]

[WIFI]

Для чтения переменных из файла в Corvid Exsys используется MetaBlock, в тексте программы переменные MetaBlockа заключаются в фигурные скобки.

В разработанной ЭС 3 логических блока:

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

Например: Если на вопрос. "Важно ли для Вас использовать ноутбук для современных игр и 3D-приложений?" пользователь ответит "важно", параметрам "Частота процессора", "Кол-во ядер процессора", "Объем ОП", "Объем видео-памяти", "Тип графического адаптера" будут присвоены следующие значения:

Частота процессора = 2ГГц

Кол-во ядер процессора = 2

Объем ОП = 2ГБ

Объем видео-памяти = 256МБ

Тип графического адаптера = дискретный

В программе это правило будет выглядеть следующим образом::

<br>Важно ли для Вас использовать ноутбук для

современных игр и 3D-приложений? важно

THEN:

[CPU] = 2

[Core] = 2

[RAM] = 2

[VideoRAM] = 256

[TypeGC] = 1

Для запуска каждого из логических блоков в Exsys Corvid служит командный блок (рис.1.2.3):

На схеме 1.2.1 наглядно представлено, какие параметры формируются при опросе пользователя по каждому из вопросов.

Схема 1.2.1

Логический блок 2 (рис.1.2.4) отвечает за формирование рейтинга по каждому из параметров ноутбука (Диаграмма 1.2.2).

Рис.1.2.4

При точном совпадении параметра реальной модели, параметру, сформированному в результате опроса в логическом блоке 1, рейтинг (по этому параметру) будет максимальным для этого параметра.

Такой метод применен для параметров Диагональ дисплея, Фирма-производитель, т.е. тех для которых важно точное соответствие пользовательскому значению.

IF:

{Display} = [Display]:: Confidence = 50

При отклонении значения параметра от предпочтительного для пользователя рейтинг будет тем меньше, чем больше будет это отклонение.

IF:

{Display} != [Display]:: Confidence = 50 - (5*ABS([Display] - {Display}))

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

IF:

{CPU} >= [Core]*[CPU]/{Core}:: Confidence = 50:

{CPU} < [Core]*[CPU]/{Core}:: Confidence = 50 - (5 * ([Core]*[CPU] - {Core}*{CPU}))

Обратная зависимость у параметра Цена:

IF:

{Price} <= [Price]:: Confidence = 100

IF:

{Price} > [Price]

Также стоит отметить, что по каждому из параметров максимально возможный рейтинг не одинаков (см. диаграмма 1.2.1): так для параметров цена и фирма-производитель он наибольший - 100, для частоты ЦП, Объема ОП, Диагонали дисплея и др. он равен 50, для таких параметров как наличие CD-DVD или Wi-Fi максимальный рейтинг равен 30. Т.о. при подборе моделей будут иметь большее влияние характеристики с большим рейтингом, т.е. наиболее важные цена, фирма-производитель (если для пользователя не важна эта характеристика, он может выбрать вариант "любая фирма", тогда рейтинг по этому параметру не будет учитываться), что позволит повысить качество выбора.

В конце логического блока 2 формируется список моделей сортированный по сумме значений рейтинга по всем параметрам (по убыванию), для последующего вывода 5 "верхних" моделей списка (Команда RESULTS).

-ий логический блок служит для добавления сообщения в случаи, если модели выбранной фирмы нет в базе товаров.

Диаграмма 1.2.1

Диаграмма 1.2.2