Вступ до прологу. Загальна характеристика та основні поняття
Творцями Прологу (1973-74 рр.) були А.Colmerauer (Марсель) та R.Kowalski (Едінбург). Більш пізня мова DULAL розширює Пролог елементами модальної логіки. Мова VALID орієнтована на ЕОМ потоку даних. Створено кілька версій паралельного Прологу для реалізації на багатопроцесорних ЕОМ. Пролог було прийнято як базову мову в японській програмі створення ЕОМ п’ятого покоління, орієнтованої на дослідження методів логічного програмування та ШІ, а також на розробку нового покоління комп’ютерів, спеціально призначених задля реалізації цих методів. Пролог застосовується у створенні додатків до таких галузей:
1) розробка швидких прототипів прикладних програм;
2) управління виробничими процесами;
3) створення реляційних баз даних;
4) переклад з однієї мови на іншу;
5) розробка компіляторів;
6) розв’язок задач теорії графів;
7) створення природно-мовних інтерфейсів для існуючих систем;
8) створення пакетів символьних та часткових обчислень для розв’язання рівнянь, диференціювання та інтегрування;
9) реалізація експертних систем та оболонок експертних систем;
10) доведення теорем та пакети ШІ, в яких можливості Прологу із забезпечення дедуктивного виведення забезпечуються для перевірки різних теорій.
Вбудовані предикати мови Пролог роблять його придатним для розв’язання багатьох стандартних задач із сфери бізнесу, зокрема в бухгалтерському обліку та розрахунках зарплати. Програми на мові Пролог принципово відрізняються низькою швидкодією, оскільки обчислення здійснюється методом проб та помилок ( пошук з поверненнями). Тому його застосування для розв’язання обчислювальних задач є виправданим лише у тому випадку, коли ці задачі є істотно рекурсивними за природою.
Переваги реалізації Прологу на ІВМ РС (Турбо-Прологу):
1) висока швидкість роботи;
2) робота в режимі компіляції;
3) віконний інтерфейс;
4) можливість створювати автономно виконувані файли.
Система Турбо-Пролог включає до свого складу мову програмування та інтегроване середовище, налагоджування та виконання програм. Надалі розумітимемо саме цю реалізацію.
Фундаментальними властивостями мови Пролог є:
а) механізм виведення з пошуком та поверненням;
б) вбудований механізм зіставлення зі зразком;
в) проста та легко змінювана структура даних;
г) відсутність вказівок операторів, присвоювання та переходу;
д) природність рекурсії.
Мова Пролог базується на поєднанні цих властивостей, зручність – на природності його принципів для логічних задач, які зводяться до рекурсії. Програма мовою Пролог складається з фактів і правил для отримання інших фактів та відповідей на питання. Факти за означенням вважаються доведеними (істинними).
Конкретному застосуванню логічної програми відповідає поняття запиту (цілі). Досягнути цілі означає показати, що вона логічно випливає з фактів та правил програми. Якщо питання містить змінні; система повинна до того ж конкретні об’єкти, які будучи підставленими замість змінних, забезпечать досягнення цілі. У математичних термінах Пролог-система розглядає факти та правила як множину аксіом, а питання – як теорем. Обчислення відповіді на запит відповідає конструктивному доведенню існування такого об’єкта. Негативна відповідь (No solutions) просто означає, що на основі заданої сукупності фактів запит довести неможливо.
У мові Пролог використовуються специфічні позначення для логічних зв’язок. Знак кон’юнкції замінюється комою або словом and, – точкою із комою чи словом or; слідування позначається в програмах конструкцією : -(дві крапки та мінус) чи словом if. Вважається, що змінні у реченнях пов’язані квантором спільності , але знак опускається. До задач обчислювального типу, особливо пов’язаних з довільною вибіркою елементів масивів, Пролог явно не придатний.
До алфавіту мови Пролог входять такі символи:
a) прописні та рядкові букви латинського алфавіту (A – Z, a - z), слід зазначити, що регістр набору букв впливає на роботу програми;
b) цифри (0 - 9);
c) спеціальні символи ! C # $ & ( ) * - + / < > ; , ? . \ “ ‘¯.
Із символів, за обговорюваними далі правилами, конструюються складніші об’єкти: мета, числа і т.д.
Ключові (службові) слова мови Пролог вводитимемо по мірі виникнення потреби в них.
Дата добавления: 2015-04-01; просмотров: 1285;