Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТЕОРІЯ ЦИФРОВИХ АВТОМАТІВ ТА ФОРМАЛЬНИХ МОВ..doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
4.72 Mб
Скачать

2.7. Передуюча нормальна форма

Для зручності аналізу складних висновків рекомендується формули приводити до нормальної форми. Якщо в алгебрі висловів прийнято дві нормальні форми (ДНФ – диз'юнктивна і КНФ – кон'юнктивна), то в алгебрі предикатів – одна передуюча нормальна форма (ПНФ), суть якої зводиться до розділення формули на дві частини: кванторну і безкванторну. Для цього квантори формули виносять вліво за певними правилами алгебри предикатів.

У результаті таких перетворень може бути отримана формула вигляду: x1 x2xn(M), де {; }, а М – матриця формули. Кванторну частину формули x1 x2xn іноді називають префіксом формули. Потім матрицю формули перетворюють до вигляду КНФ.

Ці формули знаходяться в передуючій нормальній формі:

(х)(y) (P(x, у)  Q(y)),

(х)(y) ( P(x, y)  Q(y)),

(х)(y) (z) (Q(x,y)  R(z)).

2.7.1. Перетворення формул в передуючу нормальну форму

Крок 1. Використовують закони

FG = (FG)  (GF),

FG =  FG,

щоб виключити логічні зв'язки  і .

Крок 2. Повторно використовують закон

 ( F) = F,

закони Моргана

 (FG) =  F   G,

 (FG) =  F   G.

і закони

 (x)(F)=(x)( F),

 (x)(F)=(x)( F),

щоб перенести знак заперечення всередину формули.

Крок 3. Використовують закони

(x) F  (x) G = (x) (FG),

(x) F  (x) G = (x) (FG),

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

Приклад 18. Привести формулу (x)Р(х)  (х)Q(х) до передуючої нормальної форми:

(x)Р(х)  (х)Q(х) =  ((x)Р(х))  (х)Q(х) =

= (x)( Р(х))  (х)Q(х) = (х)( Р (х)  Q(x)).

Отже, передуюча нормальна форма формули (x)Р(х)  (х)Q(х) це – (х)( Р (х)  Q(x)).

Приклад 19. Отримати передуючу нормальну форму для формули

(х)(y)((z) Р(х, z)  Р(y, z))  (u) Q(х, y, u)).

(х)(y)((z) Р(х, z)  Р(y, z))  (u) Q(х, y, u)) =

= (х)(y)( ((z) Р (х, z)  Р (у, z)))  (u) Q(х, y, u)) =

= (х)(y)((z) ( Р (х, z)   Р (у, z))  (u) Q(х, y, u)) =

= (х)(y)(z)(u) (  Р (х, z)   Р (у, z)  Q(х, y, u)).

Остання формула є передуючою нормальною формою першої формули.

2.8. Логіка реляційна

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

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

Відношення можна розглядати як файл певного типу. Такий файл складається з послідовності записів, по одному на кожен кортеж, причому не повинно бути однакових записів. Всі записи повинні мати однакове число полів для представлення атрибутів. У однойменних полях різних записів повинна зберігатися інформація одного і того ж типу, відповідного заданому, типу атрибуту.

Між таблицею, відношенням і файлом є відповідність:

ТАБЛИЦЯ

ВІДНОШЕННЯ

ФАЙЛ

рядок

кортеж

запис

ім'я стовпця

ім'я атрибуту

ім'я поля

тип атрибуту

тип домена

тип поля

Верхній рядок таблиці формує головку, а решта рядків – вміст таблиці:

Дисципліна

Лекції (год)

Лаб. заняття

(год)

Практ. заняття

(год)

Звітність (залік, екз.)

фізика

34

34

17

экз.

інформатика

51

34

0

залік

Це відношення відображає зв'язки між найменуванням навчальної дисципліни, видом і числом годин аудиторних занять та формою звітності. Імена атрибутів відношення: «Дисципліна», «Лекції_(год.)», «Лаб. заняття_(год.)», «Практ. заняття_(год.)», «звітність_(залік, екз.)». Значенням атрибуту «Дисципліна» є слова {фізика, інформатика}, «звітність» – {залік, екз.}. Тип цих атрибутів – <слово>, а тип домену – CHAR (строкове). Значеннями атрибутів «Лекції_(год.)», «Лаб. заняття_(год.)» і «Практ. заняття_(год.)» є цілі числа {17, 34, 51, 68}. Тип цих атрибутів – <ціле_число>, а тип домену – INTEGER (ціле). Кортежами цього відношення є: (фізика, 34, 34, 17, екз.), (інформатика 51, 34, 0, залік).

Таким чином, якщо дана множина атрибутів A = {A1, A2, ..., An} і множина доменів D = {D1, D2, ..., Dm}, то кортеж відношення є t = (d1, d2, ..., dn), де di D.

Відношення є множиною сумісних кортежів, тобто

r = {t| t = (d1, d2, ..., dn), di D}.

Відношення, задане на множині впорядкованих кортежів, є підмножиною n-арного прямого добутку домену D, тобто

r = {t| t=(d1, d2,...dn), diD}  1nD.

Відношення на множині впорядкованих кортежів задають схемою відношення із зазначенням імені відношення, числа і послідовності атрибутів кортежу rel(r), тобто rel(r) = (A1, A2, , An).

Множина схем відношень, що використовуються в реляційній базі даних, називають схемою реляційної бази даних, тобто REL(R) = {rel(r)}.