Narzędzia użytkownika

Narzędzia witryny


notatki:prolog

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Poprzednia rewizja po obu stronachPoprzednia wersja
Nowa wersja
Poprzednia wersja
notatki:prolog [2025/05/13 22:19] administratornotatki:prolog [2025/05/14 09:21] (aktualna) administrator
Linia 1: Linia 1:
-====== Prolog ======+====== Prolog: Podstawy programowania logicznego ====== 
 +===== Programy do uruchomienia Prologa ===== 
 + 
 +  * https://wiki.ostrowski.net.pl/prolog/ na bazie https://tau-prolog.org/ 
 +  * https://swish.swi-prolog.org/ 
 + 
 +====== Wstęp ====== 
 + 
 +Prolog (Programming in Logic) to jeden z najstarszych i najbardziej znanych języków programowania deklaratywnego. Został stworzony w latach 70-tych XX wieku przez Alaina Colmeraura i Phillipa Rousselota. Jest to język, w którym programista opisuje problem w postaci faktów, reguł i zapytań, a system komputerowy samodzielnie wyciąga wnioski i szuka rozwiązań. 
 + 
 +====== Zastosowania Prologa ====== 
 + 
 +Prolog jest szeroko stosowany w dziedzinach, które wymagają rozwiązywania problemów logicznych, takich jak: 
 +  * Sztuczna inteligencja (AI): Prolog jest używany do tworzenia systemów eksperckich, systemów wnioskowania i robotyki, gdzie konieczne jest podejmowanie decyzji na podstawie dostępnych danych. 
 +  * Analiza i przetwarzanie języka naturalnego: Prolog znajduje zastosowanie w przetwarzaniu języka naturalnego (NLP), ponieważ potrafi analizować i przetwarzać struktury językowe. 
 +  * Bazy danych: Prolog może być używany do tworzenia baz danych i systemów wyszukiwania, w których relacje między danymi są wyrażone za pomocą faktów i reguł. 
 +  * Rozwiązywanie problemów matematycznych: Dzięki swojej logice, Prolog jest wykorzystywany do rozwiązywania problemów związanych z teorią grafów, szukaniem ścieżek, algorytmami planowania i innymi problemami kombinatorycznymi.
  
-Proste IDE prolog: https://wiki.ostrowski.net.pl/prolog/ 
-Trzeba wykonywać jedno zapytanie na raz. 
  
-{{:notatki:pasted:20250513-221954.png}} 
  
 ====== Drzewo Genealogiczne ====== ====== Drzewo Genealogiczne ======
Linia 30: Linia 43:
  
 Przykłady: Przykłady:
-  * Jeśli mamy fakt rodzic(jozef, jacek), zapytanie \+ rodzic(jozef, jacek). zwróci fałsz. +  * Jeśli mamy fakt ''rodzic(jozef, jacek)'', zapytanie ''\+ rodzic(jozef, jacek).'' zwróci fałsz. 
-  * Jeśli mamy zapytanie \+ rodzic(krzysztof, jacek). (które nie jest zapisane jako fakt w bazie), to zwróci prawdę.+  * Jeśli mamy zapytanie ''\+ rodzic(krzysztof, jacek).'' (które nie jest zapisane jako fakt w bazie), to zwróci prawdę.
  
 </WRAP> </WRAP>
Linia 232: Linia 245:
  
 W Prologu możesz używać ''_,'' gdy nie zależy ci na wynikach tej zmiennej, np. w przypadku: W Prologu możesz używać ''_,'' gdy nie zależy ci na wynikach tej zmiennej, np. w przypadku:
 +
 <code prolog> <code prolog>
 motyw(X, zazdrość) :- motyw(X, zazdrość) :-
Linia 248: Linia 262:
 Zatem ''_'' pełni rolę zmiennej, której wartości nie będziemy wykorzystywać w dalszej logice. Zatem ''_'' pełni rolę zmiennej, której wartości nie będziemy wykorzystywać w dalszej logice.
 </WRAP> </WRAP>
 +Predykaty i reguły:
 <code prolog> <code prolog>
 % Fakty % Fakty
notatki/prolog.1747167596.txt.gz · ostatnio zmienione: 2025/05/13 22:19 przez administrator