У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент





мова логічного програмування Пролог

Зміст

1.ПРОЛОГ - МОВА ЛОГІЧНОГО ПРОГРАМУВАННЯ.

2.ОСНОВНІ КОНЦЕПЦІЇ ПРОЛОГУ.

3.СТРУКТУРА ПРОГРАМИ PDC ПРОЛОГУ.

4.КОНТРОЛЬ ПОШУКУ РІШЕНЬ.

5.ПРОСТІ ТА СКЛАДНІ ОБ'ЄКТИ.

6. ІТЕРАЦІЯ І РЕКУРСІЯ.

7. РЕКУРСИВНІ СТРУКТУРИ ДАНИХ.

8. РОБОТА З СПИСКАМИ В ПРОЛОЗІ.

9. ТЕХНІКА ПРОГРАМУВАННЯ В ПРОЛОЗІ.

10.ОСОБЛИВІ ТЕХНІЧНІ ПРИЙОМИ ДЛЯ ПРОФЕСІОНАЛІВ.

1.ПРОЛОГ - МОВА ЛОГІЧНОГО ПРОГРАМУВАННЯ.

1.1.Загальний огляд мови Пролог.

Перші повідомлення про Пролог з`явились на початку сімдесятих років. Він належить до класу логічних мов програмування. Основні ідеї розробки яких запропонували Р.Ковальськи і П.Хейс. Перший інтерпретатор Пролога був розроблений французами в Марселі під керівництвом А.Колмерое в 1973 році. Наступна версія, виконана Д.Уореном - Единбугська реалізація Пролога на машині DEC-10, перетворила Пролог і разом з ним логічне програмування із площини теоретичних досліджень в площину практичного програмування, зробила його корисним інструментом для вирішення різних задач штучного інтелекту. Про великі можливості мови Пролог свідчить і той факт, що японські вчені вибрали його в якості базової мови для створення обчислювальних систем п`ятого покоління.

Для Прологу характерним є і той факт, що програміст повинен мислити в термінах цілей. Що ми під цим будемо розуміти? Коли ми програмуємо, застосовуючи мову програмування низького рівня, тоді ми повинні описувати як дещо треба зробити ЕОМ. Коли ж використовується мова програмування високого рівня, тоді необхідно вказати що ж потрібно зробити. На відміну від традиційних мов програмування, Пролог вимагає від програміста змінити форму мислення по написанню програм. Прологівська програма являє собою набір визначень ситуацій і формулювань задач, замість того, щоб детально описувати варіанти рішень цих задач. Основою Пролога є обмежений, але на диво потужний і гнучкий набір програмних механізмів, який включає в себе: співставлення зразків, задання структур даних типу дерева і автоматичне повернення. Назва Пролог утворилась як скорочення від “програмування в термінах логіки” і його можна віднести до мов програмування, які будуються на описовому або ж декларативному підході до програмування.

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

Попередньо Пролог відносився до теоретичних мов програмування і в більшості використовувався як інструментарій в наукових дослідженнях. На це впливало і те, що довгий час вчені із США не сприймали його переваг для вирішення задач штучного інтелекту. Джон Малпас пояснює цей факт тим, що по перше серед вчених США були сильними лісповські традиції (мова ЛІСП створена в Массачусетському технологічному інституті) і по друге - попереднє знайомство з мовою логічного типу Мікропленнером було невдалим. Остання була реалізована дуже не ефективно. Та з створенням швидких інтерпретаторів і компіляторів Пролог зайняв почесне місце не тільки серед найбільш використовуваних мов вирішення задач штучного інтелекту, а й серед мов, які використовуються спеціалістами в галузях реляційних баз даних, програмної інженерії, задання знань, експертних системах і багатьох інших.

1.2.Переваги і недоліки мови Пролог.

Резюмуючи сказане раніше можна виділити наступні переваги Прологу:

1.Пролог має чітку математичну основу, дуже близьку до людського мислення.

2.Використання єдиної мови специфікацій (числення предикатів) для опису вимог до програм і опису самої програми на Пролозі дозволяє поєднувати процес написання програми і її верифікацією.

3.Застосування відношення, як базового поняття мови, надає змогу зручно працювати з реляційними базами даних.

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

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

6.Пролог може зберігати за допомогою “логічних змінних” проміжні результати обчислень для наступного використання. Це дозволяє природньо вирішувати проблему організації логічного виведення.

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

1.Складність розуміння процесу виконання програми на Пролозі, пов`язані з “невидимим” порядком побудови виведення результату програмою.

2.Погані засоби для вияву екстралогічних властивостей (оператори динамічного приєднання і видалення тверджень).

3.Відсутність досконалих засобів для розробки і відлагодження великих програм.

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

1.3.Числення предикатів - математична основа мови.

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

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

Числення предикатів використовує наступні основні елементи:

1)константні терми с1,с2,...;

2)змінні терми х1,х2,...;

3)функціональні терми f1,f2,...;

4)предикатні букви p1,p2,...;

5)логічні символи ,,,,,;

6)спеціальне висловлення .

Елементарне висловлення складається з предикату і зв`язаних з ним термів. Складні висловлення будуються з елементарних за допомогою логічних зв`язок. Серед них можна виділити логічні зв`язки: “і” (and, ), “або ж” (or,) , “ні” (not, ) і імплікація (). Імплікація займає особливе місце, оскільки вона використовується для побудови специфічних правил і читається “якщо..., тоді...”.

Для того щоб в численні предикатів можна було використовувати змінні терми, застосовується спеціальна структура - квантор.

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


Сторінки: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22