|
Politica de confidentialitate |
|
• domnisoara hus • legume • istoria unui galban • metanol • recapitulare • profitul • caract • comentariu liric • radiolocatia • praslea cel voinic si merele da aur | |
ALGORITMII GENETICI | ||||||
|
||||||
ALGORITMII GENETICI sunt o familie de modele inspirate de teoria evolutiei,
sunt programe inteligente capabile sa solutioneze probleme folosind un conceptul
al evolutiei speciilor. Acesti algoritmi codifica solutiile posibile ale unor
probleme specifice intr-o structura de date de tip cromozom si aplica
acestor structuri operatori de recombinare, pentru a pastra informatia utila.
t6u13us Un cromozom este un vector sau un sir de gene. Pozitia unei gene este numita locusul ei. Valorile pe care le poate lua o gena sunt numite alele, sunt multimi finite de numere intregi, intervale de numere reale, sau chiar structuri complexe de date. Alele variaza de la un locus la altul. Sarcina unui algoritm genetic e sa descopere cromozomi din ce in ce mai buni, pana la atingerea unei valori a raportului dintre evaluarea asociata unui sir si evaluarea medie a tuturor sirurilor populatiei (fitness) despre care se stie ca este optimala, sau pana cand algoritmul genetic nu mai poate aduce imbunatatiri. Implementarea unui algoritm genetic incepe cu o populatie de cromozomi (aleasa aleator). Se evalueaza, apoi, aceste structuri si se aloca facilitati reproductive astfel incat acei cromozomi, care reprezinta o solutie mai buna pentru problema tinta, sa aiba mai multe sanse de a se reproduce decat acei cromozomi care sunt solutii mai putin bune. Definirea unei solutii bune se face in raport cu populatia curenta. Intr-un sens mai larg, algoritm genetic este orice model bazat pe ideea de populatie si care foloseste selectie si operatori de recombinare pentru a genera noi puncte intr-un spatiu de cautare. Multe modele au fost introduse de cercetatori dintr-o perspectiva experimentala. Cercetatorii sunt orientati spre aplicatii, fiind interesati de algoritmii genetici doar ca mijloace de optimizare. Ei sunt recomandati pentru aflarea solutiilor neliniare ale unor probleme atunci
cand nu este posibila modelarea matematica si nici euristica in
domeniu. 4. folosirea unei retele neuronale pentru asistarea functionarii unui algoritm genetic, 5. folosirea algoritmilor genetici la reglarea parametrilor unui sistem expert fuzzy pentru controlul proceselor, 6. imbunatatirea performantei unui sistem expert prin incorporarea rationamentului bazat pe cazuri, etc. Asemenea cercetari sunt in prezent in mare voga in cele mai specializate laboratoare ale lumii stiintifice. Citeva subiecte ale conceptelor de baza : · probleme de optimizare - doar doua componente principale sunt dependente
de problema de rezolvat : codificarea si functia de evaluare. Scopul este de a
fixa parametrii in asa fel incat iesirea sa fie optima. Aplicatii ale algoritmilor genetici -; Algoritmii genetici reprezinta
o metoda cu care pot fi atacate relativ usor probleme dificile de optimizaresau
control, cu rezultate bune sau chiar optimale. Un exemplu il constituie sistemul care functioneaza la instalatia de maleabilizare a unui laminor de platbande de otel, unde operatorul unei macarale este ajutat sa decida unde sa puna otelul laminat inainte de maleabilizare, cum sa grupeze sarjele in cuptorul de maleabilizare si cum sa aranjeze otelul laminat maleabilizat pentru a fi expediat in functie de comenzile primite. Un alt exemplu este aceea de a realiza optimizarea unor obiective variate in alcatuirea orarelor pentu cursuri sau examene. Aplicatii ale algoritmilor genetici este de exemplu controlul curgerii de gaz printr-o conducta, in regim stationar si in regim tranzitoriu. De-a lungul conductei, presiunea gazului descreste in mod natural si trebuie marita cu ajutorul unor compresoare. Obiectivul consta in mentinerea presiunii in punctele de livrare la nivelul dorit, cu minimizarea energiei folosite in compresoare si andeplinirea altor restrictii. De asemenea, este necesara detectarea, pe baza masurarii presiunii, a scurgerilor probabile, evitand, pe cat posibil, alarmele false. Alti cercetatori descriu o aplicatie in proiectarea retelelor de comunicatii antre statii aflate la mare distanta. Optimizarea planificarilor - utilizarea algoritmilor pentru planificarea examenelor
-; se dau un set de examene si un numar fix de casute libere in orar
: obiectivul e de a aseza fiecare examen intr-una dintre casute, asfel
incat nici un student sa nu aiba examene aflate in casute
consecutive, nici prea multe examene in aceeasi zi. De asemenea, anumite
examene nu pot fi puse in anumite casute. unul dintre studenti a avut de sustinut doua examene consecutive. Algoritmul a obtinut o astfel de solutie, nu intotdeauna aceeasi, in 50% din rulari. S-a aplicat metode similare pentru a genera orarul cursurilor; aici un cromozom reprezinta, pentru fiecare curs, ora de incepere si locul de desfasurare, existand penalizari pentru lipsa de spatiu in sala de curs, pentru distante prea mari intre salile unde se desfasoara doua cursuri consecutive. Metodele tarditionale de plnificare, sun mai rapide daca restrictiile sunt de tip “aceste evenimente nu pot avea loc simultan”, dar algoritmii genetici reprezinta o solutie superioara daca exista si alte restrictii mai complicate. Numeroase articole, programe pot fi gasite pe internet la adresele :· garbo.uwasa.fi:pc/reseach/2500Garefs.ps.gz · ftp.cs.cuhk:pub/EC · ftp.germany.eu.net:pub/research/softcomp/EC · alife.sanatatefe.edu:pub/USER-AREA/EC · ftp.dcs.warwick.ac.uk:pub/mirrors/EC SISTEME INTELIGENTE BAZATE PE ALGORITMI GENETICI Mecanismul specific acestor sisteme este inspirat din functionare sistemelor
biologice, in sensul ca incurajeaza solutiile candidat capabile
sa rezolve o problema si penalizeaza solutiile fara succes. In felul acesta
se obtin, dupa mai multe generatii, solutii foarte bune pentru probleme de optimizare
complexe, cu un mare numar de parametri. Un asemenea ciclu se repeta pana cand este identificata cea mai buna solutie la problema in cauza.
fazele ciclului algoritmilor genetici Datorita structurii lor inerent paralele, sisteme inteligente bazate pe algoritmi genetici s-au dovedit performante in problemele de cautare si identificare
a structurilor si relatiilor specifice in cadrul bazelor de date si bazelor
de cunostinte voluminoase (data mining). Un succes particular s-a obtinut cu
ele in problemele de optimizare referitoare la selectrea personalului
si selectrea portofoliilor. Aplicatiile acestor sisteme s-au diversificat rapid si s-au dovedit utile domeniul afacerilor financiare, comertului cu titluri, evaluarii creditelor, detectiei fraudelor si predictiei falimentului. De exemplu, unii cercetatori au folosit asemenea sisteme la inferarea unor reguli pentru predictia falimentului intreprinderilor, pe baza indicatorilor financiari obtinuti din bilant (financial ratios). Alti cercetatori descriu modul de utilizare a algoritmilor genetici in alocarea bugetara, in vederea asistarii guvernelor si administratiilor locale la adoptarea celor mai bune decizii. Problema : Exemplu de utilizare : #include<stdio.h> int evaluate(SuChromosome*chrom,double*fitness); main( int argc,char*arvgai ) int evaluate (SuChromosome*chrom,double*fitness); A int i; int N=3; int count=0; double result=0.0; for( i=0; i<chrom->length;++i ) count+=SuGetBit( chrom->string,i ); if(count%N==0)result=2*count; else result =count; *fitness=result return 0; Modificarile au fost facute in functia de evaluare. Pentru a seta parametrii algoritmului genetic am schimbat liniile fisierului ex1.cfg dupa cum urmeaza : generation 10 population 10 length 10 in generation 100 population 50 length 10 (intamplator, lungimea sirului binar era predefinita ca 10, in
general ea va trebui modificata). |
||||||
|
||||||
|
||||||
Copyright© 2005 - 2024 | Trimite document | Harta site | Adauga in favorite |
|