Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИТ Компьютерный практикум.doc
Скачиваний:
489
Добавлен:
20.03.2016
Размер:
3.35 Mб
Скачать
    1. Построение элементарной нечеткой экспертной системы

Цель: Освоить методику построения нечеткой экспертной системы.

Задание: Построить элементарную нечеткую экспертную систему с помощью интерфейсной программы пакета нечеткой логики программной среды MATLAB.

Примеры задач для рассмотрения:

1. Какую заработную плату выплачивать новому сотруднику? Данная задача описывается следующими предложениями:

  • Если образование высшее или стаж большой, то заработная плата высокая.

  • Если образование средне-техническое или стаж имеется, но не большой, то заработная плата средняя.

  • Если образование среднее или стаж маленький, то заработная плата низкая.

Образование оценивается по 10 бальной шкале (0 – среднее, 5 – средне-техническое, 10 – высшее). Стаж также оценивается по 10 бальной шкале (0 – маленький, 10 – большой).

2. Сколько бракованной продукции будет при данном оборудовании и сырье? Данная задача описывается следующими предложениями:

  • Если оборудование современное, надежное и сырье качественное, то процент брака низкий.

  • Если сырье среднего качества или оборудование изношенное, то процент брака средний.

  • Если сырье низкого качества или оборудование практически не работоспособно, то процент брака высокий.

Производительность оборудования оценивается по 10 бальной шкале (0 – оборудование не работоспособно, 10 – надежное). Сырье также оценивается по 10 бальной шкале (0 – низкое качество, 10 – высокое). 5% считается низким процентом брака, 15% – средним, 25% – высоким.

3. Какого рода повреждения принесет танку попадание противотанкового снаряда? Предположим, что обстрел ведется с расстояния в 1000 метров 125 мм снарядами. Данная задача описывается следующими предложениями:

  • Если броня «тонкая» и танк без «активных» систем защиты, то считаем, что снаряд пробил броню.

  • Если броня «средняя» и танк имеет «умеренную» систему защиты, то считаем повреждение кондиционное.

  • Если броня «толстая» и танк имеет «активную» систему защиты, то считаем повреждения минимальными.

4. Какую сумму премиальных заплатить продавцу-консультанту магазина бытовых вещей? Премиальные будут зависеть от двух параметров: суммы выручки и отзывов о работе со стороны покупателей, т.е. уровня обслуживания. Данная задача описывается следующими предложениями:

  • Если обслуживание плохое и выручка маленькая, то премиальные маленькие.

  • Если обслуживание хорошее и выручка составляет достаточную сумму, то премиальные средние.

  • Если обслуживание наилучшего качества и сумма выручки более, чем достаточна, то премиальные высокие.

Качество обслуживания и сумма выручки оцениваются по 10 бальной системе (0 – наихудшая оценка, 10 – наилучшая). Наименьшие премиальные составляют 5% от тарифной сетки, средние – 15%, высокие – 25%.

5. Какую заработную плату получит сдельщик в зависимости от объема выполненной им работы и его посещаемости? Данная задача описывается следующими предложениями:

  • Если сдельщик выполнил маленький объем работ и имеет пропуски, то он получит маленькую заработную плату.

  • Если сдельщик выполнил заданный ему объем работ, то он получит нормальную заработную плату.

  • Если сдельщик перевыполнил заданный ему объем и не имеет пропусков, то он получит нормальную заработную плату + премия.

Уровень выполненной работы оценивается по 10 бальной системе (0 – наихудший, 10 – наилучший).

6. Какую оценку поставить студенту за выполнение и защиту лабораторной работы? Данная задача описывается следующими предложениями:

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

  • Если ответы на вопросы по лабораторной работе совершенно не верны и задание выполнено неправильно, то оценка не удовлетворительная.

  • Если ответы на вопросы удовлетворительные и задание выполнено с малыми недочетами, то оценка удовлетворительная.

  • Если ответы на вопросы хорошие и задание выполнено с малыми недочетами, то оценка «хорошо».

  • Если ответы логичные и четкие (т.е. отличные) и задание выполнено без недочетов, то оценка «отлично».

Количество ответов и выполнение задания будем оценивать по 5-ти бальной системе (0 – наихудшая оценка, 5 – наилучшая). Оценка будет выставляться в интервале от 2 до 5.

7. Какую сумму кредита банку выдать подавшему заявку в зависимости от уровня его заработной платы и его долгам по другим кредитам? Предположим, что в банк поступила заявка с просьбой выдать кредит в размере 500 тысяч рублей. Данная задача описывается следующими предложениями:

  • Если уровень заработной платы высокий и нет долгов по другим кредитам, то выдать запрошенную сумму кредита.

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

  • Если уровень заработной платы маленький, то отказать в выдаче кредита.

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

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

Высокий уровень заработной платы: свыше 25–30 тысяч рублей, средний – 10–25 тысяч рублей, низкий – меньше 10 тысяч рублей.

8. Какие дивиденды получит владелец обыкновенных акций акционерного общества? Данная задача описывается следующими предложениями:

  • Если акционерное общество получило большую чистую прибыль и акционер владеет акциями длительное время, то акционер получит большие дивиденды.

  • Если акционерное общество получило приличную чистую прибыль, то акционер получит средний размер дивидендов.

  • Если акционерное общество получило чистую прибыль близкую к нулю, то акционер получит маленькие дивиденды.

  • Если акционер владеет акциями короткое время, то акционер не получит дивиденды.

Размер чистой прибыли акционерного общества будет оценивать по 10-бальной системе (0 – размер чистой прибыли близок к нулю, 10 – наилучший размер чистой прибыли). Срок владения акциями, при котором акционер может рассчитывать на получение дивидендов, составляет не меньше 1 года.

9. Какую скидку предоставить клиенту в магазине бытовой техники? Данная задача описывается следующими предложениями:

  • Если покупатель является VIP-клиентом и сумма покупки большая, то скидка большая.

  • Если сумма покупки маленькая и покупатель не является VIP-клиентом, то скидка маленькая.

  • Если сумма покупки приличная, то скидка нормальная.

Сумма покупки оценивается по 10-бальной системе (0 – сумма покупки минимальная, 10 – сумма покупки достаточная для предоставления максимальной скидки).

10. Сколько официанту в ресторане дать на чай? Данная задача описывается следующими предложениями:

  • Если обслуживание плохое и еда подгоревшая, то чаевые маленькие.

  • Если обслуживание хорошее, то чаевые средние.

  • Если обслуживание отличное и еда превосходная, то чаевые щедрые.

Качество обслуживания и еды оценивается по 10-бальной системе (0 – наихудшая оценка, 10 – наилучшая). Маленькие чаевые составляют 5% от стоимости обеда, средние – 15%, а щедрые – 25%.

Пример выполнения:

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

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

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

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

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

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

База знаний состоит из следующих эвристических правил:

    1. Если активы низкие, то кредитоспособность очень низкая.

    2. Если величина дохода низкая, то кредитоспособность очень низкая.

    3. Если качество отделки плохое, то кредитоспособность очень низкая.

    4. Если месторасположение непрестижное, качество отделки прекрасное, активы низкие и величина дохода высокая, то кредитоспособность средняя.

    5. Если месторасположение престижное, качество отделки хорошее, активы низкие и величина дохода высокая, то кредитоспособность средняя.

    6. Если месторасположение очень престижное, качество отделки хорошее, активы средние и величина дохода высокая, то кредитоспособность средняя.

    7. Если месторасположение непрестижное, качество отделки прекрасное, активы высокие и величина дохода низкая, то кредитоспособность средняя.

    8. Если месторасположение престижное, качество отделки прекрасное, активы высокие и величина дохода высокая, то кредитоспособность очень высокая.

    9. Если месторасположение престижное, качество отделки прекрасное, активы средние и величина дохода высокая, то кредитоспособность очень высокая.

    10. Если месторасположение непрестижное, качество отделки прекрасное, активы средние и величина дохода высокая, то кредитоспособность высокая.

    11. Если месторасположение непрестижное, качество отделки хорошее, активы средние и величина дохода высокая, то кредитоспособность высокая.

    12. Если месторасположение очень престижное, качество отделки прекрасное, то кредитоспособность высокая.

Данная база знаний может быть расширена за счет включения новых правил.

В среде MATLAB в командной строке набираем ключевое слово fuzzy для вызова редактора нечетких систем.

Рис. 4.8. Окно нечеткой системы типа Mamdani

В блоке параметров нечеткой системы типа Mamdani задаются:

  • меню And method позволяет установить реализации логической операции И: min – минимум и prod – алгебраической произведение (см. раздел 3.2.1);

  • меню Or method позволяет установить реализации логической операции ИЛИ: max – максимум и probor – алгебраическая сумма (см. раздел 3.2.1);

  • меню Implication позволяет установить следующие методы импликации логических заключений в каждом из нечетких правил: min – минимум и prod – алгебраической произведение (см. раздел 3.2.1);

  • меню Aggregation позволяет установить следующие реализации операции объединения функций принадлежности выходной переменной (агрегирования): max – максимум, sum – ограниченная сумма и probor – алгебраическая сумма (см. раздел 3.2.1);

  • меню Defuzzification позволяет выбрать один из методов дефаззификации: centroid – центроидный метод, bisector – метод медианы (метод центра площади), lom – метод наибольшего из максимумов, som – метод наименьшего из максимумов и mom – метод центра максимумов (см. раздел 3.8).

Зададим в нашей нечеткой системе 4 входа и 1 выход. Опишем функции принадлежности для каждого из входов (рис. 4.9-4.12).

Рис. 4.9. Функции принадлежности входа «Месторасположение»

Рис. 4.10. Функции принадлежности входа «Отделка»

Рис. 4.11. Функции принадлежности входа «Активы»

Рис. 4.12. Функции принадлежности входа «Доход»

Зададим функции принадлежности выхода в соответствии с тем уровнем цен, с которым мы определились (рис. 4.13).

Рис. 4.13. Функции принадлежности выхода

Перейдем к конструированию правил. Для этого выберем меню View/Edit rules. Далее вводим правила (рис. 4.14).

Рис. 4.14. Набор правил базы знаний

Проверяем систему в действии. Откроем (через пункт меню View\View rules) окно просмотра правил и установим значения переменных: значение входной переменной «местоположение» оценим в 3 балла, значение переменной «отделка» оценим в 5 баллов, значение переменных «активы» и «доход» оценим в 4 балла (рис. 4.15).

Рис. 4.15. Окно просмотра правил

Рис. 4.16. Графический вид зависимости выхода системы от входов

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

Редактор нечетких систем в среде MATLAB также позволяет графически просматривать зависимость выходной переменной от ее входных (рис. 4.16).

Выводы (пример):

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

Контрольные вопросы

  1. Что такое экспертная система?

  2. Что такое знания и в чем их отличия от данных?

  3. Что такое база знаний и в чем ее отличие от базы данных?

  4. Сколько переменных в Вашей нечеткой системе и сколько функций принадлежности у каждой из них и почему?

  5. Какие типы функций принадлежности Вы использовали при выполнении лабораторной работы?

  6. Какие типы функций принадлежности использовались в лабораторной работе и почему?

  7. Как задается набор правил?

  8. В чем отличие нечеткого логического вывода типа Mamdani от логического вывода типа Sugeno?

  9. Опишите этапы нечеткого вывода.

  10. Опишите структуру экспертной системы.

  11. Перечислите основные достоинства и недостатки систем с нечеткой логикой?