Wstęp :
Prolog jest programowanie logiczne język. Odgrywa ważną rolę w sztucznej inteligencji. W przeciwieństwie do wielu innych języków programowania, Prolog jest przeznaczony przede wszystkim jako deklaratywny język programowania. W prologu logika jest wyrażana jako relacje (zwane faktami i regułami). Serce prologu leży w logika Stosowany. Formułowanie lub obliczanie odbywa się poprzez uruchomienie zapytania dotyczącego tych relacji.
Instalacja w Linuksie:
Otwórz terminal (Ctrl+Alt+T) i wpisz:
sudo apt-get install swi-prolog>
Składnia i pola podstawowe:
W prologu deklarujemy pewne fakty. Fakty te stanowią Bazę Wiedzy systemu. Możemy wysyłać zapytania do Bazy Wiedzy. Otrzymamy wynik pozytywny, jeśli nasze zapytanie znajduje się już w bazie wiedzy lub jest to sugerowane przez bazę wiedzy, w przeciwnym razie otrzymamy wynik negatywny. Bazę wiedzy można zatem uznać za podobną do bazy danych, względem której możemy wysyłać zapytania. Fakty w Prologu są wyrażone w określony sposób. Fakty zawierają byty i ich relacje. Jednostki zapisuje się w nawiasie, oddzielając je przecinkiem (, ). Ich związek jest wyrażony na początku i poza nawiasem. Każdy fakt/reguła kończy się kropką (.). Zatem typowy fakt prologowy wygląda następująco:
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.>
Kluczowe cechy :
1. Ujednolicenie: Podstawową ideą jest to, czy dane terminy mogą reprezentować tę samą strukturę.
2. Wycofywanie się: Kiedy zadanie się nie powiedzie, prolog śledzi wstecz i próbuje wykonać poprzednie zadanie.
3. Rekurencja: Rekurencja jest podstawą każdego wyszukiwania w programie.
system operacyjny
Uruchamianie zapytań:
Typowe zapytanie prologu można zadać w następujący sposób:
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'.>
Zalety :
1. Łatwa w budowie baza danych. Nie wymaga dużego wysiłku programistycznego.
2. Dopasowanie wzoru jest łatwe. Wyszukiwanie opiera się na rekurencji.
3. Ma wbudowaną obsługę list. Ułatwia zabawę dowolnym algorytmem obejmującym listy.
Niedogodności :
1. LISP (inny język programowania logicznego) dominuje nad prologiem pod względem funkcji wejścia/wyjścia.
2. Czasami wejście i wyjście nie jest łatwe.
tło CSS
Aplikacje :
Prolog jest szeroko stosowany w sztucznej inteligencji (AI). Prolog jest również używany do dopasowywania wzorców w drzewach analizy języka naturalnego.
Odniesienie 1: https://en.wikipedia.org/wiki/Prolog
Odniesienie 2: http://www.swi-prolog.org/