кщо (Р1 Р2 ... Рn), або вирази (Р1 Р2 ... Рn) Н або формули В¬ Р1 Р2 ... РnН, які суть різні записи хорновскіх диз'юнктів. Наведене правило схоже, крім того, на оголошення процедури в мові програмування. p> Тема правила дід (Х, Y) оголошений як і тіло правила батько (Х, Z), мати (Z, Y). Це правило вказує на те, що питання, що має форму? - Дід (андре, кароліна). перетвориться в питання? - Батько (андре, Z), мати (Z, кароліна). Наявність правила (як і факту) в БД означає загальзначимість відповідної формули. Вважається, що всі змінні в правилі пов'язані кванторами спільності. Наприклад, правило дід (Х, Y):-батько (Х, Z), мати (Z, Y). тлумачиться як.
Правила - найзагальніші вирази Прологу, факт являє собою правило без правої частини, а питання - без лівої:
Н істинно, якщо Р1 і Р2 ... і Рn істинні (правило),
Н істинно (факт або правило без тіла),
Р1 і Р2 ... і Рn істинні? (Питання або правило без заголовка). p> Розглянемо наступну БД:
мати (кароліна, юлія).
мати (кароліна, Альбертіна).
мати (марі, Проспер).
мати (анна, кароліна).
батько (Проспер, юлія).
батько (Проспер, Альбертіна).
батько (альфонс, Проспер).
батько (андре, кароліна).
дід (Х, Y):-батько (Х, Z), мати (Z, Y).
дід (Х, Y):-батько (Х, Z), батько (Z, Y).
бабка (Х, Y):-мати (Х, Z), мати (Z, Y).
бабка (Х, Y):-мати (Х, Z), батько (Z, Y).
Відносини мати і батько задані фактами, а ставлення дід і баба визначаються за допомогою правил.
На питання? - Дід (альфонс, юлія). відповідей серед фактів немає (жоден факт не відповідає предикату питання). Але заголовки деяких правил відповідають цьому предикату. p> Мета заголовка будь-якого правила вважається досягнутою (як і для факту) при збігу імені предиката, числа аргументів на ньому і констант стоять на відповідних місцях предиката. Так, наприклад факт дід (альфонс, юлія) забезпечує реалізованість (задоволення, досягнення) мети дід (Х, Y). Змінним із заголовка правила присвоюються значення: Х = альфонс, Y = юлія. Новою метою буде далі тіло з новими значеннями змінних батько (альфонс, Z), батько (Z, юлія). Ця послідовність предикатів обробляється як послідовність підцілей. Їх досягнення забезпечується привласненням Z = Проспер. p> У підсумку отримуємо послідовність питання-відповідь
? - Дід (альфонс, юлія). p> -> так
Значення внутрішньої (відсутньої в питанні) змінній не входить у відповідь. Це цілком природно, бо питання В«так-ніВ» і змінні X, Y, Z потрібні тільки для обчислення (знаходження) відповіді. p> Рекурсивні правила
База даних сім'я повинна відповідати на питання чи є Х предком Y. Визначення предиката В«бути предкомВ» рекурсивно. Для предків по жіночій лінії відповідні правила на Пролозі записуються так. предок (Х, Y):-мати (Х, Y). предок (Х, Y):-мати (Х, Z), предок (Z, Y). Такі рекурсії дозволяється використовувати, інакше мова була б занадто примітивним. Рекурсивне визначення предиката обов'язково має містити базис, тобто нерекурсівние частина, інакше воно буде логічно некоректним і програма зациклиться. Щоб уникнути зациклення, надолужити, крім того, подбати про порядок виконання, а отже, і порядку написання відповідних виразів. Тому практично корисно, а часом і необхідно дотримуватися принципу: В«спочатку нерекурсівние вираженняВ». br/>
23. Уявлення контексту. Приклад введення кванторів
Представлення контексту
Сам по собі концептуальний граф несе трохи інформації, тоді як включення до семантичну мережу дозволяє зв'язати його концепти і функціональні зв'язки з областю міркувань (експертизи). Наприклад, Кніга_22 - конкретизація слова "книга", яке представляє абстрактне поняття (або, інакше, тип). Відношення належності типом представлено зв'язує вузлом (ім'ям предиката) КОНКРІТ (від слова "конкретизація"). Крім факту, що Кніга_22 відноситься до типу "книга", ми хочемо показати, що вона належить деякому "безлічі книг" (наприклад, з бібліотеки деякого університету). Відношення належності безлічі представлено зв'язує вузлом (ім'ям предиката) Елем (від слова "елемент"). На малюнку конкретизації Жак_2, кни га_22 і Марі_4
пов'язані з різними типами і множинами, яким вони належать. Відзначимо, що "тип" вживається в абстрактному сенсі (абстрактний тип). Твердження про типи аналітичні, наприклад: середній вік студентів університету двадцять років. <В
Навпаки, властивості множин - синтетичні: число студентів університету одно десяти тисячам.
Використовуємо зв'язуючий вузол, який представляє ім'я предиката подмн для представлення відносини між двома множинами, з яких перше - підмножина другого. Як Елем оголошує про приналежність елемента множині, подмн означа...