6. System ekspertowy

Chcąc nauczyć się pisać proste systemy ekspertowe na samym początku przeanalizujemy przykład z książki „PROLOG PROGRAMMING IN DEPTH” napisanej przez Michael A. Covington, Donald Nute i Andre Vellino. System ekspertowy służy do pomocy przy rozwiązywaniu konkretnego problemu, np. dlaczego drukarka nie drukuje, dlaczego samochód nie odpalił, itp. System zadaje pytania,…

Czytaj dalej

5. Silnia – przykład mechanizmu rekurencji

Silnia z liczby naturalnej n to iloczyn wszystkich liczb od 1 do n, czyli n!=1*2*3*…*(n-1)*n. Mając do dyspozycji matematyczny wzór silni napiszemy program w prologu obliczający silnie dla dowolnej liczby. Z wzoru wiemy, że silnia dla 0 wynosi 1. silnia(0,1). Z tego wynika, że silnia z liczby daje nam wynik….

Czytaj dalej

4. Rodzina – reguły pokrewieństwa

W języku programowania Prolog możemy utworzyć funkcje określające pokrewieństwo. Do zobrazowania i przetestowania działania funkcji posłuży nam fragment drzewa genealogicznego pewnego Krzyśka. Najprostszym z pokrewieństw jest pokrewieństwo rodzic-dziecko. W tym przypadku będziemy tworzyć to w następujący sposób: rodzic(kto,czyim). rodzic(marek,jurek). – Marek jest rodzicem Jurka. PAMIĘTAJ! Stałe piszemy małą literą! a)…

Czytaj dalej

3. Listy – podział na głowę i ogon

Lista to uporządkowany ciąg elementów, rozdzielonych przecinkami i umieszczonych pomiędzy kwadratowymi nawiasami, o dowolnej długości. Elementem listy może być każdy term – stała, zmienna, liczba, inna lista, itp. [a,b,c]. [a,123,[],[1,b],B]. Lista może być pusta []. Prolog przetwarzając listy dzieli je na dwie części – głowę i ogon. Głową jest zawsze…

Czytaj dalej

2. Arytmetyka

W Prologu możliwe jest wykonywanie działań arytmetycznych, jednak nie bezpośrednio – do tego celu służy predykant is, który „bierze” wyrażenia znajdujące się po prawej stronie, następnie je oblicza, a wynik przypisuje zmiennej znajdującej się po lewej stronie. Działania wpisujemy w tym samym miejscu kompilatora, co zapytania, rozpoczynając od zmiennej, do…

Czytaj dalej

1. Większość – relacja przechodnia i przepełnienie stosu

To zadanie obejmuje wiedzę z zakresu tworzenia prostych faktów, uruchamiania programu, zadawania zapytań. Poruszyliśmy w nim też kwestie reguł – przedstawimy tutaj relacja przechodnią. W matematyce jeżeli para (x,y) jest w relacji R oraz para (y,z) jest w relacji R to dla pary (x,z) też zachodzi relacja R. W języku…

Czytaj dalej