Skip to main content

Co to jest język prolog?

Prolog to język programowania komputerowego oparty na logice.Większość języków komputerowych opiera się na krokach potrzebnych do rozwiązania problemu.Z drugiej strony język prolog jest językiem deklaratywnym, który wskazuje logiczne relacje między podmiotami.Sposób rozwiązania problemu jest pozostawiony komputerowi.Nazwa Prolog pochodzi od francuskiego programu en logiki, to znaczy logika programowania.

Poniżej znajduje się prosty program prologii:

przodek (f, c):- ojciec (f, c)
przodek (p, q):- Ojciec (P, R), Przodek (R, Q)
Ojciec (John, Jim).
Ojciec (Jim, Jerry).
Ojciec (Jerry, Jason).
Ojciec (Jerry, Jeff).
Ojciec (Ojciec (Jason, Joshua).

Powyższy program wskazuje na truizm.Jeśli F jest ojcem C, to F jest przodkiem C. Jeśli P jest ojcem jakiejś osoby, która jest przodkiem Q, to P jest przodkiem Q. Podano wówczas wiele prawdziwych faktów, takich jakJohn jest ojcem Jima.Jeśli wówczas postawiono pytanie, czy Jan jest przodkiem Jeffa, otrzymujemy odpowiedź tak jak poniżej:

?- Przodek (John, Jeff).
Tak

Jeśli przodkowie Jozuego są zainteresowani, to zainteresowani sąProgram wyświetla wszystkich przodków w następujący sposób:

?- Przodnik (A, Joshua)
A ' Jason
A ' Jerry
A ' Jim
A ' John

Uwaga, że w obu powyższych przypadkach program nie powiedziałJak dokonać oceny.Na przykład nie wskazało, czy zacząć od osoby starszej i przejść do młodszej osoby, czy odwrotnie.Również wymiany części jak poniżej:

Przodek (P, Q):- Przodek (R, Q), Ojciec (P, R)

Nie miałoby to znaczenia dla programu, ponieważ obie części po prawej stronie wymagająAby być prawdą, aby lewa strona była prawdziwa.

Język prologa koncentruje się zatem na związkach, a nie na tym, jak rozwiązać problem.Podczas wykonywania programu Prolog buduje szereg prawdziwych stwierdzeń, tworząc bazę wiedzy.W powyższym przykładzie baza wiedzy, w żadnej określonej kolejności, byłaby przodkiem (John, Jim), przodek (Jim, Jerry), przodek (John, Jerry), przodek (Jim, Jason), przodek (John, Jason),i tak dalej.Ta baza wiedzy może nadal się rozwijać w miarę wykonywania programu i można ją skutecznie wyszukiwać w celu uzyskania rozwiązań.Wykonanie może stosować przetwarzanie równoległe, jednoczesne wykonywanie przez wiele komputerów.

Język prolog jest używany w wielu obszarach.Zaczęło się w systemach ukierunkowanych na języki naturalne, takie jak angielski;Język naturalny jest jednym z obszarów sztucznej inteligencji.Język prolog jest również używany w symbolicznej matematyce, w tym algebrze.Jest stosowany w udowodnieniu twierdzeń, w systemach ekspertów i w systemach sterowania, wśród wielu innych aplikacji.