Înţeleg punctul de vedere. Dar cred că trebuie clarificat ce înţelegem prin "aleatoriu" (şi asta-i o problemă... grea, foarte grea!). Sunt mai multe accepţiuni ale aleatoriului şi
aici mie mi se pare că sunt clar şi concis trecute în revistă. Aleatoriul de care vorbesc eu nu este explicat în termeni de sursă (cine şi cum îl produce, care e natura lui), ci în termeni de manifestare: şirul de evenimente trece testele statistice tradiţionale de "distribuţie echiprobabilă". De fapt, nici măcar asta nu este esenţial (evoluţia funcţionează cel mai bine cu distribuţie echiprobabilă, dar, aşa cum am mai spus, ea poate funcţiona -- sub-optimal -- şi cu distribuţii "înclinate"). Ca să ilustrez ideea, mă voi referi din nou la simulările pe computer, pentru că scot în evidenţă foarte frumos fenomenul:
Să pornim cu o entitate (un program) capabil de reproducere (aceasta înseamnă că e un program capabil să folosească legile de funcţionare ale computerului pentru a construi o copie a sa). Îl inserăm în mediu (computer) şi-l lăsăm să se reproducă. Puiul său, fiind o copie a programului iniţial, va face exact ce face şi părintele: va căuta să folosească resursele mediului pentru a se reproduce. Dar părintele nu stă degeaba, ci continuă să-şi facă treaba (reproducerea), astfel că în c*rând avem doi pui. Ambii se reproduc. Şi tot aşa, procesul continuă exploziv. Sau nu chiar aşa de exploziv, dacă sarcina reproducerii în acel mediu e destul de grea şi nu întotdeauna un individ găseşte resursele necesare reproducerii (memoria unde vrea să se reproducă poate fi ocupată, de exemplu). În plus, în mediu pot exista forţe potrivnice, care să atenteze la integritatea indivizilor (putem simula programe care şterg din când în când, după anumite reguli, conţinutul unor zone de memorie). În acest caz, sarcina unui individ devine şi mai grea: ca să se reproducă trebuie nu doar să găsească resurse, ci şi să se păzească de forţele "oarbe" din mediu. Dar programul iniţial pe care-l inserăm e foarte simplu şi nu conţine subrutine de "avoid dangerous zones", ci are doar câteva instrucţiuni al căror efect este "alege o zonă de memorie pentru reproducere; dacă e liberă, fă o copie a ta acolo; reia ciclul". Aşadar indivizii se vor reproduce şi ei cum pot, mulţi dintre ei căzând pradă forţelor potrivnice ale mediului (până la urmă, soarta oricărui individ este să fie şters cândva, doar că unii vor trăi mai mult, alţii mai puţin). Acest sistem va ajunge până la urmă la un echilibru dinamic între tendinţa reproductivă a indivizilor şi forţele "ştergătoare" din mediu. Dar... nu e prea interesant, nu? Pentru că toţi indivizii sunt identici (am presupus copierea perfectă). Nu avem evoluţie, nimic nu se schimbă.
Dar să presupunem acum că procesul de copiere nu este chiar perfect, ci că uneori se petrec erori (putem simula asta uşor). În general puiul este identic cu părintele, dar când şi când puiul iese puţin diferit (o literă din program se modifică, sau se adaugă o literă, sau se şterge una, sau două litere/zone de program se inversează între ele, sau o literă/zonă este duplicată etc.). Este la dispoziţia noastră să producem aceste mici modificări -- fie manual, când şi cum ne tună, fie automat, conform unor reguli, fie chiar aleatoriu (hai să presupunem că există aşa ceva, aleatoriul pur; dacă nu accepţi nu-i nimic, ai să vezi că nu e esenţial). Să ne imaginăm experimentul desfăşurat simultan pe patru calculatoare, cu patru metode de introducere a modificărilor:
- la calculatorul A eşti tu aşezat şi decizi când şi cum să se producă modificările
- pe calculatorul B am scris eu o subrutină care este apelată automat o dată la 100 de "naşteri" şi introduce programatic modificări, luând la rând toate variantele posibile de modificare; mai clar: subrutina are lista tuturor modificărilor posibile şi când e apelată prima dată, produce puiului respectiv prima modificare de pe listă; la a doua apelare produce a doua modificare posibilă de pe listă; şi tot aşa, secvenţial
- pe calculatorul C scriu o subrutină mult mai complicată, al cărei efect este că modificările se produc
aparent aleatoriu, dar de fapt regula este deterministă (de exemplu zecimalele lui Pi); oricum, aplicând testele statistice clasice se vede că nici un număr nu este favorizat sistematic şi frecvenţa de apariţie a oricărui număr e cam tot aia
- la calculatorul D conectez un dispozitiv aflat în contact direct cu "sursa fundamentală de aleatoriu veritabil", care dictează modificările (dacă nu accepţi "sursa fundamentală de aleatoriu veritabil", no problem, uită de acest calculator).
Să analizăm mai întâi generic ce efect poate avea o mică modificare la copiere:
a. programul rezultat ar putea să fie "mort" (adică invalid, incapabil să realizeze orice funcţie)
b. ar putea să facă ceva (de exemplu să se plimbe prin memorie) dar să-şi piardă capacitatea de a se înmulţi (partea care zice "fă o copie a ta" încetează să mai funcţioneze -- programul e "viu", dar "steril")
c. ar putea să rămână un program "viu şi reproductiv", doar că puţin modificat. În acest caz, modificarea ar putea să se manifeste în comportamentul programului sau nu:
c1. de exemplu, dacă modificarea constă în adăugarea unor instrucţiuni
după instrucţiunea finală "reia ciclul", funcţionarea programului nu se va schimba cu nimic -- dar, atenţie, modificarea se va propaga la pui, dată fiind instrucţiunea "copiază-te"!
c2. mai e posibil ca modificarea să se manifeste, de exemplu să se introducă o instrucţiune de tipul "caută o zonă liberă
ştearsă şi fă acolo pui", sau "caută o zonă liberă
neştearsă şi fă acolo pui". Astfel de modificări produc schimbări în comportamentul programelor, ele funcţionând puţin diferit faţă de părinte:
c21. unele modificări pot face ca programul să fie mai prolific
c22. alte modificări dimpotrivă, îi pot scădea şansele de reproducere
c23. mai sunt şi modificări care, deşi schimbă comportamentul programului, nici nu cresc şi nici nu scad şansele lui de reproducere.
Cam asta e lista tuturor efectelor posibile ale unei modificări, de acord? Să facem un bilanţ:
a. pui mort, reproductivitate 0
b. pui steril, reproductivitate 0
c1. şi c23. pui reproductiv, reproductivitate egală cu a părintelui (doar c23 conferă comportament diferit de al părintelui)
c21. pui reproductiv, reproductivitate crescută faţă de părinte
c22. pui reproductiv, reproductivitate scăzută faţă de părinte.
Acum, la computerul A (unde decizi tu modificările), probabil că te vei orienta preferenţial spre modificări din categoria c21. (Asta dacă analizezi suficient de bine structura programelor şi dacă sesizezi mereu modificările benefice.) De fapt... nu ştiu, treaba ta ce modificări vei face, n-am de unde să-ţi ştiu scopul. Oricum, o chestie e clară: dacă scopul tău e altul decât exterminarea vieţii în acel computer, te vei feri de modificări de tipul a, iar modificări de tipul b nu are sens să faci (decât dacă vrei să frânezi "creşterea demografică"... dar ea este oricum limitată de resursele mediului, aşa că... nu prea văd rostul). Mă rog, vei face ce modificări vrei. Poţi de exemplu să proiectezi separat tot felul de programe deştepte şi să le generezi "dintr-un foc", făcând de fiecare dată câte o specie nouă.
La celelalte computere modificările vor fi mici şi se vor face automat, fără să fie ghidate de voinţa/inteligenţa cuiva. Este clar ce se întâmplă şi nu mai insist: majoritatea mutanţilor vor fi de tipurile a şi b şi doar câţiva de tipurile c1 şi c2; dintre aceştia, cei de tipurile a şi b nu contează în procesul evolutiv (nu lasă urmaşi), cei de tip c1 nu vor fi diferiţi de părinţi decât genetic (nu şi comportamental), iar cei de tipurile c21, c22 şi c23 vor da naştere la specii diferite, cu diverse puteri reproductive. Unele specii se vor naşte (prin acumulări de mici mutaţii), altele vor muri (mediul le va ucide), altele vor înflori...
Observaţie importantă: pe computerele C şi D procesul evolutiv se desfăşoară în esenţă la fel (atenţie, nu vreau să spun că vor rezulta exact aceleaşi specii, ci că
dinamica procesului este aceeaşi), pentru că ceea ce contează sunt caracteristicile statistice ale modificărilor -- cât timp modificările sunt aproximativ echiprobabile în orice direcţie, nu contează că ele sunt guvernate de "aleatoriul veritabil" sau de zecimalele cine ştie cărui număr iraţional "secret". Ceea ce contează este ca fiecare mutaţie să aibă şansă de producere. Dar... se vede că lucrul ăsta e valabil şi pentru computerul B! Chiar dacă lista mutaţiilor este explorată ordonat şi sistematic, mutaţiile de tipurile favorabile (care se află şi ele undeva pe listă) vor fi cândva atinse, se vor produce. Şi asta-i tot ceea ce contează: să nu existe mutaţii "ocolite sistematic" sau mutaţii "favorizate sistematic". În concluzie, procesele evolutive desfăşurate prin metodele B, C şi D vor decurge principial la fel. Acesta este sensul "variabilităţii aleatoare" de care am tot pomenit: unul din modelele B, C sau D.
În final, evoluţionismul afirmă: modelul B-C-sau-D poate explica perfect diversitatea speciilor biologice pe Pământ şi nu e nevoie să presupunem neapărat modelul A (care înainte de Darwin se credea că e
singura explicaţie posibilă).
A nega evoluţionismul înseamnă să spui că modelele B, C sau D
nu pot conduce la diversitatea actuală a vieţii pe Pământ. Mie aşa ceva mi se pare complet inacceptabil, pentru că nu văd ce-i poate fi reproşat propunerii lui Darwin: ea
este un scenariu posibil.
Dacă accepţi că B, C sau D sunt modele posibile, care ar putea explica dezvoltarea vieţii (de la strămoşul comun încoace), atunci opţiunea "cred că A" sau "cred că B-C-sau-D" devine o chestiune oarecum personală, o chestiune de gust dacă vrei. Problema nu se poate tranşa prin experimente ştiinţifice din interiorul sistemului (mai ales dacă deciziile din modelul A sunt, pentru un motiv sau altul, destul de asemănătoare dpdv statistic cu cele din modelul D).