logo

Пролог | Вступ


Вступ:

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



ні

Встановлення в Linux:

Відкрийте термінал (Ctrl+Alt+T) і тип:

 sudo apt-get install swi-prolog>

Синтаксис і основні поля:



У пролозі ми оголошуємо деякі факти. Ці факти складають базу знань системи. Ми можемо зробити запит у базі знань. Ми отримуємо результат як ствердний, якщо наш запит уже є в базі знань або він передбачається базою знань, інакше ми отримуємо результат як негативний. Таким чином, базу знань можна вважати подібною до бази даних, до якої ми можемо робити запити. Факти прологу виражені певною схемою. Факти містять сутності та їх відношення. Сутності записуються в круглих дужках через кому (, ). Їх відношення виражено на початку та поза дужками. Кожен факт/правило закінчується крапкою (.). Отже, типовий факт прологу виглядає наступним чином:

 Format : relation(entity1, entity2, ....k'th entity). Example : friends(raju, mahesh). singer(sonu). odd_number(5). Explanation : These facts can be interpreted as : raju and mahesh are friends. sonu is a singer. 5 is an odd number.>

Ключові особливості :
1. Об'єднання: Основна ідея полягає в тому, чи можна наведені терміни представляти одну і ту ж структуру.
2. Відстеження: Коли завдання не виконується, пролог повертається назад і намагається виконати попереднє завдання.
3. Рекурсія: Рекурсія є основою будь-якого пошуку в програмі.

Запущені запити:
Типовий запит прологу можна запитати так:



бурак озцивіт
 Query 1 : ?- singer(sonu). Output : Yes. Explanation : As our knowledge base contains the above fact, so output was 'Yes', otherwise it would have been 'No'. Query 2 : ?- odd_number(7). Output : No. Explanation : As our knowledge base does not contain the above fact, so output was 'No'.>

переваги:
1. Легко створити базу даних. Не потребує багато зусиль у програмуванні.
2. Підібрати візерунок легко. Пошук базується на рекурсії.
3. Він має вбудовану обробку списків. Полегшує роботу з будь-яким алгоритмом, що включає списки.

Недоліки:
1. LISP (ще одна мова логічного програмування) домінує над прологом щодо можливостей вводу-виводу.
2. Іноді введення та виведення нелегкі.

Застосування:

список програм python

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

Посилання 1: https://en.wikipedia.org/wiki/Prolog

Посилання 2: http://www.swi-prolog.org/