Sunteți pe pagina 1din 6

Cserei Robert

Informatic - Anul III


Inteligen artificial
Algoritmi genetici
Cuprins
1)
2)
3)
4)
5)
6)
7)
8)
9)

Descrierea general a algoritmilor genetici


Codificare
Operatori genetici
Evaluarea indivizilor. Selecia pentru reproducere i supravieuir
Eventuale probleme
Condiii de stop
Proprieti ale algoritmilor genetici
Avantajele algoritmilor genetici
Limitrile algoritmilor genetici

1) Descriere general a algoritmilor genetici


Algoritmii genetici = metod de cutare i/sau optimizare.
Sunt folosite strategii similare celor statuate de genetic i de teoriile evoluioniste
privitoare la selecia natural.
Metoda poate oferi soluii pentru probleme cu grad ridicat de complexitate:
optimizri neliniare, cu restricii neliniare, optimizri multiobiectiv.
Algoritmii genetici sunt considerai de specialiti o aplicaie a inteligentei artificiale.
La fiecare etap a algoritmului (numit generaie) o mulime (populaie) de posibile
soluii (indivizi, cromozomi) x S este considerat.
Indivizii sunt evaluai conform obiectivului problemei i cei mai buni (mai bine adaptai)
sunt ncurajai s supravieuiasc i s se reproduc.
Noi posibile soluii (copiii) se obin prin combinarea materialul genetic al prinilor,
similar modului n care se ncrucieaz lanurile de ADN n sistemele biologice. Procesul de
reproducere permite direcionarea eficient a cutrii ctre alte puncte din spaiul considerat,
folosind informaiile codificate n cel mai valoros material genetic din populaie.
Mici variaii pot apoi afecta copiii, n scopul de a menine diversitatea n procesul de
cutare i de a evita blocarea algoritmului ntr-un punct de optim local.

Copiii vor lupta pentru supravieuire cu indivizii existeni n actuala populaie. Cei mai buni
vor avea anse mai mari de a ctiga competiia.
Procesul se repet de un numr convenabil de ori. Dac nu se folosesc mecanisme
speciale, populaia tinde s conin tot mai multe copii ale individului mai bine adaptat.
2) Codificare
De obicei codificarea este binar.
Codificarea asigur proiecia din spaiul de cutare S ntr-un alt spaiu, S*, n care vor
aciona operatorii genetici.
Un individ din populaie = un ir de caractere permise de alfabetul utilizat.
n cazul codrii binare alfabetul este {0,1}.
Lanul (irul) de caractere prin care este codificat un individ se numete cromozom.
Poziia (un caracter) din lan se numete gen sau locus.
Valorile permise pentru fiecare gen sunt referite prin alele (de exemplu, la alfabetul
binar alelele sunt 0 i 1).
Genotipul precizeaz structura lanului cromozomial i valorile tuturor genelor componente
(o caracteristic a individului n spaiul S*).
Fenotipul caracterizeaz comportamentul pe care-l are individul pe baza genotipului
su. Fenotipul ofer cromozomului o semnificaie n spaiul S, decodificnd informaiile incluse n
genotip.
3) Operatori genetici
Operatorul ncruciare (crossover - limba englez)
Este un operator binar: doi prin doi copii -- interschimbnd poriuni
din lanurile cromozomiale.
Operatorul mutaie:
Este un operator unar: se vor modifica valorile corespunztoare unor gene aleator
selectate din structura unui cromozom. De exemplu, la codificarea binar mutaia schimb
o gen cu valoarea 0 n alela sa 1 i o gen cu valoarea 1 n alela sa 0.
Operatorii genetici acioneaz dup reguli stochastice, n raport cu probabilitatea
de apariie care le-a fost atribuit:

nu toi indivizii selectai pentru mulimea de reproducere (bazinul de

reproducere) sunt afectai de ncruciare (unii vor genera copii, alii nu);
alegerea punctelor de rupere ale lanurilor cromozomiale i selecia
genelor care vor suferi operaia de mutaie nu sunt procese deterministe.

4) Evaluarea indivizilor. Selecia pentru reproducere i supravieuire


Capacitatea de adaptare a individului la mediul n care triete este msurat
prin surplusul de eficien al individului n comparaie cu ceilali indivizi din
populaie.
Calitatea unui individ este n general msurat astfel :
Absolut prin valoarea funciei obiectiv precizeaz aadar ct de bine rspunde
individul scopului problemei
Relativ la ceilali indivizi din populaie prin valoarea funciei obiectiv
relativ.
Include o

comparaie

peformanelor

individului

cu

performanelor

indivizilor ntre care se dezvolt.


Ajut la stabilirea indivizilor ce devin parini i la alegerea indivizilor care
supravieuiesc n generaia urmtoare.
n general un individ mai bun dect media trebuie ncurajat
supravieuiasc

i s produc urmai pentru c materialul genetic pe care-l

conine este de o mai bun calitate dect al celorlali indivizi din populaie.
5) Eventuale probleme
ncurajnd n mod excesiv indivizii superiori s supravieuiasc, se
direcioneaz procesul de cutare spre zone restrnse din spaiul S*, situate n
vecintatea indivizilor mai buni. Viteza de convergen a algoritmului va fi foarte
bun, dar rezultatul poate reprezenta doar un optim local, nu global.
Se poate ntmpla ca n populaie s existe indivizi cu performane actuale
slabe. Opernd puine modificri n structura lor genetic, este posibil ca indivizii
rezultai s fie mai buni dect actualii lideri din populaie.
Pentru a evita blocarea algoritmului ntr-un optim local trebuie pstrat un bun
echilibru ntre viteza de convergena a algoritmului i meninerea unui grad de
diversitate adecvat n populaie. La acest echilibru contribuie n mod esenial
procesul de selecie a prinilor i apoi de inserie a copiilor.

6) Condiii de stop
Deoarece

algoritmul

funcioneaz

nesupervizat

i folosete

procedee

stochastice, este greu de stabilit o condiie de stop. n general condiia de stop


este exprimat prin impunerea unui numr maxim de generaii evolutive.
Numrul maxim de generaii se ajusteaz prin ncercri, pentru fiecare problem
particular n parte. Alt variant folosit pentru determinarea momentului
de stop al algoritmului const n verificarea diferenelor care exist ntre
indivizii din populaie Dac indivizii sunt mult diferii, algoritmul este lsat
s

continue.

Dac

indivizii

sunt asemntori, algoritmul poate fi oprit.

Cuantumul maxim permis pentru diferena dintre doi indivizi nu este uor de
stabilit. Acest parametru se seteaz mult mai greu dect numrul maxim de
generaii permis.
Codificarea are aici un rol deosebit de important, deoarece pot exista indivizi
cu mici diferene la nivelul genotipului, dar cu mari diferene la nivelul
fenotipului i invers.
7) Proprieti ale algoritmilor genetici
Cteva caracteristici deosebesc n mod esenial algoritmii genetici de alte
metode de optimizare:

algoritmii genetici analizeaz n paralel o mulime (populaie) de puncte


algoritmii genitici utilizeaz reguli stohastice de tranziie
algoritmii genetici se bazeaz doar pe cunoaterea valorilor funciei obiectiv
nu necesit informaii despre gradientul funciei obiectiv sau alte informaii

suplimentare
algoritmii genetici opereaz, de regul, pe o codificare a setului de parametri
(o excepie este reprezentat de cazul codrii n virgul mobil a variabilelor
de decizie)

8) Avantajele algoritmilor genetici


Avantajul deosebit al algoritmilor genetici este dat de faptul ca solicit doar
valorile funciei

obiectiv.

Ei

se

ncadreaz

categoria

metodelor

slabe

de

cutare/optimizare, adic a acelor metode care solicit puine cunotinte despre problema de
rezolvat. Cunotinele suplimentare, dac exist, pot fi integrate n algoritm. Algoritmii
genetici se pot aplica i pentru optimizarea unor funcii care nu sunt derivabile. Nici mcar
condiia de continuitate a funciei obiectiv nu este solicitat. - un grad mare de

universalitate.
Algoritmii genetici sunt metode eficiente de optimizare. Rezultate convenabile
au fost raportate pentru optimizri genetice complexe: optimizri neliniare mutimodale,
multiobiectiv, optimizri cu restricii neliniare, pentru spaii largi de cutare i numr mare
de variabile de decizie. Soluia oferit este acceptabil de apropiat de cea de optim global.
Algoritmii genetici sunt uor de implementat. Sunt uor de reconfigurat dac formularea
problemei se modific. Algoritmii pot fi uor paralelizai.
9) Limitrile algoritmilor genetici
Algoritmii genetici sunt (foarte) mari consumatori de timp. Perfomanele algoritmilor
genetici sunt dependente de modul n care sunt setai parametrii acestuia: probabilitatea
de aciune a operatorilor genetici, dimensiunea populaiei, numrul de generaii permis, rata
de selecie a indivilor pentru reproducere, etc.
Performanele algoritmului sunt dependente i de calitatea generatorului de numere
aleatoare.

S-ar putea să vă placă și