- •Куперштейн л.М.
- •Та інтелектуальних систем
- •Рецензент: к.Т.Н., доцент Ревенок в.І.
- •Тема 1. Програмне забезпечення системного оброблення інформації
- •1.2 Системне програмування
- •1.3 Поняття мови програмування та їх історичний розвиток
- •1.4 Етапи підготовки програми
- •1.5. Поняття операційної системи
- •2.1. Класифікація засобів розробки додатків
- •Тема 2. Засоби створення програмних додатків
- •2.2. Класифікація додатків, що використовують бази даних
- •Тема 3: Структурована мова запитів sql
- •3.1. Компоненти скбд
- •3.2. Основні поняття sql
- •3.3. Типи даних sql
- •Символьні дані
- •Точні числа
- •Закруглені числа
- •Дата і час
- •3.4 Базові команди sql
- •Розділ group by
- •Розділ having
- •4.2. Перенесення додатку на інший комп'ютер.
- •5.3. Сталі та змінні.
- •5.4.Типи даних
- •5.5. Представлення значень у комп’ютері.
- •6.1.Арифметичні операції над даними
- •6.3.Команда присвоєння, суміщена з арифметичною операцією. Математичні функції
- •7.1. Умовні оператори Оператор if
- •7.3. Оператори вибору Оператор switch
- •Оператор break
- •Оператор continue
- •Оператор повернення
- •Оператор goto
- •Помічений оператор
- •Порожній оператор
- •Тема 9. Вступ до проблеми штучного інтелекту
- •9.1. Поняття та проблеми штучного інтелекту
- •Проблеми штучного інтелекту
- •9.2. Представлення знань
- •9.3. Рішення задач
- •9.4. Експертні системи
- •9.5. Засоби спілкування з еом на природній мові. Навчання.
- •9.6. Когнітивне моделювання. Обробка візуальної інформації і робототехніка
- •Тема 10. Експертні системи як різновид систем штучного інтелекту
- •10.1. Сучасний рівень розвитку експертних систем. Критерії вибору задач, що реалізуються методами і засобами штучного інтелекту
- •10.2. Ведення в експертні системи
- •10.3. Класифікація експертних систем
- •10.4. Інструментальні засоби для побудови експертних систем
- •Тема 11. Методологія проектування експертних систем
- •11.1. Етапи проектування експертних систем
- •Тема 12. Технологія проектування експертних систем на основі продукційної моделі
- •12.1. Продукційна модель експертних систем
- •Представлення знань.
- •12.2. Особливості організації логічного висновку
- •Запит користувача
- •12.3. Організація пошуку рішень у простих та складних ес
- •12.4. Приклади використання пм
- •Тема 13. Технологія проектування експертних систем на основі логічної моделі подання знань
- •13.1. Поняття логічної моделі знань
- •13.2. Характеристика мови предикатів першого порядку. Особливості подання знань
- •13.3. Апарат логічного висновку
- •13.4. Особливості машинної реалізації мови предикатів першого порядку
- •Тема 14. Поняття семантичної мережі та її використання в експертних системах.
- •14.1. Поняття та компоненти семантичних мереж
- •14.2. Класифікація семантичних мереж
- •14.3. Побудова та використання семантичних мереж
- •Тема 15. Технологія проектування експертних систем на основі фреймової моделі подання знань
- •Структура фрейма
- •15.2.Базові елементи фреймів
- •15.3. Загальний вигляд фреймової моделі.
- •Тема 16. Характеристика програмних засобів створення експертних систем
- •16.1. Експертна система «експерт»
- •16.2. Практична робота з системою «експерт». Робота користувача по створенню власної бази знань
- •16.3. Представлення знань і формування бази знань в системі internist
- •Тема 17: Базові концепції нейронних мереж
- •17.1. Історія нейронних мереж
- •17.2. Нейрон. Штучний нейрон. Принцип роботи
- •17.3. Активаційна функція та її різновиди
- •Лінійна функція активації з насиченням Лінійна передавальна функція
- •17.4. Обґрунтованість застосування нейромереж
- •Машина фон Неймана у порівнянні з біологічною нейронною системою
16.2. Практична робота з системою «експерт». Робота користувача по створенню власної бази знань
ПРАКТИЧНА РОБОТА ІЗ СИСТЕМОЮ
1. Після установки оболонки на HDD, в обрану вами директорію за правилами, викладеним у файлі READ_ME, у цій директорії будуть знаходитися виконуваний файл EXP.EXE і необхідні для даного сеансу бази знань, оформлені у виді текстових файлів. Правила роботи з такими файлами приведені нижче.
2. Для запуску оболноки на виконання з даної директорії необхідно дати команду start.bat
3. Натиснувши клавішу F10, ввійти в головне меню. Після цього оболонка починає вести діалог з користувачем.
РОБОТА КОРИСТУВАЧА ПО СТВОРЕННЮ ВЛАСНОЇ БАЗИ ЗНАНЬ
Робота з заповнення бази знань повинна починатися з перегляду вже існуючих і файлів баз, що поставляються разом із системою, знань. Фактично кожен такий файл складається з правил, дозволених значень для параметрів, що знаходяться в лівих частинах правил, і питань, що відносяться до цих параметрів. Зштовхнувшися з необхідністю запиту про значення якого-небудь об'єкта, оболонка видає текст питання по цьому об'єкті і відображає на екрані список можливих відповідей, пропонуючи користувачеві вибрати варіант відповіді.
Значення і питання необов'язкові, але вони полегшують взаємодію з оболонкою. Без цих двох компонентів оболонка буде частіше запитувати користувача відсутні дані.
Правила, дозволені значення і питання можуть розташовуватися в довільному порядку, але рекомендується них групувати: окремо правила, окремо дозволені значення, окремо питання.
Кожне правило має вигляд:
правило<номер>: якщо
<умова>
то
<дія>.
Тут елементи
правило<номер>:
якщо
то
. (крапка)
= (знак рівності в <умові> і <дії>, що зв'язує ім'я об'єкта і його значення) називаються ключовими словами або метасимволами й обов'язкові для кожного правила. Елементи <умова>, <дію> залежать від конкретної розв'язуваної проблеми.
Приклад.
правило1: якщо
процентні_ставки=падають
то
рівень_цін_на_біржі=росте.
підкреслення обов'язкове, тому що оболонка реагує на пропуск як на закінчення чергового слова.
Якщо <умова> і <дія> відомі користувачеві з деяким коефіцієнтом вірогідності (кд), то він указує його через кому після <умови> і після <дії>. Коефіцієнт вірогідності є, найчастіше, суб'єктивною оцінкою користувача-експерта факту, що коштує в <умові> або <висновку> правила. КД кількісно відбиває такі характеристики об'єктів або явищ: "швидше за все", "можливо", "може бути" і т.д., хоча при його використанні можуть застосовуватися елементи теорії імовірності і математичної статистики.
Приклад.
правило2: якщо
костюм=діловій ії
час=робітник_день
то
надягти_краватка=так, кд=50.
Тут є кілька важливих деталей. По-перше, елементи правила <умова> і <висновок> можуть бути складеними і з'єднані зв'язуванням "ії", що є кон’юнкцією. Зв'язування називається "ії", а не "і", тому що з букви "і" можуть починатися інші елементи <умови> і <висновку>. По-друге, у правилі застосовується коефіцієнт вірогідності. У процесі логічного висновку кд змінюється (згладжується, осредняется) і наприкінці видається його нове значення для поставленої мети. Якщо кд відсутній, то вважається, що він дорівнює 100%.
База знань повинна бути синтаксично правильної. Це значить, що те саме слово повинне повторюватися в тексті абсолютно ідентично. Наприклад, слова "холестерин" і "холистерин" для програми - різні слова.
База знань повинна бути семантично несуперечливої. Ця властивість перевіряється набагато складніше, ніж правильний синтаксис. Загальних прийомів перевірки для продукційної моделі знань, як відомо, не існує. Зокрема, у базі знань не повинне бути взаємовиключних правил, наприклад таких:
якщо якщо
A A
то то
B. не B.
Якщо оболонка у процесі логічного висновку задає питання типу "Яке значення об'єкта <ім'я об'єкта>?", це значить, що для даного об'єкта немає дозволеного значення. До речі, поява таких питань є гарним засобом відлагоджування для створення бази знань, що має властивості повноти і несуперечності. З появою такого питання треба повернутися до тексту бази знань (за допомогою текстового редактора), подивитися, які ці значення і вставити дозволене значення цього об'єкта в список дозволених значень і питання, що відноситься до цього значення, у список питань.
Сформулюємо загальні принципи заповнення бази знань.
1. Правила-продукції реалізують конкретну предметну область.
2. Всі об'єкти з <умов>, яких немає в <висновках>, повинні бути перераховані в предикатах "дозволений" і вони ж повинні бути перераховані в предикатах "питання". Права частина питання довільна. Вона видається на екран разом зі списком припустимих значень, з яких користувач вибирає підходяще значення.
3. Метою, поставленої перед оболонкою, може бути ім'я будь-якого об'єкта, що знаходиться в <висновку> будь-якого правила бази знань, перерахованих після ключового слова "те".
Приклад:
Якщо в базі знань є правила:
правило1: якщо
несправний_об'єкт=несправний_клавіатура
то
кабель_клавіатури=можливий_збій,кд=50.
правило10: якщо
несправний_об'єкт=монітор ії
ефект_несправності=немає_зображення ії
відеокабель_замінен=замінен і
несправність=не_зникла
то
плата_адаптера=можливий_збій.
правило13: якщо
несправний_об'єкт=монітор ії
плата_адаптера=можливий_збій ії
перевірка=не_зроблена
то
місце_несправності=чипы_адаптера,кд=60.
то в списку дозволених значень повинний бути присутнім предикат
дозволений(несправний_об'єкт)=несправний_клавіатура,монітор
а в списку питань повинний бути присутнім предикат
питання(несправний_об'єкт)=Спробуйте локалізувати місце несправності
Оболонка при цьому видасть список можливих місць несправностей, перерахованих у предикаті "дозволений". Сам текст питання досить довільний.
Об'єкт "плата_адаптера" у подібних предикатах не вказується, тому що він зустрічається в <умовах> одних правил і в <висновках> інших правил. Це - "транзитний", проміжний об'єкт.
У оболонці передбачене введення і коректування файлів баз знань, але тому що важко конкурувати з могутніми і численними текстовими редакторами, то краще скористатися кожним з них для редагування і перегляду.
Допоміжний файл FAIL.CEL зберігає список цілей:
- тривалість - для бази знань RULES.MED;
- рівень_цін_на_біржі - для бази знань RULES.FON;
- прогулянка - для бази знань RULES.POG;
- краватка - для бази знань RULES.GAL.
Цей список можна викликати, набираючи "?" у пункті меню "Вибір мети".
