Декларативна мова програмування "Пролог" - Курс лекций

бесплатно 0
4.5 75
Галузі застосування та принцип роботи мови програмування "Пролог". Керування процесом пошуку рішень, типи даних та використання списків. Рекурсивні процедури та цикли за допомогою пошуку з поверненням. Виконання арифметичних та логічних операцій.


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

Галузі застосування Пролога.

? Транслювання мов. Пролог ідеально пристосований як для транслювання з однієї мови програмування на іншу, так і для перекладу з однієї людської мови на іншу.

? Будування експертних систем (ЕС) і баз знань ЕС.

? Виведення теорем, перевірка різноманітних теорій і будування пакетів у галузі штучного інтелекту, де потрібні властиві Прологу можливості проводити дедуктивні міркування.

? Побудова пакетів, основаних на символьній обробці.

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

? Реалізація динамічних баз даних.

Принцип роботи Пролога.

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

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

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

Структура програм на Пролозі.

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

? Імена і структури обєктів, що беруть участь у даній задачі.

? Імена відношень, існуючих між обєктами (предикати).

? Факти і правила (речення), що характеризують ці відношення.

Речення Пролога складаються з голови та тіла і бувають трьох типів: факти, правила та запити.

Факт представляє собою відношення між одним або кількома обєктами і містить твердження, що є завжди безумовно істинним. Факти - це речення, що мають порожнє тіло. Факт має наступний синтаксис: відношення(обєкт1,обєкт2,...,ОБЄКТN).

Приклади. людина(„Гіві”). подобається(„Гіві”,„Єва”).

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

заголовок:-,,...,.

Приклад.дитина(Y,X):-батько(X,Y);

мати(X,Y).

Заголовок - це відношення (факт), істинність якого залежить від істинності списків умов в тілі правила. Це називається відношенням залежності.

Символ „:-” (якщо) розділяє заголовок і тіло правила.

Тіло представляє собою набір умов, який повинен бути істинним, щоб Пролог міг довести істинність заголовку правила.

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

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

Приклад.дитина(Y,”Петро”).

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

Тема 2. Основні розділи програми на Пролозі

Звичайна програма на Пролозі включає три або чотири програмних розділи: ? розділ доменів (domains);

? розділ предикатів (predicates);

? розділ мети (goal);

? розділ виразів (clauses).

Розділ clauses (факти і правила).

Це ядро програми, в якому містяться факти і правила, якими оперує Пролог, намагаючись досягти мети.

Вирази, що стосуються певного предикату, повинні розміщуватися в розділі clauses разом. Послідовність таких виразів, що визн
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?