UNIVERSITATEA TEHNICĂ GH. ASACHI IAŞI FACULTATEA DE AUTOMATICĂ ŞI CALCULATOARE. Algoritmi genetici. Inteligenţă artificială - referat -
|
|
- Παρασκευή Αγγελίδης
- 7 χρόνια πριν
- Προβολές:
Transcript
1 UNIVERSITATEA TEHNICĂ GH. ASACHI IAŞI FACULTATEA DE AUTOMATICĂ ŞI CALCULATOARE Algoritmi genetici Inteligenţă artificială - referat - Chelariu Angela, Topolniceanu Irina, Dumitru Alin /2003 -
2 ALGORITMI GENETICI 1.Introducere. 1.1Calcul evolutiv 1.2. Operatori genetici - calculul evolutiv 2. Algoritmi genetici paradigme ale calculului evolutiv 2.2 Atribuirea fitness-ului 2.3 Structura unui algoritm genetic 2.4 Selecţia 2.5 Operatorii genetici 3. Strategii evolutive 3.1 Programare evolutivă 3.2 Programarea genetică 3.3 Concluzii şi sfaturi practice 4. Bibliografie
3 ALGORITMI GENETICI 1.Introducere. 1.1Calcul evolutiv În general, orice sarcină abstractă care trebuie îndeplinită, poate fi privită ca fiind rezolvarea unei probleme, care, la rândul ei, poate fi percepută ca o căutare în spaţiul soluţiilor potenţiale. Deoarece, de obicei, căutăm cea mai bună soluţie, putem privi acest proces ca fiind unul de optimizare. Pentru spaţii mici, metodele clasice exhaustive sunt suficiente; pentru spaţii mari, pot fi folosite tehnicile speciale ale inteligenţei artificiale. Metodele calculului evolutiv se numără printre aceste tehnici; ele folosesc algoritmi ale căror metode de căutare au ca model câteva fenomene naturale: moştenirea genetică şi lupta pentru supravieţuire. Cele mai cunoscute tehnici din clasa calculului evolutiv sunt algoritmii genetici, strategiile evolutive, programarea genetică şi programarea evolutivă. Există şi alte sisteme hibride care încorporează diferite proprietăţi ale paradigmelor de mai sus; mai mult, structura oricărui algoritm de calcul evolutiv este, în mare măsură, aceeaşi. În ultimii 30 de ani, s-a manifestat un mare interes în rezolvarea problemelor de sistem bazate pe principiile evoluţiei şi ereditatii. Astfel de sisteme menţin o populaţie de soluţii potenţiale, ele au unele procese de selecţie bazate pe fitness individual, şi caţiva operatori genetici. Un astfel de sistem este o clasa a evoluţiei strategice i.e, algoritmi care imita principiile evoluţiei naturale pentru problemele de optimizare de parametru(rechemberg, Schwefel). Evoluţia programarii lui Fogel este o tehnica de cautare intr-un spaţiu finit, mic de maşini. Tehnologiile de cautare a maşinii lui Glover Scatter menţin o populaţie de puncte de referinţă, generand o stare speciala prin greutatea combinaţiilor liniare. Alte tipuri de sisteme evoluţionare sunt Holland s Genetic Algorithms. În 1990 Koza a propus un astfel de sistem evoluţional, genetic programming, pentru a cauta cel mai potrivit program de computer sa rezolve o problema particulara.folosind un termen comun E.P pentru toate sistemele(incluzând sistemele descrise mai sus). Structura evoluţiei programului este aratat in figura 1. procedura algoritm_evolutiv t 0 creare P(t) evaluare P(t) cât timp nu condiţia de terminare t t + 1 selectare P(t) din P(t-1) modificare P(t) evaluare P(t) sfârşit cât timp sfârşit procedura -figura 1-
4 În cele ce urmează vom explica algoritmul general propus mai sus. Evoluţia programului este un algoritm probabilistic ce contine elemente distincte, P(t)={x1t, x2t,...xnt}. Algoritmii evolutivi menţin o populaţie de indivizi la fiecare iteraţie t. O populaţie poate fi privită ca fiind un vector de valori. Fiecare element distinct reprezinta o solutie potenţiala a problemei in cauza si in orice program, este interpretat ca S structura de date. Fiecare solutie x1t, x2t,.., xnt este evaluata pentru a da o oarecare masura a fetness-ului sau. Fiecare individ (element al vectorului) reprezintă o soluţie potenţială a problemei şi este implementată sub forma unei structuri de date S. Un individ este uneori numit şi cromozom. Fiecare soluţie este evaluată ca fiind o măsură a "fitness-ului" său (speranţei de viaţă). Acest fitness reprezintă calitatea individului. De obicei, cu cât individul este mai promiţător, cu atât fitness-ul său este mai mare. Există unele probleme în cazul cărora fitness-ul trebuie să fie minimizat. O nouă populaţie (iteraţia t + 1) se formează prin selectarea mai multor potriviri individuale, alegând cei mai promiţători indivizi (pasul de selecţie) din populaţia curentă. O parte din membri populaţiei nou formate suferă transformări (pasul de modificare) prin operarea genetica a noilor solutii. Vorbim despre o transformare unica e evoluţiei programului Operatori genetici - calculul evolutiv Operatorii genetici sunt, de fapt, proceduri care operează asupra elementelor vectorului populaţie. Există doi operatori genetici principali: un operator unar mi de transformare numit mutaţie, care creează un nou individ printr-o mică modificare a unui individ ales (mi: S S); un operator mai puternic cj numit încrucişare, care creează noi indivizi combinând părţi din doi sau mai mulţi indivizi (cj: S... S S) (de cele mai multe ori se folosesc doi părinţi). După un anumit număr de generaţii algoritmul converge: se speră că cel mai promiţător individ ajunge la o valoare cât mai apropiată de soluţia optimă. În ciuda similarităţilor puternice între diferitele tehnici de calcul evolutiv, există şi multe diferenţe. Acestea sunt date, în principal, de structurile de date folosite pentru a reprezenta un individ şi de ordinea în care se aplică operatorii genetici. De exemplu, cele două linii din algoritmul de mai sus: selectare P(t) din P(t-1) modificare P(t) pot apărea în ordine inversă: (în strategiile evolutive, întâi se modifică populaţia şi apoi este formată o nouă populaţie prin procesul de selecţie, in timp ce într-un algoritm genetic întâi se aplică selecţia, iar apoi intră în acţiune operatorii genetici de transformare). Decembrie Există, de asemenea, şi alte diferenţe între metode. Una dintre acestea ar fi cea referitoare la metodele de selecţie care includ: selecţia proporţională, unde şansa (probabilitatea) ca un individ să fie selectat este proporţională cu fitness-ul lui; metoda rangului, în care toţi indivizii din populaţie sunt sortaţi în funcţie de fitness, iar probabilitatea (şansa) ca ei să fie selectaţi este fixată de întreg procesul de evoluţie
5 (de exemplu, probabilitatea de selecţie a celui mai promiţător individ este 0.15, a individului următor este 0.14, etc.; cel mai promiţător individ are cea mai mare probabilitate şi suma totală a probabilităţilor indivizilor este1); selecţia prin turnir (prin concurs) unde un anumit număr de indivizi (de obicei doi) luptă pentru a fi selectaţi în noua generaţie. Această competiţie (turnir) este repetată până sunt selectaţi un număr de indivizi egal cu dimensiunea populaţiei. Pentru fiecare dintre aceste categorii de selecţie există şi alte detalii importante. Câteva exemple sunt: selecţia proporţională poate necesita folosirea unor metode de trunchiere; există diferite moduri pentru stabilirea probabilităţii în metoda rangului; dimensiunea mulţimii alese pentru concurs poate juca un rol semnificativ în metoda selecţiei prin turnir. Trecerea de la o generaţie la alta poate fi efectuată în două variante: algoritm generaţional (noua populaţie este formată doar din descendenţi ai vechii generaţii); algoritm non-generaţional (în noua populaţie sunt introduşi, de obicei, cei mai promiţători indivizi din cele două populaţii, cea a părinţilor şi cea a descendenţilor). Este posibil, de asemenea, să creăm puţini (în particular, unul singur) descendenţi, care înlocuiesc câţiva (cei mai puţin promiţători) indivizi. Ca o regulă generală trebuie reţinut faptul că, în majoritatea cazurilor, este de preferat să se utilizeze un model elitist, care păstrează cei mai promiţători indivizi dintr-o generaţie şi îi adaugă automat generaţiei următoare (aceasta înseamnă că, dacă cel mai promiţător individ din generaţia curentă este pierdut datorită selecţiei sau operatorilor genetici, sistemul forţează apariţia lui într-o generaţie următoare). Un astfel de model este foarte folositor pentru rezolvarea multor probleme de optimizare. Totuşi, structurile de date folosite pentru probleme particulare, împreună cu o mulţime de operatori genetici, constituie componenta esenţială a oricărui algoritm evolutiv. Acestea sunt elementele cheie care ne permit să distingem între variatele paradigme ale metodelor evolutive. 2. Algoritmi genetici paradigme ale calculului evolutiv Exista o mare clasa a problemelor interesante pentru care inca nu au fost dezvoltati algoritmi rapizi. Multe dintre acestea sunt probleme sunt probleme optimizate care intervin frecvent in aplicatii. Dandu-se o problema prost optimizata este posibil mereu sa gasim un algoritm eficient a carui soluţie este aproximativ optimala. Pentru unele probleme prost optimizate putem folosi algoritmi probabilistici acesti algoritmi nu garanteaza valoarea optima, dar prin alegeri aleatoare, suficient de multe slabiciuni a erorilor pot fi facute astfel încat sa putem trece peste ele. Exista multe probleme importante practic optimizate pentru care asemenea algoritmi, de o înalta calitate, devenind disponibili. În orice caz putem aplica simultan rularea mai multe fire de execuţie si competenta amplasarii problemelor VLSI design pentru problemele gen agent comercial. In plus multe alte probleme apartinand unei game largi de probleme optimizate combinatorial pot fi rezolvate aproximativ în ziua de astazi prin computer de genul tehnicilor Monte Carlo. În general, orice proces abstract pentru a fi îndeplinit poate fi gândit ca o rezolvare a problemei, care,in schimb, poate fi perceputa ca o cautare prin spatiul solutiilor potentiale. Cum suntem in cautarea celei mai bune solutii, putem privi aceasta sarcina ca un proces optimizat. Pentru spatiile mici, metodele clasice executive sunt suficiente; pentru spaţiile largi tehnica speciala a inteligenţei artificiale trebuie sa fie luata in vedere. Algoritmii genetici sunt printre aceste tehnici; ei sunt algoritmi
6 stohastici a caror metode de cautare modeleaza unele fenomene naturale. Ideea in spatele algoritmilor genetici este de a face ceea ce natura face. Începuturile algoritmilor genetici se situează undeva în jurul anului 1950, când mai mulţi biologi au folosit calculatoarele pentru simularea sistemelor biologice. Rezultatele muncii au început să apară după 1960, când la Universitatea din Michigan, sub directa îndrumare a lui John Holland, algoritmii genetici au apărut în forma în care sunt cunoscuţi astăzi. După cum sugerează şi numele, algoritmii genetici folosesc principii din genetica naturală. Câteva principii fundamentale ale geneticii sunt împrumutate şi folosite artificial pentru a construi algoritmi de căutare care sunt robuşti şi cer informaţii minime despre problemă. Algoritmii genetici au fost inventaţi folosind modelul procesului de adaptare. Ei operează, în principal, cu şiruri binare şi folosesc un operator de recombinare şi unul de mutaţie. Prin mutaţie se schimbă un element (genă) dintr-un cromozom, iar prin încrucişare se schimbă material genetic între doi părinţi; dacă părinţii sunt reprezentaţi prin şiruri de cinci biţi, de exemplu (0, 0, 0, 0, 0) şi (1, 1, 1, 1, 1), încrucişarea celor doi vectori poate duce la obţinerea descendenţilor (0, 0, 1, 1, 1) şi (1, 1, 0, 0, 0) (acesta este un exemplu al aşa-numitei încrucişări cu un punct de tăietură). Fitness-ul unui individ este atribuit proporţional cu valoarea funcţiei criteriu corespunzătoare individului; indivizii sunt selectaţi pentru generaţia următoare pe baza fitness-ului lor. Vom ilustra modul de lucru al algoritmilor genetici cu ajutorul unei probleme simple: proiectarea unei cutii de conserve. Considerăm o cutie de conserve cilindrică, cu numai doi parametri: diametrul d şi înălţimea h (evident, pot fi consideraţi şi alţi parametri, cum ar fi grosimea, proprietăţi ale materialului, forma, dar sunt suficienţi doar cei doi parametri pentru a ilustra lucrul cu algoritmii genetici). Să considerăm că această conservă trebuie să aibă un volum de cel puţin 300 ml şi obiectivul proiectului este de a minimiza costul materialului folosit la fabricarea conservei. Putem formula problema noastră astfel: să se minimizeze valoarea funcţiei unde c reprezintă costul materialului conservei per cm2, iar expresia din paranteză reprezintă suprafaţa conservei. Funcţia f se mai numeşte şi funcţie criteriu (sau funcţie obiectiv). Mai trebuie îndeplinită şi condiţia ca volumul cutiei să fie cel puţin 300 ml şi vom formula aceasta astfel: Parametrii d şi h pot varia între anumite limite: dmin d dmax şi hmin h hmax. Reprezentarea soluţiei Primul pas în utilizarea unui algoritm genetic este stabilirea unei codificări a problemei. Codificarea binară este cea mai obişnuită dintre tehnicile de codificare; ea este simplu de manipulat şi conferă robusteţe problemei. Reprezentarea binară poate codifica aproape orice situaţie, iar operatorii nu includ cunoştinţe despre domeniul problemei. Este motivul pentru care un algoritm genetic se poate aplica unor probleme
7 foarte diferite. În cazul codificării binare, fiecare valoare se reprezintă printr-un şir de lungime specificată care conţine valorile 0 şi 1. În anumite situaţii este necesar să utilizăm codificarea "naturală" a problemei, în locul reprezentării binare. Un exemplu de codificare naturală ar fi codificarea reală, care utilizează numere reale pentru reprezentare. Pentru a folosi algoritmii genetici la găsirea unor valori optime pentru parametri d şi h, care să satisfacă condiţia prezentată sub forma funcţiei g şi care să minimizeze funcţia f, vom avea în primul rând nevoie de reprezentarea valorilor parametrilor în şiruri binare (vom folosi, aşadar, o codificare binară a problemei).. Algoritmii genetici nu ne impun numai valori întregi dintr-un anumit inteval; în general, putem folosi orice altă valoare întreagă sau reală, prin schimbarea lungimii şirului binar 2.2 Atribuirea fitness-ului Am afirmat anterior că algoritmii genetici lucrează cu şiruri de biţi reprezentând valorile parametrilor şi nu cu parametrii înşişi. După ce a fost creat un nou şir (o nouă soluţie) prin operatori genetici, trebuie să-l evaluăm. În majoritatea cazurilor, fitness-ul este chiar valoarea funcţiei criteriu pentru soluţia respectivă. Dacă obiectivul nostru este de a minimiza funcţia criteriu, atunci vom spune că o soluţie este mai bună decât alta, dacă fitness-ul celei de-a doua este mai mare. 2.3 Structura unui algoritm genetic Vom descrie în continuare structura algoritmilor genetici. Pentru început vom stabili următoarele: cromozomii utilizaţi au lungime constantă; populaţia (generaţia) P(t + 1) de la momentul t + 1 se obţine reţinând toţi descendenţii populaţiei P(t) şi ştergând ulterior cromozomii generaţiei precedente (P(t)); numărul cromozomilor este constant. Putem prezenta acum structura algoritmului genetic fundamental: Pasul 1: t 0. Pasul 2: Se iniţializează aleator populaţia P(t). Pasul 3: Se evaluează cromozomii populaţiei P(t). În acest scop se utilizează o funcţie de performanţă ce depinde de problemă. Pasul 4: Cât timp nu este Óndeplinită condiţia de terminare se execută paşii următori: Pasul 4.1: Se selectează cromozomii din P(t) care vor contribui la formarea noii generaţii. Fie P1 mulţimea cromozomilor selectaţi (P1 reprezintă o populaţie intermediară). Pasul 4.2: Se aplică cromozomilor din P1 operatorii genetici. Cei mai utilizaţi sunt operatorii de mutaţie şi încrucişare. În funcţie de problemă se pot alege şi alţi operatori (inversiune, reordonare, operatori speciali). Fie P2 populaţia astfel obţinută (descendenţii populaţiei P(t)). Se şterg din P1 părinţii descendenţilor obţinuţi. Cromozomii rămaşi în P1 sunt incluşi în populaţia P2. Se construieşte noua generaţie, astfel: P(t + 1) P2; se şterg toţi cromozomii din P(t); se execută atribuirea t t + 1; se evaluează P(t). Condiţia de terminare se referă, de regulă, la atingerea numărului de generaţii specificate. Dacă numărul maxim admis de generaţii este N, atunci condiţia de oprire este t > N. Se admite că rezultatul algoritmului este dat de cel mai promiţător individ din ultima generaţie. În realitate, nimic nu ne garantează că un individ mai performant nu a fost obţinut într-o generaţie anterioară. De aceea, este
8 normal ca la fiecare pas (la fiecare generaţie t) să reţinem cel mai promiţător individ care a fost generat până atunci. Acest proces se numeşte elitism. 2.4 Selecţia Un rol important în cadrul unui algoritm genetic îl ocupă operatorul de selecţie. Acest operator decide care dintre indivizii unei populaţii vor putea participa la formarea populaţiei următoare. Scopul selecţiei este de a asigura mai multe şanse de reproducere celor mai performanţi indivizi dintr-o populaţie dată. Prin selecţie se urmăreşte maximizarea performanţei indivizilor. În continuare vom prezenta succint cele mai importante mecanisme de selecţie. Selecţia proporţională În cazul selecţiei proporţionale, probabilitatea de selecţie a unui individ depinde de valoarea performanţei acestuia. Să presupunem că avem o mulţime de cromozomi x1, x2, Ö, xn. Pentru fiecare cromozom xi vom calcula performanţa sa f(xi). Se impune condiţia ca f(xi) 0. Suma performanţelor tuturor cromozomilor din populaţie va constitui performanţa totală şi o vom nota cu F. Probabilitatea de selecţie pi a cromozomului xi este dată de relaţia: Selecţia bazată pe ordonare Această modalitate de selecţie constă în a calcula (pentru fiecare generaţie) valorile funcţiei de fitness şi de a aranja indivizii în ordinea descrescătoare a acestor valori. Se va atribui fiecărui individ i o probabilitate de selecţie pi care depinde de rangul său în şirul stabilit. Probabilităţile depind acum doar de poziţia cromozomului. Cel mai promiţător individ are probabilitatea 1. Selecţia prin concurs Selecţia prin concurs sau selecţia turnir se bazează pe compararea directă a câte doi cromozomi şi selectarea celui mai performant. Operaţiile implicate sunt următoarele: se aleg în mod aleator doi cromozomi; se calculează performanţele cromozomilor selectaţi; cromozomul mai performant este selectat (copiat în populaţia intermediară asupra căreia se aplică operatorii genetici). Alte mecanisme de selecţie Un alt tip de selecţie este selecţia elitistă. În acest caz, la fiecare generaţie se păstrează cel mai promiţător sau cei mai promiţători indivizi. O altă idee ar fi ca, la fiecare generaţie, să fie înlocuită doar o parte restrânsă a populaţiei. 2.5 Operatorii genetici Descriem în continuare operatorii genetici folosiţi, de obicei, într-un algoritm genetic.
9 Operatorul de reproducere Rolul operatorului de reproducere este de a menţine soluţiile promiţătoare din populaţie şi de a le elimina pe cele mai puţin promiţătoare, păstrând constantă dimensiunea populaţiei. Aceasta se realizează astfel: se identifică soluţiile promiţătoare din populaţie; se creează mai multe copii ale soluţiilor promiţătoare; se elimină soluţiile mai puţin promiţătoare din populaţie astfel încât multiplele copii ale soluţiilor promiţătoare să poată fi plasate în populaţie. Există mai multe moduri de a realiza acest lucru. Cele mai uzuale metode sunt selecţia proporţională, selecţia prin turnir şi selecţia prin ordonare.este uşor de observat că soluţiile promiţătoare au mai mult de o copie în populaţia intermediară Operatorul de încrucişare Operatorul de încrucişare este aplicat asupra indivizilor din populaţia intermediară. În exemplul nostru, va fi aplicat asupra reprezentării binare a celor şase elemente pe care le avem în populaţia intermediară. Operatorul de încrucişare acţionează în felul următor: sunt aleşi aleator doi indivizi din populaţia intermediară (care se mai numeşte şi piscină de încrucişare) şi anumite porţiuni din cei doi indivizi sunt interschimbate. Operatorul imită încrucişarea intercromozomială naturală. De regulă, se utilizează operatori de încrucişare de tipul (2, 2), adică doi părinţi dau naştere la doi descendenţi. Încrucişarea realizează un schimb de informaţie între cei doi părinţi. Descendenţii obţinuţi prin încrucişare vor avea caracteristici ale ambilor părinţi. Dată fiind importanţa majoră a încrucişării, au fost propuse mai multe modele de încrucişare. Vom enumera aici câteva dintre cele utilizate atunci când se foloseşte codificarea binară. Încrucişarea cu un punct de tăietură Fie r lungimea cromozomilor. Un punct de tăietură este un număr întreg k {1, 2,..., r - 1}. Numărul k indică poziţia din interiorul cromozomului unde secvenţa cromozomială se rupe pentru ca segmentele obţinute să se recombine cu alte segmente provenite de la alţi cromozomi. Considerăm doi cromozomi: x = x1x2...xkxk+1...xr şi y = y1y2...ykyk+1...yr. În urma recombinării se schimbă între cei doi cromozomi secvenţele aflate în dreapta punctului de tăietură k. Cromozomii fii vor fi: x' = x1x2...xkyk+1...yr şi y' = y1y2...ykxk+1...xr.
10 De exemplu, dacă avem o reprezentare mai sugestivă a celor doi cromozomi: descendenţii vor fi: Încrucişarea cu mai multe puncte de tăietură În cazul utilizării mai multor puncte de tăietură, segmentele obţinute se combină după o regulă dată. Considerăm încrucişarea cu două puncte de tăietură. Acest tip de încrucişare se realizează conform schemei de mai jos. Din cromozomii: vor rezulta doi descendenţi de tipul: În cazul a trei puncte de tăietură, descendenţii vor fi de forma : Revenind la exemplul nostru, vom considera încrucişarea cu un singur punct de tăietură. De exemplu, din încrucişarea a două soluţii reprezentate prin cutia care are fitness-ul 23, h = 8 şi d = 10, respectiv cutia cu fitness-ul 26, h = 14 şi d = 6, vor rezulta doi descendenţi care vor avea fitness-ul 22, h = 10 şi d = 6, respectiv fitness-ul 38, h = 12 şi d = 10 după modelul de mai jos:
11 Trebuie reţinut faptul că încrucişarea nu generează descendenţi aleatori. Deşi este improbabil ca fiecare încrucişare între două soluţii din populaţie să genereze soluţii fii mai promiţătoare decât soluţiile părinte, totuşi în scurt timp devine clar că şansa de a crea soluţii mai promiţătoare este mai mare decât în cazul căutării aleatoare. Din încrucişarea cu un singur punct de tăietură a unei perechi de şiruri binare, se pot crea doar două şiruri pereche diferite care vor avea în componenţă biţi combinaţi din ambii părinţi; soluţiile fiu create sunt, probabil, şiruri cel puţin la fel de promiţătoare. Prin urmare, nu fiecare încrucişare poate crea soluţii la fel de promiţătoare, dar nu vor fi mai puţin promiţătoare decât părinţii. Dacă a fost obţinută o soluţie mai puţin promiţătoare, atunci aceasta nu va mai apărea când se va aplica următorul operator de reproducere şi astfel va avea o viaţă scurtă. Dacă este creată o soluţie mai promiţătoare, atunci este probabil ca ea să aibă mai multe copii la următoarea aplicare a operatorului de reproducere. Pentru a păstra o astfel de selecţie a şirurilor promiţătoare în timpul aplicării operatorului de reproducere, nu toate şirurile din populaţie sunt folosite pentru încrucişare. Operatorul de mutaţie Operatorul de încrucişare este, în principal, responsabil cu aspectul de căutare al algoritmilor genetici, în timp ce operatorul de mutaţie este folosit pentru alte scopuri. Mutaţia este cel de-al doilea operator genetic în ordinea importanţei şi folosirii sale. Efectul acestui operator este schimbarea valorii unei singure poziţii dintr-un cromozom. Prin mutaţie se introduc în populaţie indivizi care nu ar fi putut fi obţinuţi prin alte mecanisme. Operatorul de mutaţie acţionează asupra biţilor indiferent de poziţia lor în cromozom. Fiecare bit al cromozomului poate suferi o mutaţie. Într-un cromozom pot exista, aşadar, mai multe poziţii care suferă o mutaţie. Mutaţia este un operator probabilist (adică nu se aplică cu siguranţă). Considerăm o populaţie de n indivizi (cromozomi), fiecare având lungimea r. Fiecare bit are aceeaşi probabilitate pm de a suferi mutaţia. Există mai multe variante ale operatorului de mutaţie. Una dintre ele ar fi mutaţia în forma tare. În această situaţie se procedează în felul următor: se generează un număr aleator q în intervalul [0, 1). Dacă q < pm, atunci se execută mutaţia poziţiei respective schimbând 0 în 1 sau 1 în 0. În caz contrar, poziţia respectivă nu se schimbă. Revenind la exemplul nostru, dacă aplicăm operatorul de mutaţie unei soluţii obţinute în urma procesului de încruci şare, şi anume soluţiei care are fitness-ul 22, vom obţine o altă soluţie care va avea fitness-ul 16. Soluţia obţinută este mai promiţătoare decât soluţia originală. În consecinţă, operatorul de reproducere selectează cele mai promiţătoare şiruri, operatorul de încrucişare combină subşiruri din două şiruri promiţătoare pentru a forma şiruri mai promiţătoare, iar operatorul de mutaţie schimbă şirurile local, de asemenea, pentru a îmbunătăţi soluţia. 3. Strategii evolutive Strategiile evolutive au fost dezvoltate ca metode de rezolvare pentru problemele de optimizare a parametrilor. Prima strategie evolutivă a fost bazată pe o populaţie constând dintr-un singur individ. De asemenea, este folosit un singur operator în procesul de evoluţie: mutaţia. Aceasta este în
12 concordanţă cu conceptul biologic potrivit căruia modificări mici au loc mai frecvent decât o modificare mare.de obicei această strategie conform căreia un părinte dă naştere prin mutaţie unui singur descendent este cunoscută sub numele de strategie evolutivă Felul în care se aplică practic acest algoritm este simplu: se generează o soluţie aleatoare pe domeniul de căutare şi se efectuează mutaţii asupra ei.este acceptat cel mai bun dintre părinte şi descendent. Operatorul de mutaţie se aplică repetat până când se ajunge la soluţie. Un alt tip de strategie este strategia (µ + λ): µ părinţi produc λ descendenţi. Noua populaţie (temporară) de (µ+ λ) indivizi este redusă din nou - printr-un proces de selecţie - la µ indivizi. Pe de altă parte, in strategia (µ, λ), µ indivizi produc λ descendenţi (λ > µ) şi prin procesul de selecţie se alege o nouă populaţie de µ indivizi numai din mulţimea celor λ descendenţi. Astfel, viaţa fiecărui individ este limitată la o generaţie. 3.1 Programare evolutivă Tehnicile programării evolutive originale au fost dezvoltate de Lawrence Fogel. El urmărea o dezvoltare a inteligenţei artificiale în sensul dezvoltării abilităţii de a prezice schimbările într-un mediu înconjurător. Mediul înconjurător a fost descris ca o secvenţă de simboluri, iar evoluarea algoritmului presupunea obţinerea unui nou produs, şi anume a unui nou simbol. Simbolul obţinut va maximiza funcţia finală care măsoară acurateţea predicţiei. De exemplu, putem considera o serie de evenimente notate a1, a2,..., an; un algoritm va determina următorul simbol (an+1), bazându-se pe simbolurile cunoscute a1, a2,..., an. Ideea care stă la baza programării evolutive este de a evolua un algoritm. Ca şi în strategiile evolutive, şi în tehnica programării evolutive se creează mai întâi descendenţii şi apoi se vor selecta indivizii pentru generaţia următoare. Fiecare părinte produce un singur descendent; deci dimensiunea populaţiei intermediare se dublează (ca în strategia evolutivă (n, n), unde n este dimensiunea populaţiei). Descendentul este creat printr-o mutaţie aleatoare a părintelui (este posibil să se aplice mai mult de o mutaţie unui individ). Un număr de indivizi (cei mai promiţători) egal cu dimensiunea populaţiei sunt reţinuţi pentru noua generaţie. În versiunea originală acest proces este repetat până se obţine un nou simbol care este disponibil. După ce s-a obţinut un nou simbol, acesta este adăugat listei simbolurilor cunoscute şi întregul proces se repetă. Recent, tehnicile de programare evolutivă au fost folosite pentru rezolvarea problemelor de optimizare numerică precum şi în numeroase alte scopuri. 3.2 Programarea genetică O altă abordare interesantă a fost descoperită relativ recent de John Koza. Koza sugerează că programul dorit va evolua el însuşi pe parcursul unui proces de evoluţie. Cu alte cuvinte, în loc de a rezolva o problemă şi în loc de a construi un program evolutiv care să rezolve problema, vom încerca să găsim un cod sursă care să o rezolve. Koza a dezvoltat o nouă metodologie care furnizează un mod de a efectua această căutare. De exemplu, se doreşte obţinerea unui program Pascal sau C++ care să rezolve problema drumului hamiltonian sau problema ieşirii dintr-un labirint. Deci, nu ne interesează să obţinem o soluţie pentru un set oarecare de date, ci, mai degrabă, ne interesează să obţinem un program sursă care să genereze o
13 soluţie corectă pentru orice intrare dată. Cu alte cuvinte, ne interesează să obţinem ca rezultat un program asemănător cu cel pe care l-am fi putut scrie noi dacă am fi ştiut să rezolvăm problema. Din punct de vedere evolutiv abordarea unor astfel de probleme se face generând o mulţime (populaţie) aleatoare de coduri sursă care apoi sunt selectate pe baza funcţiei de fitness şi evoluate cu ajutorul unor operatori genetici specifici.în primul rând trebuie să atribuim o funcţie de calitate (funcţia fitness) fiecărui program generat. Această funcţie de fitness trebuie să reflecte performanţele programului căruia îi este ataşată. De obicei ataşarea unei funcţii de fitness se face rulând programul respectiv şi măsurând calitatea soluţiei în raport cu o soluţie care se cunoaşte a fi optimă. Un program va avea o calitate mai mare dacă soluţia generată va fi mai asemănătoare cu cea a soluţiei corecte. Nu este grav dacă o soluţie optimă nu se cunoaşte anterior, deoarece noi dorim să obţinem soluţii cu un fitne ss cât mai mare (sau cât mai mic). Evoluarea programelor sursă se realizează prin operatori genetici specifici. De exemplu, un operator de recombinare poate însemna alipirea secvenţelor dintr-un cod sursă cu secvenţe din alt cod sursă. Un operator de mutaţie ar putea însemna inserarea de noi instrucţiuni în codul sursă, ştergerea de instrucţiuni, transformarea de instrucţiuni. Evident, în urma aplicării acestor operatori genetici se generează cod sursă care conţine greşeli de sintaxă. De asemenea, sunt generate secvenţe de cod sursă nefolositoare. Exemple în acest sens sunt secvenţa de instrucţiuni: i := i + 1; i := i - 1; sau secvenţa: a := 0; b := c / a; De obicei, se evoluează reprezentări mai simple ale programelor de calculator şi anume reprezentările arborescente. Există limbaje de programare (de exemplu LISP) în care programele sunt scrise sub forma unor liste uşor transformabile în arbori. Aplicatie În cele ce urmează vom prezenta rezolvarea unei probleme folosind algoritmii genetici Enunţ (Submulţime de sumă dată) Se consideră o mulţime M de n numere şi un număr S. Să se determine o submulţime a mulţimii M care are suma elementelor cât mai apropiată de numărul S. Rezolvare Determinarea unei submulţimi de sumă dată este o problemă NP-completă Aceasta înseamnă că nu se ştie dacă există sau nu un algoritm de complexitate polinomială pentru rezolvarea acestei probleme. Până în prezent, algoritmii folosiţi au complexitate exponenţială, iar pentru anumite cazuri particulare au complexitate pseudopolinomială.de exemplu, putem rezolva rezonabil această problemă, dacă datele de intrare îndeplinesc următoarele condiţii: sunt cel mult 100 de numere naturale; suma numerelor nu depăşeşte 500 (mai exact, produsul dintre numărul numerelor şi suma acestora nu trebuie să depăşească dimensiunea maximă admisă pentru alocarea unei matrice (presupunem că aceasta este alocată static).
14 Dacă aceste condiţii ar fi îndeplinite am putea rezolva uşor această problemă prin metoda programării dinamice, folosind un algoritm de complexitate O(n S) ). Însă, dacă numerele nu ar fi întregi ci reale, sau suma lor ar fi mai mare decât 500, sau diferenţele între ele ar fi mari etc., atunci algoritmul prin programare dinamică nu mai poate fi folosit. Am enumerat aici doar cazurile importante, dar pot fi imaginate şi alte dificultăţi. Din aceste motive vom rezolva această problemă cu ajutorul unui algoritm genetic. Va trebui să găsim o reprezentare a soluţiei şi, de asemenea, o funcţie de fitness. Modul în care vom reprezenta soluţia ne este dat chiar în enunţul problemei: se cere o submulţime a unei mulţimi M cu n elemente. Deci, o soluţie a problemei este o submulţime. Vom codifica o submulţime printr-un şir de lungime n care conţine doar valorile 0 şi 1. Dacă o poziţie k va avea valoarea 1, atunci submulţimea respectivă va conţine elementul Mk (al k-lea element din mulţimea M), iar dacă pe poziţia k este valoarea 0, atunci elementul respectiv nu aparţine submulţimii. Această reprezentare a unei submulţimi este specifică tipului set din Turbo Pascal. Modul de calcul al fitness-ului (calităţii) unei soluţii (submulţimi) este simplu. Calculăm suma elementelor submulţimii, iar fitness-ul va fi diferenţa (în valoare absolută) dintre suma obţinută şi numărul dat S. În aceste condiţii fitness-ul va trebui minimizat, deoarece noi dorim să determinăm o submulţime pentru care suma elementelor este cât mai apropiată de valoarea dată S. Structura algoritmului genetic propus pentru rezolvarea acestei probleme a fost prezentată mai sus. Vom folosi selecţia turnir pentru obţinerea populaţiei intermediare. Operatorii genetici folosiţi sunt specifici codificării binare (încrucişare cu un singur punct de tăietură, mutaţie cu probabilitate pm= 0.1). 3.3 Concluzii şi sfaturi practice În acest articol au fost prezentate principalele direcţii ale algoritmilor evolutivi, in special al algoritmilor genetici. Aplicaţiile practice ale acestor algoritmi sunt nenumărate. Ei sunt folosiţi în domenii tot mai neaşteptate cum ar fi proiectarea aripilor de avion sau la proiectarea formei staţiilor orbitale. Dacă aţi ales să rezolvaţi o problemă genetic, trebuie să ţineţi cont de câteva sfaturi. Pentru a rezolva o problemă cu algoritmi genetici trebuie să o transformaţi mai întâi într-o problemă de optimizare, adică să se minimizeze sau să se maximizeze o valoare (cel mai scurt lanţ hamiltonian, cea mai mare componentă intern stabilă etc.). Algoritmii genetici sunt algoritmi euristici, adică soluţia găsită de ei nu este întotdeauna cea mai bună, dar se află într-o vecinătate a soluţiei optime. Deci, dacă aveţi de ales între un algoritm polinomial care rezolvă sigur problema şi un algoritm genetic, ar fi de preferat să folosiţi algoritmul polinomial. Algoritmii genetici, de obicei, au complexitate polinomială. De aceea ei sunt foarte des utilizaţi pentru a rezolva problemele dificile (NP-complete). Rezultatele obţinute sunt foarte apropiate de cele obţinute de algoritmii siguri, dar care au rulat mii de ore. Dacă problema este complexă folosiţi un algoritm genetic şi nu o strategie evolutivă. De obicei mutaţia este un operator de căutare slab, deci, dacă se foloseşte doar acesta, există şanse mari să se obţină o soluţii locale şi nu globale.
15 4. Bibliografie 1. Genetic Algorithms + Data Structures = Evolution Programs, Zbigniew Michalewicsz, Second, Extended Edition 2. Beasley D., Bull D.R., Martin R.R., An Overview of Genetic Algorithms, Part 1, Foundations, University Computing, Vol.15, No.4, pp , 1993; 3. Dumitrescu D., Algoritmi genetici şi strategii evolutive - Aplicaţii în inteligenţa artificială şi în domenii conexe, Editura Albastră, Cluj-Napoca, 2000; 4. Goldberg D.E., Genetic Algorithms in Search, Optimization and Machine Learning, Addison - Wesley, Reading, MA,1989; 5. Garey M.R., Johnson D.S., Computers and Intractability: A Guide to NP-completeness, W.H. Freeman and Company, New York, Koza J.R., Genetic Programming, MIT Press, Cambridge, MA, 1992; 7. Oltean M., Proiectarea şi implementarea algoritmilor, Computer Libris Agora, Cluj-Napoca, 2000.
Metode iterative pentru probleme neliniare - contractii
Metode iterative pentru probleme neliniare - contractii Problemele neliniare sunt in general rezolvate prin metode iterative si analiza convergentei acestor metode este o problema importanta. 1 Contractii
Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate.
Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Fie p, q N. Fie funcţia f : D R p R q. Avem următoarele
Algoritmi genetici. 1.1 Generalităţi
1.1 Generalităţi Algoritmii genetici fac parte din categoria algoritmilor de calcul evoluţionist şi sunt inspiraţi de teoria lui Darwin asupra evoluţiei. Idea calculului evoluţionist a fost introdusă în
Curs 14 Funcţii implicite. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi"
Curs 14 Funcţii implicite Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Fie F : D R 2 R o funcţie de două variabile şi fie ecuaţia F (x, y) = 0. (1) Problemă În ce condiţii ecuaţia
Curs 4 Serii de numere reale
Curs 4 Serii de numere reale Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Criteriul rădăcinii sau Criteriul lui Cauchy Teoremă (Criteriul rădăcinii) Fie x n o serie cu termeni
Sisteme diferenţiale liniare de ordinul 1
1 Metoda eliminării 2 Cazul valorilor proprii reale Cazul valorilor proprii nereale 3 Catedra de Matematică 2011 Forma generală a unui sistem liniar Considerăm sistemul y 1 (x) = a 11y 1 (x) + a 12 y 2
5. FUNCŢII IMPLICITE. EXTREME CONDIŢIONATE.
5 Eerciţii reolvate 5 UNCŢII IMPLICITE EXTREME CONDIŢIONATE Eerciţiul 5 Să se determine şi dacă () este o funcţie definită implicit de ecuaţia ( + ) ( + ) + Soluţie ie ( ) ( + ) ( + ) + ( )R Evident este
Asupra unei inegalităţi date la barajul OBMJ 2006
Asupra unei inegalităţi date la barajul OBMJ 006 Mircea Lascu şi Cezar Lupu La cel de-al cincilea baraj de Juniori din data de 0 mai 006 a fost dată următoarea inegalitate: Fie x, y, z trei numere reale
V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile
Metode de Optimizare Curs V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile Propoziţie 7. (Fritz-John). Fie X o submulţime deschisă a lui R n, f:x R o funcţie de clasă C şi ϕ = (ϕ,ϕ
Curs 1 Şiruri de numere reale
Bibliografie G. Chiorescu, Analiză matematică. Teorie şi probleme. Calcul diferenţial, Editura PIM, Iaşi, 2006. R. Luca-Tudorache, Analiză matematică, Editura Tehnopress, Iaşi, 2005. M. Nicolescu, N. Roşculeţ,
Criptosisteme cu cheie publică III
Criptosisteme cu cheie publică III Anul II Aprilie 2017 Problema rucsacului ( knapsack problem ) Considerăm un număr natural V > 0 şi o mulţime finită de numere naturale pozitive {v 0, v 1,..., v k 1 }.
3. ALGORITMI GENETICI
3. ALGORITMI GENETICI Un algoritm genetic efectuează operaţii specifice în cadrul unui proces de reproducere guvernat de operatori genetici. Noile soluţii sunt create prin selecţia şi recombinarea cromozomilor
(a) se numeşte derivata parţială a funcţiei f în raport cu variabila x i în punctul a.
Definiţie Spunem că: i) funcţia f are derivată parţială în punctul a în raport cu variabila i dacă funcţia de o variabilă ( ) are derivată în punctul a în sens obişnuit (ca funcţie reală de o variabilă
Metode de interpolare bazate pe diferenţe divizate
Metode de interpolare bazate pe diferenţe divizate Radu Trîmbiţaş 4 octombrie 2005 1 Forma Newton a polinomului de interpolare Lagrange Algoritmul nostru se bazează pe forma Newton a polinomului de interpolare
III. Serii absolut convergente. Serii semiconvergente. ii) semiconvergentă dacă este convergentă iar seria modulelor divergentă.
III. Serii absolut convergente. Serii semiconvergente. Definiţie. O serie a n se numeşte: i) absolut convergentă dacă seria modulelor a n este convergentă; ii) semiconvergentă dacă este convergentă iar
DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE
DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE ABSTRACT. Materialul prezintă o modalitate de a afla distanţa dintre două drepte necoplanare folosind volumul tetraedrului. Lecţia se adresează clasei a VIII-a Data:
Subiecte Clasa a VIII-a
Subiecte lasa a VIII-a (40 de intrebari) Puteti folosi spatiile goale ca ciorna. Nu este de ajuns sa alegeti raspunsul corect pe brosura de subiecte, ele trebuie completate pe foaia de raspuns in dreptul
Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor X) functia f 1
Functii definitie proprietati grafic functii elementare A. Definitii proprietatile functiilor. Fiind date doua multimi X si Y spunem ca am definit o functie (aplicatie) pe X cu valori in Y daca fiecarui
Esalonul Redus pe Linii (ERL). Subspatii.
Seminarul 1 Esalonul Redus pe Linii (ERL). Subspatii. 1.1 Breviar teoretic 1.1.1 Esalonul Redus pe Linii (ERL) Definitia 1. O matrice A L R mxn este in forma de Esalon Redus pe Linii (ERL), daca indeplineste
Seminariile Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reziduurilor
Facultatea de Matematică Calcul Integral şi Elemente de Analiă Complexă, Semestrul I Lector dr. Lucian MATICIUC Seminariile 9 20 Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reiduurilor.
Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM 1 electronica.geniu.ro
Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM Seminar S ANALA ÎN CUENT CONTNUU A SCHEMELO ELECTONCE S. ntroducere Pentru a analiza în curent continuu o schemă electronică,
Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor
Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor. Fiind date doua multimi si spunem ca am definit o functie (aplicatie) pe cu valori in daca fiecarui element
Planul determinat de normală şi un punct Ecuaţia generală Plane paralele Unghi diedru Planul determinat de 3 puncte necoliniare
1 Planul în spaţiu Ecuaţia generală Plane paralele Unghi diedru 2 Ecuaţia generală Plane paralele Unghi diedru Fie reperul R(O, i, j, k ) în spaţiu. Numim normala a unui plan, un vector perpendicular pe
SERII NUMERICE. Definiţia 3.1. Fie (a n ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0
SERII NUMERICE Definiţia 3.1. Fie ( ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0 şirul definit prin: s n0 = 0, s n0 +1 = 0 + 0 +1, s n0 +2 = 0 + 0 +1 + 0 +2,.......................................
a n (ζ z 0 ) n. n=1 se numeste partea principala iar seria a n (z z 0 ) n se numeste partea
Serii Laurent Definitie. Se numeste serie Laurent o serie de forma Seria n= (z z 0 ) n regulata (tayloriana) = (z z n= 0 ) + n se numeste partea principala iar seria se numeste partea Sa presupunem ca,
Laborator 1: INTRODUCERE ÎN ALGORITMI. Întocmit de: Claudia Pârloagă. Îndrumător: Asist. Drd. Gabriel Danciu
INTRODUCERE Laborator 1: ÎN ALGORITMI Întocmit de: Claudia Pârloagă Îndrumător: Asist. Drd. Gabriel Danciu I. NOŢIUNI TEORETICE A. Sortarea prin selecţie Date de intrare: un şir A, de date Date de ieşire:
R R, f ( x) = x 7x+ 6. Determinați distanța dintre punctele de. B=, unde x și y sunt numere reale.
5p Determinați primul termen al progresiei geometrice ( b n ) n, știind că b 5 = 48 și b 8 = 84 5p Se consideră funcția f : intersecție a graficului funcției f cu aa O R R, f ( ) = 7+ 6 Determinați distanța
a. 11 % b. 12 % c. 13 % d. 14 %
1. Un motor termic funcţionează după ciclul termodinamic reprezentat în sistemul de coordonate V-T în figura alăturată. Motorul termic utilizează ca substanţă de lucru un mol de gaz ideal având exponentul
Subiecte Clasa a VII-a
lasa a VII Lumina Math Intrebari Subiecte lasa a VII-a (40 de intrebari) Puteti folosi spatiile goale ca ciorna. Nu este de ajuns sa alegeti raspunsul corect pe brosura de subiecte, ele trebuie completate
Curs 2 Şiruri de numere reale
Curs 2 Şiruri de numere reale Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Convergenţă şi mărginire Teoremă Orice şir convergent este mărginit. Demonstraţie Fie (x n ) n 0 un
riptografie şi Securitate
riptografie şi Securitate - Prelegerea 12 - Scheme de criptare CCA sigure Adela Georgescu, Ruxandra F. Olimid Facultatea de Matematică şi Informatică Universitatea din Bucureşti Cuprins 1. Schemă de criptare
SEMINAR 14. Funcţii de mai multe variabile (continuare) ( = 1 z(x,y) x = 0. x = f. x + f. y = f. = x. = 1 y. y = x ( y = = 0
Facultatea de Hidrotehnică, Geodezie şi Ingineria Mediului Matematici Superioare, Semestrul I, Lector dr. Lucian MATICIUC SEMINAR 4 Funcţii de mai multe variabile continuare). Să se arate că funcţia z,
III. Reprezentarea informaţiei în sistemele de calcul
Metode Numerice Curs 3 III. Reprezentarea informaţiei în sistemele de calcul III.1. Reprezentarea internă a numerelor întregi III. 1.1. Reprezentarea internă a numerelor întregi fără semn (pozitive) Reprezentarea
MARCAREA REZISTOARELOR
1.2. MARCAREA REZISTOARELOR 1.2.1 MARCARE DIRECTĂ PRIN COD ALFANUMERIC. Acest cod este format din una sau mai multe cifre şi o literă. Litera poate fi plasată după grupul de cifre (situaţie în care valoarea
Examen AG. Student:... Grupa: ianuarie 2016
16-17 ianuarie 2016 Problema 1. Se consideră graful G = pk n (p, n N, p 2, n 3). Unul din vârfurile lui G se uneşte cu câte un vârf din fiecare graf complet care nu-l conţine, obţinându-se un graf conex
EDITURA PARALELA 45 MATEMATICĂ DE EXCELENŢĂ. Clasa a X-a Ediţia a II-a, revizuită. pentru concursuri, olimpiade şi centre de excelenţă
Coordonatori DANA HEUBERGER NICOLAE MUŞUROIA Nicolae Muşuroia Gheorghe Boroica Vasile Pop Dana Heuberger Florin Bojor MATEMATICĂ DE EXCELENŢĂ pentru concursuri, olimpiade şi centre de excelenţă Clasa a
Aplicaţii ale principiului I al termodinamicii la gazul ideal
Aplicaţii ale principiului I al termodinamicii la gazul ideal Principiul I al termodinamicii exprimă legea conservării şi energiei dintr-o formă în alta şi se exprimă prin relaţia: ΔUQ-L, unde: ΔU-variaţia
Integrala nedefinită (primitive)
nedefinita nedefinită (primitive) nedefinita 2 nedefinita februarie 20 nedefinita.tabelul primitivelor Definiţia Fie f : J R, J R un interval. Funcţia F : J R se numeşte primitivă sau antiderivată a funcţiei
Seminar 5 Analiza stabilității sistemelor liniare
Seminar 5 Analiza stabilității sistemelor liniare Noțiuni teoretice Criteriul Hurwitz de analiză a stabilității sistemelor liniare În cazul sistemelor liniare, stabilitatea este o condiție de localizare
Examen AG. Student:... Grupa:... ianuarie 2011
Problema 1. Pentru ce valori ale lui n,m N (n,m 1) graful K n,m este eulerian? Problema 2. Să se construiască o funcţie care să recunoască un graf P 3 -free. La intrare aceasta va primi un graf G = ({1,...,n},E)
5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE
5.5. A CIRCUITELOR CU TRANZISTOARE BIPOLARE PROBLEMA 1. În circuitul din figura 5.54 se cunosc valorile: μa a. Valoarea intensității curentului de colector I C. b. Valoarea tensiunii bază-emitor U BE.
8 Intervale de încredere
8 Intervale de încredere În cursul anterior am determinat diverse estimări ˆ ale parametrului necunoscut al densităţii unei populaţii, folosind o selecţie 1 a acestei populaţii. În practică, valoarea calculată
Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane
Subspatii ane Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane Oana Constantinescu Oana Constantinescu Lectia VI Subspatii ane Table of Contents 1 Structura de spatiu an E 3 2 Subspatii
prin egalizarea histogramei
Lucrarea 4 Îmbunătăţirea imaginilor prin egalizarea histogramei BREVIAR TEORETIC Tehnicile de îmbunătăţire a imaginilor bazate pe calculul histogramei modifică histograma astfel încât aceasta să aibă o
Proiectarea Algoritmilor 2. Scheme de algoritmi Divide & Impera
Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Proiectarea Algoritmilor 2. Scheme de algoritmi Divide & Impera Cuprins Scheme de algoritmi Divide et impera Exemplificare
Concurs MATE-INFO UBB, 1 aprilie 2017 Proba scrisă la MATEMATICĂ
UNIVERSITATEA BABEŞ-BOLYAI CLUJ-NAPOCA FACULTATEA DE MATEMATICĂ ŞI INFORMATICĂ Concurs MATE-INFO UBB, aprilie 7 Proba scrisă la MATEMATICĂ SUBIECTUL I (3 puncte) ) (5 puncte) Fie matricele A = 3 4 9 8
Laborator 11. Mulţimi Julia. Temă
Laborator 11 Mulţimi Julia. Temă 1. Clasa JuliaGreen. Să considerăm clasa JuliaGreen dată de exemplu la curs pentru metoda locului final şi să schimbăm numărul de iteraţii nriter = 100 în nriter = 101.
COLEGIUL NATIONAL CONSTANTIN CARABELLA TARGOVISTE. CONCURSUL JUDETEAN DE MATEMATICA CEZAR IVANESCU Editia a VI-a 26 februarie 2005.
SUBIECTUL Editia a VI-a 6 februarie 005 CLASA a V-a Fie A = x N 005 x 007 si B = y N y 003 005 3 3 a) Specificati cel mai mic element al multimii A si cel mai mare element al multimii B. b)stabiliti care
Capitolul 4 PROPRIETĂŢI TOPOLOGICE ŞI DE NUMĂRARE ALE LUI R. 4.1 Proprietăţi topologice ale lui R Puncte de acumulare
Capitolul 4 PROPRIETĂŢI TOPOLOGICE ŞI DE NUMĂRARE ALE LUI R În cele ce urmează, vom studia unele proprietăţi ale mulţimilor din R. Astfel, vom caracteriza locul" unui punct în cadrul unei mulţimi (în limba
METODE NUMERICE: Laborator #5 Metode iterative pentru rezolvarea sistemelor: Jacobi, Gauss-Siedel, Suprarelaxare
METODE NUMERICE: Laborator #5 Metode iterative pentru rezolvarea sistemelor: Jacobi, Gauss-Siedel, Suprarelaxare Titulari curs: Florin Pop, George-Pantelimon Popescu Responsabil Laborator: Mădălina-Andreea
Problema a II - a (10 puncte) Diferite circuite electrice
Olimpiada de Fizică - Etapa pe judeţ 15 ianuarie 211 XI Problema a II - a (1 puncte) Diferite circuite electrice A. Un elev utilizează o sursă de tensiune (1), o cutie cu rezistenţe (2), un întrerupător
5.4. MULTIPLEXOARE A 0 A 1 A 2
5.4. MULTIPLEXOARE Multiplexoarele (MUX) sunt circuite logice combinaţionale cu m intrări şi o singură ieşire, care permit transferul datelor de la una din intrări spre ieşirea unică. Selecţia intrării
Ecuatii exponentiale. Ecuatia ce contine variabila necunoscuta la exponentul puterii se numeste ecuatie exponentiala. a x = b, (1)
Ecuatii exponentiale Ecuatia ce contine variabila necunoscuta la exponentul puterii se numeste ecuatie exponentiala. Cea mai simpla ecuatie exponentiala este de forma a x = b, () unde a >, a. Afirmatia.
Capitolul 4. Integrale improprii Integrale cu limite de integrare infinite
Capitolul 4 Integrale improprii 7-8 În cadrul studiului integrabilităţii iemann a unei funcţii s-au evidenţiat douăcondiţii esenţiale:. funcţia :[ ] este definită peintervalînchis şi mărginit (interval
Definiţia generală Cazul 1. Elipsa şi hiperbola Cercul Cazul 2. Parabola Reprezentari parametrice ale conicelor Tangente la conice
1 Conice pe ecuaţii reduse 2 Conice pe ecuaţii reduse Definiţie Numim conica locul geometric al punctelor din plan pentru care raportul distantelor la un punct fix F şi la o dreaptă fixă (D) este o constantă
Laborator 6. Integrarea ecuaţiilor diferenţiale
Laborator 6 Integrarea ecuaţiilor diferenţiale Responsabili: 1. Surdu Cristina(anacristinasurdu@gmail.com) 2. Ştirbăţ Bogdan(bogdanstirbat@yahoo.com) Obiective În urma parcurgerii acestui laborator elevul
1.7. AMPLIFICATOARE DE PUTERE ÎN CLASA A ŞI AB
1.7. AMLFCATOARE DE UTERE ÎN CLASA A Ş AB 1.7.1 Amplificatoare în clasa A La amplificatoarele din clasa A, forma de undă a tensiunii de ieşire este aceeaşi ca a tensiunii de intrare, deci întreg semnalul
riptografie şi Securitate
riptografie şi Securitate - Prelegerea 21.2 - Sistemul de criptare ElGamal Adela Georgescu, Ruxandra F. Olimid Facultatea de Matematică şi Informatică Universitatea din Bucureşti Cuprins 1. Scurt istoric
Valori limită privind SO2, NOx şi emisiile de praf rezultate din operarea LPC în funcţie de diferite tipuri de combustibili
Anexa 2.6.2-1 SO2, NOx şi de praf rezultate din operarea LPC în funcţie de diferite tipuri de combustibili de bioxid de sulf combustibil solid (mg/nm 3 ), conţinut de O 2 de 6% în gazele de ardere, pentru
Metode Runge-Kutta. 18 ianuarie Probleme scalare, pas constant. Dorim să aproximăm soluţia problemei Cauchy
Metode Runge-Kutta Radu T. Trîmbiţaş 8 ianuarie 7 Probleme scalare, pas constant Dorim să aproximăm soluţia problemei Cauchy y (t) = f(t, y), a t b, y(a) = α. pe o grilă uniformă de (N + )-puncte din [a,
V O. = v I v stabilizator
Stabilizatoare de tensiune continuă Un stabilizator de tensiune este un circuit electronic care păstrează (aproape) constantă tensiunea de ieșire la variaţia între anumite limite a tensiunii de intrare,
4. CIRCUITE LOGICE ELEMENTRE 4.. CIRCUITE LOGICE CU COMPONENTE DISCRETE 4.. PORŢI LOGICE ELEMENTRE CU COMPONENTE PSIVE Componente electronice pasive sunt componente care nu au capacitatea de a amplifica
Conice. Lect. dr. Constantin-Cosmin Todea. U.T. Cluj-Napoca
Conice Lect. dr. Constantin-Cosmin Todea U.T. Cluj-Napoca Definiţie: Se numeşte curbă algebrică plană mulţimea punctelor din plan de ecuaţie implicită de forma (C) : F (x, y) = 0 în care funcţia F este
2 Transformări liniare între spaţii finit dimensionale
Transformări 1 Noţiunea de transformare liniară Proprietăţi. Operaţii Nucleul şi imagine Rangul şi defectul unei transformări 2 Matricea unei transformări Relaţia dintre rang şi defect Schimbarea matricei
1.3 Baza a unui spaţiu vectorial. Dimensiune
.3 Baza a unui spaţiu vectorial. Dimensiune Definiţia.3. Se numeşte bază a spaţiului vectorial V o familie de vectori B care îndeplineşte condiţiile de mai jos: a) B este liniar independentă; b) B este
CONCURS DE ADMITERE, 17 iulie 2017 Proba scrisă la MATEMATICĂ
UNIVERSITATEA BABEŞ-BOLYAI CLUJ-NAPOCA FACULTATEA DE MATEMATICĂ ŞI INFORMATICĂ CONCURS DE ADMITERE, 7 iulie 207 Proba scrisă la MATEMATICĂ SUBIECTUL I (30 puncte) ) (0 puncte) Să se arate că oricare ar
z a + c 0 + c 1 (z a)
1 Serii Laurent (continuare) Teorema 1.1 Fie D C un domeniu, a D şi f : D \ {a} C o funcţie olomorfă. Punctul a este pol multiplu de ordin p al lui f dacă şi numai dacă dezvoltarea în serie Laurent a funcţiei
Noţiuni introductive
Metode Numerice Noţiuni introductive Erori. Condiţionare numerică. Stabilitatea algoritmilor. Complexitatea algoritmilor. Metodele numerice reprezintă tehnici prin care problemele matematice sunt reformulate
Seminar Algebra. det(a λi 3 ) = 0
Rezolvari ale unor probleme propuse "Matematica const în a dovedi ceea ce este evident în cel mai puµin evident mod." George Polya P/Seminar Valori si vectori proprii : Solutie: ( ) a) A = Valorile proprii:
Să se arate că n este număr par. Dan Nedeianu
Primul test de selecție pentru juniori I. Să se determine numerele prime p, q, r cu proprietatea că 1 p + 1 q + 1 r 1. Fie ABCD un patrulater convex cu m( BCD) = 10, m( CBA) = 45, m( CBD) = 15 și m( CAB)
Teme de implementare in Matlab pentru Laboratorul de Metode Numerice
Teme de implementare in Matlab pentru Laboratorul de Metode Numerice As. Ruxandra Barbulescu Septembrie 2017 Orice nelamurire asupra enunturilor/implementarilor se rezolva in cadrul laboratorului de MN,
Cursul Măsuri reale. D.Rusu, Teoria măsurii şi integrala Lebesgue 15
MĂSURI RELE Cursul 13 15 Măsuri reale Fie (,, µ) un spaţiu cu măsură completă şi f : R o funcţie -măsurabilă. Cum am văzut în Teorema 11.29, dacă f are integrală pe, atunci funcţia de mulţime ν : R, ν()
Progresii aritmetice si geometrice. Progresia aritmetica.
Progresii aritmetice si geometrice Progresia aritmetica. Definitia 1. Sirul numeric (a n ) n N se numeste progresie aritmetica, daca exista un numar real d, numit ratia progresia, astfel incat a n+1 a
Cum folosim cazuri particulare în rezolvarea unor probleme
Cum folosim cazuri particulare în rezolvarea unor probleme GHEORGHE ECKSTEIN 1 Atunci când întâlnim o problemă pe care nu ştim s-o abordăm, adesea este bine să considerăm cazuri particulare ale acesteia.
2. Circuite logice 2.4. Decodoare. Multiplexoare. Copyright Paul GASNER
2. Circuite logice 2.4. Decodoare. Multiplexoare Copyright Paul GASNER Definiţii Un decodor pe n bits are n intrări şi 2 n ieşiri; cele n intrări reprezintă un număr binar care determină în mod unic care
BARAJ DE JUNIORI,,Euclid Cipru, 28 mai 2012 (barajul 3)
BARAJ DE JUNIORI,,Euclid Cipru, 8 mi 0 (brjul ) Problem Arătţi că dcă, b, c sunt numere rele cre verifică + b + c =, tunci re loc ineglitte xy + yz + zx Problem Fie şi b numere nturle nenule Dcă numărul
10. STABILIZATOAE DE TENSIUNE 10.1 STABILIZATOAE DE TENSIUNE CU TANZISTOAE BIPOLAE Stabilizatorul de tensiune cu tranzistor compară în permanenţă valoare tensiunii de ieşire (stabilizate) cu tensiunea
Curs 2 DIODE. CIRCUITE DR
Curs 2 OE. CRCUTE R E CUPRN tructură. imbol Relația curent-tensiune Regimuri de funcționare Punct static de funcționare Parametrii diodei Modelul cu cădere de tensiune constantă Analiza circuitelor cu
Ecuatii trigonometrice
Ecuatii trigonometrice Ecuatiile ce contin necunoscute sub semnul functiilor trigonometrice se numesc ecuatii trigonometrice. Cele mai simple ecuatii trigonometrice sunt ecuatiile de tipul sin x = a, cos
CURS 11: ALGEBRĂ Spaţii liniare euclidiene. Produs scalar real. Spaţiu euclidian. Produs scalar complex. Spaţiu unitar. Noţiunea de normă.
Sala: 2103 Decembrie 2014 Conf. univ. dr.: Dragoş-Pătru Covei CURS 11: ALGEBRĂ Specializarea: C.E., I.E., S.P.E. Nota: Acest curs nu a fost supus unui proces riguros de recenzare pentru a fi oficial publicat.
Spatii liniare. Exemple Subspaţiu liniar Acoperire (înfăşurătoare) liniară. Mulţime infinită liniar independentă
Noţiunea de spaţiu liniar 1 Noţiunea de spaţiu liniar Exemple Subspaţiu liniar Acoperire (înfăşurătoare) liniară 2 Mulţime infinită liniar independentă 3 Schimbarea coordonatelor unui vector la o schimbare
I. Noţiuni introductive
Metode Numerice Curs 1 I. Noţiuni introductive Metodele numerice reprezintă tehnici prin care problemele matematice sunt reformulate astfel încât să fie rezolvate numai prin operaţii aritmetice. Prin trecerea
Functii Breviar teoretic 8 ianuarie ianuarie 2011
Functii Breviar teoretic 8 ianuarie 011 15 ianuarie 011 I Fie I, interval si f : I 1) a) functia f este (strict) crescatoare pe I daca x, y I, x< y ( f( x) < f( y)), f( x) f( y) b) functia f este (strict)
Subiecte Clasa a V-a
(40 de intrebari) Puteti folosi spatiile goale ca ciorna. Nu este de ajuns sa alegeti raspunsul corect pe brosura de subiecte, ele trebuie completate pe foaia de raspuns in dreptul numarului intrebarii
2.1 Sfera. (EGS) ecuaţie care poartă denumirea de ecuaţia generală asferei. (EGS) reprezintă osferă cu centrul în punctul. 2 + p 2
.1 Sfera Definitia 1.1 Se numeşte sferă mulţimea tuturor punctelor din spaţiu pentru care distanţa la u punct fi numit centrul sferei este egalăcuunnumăr numit raza sferei. Fie centrul sferei C (a, b,
TEMA 9: FUNCȚII DE MAI MULTE VARIABILE. Obiective:
TEMA 9: FUNCȚII DE MAI MULTE VARIABILE 77 TEMA 9: FUNCȚII DE MAI MULTE VARIABILE Obiective: Deiirea pricipalelor proprietăţi matematice ale ucţiilor de mai multe variabile Aalia ucţiilor de utilitate şi
RĂSPUNS Modulul de rezistenţă este o caracteristică geometrică a secţiunii transversale, scrisă faţă de una dintre axele de inerţie principale:,
REZISTENTA MATERIALELOR 1. Ce este modulul de rezistenţă? Exemplificaţi pentru o secţiune dreptunghiulară, respectiv dublu T. RĂSPUNS Modulul de rezistenţă este o caracteristică geometrică a secţiunii
Activitatea A5. Introducerea unor module specifice de pregătire a studenţilor în vederea asigurării de şanse egale
Investeşte în oameni! FONDUL SOCIAL EUROPEAN Programul Operaţional Sectorial pentru Dezvoltarea Resurselor Umane 2007 2013 Axa prioritară nr. 1 Educaţiaşiformareaprofesionalăînsprijinulcreşteriieconomiceşidezvoltăriisocietăţiibazatepecunoaştere
FLUXURI MAXIME ÎN REŢELE DE TRANSPORT. x 4
FLUXURI MAXIME ÎN REŢELE DE TRANSPORT Se numeşte reţea de transport un graf în care fiecărui arc îi este asociat capacitatea arcului şi în care eistă un singur punct de intrare şi un singur punct de ieşire.
Sisteme liniare - metode directe
Sisteme liniare - metode directe Radu T. Trîmbiţaş 27 martie 2016 1 Eliminare gaussiană Să considerăm sistemul liniar cu n ecuaţii şi n necunoscute Ax = b, (1) unde A K n n, b K n 1 sunt date, iar x K
Statisticǎ - curs 3. 1 Seria de distribuţie a statisticilor de eşantioane 2. 2 Teorema limitǎ centralǎ 5. 3 O aplicaţie a teoremei limitǎ centralǎ 7
Statisticǎ - curs 3 Cuprins 1 Seria de distribuţie a statisticilor de eşantioane 2 2 Teorema limitǎ centralǎ 5 3 O aplicaţie a teoremei limitǎ centralǎ 7 4 Estimarea punctualǎ a unui parametru; intervalul
Programarea dinamica I
Programarea dinamica I Principiile programării dinamice Programarea dinamică, ca și metoda divide et impera, rezolvă problemele combinând soluţiile subproblemelor. După cum am văzut, algoritmii de divide
6 n=1. cos 2n. 6 n=1. n=1. este CONV (fiind seria armonică pentru α = 6 > 1), rezultă
Semiar 5 Serii cu termei oarecare Probleme rezolvate Problema 5 Să se determie atura seriei cos 5 cos Soluţie 5 Şirul a 5 este cu termei oarecare Studiem absolut covergeţa seriei Petru că cos a 5 5 5 şi
Criterii de comutativitate a grupurilor
Criterii de comutativitate a grupurilor Marius Tărnăuceanu 10.03.2017 Abstract În această lucrare vom prezenta mai multe condiţii suficiente de comutativitate a grupurilor. MSC (2010): 20A05, 20K99. Key
Algebra si Geometrie Seminar 9
Algebra si Geometrie Seminar 9 Decembrie 017 ii Equations are just the boring part of mathematics. I attempt to see things in terms of geometry. Stephen Hawking 9 Dreapta si planul in spatiu 1 Notiuni
VII.2. PROBLEME REZOLVATE
Teoria Circuitelor Electrice Aplicaţii V PROBEME REOVATE R7 În circuitul din fiura 7R se cunosc: R e t 0 sint [V] C C t 0 sint [A] Se cer: a rezolvarea circuitului cu metoda teoremelor Kirchhoff; rezolvarea
Exemple de probleme rezolvate pentru cursurile DEEA Tranzistoare bipolare cu joncţiuni
Problema 1. Se dă circuitul de mai jos pentru care se cunosc: VCC10[V], 470[kΩ], RC2,7[kΩ]. Tranzistorul bipolar cu joncţiuni (TBJ) este de tipul BC170 şi are parametrii β100 şi VBE0,6[V]. 1. să se determine
Principiul incluziunii si excluziunii. Generarea şi ordonarea permutărilor. Principiul porumbeilor. Pri
Generarea şi ordonarea permutărilor. Principiul porumbeilor. Principiul incluziunii si excluziunii Recapitulare din cursul trecut Presupunem că A este o mulţime cu n elemente. Recapitulare din cursul trecut
SEMINARUL 3. Cap. II Serii de numere reale. asociat seriei. (3n 5)(3n 2) + 1. (3n 2)(3n+1) (3n 2) (3n + 1) = a
Capitolul II: Serii de umere reale. Lect. dr. Lucia Maticiuc Facultatea de Hidrotehică, Geodezie şi Igieria Mediului Matematici Superioare, Semestrul I, Lector dr. Lucia MATICIUC SEMINARUL 3. Cap. II Serii
Orice izometrie f : (X, d 1 ) (Y, d 2 ) este un homeomorfism. (Y = f(x)).
Teoremă. (Y = f(x)). Orice izometrie f : (X, d 1 ) (Y, d 2 ) este un homeomorfism Demonstraţie. f este continuă pe X: x 0 X, S Y (f(x 0 ), ε), S X (x 0, ε) aşa ca f(s X (x 0, ε)) = S Y (f(x 0 ), ε) : y