Algoritmi Genetici

Proiect
8/10 (1 vot)
Conține 1 fișier: docx
Pagini : 23 în total
Cuvinte : 2513
Mărime: 35.74KB (arhivat)
Publicat de: Teofil Ștefan
Puncte necesare: 7
Universitatea Petrol si Gaze Ploiesti Tehnici avansate de prelucrare a informatiei

Extras din proiect

Algoritmii Genetici sunt strategii de rezolvare a problemelor cu ajutorul computerelor bazate pe teorii evoluţioniste. Soluţiile potenţiale sunt forţate să conlucreze într-un anumit mediu, având ca rezultat soluţiile cele mai bune în timp. Unul din principalele beneficii ale algoritmilor genetici este acela, că pentru a rezolva o anumită problemă este nevoie de o cunoaştere a evoluţiei soluţiilor potenţiale şi nu construirea dinainte a uneia optime. Acest lucru devine evident cu cât complexitatea unei probleme se măreşte, soluţia optimă în acest caz este mult mai greu de determinat, o astfel de abordare fiind mult mai bună. În plus metodele utilizate de algoritmii genetici sunt utilizate şi în rezolvarea problemelor de către oameni.

Un algoritm genetic poate căuta foarte eficient soluţia în spatiul soluţiilor unei probleme date şi ajunge la o soluţie bună folosind o strategie inteligentă de cautare.

Algoritmii genetici reprezintă o modalitate de a căuta, în mod aleator, răspunsuri la probleme curente. Principiul de funcţionare al unui algoritm genetic se bazează pe tendinţa de creştere a performanţei unei populaţii de soluţii candidat, în timp, determinată de competiţia pentru resursele mediului şi propagarea materialului genetic de către cei mai buni indivizi ai populaţiei. Noţiunea cheie a algoritmilor genetici este performanţa indivizilor, determinată de funcţia obiectiv şi de restricţiile problemei.

Se poate spune ca algoritmii genetici sunt proceduri de căutare bazate pe mecanisme naturale de selecţie naturală şi genetică.

Enuntul problemei :

Fie un program alcatuit din 10 actiuni. Se cere accelerarea acestuia la un cost minim, adica duratele cu care cele 10 actiuni pot fi reduse astfel incat costul total al accelerarii sa fie minim, stiind ca accelerarea atrage dupa sine cresteri de cost. Duratele maxime de accelerare ale celor 10 actiuni (d max) si cresterile de cost unitare pricinuite de accelerarea actiunilor (c u) sunt date in tabelul urmator:

Actiune 1 2 3 4 5 6 7 8 9 10

D max (min) 5 4 2 5 7 10 21 3 1 13

C u (u.m./min) 2 3 2 2 4 7 7 5 4 8

Functia cost se va determina cu formula : ∑_(i=1)^10〖di*Cui〗, unde di este durata cu care se accelereaza actiunea i(valoarea genei i).

De exemplu, individual (2 4 0 1 6 8 14 2 0 11) va avea valoarea functiei obiectiv

2*2+4*3+0*2+1*2+6*4+8*7+14*7+2*5+0*4+11*8

Datele de intrare :

Datele de intrare se impart in doua categorii:

Datele de intrare se impart in doua categorii :

Date de intrare specifice problemei :

N care are 2 roluri :

N=numarul de indivizi

N=numarul de actiuni

Parametrii de aplicare a algoritmilor genetici :

- dimensiunea initiala a populatiei (N_init);

- dimensiunea maxima a populatiei (N_max);

- numarul maxim de generatii (Gen_max);

- rata de incrucisare (Rc);

- rata de mutatie (Rm);

1.5. Evaluarea indivizilor

Functia ce va determina performanta este data de functia individ care trebuie maximizata.

In limbajul C, codul aferent acesteia este:

int Fitness(Individ ind)

{

int f=0;

int i,j;

for(i=0;i<n;i++)

for(j=0;j<i;j++)

if (a[ind.cromozom[i]-1][ind.cromozom[j]-1]==1)

f=f+1;

return f;

}

1.6. Operatorii genetici

Selectie

Modelele de selectie cel mai frecvent apelate sunt: ruleta, turneu, elitista si aleatoare.

Pentru problema de fata selectia aleasa este selectia turneu. Aceasta consta in sortarea indivizilor din populatia curenta dupa performanta si se aleg drept parinti cei mai buni indivizi.

Consider dt ca fiind dimensiunea turneului. Aleg la intamplare dt indivizi si cel cu fitness-ul cel mai mare se adauga la populatia selectata si procesul se repeta pana cand vor fi epuizati toti indivizii.

Functia fitness este functia de evaluare a individului (eficienta lui). Aceasta trebuie maximizata si reprezinta numarul de precedente respectate.

Codul specific in limbajul C este:

void SelectieIndivizi(int nr)

{

int i,j,indice,poz,max;

Individ participanti[10];

for(i=0;i<nr;i++)

{

for(j=0;j<dt;j++)

{

poz=random(dimensiune);

participanti[j]=populatie[poz];

}

Preview document

Algoritmi Genetici - Pagina 1
Algoritmi Genetici - Pagina 2
Algoritmi Genetici - Pagina 3
Algoritmi Genetici - Pagina 4
Algoritmi Genetici - Pagina 5
Algoritmi Genetici - Pagina 6
Algoritmi Genetici - Pagina 7
Algoritmi Genetici - Pagina 8
Algoritmi Genetici - Pagina 9
Algoritmi Genetici - Pagina 10
Algoritmi Genetici - Pagina 11
Algoritmi Genetici - Pagina 12
Algoritmi Genetici - Pagina 13
Algoritmi Genetici - Pagina 14
Algoritmi Genetici - Pagina 15
Algoritmi Genetici - Pagina 16
Algoritmi Genetici - Pagina 17
Algoritmi Genetici - Pagina 18
Algoritmi Genetici - Pagina 19
Algoritmi Genetici - Pagina 20
Algoritmi Genetici - Pagina 21
Algoritmi Genetici - Pagina 22
Algoritmi Genetici - Pagina 23

Conținut arhivă zip

  • Algoritmi Genetici.docx

Alții au mai descărcat și

Grilă sisteme informaționale de gestiune - Access

Adăugarea de câmpuri la o tabelă se face în modul de vizualizare:...... Previzualizare inaintea imprimarii Aplicarea unei restrictii de...

Hackeri

Hackerii sunt pasionati ai informaticii, care, de obicei au ca scop „spargerea” anumitor coduri, baze de date, pagini web etc. Ei sunt considerati...

Baze de Date

3.Introducere in bd si sgbd-uri Definitie: Numim baza de date o colectie partajata de date aflata in interdependenta logica impreuna cu o...

Te-ar putea interesa și

Utilizarea algoritmilor genetici la rezolvarea problemei rutării vehiculelor

1. Algoritmi Genetici 1.1. Introducere În ultimii ani, metodele bazate pe algoritmi genetici s-au bucurat de succes în domeniul cercetărilor...

Implementarea algoritmilor evolutivi

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

Aplicații ale algoritmilor genetici în management - problema comis voiajorului

1. REZUMAT Un algoritm genetic efectuează operaţii specifice în cadrul unui proces de reproducere guvernat de operatori genetici. Noile soluţii...

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...

Un algoritm genetic de îmbunătățire a puterii reactive

1. Rezumat Algoritmii genetici sunt tehnici adaptive de căutare euristică, bazate pe principiile geneticii şi ale selecţiei naturale, enunţate de...

Algoritmi genetici - studiu de caz - optimizarea traficului într-o rețea

1 Istoric Inceputurile algoritmilor geneticise situeaza undeva in jurul anului 1950, cand mai multi biologi au folosit calculatoarele pentru...

Algoritmi Genetici

1 Introducere în calculul evolutiv În general, orice sarcina abstracta care trebuie îndeplinita, poate fi privita ca fiind rezolvarea unei...

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...

Ai nevoie de altceva?