User Tools

Site Tools


notatki:ci:hide_clips

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
notatki:ci:hide_clips [2009/12/15 09:20]
Marcin Blachnik
notatki:ci:hide_clips [2019/03/21 13:06] (current)
Line 1: Line 1:
 +====== CLIPS ======
  
 +CLIPS to oprogramowanie typu //public domain// a nazwa pochodzi od //C Language Integrated Production System//. CLIPS jest więc publicznie dostępnym systemem ekspertowym.
 +
 +====== Podstawowe polecenia ======
 +Uwaga polecenia w clips wpisywane są w nawiasach
 +===== Fakty =====
 +  * (facts) - wyświetla listę faktów
 +  * (facts x) - wyświetla listę faktów począwszy od x
 +  * (assert (jablko)) -  ogólniej (assert (fakt1) (fakt2) (fakt3)) - dodaje nowy fakt
 +  * (assert (symbole (read))) - utworzenie faktu na podstawie tekstu z klawiatury. Nowy fakt będzie iał postać "//​symbol tekst_z_klawiatury//"​
 +  * (reset) - resetuje listę faktów
 +  * (retract x) - usunięcie X'tego faktu, gdzie x to nr faktu
 +  * (deffacts nazwa "​opis"​ (fakt1) (fakt2) .. ) - definiuje listę faktów o określonej nazwie zawsze po wykonaniu polecenia (reset)
 +  * (undeffacts nazwa) - cofie definicję określonych faktów
 +  * (modify adres_faktu (nowa_wartość)) - umożliwia modyfikację faktów "​schematowych/​wzorcowych"​ (template)
 +  * (deftemplate nazwa (slot nazwa1) (slot nazwa2) (multislot nazwa3)) - pozwala na definiowanie schematu faktów (rekordu) który składa się z pól nazwa1, nazwa2, nazwa3, przy czym nazwa1 i nazwa2 mogą przyjmować tylko pojedynczą wartość, natomiast nazwa3 może przyjmować kilka wartości
 +  * (save-facts nazwa_pliku) - zapisanie faktów do pliku
 +  * (load-facts nazwa-pliku) - wczytanie faktów z pliku
 +
 +===== Reguły =====
 +  * (rules) - wyświetla listę reguł
 +  * (defrule nazwa "​komentarz"​ (przeslanka1) (przeslanka2) .. => (wniosek1) (wniosek2)) - definiowanie reguły przy czym przeslankaX i wniosekX to najczęściej fakty, w szczególności wniosekX to (assert) (retract)
 +  * (ppdefrule nazwa) - umożliwia podgląd reguły
 +  * (refresh) - ponowno sprawdzenie aktywacji reguły która została aktywowana. Normalnie reguły są aktywowane po zmianie stanu tabeli faktów, więc po jednokrotnej aktywacji reguły nie zostanie ona aktywowana więcej, chyba że wydamy komendę (refresh)
 +  * (matchs nazwa) - pozwala podejrzeć stan reguły, tzn które wzorce są aktywowane
 +  * (not (fakt)) - przy definiowaniu reguł możemy używać negacji typu (defrule xxx (not (zaplon tak)) => (assert (zepsute auto))) ​
 +  * (or (fakt1) (fakt2) ... )
 +  * (and (fakt1) (fakt2) ... )
 +  * (test (typ fakt wartość)) - pozwala na realizację testów typu > < itp
 +  * (save nazwa_pliku) - zapisuje reguły
 +  * (load nazwa_pliku) - wczytuje reguły
 +
 +===== Ogólne =====
 +  * (clear) - czyści całą listę faktów i reguł
 +  * (watch typ) - włącza podgląd określonego typu np. (watch facts) (watch rules)(watch activations) (watch all) - podglądaj wszystko
 +  * (unwatch typ) - wyłącza podgląd danego typu
 +  * (agenda) - wyświetla informacje o regule aktywowanej przez dane przesłanki
 +  * (run) - uruchamia system
 +  * ?nazwa - tworzy zmienną o nazwie nazwa, można też użyć samego ? wówczas jest to dowolna zmienna (nie mamy do niej dostępu bo nie znamy nazwy) która jest wymagana
 +  * ?zmienna <- (fakt) - przepisanie adresu faktu do zmiennej zmienna (zmienna ta zawiera adres w postaci np. fact-0), zmienna jest zmienną lokalną tzn. działa w obrębie jednego faktu. ​
 +  * $? - zmienna która nie jest wymagana
 +  * ~ - negacja
 +  * | - "​lub"/"​or"​ w notacji clipsa
 +  * (read) - wczytanie danych przez użytkownika
 +  * (printout t „napis” crlf) – wypisanie wiersza tekstu na ekranie (terminalu „t”/​konsoli)
notatki/ci/hide_clips.txt · Last modified: 2019/03/21 13:06 (external edit)