Cap.3 Cβmpuri şi elemente condiţionale
Cap.4 Funcţii de Intrare/ Ieşire
Cap.5 Controlul execuţiei regulilor
CUPRINS
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
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.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
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
|