Figura 22. Mecanismul de generare a bazei de reguli
Sisteme logice Cunoştinţele procedurale sunt utilizate pentru a extrage concluzii din fapte deja stabilite, pentru care se utilizează logica. Logica se ocupă doar cu validarea argumentelor şi cu metode de derivare a concluziilor valide din faptele date. Sistemele logice utilizează aşa numitul calcul cu predicate. Mecanismul primar pentru derivarea de noi aserţiuni din cele existente este modus ponens : „dacă P atunci Q“ ceea ce însemnă că, dacă P este adevărat, atunci Q este adevărat. Sistemele logice au neajunsuri când sunt utilizate în aplicaţii „reale”, pentru că se lucrează numai cu „fals” sau „adevărat”, şi nu tratează incertitudini sau fapte incomplete. Sisteme de reguli. Modalitatea cea mai uzuală pentru reprezentarea cunoştinţelor procedurale este: „dacă premisă atunci concluzie”. În această formă, regulile sunt similare cu propoziţiile din sistemul logic cu deosebirea că acestea sunt afirmaţii generale, adesea euristice, care, în anumite situaţii limită, pot fi invalide. În plus, pot exista calcule în zona premiselor, iar concluziile pot apela programe externe pentru afişare pe ecran sau interogare. O formă mai potrivită pentru astfel de reguli este : „dacă situaţie atunci acţiune”. Acestea sunt aşa numitele „reguli de producere”; zona de control a inferenţei este cea pentru care „situaţie” se „potriveşte” (pattern-matching) cu starea curentă a bazei de fapte; dacă da, „acţiunea” se execută, transformând situaţia în soluţie. Când nu se întâmplă aşa, se încearcă o altă regulă. De aici, rezultă necesitatea unui mecanism de control, care să selecteze din mulţimea de reguli cele adecvate unui subiect. Mecanismul de raţionament Mecanismul de raţionament este esenţa „motorului de inferenţă”, care are rolul de a aplica regulile din baza de reguli asupra faptelor din baza de fapte. Există 2 strategii de utilizare a regulilor: „înlănţuire_înapoi” şi „înlănţuire_înainte”. Cele 2 strategii pot fi utilizate separat sau combinate permiţând inginerului de cunoştinţe s-o aleagă pe cea mai potrivită sau chiar să comute în timpul utilizării pe orice din modurile de înlănţuire. Înlănţuire_înainte. Strategia de înlănţuire_înainte este denumită raţionament condus de antecedent sau condus de date. Un motor de inferenţă cu înlănţuire_înainte va selecta o regulă ale cărei premise se potrivesc cu faptele cerute, iar ca rezultat al executării regulii se pot adăuga fapte noi în baza de fapte; mecanismul se continuă pentru noi reguli candidat până la epuizarea regulilor ce se pot aplica. Acest mecanism porneşte de la fapte pentru a începe raţionamentul; acesta este un proces de selecţie a regulii următoare, cea mai potrivită şi în mod necesar să fie aplicată. Acest proces este numit rezoluţie de conflict. O soluţie simplă ar fi parcurgerea tuturor regulilor începând cu prima şi de a o alege pe prima potrivită. Această procedură are dezavantajul că ordinea regulilor devine importantă, iar procesul de adăugare de noi reguli devine mai dificil. Incorporarea structurii de control este realizată în însăşi sistemul de producere a regulilor, utilizând obiective explicite, elementele din memoria de lucru reprezentând o stare dorită. Fiecare regulă se va potrivi unui tip de obiectiv şi va fi selectată când apare acel obiectiv. Această metodă necesită reguli speciale, care să recunoască prezenţa unui obiectiv particular, să-l dezactiveze şi să-l elimine din memoria de lucru putând chiar să creeze un nou obiectiv. Înlănţuire_înapoi. Acest mecanism începe să lucreze în baza unei ipoteze date pe care încearcă s-o „dovedească” utilizând fapte şi reguli din baza de cunoştinţe. Înlănţuire_înapoi nu are nevoie de fapte în baza de fapte, deoarece acest mecanism apelează reguli încercând să stabilească validitatea premisei regulii. De aceea, se va selecta fiecare dintre premise pe rând, ca o nouă „subipoteză”, şi va încerca s-o dovedească în mod identic cu ipoteza originală. Acesta este în mod inerent un proces recursiv. Dacă nu există nici o regulă ce concluzionează un anumit fapt, motorul de inferenţă se va îndrepta spre utilizator, întrebând despre fapte ce nu se găsesc în baza de fapte sau nu pot fi stabilite prin reguli. Mecanismul de „înlănţuire_înapoi” are propriile probleme de control. De exemplu, sistemul trebuie să dovedească o ipoteză A şi de aceea trebuie să dovedească subipotezele X, Y, Z; problema care se pune este: dacă mai multe reguli pot fi aplicate pentru a atinge un obiectiv, care din ele trebuie selectată mai întâi?! Aceasta este o problemă de ordonare de reguli; ordonarea este o operaţie la alegerea inginerului de cunoştinţe şi anume, conform criteriului: ’cea mai complexă premisă’, ’cea mai simplă premisă’, ‘regula cu cea mai mare pondere’ etc. Prima problemă în mecanismul de raţionament este „selectarea obiectivului”, care este o problemă de traversare a arborelui, unde nodurile lui sunt obiectivele, iar ramurile leagă antecedenţi la descendenţi. Mecanismul de „înlănţuire_înapoi” lucrează într-un mod numit „primul din adâncime”: când un obiectiv reclamă rezoluţia diferitelor subobiective, el va genera şi căuta exhaustiv drumul ce corespunde primului subobiectiv „de sus în jos” înainte de a se reîntoarce la nodul superior şi de a genera şi căuta următorul drum. În „căutarea pe nivel”, controlorul va produce câte un nod pentru fiecare subobiectiv inferior nodului curent şi va testa fiecare nod în ordinea „stînga-dreapta” înainte de a coborî în ierarhie. În tehnica de căutare „mai întâi cea mai bună”, controlorul va genera toate nodurile de pe primul nivel, dar va alege nodul cu cel mai mic număr de subobiective pentru expansiune. Modulul explicativ. Explicarea este în mod uzual legată de procesul de inferenţă. Prin retragerea stivei de obiective, un sistem de înlănţuire-înapoi poate spune de ce se extrage anumite informaţii, cum ar fi: ce obiectiv se procesează, ce regulă poate atinge acel obiectiv sau cum s-a ajuns la anumită concluzie. Aceasta este, mai degrabă, o asistare în depanarea raţionamentului, decât o explicaţie reală. Un alt neajuns al subsistemelor de explicare este mecanismul de control inclus în procesul explicativ. Astfel, strategia utilizată de mecanismul de control va fi dictată de eficienţa raţionamentului, şi nu are legătură cu strategia de raţionament, utilizată de expertul uman. Ideal ar fi ca aceste „cunoştinţe de control” să poate fi disponibile subsistemului explicativ în aceeaşi măsură ca şi baza de cunoştinţe. Aceasta ar putea fi rezolvată prin formularea de reguli de metacunoştinţe, utilizate ca reguli specifice domeniului. Raţionamentul inexact. Cunoştinţele şi faptele reprezentate nu sunt sigure; la fel şi concluziile rezultate din reguli euristice nu pot fi universal valabile. În mod uzual, în lumea reală, se lucrează cu aserţiuni de felul „probabil”, „foarte posibil”, „uneori”, denumite pe scurt incertitudini. În unele cazuri, este posibil să se atribuie probabilităţi diferitelor ipoteze şi aserţiuni, de exemplu, când acestea sunt derivate din analize statistice ale unui mare număr de date experimentale. În acest caz, se pot folosi teoremele Bayes. În cazul în care se manipulează concepte ele însele inexacte, se poate utiliza teoria mulţimilor fuzzy. Reprezentarea orientată pe obiect în Proiectarea Asistată de Calculator În dezvoltarea unei scheme de reprezentare a proiectării asistate, prima etapă se caracterizează prin descompunerea acesteia într-o colecţie de obiecte (entităţi) împreună cu o colecţie de relaţii dintre acestea. În orice moment, conţinutul acestor colecţii constituie o stare; transformările de stare aparând în timpul creării şi ştergerii obiectelor. Reprezentarea orientată pe obiect păstrează această descompunere din timpul etapei de analiza până la final. Reprezentarea este făcută sub formă de obiect văzut ca o structură de date împreună cu un set de operaţii ce interacţionează cu alte obiecte fapt ce permite simularea transformărilor de stare şi realizarea altor obiecte. În acest fel, se produce o mapare unu-la-unu între obiectele lumii reale şi obiectele modelului. Reprezentarea pe obiect este un cadru organizaţional, ce permite crearea obiectelor şi gestionează interacţiunile dintre obiecte. Caracteristicile concepţiei orientate pe obiect sunt: abstractizarea datelor şi încapsularea lor, ierarhii de clase şi obiecte, definirea metodelor şi transmiterea mesajelor, polimorfism, redefinire şi legare târzie. Abstractizarea datelor furnizează metodologia de ascundere a informaţiilor, prin definirea fiecărui obiect, dată de comportarea lui la aplicarea unui set de operatori, iar accesul la aceste obiecte făcându-se prin intermediul acestor operatori. Încapsularea înseamnă „împachetarea datelor” ce definesc obiectul şi operaţiile cu el într-un asemenea mod încât studentul este obligat să aplice doar operaţiile definite la implementarea pe datele asociate obiectului. Ideea de bază este că fiecare obiect apare ca fiind înzestrat cu memorie proprie persistentă, reprezentând starea lui, împreună cu o interfaţă publică sub forma unei mulţimi de operatori, adică protocolul obiectului ce este utilizat pentru a schimba starea sau pentru a extrage informaţii. Obiectele ce au un comportament similar sunt grupate pe ierarhii de clase şi obiecte. Rădăcina ierarhiei este obiectul, adică clasa din care toate celelalte clase reprezintă subclase directe sau indirecte. Fiecare clasă are, în mod uzual, un număr de instanţe. Memoria privată a unui obiect este similară unei înregistrări, diferitele câmpuri având nume de „variabile_instanţe”, deoarece acestea apar în fiecare instanţă a clasei; însă, aceasta diferă semnificativ de înregistrările tradiţionale din bazele de date, datorită faptului că „variabile_instanţe” sunt ele însele obiecte. Această grupare a obiectelor în ierarhii de clase şi subclase permite obiectelor dintr-o subclasă să moştenească atât structura, cât şi operaţiile superclasei lui. Relaţia dintre o subclasă şi superclasă este de tipul „aparţine_la”. În cazul ierarhiilor arborescente, o subclasă poate moşteni direct, de la o singură superclasă, şi indirect, de la linia strămoşilor acesteia până la clasa obiect. Aceasta este aşa-numita moştenire singulară, spre deosebire moştenirile multiple unde este permis unei clase să moştenească de la mai multe superclase (organizare tip lattice). Obiectele comunică prin transmiterea mesajelor de la un obiect la celălalt. Mesajul conţine 3 părţi: obiectul căruia i se transmite mesajul, numele mesajului şi o listă de argumente prin care mesajul instruieşte obiectul să-şi schimbe starea internă sau să returneze un obiect. Metodele se definesc pentru clase, şi nu pentru instanţe. Asociat fiecărui mesaj, este o metodă reprezentată printr-o listă de proceduri pentru rezolvarea mesajului. Definiţia mesajului conţine 3 părţi: numele clasei căreia i se aplică metoda, formatul mesajului şi corpul de cod executabil ce implementează mesajul. Mesajele pot fi redefinite, în aşa fel încât să poată fi transmise aceleaşi mesaje către instanţe din diferite clase şi obţinerea unor mesaje adecvate, dar diferite (un exemplu este mesajul „afişare” care, transmis obiectelor, le cere să se afişeze; fiecare instanţă a clasei ce primeşte mesajul „afişare” va găsi, în mod automat, metoda adecvată în dicţionarul de metode al propriei clase. Legarea târzie este un corolar al redefinirii; datorită ambiguităţii introduse de redefinire, sistemul nu poate lega numele operaţiilor cu programele în timpul compilării deoarece nu ştie tipul obiectului până în momentul rulării; adesea, numele operaţiilor trebuie traduse în adrese program, la momentul rulării. Legarea în această etapă este numită întârziată sau dinamică. Polimorfismul este proprietatea obiectelor de a răspunde în mod adecvat aceluiaşi mesaj: · cerinţele bazelor de date pentru Proiectarea Asistată de Calculator pot fi rezumate astfel: extinderea şi modificarea dinamică a schemelor, suport pentru manipularea unei varietăţi de tipuri de date (vectori, matrice), încrustarea informaţiei semantice, procesarea tranzacţiilor inginereşti, gestionarea soft-ului de aplicaţie de către baza de date, preprocesarea distribuită a bazelor de date, baze de date temporare, facilităţi de reprezentare a obiectelor compuse şi manipularea lor ca o singură entitate; · cerinţele bazelor de cunoştinţe pentru Proiectarea Asistată de Calculator pot fi rezumate astfel: independenţă de aplicaţie, limbaj, dispozitive, implementarea moştenirii la nivelul comportamentului, furnizarea unei ierarhii multinivel, modelarea dinamică, comunicare flexibilă, interpretoare de reguli şi constrângeri, facilităţi de arhivare. Potenţialul de a rezolva aceste probleme depinde de disponibilitatea unei anumite euristici (reguli de bază, cunoştinţe empirice utilizate pentru a ghida căutarea într-un număr mare de alternative şi soluţii potenţiale). Proiectarea creativă este dificil de tratat din punct de vedere al completitudinii, deoarece nu există o suprapunere unu-la-unu între structură şi funcţie. De aceea, este necesară proiectarea euristică. În dezvoltarea de concepte bazate pe cunoştinţe, în sinteza unui circuit electronic, s-au abordat 2 direcţii alternative de căutare sau raţionamente ale soluţiilor şi anume, prima bazată pe raţionamente de înlănţuire-înainte, iar a 2-a pe raţionamente de înlănţuire-înapoi. Ambele abordări se bazează pe căutarea într-un arbore sau „spaţiu” de noduri, soluţii sau „stări” potenţiale. Raţionamentul de înlănţuire-înainte porneşte de la informaţia de bază, care defineşte problema şi încearcă să o promoveze către o stare_soluţie, prin diferite stări intermediare, de a lungul unui drum. Avantajul principal al raţionamentului cu înlănţuire-înainte constă în abilitatea acestuia de a enumera, în mod sistematic şi nepărtinitor, structura tuturor componentelor potenţial capabile să satisfacă cerinţele proiectului; dezavantajele acestei abordări constau în faptul că nu garantează producerea unei soluţii şi necesită timp de proiectare relativ mare. Acesta este preţul plătit pentru o căutare amănunţită în spaţiul soluţiilor. Raţionamentul de înlănţuire-înapoi începe din stări_soluţii, prespecificate, către stări ţintă. Strategia de raţionament cu înlănţuire-înapoi este numită şi sinteza echivalării şabloanelor. Acest concept porneşte de la necesităţile de proiectare funcţională. Ele pot fi legate în maniera unu-la-unu cu structurile care generează regulile. Acest proces a fost automatizat printr-o abordare bazată pe „învăţarea maşinii”, construit(ă)??? cu ajutorul circuitelor neuronale. Utilizând acest concept, o problemă de proiectare poate fi rezolvată furnizând starea ţintă dorită, prespecificată în baza de cunoştinţe a sistemului. În plus, pot fi făcute modificări în structurile stocate anterior, fiind utilizate pentru a produce clase specifice într-o încercare de „acordare” în vederea obţinerii optimului. Avantajul principal al raţionamentului cu înlănţuire-înapoi constă în abilitatea acestuia de a garanta o soluţie pentru probleme de proiectare, dacă starea_soluţie dorită a fost introdusă anterior în sistem; dezvoltarea bazei de cunoştinţe va satisface această cerinţă. Deoarece teoria grafurilor poate fi efectiv utilizată pentru a reprezenta structura unui circuit într-un mod compact, tehnicile de căutare euristică au fost aplicate pentru a enumera grafurile corespunzătoare, în aşa fel încât să poată fi evitat un timp de căutare nerezonabil. Utilizând strategia (raţionamentul) de înlănţuire-înainte, informaţia de bază care defineşte problema este furnizată sistemului şi include următoarele: numărul de elemente conducătoare (ce trebuie fixate şi ce trebuie realizate), numărul de elemente conduse, numărul maxim de legături. Împreună cu aceste informaţii, anumite reguli (cunoştinţe predefinite) sunt utilizate pentru a limita căutarea în spaţiu de grafuri ce pot satisface necesităţile funcţionale prespecificate şi orice cerinţe cunoscute, ce caracterizează problema. Selectarea tipului de topologie, utilizând baze de cunoştinţe Topologia poate fi definită de o mulţime de parametri, deoarece valorile parametrilor nu sunt incluse; în schimb, se include natura relaţiilor dintre parametri. Prin separarea topologiei de funcţiuni, paşii sintezei pot fi organizaţi utilizând baze de cunoştinţe. Baza de reguli conţine informaţii despre topologia şi funcţiunile circuitului. O regulă ce se ocupă de topologie ar putea fi: „Dacă există mai mult de 2 <condiţie>, Atunci topologia este invalidă”. Un alt tip de regulă ce se ocupă de funcţiuni ar putea fi „Dacă există mai mult de 2 <condiţie> …. , Atunci topologia nu poate produce o <situaţie>”. Cea de a 2-a regulă introduce una din trăsăturile caracteristice bazelor de cunoştinţe. În timp ce regula este, în general, validă, totuşi funcţiunea produce, în anumite condiţii, fapte nedorite. Baza de cunoştinţe interpretează aceste situaţii prin ponderea pe care proiectantul o atribuie fiecărei reguli; cu cât ponderea este mai mare, cu atât regula are o mai mare utilitate. Proiectantul introduce un set de cerinţe prin intermediul interpretorului care va interpreta dialogul, iar regulile sunt adăugate la baza de reguli. Generatorul de topologii enumeră topologiile posibile, pe care programul de evaluare le estimează pentru a clasifica topologiile candidat în bune sau rele, rezultatul aprecierii fiind afişat grafic, împreună cu raţionamentul făcut pentru a determina rezultatul. Generatorul de topologii utilizează o reprezentare în spaţiul stărilor, ce constă în existenţa „stării” şi a „operatorilor”. O stare este condiţia procesului de a genera topologia pornind de la definiţia ei printr-o mulţime de entităţi de stare; pornind de la o stare de început, aplicarea continuă a operatorilor va genera întreg spaţiul stărilor. Proiectantul introduce propoziţii de forma verb-subiect, subiect-verb-obiect sau de tipul „dacă subiect-verb-obiect, atunci subiect-verb-obiect”; interpretorul caută să înţeleagă propoziţiile culegând cuvintele cheie. Propoziţiile corecte sunt reţinute în baza de reguli împreună cu o pondere acordată de proiectant. Deoarece generarea topologiilor va rezulta dintr-un număr nelimitat de posibilităţi (explozie combinatorială), este necesară o tehnică de căutare, ce utilizează cunoştinţele generale despre spaţiul stărilor pentru a limita căutarea. Aceste cunoştinţe euristice nu pot garanta limitarea căutării. Tehnica de căutare este „prima cea mai bună”. Pentru ca evaluatorul să poată folosi informaţia din baza de cunoştinţe, acestea trebuie să fie reprezentate într-o formă uşor accesibilă, în vederea stocării, regăsirii, extragerii şi modificării. Sistemul de producere a regulilor constă dintr-o bază de reguli, un context şi un interpretor. Baza de reguli conţine producţii de forma „dacă situaţie, atunci acţiune”. Contextul păstrează informaţia despre starea curentă şi anume matricea stărilor, numărul de legături. Ponderea stării curente este iniţializată cu ponderea maximă determinată de însumarea ponderilor asignate regulilor de bază. Interpretorul efectuează evaluarea, căutând producţii în baza de reguli, analizând partea „dacă …” a fiecărei producţii pentru a vedea dacă este adevărată în baza de contexte. Dacă este adevărată, producţia este executată prin determinarea părţii „atunci…” adevărată în contextul dat. Dacă DA, ponderea asignată acestei reguli este scăzută din ponderea curentă, altfel ponderea este adăugată. În acest mod, regulile care nu se aplică nu au nici un efect, iar cele care nu sunt adevărate pentru o topologie au efect negativ. Prin aplicarea continuă a producţiilor, interpretorul poate evalua o topologie de la zero (toate cerinţele satisfăcute) până la un anumit maxim (nici o cerinţă satisfăcută). Procesul de proiectare este caracterizat prin interactivitate, evaluare şi modificare a unui proiect, în scopul eliminării unor probleme sau a satisfacerii unor cerinţe noi, în locul creării unui proiect nou, pornind de la cerinţele de bază, în aşa fel încât proiectul să conveargă la o soluţie acceptabilă. Reproiectarea nu înseamnă o căutare aleatoare, ci este implementată ca un algoritm care utilizează o tabelă de dependenţe şi tehnici de căutare euristică pentru a lega modificările propuse în proiect de îmbunătăţirile dorite. Modelul de proiectare necesită 5 modele: specificarea problemei, proiectarea iniţială, evaluarea, acceptabilitatea şi reproiectarea. Un expert în domeniu interacţionează cu programul pentru a furniza cunoştinţele necesare într-un domeniu nou; aceste cunoştinţe, împreună cu informaţiile specifice, furnizate de utilizator, formează baza de cunoştinţe, necesară pentru a rezolva probleme dintr-un domeniu nou. Se determină fie un proiect preliminar din rutinele specificate de expert, fie se acceptă un proiect specificat de utilizator. Proiectul poate fi analizat din punctul de vedere al performanţei dorite, prin evaluarea fiecărui obiectiv al problemei, comparând şi combinând indicii de performanţă pentru o evaluare globală a proiectului. Dacă acesta este acceptat, atunci procesul este complet; dacă nu, faza de reproiectare se reia. Programul începe prin selectarea unui obiectiv din lista de obiective ordonate în funcţie de o prioritate specificată de utilizator (prioritatea poate fi modificată pentru a se produce o îmbunătăţire a proiectului). O variabilă a proiectului este selectată pentru a produce o schimbare în funcţia obiectiv. Programul utilizează cunoştinţe euristice, furnizate de expertul în domeniu, despre care anume variabilă trebuie modificată pentru a determina o modificare în obiectiv. Aceste cunoştinţe reflectă experienţa expertului care indică entităţi anume de modificat pentru a produce cea mai mare schimbare a obiectivului urmărit şi cel mai mic efect asupra celorlalte obiective ale proiectului. Fiind un hibrid între euristică şi metode numerice, schimbările în proiect sunt selectate alegându-se cea mai potrivită din cele 2 metode: euristica selectează ce este de schimbat, iar dependenţele numerice selectează gradul de schimbare. Deoarece spaţiul de proiectare este complex, căutarea este condusă de ambele tipuri de cunoştinţe. Reprezentarea cunoştinţelor Sistemele bazate pe reguli RBS (rule-based system) pot implementa cunoştinţe empirice (relaţia asociativă între condiţie şi acţiune) şi logice (relaţia cauzală). Ele permit o mapare între conceptele de funcţie şi atribut, deşi aparţin unor categorii diferite de concepte. Regulile au asociat un factor de incertitudine. Datorită naturii cunoştinţelor din faza de proiectare conceptuală şi anume, ambiguă, regula trebuie să fie interpretată ca un raţionament de tipul „forward reasoning” [dacă (condiţie), atunci acţiune] sau „backward reasoning” [(condiţie), când (acţiune) produsă] deoarece factorii de incertitudine nu sunt utilizaţi direct. În cazul proiectării, procesul de gândire utilizează ambele procedee de raţionament şi anume, „forward reasoning” - de la specificaţii, se determină un scop temporar, şi „backward reasoning” - pentru determinarea următorului obiectiv, utilizând rezultatele verificării „fezabilităţii” primului obiectiv şi a verificării dacă acesta satisface specificaţiile. Proiectanţii cu experienţă evită căutările lipsite de sens din raţionamente, fapt ce conduce la ideea că procesul de inferenţă trebuie astfel construit încât să evite căutările generate automat, dar nenecesare. De aici, şi necesitatea de a introduce reguli pentru controlul inferenţei, adică reguli la reguli (metareguli). Reprezentarea cunoştinţelor utilizează reguli de tip if-then, adecvate la evaluarea proiectelor prin descriptori de compatibilitate şi la analiza strategiilor. Sistemele bazate pe modele MBR (model-based reasoning) realizează formularea cunoştinţelor sub formă de principii pentru a acoperi diferite aspecte ale problemelor domeniului. Aceste principii au un caracter general, spre deosebire de regulile if-then, şi constituie un model care asigură rezolvarea problemelor. Modelarea procesului de proiectare este privită ca un raţionament calitativ (qualitative reasoning), capabil să se adapteze schimbărilor dinamice fără mărirea bazelor de cunoştinţe. Structurile ierarhice, utilizate în modelare, corespunzătoare procesului de simulare, abordărilor orientate pe obiect şi relaţiilor de moştenire, oferă posibilitatea de unificare a bazelor de cunoştinţe de tip model printr-un set de reprezentări formale. În acest caz, este necesară construirea unei biblioteci de abstractizări folosite în procesele de reprezentare şi inferenţial. Spre deosebire de RBS, care constituie un mod rigid de reprezentare în raport cu modificările mediului, MBR prezintă o mai mare flexibilitate în raport cu modificările produse şi cu schema de elicitare oarecum rigidă. Modelarea dinamică a procesului împreună cu raţionamentul calitativ constituie un sistem cu autocontrol, ce dă acestei abordări o mare putere deoarece modelarea euristică acţionează asupra fenomenelor de incertitudine şi duplică intuiţia umană. Reprezentarea cunoştinţelor utilizând modelarea procesului este adecvată rezolvării problemelor de proiectare. În capitolul următor, este detaliată structura modelelor. Un alt mod de reprezentare a cunoştinţelor este sistemul bazat pe „cazuri” CBR (case-based reasoning) unde este utilizată metoda întemeiată pe experienţa constituită în „caz specific” (case) corespunzătoare experienţei expertului în proiectări similare. Metoda se sprijină pe principiile care stau la baza a proiectării însăşi şi anume, pe folosirea experienţei anterioare în rezolvarea problemei curente. Dificultatea întâlnită în formularea experienţei în proiectare ca regulile sau formulările cunoştinţelor ca modele, face ca CBR să devină tendinţa modernă manifestă în reprezentarea de cunoştinţe, pentru că simulează procesul de proiectare cel mai fidel posibil. Motivat de observaţia cognitivă că proiectarea se întemeiază pe experienţa anterioară pentru a rezolva probleme noi, tehnica CBR este privită ca fiind alternativa la tehnicile mai tradiţionale RBS şi MBR. Raţionamentul pentru tehnica CBR se desfăşoară astfel: se construieşte baza de cazuri din experienţele anterioare, se găsesc, în baza de cazuri, acele cazuri care rezolvă probleme similare problemei curente, se adaptează cazurile regăsite sau soluţiile care se potrivesc problemei curente, se evaluează rezultatele din paşii anteriori prin examinarea cât de bine este rezolvată noua problemă; dacă evaluarea nu este satisfăcătoare, se reface baza de cazuri, algoritmul de regăsire, adaptarea algoritmului sau o combinaţie a lor. Interfeţele utilizator actuale se bazează pe influenţa conceptului Model-Vedere-Controlor, care divizează responsabilitatea interfeţei utilizator în 3 tipuri de obiecte: - Model - reprezintă structura de date a aplicaţiei: el conţine sau are acces la informaţia ce va fi afişată în Vedere; - Vedere - vederea manipulează toată tematica grafică; ea cere date de la model şi le afişează; o vedere poate să conţină subVedere şi poate fi inclusă în superVedere; ierarhia de sub/super_Vedere furnizează comportamentul de „fereastră” ( cum ar fi tăierea sau transformările); - Controlor - furnizează interfaţa între Model - Vedere asociate şi intrările utilizatorului.
6. Modelarea procesului ingineresc Procesul de proiectare este un proces în care colaborează diferite echipe de proiectanţi, cu diferite obiective, uneori contradictorii. Pentru fiecare echipă de proiectanţi, procesul de proiectare, conform ingineriei de cunoştinţe, poate fi sintetizat astfel: - realizarea unui model al problemei, adică o conversie de la problema definită ca obiect şi atribute la reprezentarea prin model; - analizarea modelului pentru determinarea soluţiei, adică o conversie de la model la soluţie; - realizarea programării, adică o conversie de la soluţie la program. Fiecare din procedurile definite mai sus reprezintă o mapare dintre diferite forme, model-soluţie-program: cu cât nivelul de exprimare este mai agregat în raport cu modelul/soluţia/programul, cu atât „înţelegerea” şi recepţionarea informaţiilor este mai uşor de realizat. Pentru realizarea acestei mapări, inginerul proiectant utilizează funcţii inteligente cum ar fi intuiţia, creaţia, asocierea, inducţia, abducţia, recunoaşterea, deducţia care sunt obiectul de studiu al ingineriei de cunoştinţe, şi funcţii cu un nivel relativ redus de raţionament cum ar fi calcularea, căutarea şi regăsirea, recunoaşterea de şabloane etc. analizate în detaliu de algoritmii Proiectării Asistate de Calculator. Astfel, ingineria de cunoştinţe este utilizată pentru înzestrarea sistemelor cu funcţii inteligente, cum ar fi raţionamentul prin analogie, raţionamentul probabilistic, inferenţa inductivă sau deductivă etc., în aşa fel încât să fie reprodusă cât mai fidel activitatea de proiectare [41]. Modelul de proiectare permite refaceri simultane de proiect prin stabilirea componentelor sau a caracteristicilor de proiectare, asociate fiecărui proiect candidat, printr-un proces de definire a ierarhiilor, de creare a legăturilor necesare, corespunzătoare fiecărei problematici. Procesele de mapare, de definire a descriptorilor de compatibilitate, a justificărilor, a sugestiilor, a strategiilor şi a condiţiilor care să asigure o rezolvare corectă a problemelor de compatibilitate sau aplicabilitate între soluţiile candidat, precum şi a inconsistenţei în specificaţii, constituie obiectul modulului de modelare. Selecţia setului corect al variabilelor de decizie - denumit spaţiul stărilor - constituie „expertiza” proiectării: informaţiile rezultate din expertiza proiectării sunt constituite în liste de atribute, legături şi clase/obiecte utilizate de descompunerea proiectului [65], [67]. În continuare, sunt prezentate principiile care stau la baza înţelegerii comportamentului circuitului, pornind de la principiile de construire a circuitului, adică structura acestuia. Descrierea comportamentală a circuitului se realizează în mod calitativ fără să fie folosite ecuaţiile diferenţiale şi variaţiile elementelor circuitului. Astfel, se disting clase de circuite cu acelaşi comportament, dar cu o topologie diferită: superclasa, clasa, subclasa [32], [33], [34]. Primul pas este explicarea modului în care funcţionarea circuitului este legată de structura lui, adică scopul pentru care este realizat circuitul este legat de topologia acestuia. Problema constă în analiza circuitului prin accentuarea modului în care funcţionarea circuitului este derivat din structura lui. Structura reprezintă ce este circuitul, funcţiunea reprezintă scopul pentru care circuitul este proiectat, comportamentul reprezintă ce face circuitul. Punctul intermediar între structură şi funcţiune este comportamentul [37]. Când acesta analizează circuitul, inginerul proiectant utilizează un mod de raţionament intuitiv calitativ. Modul de raţionament intuitiv calitativ furnizează o mare cantitate de informaţie asupra funcţionării circuitului, deoarece, deşi este calitativă ca natură, această informaţie descrie importante aspecte cantitative despre funcţionarea circuitului, cum ar fi reacţia negativă şi stabilitatea circuitului, estimarea impedanţei sau a funcţiei de performanţă. În continuare, se urmăreşte formalizarea lui. În acest sens, următoarele paragrafe fac referire la raţionamentul cauzal şi la ecuaţii diferenţiale calitative pentru studierea dependenţei topologiei de legile Kirchoff. Aserţiunile caracteristice unei clase de componente pot sugera, pentru o situaţie dată, proceduri de descompunere structurală a elementelor unei clase în părţi constitutive. Modelul componentului caracterizează întregul potenţial de comportamente ale acestuia. Pentru fiecare stare calitativă, modelul componentului furnizează confluenţe sau constrângeri care conduc comportamentul în acea stare. Forma generală a modelului este stare: specificaţii, confluenţe. Modelul determină comportamentul pentru o stare, prin rezolvarea setului de confluenţe, sau comportamentul tranziţiei, de la o stare la alta. Un exemplu de structurare a informaţiei în superclase, clase şi subclase este prezentat în tabelul de mai jos.
Modelarea structurală constă în descrierea comportamentului prin atribute, deci, printr-un un set de entităţi (de exemplu, variabilele caracteristice şi derivatele / integralele în raport cu timpul). Unul din aspectele acestei teorii - analiza cauzală - descrie modul în care comportamentul componentelor individuale pot fi combinate pentru a explica comportamentul sistemului compus. Alt aspect al acestei teorii, analiza scopurilor, descrie faptul că sistemul şi scopul său pot fi utilizate pentru a structura şi se foloseşte în analiza cauzală. Astfel, pornind de la topologia circuitului, se poate construi, utilizând analiza cauzală calitativă [47], o descriere a mecanismului care guvernează funcţionarea circuitului. Raţionamentul cauzal analizează modul în care perturbările raportate la un anumit punct de operare se propagă în circuit. Astfel, se determină comportamentul calitativ al circuitului din structura lui. În plus, spre deosebire de procedurile cantitative, cele calitative produc explicaţii intuitive, cauzale, privind predicţia comportamentului. Predicţia comportamentului combinate cu explicaţiile lor, formează baza pentru modul în care raţionamentul explică cum funcţiunile circuitului sunt determinate de comportamentul acestuia [68], [70], [71]. Pentru realizarea raţionamentului calitativ este necesară introducerea euristicii şi a regulilor pe care expertul uman le utilizează în practică, în mod uzual. Cunoştinţele expertului se bazează pe toată învăţătura şi experienţa acumulată în domeniul proiectării. Introducerea acestor cunoştinţe conduce la simularea cu calculatorul a raţionamentului expertului. Raţionamentul calitativ Circuitele sunt proiectate pentru a funcţiona corect la variaţii ale intrărilor şi ale ieşirilor (de exemplu, un amplificator trebuie să intensifice variaţia semnalului de intrare, circuitul digital trebuie să comute starea internă la schimbarea semnalului aplicat, o sursă de tensiune trebuie să furnizeze curent sau tensiune constantă indiferent de schimbările în ieşire). Scopul acestor exemplificări este o mai bună înţelegere, prin examinarea modului în care aceste circuite răspund la schimbări. Astfel, analiza cauzală priveşte modul în care circuitele răspund la perturbaţiile intrărilor. Când unui inginer din domeniul ingineriei electrice i se cere să explice funcţionarea unui sistem electric, el îl va descrie ca fiind o secvenţă de evenimente, unde oricare dintre evenimente este produs de evenimentul anterior. Fiecare eveniment reflectă anumiţi parametri de comportament al unor elemente ale sistemului cum ar fi curentul printr-o rezistenţă, etc. Explicaţiile inginerului ca şi explicaţiile ştiinţifice sunt descrieri secvenţiale. Un exemplu de raţionament calitativ este expus în continuare pentru un circuit. Astfel, este prezentată o analiză a funcţionării unui circuitul amplificator. Explicaţiile inginerului sunt, de forma: „o creştere a tensiunii de intrare produce o creştere a polarizării în emitorul joncţiunii primului tranzistor, ceea ce cauzează o creştere amplificată a curentului în colectorul aceluiaşi tranzistor. În consecinţă, atât tensiunea în colectorul primului tranzistor, cât şi în baza celui de-al 2-lea tranzistor descresc. Al 2-lea tranzistor se comportă ca un repetor-emitor, cu o rezistenţă suplimentară în colector, ceea ce produce o descreştere a tensiunii în emitorul primului tranzistor, descreştere ce produce o creştere a polarizării în emitorul joncţiunii primului tranzistor, fapt ce cauzează o creştere şi mai mare a curentului în colectorul aceluiaşi tranzistor etc. ...”. Cauzalitatea reprezintă reducerea întregului circuit la formalizarea acestuia (ecuaţiile diferenţiale) şi asimilarea circuitului unei colecţii de procesoare de informaţii. Descrierea oricărui component este de forma nume:tip:comportament. Descrierea comportamentului pentru un component este exprimată ca ecuaţii de confluenţă: fiecare model de confluenţă constă dintr-un set de termeni a căror sumă este o constantă. Un set de valori contrazice confluenţa, deci este o constrângere. Raţionamentul calitativ se realizează folosind: - variabile calitative, diferite de cele utilizate în analizele cantitative; - explicaţii ce conţin informaţii despre perturbările din sistem; - schimbări produse în circuit care sunt descrise calitativ; toate cantităţile din circuit sunt descrise calitativ şi anume ca fiind crescătoare, descrescătoare sau neschimbate; - explicaţii ce se referă la afirmaţii despre starea sistemului, cum ar fi: cauzele evoluţiei anumitor parametri ai sistemului; - marcarea fluxului de cauzalitate: explicaţiile sunt secvenţe de evenimente cauzate de evenimente precedente; - predicţia şi explicaţia: analiza cauzală este o descriere calitativă a procesului de echilibrare a circuitului atunci când circuitul este acţionat cu un semnal. Primul pas în realizarea analizei calitative a unui circuit îl constituie stabilirea modului de descriere a comportamentului circuitului şi a modelului calitativ al circuitului. În acest sens, se determină: · variabile şi ecuaţii calitative; · modelul circuitului pentru analiza statică calitativă şi analiza în curent continuu; · modelul calitativ pentru componentele primare ale sistemului, care se bazează pe modelele clasice pentru care constrângerile sunt reformulate în termeni calitativi. Variabilele calitative Valoarea calitativă a expresiei x este [x]; în acest caz,
valoarea calitativă [ 6.1.1. Analiza statică calitativă Analiza calitativă utilizează o generalizare a distincţiei pe care ingineria electrică o face în privinţa analizei statice şi a analizei în curent continuu. Analiza statică se referă la stabilirea valorii punctului de operare; analiza în curent continuu este o deviaţie a analizei statice. Utilizând această distincţie, analiza circuitului se realizează folosind modele diferite pentru analiza statică şi analiza în curent continuu şi anume, modele primare pentru analiza statică şi modele de ordinul şi pentru analiza în curent continuu. În continuare, se va prezenta modul în care raţionamentul calitativ, cauzal şi teleologic (scopurile sunt urmărirea precisă a unei succesiuni de procese / evenimente) oferă un mecanism de inferenţă, care suportă acest mod de explicaţii. 6.1.2. Modelul calitativ pentru componentele primare Ca şi în ingineria electrică, în Proiectarea Asistată construirea modelului unui circuit se realizează pornind de la modelele componentelor simple. Modelul componentelor simple trebuie să caracterizeze comportamentul esenţial generic pentru fiecare tip de component. Analiza structură-funcţiuni se face la dimensiuni mici deoarece alegerea structurală a conţinut în ea însăşi informaţii funcţionale. Validitatea predicţiilor calitative depind de calitatea modelului ales pentru componentele primare. Este important de notat că, pentru analiza cauzală, schimbările în cantitate sunt mai importante decât cantităţile însele [53]. Pentru componentele primare, simple modelul lor calitativ se reprezintă prin: · legea Kirchoff pentru curent, care este constrângerea de bază a circuitului, în termeni calitativi (în partea dreaptă a relaţiei, marcate cu Ü este varianta originală, cantitativă): - [ij ] = 0 Ü S ij = 0 - în domeniul timp sau frecvenţă, deci, cazul ecuaţiilor diferenţiale: S dij = 0 Ü S dij/dt = 0 - pentru model linear; S dkij = 0 Ü S dij/dt = 0 - pentru model nelinear, reprezentând ecuaţii diferenţiale, de ordinul k, corespunzător unui circuit nelinear, deci forma generală a acestuia; · legea Kirchoff pentru tensiuni, care este a 2-a constrângere de bază a circuitului, în termeni calitativi: - [vj ]= 0 Ü S vj = 0 - varianta originală (cantitativă) - în domeniu timp sau frecvenţă, cazul ecuaţiilor diferenţiale S dvj = 0 Ü S dvj/dt = 0 - pentru model linear S dkvj = 0 Ü S dkvj/dt = 0 - pentru model nelinear, reprezentând ecuaţii diferenţiale, de ordinul k, corespunzător unui circuit nelinear unde j reprezintă numărul buclelor; · legea Ohm, în forma cantitativă, v = Ri. În forma sa calitativă [v] = [i]: astfel, modelul calitativ pentru rezistenţă este dkv = dki. · sursa de alimentare are un model calitativ [v] = + dkv = 0; · tranzistorul; · modelul calitativ al acestuia este: dvbeŢ dic , dvbe - Ţ die , dvbeŢ dib cu semnificaţia că: dvbeŢ dic cu semnificaţia că dvbe= dic, unde dvbe este cauza pentru schimbarea dic dvbe - Ţ die cu semnificaţia că dvbe= -die, unde dvbe este cauza pentru schimbarea die Notaţiile folosite sunt următoarele: Curentul, prin rezistenţa R, intrând în nodul 1 s-a notat i®#1(R), iar ieşind din nodul 1 s-a notat i¬#1(R) . Dacă în analiza cantitativă i®#1(R)= - i¬#1(R), în analiza calitativă această relaţie nu este relevantă. Sursa împământată în nodul 1 este notată v1; tensiunea între nodurile 1 şi 2 este v1,2; dacă aceasta este negativă, intuitiv s-a notat v2,1. Tranzistorul NPN are curent pozitiv în bază şi colector şi curent negativ în emitor sau, altfel spu, curentul intră în bază şi colector şi iese din emitor. Pentru a marca aceasta, s-a notat i®C, i®B, i¬E. În continuare, se utilizează următoarele convenţii: Ţ indică sensul propagării perturbaţiei; când coloana „cauza” este necompletată, semnul Ţ indică faptul că fenomenul se datorează pasului anterior. 6.1.3. Analiza cauzală pentru curent continuu Un aspect important în analiza calitativă este predicţia răspunsului circuitului la acţiunea unui semnal. Pentru a construi predicţia comportamentului circuitului, este necesar să realizăm: - propagarea cauzală a constrângerilor: Intuiţia esenţială, pe care se bazează analiza cauzală, este că fiecare component acţionează ca un procesor de informaţii pentru o singură acţiune atunci când un semnal se propagă de la un procesor vecin; propagarea ca şi procesarea informaţiilor se face în concordanţă cu modelul componentului. Cauzalitatea se bazează pe localizarea şi direcţionarea propagării, adică fiecare component acţionează după acţiunea componentei vecine şi, la rândul ei, acţionează numai în vecinătatea ei. Astfel, fiecare interacţiune are acces numai la informaţia locală (adică numai pentru componentele vecine) şi se produce, la rândul, ei numai datorită informaţiei locale. În sfârşit, fiecare component propagă informaţia într-o singură şi numai într-o singură direcţie. Negocierea între procesorii componenţi este imposibilă, aceasta putându-se manifesta numai între cei vecini. Analiza cauzală produce un argument cauzal, care este o descriere calitativă a modului în care se echilibrează circuitul, fiind dependent de modul în care acesta răspunde, din starea de echilibru, la perturbaţii. Această descriere este, de fapt, o simulare a modului de echilibrare a circuitului. Primul exemplu este un circuit amplificator. Componentele interacţionează între ele prin plasarea curenţilor şi a tensiunilor în nodurile adiacente: două componente pot interacţiona dacă sunt conectate. Topologia interacţiunilor cauzale potenţiale se comportă ca o topologie a modelelor alternative ale componentelor şi variabilelor. Analiza cauzală constă în: - construirea unui graf orientat, cu laturi orientate în direcţia propagării informaţiilor din topologie; - studiul propagării unei perturbaţii a semnalului de intrare printre informaţiile din topologie. Simplificarea importantă se realizează prin faptul că propagarea informaţiilor se face numai în direcţia grafului, eliminând interacţiunile cauzale potenţiale.
Pentru analiza cauzală, determinarea mărimii de ieşire constă în stabilirea unei secvenţe de paşi, luând în considerare perturbaţia intrării, fiecare pas depinzând de paşii anteriori din secvenţă. Ultimul pas îl constituie determinarea mărimii de ieşire. Explicaţia şi evenimentele pe care se bazează raţionamentul propagării cauzale [53] sunt următoarele:
- (s-a notat cu indicele L nodul de ieşire); - indică sensul propagării perturbaţiei; când coloana „cauza” este necompletată, semnul Ţ indică faptul că fenomenul se datorează pasului anterior, de exemplu, creşterea curentului în colectorul tranzistorului i¬#C (Q) = + se datorează perturbaţiei de la intrare dvIN = + (cu + s-a notat creşterea, cu - s-a notat scăderea). Analiza cauzală utilizează propagarea constrângerilor pentru determinarea valorilor elementelor din circuit. Propagatorul este proiectat să găsească, mai întâi, cea mai simplă explicaţie. Primul pas în determinarea valorilor îl constituie deducţiile datorate legilor KCL şi KVL, printr-un simplu proces euristic de extragere a valorii utilizând cele mai puţine componente ca argument. Noile valori obţinute, dar care nu au fost încă propagate, sunt păstrate în coadă de aşteptare. Valorile - variabilele - asupra cărora propagarea operează, reprezintă tensiunile şi curenţii din circuit. Acestea sunt constituite într-un vector ale cărui celule reprezintă tensiunile şi curenţii din circuit. Un set de constrângeri leagă elementele vectorului. Structura de date este construită prin crearea celulei „tensiune”, pentru fiecare pereche de noduri, şi a celulei „curent”, pentru fiecare component. Apoi, modelele componente, deducţiile KCL şi KVL sunt instanţiate pentru fiecare component şi nod prin legarea tuturor informaţiilor la nodurile corespunzătoare din arborescenţă, denumite în continuare, celule. Orice variabilă poate avea o valoare. Această valoare poate proveni din propagarea fie dinafara circuitului, fie poate fi dedusă din valorile altor celule datorită confluenţei (constrângerilor). Când unei celule îi este atribuită o valoare, fiecare constrângere ia parte, prin examinarea informaţiilor necesare, la deducerea valorii pentru o altă celulă, prin „propagarea constrângerilor”, făcută folosind modelele componentelor ca şi antecendetele şi consecinţele lor. Asociată fiecărei valori este o justificare indicând cum a derivat din valori ale altor celule. Procesul de evaluare a propagării valorilor este construit prin trasarea căii de justificare înapoi, până la intrarea iniţială. Uneori, se găsesc 2 valori pentru aceeaşi celulă. Cauzalitatea impune faptul că celula are, la un moment dat, o singură valoare. Dacă cele 2 valori ale unei astfel de coincidenţe sunt în conflict, modelele componentei sunt inadecvate (de ex.: modelul tranzistorului are o sursă de tensiune în colector în loc de sursă de curent; în această situaţie, circuitul nu poate exista (ex. 2 surse de curent în serie) sau intrare imposibilă (ex. specificarea faptului ca la nodul #1 a unei rezistenţe curentul este +, iar la nodul #2 a aceleaşi rezistenţe, curentul este tot +).???? Dacă cele 2 valori ale unui astfel de circuit sunt în concordanţă, propagarea celei de a 2-a valori, ca şi informaţia care o însoţeşte, nu se mai propagă,??? ceea ce „sărăceşte cunoaşterea” circuitului (cazurile simple de concordanţă sunt evitate prin faptul că rezultatul constrângerii nu poate fi instabil el însuşi). Este importantă descoperirea din timp a conflictelor pentru a evita crearea unui lanţ lung al propagării şi pentru a afla că antecedente simple sunt contradictorii. Un caz special îl constituie deducţiile KVL, ale căror confluenţe pentru fiecare buclă pot produce redundanţe, ceea ce introduce nu numai ineficienţă, dar generează explicaţii multiple şi diferite pentru acelaşi comportament. Soluţia utilizată este de a utiliza o confluenţă KVL pentru fiecare set de 3 noduri i, j, k: dnvij + dnvjk = dnvik , unde n reprezintă ordinul ecuaţiilor diferenţiale Euristica cauzală Modelele componentelor nu sunt suficiente pentru a construi analiza cauzală a unor circuite. Legile de bază ale analizei unui circuit, şi anume KCL, KVL ca şi modelele componentelor, produc situaţii critice în cazul propagării şi anume, propagarea este în impas în cazul sumării a trei parametri. Propagarea nu se poate opri când se ajunge la relaţia conform căreia doi parametri sunt egali considerând că, dacă unul este cunoscut, celălalt poate fi calculat folosind relaţia de propagare a constrângerilor. Soluţia este utilizarea euristicii cauzale [53], [54] şi anume, introducerea a trei euristici independente: · euristica de component (KCL); · euristica de comportament (KVL); · euristica de confluenţă. Euristica cauzală, definită mai sus, este diferită de deducţiile obişnuite ale legilor KCL şi KVL prin faptul că presupune că, în orice fază a propagării, se poate ajunge la concluzia că circuitul nu funcţionează corect. Euristica de component (KCL) se referă la cazul pentru care propagarea se află în impas la una din relaţiile KCL pentru un anumit nod conectat la trei sau mai multe componente. Regula euristică KCL pentru curenţii care intră în nod se exprimă dij = - in, dacă tensiunea la nod este S dijk - Ţ dv, propagatorul utilizează regula dv = 0. Astfel, pentru componentul tranzistor, relaţiile cauzale devin:
sau, explicând creşterea curentului care iese din nod, îl forţează pe acesta să scadă. Creşterea curentului care intră în nod, îl forţează pe acesta să crească. Euristica KCL face supoziţia conform căreia conectorii care leagă componentele la noduri, se pot modela, la rândul lor, ca surse de curent şi o impedanţă pozitivă. Euristica de comportament (KVL) [41] se referă la cazul pentru care propagarea se află în impas la una din relaţiile de confluenţă KVL dvn = dvn,m + dvm, unde n şi m sunt două noduri conectate la două terminale diferite ale aceluiaşi component, iar dvn este + sau -. În acest caz, propagatorul utilizează regula dvn Ţ dvn,m. În plus, dacă dvn = dvm , propagatorul utilizează regula dvm,n = 0. Realizând propagarea se obţine:
Raţionamentul intuitiv pentru această euristică este explicat în continuare. În cazul în care dvn,m şi dvm sunt necunoscute, nu se poate determina o cale de propagare cauzală, care să afecteze dvm, iar dvn poate fi privit ca fiind cauza schimbărilor pentru dvn,m şi dvm , pornind de la supoziţia că toate impedanţele modificabile sunt pozitive. Euristica KVL presupune că o schimbare a tensiunii în nodul n produce o schimbare egală în valoare pentru tensiunea în component, iar tensiunea în nodul m este nesemnificativă (vm » 0), în consecinţă, dvn Ţ dvn,m... Ţ dvm. Astfel, euristica KVL se bazează pe presupunerea că schimbarea tensiunii dvm produsă prin schimbarea tensiunii dvn nu poate influenţa schimbarea tensiunii dvm În cazul în care dvm = dvm ą 0, euristica KVL a produs deja două conflicte de propagare: dvn Ţ dvn,m şi dvm Ţ dvm,n. Totuşi, cele două schimbări s-ar putea anula în cazul existenţei unei a treia posibilităţi dvn,m = 0 (care este doar o speculaţie matematică). Euristica de confluenţă Sursa de confluenţă a trei sau mai multe variabile o constituie modelele componentelor. Confluenţele se produc când un tranzistor este saturat. În acest caz, schimbarea curentului în bază este controlată de acţiunea combinată a două joncţiuni: dvB,E - dvC,B Ţ diB (unde Ţ are semnificaţia =, adică schimbarea tensiunii produce schimbarea curentului). Dacă propagarea întâlneşte un impas în această confluenţă, se utilizează euristica de confluenţă, caracterizată de relaţia de tipul diB + diE Ţ diC , unde diB, diE sunt cunoscute. În această situaţie, propagarea continuă cu diC Ţ diB diC Ţ diE, ceea ce face ca una dintre entităţi diE sau diB să rămână necunoscute. Aceste trei euristici sunt utilizate pentru determinarea valorile variabilelor importante ale circuitului. În cazul euristicii de confluenţă a mai mult de două variabile, se determină una dintre ele, celelalte fiind considerate fără importanţă pentru analiza cauzală. 6.1.4. Analiza cauzală pentru amplificator La aplicarea semnalului de intrare a amplificatorului, se produce o scădere a tensiunii în emitor. Argumentul cauzal în urma scăderii tensiunii în emitor, care menţine tranzistorii în regiunea de funcţionare normală este:
aţionamentele euristice se pot aplica în orice moment al procesului de propagare. Aplicarea oricărui raţionament euristic este asociată cu o serie de presupuneri explicite, care sunt retrase când următorul conflict este întâlnit. În acest caz, când euristica KVL constată o tensiune în baza unui tranzistor, se comută la modelul tranzistorului cu tensiune VBE; în acest caz, raţionament euristic face presupunerea că efectul tensiunii în emitor este neglijabil în comparaţie cu cel al tensiunii în bază. Chiar şi în cazul că, ulterior, se constată că efectul tensiunii în emitor nu este neglijabil, în comparaţie cu cel a tensiunii în bază, propagarea raţionamentului iniţial nu se anulează. La propagarea unui semnal într-un circuit, se acumulează un număr mare de astfel de presupuneri; deşi din presupunerile referitoare la o variabilă se poate „compune” valoarea acesteia din raţionamente (justificări), este mai util să se continue propagarea presupunerilor, iar deducerea valorilor variabilelor este urmarea construirii uniunii presupunerilor tuturor antecedentelor propagării. Valoarea tripletă care se propagă este de forma: , unde valc poate avea valori (+, - , 0). (Propagarea constrângerilor este făcută folosind modelele componentelor, antecendetele şi consecinţele lor). 6.1.5. Analiza cauzală pentru funcţiuni - obiective Circuitul este proiectat cu scopul de a realiza funcţiuni specifice. În acest scop, circuitul proiectat trebuie să fie realizat cât mai simplu posibil, ceea ce presupune că fiecare component trebuie să contribuie „cel mai bine” la scopul final (funcţia de performanţă) sau astfel spus, proiectarea fiecărui component este legată de scopul final. Analiza cauzală furnizează metoda pentru analiza obiectivelor. Pentru fiecare component dintr-un circuit, modelul acestuia poate fi: cauzal, de tip reacţie sau de reflecţie [19], [28], [30]. Modelul cauzal pentru rezistenţă Legea de bază este dv = di care sugerează 2 modele cauzale pentru rezistenţă dv Ţ di di Ţ dv. Conform legilor KCL, relaţia care caracterizează modelul cauzal este di#1 = di#2 Astfel, rezistenţa poate converti un semnal de intrare într-un curent la terminalul #1 care este propagat la ieşire sau în curent la terminalul #2. Aceste consideraţii conduc la următoarele tipuri de modele pentru rezistenţă şi anume două tipuri de modele de conversie curent-tensiune, două tipuri de modele conversie tensiune-curent şi două tipuri de modele de propagare a curentului. Modelul cauzal pentru rezistenţă între nodurile #1 şi #2 este:
Conform legilor KVL, relaţia ce caracterizează modelul cauzal este dv#1,#2 = dv#1, #x + dv#x,#2; dacă #2 este nod terminal, dv#1,#x = 0; dacă #1 este nod terminal, dv#x, #2 = 0. Astfel, dacă euristica KVL se aplică unui component, terminalul conectat la nodul unde euristica KVL se aplică este considerat terminal intrare. Dacă curentul de ieşire a rezistenţei este un antecedent al euristicii KCL, ieşirea este o tensiune la terminal.
Modelul cauzal pentru tranzistor Aplicând legile KCL şi KVL în acelaşi mod, se poate deduce modelul tranzistorului:
Clasele şi parametrii acestora sunt:
Graful funcţiunilor
În exemplu următor, pentru un amplificator emitor comun, analiza conduce la explicitarea următoarelor situaţii: · Starea 1 (T1 BLOCAT) (T2 ACTIV) Valoarea dvC1,OUT este nedefinită Dacă dvC1,IEŞIRE = + Atunci T2 poate schimba starea la SAT pentru că dvC,B poate cădea sub pragul -vT Dacă dvE2,C1 = + Atunci T2 poate schimba starea la BLOCAT pentru că dvB,E poate cădea sub pragul vT Dacă dvIN,C1 = + Atunci T1 poate schimba starea la ACTIV pentru că dvC,B poate cădea sub pragul -vT Dacă dvIN = + Atunci T1 poate schimba starea la SAT pentru că dvB,E poate creste peste pragul vT · Starea 3 (T1 BLOCAT) (T2 BLOCAT) Dacă dvIN,C1 = + Atunci T1 poate schimba starea la ACTIV pentru că dvC,B poate cădea sub pragul -vT Dacă dvIN = + Atunci T1 poate schimba starea la ACTIV pentru că dvB,E poate creste peste pragul vT · Starea 2 (T1 ACTIV) (T2 ACTIV) Dacă dvC1,IEŞIRE = + Atunci T2 poate schimba starea la SAT pentru că dvC,B poate cădea sub pragul -vT Dacă dvE2,C1 = + Atunci T2 poate schimba starea la BLOCAT pentru că dvB,E poate cădea sub pragul vT Dacă dvIN,C1 = + Atunci T1 poate schimba starea la SAT pentru că dvC,B poate cădea sub pragul -vT · Starea 5 (T1 ACTIV) (T2 SAT) Dacă dvE2,C1 = + Atunci T2 poate schimba starea la ACTIV pentru că dvB,E poate cădea sub pragul vT Dacă dvIN,C1 = + Atunci T1 poate schimba starea la SAT pentru că dvC,B poate cădea sub pragul -vT Valoarea dvC1,IEŞIRE este ambiguă Dacă dvC1,IEŞIRE = - Atunci T2 poate schimba starea la ACTIV pentru că dvC,B poate creste peste pragul -vT · Starea 4 (T1 BLOCAT) (T2 SAT) Dacă dv E2,C1 = + Atunci T2 poate schimba starea la ACTIV pentru că dvB,E poate cădea sub pragul vT Dacă dvIN,C1 = + Atunci T2 poate schimba starea la ACTIV pentru că dvC,B poate cădea sub pragul -vT Dacă dvIN = + Atunci T1 poate schimba starea la ACTIV pentru că dvB,E poate creste peste pragul vT Cercetările curente în sisteme de Proiectare Asistată de Calculator Inteligente se referă la automatizarea viitoare a procesului de proiectare prin incorporarea mai largă a rolului proiectantului în sistem, ceea ce presupune un nivel mai ridicat de interacţiune între proiectant şi unealta de proiectare, algoritmi mai puternici de rezolvare a problemelor care să fie integraţi în sistem [72]. În acest sens, o problemă o constituie inteligenţa interfeţelor utilizator ce constă în creşterea înţelesului ????simbolurilor şi a comenzilor furnizate de acestea, precum şi în creşterea nivelului de interacţiune a sistemului cu proiectantul. Rezolvarea acestei probleme constă în utilizarea bazelor de cunoştinţe capabile să stimuleze luarea deciziilor complexe şi care prezintă facilităţi de autoexplicare a raţionamentului. Pentru a atinge aceste scopuri, sistemele de Proiectarea Inteligentă Asistată de Calculator trebuie să includă: · cunoştinţe specifice aplicaţiei, · asistarea proiectării, implementată atât numeric, cât şi simbolic, · baze de date şi cunoştinţe ce conţin date analitice, clase şi reguli specifice procesului de proiectare, precum şi interfeţe ce suportă facilităţi de simulare/optimizare orientate grafic. În acest model, studentul, viitor proiectant, introduce datele utilizând un sistem de intrare grafic. Acestea sunt transformate în model intern, conform necesităţilor de stocare şi de manipulare. Studentul poate evalua datele modelate vizual utilizând interfeţe de afişare şi software de aplicaţie pentru analiză. Spre deosebire de sistemele de Proiectare Asistată de Calculator convenţionale, în care analiza era numerică, iar interfeţele nu erau la nivelul aplicaţiei, ci numai la cel al reprezentării grafice, este necesar să fie evaluate calitativ aspecte ale proiectării, bazându-se pe experienţa şi pe expertiza existentă în proiectare. Studentul sau inginerul proiectant (începător) poate avea acces la o bibliotecă de proiecte, construită anterior de alţi proiectanţi, fapt ce poate scurta ciclul de reproiectare. Modelul de date relaţionale existente în sistemele de Proiectare Asistată de Calculator convenţionale nu sunt(se acordă cu modelul sau cu datele????) adecvate pentru reprezentarea ierarhică a proiectului. Modelul????? de date orientat pe obiect furnizează un mod natural de reprezentare a relaţiilor dintre obiecte ca întreg, abstractizare şi generalizare, aceste modele pot?????, de asemenea, să ajute la identificarea automată a proiectelor reutilizabile avînd un mod de organizare a bazei de date mult mai adecvat. Sistemele de Proiectare Asistată Inteligentă au caracteristici comune: abilitatea de a rezolva probleme în domenii bine definite şi înguste, explicarea rezultatelor şi a deciziilor, tehnici de reprezentare hibride (procedurale şi simbolice). Modelul conceptual pentru Sistemele de Proiectare Asistată de Calculator inteligente conţine: - componenta de planificare a proiectului - aceasta captează cunoştinţele despre procesul de proiectare, utilizându-le în ghidarea şi evaluarea activităţii de proiectare; - asistarea în proiectare de către cunoştinţele din baza de cunoştinţe - aceasta furnizează sprijin proiectantului pentru a rezolva probleme specifice de proiectare, cunoştinţele putând fi folosite în mod interactiv atât de componenta de planificare, cât şi de proiectant datorită modului de organizare; - interfaţa utilizator orientată spre aplicaţie cu rolul de a media interacţiunile utilizator-sistem - aceasta trebuie să maximizeze gradul de comunicare cu utilizatorul (prin ferestre multiple, meniuri arborescente); utilizatorul interacţionează cu componenta de planificare pentru a direcţiona procesul de proiectare sau pentru a evalua o procedură urmată de utilizator; acestea(cine???) interacţionează cu sistemul cu bază de cunoştinţe pentru a rezolva probleme specifice de proiectare. Toate componentele care interacţionează cu proiectantul prin intermediul interfeţei au facilităţi de autoexplicare. Ele permit utilizatorului să inspecteze procesul de raţionament şi să solicite instrucţiuni privind unele aspecte ale proiectării. Interfaţa utilizator include trăsături ca: facilităţi pentru proiectant în a-şi formula problema la nivelul cel mai înalt, ferestre controlate de utilizator, acces on-line la documentaţie. Interfaţa externă conţine obiecte (cunoştinţe) văzute în mod abstract. Modelul conceptual de cunoştinţe este reprezentat în??? nivelul ingineresc unde studentul realizează o interfaţă bazată pe obiecte, cunoştinţe şi manipulări ale inginerului de cunoştinţe. Problema nivelului de implementare este de a manipula eficient stocarea şi accesul la cunoştinţe pe care să le furnizeze apoi nivelurilor inginereşti.
6.2.1. Modelul Funcţiuni - Comportament – Structură (FCS) Raţionamentul de Construire a Obiectelor Complexe În mod virtual, toate modelele bazate pe obiect presupun că obiectele au o identitate proprie, indiferent de punctul de vedere din care este analizat circuitul, ceea ce permite utilizatorului să definească clase de obiecte complexe, caracterizate de relaţii de moştenire. Aceasta se realizează prin construirea unui graf în care relaţiile de moştenire, care se referă la atribute, relaţii, dependenţe funcţionale, constrângeri în cadrul unei clase de obiecte, sunt reprezentate prin ramuri în graf G (N,A), unde N reprezintă noduri în graf, iar A - Arce din graf [35]. Două tipuri de caracteristici referă constrângeri algoritmice (CA) şi dependenţe funcţionale (DF). În graf, fiecare clasă este reprezentată printr-un nod, iar proprietăţile acesteia sunt reprezentate prin arcele care o leagă de alte clase. Definirea unei clase este CLASA (prop), unde prop semnifică proprietăţile clasei curente şi ale claselor conexe şi este de forma (P1:C1; ... Pn:Cn) & SSC (SC reprezintă un subset al clasei de constrângeri algoritmice sau funcţionale). Fiecărei clase îi corespunde un tip de graf G (N,A), astfel încât clasa este definită CLASA (G). Proprietăţile, la rândul lor, aparţin unui domeniu de definiţie notat Dom (prop). O clasă oarecare C este definită C ' . O vedere funcţională (VF) în arborele G presupune compunerea ramurilor funcţionale, care referă un anumit obiectiv. Astfel, funcţiunile f sunt definite ca aparţinând grafului G şi domeniului de proprietăţi fi ' . O vedere funcţională este definită ca o mulţime de funcţiuni fi ' VF (G), unde f1 ' G (C) corespunzând diferitelor clase definite în graf. Dependenţele funcţionale (DF) sunt definite ca fiind o serie de grafuri corespunzătoare vederilor funcţionale. Unui tip de problemă i se asociază un anumit tip de graf denumit Graf-Schemă sau prescurtat Schema (S). Crearea modelului FCS (Funcţiuni - Comportament – Structură) pentru fiecare problemă constă în: · determinarea claselor CLASA (prop), a setului de constrângeri SSC; · transpunerea cunoştinţelor referitoare la clase şi constrângeri sub formă de Schema (S) (Funcţie - Comportament - Structură); · determinarea, pentru fiecare violare a constrângerilor, a subgrafului unde se produce violarea CLASA (G), P ' Dom (prop)}; · determinarea, pentru fiecare obiectiv, a subgrafului corespunzător CLASA (G), Dom (Ob)}. Modelarea Funcţională – Comportament - Structură (FCS) şi rolul acesteia în însuşirea metodelor de proiectare (deci şi raţionament) prin analogie În continuare, este prezentat un formalism pentru reprezentarea cunoştinţelor specifice procesului de proiectare conform modelului FCS, conform căilor din arborescenţa FCS. Experienţa proiectării, cunoştinţa cauzală şi justificările corespunzătoare sunt utilizate la construirea circuitului care descrie elementele unui proiect, incluzând relaţii de dependenţă între elemente, relaţii generice cauzale, precum şi tehnici pentru realizarea analogiilor. Pentru a suplini imposibilitatea reprezentării cunoştinţelor de natură dinamică şi a uniformiza reprezentarea pentru analogiile între domenii, această cercetare introduce în notaţia folosită pentru reprezentarea proiectului, cunoştinţa cauzală. Principiile de construire a modelului Funcţie - Comportament - Structură (FCS) Modelul FCS utilizează asociaţii între funcţie, comportament şi structură cu scopul de a găsi „arborescenţa” de realizare a obiectivelor care permit generalizarea metodelor de proiectare pentru clase de proiecte. Metodele referite în această lucrare se bazează pe reprezentarea cunoştinţelor folosind „arborescenţa” modelului FCS, respectiv cunoştinţele cauzale. Cunoştinţele cauzale, exprimate ca reguli în baza de cunoştinţe, constituie baza de raţionament utilizată ca metodă de proiectare prin analogie. Vom analiza, în continuare, principiile pe care se bazează modelarea FCS. Reprezentarea cunoştinţelor în modelul FCS În procesul de reprezentarea cunoştinţelor, se constată că proiectele au similarităţi superficiale, cum ar atributele componentelor (caracteristici) sau relaţiile structurale şi similarităţi de nivel mai înalt (relaţii), cum ar fi funcţia sau comportamentul. În timp ce funcţiunea specifică realizează circuitul proiectat, comportamentul descrie modul în care proiectul creează funcţiunea (proiectarea prin analogie presupune că proiectele sunt analoge dacă au funcţii sau comportamente similare, dar pot avea structuri diferite). Comportamentul corespunzător structurii unui circuit are o funcţie asociată şi furnizează o explicaţie cauzală a proiectării. Cunoştinţele cauzale Legăturile cauzale, existente între cunoştinţele din proiectare, sunt fie cu înalt nivel de abstractizare (cum ar fi funcţia sau comportamentul), fie cu nivel slab de abstractizare (cum ar fi structura cu atributele şi relaţiile ce o caracterizează), putând fi generalizate în modelul FCS. Astfel, din perspectiva procesului de proiectare, orice „nod al ierarhiilor” referit ca artefact (element, proces, atribut etc.) este proiectat în aşa fel încât să-şi atingă funcţionalitatea conform „arborescenţei” din modelul FCS, unde calea este de forma Funcţie ¬ Comportament ¬ Structură. Includerea funcţiei şi a comportamentului în descrierea proiectului şi a celor trei entităţi (funcţie, comportament, structură) în acest model defineşte aşa numita cunoştinţă cauzală a procesului de proiectare. Calea de la structură la comportament şi apoi la funcţie exprimă relaţia cauzală, pe care se bazează proiectul, adică referă cunoştinţa cauzală. Deşi comportamentul poate deriva dintr-o structură dată, „arborescenţa” FCS leagă entităţi în ambele direcţii (structură şi comportament). Astfel, comportamentul derivat din structură poate fi specificat prin legarea acestuia cu funcţiile corespunzătoare lui, eliminând necesitatea derivării unei aceleiaşi structuri de evaluat, de fiecare dată când trebuie „refăcut” proiectul. Acest comportament poate fi reţinut şi utilizat în mod eficient în vederea descrierii structurii şi funcţiilor asociate. Interpretarea modelului FCS este: (1) pentru o funcţie anumită, se stabileşte comportamentul care realizează funcţia şi structura ce produce comportamentul; (2) pentru o structură anumită, sunt aşteptate determinarea comportamentului şi funcţiei corespunzătoare în modelul FCS, deci, o ramură („arborescenţa”) din model. Experienţa de proiectare şi cunoştinţa cauzală aferentă, stocate în modelul FCS, permit studentului găsirea unor cazuri similare de proiecte, precum şi a unor raţionamentele aflate în spatele proiectului. Translatarea cunoştinţei cauzale a proiectării în formatul specific unei baze de cunoştinţe constituie elementul de bază al însuşirii metodelor de proiectare prin analogie. O funcţie poate fi asociată mai multor comportamente, iar un comportament la mai mult de o funcţie. În mod similar, un comportament poate fi derivat din mai mult de o structură. Ideea de bază a proiectării prin analogie este realizarea acestei mapări cu scopul de a găsi diferite descrieri de proiecte, adică, la aceeaşi funcţie sau comportament, structura circuitului poate fi diferită. Funcţia şi comportamentul sunt considerate modalităţi de regăsire prin analogie (chei de căutare indexată) pentru proiectele similare ca natură. Generalizarea cunoştinţelor de proiectare Definirea modelului FCS şi translatarea cunoştinţelor atât a celor specifice, cât şi a celor generale privind procesul de proiectare într-o bază de cunoştinţe reprezintă elementele de bază în însuşirea metodelor de raţionament prin analogie. Generalizarea cunoştinţelor de proiectare presupune abstractizarea multor experienţe de proiectare, pentru un proiect particular, cunoştinţele generalizate fiind instanţiate. Cunoştinţele de proiectare abstractizate conţin informaţii referitoare la funcţiuni, comportament şi structură (şi anume, cunoştinţele interdisciplinare şi generale din domeniul proiectării). Modelul FCS este definit astfel: Structura specifică elementele ce compun proiectul împreună cu atributele lor şi relaţiile dintre elemente. Existenţa fiecărui element individual şi relaţiile dintre ele contribuie în mod direct sau indirect la funcţionalitatea proiectului. Structura poate fi definită ca un graf S, similar celui prezentat mai sus, cu descrierea S = , unde semnificaţia variabilelor este: E – elemente, A – atribute, R – relaţii, P - procesări asupra elementelor sau atributelor, O - operaţii ce compun procesările.
Reprezentarea grafică a relaţiei proces proiectare - structură este: Graful Structură Proces Proiectare Proces 2 Proces 1 a1 r1 r3 a2 e2 r2 e3 Ţ operaţie 1 a3 operaţie 2 a9 e5 e4 a7 operaţie n a10
Figura 24. Mapare domeniu structura – proces proiectare unde: ei reprezintă element, funcţie, obiectiv, comportament, component, ai – atribut, ri - relaţii (prin s-a reprezentat relaţia detaşabilă; o relaţie între elemente poate fi fixă sau detaşabilă). Operaţiile ce reprezintă secvenţe ale procesului de proiectare sunt legate în flux (reprezentate prin săgeţi; către o operaţie există mai multe ramuri în funcţie de modul în care se realizează secvenţele de operaţii). Fluxul de informaţii dintre procesul real de proiectare şi graful aferent este reprezentat prin Ţ. Operaţia reprezintă un element activ, care primeşte informaţii de la elemente pasive şi produce acţiunea de control cea mai adecvată, care schimbă comportamentul structurii. Un proces este format dintr-o secvenţă de operaţii şi subprocese. Cum procesul este parte din descrierea proiectului, el poate fi referit cu termenul de structură_proces. De remarcat că o structură poate fi statică sau dinamică (în care elementele, atributele sau relaţiile pot fi modificate). · Comportamentul Reprezintă una din căile prin care semnificaţia structurii interferă cu proiectantul. Comportamentul poate fi generalizat în clase de interes şi anume, temporal subordonat constrângerilor, cauzat de efecte externe sau datorat relaţiilor calitative cauzale. Efectele externe pot fi definite ca fiind obiecte impuse într-un proiect, condiţii datorate unui mediu conex proiectului sau operaţii aplicate proiectului. Deşi efectele externe nu aparţin proiectului, ele afectează comportamentul [32]. Din punctul de vedere al procesului de proiectare, comportamentul poate fi folosit în formularea problemei, sintezei, evaluării şi a reformulării, aceasta conducând la definirea cerinţelor funcţionale şi jucând un rol important în legarea structurii de funcţiuni. Un exemplu de reprezentare a influenţelor structurii şi a efectelor externe asupra comportamentului modulului solar este:
1 0 + - 0 1
Figura 25. Mapare domeniu comportament - structura – efecte externe Formalismul care arată relaţiile calitative cauzale între structură şi comportament este: C (T) ¬ S cu semnificaţia variabilelor: - C – comportament, - T - tip comportament, - CC - starea comportamentului (variabila calitativă) - S – structură - SC - starea variabilei structură (variabila calitativă dinamică Vsd conform Operaţii). Variabilele calitativă de stare, discretă sau continuă, descriu o stare stabilă şi tendinţa de schimbare în termeni calitativi, cum ar fi creştere (+) sau descreştere (-) prin stări calitative distincte. Relaţiile calitative cauzale dintre diferite stări sau comportamente din proiect sunt reprezentate ca un graf de influenţe, ordonate cauzal, şi reprezintă legătura cauzală între structură şi comportament. Pentru un proiect cu m stări de tip structură şi n stări de tip comportament, unde starea tip structură m are efect direct asupra stării tip comportament 1, propagarea cauzală este de la structură la comportament. Aceasta este o propagare serie, exprimată ca:
unde C şi S reprezintă prescurtări de la forma C (T) şi S . Influenţele multiple structură - structură, structură - comportament şi comportament - comportament se reflectă în propagarea paralelă, de forma: C (Sm Sm-1 ... S1) sau C ( Cn Cn-1 ... C1 ) Combinând propagarea serie şi propagarea paralelă, structura şi comportamentele pot fi reprezentate ca nişte grafuri de comportament. Arcele din grafurile de structuri şi comportamentele aferente reprezintă legături cauzale şi dependenţele lor [30], [31], permiţând ataşarea pentru dependinţele dinamice din graf ale simbolurilor calitative. Modul de reprezentare a influenţelor structurii şi a obiectivelor (efecte externe) asupra comportamentului este: Comportament Structură Efecte externe
· Funcţia Reprezintă scopul unui artefact produs de o structură. Din cauza dificultăţilor de interpretare a limbajului natural, descrierea funcţiilor este exprimată în câteva cuvinte. Funcţia este utilizată pentru identificarea comportamentelor care o produc. Funcţia poate compusă reprezentând subfuncţii din mai multe domenii, fiind astfel o noţiune abstractă. F ¬ C, unde ¬ reprezintă direcţia cauzală. O funcţie este caracterizată prin două atribute şi anume, flux şi acţiune, cu instanţele fluxului de intrare sau ieşire, component sursă sau destinaţie, precum şi corespondenţa către funcţia de bază. Deci, modelul FCS poate fi privit ca fiind o reţea a dependinţelor funcţionale şi a relaţiilor cauzale dintre cele trei grafuri - funcţie, comportament şi structură - văzute ca nişte concepte separate. Deşi procesul de proiectare diferă de la un tip de circuit la altul, modul în care o structură sau substructură îşi realizează obiectivul sau funcţia prin comportament poate fi caracterizat şi clasificat, abstracţie făcându-se de domeniul sau de tipul proiectului. O funcţie poate fi realizată utilizând diferite tipuri de „căi” generalizate din modelul FCS sau diferite modele FCS şi anume: · tip I FCS, realizată prin comportament static (F ¬ Cs) - acest tip de funcţie este considerată ca fiind funcţie primitivă şi presupune realizarea funcţiei conform structurii; atât comportamentul, cât şi structura au natură statică; structura putând fi legată de efecte externe, fără însă a fi afectată de acestea; · tip II FCS, realizată prin comportament dinamic (F ¬ Cd) - acest tip de funcţie este considerată funcţie primitivă şi presupune atât comportament, cât şi structură cu natură dinamică. Structura dinamică este descrisă prin atribute şi relaţii care se pot schimba în urma acţiunii efectelor externe; în acest fel, un set de valori defineşte o stare calitativă distinctă a structurii şi a comportamentului şi, deci, produce o funcţie, determinată de starea calitativă a comportamentului; · tip III FCS, realizată datorită unui set de comportamente care se produc în acelaşi timp; · (F ¬ & ): în acest caz, proiectul compune „căile” primitive conjunctive FCS; sunt prezente simultan, comportamente statice şi dinamice sau o combinaţie a acestora; · tip IV FCS, realizată datorită unui set de comportamente care se produc în secvenţă; · (F ¬ (, )+): în acest caz, proiectul conţine funcţii depinzând de o secvenţă de stări ale comportamentului; funcţia depinde nu numai de secvenţa de stări ale comportamentului, ci de ordinea lor particulară şi de anumite stări cerute să se repete una după alta; repetarea stărilor comportamentului într-o anumită secvenţă permite să se producă aceleaşi stări ale comportamentului de mai multe ori, după ce această stare s-a schimbat. Astfel, reprezentarea unei funcţii poate fi descrisă: F ¬ Cs | Cd |(& )| (, )+ Astfel, orice proiect poate fi descris astfel: P = {F, C, S, Vsd, KP, KCNT, KC, KCC, KR, unde: - F - funcţie, C - comportament, S - structură, Vsd - variabila de stare dinamică, - KP - cunoştinţe procedurale, KCNT - cunoştinţe contextuale, - KC - cunoştinţe calitative, descriu efectul direcţional datorat unei schimbări, - KR - cunoştinţe relaţionale, care reprezintă dependenţa dintre funcţie, comportament şi structură, - KCC - cunoştinţe cauzale calitative, care însumează relaţiile cauzale dintre funcţie şi comportamentul calitativ şi dintre comportament şi structură. Cunoştinţele cauzale calitative se descriu folosind
expresiile: F ¬ Cs | Cd |(& )| (, )+ Cn ... C1 Sm ... S1 C (T) şi S C (Sm Sm-1 ... S1) C ( Cn Cn-1 ... C1 ) Acestea constituie elemente necesare construirii bazei de cunoştinţe. 6.2.2. Modelul de proiectare bazat pe analogie Procesul de proiectare, bazat pe analogie, este util pentru situaţiile în care o rutină de proiectare eşuează în a produce soluţia de proiectare şi constă în determinarea unui proiect analog cu cerinţe similare, care apoi să poată fi adaptat sau transformat pentru proiectul curent, asistat de cunoştinţele din domeniu, reprezentate sub formă de reguli euristice şi operatori de transformare. Informaţiile referitoare la adaptarea sau transformarea proiectului sursă sunt stocate împreună cu soluţia de proiectare pentru proiectul sursă. Procesul de proiectare este un proces de explorare diferit de un proces de căutare: în timp ce un proces de căutare localizează valorile variabilelor într-un spaţiu definit al stărilor, procesul de explorare propriu proiectării produce acest spaţiu definit al stărilor (spaţiul stărilor pentru un proiect este definit printr-un set de variabile şi procese, care operează într-un context limitat). Prin producerea spaţiului stărilor, se realizează fie crearea unui nou spaţiu al stărilor, fie modificarea unui spaţiu al stărilor existent. În timp ce procesul de proiectare utilizează analogia pentru căutarea soluţiei problemei, metoda propusă în cadrul acestei lucrări se ocupă de aspectul exploratoriu al acestei probleme. Procesul de proiectare se desfăşoară astfel: un proiect existent este studiat, sunt stabilite variabilele specifice proiectului existent, anume variabilele de tip funcţie, comportament, structură şi din acest spaţiu cunoscut al stărilor poate fi regăsit un proiect analog. Prin maparea proiectului existent curent şi a celui analog denumit proiect-sursă, informaţia utilă este transferată prin analogie la proiectul curent pentru modificarea spaţiului stărilor existent. Astfel, procesul de proiectare se bazează pe o soluţie existentă de proiectare, pentru o nouă problemă de proiectare, şi explorează soluţiile alternative pentru generarea unui proces de proiectare creativ. În acest sens, lucrarea de faţă propune o metodă pentru învăţarea sau predarea proiectării care utilizează analogiile între domenii, prototipul proiectului şi reprezentarea cunoştinţelor conduse de funcţie şi comportament. Generarea unui proces de proiectare creativ constă în două faze: · regăsirea conceptului de bază al unui proiect, şi · determinarea analogiilor, ceea ce presupune determinarea similarităţilor ca funcţie şi comportament precum şi a diferenţelor faţă de proiectul de bază. Funcţiile primare, asociate cu explicaţiile cauzale sau de comportament, precum şi cu trăsăturile deductive, sunt utilizate pentru determinarea proiectelor similare prin maparea între proiectul sursă şi cel rezultant (corespondenţele între caracteristici sunt transferate şi transformate între proiectul sursă şi cel rezultant ca un ghid al procesului de proiectare prin analogie). Modelul procesului de proiectare prin analogie utilizează: · caracteristicile utile, conform conceptului proiectului rezultant, şi modalităţile de regăsire, conform analogiilor între domenii; · adaptarea şi transformarea soluţiei sursă analoge este dirijată de maparea între sursă şi rezultat. Fiecare proiect prototip conţine cunoştinţe cauzale, care furnizează o platformă pentru explicarea modului în care proiectul existent îşi realizează funcţionalitatea şi se explorează spaţiul soluţie prin utilizarea conceptului de proiect rezultant, ceea ce măreşte probabilitatea de regăsire a analogiilor între domenii şi dirijează procesul de adaptare[72], [73], [74]. Modelul procesului de proiectare prin analogie este reprezentat în figura de mai jos: Regăsire Elaborare Evaluare
Cerinţe mapare Proiect concept Explorare
sursa Rezolvare
Figura 26. Mapare proiecte analoge Astfel, conceptul de proiect rezultant reprezintă un punct de început. Cerinţele de proiectare sunt descompuse conform conceptului FCS (Funcţie, Comportament şi Structură) sub forma unui nume de concept. Procesul de proiectare constă în două faze, şi anume: conceptul de regăsire şi regăsirea prin analogie. A. Procesul de regăsire a proiectului În această fază, este folosit numele conceptului pentru găsirea unui proiect existent şi deducerea variabilelor funcţie primară şi comportamentul asociat - acestea reprezintă, ulterior, cheia pentru determinarea analogiilor de proiectare. B. Determinarea analogiilor Se realizează utilizând ca intrări cerinţele de proiectare şi conceptul proiectului rezultant, accesate ca indexuri în graful analog. Conceptul de proiect rezultant este utilizat pentru a explica cum funcţionează un proiect existent. Funcţiile primitive şi comportamentele asociate pentru un proiect existent reprezintă, ulterior, cheia pentru determinarea analogiilor de proiectare în diferite domenii (deşi, cazul cel mai frecvent este acela al analogiilor în acelaşi domeniu, este importantă determinarea analogiilor în diferite domenii precum şi a legăturilor între domenii). C. Procesul de elaborare a analogiilor Ca o parte a procesului de explorare, maparea este utilizată pentru a identifica corespondenţele între sursă şi rezultat, în timp ce transferarea analogiei prin procesul de inferenţă arată ce anume poate fi folosit din proiectul sursă. Scopul acestei metode, de proiectare bazată pe analogie, este de a găsi structurile şi efectele externe de mapare, ca variabile de proiectare, folosind proceduri de „potrivire” (pattern-matching) pentru funcţii şi comportament, ceea ce presupune că 2 variabile de tip funcţie sau comportament sau chiar 2 grafuri - comportament sunt identice la nivel abstract [16], [22]. Maparea propriu-zisă are semnificaţia că două variabile de structură au asociate aceleaşi funcţii sau comportamente.
proiect rezultat Ţ Funcţii Comportament Structură Procesul de mapare constă în identificarea elementelor componente de tip structură în ierarhia de tip FCS, care conţine cunoştinţe calitative cauzale, şi construirea unei liste de corespondenţe privind structura [44], [48]. Maparea se realizează la diferite niveluri şi anume, la nivel individual (elementele, atributele, relaţiile si procesele caracteristice) sau la nivel de grup (comportament sau structură). Regulile de mapare pot fi rezumate astfel: · variabile de tip atribut se mapează la variabile de tip atribut; · variabile de tip atribut se mapează la variabile de tip relaţie; · variabile de tip relaţie se mapează la variabile de tip relaţie; · structuri statice se mapează pe structuri statice; · structuri dinamice se mapează pe structuri dinamice; · variabile de tip proces se mapează pe variabile de tip proces. Funcţie Comportament Structură încarcăB încarcăM clapă încarcăB Reglează Amplifică bobină baterie clapă conector producereT magnetizare conectare magnetizare sună amplificare dioda baterie modul_solar amplificare acumulare
redresare conectare
încărcare_bat ·
· sonerie
Figura 27. Exemplu de mapare pentru sursa fotovoltaică şi sonerie În continuare, sunt prezentate schema de principiu care stă la baza integrării în sistemele de Proiectare Asistată de Calculator, modelul FCS (Funcţie - Comportament - Structură) şi baza de cunoştinţe pentru o proiectarea unei surse fotovoltaice.
- structuri/ funcţiuni/ atribute/ proceduri Baza de - vizualizări fisiere/ierarhii date PAC
Modul de achiziţie cunoştinţe Aplicaţii analitice - Dialog expert identificare - analiza circuitelor nelineare - simulare comportament, - material, .incidente ... ierarhii funcţiuni legături
caracteristici Model Proiect
creare/ editare reguli pentru model
Modelorul FCS Manager de model - Stabilire reguli Mapare / Traversare ierarhie
Modul de construire a bazei de cunoştinţe Baza (reguli, obiecte, metacunoştinţe) Cunoştinţe
Modul de inferenţă - recomandări cf. „obiectivelor”
Figura 28. Schema de principiu pentru construirea modelului FCS Rezumatul părţii a II-a Partea a II a cuprinde definiţiile, conceptele de bază, principalele caracteristici şi problemele specifice sistemelor inteligente de proiectare asistată (sisteme care utilizează elemente de inteligenţă artificială). Având ca principal scop modelarea procesului ingineresc în partea a II a sunt descrise principiile ingineriei de cunoştinţe (utilizată pentru înzestrarea sistemelor cu funcţii inteligente, cum ar fi modelarea cauzală, raţionamentul prin analogie). Astfel, pornind de la topologia circuitului, se construieşte modelul proiectului utilizând analiza cauzală calitativă şi raţionamentul cauzal. Capitolul destinat Modelării cauzale descrie principiile analizei cauzale, adică modul în care comportamentul componentelor individuale pot fi combinate pentru a explica comportamentul sistemului compus, explicitat prin stare, specificaţii, confluenţe. Capitolul destinat Modelelor conceptuale conţine definirea generală a modelării bazată???? pe determinarea comportamentului componentei pentru o stare dată (prin rezolvarea setului de confluenţe) sau a comportamentului tranziţiei de la o stare la alta. S-au analizat două tipuri de modele: - Modele structurale care constau în descrierea comportamentului prin atribute, deci printr-un un set de entităţi: Modelul Funcţiuni - Comportament – Structură se caracterizează prin reprezentarea cunoştinţelor, utilizând ierarhia cauzală pentru descrierea structurii, funcţiunilor şi comportamentului aferente, precum şi procesarea acestora pentru determinarea „viewpointului” prin maparea structurii pe comportament; - Modelul bazat pe analogie constă în regăsirea conceptului de bază al unui proiect şi determinarea analogiilor, ceea ce presupune determinarea similarităţilor ca funcţie şi comportament, precum şi a diferenţelor faţă de proiectul de bază; funcţiile primare, asociate cu explicaţiile cauzale sau de comportament, precum şi cu trăsăturile deductive sunt utilizate pentru determinarea proiectelor similare prin maparea între proiectul sursă şi cel rezultant; realizarea modelelor prezentate anterior presupune utilizarea bazelor de cunoştinţe pentru detalierea modelului funcţiuni – comportament - structură.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||