ПОБУДОВА ЕКСПЕРТНОЇ СИСТЕМИ ЗАСОБАМИ MS ACCESS
МЕТОДИЧНІ ВКАЗІВКИ
до лабораторної роботи № 1
з дисципліни
„Експертні системи та автоматизовані системи навчання ”
для студентів базового напрямку „Філологія”
спеціальності „Прикладна лінгвістика”
Затверджено на засіданні кафедри інформаційних системи та мереж
Протокол №9 від 25.02.15
Побудова експертної системи засобами MS Access: Методичні вказівки до лабораторної роботи №1 / Укл.: Я.П.Кісь, В.А.Висоцька – Львів: Видавництво Національного університету ”Львівська політехніка”, 2015. – 24 с.
Укладачі
Кісь Я.П, к.т.н., доцент
Висоцька В.А., к.т.н., асистент
Відповідальний за випуск
Литвин В.В., завідувач кафедри ІСМ, д.т.н., професор
Рецензенти
Камінський Р.М., д.т.н., професор
Кравець П.О., к.т.н., доцент
(Для ознайомлення з повним текстом статті необхідно залогінитись)
1 Мета роботи
Вивчити принципи побудови експертних систем та спроектувати експертну систему на основі продукційних правил. Навчитися проектувати продукційні правила для аналізу даних за допомогою запитів в СКБД Microsoft Access.
Вступ
Експертна система - це програмний засіб, що використовує експертні знання для забезпечення високоефективного вирішення неформалізованих задач у вузькій предметній області. Основу ЕС складає база знань (БЗ) про предметну область, що накопичується в процесі побудови й експлуатації ЕС. Нагромадження й організація знань - найважливіша властивість усіх ЕС.
У реальній дійсності різноманітні події, процеси, люди, предмети зв’язані з формуванням, передаванням, опрацюванням і споживанням інформації. Інформацію люди отримують в результаті взаємодії з навколишнім світом, пристосовуючись до нього і змінюючи його в процесі пристосування. Інформація присутня в мові людей, різних текстах, книжках, рисунках, кресленнях, колонках цифр, звукових та світлових сигналах, показах годинників, термометрів, енергетичних та силових імпульсах тощо. Ніщо живе у природі не може існувати і розвиватися, не зберігаючи свій генетичний код, не сприймаючи інформацію від навколишнього світу через органи чуття і не опрацьовуючи її за допомогою нервової системи. Реакція на повідомлення (тобто опрацювання інформації) є обов’язковою складовою частиною чуттєвого сприйняття реального світу.
Будь-які процеси суспільного життя – виробничі, господарські, керівні, науково-дослідні, суспільно-політичні, демографічні та інші – знаходять відображення в інформаційних процесах: люди отримують інформацію, запам’ятовують і нагромаджують її, опрацьовують інформацію вирішуючи різноманітні завдання, передають інформацію телефоном, поштою, комп’ютерною мережею та іншими засобами зв’язку.
Проте, незважаючи на те, що з інформацією ми стикаємося щоденно, строгого і загальновизначеного означення інформації як наукової категорії не існує. Вона відноситься до так званих неозначуваних понять – понять, які не можна визначити через інші, простіші поняття, а необхідно вводити за допомогою пояснень, уточнень, прикладів.
Використання замість означення категорії “інформація” лише поняття про інформацію приводить до різного тлумачення цього поняття у різних наукових дисциплінах, оскільки кожна з них виділяє ті аспекти цієї категорії, які є найважливішими для її предмета і задач. Розглянемо найпоширеніші тлумачення категорії “інформація” і трактування цієї категорії в інформатиці.
Термін “інформація” походить від латинського слова “informatio” – виклад, роз`яснення фактів, подій. Тому в найширшому розумінні інформація трактується наступним чином.
Інформація – це відомості, пояснення, знання про всілякі об’єкти, явища, процеси реального світу.
Доволі розповсюдженим є погляд на інформацію як на ресурс, аналогічний енергетичним, матеріальним, трудовим і грошовим ресурсам. Ця точка зору відображається у наступному трактуванні інформації.
Інформація – нові відомості, які дозволяють поліпшити процеси, пов’язані з перетворенням речовин, енергії та самої інформації.
Інформаційні ресурси сучасного суспільства – це уся та інформація, яка визначає його інтелектуальну міць: наукові теорії, відкриття, винаходи, математичні та інші моделі, проекти машин і технологічних процесів, відомості про надра землі і океанів та інші теоретичні надбання людства.
Наведені широкі трактування терміну “інформація” лежать в основі й інших, похідних від нього термінів: інформативність(насиченість інформацією, кількість відомостей, знань), інформативний(такий, що містить інформацію, характеризує її насиченість), інформувати (надавати відомості, інформацію про що-небудь), інформатор (той, хто інформує, надає інформацію).
Інформацію не можна відокремити від процесу інформування. В основі цього процесу лежить взаємозалежність пари об’єктів – джерела і споживача інформації.
Джерелами інформації, насамперед, є природні об’єкти: люди, тварини, рослини, планети та ін. Разом із цим, у міру розвитку науки і техніки джерелами інформації стають наукові експерименти, машини, апарати, технологічні процеси. Значний також перелік об’єктів, що є споживачами інформації: люди, тварини, рослини, різноманітні технічні пристрої тощо. Погляд на інформацію з точки зору її споживачів окреслюється у наступному понятті інформації.
Інформація– це нові відомості, прийняті, зрозумілі і оцінені її користувачем як корисні. Іншими словами, інформація – це нові знання, які отримує споживач (суб’єкт) в результаті сприйняття і опрацювання певних відомостей, тобто у результаті застосування до цих відомостей адекватних методів оперування ними (термін “адекватний” означає цілком відповідний, прирівняний, той, що влаштовує).
Адекватність є надзвичайно важливою вимогою до методів, які застосовуються до наявної інформації з метою отримання нової інформації. Так, для сприйняття відомостей, викладених на аркуші паперу незнайомою іноземною мовою, адекватним може бути метод перекладу зі словником. У той же час, для сприйняття усної іноземної мови цей метод є явно не адекватним і має бути застосований метод синхронного перекладу.
Погляд на інформацію як на нові знання, корисні для пояснення закономірностей реального світу і його перетворення, притаманний багатьом природничим наукам. Так, у математиці, кібернетиці, фізиці під інформацією розуміють все те, що зменшує ступінь невизначеності нашого знання про предмети і явища оточуючого світу і підвищує тим самим рівень знань про об’єктивну реальність.
Міру невизначеності ситуації називають ентропією (грецькою цей термін означає – зміна, перетворення, поворот). Ентропію розглядають як кількість інформації, якої не вистачає для повної ліквідації невизначеності в системі. З цих позицій інформація трактується як протилежність ентропії.
Інформація – кількісна міра усунення невизначеності (ентропії) ситуації в результаті отримання певної порції повідомлень.
Розглядаючи інформацію як протилежність ентропії деякої системи, її вважають мірою організації, впорядкованості цієї системи.
Інформатика використовує своє власне тлумачення терміну “інформація”, яке є значно вужчим, ніж розглянуті вище. Це обумовлене тим, що при визначенні цієї категорії інформатика не може базуватися на таких поняттях як знання, відомості, усунення невизначеності. Засоби комп’ютерної техніки володіють здатністю опрацьовувати інформацію автоматично, без участі людини, і про жодні знання або незнання тут мова йти не може. Ці засоби можуть працювати зі штучною, абстрактною і навіть із хибною інформацією, яка не має об’єктивного відображення ні у природі, ні у суспільстві.
Враховуючи зазначену специфіку комп’ютерної техніки, інформатика вилучає змістовні аспекти поняття інформації і використовує погляд на інформацію як на предмет певної діяльності. Найконцентрованіше це виражається у наступному понятті інформації.
Інформація – це відомості, які є об’єктом збирання, реєстрації, збереження, передавання і перетворення.
Основна маса інформації збирається, передається і опрацьовується у знаковій формі – числовій, текстовій, табличній, графічній і т.ін. Знакове подання інформації інформатика пов’язує з поняттям “дані”.
Дані – це відомості, подані у певній знаковій формі, придатній для передавання, інтерпретації та опрацювання людиною або автоматичним пристроєм.
При розробці систем, орієнтованих на опрацювання інформації, що надходить від людини, виникають природні питання. Чи потрібно різні типи описів представляти на різних внутрішніх мовах? Чи повинні системні знання бути різними за своєю природою? Як виявляється, це надзвичайно незручно. Справа в тому, що усі знання виявляються міцно пов`язаними між собою, одні безпосередньо вбудовуються у інші. Так, щоб правильно перекласти речення з зовнішньої (природної) мови на внутрішню, необхідно враховувати тематику, тип користувача, тобто у знаннях про зовнішню мову мають бути присутніми знання про предметну область та відповідну “модель” користувачів. Таким чином, лінгвістичні знання виявляються зв’язаними з предметними.
Розглянемо схему, що містить набори структур внутрішньої мови, які у режимі навчання формуються самою системою та однозначно визначають її реакцію, тобто її рішення. Допускається доступ людини до таких структур на зручній для неї зовнішній мові. Така схема отримала назву системи з семантичною пам’яттю, де під семантичною пам’яттю мається на увазі база знань деякого інтелектуального автомата. Для забезпечення правильної реакції системи часто є необхідним враховувати сценарій, в межах якого формується реакція. На спосіб реагування можуть зовнішні фактори та багато іншого. Отже, потрібний запис різних видів знань у межах єдиної мови. Системи з семантичною пам’яттю (бази знань) повинні мати єдину внутрішню мову.
Однорідність внутрішньої мови. Отже, семантична пам’ять – це сховище різного роду структур (знань), які без будь-яких обмежень повинні постійно накопичуватись, корегуватися, змінюватися. Це може бути забезпечено порівняно просто, якщо внутрішня мова (мова представлення системних знань) допускає досить довільну модифікацію своїх конструкцій. Чим складніший синтаксис мови, тим важче корегувати його вирази. Тому бажано, щоб мова мала якомога простіший синтаксис, щоб не вимагались спеціальні операції по аналізу синтаксичного оформлення, щоб можна було виражати суть одразу у явному вигляді. Внутрішня мова повинна складатись з однотипних конструкцій, які можна було б додавати та вилучати довільним чином без додаткового аналізу синтаксичних категорій (дужки, розділові знаки тощо). Таким чином у мові повинні залишитись лише ті категорії, які природнім чином поєднуються з роботою системних механізмів. Ці міркування лягли в основу поняття однорідності. Проте вимога однорідності в жодному випадку не стосується зовнішніх мов, втому числі природної мови.
Вимога до засобів. У межах систем з семантичною пам’яттю мають бути реалізовані можливості, що певною мірою поєднуються з особливостями, характерними для звичних форм спілкування. Однією з таких особливостей є постійне розширення знань людини про зовнішню (природну) мову за рахунок інформації, що виражається цією ж мовою. Подібне розширення виходить за межі звичайних визначень та макровизначень, які застосовуються у штучних мовах, наприклад у мовах програмування – для вводу нових ідентифікаторів, операторів тощо. Людина широко використовує різного роду пояснення (в тому числі із залученням пояснюючих прикладів), аналогії і т.п. У цьому напрямку і повинні розвиватись лінгвістичні процесори, таким чином, щоб можна було вилучити участь розробника у формуванні та накопиченні лінгвістичних знань, необхідних для спілкування людини з користувачем. Це зможе і повинен робити сам користувач. Щоб досягнути зазначених можливостей, у базове ядро системи повинні бути включені засоби, що забезпечують виявлення нових відомостей лінгвістичного характеру, їх перенос, узагальнення та багато іншого.
Узгодженість з зовнішньою мовою. Модель, про яку йдеться, висуває порівняно сильні вимоги до мови представлення інформації у системах з семантичною пам’яттю: з одного боку внутрішня мова повинна мати достатньо простий синтаксис, бути однорідною; з іншого вона повинна забезпечувати представлення різних видів інформації, у тому числі узагальненої, і т.п. Нарешті, мова повинна задовольняти ще одній важливій вимозі – вона повинна бути узгодженою із зовнішньою мовою (природною). Це необхідно з точки зору перетворення конструкцій зовнішньої мови у внутрішню, оскільки стає можливим використання таких систем, що забезпечують послідовне “осмислення” компонент. Під узгодженістю мається на увазі співвіднесеність простих смислових одиниць та більш складних компонент природної мови з простими елементами та складними конструкціями внутрішньої мови. Словам та виразам природної мови, що мають достатньо самостійний смисл поза контекстом, повинні відповідати базові елементи чи прості конструкції внутрішньої мови. Якщо з таких слів складаються більш складні осмислені компоненти (словосполучення, окремі речення, що мають самостійний зміст), то останнім мають відповідати більш складні конструкції складені з базових. Наприклад, у реченні Земля України родюча усім трьом словам повинні відповідати свої базові елементи базової мови. Словосполученню Земля України також має бути співставлена конструкція, складена з двох попередніх елементів. З усіх таких елементів та зазначеної конструкції повинна складатися більш складна конструкція, що відповідає усьому реченню.
Отже, узгодженість передбачає, що якщо реченню поставити у відповідність певну правильну конструкцію внутрішньої мови, то будь-якій осмисленій частині речення повинна відповідати також правильна конструкція, що є частиною першої. Самостійним елементам речення (словам, словосполученням, що мають достатньо самостійний смисл поза контекстом) повинні відповідати базові елементи внутрішньої мови. Необхідно відзначити два важливих моменти. По-перше, у конструкції внутрішньої мови необов’язково повинно бути рівно стільки базових елементів, скільки слів у реченні. Справа в тому, що у природній мові багато що мається на увазі, дається за замовчанням. Компоненти, що маються на увазі, повинні відновлюватись у процесі вводу речень, їх перетворення у внутрішнє представлення, де все має бути відображене у явному вигляді. Наприклад, у реченні напій з солоду мається на увазі, що напій приготований з солоду. У відповідну структуру внутрішньої мови має бути введений елемент, що відповідає відношенню приготований з, тобто забезпечується виявлення того, що мається на увазі, представлення у явному вигляді. По-друге, елементи та конструкції внутрішньої мови повинні співставлятися не словам чи словосполученням, а їх смислам або денотатам. Так слову напій повинен бути поставлений у відповідність елемент, що відповідає предмету (його сутності)– напою. Система може знати чи не знати, який конкретний напій мається на увазі, що має бути відповідним чином відображене у внутрішньому представленні. Тут важливо, що йдеться про якийсь предмет або сутність, що відноситься до класу напоїв. Коли мова йшла про осмислені одиниці та частини речення, то малась на увазі подібна предметна співвіднесеність.
Якщо виконується умова узгодженості, полегшується процедура вводу та корекції. Стає можливим послідовний аналіз речення, починаючи з виявлення найбільш простих осмислених одиниць та переходу до все більш складних. Такий аналіз визначає процес послідовного складання конструкцій внутрішньої мови. Більше того, допускаються корегуючі речення типу Не напій, а рідина, не солодка, а гірка тощо. Вони містять осмислені компоненти, за якими завжди можна виділити та змінити відповідні частини у вже побудованій конструкції.
Таким чином, умова узгодженості необхідна перш за все з точки зору організації роботи механізмів перекладу та корегування вхідної інформації. При цьому передбачається можливість вводу у мову необхідної кількості базових елементів та конструкцій. Мається на увазі властивість розширюваності. Розглянемо мову, що відповідає усім перерахованим вимогам.
Отже, властивість однорідності та узгодженості внутрішньої мови повинна поєднуватись з високими образотворчими можливостями. Проте існуючі мови належною мірою не володіють цими властивостями. Мови програмування мають достатньо складний синтаксис та (за рідким виключенням) не передбачають даних структурованого характеру. Мову логіки предикатів також не можна вважати однорідною. Ще більш обмежені мождивості мають мови формальних граматик, що допускають лише фіксовані види аналізу. Цей перелік можна було-б подовжити, включити сюди фреймові мови (з операційними вставками), ATN-граматики, різні математичні мови. Використання подібних мов у інтелектуальних системах передбачає вже іншу парадигму – коли знання конструюються людиною, тобто людина постійно супроводжує систему, знає про все, що в ній відбувається. Інструментарій людини-розробника може мати форму однієї з перерахованих (зовнішніх) мов, про те внутрішня мова має бути реалізована по-іншому.
2 Поняття експертних систем
Основні властивості ЕС:
1) Застосування для вирішення проблем високоякісного досвіду, що представляє рівень мислення найбільш кваліфікованих експертів у даній області, що веде до творчих, точних та ефективних вирішень.
2) Наявність прогностичних можливостей, при яких ЕС видає відповіді не тільки для конкретної ситуації, але і показує, як змінюються ці відповіді в нових ситуаціях, з можливістю докладного пояснення яким чином нова ситуація привела до змін.
3) Забезпечення такої нової якості, як інституціональна пам'ять, за рахунок бази знань, що входить до складу ЕС, що розроблена в ході взаємодій з фахівцями організації, і являє собою поточну політику цієї групи людей. Цей набір знань стає збірником кваліфікованих думок і постійно поновлюваним довідником найкращих стратегій і методів, використовуваних персоналом. Провідні спеціалісти ідуть, але їхній досвід залишається.
4) Можливість використання ЕС для навчання і тренування керівників, забезпечуючи нових службовців великим багажем досвіду і стратегій, по яких можна вивчати політику, що рекомендується, і методи.
ЕС призначені для так званих неформалізованих задач, тобто ЕС не відкидають і не замінюють традиційного підходу до розробки програм, орієнтованих на рішення формалізованих задач.
Неформалізовані задачі зазвичай володіють наступними особливостями:
- помилковістю, неоднозначністю, неповнотою й суперечністю початкових даних;
- помилковістю, неоднозначністю, неповнотою й суперечністю знань про проблемну область і задачу, що вирішується;
- великою розмірністю простору рішення, тобто перебір при пошуку рішення вельми великий;
- даними, що динамічно змінюються і знаннями.
Експертні системи можуть бути побудовані на основі cистеми продукційних правил, модальної логіки (нечітке виведення), фреймів, семантичних мереж, нейронних мереж, генетичних алгоритмів.
2.1 Продукційні правила
У системах, побудованих на основі правил, поведінка визначається множиною правил виду: умова -> дія. Умова задає образ даних, при виникненні якого дія правила може бути виконана. Формування поведінки здійснюється по такій схемі. Умови правил співставляються з поточними даними, і ті правила, умови яких задовольняються значеннями поточних даних, стають претендентами на виконання. Потім по визначеному критерії здійснюються вибір одного правила серед претендентів і його виконання (тобто виконання дії, зазначеної в правій частині правила). Підкреслимо, що правила - претенденти можуть виконуватися одночасно при наявності декількох процесів.
2.2 Нечітке виведення
В експертних системах, що базуються на логіці, база знань складається з тверджень у виді пропозицій логіки предикатів.
Так само як і в системі на правилах експертна система, що базується на логіці, має множину правил, що можуть викликатися за допомогою даних із вхідного потоку. Система має також інтерпретатор, що може вибирати й активізувати модулі, що включаються в роботу системи.
Так само як і в системі, що базується на правилах, даний циклічний процес є процесом розпізнавання-дія. Переваги системи, заснованої на логіці, полягають у тому, що вона відбиває структуру самого Турбо-Пролога. Під цим розуміється, що вона дуже ефективна в роботі. Найбільш важливим аспектом для бази знань у системі, заснованої на логіці, є проектування бази знань, її тверджень і її структури. База знань повинна мати недвозначну логічну організацію, і вона повинна містити мінімум надлишкової інформації. Так само як і в системі, що базується на правилах, мінімально достатня кількість даних утворять найбільш ефективну систему.
2.3 Фрейми
В основі теорії фреймів лежить сприйняття стереотипних ситуацій, що мають, наприклад, місце в процесі функціонування складних об'єктів, зокрема, виробничих. Для подання й опису стереотипних об'єктів, подій або ситуацій було введено поняття "фрейми", що є складними структурами даних. У загальному вигляді фрейм можна розглядати як сітку, що складається з кількох вершин і відношень. На верхньому рівні фрейму подана фіксована інформація: факт стосовно стану об'єкта, який звичайно вважається істинним, На наступних рівнях розташовано множину так званих термінальних слотів (терміналів), які обов'язково повинні бути заповнені конкретними значеннями та даними. У кожному слоті задається умова, яка повинна виконуватися при встановленні відповідності між значеннями (слот або сам встановлює відповідність, або це робить дрібніша складова фрейму). Проста умова позначається позначкою і може, наприклад, містити вимога, щоб відповідність встановлював користувач, щоб досить повним був опис значень тощо. Складні умови вказують відношення між фактами, що відповідають декільком терміналам. Поєднавши множину фреймів, що є відношеннями, можна побудувати фреймову систему, найважливішою перевагою якої є можливість перетворення фреймів в одній системі.
2.4 Семантичні мережі
Звичайні семантичні мережі складаються з вершин, що відповідають об’єктам чи поняттям, а також дуг, що відповідають відношенням, та зв’язують ці вершини. У таких мережах вершини можуть відповідати не тільки об’єктам чи поняттям, але і відношенням, логічним складовим частинам інформації (фактам істинності та хиби), комплексним об’єктам тощо. Усьому, що може розглядатися, як самостійна одиниця, повинна бути співставлена власна вершина. Наприклад, вершини можуть бути співставленні завершеним подіям або ситуаціям. Вершини поділяються на два класи: визначені (в-вершини) та невизначені (н-вершини). Перші відповідають впізнаним об’єктам, виявленим відношенням розпізнаним подіям, ситуаціям. Другі – невпізнаним, невиявленим.
Окрім зазначених, вводяться вершини зв’язку. Вони поєднуються поміченими ребрами (ребрами різних типів) з вершинами, взятими з множини вищезазначених вершин. Фактично, ребра помічаються цифрами, що визначають семантичний відмінок відношення. В результаті утворюється фрагмент, що відповідає елементарній ситуації, тобто об’єктам, що пов’язані відношенням. Такий фрагмент називають елементарним. Елементарний фрагмент можна представити у вигляді павука з поміченими лапками. При цьому тіло такого павука є вершина зв’язку, а лапки – ребра, якими він чіпляється за інші вершини. Номер, або тип лапки, визначає роль, яку грають схоплені ним вершини, у представленій ситуації, тобто або це вершина-об’єкт, вершина-відношення, вершина, що відповідає факту істинності – хиби, або вершина, що відповідає всій елементарній ситуації. Спеціальний поділ перерахованих вершин на множини, що не перетинаються, не виконується. Кожна з них може грати будь-яку роль. Таким чином, ситуація або логічні складові, можуть бути пов’язані своїми відношеннями, відношення також можуть бути об’єктами іншого відношення тощо. В результаті забезпечуються широкі можливості представлення.
Обробка системних знань базується на принципі накладення мереж, послідовному співставленні їх фрагментів. Процедура такого співставлення визначається графами, тобто операціями, що вони задають. В результаті знаходяться невизначені компоненти інформації. На відміну від звичайного співставлення таблиць або зразків (фреймів) при накладенні мереж використовується більш складний підхід – окільний. Для пошуку невизначених компонент використовують їх околи. При цьому доводиться постійно шукати співставлювані компоненти, обирати напрям пошуку. Все це робить процедуру накладання достатньо складною, проте і більш універсальною.
Зазначені принципи було покладено у основу механізмів, що забезпечують обробку інформації, реалізацію різних видів діяльності. Обробка у багатьох випадках зводиться до формування графів та виконання операцій, що задаються графами. Таким чином забезпечується вирішення двох основних задач – конкретизації та перетворення. Перша задача полягає у знаходженні невизначених складових вхідної інформації, у виконанні різноманітних перевірок, а друга задача – у перетворенні інформації. Перетворення керується за допомогою спеціальних засобів, що називаються мережними продукціями. Такі засоби можна вважати певним різновидом графів, які задають спеціальні операції пошуку мереж визначених конструкцій, їх вилучення та заміни на інші мережі. За допомогою таких продукцій представляються різні визначення, а також деякі види умовних речень.
2.5 Нейронні мережі
Нейронні мережі, або штучні нейронні мережі, являють собою розвиток моделей, які виникли в результаті спроб імітування механізму мислення людини. Для визначення класів задач штучного інтелекту (насамперед, розпізнавання, інтелектуального управління динамікою складних механічних систем тощо) нейромережні моделі часто забезпечують ефективніше рішення, ніж традиційні символьні підходи. У самих загальних рисах результатом функціонування нейронної мережі є сигнал, що ідентифікує належність вхідного зображення до одного з кількох класів (тобто мережа здійснює категоризацію зображень). Елементарна складова мережі - нейрон - має кілька входів і один вихід. Елементи вхідного вектора множаться на вагові коефіцієнти W1.W2,...,Wn; зважені значення сумуються і надходять до входу порогового елемента, двійковий вихід якого є виходом нейрона. У загальному випадку для відтворення нелінійності можуть використовуватися не тільки "ступеневі", а й "похилі" функції. Однією, з найважливіших особливостей нейромереж є їх спроможність до навчання. В процесі навчання нейрона відбувається піднастроювання вагових коефіцієнтів таким чином, щоб він правильно класифікував максимальну кількість вхідних зображень. При поданні чергового навчаючого зображення оцінюється різниця (похибка) між потрібним вхідним значенням сумуючого елемента і його фактичним значенням. Звичайно для піднастроювання ваги використовується алгоритм, який мінімізує суму квадратів відхилень за період навчаючої послідовності.
2.6 Генетичні алгоритми
Задачі оптимізації - найбільш розповсюджений і важливий для практики клас задач. Їх приходиться вирішувати кожному з нас або в побуті, розподіляючи свій час між різними справами, або на роботі, домагаючись максимальної швидкості роботи програми чи максимальної прибутковості компанії - у залежності від посади. Серед цих задач є розв'язувані простим шляхом, але є і такі, точне рішення яких знайти практично неможливо.
Як правило, у задачі оптимізації ми можемо керувати декількома параметрами (позначимо їх значення через x1, x2, ..., xn, а нашою метою є максимізація (чи мінімізація) деякої функції, f(x1, x2, ..., xn), що залежить від цих параметрів. Функція f називається цільовою функцією. Наприклад, якщо потрібно максимізувати цільову функцію "дохід компанії", тоді керованими параметрами будуть число співробітників компанії, обсяг виробництва, витрати на рекламу, ціни на кінцеві продукти і т.д. Важливо відзначити, що ці параметри зв'язані між собою - зокрема, при зменшенні числа співробітників швидше за все впаде й обсяг виробництва.
Генетичний алгоритм - новітній, але не єдино можливий спосіб рішення задач оптимізації.
Відомо два основні шляхи рішення таких задач - переборний та градієнтний. Розглянемо класичну задачу комівояжера. Суть задачі полягає у знаходженні короткого шляху проходження всіх міст.
Переборний метод є найпростішим. Для пошуку оптимального рішення (максимум цільової функції) потрібно послідовно обчислити значення функції у всіх точках. Недоліком є велика кількість обчислень.
Іншим способом є градієнтний спуск. Обираємо випадкові значення параметрів, а потім значення поступово змінюють, досягаючи найбільшої швидкості зросту цільової функції. Алгоритм може зупинитись, досягнувши локального максимуму. Градієнтні методи швидкі, але не гарантують оптимального рішення (оскільки цільова функція має декілька максимумів).
Генетичний алгоритм являє собою комбінацію переборного та градієнтного методів. Механізми кросоверу (схрещування) та мутації реалізують переборну частину, а відбір кращих рішень - градієнтний спуск. Тобто, якщо на деякій множині задана складна функція від декількох змінних, тоді генетичний алгоритм є програмою, яка за зрозумілий час знаходить точку, де значення функції знаходиться достатньо близько до максимально можливого значення. Обираючи прийнятний час розрахунку, отримуємо одне з кращих рішень, які можна отримати за цей час.
3 Діаграми "сутність-зв'язок", атрибутів, категоризації
Діаграми «сутність-зв'язок» – entity-relation diagram (ERD) – призначені для розроблення моделей даних і забезпечують стандартний спосіб визначення даних і відношень між ними. Фактично за допомогою ERD здійснюється деталізація сховищ даних проектованої системи, а також документуються сутності системи і способи їх взаємодії, включаючи ідентифікацію об'єктів, важливих для предметної області, властивостей цих об'єктів (атрибутів) і їх відношень з іншими об'єктами (зв'язків). Ця нотація була введена Ченом (Chen) і одержала подальший розвиток у роботах Баркера (Barker).
Нотація Чена надає багатий набір засобів моделювання даних, включаючи власне ERD, а також діаграми атрибутів і діаграми декомпозиції. Ця діаграмна техніка використовується, перш за все, для проектування табличних моделей даних (хоча також може з успіхом застосовуватися і для моделювання як ієрархічних, так і мережевих моделей даних) [133].
Сутність – множина екземплярів реальних або абстрактних об'єктів (людей, подій, станів, ідей, предметів тощо), що мають загальні атрибути або характеристики. Будь-який об'єкт системи може бути поданий тільки однією сутністю, яка має бути унікально ідентифікована. При цьому назва сутності повинна відображати тип або клас об'єкту, а не його конкретний екземпляр (наприклад, Аеропорт, а не Львівський). Прикладами сутностей можуть бути: банк, клієнт банку, рахунок клієнта, аеропорт, пасажир, рейс, комп'ютер, термінал, автомобіль, водій. Кожна з сутностей може розглядатися з різним ступенем деталізації і на різному рівні абстракції, що визначається конкретною постановкою задачі.
Відношення (зв’язок) в найзагальнішому вигляді є зв'язком між двома і більше сутностями. Іменування відношення здійснюється за допомогою граматичного обороту дієслова (МАЄ, ВИЗНАЧАЄ, МОЖЕ МАТИ тощо). Прикладами зв'язків можуть бути споріднені відношення типу "батько-син" або виробничі відношення типу "керівник-підлеглий". Інший тип зв'язків задається відношеннями "мати у власності" або "володіти властивістю". Іншими словами, сутності – це базові типи інформації, що зберігаються в системі, а відношення показують, як ці типи даних взаємопов'язані один з одним. Введення подібних відношень переслідує дві основоположні цілі: забезпечення зберігання інформації в єдиному місці (навіть якщо вона використовується в різних комбінаціях); використання цієї інформації різними застосуваннями.
Символи ERD, які подають сутності і зв’язки, наведені на рис. 1. Незалежна сутність подає незалежні дані, які завжди присутні в системі. При цьому зв’язки з іншою сутністю можуть як існувати, так і бути відсутніми. Своєю чергою, залежна сутність подає дані, залежні від іншої сутності в системі. Тому вона повинна завжди мати зв’язки з іншою сутністю. Асоціативна сутність подає дані, які асоціюються зв’язками між двома і більше сутностями. Необмежений зв’язок – це безумовне відношення, тобто відношення, яке завжди існує доти, поки існують екземпляри сутностей, що входять у зв’язок. Обмежений зв’язок – це умовне відношення між сутностями. Суттєво-обмежений зв’язок використовується тоді, коли відповідна сутність взаємно-залежна в системі.
(Для продовження ознайомлення з повним текстом методички необхідно залогінитись та завантажити вкладення)