Introducere

Cap.1  Prezentare Generală

Cap.2  Variabile

Cap.3  Cβmpuri şi elemente condiţionale

Cap.4  Funcţii de Intrare/ Ieşire

Cap.5  Controlul execuţiei regulilor

CUPRINS

 

Cap.1  Prezentare Generalㅅ…………………………………………….   5

1.1.  Intrarea şi ieşirea ξn CLIPS………………………………………….    5

1.2.  Tipuri de date………………………………………………………..     6

1.3.  Funcţiile…………………………………………………………….. 8

1.4.  Constructorii…………………………………………………………    9        

1.5.  Faptele ………………………………………………………………    9

1.5.1.  Faptele compuse. Constructorul deftemplate……………….. 10

1.5.2.  Fapte ordonate………………………………………………. 11

1.5.3.  Adăugarea şi ştergerea faptelor……………………………………    12

1.5.4.  Modificarea şi duplicarea faptelor………………………….. 15

1.5.5.  Urmărirea faptelor. Comanda watch………………….…….. 16

1.5.6.  Gruparea faptelor. Constructorul deffacts…………………... 17

1.6.            Definirea regulilor. Constructorul defrule…….………….……... 19

1.6.1.  Afişarea agendei……………………………………………..     21

1.6.2.  Urmărirea activărilor, a regulilor şi a statisticilor…………… 23

1.6.3.  Realizarea de breakpoint-uri………………………………… 24

1.7.  Operaţii efectuate asupra construcţiilor din CLIPS………………… 25

       1.7.1.  Ξncărcarea şi salvarea construcţiilor…………………………. 25

1.7.1.  Afişarea listei membrilor unei construcţii specificate………. 27

1.7.2.  Afişarea textului unei construcţii specificate……………….. 27

1.7.3.  Ştergerea membrilor unei construcţii specificate…….……… 28

1.7.4.  Ştergerea tuturor construcţiilor din mediul CLIPS………….  29

1.8.  Comanda printout………………………………………………….. 30

1.9.     Intrebări;  Aplicaţii……………………………………………….   30

Cap.2  Variabile…..…………………………………………………………. 33

2.1.  Definirea unei variabile ξn CLIPS………………………………….. 33

2.2.  Utilizarea multiplă a unei variabile………………………….……… 34

2.3.  Legarea adresei de fapt de o variabilㅅ………………………… 35

2.4.  Variabila liberă de un singur cβmp……………………….………… 38

2.4.1.  Problema blocurilor…………………………………………. 39

2.5.  Variabilele libere multicβmp……………………………………….. 44

2.6.  Variabilele multicβmp……………………………………………… 46

2.6.1..  Implementarea unei stive…………………………………… 48

2.6.2.  Problema blocurilor revizuitㅅ……………….…………. 50

2.7.  Potrivirea ξntr-un pattern pe mai multe căi……………….………… 51

2.8.  Intrebări;  Aplicaţii;  Probleme rezolvate….....…………………….. 51

Cap.3  Cβmpuri şi elemente condiţionale…………………………………..   58

3.1.  Constrβngerea literalㅅ………………………………….……… 58

3.2.  Constrβngerile conective………………………….…………………     58

              3.2.1.  Cβmpul condiţional NOT……………………….…………… 58

3.2.2.  Cβmpul condiţional OR……………………………………... 59

3.2.3.  Cβmpul condiţional AND…………………………………… 60

3.2.4.  Combinarea cβmpurilor condiţionale……………………….. 61

3.3  Elementele condiţionale…………………………………………….. 62

3.3.1.  Elementul condiţional OR…………………………………..  62

3.3.2.  Elementul condiţional AND………………………………… 64

3.3.3.  Elementul condiţional NOT………………………….……… 65

3.3.4.  Elementul condiţional EXISTS……………………………... 68

3.3.5.  Elementul condiţional FORALL……………………………. 69

3.3.6.  Elementul condiţional LOGICAL…………………………... 70

              3.3.7.  Elementul condiţional TEST………………………………... 73

3.4.  Funcţii predicative………………………………………………….. 75

3.5.  Intrebări;  Aplicaţii;  Probleme rezolvate.………………………….. 77

Cap.4  Funcţii de Intrare/ Ieşire……………………………………………    88       

4.1.  Funcţii matematice elementare…………………………………….. 88

4.2.  Sumarea valorilor utilizβnd reguli………………………………….  90

4.3.  Funcţia BIND………………………………………………………. 91

4.4.  Funcţia READ……………………………………………………… 92

4.5.  Funcţia OPEN……………………………………………………….    93

4.6.  Funcţia CLOSE…………………………………………………….. 93

4.7.  Scrierea şi citirea dintr-un fişier……………………………………. 94

4.8.  Funcţia FORMAT………………………………………………….. 95

4.9.  Funcţia READLINE……………………………………………….. 96

4.10.  Jocul grămezilor…………………………………………………… 97

4.10.1.  Tehnici de input……………………………………………. 98

4.10.2.  Testarea informaţiilor……………………………………… 99

4.10.3.  Cβmpul condiţional predicativ…………………………….  103

4.10.4.  Cβmpul condiţional = , valoare returnatㅅ……………. 104

4.11.  Comanda SYSTEM………………………………………………. 105

4.12.  Comanda BATCH………………………………………………… 105

4.13.  Comanda DRIBBLE-ON şi DRIBBLE-OFF…………………….. 106

4.14.  Intrebări;  Aplicaţii;  Probleme rezolvate………………………… 106

Cap.5  Controlul execuţiei regulilor………………………………………..    114

5.1.  Atributele Deftemplate……………………………………………. 114

5.1.1.  Atributul TYPE…………………………………………….. 114

5.1.2.  Atributul allowed values……………………………………. 116

5.1.3.  Atributul RANGE…………………………………………… 117

5.1.4.  Atributul CARDINALITY…………………………………. 117

5.2.  Atributul DEFAULT………………………………………………. 118

5.3.  Atributul Default-Dynamic………………………………………… 120

5.4.  Verificarea restricţiilor statice şi dinamice………………………… 121

5.5.  Prioritatea unei reguli ( SALIENCE )……………………………... 123

5.6.  Problema becurilor………………………………………………… 126

5.7.  Funcţii multicβmp…………………………………………………. 129

5.7. Intrebări;  Aplicaţii;  Probleme rezolvate…………………………..  129

 

 

 

&(cβmp cond. şi) 58,103

?DERIVE 118

?NONE 118

?VARIABLE 114,116,117

| (cβmp cond. sau) 58,103

~ (cβmo cond.not) 58,103

+ (adunare) 88

- (scadere) 88

* (ξnmulţire) 88

/ (ξmpărţire) 88

**(ridicare la putere) 88

= (egal) 76

>= (mai mare egal) 76

<>(diferit) 76

<=(mai mic egal) 76

>(mai mare) 76

< (mai mic) 76

agenda 20,21

allowed-floats 116

allowed-instance

allowed-integers 116

allowed-lexemes 116

allowed-symbols 116 

allowed-strings 116

allowed-numbers  116

allowed-values 116

and (fcţ-ie pred.) 76

and 11,58,64

assert 12

criptare 126

decriptare 126

atriburt default 114

atribut allowed values 116

atribut default-dynamic 120

atribut range 117

atribut cardinality 116

atribut type 114

atribute deftemplate 114

batch 105

bind 91

breakpoint 23

bsave 114

bucla 98

camp cond. predicativ 103

camp cond. valoare returnata 104

case-sensitive 7,11

clear 29

clips386.exe 5,105

clipswin.exe 5

close 93

comenzi sistem operare DOS 105

constr. predicativa 58

constraint-attribute 114

constrangere conectiva 58

constrangere literala 58

control pattern 98

control string 95

create$ 128,129

crlf 29

defclass 9,26

deffacts 9,18,26

deffunction 8,9,26

defgeneric 8,9,26

defglobal 9,26

defhandler 9,26

definstances 9,26

defmethod 8,9,26

defmodule 9,26

defrule 9,19,20,26

deftemplate 9,10,26

deftemplate attribute 114

delete$ 129

delimitatori 5,6

dependencies 73

dependents 73

drible-off 106

drible-on 106

duplicate 16,

eq 75

evenp 75

exists 11,58,68

exit 5

expand$ 83

min 83

max 83

explode$ 97,112,129

external address 6,33

EXTERNAL-ADDRESS 114

fact 9

fact address 6,33,35

FACT-ADDRESS 114

factlist 9,12

facts 13

fapt ordonat 11

fapt template 11

fapte control 98

fişier exec. (.bat) 105

FLOAT 114

float 6,33

floatp 75

forall 11,58,69

format 95

functii matematce 88

functii predicative 75

funcţii multicβmp 129

get-deffacts-list 18

get-dynamic-constraint-checking 121

get-static-constraint-checking 121

implode$ 82,128,129

index 13

initial fact 18,20,24

insert$ 129

INSTANCE 114

instance address 6,33

instance name 6,33

INSTANCE-ADDRESS 114

INSTANCE-NAME 114

INTEGER 114

integer 6,33

integerp 75

length$ 129

LEXEME 114

lexemep 75

LHS 18,20

LIFO 34,48,124

lista de fapte 34,124

list-deffacts 27,28,29

list-defrules 27,28

list-deftemplates 27,28

load 25

logical 58,70,

logical name 29,93,94

lower-limit 117

member$ 129

mod 104

modify 15

moduri accesare fisier 93

multifield 10,

multifieldp 75

multislot 10,

neq 74,75

nil 22,37

not (fcţ-ie pred.) 76

not 11,58,65

nth$ 128,129

NUMBER 114

numberp 75

oddp 75

open 29

operator de legare 35

or (fcţ-ie pred.) 76

or 11,58,62

pattern binding 35

pointerp 75

pop 48

postfix89

ppdeffacts 27

ppdefrule 27

ppdeftemplate 27

precedenta 89

printout 29,94

prioritate regula 20,123

push 48

random 104

read 92

read 94,

readline 93

readline 96,112

set-fact-duplication 111

refracţie 22,

refresh  21,22

remove-break 25

replace$ 82,129

reset 18,21,26

restrictii dinamice 114

restrictii statice 114

retract 12,13,14

RHS 20

rulare pas cu pas 21

run 20,26

salience 20,123,109

EOF 109

save 27

set-break 24

set-dynamic-constraint-checking 114,121

set-static-constraint-checking 114,121

show-break 25

single-field-widcards 38

sloturi 9

stiva 48

STRING 114

string 6,7,33

stringp 75

SYMBOL 114

symbol 6,33

symbolp 75

system 105

şablon 10,136

back-tracking 133

test 11,58,73,99

time 120

tokens 7

top level 5,19

undeffacts 28

undefrule 28,29

undeftemplate 28

unwatch 17

upper-limit 117

variabila 33

variabila libera    multicamp 44

variabila libera 38

variabila multicamp 46

watch 16

watch activations 16,22

watch all 16

watch compilations 16,26

watch facts 16,17

watch focus 16

watch rules 16,22

watch statistics 16,22