русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Логіка предикатів


Дата додавання: 2014-06-19; переглядів: 2100.


Порядок предиката, область визначення предиката, терм, предметні змінні та константи

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

«Кожна людина смертна.

Оскільки Сократ людина, то він смертний».

Інтуїтивно зазначений логічний висновок представляється коректним. Введемо такі атоми:

А— «кожна людина смертна»;

В — «Сократ — людина»;

С — «Сократ смертний».

Тоді вихідний умовивід буде відповідати формулі логіки висловлень А Ù В ® С.

Зведемо дану формулу до нормальної форми:

.

На інтерпретації (1,1,0) одержана формула дорівнює нулю, отже, ця формула не є загальнозначущою, тобто у рамках логіки висловлень С не є логічним наслідком А і В. Така обмеженість можливостей нашої формалізації зв'язана з тим, що в атомі А не враховується внутрішня змістова особливість узагальнення «кожний». Це викликає необхідність удосконалити логіку висловлень з тим, щоб вона повніше пояснювала здібності людини робити логічні висновки. Для цього до логіки предикатів введено додаткові, нові порівняно з логікою висловлень логічні поняття, а саме: терм, предикат і квантор.

Визначення

Визначено деякий предикат, якщо:

а) задана деяка (довільна) множина М, що називається областю визначення предиката (предметна область);

б) фіксована множина {1, 0}, що називається областю значень;

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

Поняття предиката є частковим випадком поняття функції, для якої чітко фіксована область значень.

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

Визначення

Предикат Р, що має п аргументів, називається п-місним предикатом, позначається Р(х1, х2, ..., хп).

Визначення

Кількість аргументів предиката Р(х1, х2, ..., хп)називається його порядком.

Так, наприклад, висловлення «x — дійсне число» можна зобразити одномісним предикатом, «у менше z»— двомісним предикатом, а «х і у батьки z»— трьохмісним предикатом. Якщо х, у і z заміщені конкретними значеннями (об'єктами), то предикат переходить у висловлення, яке розглядається як нульмісний предикат. Наприклад: «Терм і квантор— поняття логіки предикатів». Таким чином, якщо кількість аргументів предиката Р(х1, х2, ..., хп) п змінних дорівнює нулю, то предикат є висловленням; якщо п = 1, то предикат відповідає властивості; якщо п = 2, то предикат є бінарним відношенням; якщо п = 3, то предикат — тернарне відношення.

Приклад. Зобразити у вигляді предикатів висловлення: «x ділиться на 13», «х ділиться на у», «х — просте число».

Розв'язок. Оберемо як назву предикатів дії або властивості цих речень: ДІЛИТЬСЯ, ПРОСТЕ. Тоді задані висловлення можна записати у вигляді предикатів таким чином: ДІЛИТЬСЯ(х, 13), ДІЛИТЬСЯ(х, у),ПРОСТЕ(х). Тут перший і третій предикати є одномісними і кожний виражає деяку властивість числа х; другий предикат — двомісний і виражає бінарне відношення подільності на множині чисел.

У логіці предикатів існує поняття функціонального символу. Наприклад: мінус (х, у)— функціональний символ «х-у»; батько(х)— функціональний символ «батько людини х».Якщо функціональний символ має п аргументів, то він називається п-місним функціональним символом, наприклад: мінус(х, у)— двохмісний функціональний символ. Індивідуальний символ або константа може розглядатися як функціональний символ без аргументів.

Отже, для побудови атомів логіки предикатів дозволяється використовувати такі типи символів:

1. Індивідуальні символи або константи, які звичайно є іменами об'єктів, наприклад: Сократ, 13.

2. Символи предметних змінних, за які звичайно беруться букви латинського алфавіту, можливо, з індексами, наприклад: х, у, z.

3. Функціональні символи — рядкові букви латинського алфавіту або осмислені слова з рядкових букв, наприклад: мінус, батько.

4. Предикати — великі букви або осмислені слова з великих букв, наприклад: Р, Q, ДІЛИТЬСЯ, БІЛЬШЕ, ПРОСТЕ.

Визначення

Аргументи предиката називаються термами. Терм визначається рекурсивно таким чином:

1. Константа є терм.

2. Змінна є терм.

3. Якщо f є n-місним функціональним символом, а t1, t2,..., tnтерми, то f(t1, t2,..., tn) є терм.

4. Ніяких термів, крім породжених за допомогою вказа­них вище правил, не існує.

Визначення

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

Визначення

Терми-константи і терми-змінні називаються предметними константами і предметними змінними.

Приклад. Зобразити у вигляді предикатів такі речення:

1) «Студенти складають сесію».

2) «Число х + 1 більше числа х».

3) «Брат Марини».

Розв'язок. 1) Речення «Студенти складають сесію» може приймати значення «Істина» або «Хибність», тому його можна зобразити у вигляді предиката. У внутрішній структурі цього речення можна виділити присудок «складають», підмет «студенти» і доповнення «сесію». Останні можна розглядати як предметні константи. Таким чином, одержуємо нульмісний предикат СКЛАДАТИ(студенти, сесію).

2) Присудком у цьому реченні є слово «більше». Зобразимо підмет «х + 1» і доповнення «х» у вигляді термів. Причому терм «х +1» має внутрішню структуру, оскільки його можна зобразити за допомогою функціонального символу плюс(х, 1). Тоді вихідне речення прийме вигляд двомісного предиката: БІЛЬШЕ(плюс(х, 1), х). Тут х— предметна змінна, а 1— константа.

3) Речення «брат Марини» не можна зобразити у вигляді предиката, оскільки його значенням є не «Істина» або «Хибність», а деякий елемент предметної області, яка відповідає множині людей.

Приклад. Перекласти на природну мову такі висловлення логіки предикатів:

1) ДОРІВНЮВАТИ(х, 5).

2) ЗНАТИ(папа (Вася), математика).

Розв'язок. 1) Предикат ДОРІВНЮВАТИ(х, 5) відповідає твердженню «х дорівнює 5» природної мови. Тут 5— константа, х — предметна змінна.

2) У висловленні ЗНАТИ(папа(Вася), математика) функціональний символ «папа(х)» приймає значення з множини людей, що відповідає відношенню «бути батьком х».Тому вираз папа(Вася) слід інтерпретувати як «Васін папа». Таким чином, предикат ЗНАТИ(папа(Вася), математика) відповідає реченню «папа у Васі знає математику» природної мови. Тут «Вася» і «математика» є константами, а х — предметна змінна.

Запитання

1. Дайте визначення поняттю предикат.

2. Що називається порядком предиката?

3. Наведіть приклади n-місних предикатів.

4. Назвіть способи визначення предикатів.

5. Наведіть приклади функціональних символів.

6. Який функціональний символ називають n-місним?

7. Дайте визначення терма.

8. Що розуміють під предметною областю?

9. Дайте визначення понять предметна змінна і предметна константа. Наведіть приклади.

Завдання

1. З наведених нижче речень випишіть окремо висловлення, окремо — предикати:

а) х > 0;

б) 2 + 3 = 6;

в) про нього щось говорять;

г) х брат у;

д) протилежні боки А і В паралелограма рівні;

e) кожне явище х має свою причину у.

2.В наведених одномісних предикатах зробіть можливі підстановки змінної х так, щоб одержати істинні висловлення. Які з них припускають одну, а які — багато підстановок?

а) х — найвища горна вершина у світі;

б) х — представник діалектичної логіки;

в) х + 7 = 15;

г) х— логічна зв'язка;

д) х — видатний античний логік.

3. Змінні функції «х > у»приймають значення на множині {1,2,3}; В1, В2 — предикати, що задаються цією функцією відповідно при алфавітному і зворотному йому порядках. Встановіть:

а) область визначення предикатів В1і В2;

б) значення істинності В1(2, 3) і В2(2,3).

4. Скільки різних предикатів визначає висловлення «х + у = z», якщо Мх, Му і Мz — множини значень змінних х, у, z:

а) Мх= Му = Мz = {1, 2};

б) Мх = {1}, Му = {1, 2}, Мz= {2, 3}?

5. Визначте, чи еквівалентні такі предикати:

а) x2 = 1 і x = 1;

б) x2 = x і x = 1.

 


<== попередня лекція | наступна лекція ==>
Обчислення висловлень | Квантори


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн