Sunteți pe pagina 1din 52

Studiu de caz asupra

Sistem expert
Ce este un sistem expert? 
• Un sistem de inteligenţă artificială care se încadrează în tipul
sistemelor bazate pe cunoştinţe.
• Un sistem trebuie să folosească cunoştinţele pentru a genera toate
soluţiile taskului pentru care a fost proiectat.
Ce este un sistem inteligent de diagnoză?
• Un caz particular de sistem expert.

Scopul =soluţia problemei care facilitează formarea deciziei

Ex: În această perioadă este mai bine să economisesc sau să fac investiţi?
Baza de cunoştinţe
• este destinată pentru stocarea (memorarea)cunoştinţelor specializate
într-un anumit domeniu, preluate de la expertul uman,sub formă de
piese de cunoaştere care descriu situaţii evidente, fapte reale sau
ipotetice precum şi euristici.
• Reprezentarea cunoştinţelor se face în mai multe moduri, dintre care cele
mai des folosite sunt: reţele semantice, regulile de producţie şi cadrele.
• cunoaşterea este memorată sub forma regulilor de producţie, baza de
cunoştinţe conţine două componente: baza de reguli şi baza de fapte
• prelucrate înaintea implementării pentru a putea fi recunoscute de către
sistemul expert
Baza de cunoştinţe
• stochează cunoştinţe în baza de fapte- sub formă de
• informaţii, pe baza cărora sistemul expert ia decizia
• reguli care descriu raţionamentul folosit în luarea
deciziei.
La stocarea cunoştinţelor în baza de fapte şi în procesul de raţionament,sistemul expert, foloseşte
• operatori logici (AND, OR, NON, APARŢINE, etc),
• operatori matematici (*, /, +, -, %, etc) şi
•  propoziţii
În procesul de implementare a cunoştinţelor şi concepere a raţionamentului, există:
1. regulile de ortografie şi folosire a parantezelor, utilizate în matematică şi în logică, pentru ierarhizarea operaţiilor care au
loc,
2. proprietăţilor acestora(comutativitate, asociativitate, etc).
Baza de fapte

• conţine datele unei probleme concrete care urmează să fie


rezolvată (formularea problemei) 
•  faptele rezultate în urma raţionamentelor efectuate de motorul de
interfaţă asupra bazei de cunoştinţe.
• stochează toate informaţiile, posibile, despre un anumit obiect prin
atribuirea acestuia de caracteristici, de exemplu:dobânda este mare,
inflaţia este mică, mediul social este bun, etc.
Baza de reguli
• înglobează relaţiile între fapte, necesare la formarea raţionamentului
• Regulile sunt folosite în procesul de luare a deciziei ca raţionament, de
exemplu:
• sunt formate din condiţii şi concluzii.
• Logica folosită de sistemele expert este bazată pe afirmaţii:
• "dacă condiţiile sunt adevărate atunci concluziile sunt adevărate"
• "dacă există concluzii care sunt adevărate atunci condiţiile trebuie să fie adevărate"

Dacă inflaţia este mică


şi 
 Dacă dobânda este mare
atunci 
se urmăreşte economisirea
altfel 
se urmăreşte a se face investiţii
Ce este o regulă? 
• Regulile sunt folosite pentru
• a reprezenta cunoştinţe euristice, asigurând realizarea unui set de acţiuni în
condiţiile date, verificabile.
• Dezvoltarea unui sistem expert constă în definirea unui set de reguli
care vor conduce la soluţii.
• O regulă este alcătuită din
1. antecedent (parte condiţională, LHS-left hand side – partea stângă) conţine un set de
condiţii (elemente condiţionale) care trebuie să fie satisfăcute pentru ca regula să fie
aplicabilă.
2. Consecvent(ul) (parte de acţiuni, RHS-right hand şi de – partea dreaptă)- unei reguli
este un set de acţiuni care sunt executate la aplicarea regulii. Acţiunile sunt realizate
atunci când motorul de inferenţa(CLIPS) execută o regulă din cele aplicabile. 
Euristica
• adj., s. f. 1. Adj. (Despre procedee metodologice) Care servește la
descoperirea unor cunoștințe noi. 2. S. f. Metodă de studiu și de
cercetare bazată pe descoperirea de fapte noi; arta de a duce o
dispută cu scopul de a descoperi adevărul. [Pr.: e-u-] – Din fr.
euristique.

• https://dexonline.ro/definitie/euristic/867260
Partea condiţională
• a unei reguli este satisfăcută
• dacă există sau nu anumite fapte în lista de fapte
• sau o anumită instanţă a unei clase definite de utilizator
• sau este îndeplinită o condiţie testată explicit. 
• O condiţie din antecedentul (LHS-left side) unei reguli se numeşte
„pattern”. 
Motorul de interfeţe=CLIPS

• este un program sau chiar un circuit integrat cu rol de a prelucra


cunoştinţele din baza de cunoştinţe, în funcţie de
informaţiile primite de la utilizator, oferind acestuia în final rapoarte, t
exte, grafice şi liste afişate pe ecran sau listate la imprimantă.
• format din două componente principale:
sistemul de administrare al bazei de cunoştinţe şi procesorul de interf
eţe simbolic.
• realizează căutarea si selectarea faptelor +regulilor care contribuie la
procesul de luare a deciziei
Modul de căutare
• a motorului de interfeţe poate fi reprezentată prin grafuri.
• în funcţie de strategia de căutare folosită de sistemul expert, acesta
poate fi prezentat în următoarele ipostaze:
A. motorul de căutare înainte
- folosit atunci când domină scopurile iar căutarea se face pe principiul:
dacă condiţiile sunt adevărate atunci concluziile sunt adevărate;
B. motorul de căutare înapoi
- folosit atunci când domină faptele iar căutarea se face pe principiul
dacă concluziile sunt adevărate atuncic condiţiile sunt adevărate;

C. motorul de căutare adâncime
- folosit atunci când domină faptele iar căutarea se face pe principiul
concluzia anterioară ca faptă până când concluzia devine una din soluţiile la problema de rezolvat;
„Pattern-matching” (verificare)
• Procesul prin care se verifica faptele şi instanţele care satisfac o anumită
condiţie (pattern)

CLIPS
asigură un mecanism, numit motor de inferenţă,
care verifică automat condiţiile regulilor în conformitate cu starea actuală a listei de fapte şi a listei de
instanţe, determinând regulile aplicabile la un moment dat, care sunt trecute într-o listă numită agendă (agenda conţine
toate regulile aplicabile la un moment dat). 
care foloseşte o strategie de rezolvare a conflictelor alegând o singură regulă din mai multe
aplicabile la un moment dat

Acest proces se termină atunci când


1.nu mai există nici o regulă în agendă
2. sau când s-a specificat explicit, printr-o comandă, oprirea inferenţei (agenda conţine toate regulile aplicabile la un moment
dat).
similitudinea cu o structură IF-THEN dintr-un limbaj de programare.
Fapte
• a rezolva o problemă, CLIPS trebuie să aibă date sau informații cu care să poată
raționa.
• O „porțiune” de informații din CLIPS se numește fapt.
• Faptele constau dintr-un nume de relație urmat de zero sau mai multe
intervale și valorile asociate acestora.

Exemplu de fapt:
simbolul Persoana -este numele relației faptului,
Faptul conține patru sloturi: nume, vârstă, culoarea ochilor și culoarea părului.
• Valoarea slotului de nume este „John Q. Public”
• Valoarea slotului pentru culoarea ochilor este albastră.
• Valoarea slotului pentru culoarea părului este neagră.

Ordinea în care sunt specificate sloturile este irelevantă. Faptul


următor este tratat ca fiind identic cu faptul la persoana întâi de
către CLIPS.
Fapt(ele)
• forma de bază de reprezentare în CLIPS pentru cunoştinţe.
• sunt organizate în liste de fapte.
• poate fi specificat prin index sau prin adresă.
• când un fapt este adăugat la lista de fapte sau modificat, acesta
primeşte un index unic în lista de fapte. Indexul de fapte începe de la
zero şi se incrementează cu unu la fiecare nou fapt adăugat sau
modificat.
• când se apelează comenzile reset sau clear indexul de fapte este pus
la zero.
Operaţiile ce se pot efectua asupra faptelor
sunt:
• adăugarea de noi fapte la lista de fapte;
• ştergerea de fapte din lista de fapte;
• modificarea unui fapt;
• duplicarea unui fapt.
Faptele sunt de trei categorii:
• ordonate, constau într-un simbol urmat de o secvenţă de zero sau mai
multe câmpuri separate de spaţii şi delimitate de paranteze “( )”;
• neordonate, constau dintr-o structură abstractă (similară cu structura
din C) în care fiecare câmp are un nume;
• fapte iniţiale cu ajutorul constructorului deffacts se pot introduce în
lista de fapte care devine o colecţie de fapte folosind comanda reset.
…..în loc de..
• Funcţionarea sistemului expert este controlată de motorul de interfeţe.
• În funcţie de 
1. scopul avut de utilizator, motorul de interfeţe selectează din baza de reguli, regulile ce
trebuiesc aplicate pentru rezolvarea problemei propuse pentru a fi soluţionată.
2. regulile avute la dispoziţie, motorul de interfeţe alege din baza de fapte, faptele ce
servesc ca şi condiţii la regulile selectate anterior. 
3. aplicarea regulilor se nasc noi fapte ce actualizează baza cu fapte veridice.
4. În funcţie de cunoştinţele avute la dispoziţie motorul
dialoghează prin intermediul interfeţei de dialog cu mediul exterior (utilizatori, senzori, alt
e programe informatice) pentru procurarea de noi cunoştinţe necesare în luarea deciziei.
5. scopul a fost atins sau baza de reguli aplicabile s-a terminat, procesul de căutare ia sfârşit
iar faptele din baza de fapte veridice sunt trimise modului explicativ, pentru întocmirea
raportului explicativ
https://www.academia.edu/4790769/
Utilizarea_Sistemelor_Expert_in_Promovarea_Deciziei_Econom
ico_Financiare
Aplicații
• Un sistem expert poate reprezenta o componentă dinamică a unei
aplicaţii care să culeagă informaţii prin intermediul metodei interviului.
Faţă de algoritmii din programarea tradiţională care lucrează cu date
omogene, baza de cunoştinţe a sistemului acceptă structuri eterogene ale
informaţiei, modelul real având de caştigat.
• sistemele expert care joacă un rol important
în politicile manageriale asupra cunoaşterii referitoare la: competitivitatea
 firmei,calitatea totală, rapiditatea reacţiei faţă de competitori, reducerea
costurilor,coerenţă şi dinamism în comportament.
• Au facilitat apariția roboţilor industriali care fac munca mai
competitivă,realizând în acelaşi timp un randament foarte ridicat
Funcţia de bază
• a sistemelor expert este raţionamentul ele putând fi
definite = fiind programe informatice capabile să reproducă
raţionamentul.
• Principalele moduri de raţionament folosite sunt:
1. deducţia care permite să se obţină concluzii plecând de la reguli ale
căror  premise sunt verificate; 
2. inducţia care conduce la reguli plecând de la observaţii parţialedeterminate
adesea de scheme predefinite
Constructul Deftemplate

• Înainte ca faptele să poată fi create, CLIPS trebuie să fie informat cu privire


la lista de sloturi valide pentru un nume de relație dat.
• Grupurile de fapte care împărtășesc același nume de relație și care conțin
informații despre informații comune pot fi descrise folosind constructul
deftemplate.
• Formatul general al unui deftemplate este:
(deftemplate <relation-name> [<optional-comment>]
<slot-definition>*)
Syntaxa <slot‐definition> este definită:
(slot <slot-name>) | (multislot <slot-name>)
• The deftemplate pentru fact-ul person este: (deftemplate person "An example deftemplate"
(slot name)
(slot age)
(slot age)
(slot eye-color)
(slot hair-color))
Multifield Slots
• Cuvântul cheie MuItislot din șabloanele lor deftemplates
corespunzătoare trebuie să conțină zero sau mai multe valori
(person (name John Q. Public)
(age 23 )
(eye-color blue)
(hair-color brown))

este ilegal dacă name este un slot cu un singur câmp, dar legal dacă name este un slot cu mai multe câmpuri.
Facts ordonate
• Faptele cu un nume de relație care nu are un deftemplate corespunzător se
numesc fapte ordonate
• De exemplu, o listă de numere ar putea fi reprezentată cu următorul fapt:
( number-list 7 9 3 4 20)
Există două cazuri în care faptele ordonate sunt utile.
1. Faptele care constau doar dintr-un nume de relație sunt utile ca indicatori și
arată identic, indiferent dacă a fost definit sau nu un deftemplate. De
exemplu,
(all-orders-processed)
Pentru faptele care conțin un singur slot, numele slotului este de obicei sinonim cu numele relației relației. De exemplu,
faptele:
(time 8:45)
(time (value 8:45))
(food-groups meat dairy bread
(food-groups (values meat dairy bread
fruits-and-veg ) etables)
fruits-and-vegetables))
• sunt la fel de semnificative ca :
• Un fapt deftemplate este un fapt neordonat.
• Ordonat versus neordonat
• Faptele ordonate encodezaă informații cu poziție fixă, care nu este
convenabil de accesat
• Claritatea și independența în ordinea sloturilor sunt virtuți ale
deftemplatefapte
• Comandă suplimentară (de exmodify, duplicate) pentru fapte neordonate
DEFTEMPLATE
Assert =Manipulare a Facts 
• Comenzi de bază pentru a opera pe fapte:
• assert, retract, modify, duplicate, facts
• Adăugarea faptelor
– Fapte noi pot fi adăugate la lista de fapte folosind comanda assert.

(assert <fact>+)
Mai mult de un fapt poate fi adăugat folosind o singură data comandă assert. De exemplu, comanda:
Afișare FACT
• Comanda fapte poate fi folosită pentru a afișa faptele în lista de fapte.
(facts)
• Fiecărui fapt care este inserat în lista de fapte i se atribuie un
identificator unic de fapt care începe cu litera f și urmat de un număr
întreg numit indice de fapt.
• De exemplu,
Sintaxa completă este
• Sintaxa completă completă pentru comanda facts este:
(facts [<start> [<end> [<maximum>]]])
Unde <start>, <end>, și<maximum> sunt intregi positivi.
Dacă nu sunt specificate argumente, toate faptele sunt afișate.
– Dacă argumentul <start> este pecificat, toate facts cu fact indexes mai mari
sau egale cu <start> sunt afișate.
– Dacă <start> și <end> sunt specificate, toate facts cu fact indexes mai mari
sau egale cu <start> și mai mici egale uc <end> sunt afișate.
– In final, daca <maximum> este specificat împreună cu <start> și <end>. nu
mai mult de <maximum> facts vor fi afișate.
retract
• Eliminarea faptelor din lista de fapte se numește retragere și se face
cu comanda retract.
– Sintaxa comenzii retract este:
(retract <fact-index>+)
(retract 0)
• O singură comandă retract poate fi utilizată pentru a șterge mai multe
fapte simultan

( retract 0 1)
modify
• Valorile sloturilor deftemplate facts pot fi modificate utilizand
comanda modify

(modify <fact-index> <slot-modifier>+)

Unde <slot‐modifier> este: (<slot-name> <slot-value>)

Un nou index de fapt este generat pentru un fapt modificat.


duplicate
• Duplicarea faptelor
• Comenzile de modificare și duplicare nu pot fi utilizate cu fapte
ordonate.
• Pentru a activa comanda duplicate, poate fi necesară următoarea
comandă: (set-fact-duplication TRUE) duplication TRUE)
watch
• este utilă pentru debugging programele.
(watch <watch-item>)
• este unul dintre simbolurile fapte, reguli, activări,statistici, compilații,
focus, defuncții, globale, funcții generice,metode, instanțe, sloturi,
mesaje, gestionare de mesaje sau toate.
• Dacă faptele sunt urmărite, CLIPS va imprima automat un mesaj
• Am înțeles că a fost făcută o actualizare a listei de fapte ori de câte ori
există fapte assert sau retract.
• Efectele unei comenzi watch pot fi dezactivate folosind comanda
(unwatch <watch-item>)
Constructul Deffacts
• Este adesea convenabil să poți afirma automat un set de fapte în loc
să tastezi aceleași afirmații de la nivelul superior.
• Acest lucru este valabil mai ales pentru faptele despre care se știe că
sunt adevărate înainte de a rula un program de program (adică,
cunoștințele inițiale inițiale)).
• Grupurile de fapte care reprezintă cunoștințele inițiale pot fi definite
folosind constructul defact.
Sintaxă
(deffacts <deffacts name> [<optional comment>]
<facts>* )

• Faptele dintr-o declarație deffacts sunt assert folosind comanda reset


CLIPS.
• Comanda de resetare elimină toate faptele din lista de fapte și apoi
assert faptele din declarația de defacts existentă.

(reset)
Chiar dacă nu ați stabilit nici o declarație deffacts, comanda reset va face un assert de fact (initial‐fact).
– Identificatorul de fapt al faptului inițial este întotdeauna f-0.
Componeța unei Rules
• Regulile pot fi introduse direct în CLIPS sau încărcate dintr-un fișier de
reguli.
• Pseudocodul pentru una dintre regulile posibile din sistemul expert de
monitorizare a plantelor industriale este prezentat după cum urmează:
IF the emergency is a fire
THEN the response is to activate
the sprinkler system
Înainte de a converti pseudocodul într-o regulă, trebuie definite deftemplate-urile pentru tipurile de fapte la care se referă
regulă.
(deftemplate emergency (slot type))
unde câmpul tip al faptului de urgență ar conține simboluri precum incendiu, inundație și întrerupere de curent.

(deftemplate response (slot action))


unde câmpul de acțiune al faptului răspuns response indică indică răspunsul response care trebuie luat.
(defrule fire-emergency "An example rule"
(emergency (type fire))
=>
(assert (response (action activate-sprinkler-system))))
• Întreaga regulă trebuie să fie înconjurată de paranteze și fiecare dintre modelele și acțiunile regulii trebuie să fie înconjurat
de paranteze.
• O regulă poate avea mai multe modele și acțiuni. Parantezele din jurul modelelor și acțiunilor trebuie să fie echilibrate în
mod direct dacă sunt imbricate.
• Antetul regulii este format din trei părți.
1. Regula trebuie să înceapă cu cuvântul cheie defrule, urmat de numele regulii.
2. urmat de un string comentariu opțional.

FORMAT GENERAL AL UNEI REGULI


După antetul regulii sunt zero sau mai multe elemente condiționate (CE).
Cel mai simplu tip de CE este un model CE sau pur și simplu model.
Fiecare model de model constă dintr-una sau mai multe constrângeri constrângeri menite să se potrivească cu câmpurile
unui fapt deftemplate.
Regula este alcătuită din
• CLIPS încearcă să potrivească tiparele regulilor cu faptele din lista de fapte.
– Dacă toate modelele unei reguli se potrivesc cu faptele, regula este activată și pusă agenda,
colecția de reguli activate activate.
• Săgeata este un simbol care reprezintă începutul părții THEN a unui IF-THEN regulă.
- Partea regulii dinaintea săgeții se numește partea stângă (LHS)iar partea de după săgeată se
numește partea dreaptă (RHS).
• Ultima parte a unei reguli este lista de acțiuni care vor fi executate atunci când
regula se declanșează.
– În mod normal, un program își încetează execuția atunci când nu există reguli pe ordinea de zi.
– Când există mai multe reguli pe ordinea de zi, CLIPS automat determină care este regula
potrivită pentru a trage.
Ordinea de zi (AGENDA) și execuția (RUN)
• Execution ‐‐ run
• Un program CLIPS poate fi făcut să ruleze cu comanda run. Sintaxa
comenzii de rulare este: (run [<limit>])
• unde argumentul opțional <limit> >este numărul maxim de reguli care trebuie
declanșate.
• Dacă <limit> nu este inclusă sau <limită> este ‐1, regulile vor fi derogate până
când niciuna nu este lăsată pe ordinea de zi.
• Reset
• Deoarece regulile necesită fapte pentru a fi executate, comanda de resetare este
metoda cheie pentru pornirea sau repornirea unui sistem expert în CLIPS.
Afișarea unei Agenda
• Listele de reguli din agenda pot fi afișate cu comanda (agenda).
• 0 indică importanța regulii de pe ordinea de zi.

Regula din agenda: fire‐emergyency comanda de rulare va face acum declanșarea regulii.
• Faptul ((response (action activate‐sprinkler‐system) va fi adăugată la lista de fapte ca acțiune a regulii ca și
acțiune a reguli (action activate‐sprinkler‐system existentă în agenda, comanda run va provoca acum declanșarea
regulii.
Regulile din expoziția CLIPS prezintă o proprietate numită refracție, refracție, ceea ce înseamnă că nu se vor
declanșa de mai multe ori pentru un anumit set de fapte.
Refresh poate fi folosit pentru a face regula să se execute din nou (refresh <rule-name>)
Activarea lui Watch, Rules, și Statistics Reguli care sunt urmărite watch: Dacă statisticile sunt watch, mesaje
informaționale vor fi tipărite la
finalizarea unei rulări

• CLIPS păstrează statistici privind numărul de fapte, activări și instanțe.


– Numărul mediu de fapte este suma numărului total de fapte din lista de fapte după fiecare declanșare a regulilor
împărțită la numărul de reguli declanșate.
• Numărul mediu și maxim al numărului de activări =statisticile de activări indică numărul mediu de activări pentru
fiecare declanșare a regulilor și cel mai mare număr de activări de pe ordinea de zi pentru orice persoană care
declanșează regulile.
Comenzi pentru manipularea Constructs
• Afișare listă de membrii
- (list-defrules)
– (list-deftemplates)
– (list-deffacts)
• Afișarea reprezentării text a unui membru de construcție specificat Construct Member
-(ppdefrule <defrule-name>)
– (ppdeftemplate <deftemplate-name>)
– (ppdeffacts <deffacts-name>)
• Ștergerea unui membru de construcție specificat CONSTRUCT
– (undefrule <defrule-name>)
- (undeftemplate <deftemplate-name>)
– (undeffacts <derfacts-name>)
• Ștergerea tuturor construcțiilor din mediul CLIPS– (clear)
Comanda PRINTOUT
• Pe lângă asserting facts în RHS de reguli, RHS poate fi folosit și pentru
a tipări informații folosind comanda printout:
(printout <logical-name> <print-items>*)
unde <logical‐name> indică destinația de ieșire a comenzii printout
command
<print‐items>* sunt zero sau mai multe elemente care trebuie tipărite
de aceasta comanda.
• Exemplu de regulă folosind comanda printout:
(defrule fire-emergency
(emergency (type fire))
=>
(printout t "Activate the sprinkler system“ crlf) )

Numele logic t îi spune CLIPS să trimită ieșirea către dispozitivul de ieșire standard al computerului, de obicei terminalul.
Utilizând Multiple Rules
• În plus față de regula de urgență în caz de incendiu~ fire‐emergency
rule, sistemul expert de monitorizare a instalației industriale poate
include o regulă pentru situațiile de urgență în care s-a produs.

(defrule fire-emergency
(emergency (type fire))
=>
(printout t "Activate the sprinkler system“ crlf) )
(defrule flood-emergency
(emergency (type flood))
=>
(printout t "Shut down electrical equipment“ crlf) )
• Regulile cu mai multe modele pot fi folosite pentru a exprima aceste
condiții
(deftemplate extinguisher-system
(slot type)
(slot status))
(defrule class-A-fire-emergency
(emergency (type class-A-fire))
(extinguisher-system (type water-sprinkler)
(status off))
=>
(printout t "Activate water sprinkler" crlf))
(defrule class-B-fire-emergency
(emergency (type class-B-fire))
(extinguisher-system (type carbon-dioxide)
(status off))
=>
(printout t "Use carbon dioxide extinguisher"
crlf) )
Orice număr de modele poate fi plasat într-o regulă.– Punctul important de realizat este că regula este
trecută pe ordinea de zi doar dacă toate tiparele sunt satisfăcute de fapte.– Acest tip de restricție se
numește element și condițional.
The SET‐BREAK Command
• CLIPS are o comandă de depanare numită set-break care permite
oprirea execuției înainte ca orice regulă dintr-un anumit grup de reguli
să fie declanșată.
(set-break <rule-name>) CLIPS> (set-break second)
– Examplu cu urm[toarele rules: CLIPS> (reset)
(defrule first CLIPS> (run)
=> FILE 1 first: f-0
(assert (fire second))) Breaking on the second
(defrule second CLIPS>
(fire second)
Comanda show-breaks poate fi folosită pentru a lista toate punctele de
=>
întrerupere. Sintaxa sa este: (show-breaks)
(assert (fire third)))
(defrule third
Comanda remove-break poate fi folosită pentru a elimina
(fire third)
punctele de întrerupere.
=> )
(remove-break [<rule-name>])
Loading șiSaving Constructs
• Încărcarea constructelor dintr-un fișier (load <file-name>)
Unde <file‐name> este un șir sau simbol care conține numele fișierului
care urmează să fie încărcat.
Ex (load “fire.clp”)
• Salvarea constructelor într-un fișier
– Comanda de salvare permite ca setul de constructe stocate în CLIPS
să fie salvat pe un fișier de
(save <file-name>)
Ex (save “fire.clp”).
Comentarii
information regarding the program.
;***************************
• Un comentariu în CILPS este orice text care ;* Programmer: xxx*
începe cu punct și virgulă și se termină cu
;* Title: The Fire Program *
întoarcere la transport.
;* Date: 05/17/04 *
• Este bine să includeți comentarii care descriu ; Deftemplate
constructele și oferă informații despre
(deftemplate emergency “template #1”
program.
(slot type)) ; What type of emergency
(deftemplate response “template #2”
(sloto type)) ; How to respond
; The purpose of this rule is to activate
; the sprinkler if there is a fire
(defrule fire-emergency “An example rule” ;IF
(emergency (type fire))
=> ; THEN
;Activate the sprinkler system
(assert (response (action activate-sprinker-system))))

S-ar putea să vă placă și