Artur Michalski
Definiowanie grupy faktów:
Wykorzystywanie polecenia assert do wprowadzania dużych zbiorów faktów jest bardzo niewygodne, dlatego też wszystkie fakty, które są niezbędne do rozpoczęcia procesu wnioskowania definiuje się za pomocą komendy (def facts).
Składnia
(deffacts <nazwa-grupy> [<opcjonalny-komentarz>]
«f akty»)
Umieszczenie tak zdefiniowanych faktów w pamięci roboczej jest możliwie dopiero po wydaniu komendy (reset). Dzięki temu zawsze na dowolnym etapie procesu wnioskowania możemy ustawić system w stan początkowy, określony za pomocą faktów zapisanych w grupach.
Składnia
(reset)
Przykład
CLIPS> (deffacts status-alarmu (alarm pożar)
(pozar-grupy A))
CLIPS> (reset)
CLIPS> (facts) f—0 (initial—fact) f—1 (alarm pożar) f—2 (pozar-grupy A)
CLIPS>
Uwagi:
Wykonanie polecenia (reset) powoduje również automatyczne skasowanie wszystkich faktów, które znajdowały się dotychczas w pamięci roboczej, wyzerowanie licznika indeksów faktów oraz dodanie systemowego faktu (initial-fact) z indeksem 0.
- 15-