Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


SISTEME EXPERT - Teoria si dezvoltarea sistemelor expert

algoritmi



+ Font mai mare | - Font mai mic



SISTEME EXPERT

1. Introducere



Principalele realizari ale inteligentei artificiale sunt materializate de sistemele expert. De la mijlocul anilor 70 un anumit numar de produse-program de inteligenta artificiala sint considerate sisteme expert. Anul 1964 este consacrat drept an de inceput al sistemelor expert, datorita elaborarii programului DENDRAL pentru enumerarea si notarea moleculelor organice, ca structuri arborescente, la Stanford University din SUA. Sistemele expert constituie un domeniu major de aplicatii, al inteligentei artificiale, alaturi de recunoasterea formelor si prelucrarea limbajului natural.

Sistemele expert suscita interes in cele mai diverse medii, pentru ca permit informatizarea anumitor functii intelectuale calificate, toate deosebit de utile in activitatea agentilor economici si dificile de modelat sub forma produselor-program algoritmice, de genul:

- identificarea si diagnosticarea situatiilor;

- previziunea evenimentelor;

- conceperea obiectelor de orice tip;

- planificarea actiunilor;

- decizii @n conditii de risc si incertitudine etc.

#n cele mai diverse situatii, dificultatea solutionarii unor asemenea probleme complexe poate fi inlaturata prin intermediul sistemelor expert.

Caracteristica esentiala a sistemelor expert, in raport cu alte tehnologii de inteligenta artificiala, consta in @ncercarea de a reproduce facultatile umane de a decide sau de a judeca, @n sensul ca expertii umani pot emite cunostinte perfect structurate specifice unui domeniu de aplicatii. #n prezent, metodologia sistemelor expert a depasit faza de @nceput. Metodologia sistemelor expert ofera numeroase oportunitati. Ea inseamna dezvoltarea previzibila a tehnologiei informatice in directia realizarii de sisteme care integreaza produse-program inteligente si produse-program algoritmice, intrucit o parte @nsemnata din prelucrarile specifice unui anumit domeniu vor ramine prelucrari de date.

Oportunitatile indtroduse de sistemele expert ar fi urmatoarele:

Ofera un cadru creativ pentru idei;

Rezolva probleme dificile;

Pot efectua sarcini de rutina cu succes;

#mbunatatesc productivitatea;

Cresc pozita @ntr-un cadru competitiv.

O comparatie @ntre expertii umani si sistemele expert poate fi rezumata @n tabelul de mai jos:

Factor

Expert uman

Sisteme expert

Timp

Lucreaza cu ziua

Lucreaza totdeauna

Loc

Lucreaza local

Oriunde este necesar

Siguranta

Imprevizibil

Previzibil

Perisabilitate

Da

Nu

Peformanta

Variabila

Constanta

Viteza

Variabila

Constanta (uzual rapid)

Cost

Crescut

Suportabil

Creativitate

Neinspirat

Adaptiv

Necesita instruire

Slaba concentrare

Concentrare buna

Experienta vizuala

Intrari simbolice

2. Teoria si dezvoltarea sistemelor expert

Notiunea de sisteme expert, @n mai putin de un deceniu, a evoluat de la pozitia relativ obscura la aceea de instrumente practice importante pentru intreprinderi. Sistemele expert sint astazi o tehnologie care permite societatilor comerciale si regiilor autonome sa prelucreze cunostinte cu ajutorul calculatoarelor. Directorii adopta aceasta tehnologie din cauza ca inteleg ca, astazi, intreprindere moderna si rentabila este aceea care obtine cea mai buna eficienta prin manipularea si stapinirea cunoasterii. Primul lucru care trebuie spus despre sistemele expert este ca ele sint construite printr-o tehnologie bine stabilita. Al doilea lucru important consta in faptul ca sistemele expert constituie o adaugare importanta la calculatoarele existente a unei multimi de tehnici complementare fata de cele traditionale, care sint foarte puternice: noi limbaje de programare, noi medii de programare, noi echipamente si software specializate pentru implementare. AI treilea lucru se refera la faptul ca sistemele expert cer o noua implicare din partea utilizatorilor, fie ca-si dezvolta propriile sisteme expert, fie ca le folosesc pe cele comercializabile. Ca urmare, nimeni nu va putea sta indiferent la aceasta tehnologie de virf.

Potrivit lui Edward Feigenbaum' de la Stanford University, sistemele expert sunt programe capabile sa rationeze la nivelul unui expert uman.

Din aceasta definitie rezulta trei idei principale si anume:

- sistemele expert dispun de cunostinte si de capacitatea de a desfasura activitati intelectuale umane;

- sistemele expert sunt organizate pentru achizitionarea si exploatarea cunoastintelor dintr-un domeniu particular;

- sistemele expert dispun de metode de invocare a cunoasterii pentru exprimarea expertizei, comportandu-se ca un 'asistent inteligent .

Pentru o mai buna conturare a notiunii de sistem expert sa ttecem @n revista cateva din definitiile acesteia.

Sistemele expert sunt ' programe informatice care incorporeaza cunoasterea specializata si experienta unui expert umant acestea sint rezultatul ingineriei cunoasterii. Ingineria cunoasterii se intereseaza de realizarea programelor capabile de performante la nivelul expertilor umani, deoarece ele acumuleaza mari cantitati de cunostinte relative la un domeniu particular de aplicatii'

Conform unei alte definitii 'un sistem expert rezulta din implementarea pe calculator a unei ze de cunostinte astfel incit masina sa poata da aviza @n mod inteligent o decizie sau chiar sa ia decizii inteligente O caracteristica suplimentara, fundamentala a sistemelor expert, consta in atitudinea sistemului de a justifica, la cerere propria linie de rationament, intr-o maniera direct inteligibila. Stilul adoptat pentru atingerea acestor caracteristici este programarea pe baza regulilor de productie.'

'Sistemul expert este un program care poseda o mare cantitate de cunostinte dintr-un domeniu specializat, provenite de la un expert uman, find capabil sa atinga performantele expertului in domeniu respectiv.''

'Sistemele expert sint programe, dar pot fi tot attat de bine masini cu software destinate sa inlocuiasca sau sa asiste specialistul in domeniile unde este recunoscuta necesitatea expertizei umane.'

Aceasta din urma definitie este considerata de autorul ei drept functionala, ea aduce unele elemente de noutate fiind mai apropiata de rolul si obiectivele sistemelor expert. Oricum, cercetatorii sint de acord cu faptul ca, sub denumirea de sistem expert se afla acele programe de inteligenta artificiala, bazate pe o cunoastere de @nalt nivel, comparabila cu a celor mai competenti specialisti dintr-un domeniu aplicativ, @n care aceste programe pot realiza performante de gandire si intuitie, similare expertilor umani.

#n literatura de specialitate exisata si opinii potrivit carora 'denumirea de sistem expert este inexacta si gresita, @n plus, ea aduce un nefericit amestec de mister si magie. Mai nimerita este denumirea de Knowledge Based Systems (Sisteme Bazate pe Cunostinte), care descrie mai fidel domeniul si tehnicile de programare puternice care s-au descoperit inca din perioada pionieratului sistemelor expert. Knowledge Based Systems nu folosesc acelasi proces de rationament ca expertii umani, ele nu gandesc si nici nu imita expertiza umana. Ele doar memoreaza cunoasterea, care este inserata in ele de catre oameni si deci, pe aceasta o manipuleaza si o foloseste pentru a infera rezultatul' '

Centrul functional al sistemelor expert @l reprezinta baza de cunostinte, structurate, organizate si reprezentate @n mod adecvat. #n scopul relevarii relatiei cu sistemele de inteligenta artificiala, unii autori considera ca sistemele expert sunt sisteme bazate pe cunostinte (Knowledge Based Systems), deoarece si ele prelucreaza cunoasterea organizata @n baze de canostinte. Schematic acest lucru @l putem reprezenta ca @n Figura 1.

Programe de inteligenta artificiala

Sisteme bazate pe

cunostinte

Sisteme

expert

Fig. 1. Relatia dintre programele de inteligenta artificiala,

sistemele bazate pe cunostinte si sisteme expert

3. Obiectivele, structura de baza si caracteristicile sistemelor expert

Sistemele exaert se dezvorta cu ajutorul unei metodologii informatice avand urmatoarele trei obiective de baza:

1. Achizitionsea usoara a pieselor de cursoastere, prin exprimarea cat mai direct posibila a regulilor obtinute de la expertii umanit

2. Exploatarea eficienta a colectiei pieselor de cunoastere (fapte si reguli) prin:

2.1. combinarea si/@nlantuirea regulilor pentru a infera cunostinte prin judecati, planuri, demonstratii, decizii, predictii, noi reguli etc.;

2.2. luarea @n considerare a modului @n care noile cunostinte sunt inferate;

3. Sa suporte cu usurinta ansamblul operatiilor asupra pieselor de cunoastere si sa permita adaugarea, modificarea si eliminarea faptelor si regulilor.

#n concordanta cu aceste obiective, componentele de baza ale unui sistem expert sunt:

a) O baza de cunostinte, pentru stocarea pieselor de cunoastere specifice unui domeniu aplicativ, creata si organizata pentru satisfacerea obiectivului nr.3;

b) Motorul inferential (masina deductiva), o secventa de piese de cunoastere operatorie, care exploateaza baza de cunostinte si este destinata satisfacerii obiectivului 2.l.;

c) Interfata de dialog cu utilizatorii, care dispune de un limbaj de exprimare a cunoasterii achizitionata de la expertii umani.

Pentru achizitionarea si modificarea pieselor de cunoastere (obiectivele 1 si 3), pentru colectarea informatiei despre problema, asigurarea unei interactiuni eficiente cu utilizatorul @n timpul lucrului, ca si pentru luarea @n considerare a mecanismului de rationament (obiectivul 2.2.), un sistem expert trebuie sa asigure de asemenea functii complementare de dialog si explicare a propriului comportament.

#n Figura 2. este prezentam structura de baza a unui sistem expert.

Baza de     Motor Interfata cu

cunostinte inferential utilizatorul

- baza de fapte

- baza de reguli (strategii

de control)

Fig. 2. Structura generala a unui sistem expert

Fara @ndoiala, originalitatea metodologiei sistemelor expert consta @n existenta celor trei componente si a relatiilor dintre ele: baza de cunostinte, motorul de inferente si interfata utilizator.

Baza de cunostinte consta din fapte si euristici asociate problemei care descriu situatii evidente, reale sau ipotetice, precum si reguli sau piese de cunoastere operatorie. Regulile sunt exprimate cu ajutorul unor expresii adecvate intelegerii utilizatorilor. Anumite sisteme expert folosesc si o baza de date relationala, @n care relatiile dintre diferitele obiecte si evenimente s@nt memorate explicit, pentru o mai buna flexibilitate a memorarii si regasirii. #n acest caz, trebuie sa existe si o interfata pentru date.

Motorul inferential este un program (poate fi chiar si un circuit integrat microprogramat) care pune @n lucru mecanisme generale inferentiale, de combinare a faptelor si regulilor din baza de cunostinte.

Conform diverselor strategii de control, @n str@nsa legatura cu domeniul aplicativ, motorul de inferente selecteaza reguli, le interpreteaza si le @nlantuieste logic pentru satisfacerea conditiilor. #n principiu, mecanismul inferential determina modificari @n baza de cunostinte, atat @n baza de fapte cat si @n baza de reguli. Rezolvarea problemei, @n final, se va concretiza sub forma unor propozitii, a unui diagnostic sau plan de actiuni. Motorul de inferente are de fapt doua componente principale: sistemul de administrare a bazei de cunostinte si procesorul (de inferente) simbolic.

Sistemul de administrare a bazei de cunostinte gestioneaza, efectueaza operatii de organizare automata, control si actualizare a pieselor de cunoastere, si initiaza cautari pentru controlul relevantei pe linia de rationament pe care lucreaza procesorul de inferente simbolic. La randul sau, acesta ofera o metoda de prelucrare, prin care se furnizeaza liniile de rationament. Atunci cand cunostintele si datele din lumea reala nu sunt exacte, anumite metode de inferenta pot utitiza diverse aproximari a incertitudinii @n derularea mecanismului inferential.

Interfata utilizator este o alta componenta critica a sistemului expert. Prin intermediul sau este posibil accesul utilizatorilor la faptele, datele si regulile din baza de cunostinte, se permite achizitia cunoasterii de la experti, precum si dialogul cu ceilalti utilizatori ai sistemului, iar uneori chiar cu alte sisteme. Din acest motiv, interfata trebuie sa fie cat mai naturala si prietenoasa, folosind un limbaj ctt mai apropiat de limbajul natural, cu texte si imagini afisate la o viteza confortabila pentru utilizatori.

Dialogul cu sistemul expert trebuie sa satisfaca cerintele atrei tipuri de utilizatori:

- pentru utilizatorii beneficiari, clienti, care cer si obtin sfaturi sau consultatii si raspunsuri la problemele puse;

- pentru utilizatorii experti, instructori, care @mbogatesc cunoasterea, introducand noi fapte si reguli @n baza de cunostinte;

- pentru utilizatori ocazionali studenti/scolari/personal care se instruiesc, prin aflarea unor cunostinte noi, sau carora li se evalueaza @n final nivelul de cunoastere.

Evident, este de dorit o interfata care sa desfasoare dialogul @n limbajul natural pentru a permite folosirea sistemului expert de toate cele trei tipuri de utilizatori.

#n sistemele expert mai complexe, se include un modul de explicare (explicativ) @n scopul de a permite utilizatorului sa obtina explicatii asupra proceselor inferentiale, solutiilor obtinute, ori pentru evidentierea unor piese de cunoastere eronate sau care lipsesc, evidentierea cauzelor unor esecuri etc.

Trebuie retinut faptul ca sistemele expert pot actiona ca depozite sinergetice de cunostinte achizitionate de la o varietate de experti dintr-un domeniu particular. Combinarea cunoasterii @n asemenea situatii poate permite utilizatorilor un nivel de expertiza care depaseste capacitatea unui singur expert. Atunci cand cunoasterea este memorata sub forma regulilor de productie, baza de cunostinte este numita baza de reguli iar motorul de inferente se numeste interprator de reguli.

Sistemele expert se dezvolta prin analiza @ngrijita a cunoasterii expertilor @n domeniu, de catre o persoana specializata @n inteligenta artificiala numita 'inginer de cunoastinte' sau 'cognotician'. Aceasta persoana, experimentata @n proiectarea si construirea sistemelor expert, actioneaza @n conformitate cu metodologia de dezvoltare specifica a sistemelor expert si obtine sisteme expert capabile de performante comparabile cu ale expertilor umani.

Un sistem expert manipuleaza simboluri specifice piesele de cunoastere dar poate sa efectueze si calcule deosebit de complexe, de aceea el trebuie sa aiba @ndemanare nu numai pentru un anumit subiect ci sa foloseasca cunostinte generale si metode de rezolvare a problemelor, pentru a infera dupa principii proprii cand i se ofera fapte si reguli incomplete.

Tehnici de rationament folosite @n sistemele expert

Procesul de lucru cu piese de cunoastere, fapte, reguli si @n general strategiile de rezolvare a problemelor si de obtinere a unor concluzii este recunoscut ca un proces de rationament. #n sistemele expert sunt utilizate mai multe tipuri de rationament, cum ar fi:

rationamentul deductiv;

rationamentul inductiv;

rationament abductiv;

rationament prin analogie;

rationament nemonoton.

Rationamentul deductiv poate fi rezumat de urmatoarea expresie destul de sugestiva: de la general la particular si redat prin regula:

Daca A este adevarat si Daca A B este adevarat

Atunci B este adevarat.

Rationamentul inductiv pleaca de la particular la general si poate fi rezumat prin urmatoarea regula:

Daca culorile de baza sunt (RGB) = X

Daca Culoare = R sau Culoare = G sau culoare = B

Atunci Culoare este de baza.

Rationamentu abductiv presupune o inferenta nesigura si el poate fi rezumat astfel:

B este adevarat si A B este adevarat

Atunci A este adevarat?

Ceea ce exprima si urmatoarele asertiuni:

Pamantul este ud daca ploua. Pamantul este ud. Atunci ploua ???

Rationamentul prin analogie este o metoda de rationamen prin care doua concepte total separate dar care sunt asemanatoare. Unul din ele este foarte bine @nteles iar celalt are caracteristici comune. Tehnica rationamentului prin analogie permite obtinerea unor informatii inferate din similaritatile dintre cele doua concepte.

Rationamentul nemonoton este o metoda care permite schimbari @n rationament prin schimbarea faptelor permise, el permite retractarea atat a faptelor cat si a concluziilor obtinute din faptele respective.

5. Tehnici de inferenta

Motoarele inferentiale pot folosi mai multe tehnici de inferenta cum ar fi: cautare @nainte, catare @napoi sau mixta.

Tehinca de inferare @nainte este o strategie care @ncepe cu o multime de fapte cunoscute, deduce noi fapte folosind regulile ale caror premise se unifica cu faptele cunoscute. Continua acest proces pana cand se obtine scopul problemei sau nu mai exista reguli unificabile cu faptele cunoscute sau derivate din acestea. Daca mai multe reguli pot fi declansate atunci sistemul alege una din ele, conform unei strategii de alegere: prima, ultima, cea care are cea mai complexa premisa si continua procesul de inferenta.

Tehnica de inferare @napoi este o strategie care @ncearca sa demonstreze o ipoteza prin asamblarea informatiei furnizate. #n cadrul acestei tehnici se @ncepe cu scopul furnizat, cauta regulile care contin scopul @n baza de reguli si gaseste informatii pentru demonstrarea ipotezei.

Tehnica de inferare mixta este o combinatie @ntre cele doua tehinici de inferenta @nainte si @napoi.

#n vederea rezolvarii unei probleme este bine sa se construiasca un arbore de inferenta care este o reprezentare schematizata a universului discursului. Dupa aceea se poate aplica oricare din metodele de inferenta prezentate mai sus.

Arborele de inferenta (de asemenea numit si arbore scop, sau arbore logic) reprezinta o vedere schematizata a procesului inferential. De notat este faptul ca fiecare regula este compusa dintr-o premisa si o concluzie. #n construirea arborelui inferential premisele si concluziile sunt reprezentate prin noduri. Conluziile si premisele fiind conectate @ntre ele prin arce. Operatorii AND si OR sunt folositi pentru a reflecta structura regulilor. Nu exista nici o dificultate semnificativa @n construirea arborelui de inferenta. Pentru reprezentarea operatorului AND, care are semnificatia ca nodul respectiv este validat daca si numai daca ramurile toate ramurile legate de el sunt valide, convenim sa-l reprezentam legand ramurile @ntre ele printr-o linie. Pentru operatorul OR, care are semnificatia ca nodul respectiv este validat daca si numai daca cel putin una din ramurile care pleca din el trebuie sa fie validata, convenim sa-l reprezentam fara nici o legatura @ntre ramuri.

Pentru ilustrarea ideilor sa consideram urmatorul exemplu format din 5 reguli, @n care A, B, D, E sunt fapte cunoscute, iar C, F, G sunt fapte necunoscute care urmeaza a fi deduse din cele 5 reguli.

R1: Daca A si C, atunci E.

R2: Daca D si C, atunci F.

R3: Daca B si E. atunci F.

R4: Daca B, atunci C.

R5: Daca F, atunci G.

Conform celor prezentate mai sus, arborele de inferenta pentru demonstrarea validitatii lui G arata ca @n Figura 3.

G

R5

F

R2 R3

C& D B & E

C E

R1

A & C

R4 C

R4

D B B A B

Fig. 3. Arborele inferential pentru demonstrarea scopului G

Prin utilizarea arborelui de inferenta putem vizualiza procesul de inferenta precum si miscarle dealungul ramurelor arborelui. Acest proces @l numim arbore travelsal. Pentru a traversa un nod AND (&), trebuie sa traversam toate nopdurile de sub el, iar pentru a traversa un nod OR este suficient sa traversam cel putin un nod de sub el.

Arborele de inferenta este construit de sus @n jos: la primul nivel se gaseste radacina arborelui (scopul) iar ramurile coboara @n jos. Arborele se termina cu frunze care de obicei sunt fapte cunoscute. Arborele inferential poate fi traversat aplicand un numit principiu, de exemplu de sus @n jos si de la stanga la dreapta.

6. Tehnici de cautare

#n vederea stabilirii regulilor decalnsabile motoarele inferentiale pot folosi mai multe tehnici, cum ar fi: cautare @n adancime, cautere pe orizontala, cea mai buna catare, cautare secventiala, cautare binara.

Sa vedem foarte pe scurt @n ce constau aceste metode. Pentru @nceput este bine sa se faca o reprezentare a spatiului problemei (universului discursului). Aceasta reprezentare se face de obicei sub forma unui graf care contine noduri ce reprezinta starile problemei si ramuri care reprezinta relatiile deci care determina caile de cautare a solutiei.

Metoda de cautare @n adancime presupune parcurgerea fiecarei ramuri a spatiului problemei, de sus @n jos. Dupa verificarea unei ramuri se procedeaza @n mod asemanator cu ramurile urmatoare, @ntr-o ordine prestabilita, sa zicem de la stanga la dreapta, pana la epuizarea tuturor posibilitatilor.

Avantajele metodei ar fi:

garanteaza obtinerea solutiei, daca aceasta exista;

@nainteza repede @n spatiul problemei;

mentine concentrarea asupra scopului.

Ca dezavantaje am putea cita urmatoarele:

nu poate justifica rationamentul;

este ineficienta pentru solutii nesigure;

este inadecvata pentru un spatiu mare al problemei.

Metoda de cautare pe orizontala presupune cautarea solutiei de-a lungul nodurilor unui nivel al spatiului problemei @nainte de a trece la nivelul urmator.

Ca avantaje ar fi:

garanteaza obtinerea solutiei problemei, daca aceasta exista;

nu face greseli @n cazul solutiilor nesigure.

Ca dezavantaje ar fi urmatoarele:

nu poate justifica rationamentul;

este ineficienta pentru solutii slabe;

este inadecvata pentru un spatiu al problemei mare.

Metoda celei mai bune cautari presupune folosirea cunostintelor despre problema pentru a se ghida @n cautarea nodurilor solutie din spatiu problemei.

Din avantajele ei putem cita:

modeleaza rationamentul uman;

poate justifica rationamentul.

Iar ca dezavantaje ar fi faptul ca nu garanteaza obtinerea solutiei.

Metoda de cautare secventiala presupune cautarea @ntr-o lista @ncepand cu primul element cap examinand fiecare element din lista pana cand se obtine o solutie sau, daca nu exista solutie, pana la epuizarea tuturor elementelor listei. Aceasto metoda garanteaza obtinerea solutiei, daca aceasta exista, are un grad de complexitate de ordinul lui N (numarul de elemente din lista) si nu este recomandata pentru liste de dimensiuni mari.

Algoritmul dupa care se desfasoara aceasta cautare este urmatorul:

Citeste primul element

Daca element=valoare

Atunci transmite elementul ca solutie a problemei

Altfel

Atat timp cat mai sunt elemente @n list si nu s-a gasit valoarea cautata

Citeste urmatorul element

Daca element=valoare

Atunci transmite elementul ca solutie a problemii.

Metoda de cautare binara presupune parcurgerea unui arbore binar. Acesta este un graf @n care un nod (nodul parinte) puncteaza catre doua noduri (noduri copii). Primul nod, cel de @nceput se mai numeste si nod radacina sau chiar baza arborelui, iar nodurile de pe ultimul nivel, cele care nu au copii se numes noduri frunze.

Cautarea binara este mult mai rapida decat cea secventiala, daca N este suficient de mare. Numarul de operatii efectuate este de ordinul lui Log2 N, metoda fiind foarte buna @n cazul listelor sortate. Algoritmul dupa care se desfasoara cautarea prin aceasta metoda este urmatorul:

Citeste elementul din mijloc

Daca valoare=mijloc

Transmite acest element ca solutie a problemei

Altfel

Daca mijloc>valoare

Atunci cauta solutia @n prima jumatate a listei

Altfel cauta solutia @n cea de a doua jumatate a listei.

Ca un exemplu sa presupunem ca avem urmatoarea lista de elemente (1, 2, 3, 4, 5, 6, 7, 8, 9, 10). Un arbore binar de cautare @n aceasta lista arata ca @n Figura

5

4 6 9

Fig.     Arborele de cautare @n lista

Iar ecuatia: Y=((A+((B/C)-D))*(E*(F+G))) are arborele binar de cautare prezentat @n Figura 5.

+ *

A - E +

/ D F G

B C

Fig. 5. Arborele binar corespunzator expresiei Y=((A+((B/C)-D))*(E*(F+G)))

Pentru obtinearea arborelui binar al unei expresii se foloseste asa-numita scriere poloneza @n care operatorul aritmetic precede termenii supusi operatiei respective. De exemplu expresia A+B se redacteaza @n scrierea poloneza sub forma +(A,B). Deci pentru a obtine arborele binar al unei expresii se insereaza @n nodul radacina operatorul din mijloc, de o parte si alta a sa se vor transcrie cei doi termeni ai operatiei respective. Procedeul continua pana la epuizarea tuturor operatorilor. #n cazul expresiei A+B (+(A,B)) arborele binar este:

+

A B



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 2103
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved