De la genetica moleculară la inteligenţa artificială (IV). Simularea procesului evolutiv.

Până ȋn prezent există două modele matematice care permit simularea procesului evolutiv pe calculator: strategii evolutive și algoritmi genetici

1. Strategii Evolutive

Se bazează pe modelul matematic al evoluţiei, realizat ȋn anul 1960 de Ingo Rechenberg de la Universitatea Berlin, publicat ȋn cartea Evolutionsstrategien

Primele modele realizate sunt foarte abstracte și neglijează detaliile biologice

Ulterior modelele au fost perfecţionate și au fost luate ȋn considerare date reale din biologie, astfel că diferitele modele (strategii) prezintă mai multe grade de “iniţiere” a realităţii biologice.
Conform părerii lui Rechenberg, este greșit să credem că un exemplu din natură trebuie copiat identic pentru a obţine perfecţiunea pe plan tehnic.

Variantele strategiilor evolutive (SE),  se deosebesc doar prin elementele luate în considerare, respectiv dacă se consideră o populaţie sau mai multe populaţii. Pentru a definii un detaliu se utilizează  mutaţiile, recombinarea și selecţionarea.
Dilema continuă a celor care realizează aceste modele constă  ȋn incertitudinea privind gradul de suprapunere a modelului peste situaţia reală. Se pune ȋntrebarea ce se pierde  ȋn procesul simulat, dacă anumite detalii nu se iau ȋn considerare. Sau modelarea poate fi suprareprezentată prin considerarea prea multor detalii (unele irelevante).

La aceste ȋntrebări nu există prea multe răspunsuri clare, astfel încât teoreticienii evoluţiei s-au ȋmpărţit ȋn (cel puţin) două tabere:

Ȋn prima tabără se află școala germană a lui Rechenberg, care consideră că evoluţia biologică constituie numai un fir conducător al metodei de căutare și optimizare.

Ȋn cea de a doua tabară se află școala americană a lui Holland și Goldberg (Algoritmi genetici), care ȋncearcă să răspundă la ȋntrebarea cum reușește evoluţia să codifice, să prelucreze și să transmită informaţia de la o generaţie la alta?

Rechenberg a formulat și a dezvoltat o formă de reprezentare grafică compactă, ȋn care indivizii unei populaţii simulate sunt reprezentaţi grafic prin “cărţi de joc alenaturii”, iar mecanismele evolutive sunt reprezentate prin simboluri care reprezintă amestecarea, selecţia și evaluarea cărţilor.

Caracteristica importantă a modelării procesului evolutiv prin metoda “Strategiei evolutive” constă ȋn evaluarea diversele valori posibile ale parametrilor consideraţi, exprimate prin vectori a numerelor reale, iar o populaţie de indivizi – ca o mulţime de astfel de vectori. Transformarea genotipului unui individ ȋntr-un Fenotip se face conform condiţiei de evaluare.
De fapt, codificarea informaţiei relevante depinde de punerea problemei, astfel că nu există o codificare optimă independentă de problema care urmează să fie simulată și optimizată.

Strategia evolutiva de tipul (1+1)

Este concepută ȋn anul 1964 de către Rechenberg și numită “SE cu doi termeni”. Schema se bazează pe următoarele considerente:
 – Se consideră un individ dintr-o mulţime (caracterizat printr-un vector a unui număr real), numit “părinte”. De la acest “părinte” va apărea un urmaș, “copil”, datorită diviziunii vectorului iniţial.
– Ȋn a doua etapă, “copilul” (sau duplicatul, copia), va fi modificat aleator (ȋnsă nu arbitrar), printr-un proces de mutaţie, astfel ȋncât vectorului atașat i se va adăuga o valoare pozitivă sau negativă.
– Ȋn cea de a treia etapă, vectorul care caracterizează “părintele” și vectorul corespunzător “copilului” (duplicatul supus deja procesului de mutaţie) se vor compara și evalua.
– Se folosește principiul din evoluţia clasică: supravieţuiește cel care este cel mai adaptat, respectiv vectorul care are valoarea cea mai apropiată valorii funcţiei de calitate. Acesta se va folosi ȋn continuare pentru producerea altor urmași aplicând aceeași schemă. Vectorii care caracterizează urmașii, dar care nu ȋndeplinesc condiţia de calitate, vor fi “uitaţi” și nu vor mai fi luaţi ȋn considerare.
Aceste trei etape, autoreproducerea (duplicarea), mutaţia și selecţia – se vor repeta pâna când calitatea populaţiei de urmași ȋndeplinesc condiţia de evaluare  impusă. Oprirea procesului de optimizare se face fie automat, după un anumit ciclu, fie după un anumit număr de generaţii produse.

Presiunea de selectie şi undele de populatie
Este o variantă a strategiei evolutive care  permite atât o descriere simplă de simulare a presiunii de selecţie din interiorul unei populatii, cât și a undelor de populaţie. Adică, sunt luaţi ȋn considerare 2 factori importanţi ai evoluţiei.

Atunci când apare o selecţie puternică, ȋn generaţia următoare a evolusiei vor apare indivizi foarte bine adaptaţi.

Atunci când populaţia crește, ȋn generaţia următoare se vor produce mai mulţi urmași decât pot fi preluaţi și ca urmare apare o presiune de selecţie și mai puternică

Atunci când nu apare nici o selecţie, presiunea de selecţie este foarte mică sau inexistentă.

2. Algoritmi genetici (AG)

Algoritmul –  este o metodă folosită ȋn matematică care cuprinde o succesiune de instrucţiuni care trebuie să fie aplicate pas cu pas (succesiv) astfel ȋncât o problemă să fie rezolvată, sau o acţiune să fie ȋndeplinită. Ȋn acest proces de aplicare succesivă a instrucţiunilor, datele iniţiale ale problemei sunt transformate ȋn date finale numite rezolvări sau acţiuni.

 Algoritmul genetic este o metodă de căutare adaptivă bazată pe genetica populaţilor naturale,  introdusă și dezvoltată de John Henry Holland  ȋn anul 1970.

John Henry Hollnad (1929-2015)

John Henry Holland s-a născut la 2 februarie 1929 ȋn Fort Wayne, Allen County, Indiana, fiul lui Gustave A. Holland din Polonia rusească (1896) și a lui Mildred P.Gfroerer din Columbus Ohio (1901).

Holland studiază fizica la MIT (Massachusetts Institute of Technology), obţine titlul de B.S (Bachelor in Science) ȋn anul1950, apoi studiază matematica la Universitatea din Michigan unde obţine titlul de MA(Master of Arts) ȋn anul 1954. Ȋn anul 1959 primește titlul de Ph.D (Phylosofical Doctor) ȋn știinţa computerelor, primul din Universitatea Michigan. La această universitate din Ann Arbor a fost concomitent profesor de psihologie, profesor de inginerie electrică și profesor de știinţa computerelor. A fost visiting professor la Institutul de Știinţe Rowland și la Universitatea din Bergen.

Holland este cunoscut, mai ales, ca fondatorul abordării sistemelor complexe, dezvoltarea algoritmilor genetici și modelarea sistemelor.

Holland a fost membru ȋn Consiliul de Administraţie şi în Consiliul Știinţific de la Institutul Santa Fe și al Forumului Economic Mondial.

În 1961 Holland a fost onorat cu Medalia Louis E. Levy de la Institutul Franklin, iar ȋn anul 1992 a fost primit ȋn organizaţia MacArthur Fellowship. S-a stins din viaţă ȋn 9 august 2015 ȋn Ann Arbor, Michigan.

Conform conceptului lui Holland, algoritmul genetic este un algoritm de căutare probabilistică bazat pe procesul de  selecţie naturală și a geneticii naturale.

Algoritmul începe cu un set de soluţii numite populaţii. O soluţie este reprezentată printr-un cromozom. Dimensiunea populaţiei este o caracteristică a fiecărei generaţii. Ȋn fiecare generaţie sunt evaluate caracteristicile de fitare (de asemănare)  a fiecărui cromozom din populaţia considerată și apoi cromozomii sunt selectaţi probabilistic ȋn concordanţă cu valoarea lor de fitare. Câţiva din cromozomii selectaţi ȋntâmplător se ȋmperechează și produc offspring (urmași). La producerea urmaşilor apar ȋntâmplător crossover (ȋncrucișări) și mutaţii. Deoarece cromozomii cu valori mari de fitare au o probabilitate mare de a fi selectaţi și pot avea valori medii mai mari de fitare decât cei din generaţia veche. Procesul de evoluţie se repetă până când se obţine rezultatul așteptat. Soluţia unui algoritm genetic se numește cromozom sau string (lănţișor). Ȋn majoritatea cazurilor, algoritmul genetic operează cu o listă de strings.

Funcţile folosite de un algoritm genetic pentru obţinerea unui rezultat dorit de optimizare, sunt următoarele:

Funcţia de fitare, exprimă cantitativ, câţi dintre cromozomii calculaţi, deţin șansa să se reproducă ȋn generaţia următoare. Fitarea poate fi proporţională sau liniară.

Procesele de cross-over și de recombinare a cromozomilor.

Cross-over

Aceste procese au drept scop ca spaţiul de căutare să fie cât mai eficient parcurs.

Algoritmul de bază a unui AG rămâne neschimbat, ȋnsă procesele individuale cross-over sunt adaptate și optimizate pentru fiecare problemă specifică.

Procesele de cross-over (ȋncrucișări), se realizeză cu următoarele scheme:
1.Șablonul ȋntâmplărilor; 2.One-point cross-over; 3. Two-point cross-over.

Mutaţiile

Ȋn AG (algoritmi genetici), mutaţiile joacă un rol mult mai mic decât ȋn SE (strategii evolutive) și deseori se neglijează, ȋnsă servesc cu preponderenţă și aproape exclusiv scopului de a evita o convergenţă prea rapidă, sau de a introduce o divergenţă și o neomogeneitate ȋn interiorul populaţilor.   

Presiunea de selecţie și evaluarea indivizilor are ca rezultat, considerând mai multe generatii, la omogeneizarea populaţilor. Mutaţia acţionează ȋmpotriva acestui proces.

Scheme utilizate ȋn procesul de  mutaţie:
1.Mutaţia uniform repartizată; 2.Mutaţia normal repartizata; 3.Mutaţia poziţiei; 4.Inversia cromozomilor

Ȋn cadrul utilizărilor practice, este important ca mutaţiile genelor din cromozom să nu se realizeze cu aceeași probabilitate, deoarece ponderea diverselor gene este dependentă de poziţia ȋn cromozom (datorită codificării binare)

Scheme de căsătorie

Determină care din elementele unei populaţii sunt  implicate ȋn producerea noilor cromozomi (cross-over).
De obicei din 2 cromozomi apar alţi 2 cromozomi noi. Ȋn unele cazuri, este mai avantajos ca din n părinţi să se obţină k urmași, unde k = n.

Schema de căsătorie alege candidaţii pentru producerea de urmași, pe baza unei probabilităţi care este proporţională cu gradul lor de fitare. În consecinţă urmașii din generaţia nouă sunt elemente mai optimizate decât valoarea medie a elementelor din vechea generaţie. Scopul acestui proces este ca să se obţină o calitate tot mai mare a populaţiei, de-a lungul generaţilor.

Schema de căsătorie : Ruleta
1. Evaluează fiecare cromozom cu funcţia de evaluare și determină (calculează) valoarea individuală..
2. Ȋnsumează toate valorile
3. Ordonează cromozomii ȋn mod aleator și ȋi indexează cu numere naturale. Repetă procedeul până când s-au format suficiente perechi.
4. Generează numerele aleatoare corespunzătoare cromozomilor

5. Se livrează perechile de cromozomi.

Schema de ȋnlocuire
După alegerea candidaţilor pentru reproducere, apar urmasii. Din acest moment trebuie să se decidă ce se ȋntâmplă cu elementele actuale ale populaţiei. Această sarcină este rezolvată cu schema de ȋnlocuire. Cea mai simpla formă se numește,

Generational Replacement (Ȋnlocuirea generaţiei)

Este un proces de ȋnlocuirea totală a populaţiei locale cu urmașii acesteia. Prezintă următoarele dezavantaje. Se poate ȋntâmpla ca atât indivizii din generaţia următoare cu valori ridicate, precum și valoarea medie a generaţiei noi – să fie mai mică decât a generaţiei de părinţi. Funcţia de evaluare nu mai este crescătoare nici pentru cei mai buni indivizi și nici pentru valoarea medie a generaţiei. Pentru ȋnlăturarea acestui dezavantaj se iau în considerare numai cele mai bune elemente ale unei populaţii și se utilizează schema elitismului.

Schema elitismului

Preluarea fără excepţie și fără schimbări, a celor mai bune  elemente, adică ELITA populaţiei actuale și transpunerea ei ȋn generaţia nouă. Păstrarea celor mai bune elemente din populaţie și transmiterea lor ȋn generaţia următoare, poate conduce la un efect de dominanţă, datorită diferenţei prea mari de valoare ȋntre elementele foarte bune din vechea generaţie și cele din noua generaţie. Apare așa numitul “Super individ”.
Efectul acesta conduce la o soluţie suboptimală și respectiv la o stagnare prematură a procesului de evoluţie. Pentru evitarea sau slăbirea acestui  efect, se poate lucra cu un elitism mai slab.

Schema de înlocuire : Elitismul slab
Preluarea celor mai bune elemente (Elita) din populaţia actuală și transpunerea ei ȋn generaţia următoare sub o forma mutată. Ȋn mod normal, prin schemele de ȋnlocuire, mărimea totală a populaţiei, de-alungul generaţilor-va rămâne constantă.

Aplicaţii
Primele aplicaţii, atât pentru SE cât și pentru AG au apărut ȋntre anii 1960-1970. Rechenberg a făcut primele experimente evoluţioniste, fără ajutorul calculatorului, fiind primul strateg evoluţionist pe plan teoretic și cu primele aplicaţii practice.
Ȋn SUA, Holland a ȋnceput cam ȋn aceeași perioadă, cu orientări preferenţiale spre biologie și cu interes primordial ȋn domeniul informaticii teoretice și problematicii abstracte a evoluţiei.

SE: Principalele și primele utilizări au fost orientate spre probleme tehnice de optimizare, ca de exemplu optimizarea poziţiei a 5 placi cu articulaţii pentru obţinerea rezistenţei minime la un curent de aer.
Datele problemei: Unghiul plăcilor se poate varia cu 2°. Fiecare articulaţie are maximal 51 de poziţii distincte. Combinatoriu, rezultă pentru toate plăcile aprox.300 milioane de poziţii distincte diferite.
Calcularea cu SE a condus la obţinerea soluţiei optime dupa 200 de pași de calcul.

Alte exemple de optimizare cu SE sunt: Optimizarea unui profil de răcire la transferul de căldură; Optimizarea düzei unui reactor; Optimizarea unei structuri de rezistenţă

Principalele aplicaţii ale AG au fost la recunoașterea configuraţilor, simularea celulelor vii și ȋn domeniul inteligenţei artificiale.

Reţele neuronale CNN (Cellular Neuronal Network), constituie una din cele mai remarcabile aplicaţii ale AG. Reţelele neuronale artificiale sunt modele tehnice informaţionale a sistemului nervos al creierului uman.
Aceste reţele sunt formate dintr-o mulţime de procesori (neuroni) care sunt legaţi unul de celălat prin canale de informaţie.

Reţele neuronale

Procesorii sunt ordonaţi ȋn structuri, iar canalele informaţionale pot fi comandate (amplificate sau atenuate) prin așa-numitele ponderi.

Aceste ponderi corespund locurilor de conexiune dintre neuronii biologici (sinapselor). Reţelele neuronale artificiale au două avantaje primordiale faţă de programarea convenţională,:
1.Pentru găsirea soluţiei unei probleme nu trebuie făcut un program explicit de calcul. Reţelei neuronale  i se prezintă un exemplu al problemei, iar pentru o intrare concretă de date, se introduc valorile care urmează sa fie obţinute la iesire după rularea programului.
2.Reţeaua are posibilitatea să fie supusă unui program de ȋnvăţare, ȋn urma căruia, ponderile interne care reglează canalele de transmitere sunt astfel adaptate ȋncât pentru o intrare dată (oarecare), reţeaua va răspunde cu datele dorite la ieșire.
Reţeaua ȋnvaţă deci să ordoneze corect datele de intrare, astfel ca la ieșire să se obţină rezultatul dorit, fără să fie cunoscută explicit funcţia de ordonare.

Dificultatea constă ȋn dependenţa capacităţii de ȋnvăţare (training) a reţelei de structura, construcţia și topologia ei.

Concluzia care se poate trage din parcurgerea celor 4 articole, este că natura umană de la fiziologia funcţionării organelor, echilibrul scheletului, senzorica, actuatorica mușchilor, protecţia pielii, creierul cu reţelele neuronale (celule și sinapse) și sistemul nervos central – sunt rezultatele evoluţiei continue și optimizării de funcţionare. Procesul evolutiv natural poate fi utilizat pentru optimizarea și găsirea de noi soluţii tehnice

Inteligenţa umană este rezultatul unui proces de prelucrare și optimizare a unei mari cantităţi de date și informaţii luate din mediul social și mediul ȋnconjurător (geografic, cosmic). Inteligenţa umană a reușit să rezolve problema „lipsă-necesitate” pentru ȋntreaga umanitate și a deschis drumul creaţiei artistice.

Inteligenţa artificială este un hibrid. Folosește rezultatele evoluţiei și noile metode de optimizare, dar nu a ajuns la gradul de creativitate.

Ȋnsă, rezultatele obţinute, de la cyborg (cybernetic organism), la robotică sunt uimitoare și putem crede ca intervalul dintre inteligenţa artificială și umană va fi cu timpul tot mai mic.

Roman Baican

Opiniile exprimate în textele publicate  nu reprezintă punctele de vedere ale editorilor, redactorilor sau ale membrilor colegiului redacţional. Autorii îşi asumă întreaga răspundere pentru conţinutul articolelor.

Comentariile cititorilor sunt moderate de către redacţie. Textele indecente şi atacurile la persoană se elimină. Revista Baabel este deschisă faţă de orice discuţie bazată pe principii şi schimbul de idei.

 

One Comment

  • Andrea Ghiţă commented on June 19, 2021 Reply

    Mă uimeşte mereu inteligenţa umană care poate crea intelingenţă artificială şi poate dezvolta metode de cercetare uluitoare însă, din păcate, poate crea şi instrumentele de a distruge totul…Pentru cititorul profan aceste articole sunt dificil de înţeles, însă îi rămâne în memorie faptul că aşa ceva există şi se aplică şi totul poate fi în beneficiul său.

Leave a Reply

Your email address will not be published. Required fields are marked *