Можна помітити, що
та для кожного запитання рівні 1 або 0. При цьому в другому правилі ці значення інвертуються відносно першого правила. Це приводить до того, що максимально впевнена відповідь («Точно так» або «Точно ні») на будь-яке запитання однозначно класифікує користувача як геймера або не геймера.експертний база класифікація програма
Побудова бази знань із нечіткою логікою, що вирішує завдання класифікації
Отже, завдання класифікації вирішується дуже просто у випадку двох можливих результатів. Проте якщо можливих результатів є більше, то значно простішим вирішенням є присвоєння
для кожного запитання. Це означає, що якщо гіпотеза про настання даного результату невірна, то відповідь на дане запитання не визнача. Звичайно, цей спрощений метод дає менш точні результати, але заощаджує час при створенні бази знань. Порівняйте результати застосування попередньої бази знань із результатами використання зміненої бази, наведеної нижче. Можна помітити, що однозначні відповіді вже не приводять до абсолютно чітких результатів.«Ти геймер?»
Автор: Олексій Бухнин.
Питання:
Ти граєш у комп'ютерні ігри по 6 і більше годин на добу?
Ти кидаєш всі справи заради нової гри?
Від 3D-action ігор у тебе крутиться голова?
Ти нізащо не потягнеш свій комп'ютер до друга для організації змагань по мережі?
Ти в основному витрачаєш гроші або на новий ігровий диск або на апгрейд комп'ютера?
Ти не користуєшся «мишкою» в 3D-action іграх?
Геймер, 0.5, 1,1,0.5, 2,1,0.5, 3,0,0.5, 4,0,0.5, 5,1,0.5, 6,0,0.5
Не геймер, 0.5, 1,0,0.5, 2,0,0.5, 3,1,0.5, 4,1,0.5, 5,0,0.5, 6,1,0.5
Коли не всі можливі результати наперед відомі експерту (наприклад, не можна перелічити всі хвороби, які можуть викликати нездужання в пацієнта), тоді базу знань варто створювати за іншим принципом. Апріорні ймовірності результатів знаходяться шляхом статистичних досліджень, а їх сума буде меншою за одиницю (невиконання цієї умови не приведе до однозначної помилки, просто результати стануть менш надійними). Значення
та також беруться зі статистики (або вказуються приблизні значення, що здаються правдоподібними експертові), тому що обчислити їх неможливо. Крім того, при великій кількості запитань (висловів), не слід вказувати їх усі в кожному правилі. По-перше, це зайва робота, а по-друге, серед свідчень можуть виявитися такі, що зовсім не впливають на ймовірність даного результату. Наприклад, запитання про стать пацієнта важливий при оцінці ймовірності знаходження в нього хронічного бронхіту (або, тим більше, раку грудей), але неважливий у випадку застуди чи грипу.Нижче приводиться приклад бази знань, реалізованої за цим принципом. Ще більш яскравим прикладом є медична база, що розповсюджується разом із програмою.
"Визначення домашнього вихованця за ознаками."
Автор: Олексій Бухнин.
Питання:
Морда витягнута?
Крила є?
На погладжування по спині відповідає задоволеним воркотанням?
Живе в акваріумі (або іншому резервуарі з водою)?
Є лапи?
При зустрічі з хазяїном крутить хвостом?
Собака, 0.4, 1,0.7,0.5, 2,0,0.5, 3,0.01,0.5, 4,0,0.5, 6,0.9,0.05
Кішка, 0.4, 1,0.1,0.5, 2,0,0.5, 3,0.95,0, 4,0,0.5
Папуга, 0.2, 2,1,0.3, 4,0,0.5
Рибка, 0.1, 2,0,0.5, 4,1,0.1, 5,0,0.5
Тритон, 0.1, 2,0,0.5, 4,1,0.2, 5,1,0.5
Збереження бази знань
Щоб зберегти БЗ у файлі, потрібно натиснути кнопку «Зберегти базу знань»
, або скористатися одноіменним пунктом меню «Файл» (для цього також призначена «гаряча» клавіша <F4>). Для збереження БЗ у зашифрованому вигляді потрібно задати як мінімум пароль на редагування, що запитується при завантаженні бази в редактор (при цьому для використання БЗ у Малій Експертній Системі пароль вимагатися не буде). Якщо був заданий також пароль на читання, то він буде запуватись при завантаженні БЗ в експертну систему. При заданні пароля на читання обов'язково повинен бути заданий і пароль на редагування, інакше при збереженні БЗ буде видане повідомлення про помилку. При відсутності обох паролів база знань зберігається у вигляді простого текстового файлу.Перевірка бази знань
Щоб перевірити БЗ на помилки, можна скористатися кнопкою
, або пунктом меню «Правка | Перевірити базу знань» (для цього також призначена «гаряча» клавіша <F3>). В результаті перевірки можуть бути видані такі повідомлення про помилку:1. Синтаксична помилка (
рядок, стовпець) – означає, що формат тексту у вікні введення не відповідає синтаксису бази знань.2. У правилі виведення посилання на неіснуюче свідчення (умову) (
рядок, стовпець) – таке повідомлення виникає, якщо в якомусь із правил виведення (третя секція файлу бази знань) зустрілося посилання на свідчення (умову), номер якого виходить за межі довжини списку свідчень (умов).Після видачі повідомлення курсор автоматично переміщається в позицію (
). Якщо помилок немає, то видається відповідне повідомлення про це із вказівкою кількості свідчень (умов) та можливих результатів.