Implementarea algoritmilor evolutivi

Proiect
9/10 (1 vot)
Domeniu: Calculatoare
Conține 1 fișier: doc
Pagini : 55 în total
Cuvinte : 14118
Mărime: 173.30KB (arhivat)
Publicat de: Maximilian Costea
Puncte necesare: 10

Cuprins

  1. INTRODUCERE 3
  2. CAP.1 Algoritmi evolutivi - prezentare generală 5
  3. 1.1.Evoluţia 5
  4. 1.2 Principii generale 6
  5. 1.3 Structura unui algoritm evolutiv 7
  6. 1.3.1 Operatorii 7
  7. 1.3.2 Structura generală a unui algoritm evolutiv 8
  8. 1.4 Domenii de aplicabilitate 9
  9. CAP2. Algoritmi genetici 11
  10. 2.1 Introducere 11
  11. 2.2 Principii generale 11
  12. 2.3 Structura unui algoritm genetic 13
  13. 2.4 Operatorii genetici ai AG 15
  14. 2.4.1 Selecţia 15
  15. 2.4.3 Încrucişarea 21
  16. 2.4.3 Mutaţia 29
  17. 2.4.4 Operatorul de inversiune 32
  18. 2.5. Algoritmul genetic fundamental (canonic) 33
  19. CAP.3 Strategii evolutive 35
  20. 3.1 Introducere 35
  21. 3.2 Strategia (1+1) 36
  22. 3.3 Strategia ( + 1) 37
  23. 3.4 Strategia (1+ ) 38
  24. 3.5 Strategiile ( ) şi ( ) 38
  25. 3.6 Structura unei strategii evolutive 39
  26. 3.6.1 Selecţia 40
  27. 3.6.2 Recombinarea 41
  28. 3.6.3 Mutaţie 44
  29. 3.6.4 Algoritmul general al unei strategii evolutive 46
  30. CAP.4 Descrierea aplicaţiei 47
  31. 4.1 Prezentare generală 47
  32. 4.2 Mod de utilizare 50
  33. Bibliografie 55

Extras din proiect

Conceptul de evoluţie a fost propus de savantul englez Charles Darwin în 1859 în celebra sa carte “Originea speciilor prin selecţie naturală”. Principala sa teză este:

“Speciile evoluează prin variaţii aleatoare urmate de selecţie naturală în care cel mai potrivit supravieţuieşte”

Calculul Evolutiv (“Evolutionary computation”) reprezintă o direcţie de cercetare nouă şi de mare importanţă atât din punct de vedere teoretic, cât mai ales, din punctul de vedere al aplicaţiilor. Putem considera Calculul Evolutiv ca fiind un domeniu de sine stătător al Inteligenţei Artificiale.

Din punctul de vedere al ideilor de pornire şi aplicaţiilor Calculul Evolutiv (sau adaptiv) evidenţiază două aspecte:

-utilizează idei şi concepte referitoare la sistemele adaptive complexe pentru a rezolva probleme computaţionale (în special de optimizare şi căutare)

-utilizează calculatoarele şi metodele computaţionale pentru a modela sisteme adaptive complexe.

Tehnicile calcului evolutiv au fost iniţial dezvoltate pentru rezolvarea unor probleme de optimizare complicate, a căror abordare prin mijloace tradiţionale era imposibilă.

Calculul Evolutiv s-a dezvoltat în mai multe direcţii, cele mai cunoscute fiind:

- Algoritmii Genetici

- Strategiile Evolutive

- Programarea Evolutivă

- Programarea Genetică

- Sistemele de Clasificare Instruibile

Metodele dezvoltate în Calculul Evolutiv sunt generale, independente de problemă şi de funcţia ce se doreşte a fi optimizată (funcţia criteriu). Proprietăţile de continuitate, convexitate, derivabilitate sau de netezime ale funcţiei criteriu nu mai influenţează alegerea metodei de optimizare. Aceste metode au o comportare bună, sunt robuste şi, contrar unei păreri răspândite, nu sunt mari consumatoare de timp. Multe probleme care nu pot fi abordate cu tehnici tradiţionale au putut fi soluţionate utilizând metodele Calcului Evolutiv.

De regulă algoritmii genetici, strategiile evolutive şi celelalte tehnici ale Calculului Evolutiv sunt utilizate pentru a optimiza o funcţie criteriu. Există însă probleme pentru care nu este simplă formularea explicită (analitică) a unei funcţii criteriu. Însă, de regulă, şi în aceste cazuri se poate ataşa un anumit scor fiecărei soluţii găsite. Scorul măsoara calitatea soluţiei respective.

Calculul Evolutiv foloseşte concepte şi metode care au punct de plecare o metaforă biologică. O populaţie (aleatoare) de soluţii iniţiale (cromozomi sau indivizi) este modificată prin operatori de tip biologic (selecţie, încrucişare, mutaţie). Procesul de modificare favorizează soluţiile cele mai bune. Cei mai buni indivizi (cromozomi) vor fi selectaţi ca părinţi ai unei noi generaţii de soluţii. În felul acesta calitatea soluţiilor obţinute se îmbunătăţeşte. Cel mai bun individ obţinut într-un număr fixat de generaţii va constitui soluţia finală a problemei.

Lucrarea este structurată în patru capitole.

Capitolul 1 - “Algoritmi Evolutivi” - prezentare generală” - prezintă ideile de bază ale algoritmilor evolutivi, se evidenţiază principiile evoluţiei şi a selecţiei naturale, se prezintă structura generală a unui algoritm evolutiv.

Capitolul 2 - ”Algoritmi Genetici” - prezintă ideile fundamentale referitoare la algoritmii genetici. Se descriu operatorii genetici utilizati de un algoritm genetic (selecţie, încrucişare, mutaţie). În finalul capitolului se prezintă algoritmul genetic fundamental.

Capitolul 3 - “ Strategii Evolutive” - prezintă ideile de bază referitoare la strategiile evolutive. Se descriu diferite modele de strategii evolutive. Sunt prezentaţi principalii operatori din cadrul unei strategii evolutive (selecţie, recombinare, mutaţie).În finalul capitolului se prezintă structura generală a unei strategii evolutive.

Capitolul 4 - “Descrierea aplicaţiei” - este consacrat prezentării aplicaţiei.

CAP.1 Algoritmi evolutivi - prezentare generală

În acest capitol se prezintă principiile de bază ale algoritmilor evolutivi.Se evidenţiază ideile evoluţiei şi selecţiei naturale care au condus la clase importante de algoritmi de căutare şi optimizare. Se prezintă structura generală a unui algoritm evolutiv.

1.1.Evoluţia

Punctul de vedere acceptat in Inteligenţa Artificială este că îndeplinirea oricărei sarcini poate fi privită ca rezolvarea unei probleme. La rândul său, rezolvarea unei probleme poate fi gandită ca o căutare în spaţiul soluţiilor posibile (spaţiul starilor problemei). Această căutare poate fi ghidată de o funcţie de performanţă. Procesul de căutare este în acest caz însoţit de un proces de optimizare: dintre soluţiile posibile suntem interesaţi de cea mai bună. Uneori ne putem mulţumi cu o soluţie suficient de bună (aproximativ optimă).

Pentru probleme de mare complexitate, găsirea soluţiei optime, sau chiar a uneia acceptabile, este dificil de realizat. Tehnicile clasice fie nu sunt aplicabile, fie necesită un timp de lucru prohibitiv. Algorimii evolutivi sunt adecvaţi tocmai pentru soluţionarea unor astfel de probleme dificile.

Algoritmii evolutivi reprezintă tehnici de căutare şi optimizare având ca punct de pornire o metaforă biologică. Această metaforă biologică este cea a moştenirii genetice şi a evoluţiei naturale.

În cursul evoluţiei, toate fiinţele sunt confruntate cu problema adaptării la un mediu complicat, in continuă schimbare. In acest proces fiecare specie “invaţă”, iar cunoaşterea pe care a caştigat-o este codificată in cromozomii speciei. Evoluţia este aşadar un proces care are loc la nivelul cromozomilor.

Din perspectiva care ne intereseaza aici reţinem doar câteva caracteristici esenţiale ale procesului de evoluţie genetică:

1. Cromozomii sunt purtătorii informaţiei genetice.

2. Fiecare individ al unei specii posedă un număr determinat de cromozomi.Totalitatea cromozomilor unui individ reprezintă genotipul său.

3. Cromozomii sunt structuri liniare alcătuite din gene. Genele poartă caracteristicile ereditare. Genele ocupă locuri determinate , numite loci , în cromozom.

4. Evoluţia este un proces ce operează la nivelul cromozomilor.

5. Selecţia naturală reprezintă legatura dintre cromozomi şi performanşele indivizilor.

6. Evoluţia se realizează în procesul reproducerii. In evoluţie acţionează procese de selecţie, recombinare şi mutaţie.

Bibliografie

- Dumitrescu, D.

Algoritmi genetici şi Strategii evolutive - aplicaţii în Inteligenţa Artficială şi în domenii conexe

- Mitchell, M.

An Introduction to Genetic Algorithms

- Michalewicz, Z., Hinterding, R., Michalewicz, M.

Evolutionary Algorithms

- Periaux, V. , Winter,G.

Genetic Algorithms in Engineering and Computer Science

Preview document

Implementarea algoritmilor evolutivi - Pagina 1
Implementarea algoritmilor evolutivi - Pagina 2
Implementarea algoritmilor evolutivi - Pagina 3
Implementarea algoritmilor evolutivi - Pagina 4
Implementarea algoritmilor evolutivi - Pagina 5
Implementarea algoritmilor evolutivi - Pagina 6
Implementarea algoritmilor evolutivi - Pagina 7
Implementarea algoritmilor evolutivi - Pagina 8
Implementarea algoritmilor evolutivi - Pagina 9
Implementarea algoritmilor evolutivi - Pagina 10
Implementarea algoritmilor evolutivi - Pagina 11
Implementarea algoritmilor evolutivi - Pagina 12
Implementarea algoritmilor evolutivi - Pagina 13
Implementarea algoritmilor evolutivi - Pagina 14
Implementarea algoritmilor evolutivi - Pagina 15
Implementarea algoritmilor evolutivi - Pagina 16
Implementarea algoritmilor evolutivi - Pagina 17
Implementarea algoritmilor evolutivi - Pagina 18
Implementarea algoritmilor evolutivi - Pagina 19
Implementarea algoritmilor evolutivi - Pagina 20
Implementarea algoritmilor evolutivi - Pagina 21
Implementarea algoritmilor evolutivi - Pagina 22
Implementarea algoritmilor evolutivi - Pagina 23
Implementarea algoritmilor evolutivi - Pagina 24
Implementarea algoritmilor evolutivi - Pagina 25
Implementarea algoritmilor evolutivi - Pagina 26
Implementarea algoritmilor evolutivi - Pagina 27
Implementarea algoritmilor evolutivi - Pagina 28
Implementarea algoritmilor evolutivi - Pagina 29
Implementarea algoritmilor evolutivi - Pagina 30
Implementarea algoritmilor evolutivi - Pagina 31
Implementarea algoritmilor evolutivi - Pagina 32
Implementarea algoritmilor evolutivi - Pagina 33
Implementarea algoritmilor evolutivi - Pagina 34
Implementarea algoritmilor evolutivi - Pagina 35
Implementarea algoritmilor evolutivi - Pagina 36
Implementarea algoritmilor evolutivi - Pagina 37
Implementarea algoritmilor evolutivi - Pagina 38
Implementarea algoritmilor evolutivi - Pagina 39
Implementarea algoritmilor evolutivi - Pagina 40
Implementarea algoritmilor evolutivi - Pagina 41
Implementarea algoritmilor evolutivi - Pagina 42
Implementarea algoritmilor evolutivi - Pagina 43
Implementarea algoritmilor evolutivi - Pagina 44
Implementarea algoritmilor evolutivi - Pagina 45
Implementarea algoritmilor evolutivi - Pagina 46
Implementarea algoritmilor evolutivi - Pagina 47
Implementarea algoritmilor evolutivi - Pagina 48
Implementarea algoritmilor evolutivi - Pagina 49
Implementarea algoritmilor evolutivi - Pagina 50
Implementarea algoritmilor evolutivi - Pagina 51
Implementarea algoritmilor evolutivi - Pagina 52
Implementarea algoritmilor evolutivi - Pagina 53
Implementarea algoritmilor evolutivi - Pagina 54
Implementarea algoritmilor evolutivi - Pagina 55

Conținut arhivă zip

  • Implementarea algoritmilor evolutivi.doc

Alții au mai descărcat și

Software pentru recruțarea de personal

1. Introducere Recrutarea și selecția resurselor umane reprezintă două subprocese vitale în cadrul procesului de management al capitalului uman...

Rezolvarea problemei rucsacului folosind tehnici de metauristici

Rezumare In aceasta lucrare mi-am propus o metodologie hibrida pentru rezolvarea unei problem de optimizare, mai exact problema rucsacului....

Rezolvarea Problemei Comis - Voiajorului cu Ajutorul Algoritmilor Genetici

Algoritmi genetici Tehnici adaptive de cautare euristica, bazate pe principiile geneticii si ale selectiei naturale Lucreaza cu o populatie de...

Problema celor opt regine

1. Enunţul problemei. Problema celor 8 regine. Să se plaseze 8 regine pe o tablă de şah a.î. acestea să nu se atace reciproc. O regină atacă orice...

Algoritmi Genetici

Calculul cognitiv denotă o familie de metode de rezolvare a problemelor care imită inteligenţa “găsită” în natură. Obiectivul comun al acestor...

Sistem inteligent pentru dezvoltarea câmpurilor petroliere

Capitolul I: Proces economic. Tehnologii inteligente Domeniul inteligenţei artificiale, sau IA, îşi propune să inţeleagă entităţile inteligente....

Rezolvarea Problemei Comis-Voiajorului cu Algoritmi Genetici

Problema comis-voiajorului Una dintre cele mai cunoscute probleme de optimizare este problema comis-voiajorului, o problemă NP-completă care nu...

Laboratoare la C++

Chişinău 2014 1.Scrieţi un program care calculează suma cifrelor pentru fiecare număr din consecutivitatea de 100 de numere aleatoare. Listing:...

Te-ar putea interesa și

Anliza și Prelucrarea Imaginilor

Introducere Prelucrarea de imagini este un domeniu care îsi pastreaza dinamismul în ciuda trecerii anilor. Dezvoltarile tehnologice au facilitat...

Controlul Proceselor Neliniare Utilizând Automate Programabile

Introducere Odata cu progresul tehnicii, calculatoarele au devenit elemente esentiale pentru implementarea sistemelor de reglare automata....

Sistem de Taiere 3D cu Comandă Numerică Asistat de Calculator

1.INTRODUCERE Integrarea controlului numeric in masinile de prelucrare reprezinta o directie fireasca de dezvoltare intrucat, odata cu progresul...

Compresia fractală evolutivă a imaginii

1. Sinteza temei Acest proiect descrie tehnica de compresie numită compresie fractală a imaginii. Compresia fractală a imaginii se bazează pe...

Sisteme de Conducere Multimodel

1. INTRODUCERE 1.1. Introducere în contextul sistemelor de conducere Procesele automatizate de la care se pretind specificatii dorite ca...

Componente Software pentru Managementul Portofoliilor de Acțiuni

Abstract 4 Introducere 5 Algoritmi genetici 6 Introducere 6 Structura generala a unui algoritm genetic 8 Structuri de date 10 Construirea...

Prelucrarea Imaginilor

1.Generalităţi Prelucrarea (digitală) a imaginilor reprezintă un domeniu foarte larg, de sine stătător. Acest domeniu are la baza o teorie...

Tehnici Evoluate de Conducere

Calcul evolutiv. Principiile calculului evolutiv Este inspirat de procesele de evolutie din natura bazate pe principiile ereditatii si a...

Ai nevoie de altceva?