Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

08_lk_ei

.pdf
Скачиваний:
16
Добавлен:
26.03.2015
Размер:
3.39 Mб
Скачать

71

5 ПРОГРАМНІ ЗАСОБИ РОБОТИ З БАЗАМИ ТА СХОВИЩАМИ ДАНИХ

5.1 Основні поняття реляційних баз даних

База даних (БД) – впорядкований набір логічно взаємопов'язаних даних, що використовується спільно, та призначений для задоволення інформаційних потреб користувачів.

Головним завданням БД є гарантоване збереження значних обсягів інформації (т.зв. записи даних) та надання доступу до неї користувачеві або ж прикладній програмі. Таким чином БД складається з двох частин : збереженої інформації та системи управління нею. З метою забезпечення ефективності доступу записи даних організовують як множину фактів (елемент даних).

Структуровані БД використовують структури даних, тобто структурований опис типу фактів за допомогою схеми даних, більш відомої як модель даних. Модель даних описує об'єкти та взаємовідносини між ними. Існує декілька моделей (чи типів) баз даних, основні: плоска, ієрархічна, мережна та реляційна. Приблизно з 2000 року більше половини БД використовують реляційну модель.

До неструктурованих БД відносяться повнотекстові бази даних, які містять неструктуровані тексти статей чи книг у формі, що дозволяє здійснювати швидкий пошук.

Часто зустрічається характеристика БД на основі певних параметрів або необхідних вимог, наприклад:

значна кількість даних,

незалежність даних,

відкритий доступ до даних,

підтримка транзакцій з гарантією відповідних властивостей,

гарантована відсутність збоїв,

одночасна робота з багатьма користувачами.

З подальшим розвитком БД змінюються й ці вимоги та додаються нові, тому одностайності щодо повноти цієї характеристики немає.

Реляційна база даних – база даних, основана на реляційній моделі даних. Для роботи з реляційними БД застосовують реляційні СКБД. Інакше кажучи, реляційна база даних – це база даних, яка сприймається користувачем як набір нормалізованих відношень різного ступеню.

72

5.2 Системи керування базами даних

Система керування базами даних (СКБД) – комп'ютерна програма чи комплекс програм, що забезпечує користувачам можливість створення, збереження, оновлення, пошук інформації та контролю доступу в базах даних.

Основні характеристики СКБД:

контроль за надлишковістю даних,

несуперечливість даних,

підтримка цілісності бази даних (коректність та несуперечливість),

цілісність описується за допомогою обмежень,

незалежність прикладних програм від даних,

спільне використання даних,

підвищений рівень безпеки.

Цілісність даних – властивість інформації, яка полягає в тому, що інформація не може бути модифікована неавторизованим користувачем і/або процесом. Інформація зберігає цілісність, якщо дотримуються встановлені правила її модифікації та видалення.

Базовими поняттями реляційних СКБД є:

атрибут,

відношення,

кортеж.

Відношення має просту графічну інтерпретацію, воно може буде представлене у вигляді таблиці, стовпці (поля, атрибути) якої відповідають входженням доменів у відношення, а рядки (записи, кортежі) – наборам з n значень, що взяті з початкових доменів.

СКБД поділяються на локальні СКБД (усі частини локальної СКБД розміщаються на одному комп'ютері) та розподілені СКБД (частини СКБД можуть розміщатися на двох і більш комп'ютерах).

За способом доступу до БД, СКБД поділяють на: 1) Файл-серверні.

У файл-серверних СКБД файли даних розташовуються централізовано на файлі-сервері. СКБД розташовується на кожному клієнтському комп'ютері (робочої станції). Доступ СУБД до даних здійснюється через локальну мережу. Синхронізація читань і відновлень здійснюється за допомогою файлових блокувань. Перевагою цієї архітектури є низьке навантаження на процесор файлового сервера. Недоліки: потенційно високе завантаження локальної мережі; утрудненість або неможливість централізованого керування; утрудненість або неможливість забезпечення таких важливих характеристик як висока надійність, висока доступність і висока безпека.

На даний момент файл-серверна технологія вважається застарілою. Приклади: Mіcrosoft Access, Paradox, dbase, Foxpro, Vіsual Foxpro.

73

2) Клієнт-серверні.

Клієнт-серверна СКБД розташовується на сервері разом із БД і здійснює доступ до БД безпосередньо, у монопольному режимі. Усі клієнтські запити на обробку даних обробляються клієнт-серверної СКБД централізовано. Недолік клієнт-серверних СКБД полягає в підвищених вимогах до сервера. Гідності: потенційно більш низьке завантаження локальної мережі; зручність централізованого керування; зручність забезпечення таких важливих характеристик як висока надійність, висока доступність і висока безпека.

Приклади: Oracle, Fіrebіrd, Іnterbase, ІBM DB2, Іnformіx, MS SQL Server, Sybase Adaptіve Server Enterprіse, Postgresql, MySql, Caché.

5.3 Проектування БД на основі принципів нормалізації

Метою нормалізації є усунення недоліків структури БД, які призводять до шкідливої надмірності в даних, яка в свою чергу потенційно призводить до різних аномалій і порушень цілісності даних.

Теоретики реляційних баз даних в процесі розвитку теорії виявили та описали типові приклади надмірності і способи їхнього усунення.

Нормальна форма – формальна властивість відношення, яка характеризує ступінь надмірності збережуваних даних і можливі проблеми. Кожна наступна нормальна форма в нижченаведеному списку (крім ДКНФ) в деякому сенсі є досконалішою, ніж попередня, з точки зору усунення надмірності.

Перша нормальна форма (1НФ, 1NF)

Друга нормальна форма (2НФ, 2NF)

Третя нормальна форма (3НФ, 3NF)

Нормальна форма Бойса-Кодда (НФБК, BCNF)

Четверта нормальна форма (4НФ, 4NF)

П'ята нормальна форма (5НФ, 5NF)

Доменно-ключова нормальна форма (ДКНФ, DKNF).

5.4 Схема БД

Схема бази даних – структура БД, описана формальною мовою, підтримувана системою керування базами даних. У реляційних базах даних схему визначає таблиці, поля в кожній таблиці, а також відносини між полями і таблицями.

Таблиці є об’єктами схеми, БД повинна мати як мінімум одну таблицю. Поле таблиці – основний елемент структури таблиці. Поля мають різні

74

властивості: ім’я, тип, розмір, формат.

Унікальне поле – поле, значення в якому не можуть повторюватися. Ключове поле (первинний ключ) – поле, яке повністю та однозначно

визначає запис (кортеж).

Запис таблиці – сукупність значень полів для одного представника відношення.

5.5 Зв’язки між таблицями

Між двома або більш таблицями бази даних можуть існувати відносини підпорядкованості. Відносини підпорядкованості визначають, що для кожного запису головної таблиці (батьківської) може існувати одна або кілька записів у підлеглій таблиці (дочірній).

Існує три різновиди зв'язків між таблицями бази даних: "один-до- багатьох", "один-до-одного", " багато-до-багатьох".

5.5.1 Зв’язок "один-до-багатьох"

Зв’язок "один-до-багатьох" має місце, коли одному запису батьківської таблиці може відповідати кілька записів у дочірній таблиці (рис.5.1).

Зв'язок "один-до-багатьох" іноді називають зв'язком "багато-до-одного". У цьому випадку мається на увазі, що ми дивимося з боку дочірньої таблиці на батьківську.

Товар

Товар

Одиниця виміру

Ціна

Банани

Кг

3,7

Пепсі

Бут.

1,9

Груши

Кг

4,8

Кофе

Пачка

4,5

 

1

 

 

 

Відпуск товарів

 

 

Дата

Товар

Кількість

19.06.99

 

Банани

200

19.06.99

 

Банани

200

21.06.99

 

Пепсі

4000

21.06.99

 

Пепсі

600

22.06.99

 

Банани

400

24.06.99

 

Груши

200

Рисунок 5.1 – Зв’язок «один-до-багатьох».

75

5.5.2 Зв’язок "один-до-багатьох"

Відношення "один-до-одного" має місце, коли одному запису батьківській таблиці відповідає один запис у дочірній таблиці (рис. 5.2).

 

 

 

 

Співробітники

 

Рік народження

Родинний стан

 

Кількість

 

 

 

 

 

дітей

54

 

1956

Одружений

 

2

12

 

1943

Замужня

 

5

39

 

1969

Холостий

 

0

 

1

 

 

 

 

 

1

 

Інформація про співробітників

 

ПІБ

Посада

 

Відділ

54

 

Федин

Директор

 

 

12

 

Ким

Референт

 

 

39

 

Зорин

Опалювач

 

 

Рисунок 5.2 – Зв’язок «один-до-одного». 5.5.3 Зв’язок "багато-до-багатьох"

Зв’язок "багато-до-багатьох" має місце, коли:

Запису в батьківській таблиці може відповідати більше одного запису

вдочірній таблиці;

Запису в дочірній таблиці може відповідати більше одного запису в батьківській таблиці. (рис. 5.3).

Навчальні групи і дисципліни

№ групи

Група

 

Предмет

 

Кільк. студентів

1

 

 

ТД-02

 

Мікроекономіка

 

14

 

2

 

 

МД-02

 

Інформатика

 

11

 

3

 

 

ТД-03

 

Інформатика

 

12

 

4

 

 

ІД-02

 

Маркетинг

 

18

 

 

 

 

 

 

 

Викладачі

 

 

 

 

 

№ викл.

 

 

ФИО викладача

Кафедра

 

 

 

14

 

 

Долганов Г.Ф.

23

 

 

 

11

 

 

Морозова Т.Ю.

34

 

 

 

12

 

 

Сичева Л.Ф.

34

 

 

 

18

 

 

Заблодская І.В.

19

 

Рисунок 5.3 – Зв'язок «багато-до-багатьох».

76

На рис. 5.3 показані таблиці, що знаходяться у відношенні "багато-до- багатьох". Кожній навчальній групі відповідає декілька викладачів. Кожний викладач може вести кілька різних предметів.

Багато СУБД не підтримують зв'язки "багато-до-багатьом" на рівні індексів і посилальної цілісності, хоча й дозволяють реалізувати їх в таблицях неявним образом. Аналогічно, багато Case-засобів (програми для розробки структури бази даних у вигляді діаграм і генерації на їхній основі фізичної бази даних) також не дозволяють визначати цей зв'язок між таблицями проектованої бази даних. Вважається, що всякий зв'язок "багато- до-багатьох" може бути замінено на один або більш зв'язків "один-до- багатьох".

На рис 5.4 показано реалізацію зв'язку "багато-до-багатьох" за допомогою зв'язків "один-до-багатьох".

 

 

 

 

 

 

 

 

Навчальні групи і дисципліни

№ групи

 

Група

Предмет

 

 

 

Кільк. студентів

1

 

ТД-12

Мікроекономіка

 

 

14

2

 

МД-12

Інформатика

 

 

 

11

3

 

ТД-13

Інформатика

 

 

 

12

4

 

ІД-12

Маркетинг

 

 

 

18

5

 

ІД-11

Мікроекономіка

 

 

11

6

 

ІД-10

Інформатика

 

 

 

18

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Зв'язки

 

 

№ зв’язку

№ групи

 

№ викл.

 

 

 

1

 

3

 

 

11

 

 

 

 

 

2

 

3

 

 

12

 

 

 

 

 

3

 

4

 

 

11

 

 

 

 

 

4

 

4

 

 

18

 

 

 

 

 

5

 

1

 

 

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

Викладачі

 

 

№ викл.

ФИО викладача

 

 

Кафедра

 

 

14

 

Долганов Г.Ф.

 

 

23

 

 

11

 

Морозова Т.Ю.

 

 

 

34

 

 

12

 

Сичева Л.Ф.

 

 

 

34

 

 

18

 

Заблодская И.В.

 

 

19

 

 

46

 

Гончиркин Н.В.

 

 

40

Рисунок 5.4 – Реалізація відношення " багато-до-багатьох"

77

6 ЕКСПЕРТНІ І НАВЧАЛЬНІ СИСТЕМИ

Експертна система – це методологія адаптації алгоритму успішних рішень одної сфери науково-практичної діяльності в іншу. З поширенням комп’ютерних технологій це тотожна (подібна, основана на оптимізуючому алгоритмі) інтелектуальна комп'ютерна програма, що містить знання та аналітичні здібності одного або кількох експертів у відношенні до деякої галузі застосування і здатна робити логічні висновки на основі цих знань, тим самим забезпечуючи вирішення специфічних завдань (консультування, навчання, діагностика, тестування, проектування тощо) без присутності експерта (спеціаліста в конкретній проблемній галузі). Також визначається як система, яка використовує базу знань для вирішення завдань (видачі рекомендацій) в деякій предметній галузі. Цей клас програмного забезпечення спочатку розроблявся дослідниками штучного інтелекту в 1960ті та 1970-ті та здобув комерційне застосування, починаючи з 1980-их. Часто термін система, заснована на знаннях використовується в якості синоніма експертної системи, однак, можливості експертних систем ширші за можливості систем, заснованих на детермінованих (обмежених, реалізованих на поточний час) знаннях.

Однак, узгодженого визначення експертних систем не існує. Натомість, автори дають визначення залежно від застосування, структури таких систем. Ранні визначення експертних систем припускали застосування виведення нових знань на основі правил.

Схожі дії виконує програма-майстер (wizard). Як правило, майстри застосовують в системних програмах для інтерактивного спілкування з користувачем (наприклад, при інсталяції ПЗ). Головна відмінність майстрів від ЕС – відсутність бази знань; всі дії жорстко запрограмовані. Це просто набір форм для заповнення користувачем.

Інші подібні програми — пошукові або довідкові системи. За запитом користувача вони надають найвідповідніші (релевантні) розділи бази статей, альтернативність вибору котрих визначає суб`єкт формування запиту.

Тож ми бачимо обмеження методології експертних систем, при наявності корисних якостей в коректних межах застосування.

6.1 Структура експертної системи

Типові експертні системи можуть мати таку структуру:

База даних (не обов'язкова)

База знань

Машина виведення (розв'язувач)

78

Підсистема пояснень

Інтерфейс користувача

База знань складається з правил аналізу інформації від користувача з конкретної проблеми. ЕС аналізує ситуацію і, залежно від спрямованості ЕС, дає рекомендації з розв'язання проблеми.

ЕС створюється за допомогою двох груп людей:

інженерів, які розробляють ядро ЕС і, знаючи організацію бази знань, заповнюють її за допомогою:

експертів (експерта) за фахом.

Рисунок 6.1 – Структура типової експертної системи

6.2 Характеристики експертних систем

Експертна система відрізняється від інших прикладних програм наявністю таких ознак:

Моделює механізм мислення людини при застосуванні для розв'язання задач в цій предметній області. Це істотно відрізняє експертні системи від систем математичного моделювання або комп'ютерної анімації. Однак, ЕС не повинні повністю відтворювати психологічну модель фахівця в цій області, а повинні лише відтворювати за допомогою комп'ютера деякі методики розв'язання проблем, що використовуються експертом.

Система, окрім виконання обчислювальних операцій, формує певні висновки, базуючись на тих знаннях, якими вона володіє. Знання в системі, зазвичай, описані деякою спеціалізованою мовою і зберігаються окремо від програмного коду, що формує висновки. Компонент збереження знань прийнято називати базою знань.

Під час розв'язання задач основну роль відіграють евристичні і наближені методи, що, на відміну від алгоритмічних, не завжди гарантують успіх. Евристика, в принципі, є правилом впливу, що в машинному вигляді

79

відображає деяке знання, набуте людиною разом із накопичуванням практичного досвіду розв'язання аналогічних проблем. Такі методи є наближеними в тому сенсі, що, по-перше, вони не потребують вичерпної вихідної інформації, а, по-друге, існує певний ступінь впевненості (або невпевненості) в тому, що запропонований розв'язок є правильним.

Експертні системи відрізняються і від інших видів програм із галузі штучного інтелекту.

Експертні системи застосовуються для предметів реального світу, операції з якими зазвичай вимагають великого досвіду, накопиченого людиною. Експертні системи мають яскраво виражену практичну направленість для застосування в науковій або комерційній сфері.

Однією з основних характеристик експертної системи є її швидкодія, тобто швидкість отримання результату та його достовірність (надійність). Дослідницькі програми штучного інтелекту можуть бути і не дуже швидкими, натомість, експертна система повинна за прийнятний час знайти розв'язок, що був би не гіршим за розв'язок, що може запропонувати фахівець

вцій предметній області.

Експертна система повинна мати можливість пояснити, чому запропоновано саме цей розв'язок і довести його обґрунтованість. Користувач повинен отримати всю інформацію, необхідну йому для того, аби переконатись в обґрунтованості запропонованого розв'язку.

6.3 Класифікація експертних систем

Класифікація ЕС за завданням, що вирішується

Інтерпретація даних

Діагностика

Моніторинг

Проектування

Прогнозування

Навчання

Керування

Підтримка ухвалення рішень

Класифікація ЕС за зв'язком з реальним часом

Статичні ЕС

Квазідинамічні ЕС

Динамічні ЕС.

80

6.4 Етапи розробки експертних систем

Етап ідентифікації проблем - визначаються завдання, які підлягають вирішенню, виявляються цілі розробки, визначаються експерти і типи користувачів.

Етап витягання знань - проводиться змістовний аналіз проблемної області, виявляються поняття і їх взаємозв'язки, визначаються методи розв'язання задач.

Етап структуризації знань - обираються ІС і визначаються способи подання всіх видів знань, формалізуються основні поняття, визначаються способи інтерпретації знань, моделюється робота системи, оцінюється адекватність цілям системи зафіксованих понять, методів рішень, засобів представлення й маніпулювання знаннями.

Етап формалізації - здійснюється наповнення експертом бази знань. У зв'язку з тим, що основою ЕС є знання, даний етап є найбільш важливим і найбільш трудомістким етапом розробки ЕС. Процес придбання знань поділяють на вилучення знань з експерта, організацію знань, що забезпечує ефективну роботу системи, і представлення знань у вигляді, зрозумілому ЕС. Процес придбання знань здійснюється інженером зі знань на основі аналізу діяльності експерта з вирішення реальних завдань.

Реалізація ЕС - відбувається створення одного або декількох прототипів ЕС котрі вирішують поставлені задачі.

Етап тестування - проводиться оцінка обраного способу представлення знань в ЕС в цілому.

6.5 Штучний інтелект

Штучний інтелект – розділ комп'ютерної лінгвістики та інформатики, що займається формалізацією проблем та завдань, які нагадують завдання, виконувані людиною. При цьому, у більшості випадків алгоритм розв'язання завдання невідомий наперед. Точного визначення цієї науки немає, оскільки у філософії не розв'язане питання про природу і статус людського інтелекту. Немає і точного критерію досягнення комп'ютером «розумності», хоча перед штучним інтелектом було запропоновано низку гіпотез, наприклад, Тест Тюринга або гіпотеза Ньюела-Саймона. Нині існує багато підходів як до розуміння задач ШІ, так і до створення інтелектуальних систем.

Одна з класифікацій виділяє два підходи до розробки ШІ:

– нисхідний, семіотичний – створення символьних систем, моделюючих високорівневі психічні процеси: мислення, судження, мова, емоції, творчість і т. д.;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]