Revista Art-emis
Căutând calculatoare în celula biologică (4) PDF Imprimare Email
Acad. Gheorghe Păun   
Duminică, 23 Noiembrie 2014 18:18

Acad. Gheorghe PăunDiscurs de recepţie la Academia Română - 24 octombrie 2014

Calculând pe baza operaţiei de splicing

Adleman nu a folosit operaţia lui Tom Head în experimentul său, dar ingrediente biochimice specifice splicing-ului au fost utilizate în multe alte cazuri: enzime restrictive, care taie moleculele de ADN în contexte bine precizate, ligaze care leagă la loc moleculele, recombinarea pe baza „capetelor lipicioase” ale moleculelor cu cele două catene de lungimi diferite, deci cu nucleotide care nu-şi au perechea Watson-Crick în faţă. Nu intru nici în amănunte biochimice şi nici în detalii matematice privind operaţia de splicing. Pe scurt, două molecule (reprezentate ca şiruri simple, pentru că nucleotidele de pe o catenă sunt identificate de perechile lor de pe cealaltă catenă) sunt tăiate în două bucăţi fiecare, la mijlocul unui context specificat printr-o pereche de subşiruri, iar fragmentele sunt recombinate încrucişat, obţinându-se două şiruri noi. Plecând de la o mulţime iniţială de şiruri şi aplicând această operaţie în mod repetat (în raport cu o mulţime dată de contexte, deci de reguli de splicing), obţinem un dispozitiv de calcul, un generator de limbaje, similar unei gramatici. Obţinem un sistem H. Mare parte din monografia D.N.A. Computing. New Computing Paradigms menţionată mai devreme este dedicată studierii acestor sisteme: variante, putere generativă, proprietăţi. Atunci când se introduce un nou model de calcul, prima chestiune care trebuie clarificată priveşte puterea sa, în comparaţie cu etaloanele teoriei automatelor şi limbajelor formale - maşina Turing şi restricţiile sale, gramaticile Chomsky, sistemele Lindenmayer. Să notăm doar că cei doi „poli” ai calculabilităţii sunt puterea maşinii Turing, prin teza Turing-Church fiind nivelul maxim al calculabilităţii algoritmice, şi puterea automatului finit, nivelul minim. În termeni de gramatici şi limbaje, clasa maximală este cea a gramaticilor Chomsky generale şi a limbajelor recursiv enumerabile, iar cea minimală corespunde gramaticilor şi limbajelor regulate.

Sistemele H cu un număr finit de şiruri de plecare şi un număr finit de reguli de splicing nu generează decât limbaje regulate. Insuficient ca putere, mai ales că un „calculator” de acest nivel nu are proprietăţi (convenabile) de universalitate, deci nu e programabil. Interesant şi atrăgător este însă că, adăugând un minim control asupra operaţiei de splicing, cu multe sugestii venind din zona gramaticilor cu restricţii în derivare sau din biologie (exemplu: fiecare regulă de splicing are asociat un simbol-promotor şi ea nu se aplică decât şirurilor care conţin acest simbol; variantă - simbolul să nu apară, inhibitor), atunci obţinem sisteme H echivalente cu maşina Turing. Demonstraţia este constructivă, ca urmare, se „importă” astfel de la maşina Turing şi existenţa maşinii universale, aşadar, avem la dispoziţie un sistem H universal, programabil. Cu o menţiune: nu s-a putut realiza în laborator un asemenea „calculator” bazat pe splicing. Saltul de la cazul din natură, cu operaţia necontrolată (care se opreşte la puterea automatului finit), la cazul controlat, nu a putut fi făcut şi nici nu este clar dacă se va putea face curând. Realizarea calculatorului universal pe bază de splicing mai trebuie să aştepte...

Un detaliu important: funcţionarea autonomă

Să nu uităm că un calculator universal, programabil, ar trebui să lucreze autonom, în sensul că odată un program pornit, calculatorul continuă fără intervenţii din afară - cu totul altfel decât se întâmplă de obicei în experimentele de calcul cu A.D.N., unde operatorul uman controlează întregul proces. De pildă, în cazul experimentului din 1994, Adleman a fost, de fapt, „calculatorul”, el a folosit moleculele de A.D.N. doar ca suport de calcul, complexitatea de calcul s-a referit la paşii de laborator efectuaţi de biochimist, nu la paşii interni, la operaţiile cu A.D.N., efectuate în paralel. Există însă progrese promiţătoare spre realizarea de calcule autonome, cuvântul-cheie, mult promovat în ultimii ani, fiind auto-asamblare (self-assembly). Realizări remarcabile în această direcţie au fost obţinute de Erik Winfree şi echipa sa de la Caltech, Pasadena, S.U.A., iar abordarea sa este de semnalat şi pentru că pleacă (reconfortant, printre altele, şi pentru discuţia privind utilitatea matematicii), de la un capitol vechi al informaticii teoretice, calculul cu dominouri al lui Wang Hao, dezvoltat pe la începutul anilor ’60 ai secolului trecut. Pe scurt, dominouri pătrate, cu laturile colorate (marcate), pot fi folosite pentru a calcula (prin alăturare, în aşa fel încât dominourile vecine să aibă laturile de aceeaşi culoare), simulând calculele unei maşini Turing. Obţinem din nou un model de calcul care este universal.

Erik Winfree a realizat „dominouri” din A.D.N., cu laturile marcate cu secvenţe potrivite de nucleotide, pe care le-a lăsat libere în soluţie, pentru a se alătura conform afinităţii Watson-Crick a nucleotidelor care „colorează” laturile. Abordarea a funcţionat, experimentele au reuşit - dar totul a rămas, în termenii lui Hartmanis, tot la nivelul unui demo. Este important să subliniem că de data aceasta nu este vorba despre rezolvarea unei probleme anume, ca la Adleman şi la majoritatea experimentelor din literatura calculului cu A.D.N., ci de implementarea în laborator a unui model de calcul universal, autonom - de aceea, un demo, poate, mai important decât cel al lui Adleman (doar că Adleman a fost primul...). Există şi alte încercări de a realiza în laborator „calculatoare” autonome. Semnalez doar simularea unui automat finit, un succes al unei echipe de la Weizmann-Rehovot şi Tehnion-Haifa, Israel: Y. Benenson, T. Paz-Elizur, R. Adar, E. Keinan, Z. Livneh, E. Shapiro[1], cu menţiunea că era vorba despre un automat cu numai două stări. Tot numai un demo...

Ce înseamnă a calcula în mod natural?

Monografia D.N.A. Computing are capitole dedicate şi altor moduri de a calcula inspirate din biochimia A.D.N.-ului, de pildă, prin inserare şi ştergere de subşiruri (în contexte date), printr-un fel de „joc de domino” cu molecule de A.D.N. care se cuplează pe baza complementarităţii Watson-Crick, diferit de modelul lui Wang Hao. Splicing, inserare-ştergere, prelungire de şiruri. În calculul membranar întâlnim procesarea de multiseturi. Evoluţia însăşi este bazată mai ales pe recombinare/splicing, mutaţiile locale apar doar accidental. În contrast, calculatoarele existente şi modelele teoretice de calcul folosesc, aproape toate, operaţia de rescriere (rewriting). Se operează local, asupra unui şir oricât de lung. Acest lucru este adevărat pentru automate, gramatici, sisteme Post, algoritmi Markov. Toate aceste operaţii, şi rescrierea şi cele „naturale” (splicing-ul doar cu un control suplimentar), atât de diferite între ele, conduc la modele de calcul care au puterea maşinii Turing. Întrebarea se impune: ce înseamnă a calcula în mod natural? Cu multe continuări: De ce informatica nu a considerat (decât sporadic) şi alte operaţii decât rescrierea? Se pot concepe calculatoare (electronice) folosind „operaţii naturale”? Folosind recombinarea de tip splicing, de pildă. Atunci când Hilbert a formulat întrebarea „ce este calculabil mecanic?”, el avea în minte sisteme formale, în care substituţia este o regulă de inferenţă centrală, iar Turing a propus un răspuns în acelaşi limbaj. Am fost oare astfel influenţaţi, atunci când am proiectat calculatoarele, să gândim în aceiaşi termeni? Nu am citit pe undeva ca inginerii să fi spus că nu se pot imagina şi calculatoare bazate pe altfel de operaţii. Rămâne întrebarea dacă astfel de calculatoare vor fi sau nu mai bune decât cele existente. Teoretic, vor avea aceeaşi putere, diferenţele trebuie căutate pe alte coordonate: eficienţă computaţională, uşurinţă în utilizare, posibilităţi de învăţare etc. Spuneam mai devreme că sistemele H sunt fie de puterea automatelor finite, fie echivalente cu maşina Turing. Situaţii similare întâlnim şi în calculul membranar. Putem atunci afirma că clasele de automate şi gramatici intermediare între automatele finite şi maşina Turing, şi sunt multe astfel de clase studiate în informatica teoretică, nu sunt „naturale”? Într-un anume sens, acesta este cazul. De exemplu, limbajele independente de context au o definiţie cu motivare matematico-lingvistică, în timp ce limbajele dependente de context au o definiţie care ţine de teoria complexităţii (referindu-se la spaţiul de lucru necesar pentru a genera sau recunoaşte un şir).

Să trecem la celulă!

În ciuda acumulărilor teoretice, a numeroaselor experimente reuşite (totuşi, având de a face cu probleme de dimensiuni derizorii) şi a perfecţionării continue a tehnicilor de laborator, calculul cu A.D.N. nu a confirmat entuziasmul de acum douăzeci de ani, de după anunţarea experimentului lui Adleman. Dacă nu cumva, spuneam, vor fi existând aplicaţii în criptografie despre care vom afla abia peste câteva decenii. Putem găsi amănunte care sprijină această bănuială. De pildă, la prima ediţie a conferinţei de D.N.A. Computing, Princeton, 1995, una dintre comunicări (D. Boneh, C. Dunworth, R. Lipton: „Breaking DES using a molecular computer”) descria modul în care se putea sparge Data Encryption Standard, D.E.S., sistemul folosit de administraţia americană, folosind A.D.N., în patru luni. Anul următor, subiectul a fost discutat de o echipă din care făcea parte şi Adleman, iar experimentul propus putea sparge DES chiar în cinci zile, dacă operaţiunile de laborator ar fi fost robotizate. A mai fost prezentată o lucrare de acest gen şi în 1997, an în care D.E.S. a fost spart şi cu calculatoare electronice, drept care sistemul a fost retras. Oricum, la câţiva ani de la experimentul lui Adleman devenise clar că nu se poate merge prea departe, mai era nevoie de încă o idee inovatoare, de încă o „străpungere”, pentru a face un pas esenţial spre aplicaţii (spre o „killer-app”, cum spun americanii), iar una dintre „explicaţii” se referea la faptul că A.D.N.-ul nu se comportă in vitro la fel de bine (robust, predictibil) ca in vivo. Ideea apare de la sine: să mergem spre celulă!

La nivel personal, momentul coincidea şi cu scrierea monografiei D.N.A. Computing, un fapt care s-a repetat aproape sistematic în primele două decenii ale carierei mele de cercetător: după aproximativ cinci ani de lucru într-o ramură a informaticii, am adunat, singur sau în colaborare, rezultatele într-o monografie, apoi am trecut la alt subiect - rămânând, totuşi, în cadrul informaticii teoretice, mai ales al limbajelor formale şi automatelor. Lipsă de tenacitate sau curiozitate? Poate din amândouă câte ceva, dar o combinaţie norocoasă: toate capitolele de informatică teoretică pe care le-am frecventat înainte de a trece la calculul membranar au fost folosite, uneori decisiv, în acest ultim domeniu - cu care am întrerupt definitiv tradiţia schimbării la fiecare cinci ani: după 17 ani dedicaţi aproape exclusiv calculului membranar, chiar dacă am scris, ca de obicei, o monografie după aproximativ cinci ani de la prima lucrare, nu a apărut încă niciun semn de ofilire a interesului.

Fascinanta celulă

Celula este cu adevărat fascinantă, mirabilă în sens blagian, pentru un matematician-informatician. Presupun că şi pentru biolog. Cea mai mică entitate despre care toată lumea este de acord că e vie. Subiectul este netrivial: la Institutul de la Santa Fe, New Mexico, S.U.A., de studiu al complexităţii, a fost iniţiat pe la mijlocul anilor 1980 un nou domeniu de cercetare, sub numele de viaţă artificială, o extindere a inteligenţei artificiale, care dorea studierea vieţii în sine, simularea ei pe suporturi nebiologice, pe calculator, modelarea matematică. S-a început, desigur, cu căutarea unei definiţii a ceea ce numim intuitiv viaţă, dar nu s-a ajuns prea departe: orice definiţie fie lăsa pe dinafară ceva viu, fie ne asigura, de exemplu, că viruşii de calculator sunt vii (au „metabolism”, autoreproducere etc.). Să ne reamintim că Erwin Schrödinger are o întreagă carte al cărui titlu se întreabă „Ce este viaţa?”, tradusă la Editura Politică, în 1980. Celula trece însă acest test. Ea este o extraordinar de mică „uzină”, cu o structură internă complexă, ingenioasă şi eficientă, în care evoluează un număr enorm de agenţi, de la ioni la macromolecule precum cea de A.D.N., şi unde procese informaţionale au loc la tot pasul. Unele celule trăiesc pe cont propriu (nu spun izolate), în organisme unicelulare, altele formează ţesuturi, organe, organisme. Este o discuţie de interes aceea privind rolul celulelor în a face posibilă viaţa însăşi. Citez doar cartea de referinţă B. Alberts, A. Johnson, J. Lewis, M. Raff, K. Roberts, P. Walter, „Molecular Biology of the Cell, 4th”[2], articolul lui Jesper Hoffmeyer: „Surfaces inside surfaces. On the origin of agency and life”[3], important pentru cele ce urmează fiindcă ne propune sloganul „viaţa înseamnă suprafeţe înăuntrul altor suprafeţe”, cu referire la membranele care dau structura interioară a celulelor, şi închei cu un paragraf din S. Kauffman, At Home in the Universe, Oxford University Press, 1995: „Secretul vieţii, izvorul reproducerii, nu este de găsit în frumuseţea împerecherii Watson-Crick, ci în realizările închiderii catalitice colective”. Adaug şi o sugestivă ecuaţie-slogan, pe care acad. Solomon Marcus a lansat-o la unul dintre primele workshopuri de calcul membranar, cel de la Curtea de Argeş, din 2002: Life = D.N.A. software + membrane hardware.

Membrana. De la biologie la informatică

Am ajuns astfel la un ingredient fundamental - membrana. Se poate vorbi foarte mult despre aceasta, au făcut-o biologii, au făcut-o biosemioticienii. Celula însăşi există pentru că este separată de mediul înconjurător printr-o membrană. Nu numai metaforic vorbind, orice entitate autonomă există pentru că este delimitată de o „membrană”, fie ea şi virtuală, de lumea din jur. Celula (eucariotă) are un număr de membrane şi în interior: cea care înconjoară nucleul, complicatul aparat Golgi, vezicule, mitocondrii. Din punct de vedere computaţional, principalul rol al acestor membrane este acela de a delimita „reactoare protejate”, compartimente în care are loc o biochimie specifică. Mai sunt şi alte caracteristici-funcţii ale membranei biologice care au importanţă pentru calculul membranar: în membrane sunt plasate canale proteice care permit comunicarea selectivă între compartimente; pe membrane sunt fixate enzime care controlează multe dintre procesele biochimice din jur; membranele sunt utile şi pentru a crea spaţii cât mai reduse, în care moleculele aflate în soluţie să aibă şansa de a se întâlni pentru a reacţiona. Se spune că atunci când un compartiment este prea mare pentru ca biochimia locală să fie eficientă, natura creează membrane, pentru a obţine „reactoare” suficient de mici (astfel încât, prin mişcare browniană, moleculele să se întâlnească suficient de frecvent, putând astfel reacţiona) şi pentru a crea noi „suprafeţe de reacţie”.

Subliniez că privesc celula, structura şi procesele care au loc în ea cu ochelarii informaticianului-matematician, ignorând o mulţime de detalii biochimice (de pildă, structura însăşi a membranelor) şi interpretându-le pe cele selectate conform obiectivului acestui demers: definirea unui model de calcul. Să detaliem puţin, începând cu rolul esenţial în comunicare. Dacă, în celula biologică sau în modelul pe care-l vom defini, compartimentele delimitate de membrane ar evolua separat, nu am avea un „reactor”, ci un număr de „reactoare” alăturate, dar lucrând independent. Membranele asigură însă integrarea acestora. Moleculele polarizate sau de dimensiuni mari nu pot trece printre moleculele (fosfolipidice, cu un „cap” polarizat şi „picioruşe” hidrofobe, ale) membranelor, dar pot trece dintr-o parte în cealaltă prin canalele proteice. Această trecere este selectivă, uneori făcându-se împotriva gradientului, de la o concentraţie mai mică la una mai mare. Cazul foarte interesant este cel al trecerii simultane printr-un canal proteic a două sau mai multor molecule: moleculele respective nu pot trece separat, dar o pot face împreună, fie în aceeaşi direcţie (simport), fie o moleculă intrând în compartimentul respectiv şi cealaltă ieşind (antiport). Un capitol important şi extins al calculului membranar este bazat pe aceste operaţii, interesul venind şi din specificul acestui proces: nu există rescriere, ci doar transport de obiecte peste graniţele definite de membrane, nu există ştergere, există doar comunicare. Calcul prin comunicare. Să ne reamintim în acest context întrebarea „ce înseamnă a calcula în mod natural?”. Despre procesele informaţionale care au loc în celulă, eventual cu implicarea membranelor, citim în multe locuri.

„Multe proteine din celulele vii par a avea ca primă funcţie a lor transferul şi procesarea de informaţie, mai degrabă decât transformarea intermediarilor metabolici sau construirea de structuri celulare. Aceste proteine sunt legate funcţional prin mecanisme alosterice sau de altă natură în « circuite » biochimice care efectuează o varietate de sarcini computaţionale simple, incluzând amplificarea, integrarea şi stocarea de informaţie.” Acesta este chiar rezumatul articolului lui D. Bray, „Protein molecules as computational elements in living cells”[4].La rândul lor, S.R. Hameroff, J.D. Dayhoff, R. Lahoz-Beltra, A.V. Samsonovich, S. Rasmussen într-un articol[5], privesc citoscheletul ca automat, în timp ce W.R. Loewenstein, în The Touchstone of Life. Molecular Information, Cell Communication, and the Foundations of Life, Oxford University Press, 1999, construieşte o întreagă teorie plecând de la aspectele informaţionale ale vieţii celulei. Despre biosemiotica membranei a vorbit în multe locuri Jesper Hoffmeyer, pe care l-am amintit şi mai devreme. Citez aici doar lucrarea sa „Semiosis and living membranes”[6]. În context, putem aminti rolul esenţial al apei în viaţa celulei, implicit, procesele de comunicare transmembranară a acesteia, prin canale dedicate, acvaporinele în descoperirea cărora colegul Gheorghe Benga are contribuţii de pionierat. 

O paranteză terminologico-istorică

Înainte de a trece la descrierea rapidă a calculului membranar, câteva precizări.

Mai întâi, despre numele domeniului. I-am zis membrane computing, plecând de la rolul membranei în viaţa celulei şi în arhitectura modelului, dar alegerea nu a fost cea mai potrivită. În primul rând, nu se traduce fericit în limba română. „Calcul cu membrane” e prea concret, „calculabilitate membranară” este lung şi nefiresc, am ales aici „calcul membranar”, ca un compromis între cele două. „Calcul celular” era, probabil, alegerea cea mai „comercială”, dar era un pic prea cuprinzător. Apoi, numele modelelor: în primele lucrări, vorbeam despre „membrane systems”, dar foarte curând cei care le-au preluat le-au numit „P systems”, continuând şirul altor sisteme cu nume din informatică (Post, Lindenmayer şi H sunt cele mai apropiate), la început creându-mi un oarecare disconfort public, la conferinţe, de exemplu, dar iniţiala s-a autonomizat rapid, devenindu-mi complet neutră. Interesant este că există deja lucrări care folosesc sintagma (uneori chiar în titlu) fără a mai cita lucrări ale subsemnatului. Va fi, desigur, un mare succes dacă ea va deveni preponderent „folclorică”...

Domeniul a crescut rapid şi e încă activ, după şaisprezece ani de la pornirea la drum. M-am întrebat uneori care sunt explicaţiile - evident, şi pentru a vedea ce aş putea face pentru a-i sprijini creşterea. Au concurat multe lucruri la interesul pentru calculul membranar: contextul favorabil („moda” calculului natural despre care am mai vorbit); momentul potrivit, pe de o parte, în raport cu calculul cu A.D.N. (care este, într-un anume sens, înglobat în şi generalizat de calculul membranar), pe de altă parte, în raport cu informatica teoretică în general şi teoria limbajelor formale în particular. Aici sunt mai multe de spus. După patru decenii de la introducerea gramaticilor Chomsky, teoria limbajelor formale se „clasicizase”, retrăgându-se din fluxul principal al cercetărilor (aproape cu totul în S.U.A.), chiar dacă încă există conferinţe specializate (de pildă, despre automate finite şi aplicaţiile acestora) sau mai generale (D.L.T. - Developments in Language Theory). Calculul membranar a apărut ca o continuare şi extensie a acesteia: obiectul principal de studiu nu mai sunt şirurile de simboluri şi limbajele, ci (anticipez) multiseturile de simboluri şi mulţimile de multiseturi. Şiruri, fără a lua în seamă ordinea simbolurilor, mai tehnic vorbind, şiruri „văzute” prin funcţia lui Parikh, cea care spune câte apariţii are fiecare simbol într-un şir, exact multiplicitatea de la multiseturi. Urmarea a fost că un număr semnificativ de cercetători în teoria limbajelor formale au fost interesaţi de noul domeniu. Printre ei, încă de la început, nume mari, precum Arto Salomaa (Finlanda) şi Grzegorz Rozenberg (Olanda), Oscar H. Ibarra (SUA), Sheng Yu (Canada), Kamala Krithivasan (India), Takashi Yokomori (Japonia), Mario J. Pérez-Jiménez (Spania), plus cercetători foarte activi din generaţia mea, precum Jürgen Dassow (Germania), Erzsébet Csuhaj-Varjú (Ungaria), Jozef Kelemen (Cehia), Rudolf Freund (Austria), Gheorghe Marian şi Gabriel Ciobanu (România), Yurii Rogozhin (Republica Moldova, dispărut de curând), Linqiang Pan (China), mulţi dintre aceştia coagulând în jurul lor grupuri de cercetare dedicate calculului membranar.

Oarecum surprizător a fost numărul rapid crescător al doctoranzilor - azi, doctorilor - care au susţinut teze în acest domeniu. Sunt peste 50 la ora aceasta, nu-i menţionez decât pe primii, Shankara Narayanan Krishna (India) şi Claudio Zandron (Italia), cu tezele susţinute deja în 2001, respectiv, 2002. Din vara aceasta, C. Zandron este preşedintele comitetului de iniţiativă (Steering Committee) al domeniului.

O bogată informaţie despre calculul membranar se poate găsi la pagina internet de la adresa organizată la Viena[7], (succesoarea unei pagini care a funcţionat mai mulţi ani la Milano[8].A contat mult, desigur, „sociologia” domeniului. S-a format curând o comunitate, lucru foarte important, nu numai în ştiinţă, ci în cultură, în general. Au contribuit la aceasta seniorii amintiţi mai devreme, conferinţele anuale (încă din anul 2000, cu primele trei ediţii organizate la Curtea de Argeş, unde a revenit şi ediţia a zecea şi unde intenţionez să o organizez şi pe a douăzecea) şi, aş sublinia cu deosebire, o întâlnire de un tip inedit, pe care am organizat-o pentru prima dată la Tarragona, Spania, în 2003, şi de atunci, anual, la Sevilla, tot în Spania. Pentru că trebuia să poarte un nume, am numit-o „Brainstorming Week on Membrane Computing”. O săptămână în care cei interesaţi de calculul membranar lucrează împreună, departe de grijile curente, sarcini didactice sau administrative. O idee utilă a fost colecţionarea de probleme deschise, circulate printre participanţi cu ceva vreme înainte de întâlnire şi abordate apoi, în colaborare, la Sevilla. Întâlniri extrem de productive - la pagina web a domeniului pot fi găsite volumele anuale, cu lucrările scrise sau doar începute la brainstorming.

Extrem de util a fost, desigur, internetul. Primul articol, „Computing with membranes”, a aşteptat un an şi ceva până să apară în „Journal of Computer and System Sciences”[9],dar, pentru că eram la Turku în toamna lui 1998, am circulat lucrarea prin internet, sub forma unui raport intern al TUCS, Turku Center for Computer ScienceReport No. 208, 1998[10]. Până în 2000, când a apărut articolul tipărit, se scriseseră deja câteva zeci de lucrări, făcând posibilă organizarea primei întâlniri dedicate subiectului, cea de la Curtea de Argeş.
- Va urma -
---------------------------------------------------------
[1] Y. Benenson, T. Paz-Elizur, R. Adar, E. Keinan, Z. Livneh, E. Shapiro, „Programmable and autonomous computing machine made of biomolecules”, Nature, vol. 414, nov. 2001, pp. 430-434.
[2] B. Alberts, A. Johnson, J. Lewis, M. Raff, K. Roberts, P. Walter, „Molecular Biology of the Cell, 4th” ed. Garland Science, New York, 2002
[3]Jesper Hoffmeyer, Cybernetics and Human Knowing, vol. 5, 1998, pp. 33-42.
[4]Nature, vol. 376, iulie 1995, pp. 307-312.
[5]„Computer”, noiembrie 1992, pp. 30-39
[6] Seminário Avançado de Comunicaçao e Semiótica. Biossemiótica e Semiótica Cognitiva, Sao Paolo, Brasil, 1998, pp. 9-19. 
[9] Journal of Computer and System Sciences, vol. 61, 2000, pp. 108-143
footer