Sunteți pe pagina 1din 25

CAPITOLUL IV

MOTORUL DE INFERENTE

4.1. Ciclul de inferente al motorului de inferente

Problematica complexa a motorului de inferente impune descrierea structurii


ciclului de baza al acestuia, format din patru faze succesive: selectia, filtrajul, rezolvarea
conflictelor si executia regulilor.
In continuare vom arata ca in functie de specificul problemei abordate, motorul
de inferente poate executa o succesiune de cicluri de baza si se opreste in raport de tipul
rationamentului utilizat: deductiv, inductiv sau mixt. Pentru toate cele trei tipuri de
rationament vom arata avantajele si dezavantajele, dupa care vom continua cu
explicarea procesului de unificare format din cunoasterea a trei concepte de baza:
substitutia, instantierea si unificarea. Exemplele luate exclusiv din domeniul financiar –
contabil vin sa complementeze descrierile asociate conceptelor specifice motorului de
inferente.
Motorul de inferente sau interpretorul este nucleul central al unui sistem expert,
deoarece foloseste baza de cunostinte pentru a construi dinamic rationamente prin
selectia unor reguli declansabile pe baza unei ordini de inlantuire a acestora. Pentru
aceasta este necesara furnizarea unei stari initiale a bazei de fapte din care sa poata fi
selectate regulile declansabile; aceasta este operatia de filtrare (patern matching,
Farreny, 1985). Operatia de filtrare face o preselectie a regulilor care urmeaza a fi
filtrate, luându-se in consideratie, initial, o submultime de reguli, pentru ca apoi sa se
selecteze regulile aplicabile din aceasta submultime. Operatia de preselectie a regulilor
efectuate inaintea filtrarii poarta denumirea de restrictionare (Farreny, 1985). In
continuare, regulile aplicabile sunt supuse unei strategii de control prin intermediul
operatiei de selectare. Toate aceste operatii sunt executate automat de catre motorul de
inferente, care va executa regulile alese.
Toate aceste elemente constituie ciclul de baza al unui motor de inferente format
din patru faze (fig. 4.1.):
a) – selectia
b) – filtrajul (patern matching);
c) – rezolvarea conflictelor;
d) – declansarea regulilor alese (executia regulilor)
executia /
declansarea
regulilor
alese
SC R1 Rc
PBC
reguli
BR

rezolvari conflicte
selectoare PM Rd Rr
partitia BC

filtrajul reguli reguli


selec- declansabile retinute
tia RTF Fs (pattern
matching)
fapte
BF selectate

Fig. 4.1 Fazele motorului de inferente

a) Selectia – S – asigura constituirea din baza de cunostinTe (BC) a unei partitii prin
selectia din baza de reguli (BR) si din baza de fapte (BF) a unor reguli si fapte
selectate in raport strict de domeniul si specificul de abordare a problemei
rezolvata de catre SE. PartiTia BC (PBC) va contine numai acele fapte si reguli
selectate specifice domeniului de referinTa abordat.
Selectia este necesara in urmatoarele cazuri:
- când BC conTine reguli si fapte specifice mai multor domenii de referinta;
- când BC este voluminoasa, continând un numar mare de reguli si fapte, motiv
pentru care este necesara o alegere a acestora prin constituirea unei partitii a BC
numai cu regulile si faptele strict necesare domeniului abordat. In urma etapei de
selectie sunt alese faptele si regulile supuse in continuare etapei de filtraj.
b) Filtrajul (pattern matching) – PM – este operatia ce asigura determinarea regulilor
aplicabile potential pentru o stare data a a bazei de date. Filtrarea nu trebuie
realizata pe mulTimea tuturor regulilor. Sistemul de control a SE poate sa decida
daca o parte din reguli nu trebuie testate. Rezulta ca filtrarea consista in a gasi
acele reguli a caror preconditie este satisfacuta; deci se compara preconditia
fiecarei reguli cu informatiile care exista in BF. Stiindu-se faptul ca regula
deductiva are formatul: DACA premisa ATUNCI concluzia, partea din regula
care trebuie testata este fie „premisa”, fie „concluzia”, elemente ce fac parte de
fapt din sistemul guvernat de fapte sau de scopuri. Partea regulei de testat –
„premisa” sau „concluzia” se numeste declansatorul regulei (Farreny, 1985).
Aceasta regula este intotdeauna o formula bine formata in sensul logicii
propozitiilor. Etapa de pattern matching poate sa determine o regula, mai multe,
sau nici o regula declansabila. In cazul neobtinerii unei reguli declansabile atunci
se intra intr-o situatie esec, pe care insa sistemul expert o va explicita. Se poate ca
utilizatorul sa raspunda la o serie de intrebari solicitate de catre sistemul expert in
vederea definirii mai riguroase a formularii problemei abordate.

55
c) Declansarea regulilor alese conduce la adaugarea unor anumite fapte in BF prin:
o proceduri externe de acces la baze de date;
o proceduri externe de acces la spreadsheets;
o intrebari solicitate utilizatorului.
Etapa de filtrare asigura regulile recunoscute ca fiind aplicabile. In situatia in care exista
mai multe reguli alese ca fiind aplicabile, atunci alegerea va fi facuta de catre structura
de control. Concluzia regulei (sau premisa acesteia daca sistemul expert este guvernat
de scopuri) are ca efect crearea, modificarea sau stergerea de fapte din baza de
cunostinte. Modificarea unei fapte se face prin stergere, pentru ca apoi sa se asigure
creerea respectivei fapte.
Sistemele expert care asigura decat adaugarea de fapte in BF se numesc sisteme expert
monotone; doarece faptele pe care le adauga nu sunt contradictorii in raport cu cele deja
stocate in BF. In alte situatii, relative la expertizele variabile in timp, sunt concepute
reguli in care concluziile sunt adevarate numai in raport cu un anumit grad de
certitudine.
d) Rezolvarea conflictelor sau selectia este declansata in alternativa in care din etapa de
filtraj au fost detectate mai multe reguli declansabile si se solicita determinarea unei
singure reguli executabile. Criteriile de alegere ale acestei reguli executabile pot fi:
- regula complexa cu cel mai mare numar de fapte in premisa;
- regula utilizabila cel mai frecvent utilizata.
Dificultatea executarii regulii executabile rezida din complexitatea contextului in care se
ofera baza de cunostinte dupa etapa de filtrare.

4.2. Strategiile de control in sistemele expert

Strategiile de control in sistemele expert asigura trecerea acestor sisteme dintr-o


stare in alta si constau in a gasi calea de alegere a regulilor aplicabile asupra bazei de
fapte.
Strategiile de control diferentiaza ciclul unui motor inferenTial in doua
modalitati:
- sistem cu restrictie nula;
- sistem cu restrictie nenula.
Sistemul cu restrictie nula (fig. 4.2.) contine numai fazele filtrare si executie, iar
functionarea este asigurata pâna in momentul când multimea regulilor aplicabile este
vida.

56
CICLUL UNUI MOTOR INFERENTIAL

fapte (Ra) nu este vida


B
R
(Ra) – multimea Selectia
regulilor unei
FILTRARE reguli EXECUTIE
aplicabile
din
(RA)
(Ra) – vida
B
Freguli
SFARSIT

Fig. 4.2. Sistemul cu restrictie nula

Sistemul cu restrictie nenula (fig. 4.3.) presupune existenta a patru faze: restrictia,
filtrarea, selectia si executia (G. Beuchimal, 1993). Faza de restrictie asigura
determinarea submultimii faptelor adevarate, in timp ce faza de selectie arata daca una
sau mai multe reguli sunt aplicabile, sau chiar nici una nu este aplicabila.

CICLUL UNUI MOTOR INFERENTIAL

B
R submultimea
fapte de fapte

(Ra) – nu este vida


(Ra) – Selec
Tia
multimea
FILTRAR unei EXECUTIE
RESTRICTIA regulilor regul
E
aplicabile i din
(Ra)

(Ra) – vida

reguli submultimea
reguli SFARSIT
B
F

Fig. 4.3. Sistemul cu restrictie nenula

Restrictia asigura identificarea si retinerea regulilor a caror premisa este


adevarata in raport cu faptele adevarate stocate in baza de fapte. In acest mod sistemul
functioneaza cu inlantuirea inainte. In alternativa in care sistemul este guvernat de fapte,
restrictia va avea in vedere numai scopurile, deci faptele ce trebuie stabilite. Fltrarea va
reTine numai regulile ale caror concluzii contin scopuri care sunt stocate in baza de

57
fapte. In aceasta situatie, sistemul functioneaza cu inlantuire inapoi. Daca, in extremis,
sistemul este guvernat atat de de fapte cat si de scopuri, atunci acest sistem spunem ca
este caracterizat printr-o inlantuire mixta. De asemenea, restrictia poate fi aplicata
explicit de catre expert prin intermediul metaregulilor, deci prin aplicarea de reguli
asupra regulilor. Metaregula va arata starea urmatoare a bazei de fapte, deci care vor fi
regulile supuse in continuare filtrarii. De asemenea, metaregula poate sa defineasca
chiar o ordonare a submultimii regulilor. Restrictia poate fi guvernata de legi care
rezulta din structura problemei, deci prin intermediul unei legi care rezulta din structura
problemei, deci prin intermediul unei legi de precedenta. In aceasta situatie, ordinea de
aplicare a regulilor este realizata prin organizarea regulilor intr-un graf de precedenTa.
Cunostintele pot fi organizate unor retele semantice prin intermediul unei organizari
ierarhice a cunostintelor, cazul particular când exista o taxinomie asupra faptelor.
Selectia alege din multimile regulilor aplicabile, acea regula care va fi executata.
Dupa fazele de restricTie – filtrare pot rezulta doua cazuri:
o una sau mai multe reguli sunt aplicabile;
o nici o regula nu este aplicabila.
- Una sau mai multe reguli sunt aplicabile: in acest caz sunt aplicabile doua strategii:
- explorarea in latime – inainte – care inseamna executarea primei reguli
disponibile, urmând ca toate celelalte reguli din multimea acelor aplicabile sa fie
eliminate. Rezulta ca se vor executa succesiv toate regulile aplicabile, pâna a se
testa daca conditia din final este indeplinita, in caz contrar trecându-se la un ciclu
al motorului inferential. Mentionam ca aceasta explorare exhaustiva este folosita
de sistemul MYCIN;
- explorarea in adâncime inainte: consta in selectarea unei reguli aplicabile dupa o
metoda euristica, dupa care se trece la executie. In continuare se verifica daca este
indeplinita conditia de oprire, in caz contrar reluându-se ciclul motorului
inferenTial;
- Nici o regula nu este aplicabila: care va conduce, in majoritatea sistemelor expert, la
intrebari solicitate utilizatorului. In acest caz, fie se poate relua faza de restricTie fara
modificarea ciclului motorului inferential, fie sistemul se va opri, daca utilizatorul nu
are raspuns la intrebarile solicitate de catre sistem.
In esenta strategiile de control ale unui sistem expert pot fi sintetizate in
urmatoarele elemente:
o monotonie;
o regimul de lucru al MI;
o modul de parcurgere al arborilor SI – SAU.
a) MONOTONIA – este proprietatea sistemului expert de a lucra cu fapte si baze
de fapte, proprietate care poate fi monotona sau non-monotona.
Strategia monotona este definita prin doua elemente:
o cunostinte adaugate in baza de cunostinte nu introduc contradictii;
o faptele si regulile nu pot fi sterse din baza de cunostinte.

58
Strategia non-monotona asigura utilizarea bazei de cunostinte conform cu
principiile lumii inchise (monde clas) si a lumii deschise (monde ouvert). In conditiile
lumii inchise, se considera ca toate faptele nonprezente, prezente in baza de cunostinte
sunt false, conform principiului ca orice fapt absent care nu este deci deductibil
inseamna in mod practic negarea acestuia. Prin antiteza, lumea deschisa, toate
cunostintele din baza de cunostinte sunt declarate explicit in aceasta baza;
b) REGIMUL DE LUCRU AL MOTORULUI DE INFERENTE – arata modul
de reactie al motorului de inferente in caz de esec. Regimul de lucru al motorului de
inferente poate fi de doua feluri:
- cu revenire (backtracking): are loc atunci când motorul de inferente reia inferenta
asigurata prin ciclul imediat anterior starii de esec, in scopul cautarii unei alte
variante de rezolvare;
- irevocabil: are loc atunci când motorul de inferente nu mai reia inferenta
anterioara inregistrarii starii de esec, deoarece o considera inutila.
Mentionam ca motoarele de inferenta asigura urmatoarele regimuri de lucru:
- regimul de lucru irevocabil este folosit de catre motorul de inferente care asigura
rationamentul deductiv;
- regimul de lucru cu revenire este utilizat de motorul de inferente care folosesc
rationamentul inductiv.
c) MODUL DE PARCURGERE AL ARBORILOR SI – SAU: atesta modalitatea
concreta de cautare a solutiilor prin doua strategii:
- in profunzime: cautarea se face prin parcurgerea pe ramuri, fiind specifica in
general, regimului de lucru irevocabil;
- in largime: cautarea se declanseaza prin exploatarea tuturor elementelor aflate pe
acelasi nivel, ceea ce conduce la invalidarea regimului de lucru cu revenire.
Concluzia generala poate fi urmatoarea: in functie de contextul si specificul
problemei abordate, motorul de inferenTe executa o succesiune de cicluri de baza si se
opreste in raport de modul de raTionament utilizat efectiv: inainte, inapoi sau mixt.

4.3. Modurile de rationament .

Rationamentul deductiv.

Motorul de inferente are trei moduri specifice de rationament:


- rationamentul inainte sau deductiv, in care motorul de inferente porneste de la
fapte si cauta un anumit scop sau obiectiv. Rationamentul deductiv este dirijat de
fapte;
- rationamentul inapoi sau inductiv, porneste de la scop, o problema, pe care o
descompune in subprobleme, pâna la obtinerea de probleme primitive formate din
fapte dovedite sau interogabile. Rationamentul inductiv este dirijat de scop si este
invers rationamentului deductiv;

59
- rationamentul mixt, are la baza fixarea unui scop, dupa care se detremina faptele
deductibile, dupa care se aplica initial rationamentul inductiv, prin care se vor
specifica valorile pentru faptele necunoscute, dar interogabile, dupa care se aplica
rationamentul inductiv, pâna ce scopul urmarit este verificat. Proprietatea alegerii
intre rationamentul deductiv si cel inductiv in cadrul rationamentului mixt are la
baza modul de reprezentare a cunostintelor, specificul domeniului expertizat si
natura problemei abordate.
Rationamentul deductiv sau inainte are ca scop utilizarea motorului de inferente
pornind de la anumite fapte initiale, cunoscute, pentru ca prin inferente sa se determine
un scop sau obiectiv. Rationamentul deductiv poate folosi in faza de rezolvare a
conflictelor doua criterii:
- utilizarea primei reguli aplicabile in ordinea numerotarii regulilor;
- regula cu numarul cel mai mare de premise, iar in caz de egalitate, regula cu
numarul de ordine cel mai mic.
In mod cert, rationamentul deductiv functioneaza astfel:
- in urma etapei de selectie rezulta faptele si regulile selectate;
- etapa de filtraj va extrage din baza de cunostinte numai reguli care au in partea de
premise numai faptele strict impuse de formularea problemei (determinarea
regulilor declansabile / aplicabile);
- etapa de rezolvare a conflictelor foloseste drept criteriu de alegere, fie utilizarea
primei reguli aplicabile in ordinea numerotarii regulilor, fie regula cu numarul cel
mai mare de premise (iar in caz de egalitate, regula cu numarul de ordine cel mai
mic);
- procesul se reia pâna se atinge scopul propus (situatie rezolvata) sau nu mai exista
nici o regula aplicabila (situatie de esec).
Algoritmul rationamentului deductiv poate fi reprezentat astfel:

INCEPUT
etapa de SELECTIE
determinarea faptelor selectate
determinarea regulilor selectate
etapa de FILTRAJ
determinarea regulilor declansabile / aplicabile
ATÂTA – TIMP – CÂT mulTimea regulilor declansabile / aplicabile nu este vida
sau
scopul nu a fost atins
EXECUTA
etapa de REZOLVARE CONFLICTE
DACA criteriul este prima regula aplicabila in ordinea numerotarii
ATUNCI aplica regula aleasa
modifica regulile declansabile
SF-DACA

60
DACA criteriul este regula cu numarul cel mai mare de premise,
iar in caz de egalitate, regula cu numarul de ordine cel mai mic
ATUNCI aplica regula aleasa
modifica regulile declansabile
SF-DACA
DACA baza de fapte contine scopul propus
ATUNCI situatie rezolvata
SF-DACA
DACA baza de fapte nu contine scopul propus
ATUNCI situatie esec
SF-DACA
SF-EXECUTA
SF-ATATA-TIMP
SFARSIT

Acest tip de rationament il vom explicita considerand urmatoarele ipoteze de lucru (fig.
4.5.):
- baza de fapte initiala contine faptele initiale A si B (datele de intrare);
- scopul propus este faptul S;
- baza de cunostinte abstracta conTine urmatoarele 11 reguli:
R1 daca B atunci X
R2 daca A atunci L
R3 daca A si X atunci C
R4 daca A si B si C atunci D
R5 daca A si D atunci M
R6 daca A si C si D atunci E
R7 daca A si C si D si E atunci I
R8 daca A si I atunci T
R9 daca X si E si I atunci J
R10 daca B si D si J si I atunci K
R11 daca I si J si K atunci S

61
Nr. inferente starea initiala a BE fapte adaugate in BE
A,B
(R2) daca A atunci L
(R1) daca B atunci X
1 A,B,L A,B,X X

(R3) daca A si X atunci C


2 A,B,X,C C

(R4) daca A si B si C atunci D


3 A,B,X,C,D D
(R5) daca A si D atunci M
(R6) daca A si C si D atunci E

4 A,B,X,C,D,M A,B,X,C,D,E E

(R7) daca A si C si D si E atunci I


5 A,B,X,C,D,E,I I
(R8) daca A si I atunci T
(R9) daca X si E si I atunci J
6 A,B,X,C,D,E,I,T A,B,X,C,D,E,I,J J

(R10) daca B si D si J si I atunci K


7 A,B,X,C,D,E,I,J,K K
(R11) daca I si J si K atunci S
Starea finala a BF
8 A,B,X,C,D,E,I,J,K,S S

Fig. 4.5 Ipotezele de lucru ale rationamentului deductiv

Se observa ca motorul de inferente executa 8 inferente, in urma careia sunt


adaugate pe rând noi fapte in baza de cunostinte. Exemplul functioneaza dupa criteriul
de alegere in etapa de rezolvare a conflictelor a primei reguli aplicabile in ordinea
numerotarii. Oprirea motorului de inferente se realizeaza atunci când in baza de fapte a
fost introdus scopul S. Baza de fapte este imbogaTita dupa fiecare ciclu de baza al
motorului de inferenTe, trecându-se astfel de la starea initiala a bazei de fapte (ce
conTine faptele A si B) la starea finala a acestuia (cu faptele finale A, B, X, C, D, E, I,
J, K, S).
Daca folosim regula cu cel mai mare numar de premise in faza de rezolvare a
conflictelor, atunci vor avea loc 5 inferente (fig. 4.6.) pâna in momentul includerii
scopului S in baza de fapte. Elementele folosite in acest exemplu sunt urmatoarele:
- baza de fapte initiala contine faptele initiale X si Y;
- scopul propus este faptul S;
- baza de cunostinte abstracta contine regulile:

62
R1 daca X si Y atunci A
R2 daca A atunci B
R3 daca B atunci C
R4 daca A si X si Y atunci D
R5 daca D atunci G
R6 daca A si D atunci E
R7 daca E atunci F
R8 daca A si D si E atunci S

Pentru a se ajunge la includerea in baza de fapte a scopului S sunt parcurse 4


inferenTe, prin aplicarea regulilor complexe R1, R4, R6 si R8.

Nr. interferente fapte adaugate in BE


Starea initiala a BE
X,Y
(R2) daca A atunci B (R1) daca X si Y atunci A

1 X,Y,B X,Y,A A

(R3) daca B atunci C (R4) daca A si X si Y atunci D

2 X,Y,B,C X,Y,A,D D

(R5) daca D atunci G (R6) daca A si D atunci E

3 X,Y,A,D,G X,Y,A,D,E E

(R7) daca E atunci F (R8) daca A si D si E at S

4 X,Y,A,D,E,F X,Y,A,D,E,S S
Starea finala a BF

Fig. 4.6. F azele de rezolvare a conflictelor

Rationamentul inductiv sau inapoi

Rationamentul inductiv sau inapoi are la baza scopul problemei de rezolvat,


motiv pentru care este considerat inversul rationamentului deductiv. Dirijarea in raport
de scop a rationamentului inductiv trebuie sa asigure gasirea faptelor care vor asigura
realizarea scopului. Scopul este privit ca punct de plecare in rationamentul inductiv;
aceasta constituie problema de rezolvat, ce urmeaza la rândul sau sa fie descompusa in
probleme, prin intermediul regulilor declansabile / aplicabile. In continuare
subproblemele, considerate deci subscopuri, sunt descompuse in probleme primitive,
formate la rândul lor din fapte dovedite sau interogabile. Regulile selectionate prin
rationamentul inductiv trebuie sa indeplineasca doua particularitati:
- trebuie sa contina in partea lor de concluzie, deci in partea dreapta a regulei,
scopul initial;
- premisele regulilor selectionate devin subscopuri ce urmeaza a fi dovedite.

63
Procesul rationamentului inductiv se repeta pana cand multimea regulilor
declansabile devine vida (situatie de esec) sau subscopurile determinate sunt
demonstrate in totalitate.
Algoritmul specific inductiv este redat mai jos:

INCEPUT
etapa de SELECTIE
determina faptele selectate
determina regulile selectate
introduce SCOP
etapa de FILTRAJ
determina regulile declansabile / aplicabile
DACA multimea regulilor declansabile este vida
ATUNCI Solicita intrebari utilizatorului
SF-DACA
ATÂTA – TIMP – CÂT exista reguli declansabile si scopul nu a fost demonstrat
EXECUTA
etapa de REZOLVARE CONFLICTE
DACA criteriul este prima regula cu numarul de ordine cel mai mic
inparcurgerea arborelui in profunzime si apoi de la stânga la dreapta
ATUNCI
Executa faza de EXECUTIE pe regula aleasa care in
partea de concluzii are scopul specificat memoreaza subscopurile determinate
SF-DACA
DACA un anumit scop nu este demonstrat
ATUNCI executa alte reguli declansabile de la inceput
SF-DACA
SF-EXECUTA
SF-ATATA-TIMP
SFaRSIT

Rationament mixt

Rationamentul mixt asigura specificarea unui scop, dupa care functioneaza in


felul urmator:
- daca scopul necunoscut si deductibil, se determina faptele deductibile, prin
intermediul rationamentului inductiv, situatie in care se va cere utilizatorului
specificarea valorilor pentru faptele necunoscute dar interogabile;
- se aplica in continuare rationamentul deductiv pentru a se stabili scopul.
Rationamentul mixt poate fi reprezentat prin urmatorul algoritm:

64
INCEPUT
etapa de SELECTIE
determina faptele selectate
determina regulile selectate
introduce SCOP
etapa de FILTRAJ
determina regulile declansabile
ATATA-TIMP-CAT
scopul nu este stabilit, exista reguli declansabile si scopul estedeductibil
EXECUTA
raTionamentul inductiv cu posibile intrebari solicitate utilizatorului
raTionamentul deductiv
determina faptele deductibile
SF-EXECUTA
SF-ATÂTA-TIMP
DACA scopul a fost stabilit
ATUNCI vizualizare scop
ALTFEL vizualizare esec
SF-DACA
SFARSIT

Regulile de tip deductiv de tipul:daca A si B atunci C,


pot fi utilizate ca reguli inainte daca declansatorul regulei este (A si B). Regula inainte
daca A si B atunci C, poate fi utilizata ca regula inapoi, daca aceasta este interpretata in
maniera urmatoare: pentru ca C sa fie verificat este suficient ca A si B sa fie adevarate,
in care faptul C se numeste declansatorul regulei. De aici rezulta ca in momentul
furnizarii, regulile in cadrul rationamentului mixt sunt de tip inapoi si inainte. Pentru
intelegerea modului de rationament mixt, vom proceda in felul urmator:
a) vor fi furnizate separat regulile inapoi si inainte;
b) exemplificarea utilizarii rationamentului mixt in doua variante:
varianta 1:
- presupunem ca sistemul functioneaza sub restrictie partiala, aplicând la inceput
regulile inapoi, in timp ce regulile inainte vor fi aplicate decât daca regulile
inapoi nu se pot aplica;
- presupunem ca sistemul functioneaza aplicând la inceput rationamentul deductiv
prin intermediul regulilor de tip deductiv, dupa care se va aplica, in continuare,
rationamentul inductiv folosind regulile de tip inductiv.

65
Varianta 1:
- consideram ca baza de cunostinte abstracta formata din urmatoarele reguli:
o reguli inductive:
o
R1 S daca C si D
R2 D daca E si F
R3 F daca G rationament
R4 S daca X si Y inductiv
R5 T daca A si B
R6 U daca T si X
R7 daca G si C atunci F
R8 daca A si G atunci B si D
R9 daca B si D atunci T si U
R10 daca A si T atunci X si Y
R11 daca T si U atunci E si G si C
R12 daca U si Y atunci A si B si D
R13 daca B si D si Y atunci C si T si X rationament
R14 daca U si T si X atunci F si G deductiv
R15 daca X si F si G atunci E
R16 daca T si X atunci U si Y
R17 daca G si B atunci T si Y
R18 daca F si B si D atunci U si X
R19 daca X atunci A si G si C

- baza de fapte va contine la inceput faptele A si B;


- scopul urmarit este faptul S;
- prin aplicarea rationamentului inductiv (regulile R1...R6), apoi prin aplicarea
rationamentului deductiv (R7...R16) se obtine arborescenta din fig. 4.7. Se
observa ca sunt necesare 19 cicluri de baza ale motorului de inferente pentru a
stabili scopul S. Facem mentiunea ca subscopurile sunt subliniate, iar ciclurile
sunt incadrate in dreptunghi. Cilcurile 6, 7 si 8 sunt executate in paralel cu
ciclurile 9, 10 si 11.

66
FAPTE INITIALE: A si B
AB S SCOPUL: S
(R1) S daca C si D (R4) sau daca X si Y

1 ABCD ABXY 1
(R2) D daca E si F (R5) T daca A si B 2

2 ABCEF TXY 1
3
(R3) F daca G (R6) V daca T si X

3 ABCEG UY 1
4
(R7) daca G si C atunci F (R12) daca V si Y atunci A si B si D

4 ABCEGF UYABD 1
5
(R8) daca A si G atunci B si D (R13) daca B si D si Y atunci C si T si X

5 AGCEFBD UYABDCTX 1
6
(R9) daca B si D atunci T si U (R17) daca G si B at. T si Y (R14) daca U si T si X atunci F si G

6 AGCEFBDTU AGCEFBDTY 9 UYABDCTXFG 1


7
(R10) daca A si T atunci X si Y (R18) daca F si B si D at. U si X (R15) daca X si F si G atunci E

7 AGCEFBDTUXY AGCEFBDTYUX 1 UYABDCTXFGE 1


0 8
(R11) daca T si U at. E si G si C (R19) daca X atunci A si G si C (R16) daca T si X atunci U si Y

8 AGCEFBDTUXY AGCEFBDTYUX 1 UYABDCTXFGE 1


1 9

Fig. 4.7.Rationament mixt varianta 1

Varianta 2:
- se considera o alta baza de cunostinte abstracte formata din urmatoarele reguli:
R1 daca A si B atunci C
R2 daca C atunci D rationament
R3 daca A si B si C si D atunci E deductiv
R4 daca E atunci F
R5 daca C si D atunci G
R6 daca A si B si C si D si E si F atunci H
R7 S daca I si A rationament
R8 S daca G si H inductiv

- baza de fapte contine initial faptele A si B;


- scopul urmarit este faptul S;
- prin aplicarea rationamentului deductiv (regulile R1...R6), urmat de
rationamentul inductiv (R7, R8) se obtine din figura 4.8.

67
A,B fapte iniTiale
ABS
S – scopul urmarit
R1 daca A si B atunci C
ABCS
R2 daca C atunci D
ABCDS RaTionamen
R3 daca A si B si C si D atunci E t deductiv
ABCDES
R4 daca E atunci F R5 daca C si D atunci G

ABCDEFS ABCDEFGS
R6 daca A si B si C si D si E si F atunci H

ABCDEFGHS RaTionament
R7 S daca I si A R8 S daca G si H inductiv

ABCDEFGHI ABCDEFGH

Fig. 4.8. Rationament mixt varianta 2

Se observa ca sunt necesare 8 cicluri de baza ale motorului inferential pana in


momentul in care scopul S este verificat.
Avantajele si dezavantajele utilizarii rationamentelor deductiv, inductiv si mixt
sunt redate in tabelul urmator:

tip rationament avantaje dezavantaje


- BE va declansa toate regulile aplicabile, desi,
- MI porneste de la fapte si cauta un obiectiv poate, unele nu sunt necesare
- BC se imbogateste dupa fiecare ciclu al MI - posibilitatea mariirii exagerate a numarului de
Rationament
- multitudinea de solutii admisibile cicluri de baza ale MI
deductiv
- structura si reprezentarea facila a - BF sunt, in general, voluminoase
cunostintelor - BF trebuie sa contina un numar semnificativ de
fapte
- MI este dirijat de scop
- abordarea se face prin intermediul
- rezolvarea conflictelor este laborioasa
descompunerii problemei in subprobleme,
- timpul de parcurgere al arborelui SI / SAU este
pâna la determinarea problemei primitive,
in general mare
Rationament formate la randul lor din fapte dovedite sau
- ramurile SI trebuie sa verifice toate
inductiv interogabile
subscopurile prezente
- procesul inductiv se repeta pâna când
- ramurile SAU contin regulile alternative pentru
multimea regulilor declansabile devine vida
confirmarea unui anumit scop
sau subscopurile determinate sunt
demonstrate in totalitate
tip rationament avantaje dezavantaje
- fixarea unui scop, dupa care se poate
- prin aplicarea rationamentului inductiv se
aplica:
restrange spatiul pentru rationamentul deductiv
- rationamentul inductiv, urmat de obicei de
Rationament - natura domeniului, problema abordata si
cel deductiv, sau,
mixt metoda de reprezentare a cunostintelor
- rationamentul deductiv, urmat de cel
determina folosirea rationamentului mixt, care
inductiv, daca problema este fezabila cu
implica un spatiu mare de memorie.
rationamentul deductiv.

68
4.4. Unificarea

Procesul de unificare este unul dintre cele mai importante elemente esentiale in
utilizarea si prelucrarea regulilor de productie ca variabile. Acest proces de unificare se
manifesta in felul urmator:
- daca logica predicatelor constituie baza procesului de inferente, atunci vor fi
declansate acele reguli ce au premisele satisfacute prin intermediul unor
substitutii specifice variabilelor, similare cu faptele stocate in baza de fepte sau,
prin intermediul unor concluzii specifice altor reguli;
- daca logica propozitiilor guverneaza functionarea motorului de inferente, atunci
vor fi declansate regulile ale caror premise sunt identice fie cu concluziile altor
reguli, fie cu faptele deja existente in baza de fapte.
Baza procesului de unificare este formata din cunoasterea a trei concepte de baza:
a) substitutia
b) instantierea
c) unificarea

a) SUBSTITUTIA: concept de baza in programarea logica, indeplineste rolul de


transformare a unui termen general in alt termen. Substitutia se aplica numai unei
variabile libere. Daca notam cu T o multime de termeni ai logicii predicatelor si cu V o
multime de variabile, cu var(t), atunci multimea variabilelor care apar in
var(t )
tT si notam cu var(t) = tT
Definitia substitutiei: o funcTie : VT se numeste substitutie. Multimea
V={x1,...,xn}, iar substitutia s o vom nota cu multimea valorilor ei {(x 1,s(x1)),...,
(xn,s(xn))}. In situatia in care var(t)  V, atunci substitutia : VT, in care pentru care
fiecare termen tT, s(T) este termenul obtinut din t prin care s-a inlocuit fiecare
variabila x prin s(x).
Exemplu: daca consideram substitutia s = {(x, f(x,y)), (y, h(y))} si termenul t = g(f(x,y),
h(x)), avem s(t) = (f(f(x,y), h(y)), h(f(x,y))).
b) INSTANTIEREA: un termen t2 este o instanta a termenului t1, daca exista o
substitutie s, astfel incât t2 = s(t1); aceasta proprietate se noteaza prin t2 t2.
DefiniTia compunerii substitutiei:  = {(xi, (xi))}ni=1 si  = {(yi, (yi))}mi=1 este
substitutia notata prin q o s, obtinuta din multimea {(x 1, s(q(x1))),...,(xn, s(q(xn))), (y1,
s(y1)),...,(ym, s(ym))} prin eliminarea elementelor de tipul (xi, xj) inclusiv a elementelor
(yj, s(yj)), pentru care yj {x1,...,xn}.
Exemplu: consideram ca q = {(x, f(x)), (y, g(y))} si s = {(x, f(a)), (y,a), (z, h(x,y))}.

69
Substitutia q o s se obtine in doua moduri:
- multimea {(x, f(h(x,y))), (y, g(f(a))), (x, f(a)), (y,a), (z, h(x,y))} care conduce in
continuare la obtinerea substitutiei;
- q o s = {(x, f(h(x,y))), (y, g(f(a))), (x, f(a)), (y,a), (z, h(x,y))}.
Din cele prezentate, se confirma ideea ca substitutia transforma un termen in
general in alt termen.
In formula E(x1,...,xn) apar variabilele libere x1,...,xn iar prin aplicarea substitutiei
s obtinem, formula E(s(x1),...,Es(xn)), deducându-se proprietatea ca substitutia se aplica
numai variabilelor libere, in timp ce s(xi) nu trebuie sa contina niciuna din variabilele
legate.
In situatia in care admitem ca E este o formula, atunci formula E se numeste
instanta a acesteia, obtinuta prin aplicarea substitutiei s, exemplu: formula  x (P(x,a) 
Q(x,y,z))  R(y,z,a), in urma realizarii unei substituTii s = {(x, h(z)), (z, u(y,z))},
conduce la obtinerea formulei:  x (P(x,a)  Q(x, h(z), u(y,z))  R(h(z), u(y,z), a), care
se transforma intr-o instantiere a primei formule.
c) UNIFICAREA: este utilizabila pentru calculul cu predicate fara egalitate si foloseste
conceptele de unificator si cel mai general unificator.
DefiniTia unificatorului: considerând o multime de formule M = {F 1,...,Fk},
atunci o substitutie s se numeste unificator pentru multimea M daca s(F 1) = ... = s(Fk),
situatie in care formulele F1,...,Fk sunt unificabile. Rezulta ca din punct de vedere
informal unificatorul este o substitutie aplicata unor formule dintr-o multime de
formule, pentru a le transforma in formule identice.
Exemplu: daca se considera multimea:
M = {P(x, f(x,y)), P(g(u,v), z)},
atunci, substitutia:
q = {(x, g(u,v)), (x, f(g(u,v), y))}
este unificator, pentru ca transforma cele doua formule din M in formula:
a = P(g(u,v), f(g(u,v), y))
Definitia celui mai general unificator: daca q este un unificator pentru multimea
de formule M, atunci q este cel mai general unificator pentru M (most general unifier –
MGU) daca pentru orice unificator s al lui M exista o substitutie m cu proprietatea s =
qom. Rezulta ca MGU indeplineste proprietatea de a determina toti identificatorii
multimii prin compunerea lui cu substitutii. Mentionam ca pentru orice mulTime
unificabila exista un MGU.
Algoritmul pentru determinarea unui MGU are la baza parcurgerea expresiilor in
paralel, prin compararea, doua câte doua, a simbolurilor intâlnite. Cazurile intâlnite pot
fi urmatoarele:
- daca cele doua simboluri sunt egale, atunci se continua cu compararea
urmatoarelor doua simboluri;
- daca cele doua simboluri sunt diferite, pot fi totusi unificate daca cel putin unul
din simboluri este o variabila, in timp ce al doilea simbol este:

70
o fie un termen;
o fie inceputul unui termen;
- care insa nu contine aceasta variabila; se determina tandemul (variabila, termen)
care reprezinta de fapt substitutia cautata, substitutie care se aplica in continuare
partii ramase de unificat din cele doua expresii, in continuare confruntandu-se
alta pereche de simbloluri;
- expresii non-unificabile, atunci când intr-un pas simbolurile nu pot fi unificate,
sau chiar nu se ajunge concomitent la sfârsitul ambelor expresii.

Algoritmi de unificare

Pe baza explicatiilor de mai sus, algoritmul este explicat mai jos:


ALGORITMUL DE UNIFICARE
WHILE exista clustere in graf si
nu exista clustere de tip esec
DO prelucreaza graful prin urmatoarea secventa:

Pasul_1: colationeaza toate nodurile aferente unui cluster


Pasul_2: determina toate legaturile dintre noduri, prin identificarea si
trasarea muchiilor determinate
END_DO
STOP.

In legatura cu algoritmul de unificare facem urmatoarele precizari:


- in situatia determinarii unui esec, atunci multimea de formule este neunificabila;
- daca in final, graful va contine esecuri si este fara cicluri, atunci multimea de
formule este unificabila;
- algoritmul de unificare se opreste atunci cand:
o nu sunt posibile de stabilit legaturi noi;
o apare un esec.
- In situatia unificabilitatii, se poate compara ultimul graf determinat cu graful
initial si se poate calcula MGU astfel:
- fiecare nod din graful initial ce reprezinta o variabila este comparat cu nodul
corespunzator din graful final, egalându-se variabila respectiva cu formula
desemnata de nodul respectiv in graful final, iar prin luarea in consideratie a
tuturor variabilelor din graful initial se determina solutia cautata.
Aplicand algoritmul de unificare pentru formulele:
P(f(a), g(x,y)) si
P(z,z),
obtinem pasul initial si pasul final al unificarii acestor doua formule redate in fig.
4.9.

71
Pentru exemplificarea actiunii algoritmului de unificare vom prezenta apoi in
continuare mai multe exemple.

2 2

0
1 0 1 1,
1 2
3 1
2
1 2 2 1 0

5 8 4 5 6 3

0 1 0 1 2 0 1 0 2

7 8 9 1 1 7 8 9 1 1
0 1 0 1
f g a (x) (y) (f) g a (x) (y)

Fig.4.9 Actiunea algoritmului mde unificare

Exemplu 1: doua expresii de tipul:


A reflecta B
C reflecta D,
Sunt de asemenea unificabile prin substitutia:
{[A,C], [B,D]}

Exemplul 2: daca vom considera alte doua expresii:


U reflecta V
Z reflecta U,
procesul de unificare va parcurge urmatorii pasi:
- [U,Z] este prima substitutie;
- algoritmul de unificare este in continuare aplicat printr-o substitutie propagata in
partea ramasa de unificat a celor doua expresii, ceea ce va conduce la:
reflecta V
reflecta Z,
de unde rezulta a doua substitutie [V,Z].
- unificatorul final este:
{[U,Z], [V,Z]}.
Termenul de unificare, precum si alte concepte de baza ale programarii logice, au
fost realizate de J.A.Robinson.

72
CAPITOLUL V
GENERATORUL DE SISTEME EXPERT (GSE)

5.1. Arhitectura GSE

Arhitectura unui GSE contine o serie de componente logice de baza si auxiliare


de natura sa permita construirea si functionarea optima a unui sistem expert. In fig. 5.1
este prezentata arhitectura simplificata a unui GSE, cu mentiunea ca in raport de
domeniul de expertiza abordat, firma constructoare si de autorii GSE, aceasta poate sa
contina sau nu alte componente. Totusi majoritatea GSE contin urmatoarele
componente logice:

Nr. Denumirea Tip


Functiile esentiale ale componentei
Crt. Componentei componenta
1. MOTORUL Baza MI este conectat la BC din care isi preia cunostintele
INFERENTIAL pe care le prelucreaza si le restocheza tot la nivelul
BC. Anumite GSE pot fi dotate cu mai multe MI
datorita urmatoarelor cauze:
- MI difera pentru reguli;
- MI dedicate pentru metareguli;
- SE pot fi destinate expertizarii mai multor domenii
de cunoastere la sisteme multiexpert
2. BAZA DE Baza BC contin reguli si faptele necesare dezvoltarii unui
CUNOSTINTE SE prin facilitatile GSE
3. EDITORUL Auxiliar - EDITORUL asigura schimbul de cunostinte intr-o
maniera si structura apropiata limbajului natural
- EDITORUL permite intelegerea regulilor si
faptelor manipulate prin GSE
- EDITORUL are o serie de functii auxiliare:
- facilitatea intelegerii
- verificarea cuvintelor cheie utilizate de GSE;
- verificarea valorilor posibile admise de variabile
(domeniul variabilelor)
- afisarea regulilor cu premise si concluzii similare
4. TRASORUL Auxiliar TRASORUL asigura
- urmarirea secvenTelor rationamentelor desfasurate
de MI
- afisarea regulilor care au dedus o anumita
concluzie;
- activarea intrebarilor de genul: DE CE si CUM,

73
pentru a furniza fie faptul fie regula utilizata
5. INVATARE Auxiliar INVATAREA permite doua functii esentiale:
- modalitatea concreta a achizitiei de noi reguli;
- reperarea euristicilor performante
6. INTERFATA Auxiliar IU asigura comunicatia si dialogul eficient cu
UTILIZATOR utilizatorul SE, cu mentiunea ca pot exista mai multe
(IU) module de interfata. De asemenea, IU permite
interactiunea fie cu BD fie chiar cu un spreadcheet
7. COMPILATOR Auxiliar CR asigura verificarea sintactica a regulilor
REGULI (CR) introduse prin intermediul EDITORULUI in BC
8. DICTIONARUL Auxiliar DICT contine toate informatiile particulare si
(DICT) specifice cu privire la:
- fapte
- reguli
- frame
- obiecte
9. Confidentialitatea Auxiliar CA asigura activitatea BC prin intermediul unor
accesului la BC parole de acces sau invalideaza activarea BC daca
(CA) utilizatorul nu furnizeaza o parola valida.
10. MODULE Auxiliar MS asigura o serie de functii strict particulare, dintre
SPECIALIZATE care cele esentiale sunt:
(MS) - calcule
- comentarii
- explicaTii
11. MOTORUL DE Auxiliar ME coordoneaza actiunea trasorului si a editorului.
ELABORARE De asemenea, ME ofera facilitatile impuse de
(ME) verificarea sintaxei, efectuarea de corectii si
concordanta dupa corectare cu utilizatorul.

74
Confidentialitatea DICTIONAR COMPILATOR
accesului la BC - fapte reguli
- reguli
- obiecte

EDITORUL

BC MI INTERFATA
UTILIZATOR

MOTORUL DE
ELABORARE TRASOR

INVATARE
Alte module
specializate pe:

- calcule
- comentarii
- explicatii

BD
Interfata
procedeu SPREDCHEET

Fig. 5.1 Arhitectura simplificata a unui GSE

5.2. Editorul de GSE

Editorul asigura schimbul de cunostinte intre utilizator si sistemul expert prin


intermediul unei inferente si a unui modul de dialog. Editorul impune utilizatorului
utilizarea unei sintaxe predefinite in privinta generarii si utilizarii regulilor si faptelor.
De asemenea, editorul verifica daca faptele si regulile au formatul solicitat de GSE.
Dupa analiza regulilor generabile pentru un anume sistem expert, se incepe introducerea
acestora in BC, moment in care intervine rolul editorului care asigura urmatoarele
functii:
- verifica daca cuvintele – cheie folosite, frame-urile sau obiectele utilizate in
structura regulilor sunt cunoscute de catre GSE si sunt valide din punct de vedere
sintactic;
- verifica domeniul de valori posibile pentru variabile introduse in sistem;
- semnaleaza incoerentele prin afisarea acelor reguli pentru care au premise sau
concluzii identice;

75
- facilitarea intelegerii prin afisarea unor câmpuri pentru care se cer valori explicite
sau implicite;
- verificarea inscrierii corecte a regulilor intr-o retea de inferenta;
- verifica coerenta intre o retea de frame-uri si datele furnizate de utilizator.
In sinteza, editorul asigura concordanta si coerenta dintre cunostintele introduse
de la videoterminal si structura predefinita a cunostintelor.
In plus acest editor gestioneaza o lista completa privind:
- dictionarul regulilor;
- dictionarul faptelor;
- dictionarul frame-urilor;
- dictionarul obiectelor,
pentru care poate asigura urmatoarele:
- lista faptelor si a regulilor;
- data si autorul introducerii regulilor;
- valorile admisibile pentru fiecare tip de obiect.
De asemenea, editorul mai asigura si urmatoarele functii complementare:
- asocierea unor comentarii pentru faptele si regulile utilizate;
- compilarea regulilor cu detectarea erorilor de sintaxa introduse la declararea
acestor reguli;
- controlul si confidentialitatea accesului BC.

5.3. Trasorul

Trasorul are rolul esential de a furniza utilizatorului secventa rationamentelor


declansate prin motorul inferential. De asemenea, trasorul are rolul de a actualiza baza
de fapte, odata cu dovedirea faptelor, iar la modificarea valorii unei fapte, trasorul
detecteaza toate deductiile efectuate. Sesiunea se reia cu noua valoare a faptei
respective. Succesiunea acestor modificari permit evaluarea sensibilitatii rezultatului
final raportat la valoarea faptelor sigure, prin intermediul unui studiu de sensibilitate.
Acest studiu urmareste modificarea faptelor, modul de actualizare a bazei de cunostinTe
si continuarea consultarii pe baza noilor fapte. Ansamblul regulilor utilizate pentru
demonstrarea unui anumit scop, deci inlantuirea completa a rationamentelor efectuate
de catre motorul de inferente se numeste traseu care va furnizat, in finalul sesiunii de
lucru de catre trasor.
Utilizarea trasorului se face diferential in raport de faza de functionare a
sistemului expert, dupa cum urmeaza:
- modul de functionare normala a sistemului poarta denumirea de modul
exploatare;
- modul de imbogatire si validare a sistemului se numeste modul dezvoltare.
Cele doua moduri specificate – exploatare si dezvoltare – sunt cunoscute in
literatura de specialitate prin conceptul motor de elaborare.

76
MODUL DE EXPLOATARE este utilizat in faza de functionare normala a
sistemului si asigura, pe parcursul sesiunii de lucru, faptele necesare pentru completarea
BC si declansarea rationamentului de catre motorul de inferente. In aceste conditii,
utilizatorul doreste sa urmareasca rationamentul motorului de inferente, pentru a se
constata traseul parcurs pâna la emiterea unei concluzii.
MODUL DEZVOLTARE prezinta facilitatea de imbogatire si validare pe masura
utilizarii efective a sistemului. Utilizatorul doreste sa cunoasca regulile care au stat la
baza fundamentarii unei anumite concluzii. In acest scop sunt posibile:
o adaugari de noi fapte;
o modificarea faptelor deja existente;
o stergerea unor anumite fapte.
Modul exploatare si modul dezvoltare sunt active prin intermediul intrebarilor de
tipul DE CE si CUM.
Intrebarea de tipul DE CE face referinTa la un fapt si furnizeaza regula ce contine
acest fapt si care urmeaza sa fie declansata; rezulta ca utilizatorul poate urmari
secvenTele de rationament pe care sistemul intentioneaza sa le aplice.
Intrebarea de tipul CUM admite intoarcerea in arborele logic, iar sistemul
genereaza un raspuns prin care sunt evidentiate si cunoscute regula (sau regulile) pe
care o va aplica la momentul punerii intrebarii, regulile deja aplicate precum si regulile
care vor fi declansate si incercate.

5.4. Motorul de eleborare

Motorul de elaborare contine proceduri prin care se asigura coordonarea dintre


actiunea editorului si cea a trasorului.
Prin intermediul motorului de elaborare, utilizatorul imbogateste baza de reguli
prin adaugarea si validarea de reguli noi, urmate de verificarea corectitudinii
rationamentelor. Se asigura in acest mod calitatea bazei de reguli masurata prin trei
criterii:
o completitudine;
o coerena;
o neredundanta.
Completitudinea asigura non-blocarea sistemului datorita inexistentei unei reguli
in baza de fapte.
Coerenta este capacitatea unei baze de reguli de a produce fapte necontradictorii
pentru orice baza necontradictorie.
Neredundanta asigura inexistenta unor reguli cu premise sau concluzii similare.

77
In sinteza, motorul de elaborare asigura facilitatile necesare pentru realizarea de
corectii si asigurarea verificarilor de sintaxa, dupa care se testeaza concordanta dintre
structura bazei de reguli si expertul uman.

5.5. MODUL DE „INVATARE”

Modul de INVATARE asociat unui sistem expert are in vedere:


a) – achizitia de noi reguli;
b) – reperarea euristicilor performante.
a) Achizitia de noi reguli insemna adaugarea de noi reguli prin intermediul mai
multor metode, dintre care am ales pentru exemplificare tabela de precizie.
In conditiile specifice ale sistemelor ale sistemelor expert o tabela de decizie
poate avea urmatoarea structura:

R1 R2 R3 ... Rn
CONDITII C1 V11 V12 V13 V1n
(daca) C2 V21 V22 V23 V2n
.
.
.
Cm Vm1 Vm2 Vm3 Vmn
ACTIUNI A1
(atunci) A2
.
.
.
Ar

Tabela de decizie asigura completitudinea deoarece acest tip de tabel verifica


daca toate combinatiile de valori posibile au generat o regula asociata.

78

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