Precauii i explicaii preliminare Titlul anterior cere unele precizri pe care m grbesc s le aduc nc de la nceput. Pe de o parte, el promite prea mult, cel puin n raport cu preocuprile mele din ultimele dou decenii i cu discuia care urmeaz. Este adevrat c exist ncercri de a pune celula ca atare (bacterii, de exemplu) sau pri ale acesteia (molecule de ADN, n special) s calculeze, dar o direcie de cercetare mult mai realist, cel puin deocamdat, i de care m-am ocupat, este cea care caut n celul idei utile informaticii, modele de calcul, care, trecnd de la structuri i procese biologice la modele matematice, de tip computaional, nu numai c pot asigura o eficien sporit calculatorului tradiional, electronic, dar se pot i rentoarce n punctul de pornire, ca instrumente de lucru pentru biologie. Privind celula prin ochelarii matematicianuluiinformatician, aceasta este descrierea scurt i precis a demersului i aici se plaseaz experiena personal de cercetare pe care se bazeaz textul de fa. Pe de alt parte, titlul anun deja intenia autobiografic. Fiind un moment de sintez, dac nu i de bilan, un discurs de recepie nu poate fi mai puin autobiografic dect este, se spune, orice roman sau orice volum de versuri. S nu uitm, viaa prin lumea de curii i semne (Ion Barbu) a matematicii impune o mare doz de singurtate, ne-a reamintit acest lucru i acad. Solomon Marcus n discursul su de recepie, iar singurtatea (se presupune c) nelepete, dar i ndeprteaz de lumea-ca-lume, de nu mai tii la un moment dat ct dintr-un matematician mai este al lumii i ct al matematicii. De aceea, se poate considera c un matematician este autobiografic i n teoremele sale, i n demonstraiile pe care le gsete teoremelor sale, i n modelele pe care le propune. Privind retrospectiv, constat c m aflu la captul a dou perioade de cte dou decenii fiecare, ultima dedicat n ntregime cutrii de calculatoare n celul, prima consacrat aproape sistematic pregtirii instrumentelor necesare acestei cutri. Mai ales despre experiena celei de a doua perioade va fi vorba n cele ce urmeaz.
Un alt titlu posibil Pentru o vreme, am avut n vedere i un alt titlu, mult mai general, anume, De la bioinformatic spre infobiologie. Era n acelai timp o propunere i o previziune, iar paginile care urmeaz ncearc s dea consisten acestei previziuni. De altfel, ea nu-mi aparine, n mai multe locuri s-a vorbit despre o nou vrst a biologiei la fel s-a prezis i pentru fizic bazat pe folosirea paradigmelor informaional-computaionale, dac nu cumva i pe intervenia unor noi capitole de matematic, neelaborate nc. Este vorba nu despre aplicarea informaticii, fie ea teoretic sau practic, n biologie, ci de trecerea la un alt nivel, la o abordare sistematic a fenomenelor biologice n termeni de inspiraie computaional, preponderena informaiei fiind implicit. ncercri care ilustreaz aceast posibilitate, chiar necesitatea ei, pot fi gsite n multe locuri, mergnd napoi n timp pn la E. Schrdinger i John von Neumann. ntr-o carte recent, Infobiotics. 2
Information in Biotic Systems (Springer-Verlag, 2013), Vincenzo Manca pledeaz i el pentru o nou biologie, pe care o numete infobiotic, plecnd de la observaia c viaa este prea important pentru a fi investigat numai de biologi. A reformula: viaa este prea important i prea complex pentru a fi investigat numai de biologia tradiional cu sublinierea c, de fapt, tocmai biologii sunt cei chemai, nu numai s fie beneficiarii, ci i s dea contur infobiologiei. Alturi de informaticieni i, cu mult mai plauzibil i mai eficient, prelund de la acetia idei, modele, tehnici, apropriindu-i- le i dezvoltndu-le. Este aici o pledoarie pentru multi-inter-trans-disciplinaritate (ncepnd cu studiile universitare), dar i un semnal: nu numai c este nevoie, dar, se pare, este i timpul.
Contextul Cu titlul de acum n fa i cutndu-i un gen proxim oficial, prima sintagm care ni se ofer este calculul natural (natural computing) cu meniunea, ns, c ea acoper o foarte larg varietate de cercetri, incluznd bioinformatica i tinznd i spre infobiologie. Pentru a avea o descriere autorizat, s mergem la Handbook of Natural Computing, editat de Grzegorz Rozenberg, Thomas Bck i Joost N. Kok, n patru volume masive, la Springer-Verlag, n 2012. De la nceputul prefeei, aflm c acesta este domeniul de cercetare care investigheaz modele i tehnici computaionale inspirate din natur, dar investigheaz, n termeni de procesare a informaiei, i fenomene care au loc n natur. Generalitatea este evident, adugnd la dorina de a identifica n natur (atenie, nu numai n biologie) idei utile informaticii, un punct de vedere care, spuneam i mai devreme, chiar dac nu este complet nou, pus sistematic n funciune poate duce la o nou paradigm n cercetarea biologic i nu numai: abordarea n termeni de procesare a informaiei, depind deci abordarea tradiional, de tip chimico-fizic. Ideea a fost formulat i n alte contexte: punctul de vedere computational (la procesarea de informaie se adaug aspectul esenial al calculabilitii) poate conduce la o nou fizic este previziunea lui Jozef Gruska, mare promotor al calculabilitii cuantice, un pionier al informaticii, rspltit ca atare cu o diplom de ctre Seciunea de Informatic a IEEE (s amintim c i Grigore C. Moisil a primit o asemenea diplom). Pe aceeai tez este construit i volumul colectiv A Computable Universe. Understanding and Exploring Nature as Computation, editat de Hector Zenil i publicat de World Scientific n 2013, cu multe capitole incitant-entuziaste (Ipoteza universului calculabil, Universul ca un calculator cuantic) i cu o prefa de lungimea unui capitol, semnat de Roger Penrose, nu totdeauna de acord cu ipotezele din carte. De altfel, handbook-ul de calcul natural invocat mai devreme include calculul cuantic printre domeniile pe care le are n vedere. Iat cuprinsul lui (seciunile mari, fr capitole): Automate celulare, Calcul neural, Calcul evolutiv, Calcul molecular, Calcul cuantic, Algoritmi inspirai din natur, Modele alternative de calcul. Exist o doz de anexionism aici (de pild, automatele celulare nu prea au de a face cu celulele din biologie), dar s reinem c seciunea dedicat calculului molecular acoper calculul cu ADN, calculul membranar i procesarea genelor la ciliate, primele dou fiind exact ceea ce ne preocup n continuare.
Popularitatea unui domeniu Rmnnd numai la nivel editorial i al conferinelor (nu mai adaug i proiectele de cercetare, finanarea, deci), se poate constata c exist o veritabil mod a calculului natural, mai general, a calculabilitii neconvenionale, mai restrictiv, a bioinformaticii. 3
Doar cteva exemplificri: Editura Springer are o serie separat dedicat monografiilor de calcul natural, chiar aa intitulat, ba chiar i o revist Natural Computing. Exist o conferin Unconventional Computing, devenit ntre timp, uor pleonastic, International Conference on Unconventional Computing and Natural Computing. BIC-TA, adic Bio-Inspired Computing Theory and Applications, este o alt conferin de real succes, judecnd dup numrul de participani, al crui format l- am stabilit, mpreun cu colegi din China, n 2005, i care se organizeaz de atunci anual n Extremul Orient, ceea ce explic participarea masiv, cercettorii chinezi fiind foarte activi n acest domeniu. Am ajuns astfel la genul proxim cel mai restrictiv: calculabilitate inspirat din biologie. Este important de notat c termenul bioinformatic are un dublu neles, cu determinare, ca s spunem aa, geografic. n Vestul pragmatic, el acoper mai ales aplicaiile informaticii n biologie (n scenariul standard, se pleac de la probleme spre instrumente, fr a teoretiza prea mult). n Europa ambele direcii de influenare sunt avute n vedere dinspre biologie spre informatic i invers. Dei este natural ca aceste direcii s se dezvolte n paralel, n colaborare, lucrurile nu stau totdeauna aa. n cutare de soluii pentru probleme curente, unele realmente urgente, din domeniul biomedical, de exemplu, matematica i informatica vin adesea cu instrumente puse la punct n alte domenii. Exemplul tipic sunt ecuaiile difereniale, cu o glorioas istorie n fizic, astronomie, mecanic, meteorologie, i care sunt mprumutate de biologie, nu totdeauna cu verificarea adecvrii lor. Voi reveni asupra acestui subiect, de mare importan pentru promovarea unor instrumente noi. Strategia european, a construirii unei teorii matematice, care abia ulterior i gsete aplicaii, are atractivitatea i avantajele ei dar i capcanele ei. European fiind, matematician fiind, am fost mult mai atras de aceast strategie, cu vremea devenind ns tot mai interesat de realitate, de aplicaii.
Ce nseamn a calcula? Revin la titlu, cu ntrebarea fundamental privind definiia noiunilor de calcul i de calculator. O ntrebare de acelai gen cu Ce este matematica?, avnd multe i variate rspunsuri, niciunul satisfctor pe deplin. Dac procesarea de informaie este calcul, atunci putem vedea calcule peste tot n jur. Cu un detaliu foarte important ascuns n formularea dinainte: putem vedea, noi, oamenii. Un observator adic, pentru care un proces are semnificaia unui calcul. Nu vreau s mping discuia pn la speculaii de genul cderea unui copac, ntr-un lac, la mijlocul unei pduri pustii, face sau nu zgomot, innd seama c nimeni nu-l aude? subliniez ns c ntrebarea a fcut obiectul unei lucrri acceptate acum civa ani la o conferin de calcul neconvenional i nici nu vreau s-L consider pe Dumnezeu, omniprezentul, omniscientul, observator universal (dect, cel mult, pentru zgomotele din pdurile fr ali martori, nu pentru calcule...). Un exemplu la limit, dar sugestiv, este cel al unei picturi de lichid care cade prin aer. n vremea asta, ea rezolv instantaneu prin forma pe care o ia, o ecuaie diferenial. Este acesta un calcul? N-a merge att de departe. La fel cu tot ce se ntmpl n celulele unei frunze sau din corpul unui om, la nivel biochimic sau chiar la nivel informaional. Ideea calculului ca proces considerat ca atare de un observator nu este nou. Una dintre concluziile crii lui John Searle The Rediscovery of the Mind (MIT Press, 1992) este tocmai aceasta, c un calcul nu este o proprietate intrinsec a unui proces, ci este observer-relative. 4
O formulare sugestiv a necesitii observatorului n definirea unui proces ca fiind un calcul i aparine lui Tommaso Toffoli. Citatul care urmeaz apare ntr-un articol cu un titlu-afirmaie: Nothing makes sense in computing except in the light of evolution (Journal of Unconventional Computing, vol. 1, 2005, 3-29). Tocmai am vzut c nu este util s numim calcul orice cuplare netrivial ntre variabile de stare. Dorim n plus ca aceast cuplare s fie intenionat stabilit pentru a prezice sau manipula cu alte cuvinte, pentru a cunoate sau a face ceva. (...) Dar acum apar alte ntrebri, cum ar fi: Stabilit de ctre cine sau ce? Cu ce scop? Cum putem recunoate intenionalitatea? Departe de mine gndul de a strecura consideraii animiste, spiritualiste sau mcar antropice n definiia calculului! Conceptul de calcul trebuie s apar ca o construcie natural, bine caracterizat, obiectiv, care s fie recunoscut ca atare i util oamenilor, marienilor i roboilor deopotriv. (subl. n., Gh.P.) ntrebrile lui Toffoli sunt de inut minte i de discutat, dar ne ndeprteaz de subiect. S revenim la John Searle i la o lectur tehnic a ideii de calcul care implic un observator, ntreprins de Matteo Cavaliere i Peter Leupold, cel dinti fiind unul dintre primii mei doctoranzi la Sevilla, Spania. Ei au o serie de lucrri cu acest subiect, citez doar una recent a lui Peter Leupold, Is computation observer-relative?, prezentat la Sixth Workshop on Non-Classical Models of Automata and Applications, Kassel, Germania, iulie 2014. De fapt, n abordarea celor doi apar, implicit, doi observatori, unul s-l numim observator de ordinul nti care urmrete un proces simplu, traducnd ntr-un limbaj exterior paii efectuai de proces, iar al doilea, mai aproape de observatorul lui Toffoli, interpretnd drept calcul rezultatul activitii primului observator. Cavaliere i Leupold consider o serie de perechi proces-observator de ordinul nti care, separat, au o putere (de calcul) redus, dar care mpreun conduc, din punctul de vedere al observatorului de ordinul al doilea, cel exterior, la puterea de calcul a mainii Turing.
Maina Turing S pornim ns din alt direcie, de la accepiunea dat de matematic termenului de calcul. Deja de prin anii 30 ai secolului trecut avem o definiie a ceea ce este calculabil, rspunsul pe care Alan Turing l-a dat ntrebrii ce se poate calcula mecanic?, formulate n 1900 de David Hilbert. Mecanic, deci algoritmic, reformulm noi astzi. Au existat mai multe propuneri (amintesc doar funciile recursive i lambda-calculul), din partea unor nume mari ale matematicii-informaticii (i amintesc doar pe Alonzo Church, Stephen Kleene, Emil Post), dar soluia pe care Turing a dat-o aa-numitei Entscheidungsproblem a lui Hilbert, ceea ce el a numit a-main iar astzi este cunoscut ca main Turing, a fost acceptat ca fiind cea mai convingtoare (fapt atestat pn i de exigentul Gdel). Acesta este n informatic modelul standard de algoritm (nu am spus definiie, pentru c nu avem dect un neles intuitiv al ideii de algoritm, dar putem spune c pe aceast cale dispunem de o definiie a ceea ce este calculabil). Fr a intra n amnunte, menionez c problema lui Hilbert, a zecea n lista sa, era mai general. Ea pleca de la rezolvarea algoritmic a ecuaiilor diofantice (cele cu coeficieni numere ntregi), dar n formulare Hilbert spunea: Entscheidungsproblem [problema deciziei n logica de ordinul nti] va fi rezolvat atunci cnd vom avea o procedur care s ne permit ca pentru orice expresie logic s decidem printr-un numr finit de operaii dac ea este valid sau satisfiabil... Entscheidungsproblem trebuie considerat ca principala problem a logicii matematice. La acest nivel general, 5
teoremele lui Gdel rspund negativ programului lui Hilbert, iar problema a zecea a fost rezolvat complet tot negativ n 1970, de Yurii Matijasevich (dup eforturi ndelungate ale mai multor matematicieni: Julia Robinson, Hilary Putnam, Martin Davis). i Turing aduce un rezultat de tip negativ, el nu numai c a definit frontierele calculabilului, dar a i produs un prim exemplu de problem plasat dincolo de aceste frontiere, nerezolvabil algoritmic, problema opririi (nu exist un algoritm deci, o main Turing care, dndu-i-se o main Turing arbitrar, cu date iniiale arbitrare, s spun dac maina se oprete vreodat sau calculeaz nencetat). La problema opririi, de altfel, se reduc, direct sau indirect, toate demonstraiile ulterioare de nedecidabilitate. Importana mainii Turing pentru informatic, inclusiv pentru calculul natural, este att de mare, c merit s zbovim puin asupra ei.
Cteva detalii mai tehnice Este interesant s notm c atunci cnd i-a definit maina, Turing a plecat explicit, o spune nc de la nceputul articolului, de la ncercarea de a abstractiza modul n care calculeaz un om, reducnd la minimum resursele i operaiile efectuate de acesta. S-a ajuns astfel la un calculator care const dintr-o band potenial infinit, mrginit la stnga, mprit n celule, n care se pot scrie simboluri dintr-un alfabet finit, dat; aceste simboluri sunt citite i rescrise de un cap de citire-scriere, care citete o singur celul, o poate modifica, apoi poate rmne pe loc sau se poate muta la celula din stnga sau la cea din dreapta; activitatea capului de citire-scriere este controlat de o memorie, care se poate afla, la rndul ei, ntr-un numr finit de stri. Avem astfel de a face cu instruciuni de forma s 1 s 2 b D, cu semnificaia: n starea s 1 , citim simbolul a, trecem n starea s 2 , modificm a n b (a i b pot fi egali) i deplasm capul de citire- scriere aa cum ne indic D. Se pornete cu banda goal, cu maina aflat ntr-o stare s 0 fixat, numit stare iniial; se scriu pe band datele iniiale (de exemplu, dou numere care trebuie nmulite), se poziioneaz capul de citire-scriere pe prima celul din stnga i se urmeaz instruciunile programului (de nmulire) pn se ajunge ntr-o stare final, iar maina se oprete, nu mai exist nicio instruciune care s poat fi urmat. Coninutul benzii la acel moment este rezultatul calculului. Extrem de reducionist, dar acesta este cel mai general model de calcul algoritmic n lipsa unei definiii anterioare a ceea ce este calculabil, afirmaia este doar o ipotez i ea poart numele de tez Turing-Church. Dar, ceea ce a fcut maina Turing atrgtoare au fost nu numai simplitatea i puterea sa (s-a demonstrat c poate simula orice alt model de calcul), ci i robusteea (puterea de calcul nu i se schimb dac se fac adugiri n alctuire sau funcionare, cum ar fi adugarea de benzi, prelungirea infinit a benzii i n partea stng, funcionarea nedeterminist) i, mai ales, existena mainilor universale: exist o main Turing, TMU, care poate simula orice main Turing particular, TM, n sensul urmtor. Dac pe banda mainii TMU scriem un cod al mainii TM, cod(TM), i date de intrare x ale mainii TM, atunci maina TMU ne va furniza acelai rezultat pe care ni-l furnizeaz TM plecnd de la datele x. Ceva mai formal (dar omind totui unele detalii), avem TMU(cod(TM),x) = TM(x). Iar Turing a demonstrat c exist maini Turing universale. Se ntmpla n 1936, n lucrarea On computable numbers, with an application to the Entscheidungsproblem, publicat n Proceedings of the London Mathematical Society, Ser. 2, vol. 42, 1936, pp. 230-265, cu o erat n vol. 43, 1936, pp. 544-546. Avem aici certificatul de natere al calculatoarelor de azi, numite de aceea i de tip Turing-von Neumann (atunci cnd a realizat primele calculatoare electronice 6
programabile, la mijlocul anilor 1940, John von Neumann a fost n mod esenial influenat de ideile lui Turing). Cteva lucruri merit a fi subliniate: codul mainii TM este programul de simulat/executat pe TMU, plecnd de la datele x; instruciunile mainii TMU constituie sistemul de operare al calculatorului; datele i programul sunt plasate n acelai loc (pe banda TMU, n memoria calculatorului) de aici posibilitatea de a le procesa n acelai fel, deci vulnerabilitatea la virui. Important pentru calculul natural: activitatea mainii Turing este secvenial, la fiecare pas se execut o singur instruciune. n multe locuri din natur, dac nu n majoritatea, n particular, din biologie, procesele sunt paralele, ceea ce constituie o mare atractivitate pentru informatic, dar nu sunt neaprat sincronizate, ceea ce ridic probleme pentru informatic. Mai sunt i alte diferene ntre maina Turing, calculatoarele biologice i calculatoarele electronice, pe care le voi aminti la momentul potrivit. Reinem deocamdat c, n cele ce urmeaz, a calcula are nelesul sugerat de maina Turing: exist o intrare i o ieire, iar ntre ele exist un algoritm care face trecerea de la intrare la ieire, rezultatul unui calcul fiind obinut n momentul n care maina se oprete. Restrictiv, dar precis. Avnd un asemenea cadru la ndemn, putem cuta calcule n jur, mai mult, le putem studia ntr-un context foarte bine dezvoltat, teoria calculabilitii un ansamblu, de fapt, de mai multe teorii, precum teoria automatelor, teoria limbajelor formale (gramaticilor), teoria complexitii calculului i altele.
Informatic i matematic Poate c acesta este locul n care s amintim nc o discuie cu variate luri de poziie, legat de relaia dintre informatic i matematic. Ea a aprut i n Academie, apare n nvmntul superior (prin anii 6070, la vremea sputnicilor i hidrocentralelor, multe faculti erau de matematic-mecanic, acum mecanica a fost nlocuit cu informatica), chestiunea este dezbtut uneori i n pres. De fapt, contextul este mai larg, punndu-se uneori sub semnul ntrebrii relaia matematicii cu celelalte tiine, cu coala, cu societatea. Exist persoane care se mndresc cu faptul c nu au fost buni la matematic, exist opinia c matematica este un lux, un feti naional (sintagma a aprut de curnd n titlul unui articol de ziar dedicat subiectului), pe scurt, c se face prea mult caz de matematic i, deci, se face prea mult matematic. Iar acest curent de opinie capt extindere, ajutat i de informatic (nu trebuie s mai tim tabla nmulirii, o tie calculatorul pentru noi). Sigur, exist o problem cu educaia matematic. Ct, ce i, mai ales, cum? i mai sunt i alte ntrebri; le putem gsi, adesea i cu soluii, n scrierile din ultimii ani ale profesorului Solomon Marcus dedicate educaiei. Problema nu se poate ns soluiona de jos n sus, matematicienii din cercetare i din nvmntul superior sunt cei care trebuie s i-o asume o spune, de pild, Juraj Hromkovic, de la ETH Zrich, ntr- un articol din revista Curtea de la Arge (www.curteadelaarges.ro, august 2014), bazndu-se pe activitatea practic n aceast direcie a centrului unde lucreaz (activitate materializat, printre altele, n manuale de matematic de un tip nou). Matematicienii trebuie s fie i cei care s ias n public i s pledeze pentru matematic, prima vin este a lor dac domeniul i pierde din popularitate. Pentru matematician, matematica este un mare joc, care, ca orice joc, are recompensa intrinsec, n nsi buna sa desfurare, prin urmare, este explicabil ca interesul pentru popularizare s fie sczut, 7
dar cei care-i laud infirmitatea matematic, fie ea real sau pretins, sunt de obicei mai vizibili, mai vocali, iar pericolul este evident. Rmnnd la relaia dintre matematic i informatic, s consemnm c informatica teoretic, aflat la intersecia celor dou tiine, este adesea considerat parte a matematicii de ctre informaticieni i parte a informaticii de ctre matematicieni, avnd uneori probleme i n cadrul informaticii de altfel, ca orice ramur teoretic a unei tiine cu mare pondere practic. Evident, false probleme n sine, dar care pot avea urmri administrative neplcute. Apelez, fiind de aceeai prere, la o voce autorizat, Edsger W. Dijkstra, un clasic al informaticii, ba chiar al celei practice: ajunge s menionez c prin anii 60 a lucrat la implementarea limbajului Algol la Centrul de Matematic din Amsterdam i tot el este promotorul programrii structurate, care a fcut epoc printre creatorii de software. (Poate ar trebui s adaug aici c primii patru ani dup absolvirea facultii am programat din plin, n Cobol i Fortran, ba chiar am realizat programele pentru plata salariilor la o mare uzin bucuretean mi amintesc, aadar, ce nseamn informatica practic.) Sfritul informaticii?, se ntreab Dijkstra retoric-ironic n titlul unei note aprute n Communications of the ACM (vol. 44, martie 2001, p. 92), care ncepe cu urmtoarea fraz: n universiti, industrie i lumea comercial, exist o prere rspndit cum c informatica n sine s-a ncheiat i, deci, ea s-a maturizat, trecnd de la un subiect teoretic, pentru cercettori, la o chestiune practic, pentru ingineri, manageri i antreprenori. Apoi: Aceast prere este corect numai dac identificm obiectivele informaticii cu ceea ce s-a obinut deja i uitm acele obiective pe care nu am reuit s le atingem, chiar dac ele sunt prea importante pentru a fi ignorate. Mult mai explicit este Dijkstra n discursul pe care l-a susinut n mai 2000, la un simpozion (In Pursuit of Simplicity) organizat la Universitatea din Austin-Texas cu prilejul retragerii sale. Titlul discursului (publicat n Information Processing Letters, vol. 77, febr. 2011, pp. 53-61) este semnificativ: Under the spell of Leibnizs dream. Reiau cteva fraze-aforism: Ceea ce este frumos teoretic tinde s fie profund util. (...) n proiectarea de sisteme digitale sofisticate, elegana nu este un lux de care ne putem dispensa, ci o chestiune de via i de moarte, un factor major care decide ntre succes i eec. n zilele noastre, exist o asemenea obsesie a aplicaiilor c, dac universitile nu sunt atente, forele externe, cele care fac distincia [dintre teorie i practic], vor trage o linie ntre cele dou i pot ncerca s-i surghiuneasc pe teoreticieni n ghetoul unor departamente separate i n cldiri separate. O simpl extrapolare ne spune c, dup o vreme, practicienii vor avea puine de aplicat; lucrul acesta este bine cunoscut, dar nu a mpiedicat niciodat minile contabile s omoare gsca cu ou de aur. Cel mai ru lucru cu institutele explicit dedicate aplicrii tiinei este c ele tind s devin institute dedicate teoriei de mna a doua. Pledoaria pentru a ne aeza sub ndemnul/vraja lui Leibniz este evident, pentru c simbolurile direcioneaz raiunea, iar, dup ce vom avea un limbaj n care toate adevrurile raiunii se vor reduce la un fel de calcul, erorile vor fi doar greeli de calcul. (E adevrat, programul lui Leibniz, preluat i formulat n termeni mai precii de David Hilbert, nu poate fi realizat; pe de o parte, matematica este prea exact-riguroas iar realitatea prea complex i nuanat pentru a putea transforma totul n calcule, pe de alt parte, teoremele lui Gdel au artat c nici programul lui Hilbert nu este realizabil.) Bineneles, relaia matematicii cu informatica este mult mai complex, dar nu este aici locul pentru a o explora n mai multe amnunte. nchei ntorcndu-m n 8
punctul din care am plecat: calculatoarele de azi, programabile, de tip Turing-von Neumann, s-au nscut din teorema de universalitate a lui Turing, din 1936. Interesant (i reconfortant pentru poziia lui Dijkstra) este c, n urma unui vot pe internet, din 2013, menit a identifica cea mai important descoperire tiinific sau tehnologic britanic, locul nti a fost ocupat, surprinztor pentru vremurile noastre pragmatice, de maina Turing i teorema de universalitate a lui Turing, care au ctigat competiia cu linoleumul, motorul cu abur, telefonul, cimentul, fibra de carbon i altele asemeni.
Calculeaz natura? Avnd n minte calculabilitatea n sens Turing, ntrebarea devine i mai restrictiv, dar discuia dinainte ne ofer limitele ntre care s cutm rspunsul: da, cel puin la nivelul... oamenilor, respectiv, da, oriunde exist un proces care poate fi interpretat drept calcul de ctre un observator potrivit. Opinii care se plaseaz mai aproape de prima sau de a doua dintre aceste limite pot fi gsite uor, citez doar una din extremitatea foarte permisiv, ba chiar trecnd peste ea, pentru c nici observatorul nu mai este invocat. La nceputul capitolului 2 (Molecular Computation) al volumului colectiv Non-Standard Computation (T. Gramss, S. Bornholdt, M. Gross, M. Mitchel, Th. Pellizzari, eds., Wiley-VCH, Weinheim, 1998), M. Gross spune: Viaa este calcul. Fiecare celul n parte citete informaie dintr-o memorie, o rescrie, primete date de intrare (informaie asupra mediului), proceseaz date i acioneaz conform rezultatelor tuturor acestor calcule. Pe total, zilioanele de celule care populeaz biosfera efectueaz cu siguran mai muli pai de calcul pe unitatea de timp dect toate calculatoarele oamenilor puse la un loc. n cele ce urmeaz, adopt o poziie mai conservatoare i mai productiv: avnd n minte definiia matematic a calculabilitii, n spe, abordarea de tip Turing, s privim n jur, n special n biologie, n cutarea de idei, suporturi de date, structuri de date, operaii cu acestea, moduri de control al operaiilor, arhitecturi de calculatoare, care pot sugera (1) noi modele de calcul, (2) ci de folosire mai bun a calculatoarelor existente, (3) posibiliti de mbuntire hardware a calculatoarelor existente, eventual chiar (4) noi tipuri de calculatoare, bazate pe materiale de provenien biologic. A se observa ambiia n cretere de la un obiectiv la altul. De remarcat c n calculul cu ADN s-a ncercat nc de la nceput realizarea de calcule n eprubet, adresndu-se astfel, direct, obiectivul al patrulea. Am avut aici n vedere n primul rnd interesul informaticii, dar primul obiectiv acoper i cea de a doua direcie de cercetare menionat n prefaa handbook-ului de calcul natural, investigarea n termeni informatici a proceselor care au loc n natur, iar aceast direcie ar trebui subliniat explicit, separat, mai ales pentru a anuna un efect colateral al demersului, anume rentoarcerea la biologie, furnizarea de modele utile biologului. La ora aceasta, calculul cu ADN a fost foarte puin de ajutor informaticii (practice), puin de ajutor biologiei i mult folositor nanotehnologiei, prin sugerarea unor noi probleme i teme de cercetare, n timp ce calculul membranar are aplicaii semnificative i n informatic i n biologie, cu promisiuni poate chiar mai mari n cel de-al doilea domeniu, inclusiv n biomedicin i ecologie. O precizare: interesul informaticii acoper i interesul teoretic, care nu trebuie s duc neaprat la aplicaii, n sensul imediat al termenului. S ne gndim, de exemplu, la ciliate. n procesul de diviziune, cnd trec de la genele micronucleare la cele macronucleare, aceste unicelulare duc la bun sfrit operaii complicate de tip procesare 9
de liste, i asta de milioane de ani, cu mult nainte ca informaticienii s dea nume i s studieze aceast structur de date. Evident, ciliatele nu la calcule se gndesc n timp ce fac acest lucru, dar, noi, oamenii, putem construi teorii de toat frumuseea plecnd de aici, inclusiv modele de calcul, echivalente uneori cu maina Turing. Trimit pentru referine la monografia Computation in Living Cells. Gene Assembly in Ciliates (Springer-Verlag, 2004), de A. Ehrenfeucht, T. Harju, I. Petre, D.M. Prescott i G. Rozenberg.
O dilem etern Discuia anterioar ne mpinge inevitabil spre lunga dezbatere privind relaia dintre invenie i descoperire. Bibliografia este imens, citez doar cartea-bibliotec a acad. Solomon Marcus Invenie i descoperire, Cartea Romneasc, 1989. Ct este invenie i ct descoperire n informatic cu particularizare n calculul natural? Nu ncerc un rspuns, vor fi attea cte puncte de vedere, cte experiene personale i cte situri filosofice. Modelele cu care lucrm sunt de natur matematic, punctul de vedere platonician ne asigur c totul este descoperire, pentru c matematica nsi este realitate revelat. Da, dar s-a convenit c noiunile, conceptele, teoriile i modelele sunt inventate, teoremele descoperite, demonstraiile inventate. Pentru a continua alternana, putem aduga c aplicaiile sunt descoperite. Modelele sunt, deci, considerate invenii. A introduce ns o nuan. Modelele se aaz pe structuri care exist, dar nu au primit nc nume. n plus, un zid poate fi descoperit i de un arheolog care tie ce caut i de un pomicultor care sap cu alte motive dect descoperirea unei fundaii de biseric, n timp ce un model de calcul nu poate fi vzut ntr-o celul dect de un informatician care are deja n minte modele de calcul. De pild, procesele numite de biologi simport i antiport exist, funcioneaz dintotdeauna n modul lor ingenios, dar ele nu calculeaz dect pentru matematicianul care caut un model de calcul bazat pe trecerea de obiecte dintr-un compartiment al celulei n altul. Calcul prin comunicare, am cutat o vreme aa ceva, intuind c exist, i am avut rezolvarea atunci cnd un biolog (Ioan Ardelean) mi-a vorbit despre operaiile de simport i antiport. Un model mai degrab descoperit dect inventat. Dar, o descoperire care nu s-a fcut prin scoaterea la lumin a obiectului descoperit, ci prin suprapunerea pe o felie de realitate a unui model intuit, similar unor modele existente deja i actualizat n dialogul dintre limbajul formal i realitate. Invenie i descoperire n acelai timp.
O alt nesfrit discuie Nu continui cu alte ntrebri la fel de fluide, menite a-i pstra interesul n ciuda orictor rspunsuri. (De pild, dndu-ne prilejul de a ne ntreba ct este tiin i ct art n informatic, Donald Knuth i intitula un impresionant tratat, planificat a aprea n multe volume, Arta programrii calculatoarelor. ) Ating ns un alt subiect sensibil, cu care am fost confruntat uneori sub forma ntrebrii gazetreti, dar nu lipsite de noim: n cercetrile dumneavoastr legate de celul, v-ai ntlnit cu Dumnezeu? Evident, se ateapt altceva dect un rspuns de tipul da sau nu i la fel de evident este c, dac lum ntrebarea n serios, eum pe nisipurile mictoare ale opiunilor personale, credinei, metaforei. Dac Dumnezeu este ordinea, organizarea, binele, Dumnezeul lui Spinoza, care se manifest prin armonia legilor universului, cum ar spune Einstein, atunci da, l ntlnesc continuu, i n celule i n afara lor. Mai mult: n titlul unei cri traduse la Humanitas, n 2011, Mario Livio se ntreab Este Dumnezeu matematician? Rspund n 10
stil platonician: nu, Dumnezeu nu este matematician, El este chiar matematica (gramatica lumii) deci, iari, m ntlnesc zilnic cu El. Dac ns Dumnezeu este ceea ce-mi propune Cartea, atunci m aliniez lui Galilei, care, ntr-o scrisoare ctre don Benedetto Castelli, de la 21 decembrie 1613, spunea (reiau dup Edmond Constantinescu, Dumnezeu nu joac zaruri, Editura MajestiPress, Arad, 2008; din pcate, scrisoarea respectiv nu apare n volumul Galileo Galilei, Scrisori copernicane, Humanitas, 2010): Dumnezeu a scris dou cri, Biblia i Cartea naturii. Biblia a fost scris n limbaj omenesc. Cartea naturii a fost scris n limbajul matematicii. De aceea, limbajul Bibliei este nepotrivit pentru a vorbi despre natur. Cele dou trebuie studiate independent una de alta. Cartea naturii, mai aduga Galilei, ne nva cum merge Cerul, Biblia ne nva cum s mergem la Cer. Dup secole de separri mai degrab dogmatice, de ambele pri , alternnd cu ncercri multe dintre ele patetice de reconciliere a tiinei cu religia, spusele lui Galilei pot prea simpliste sau conformiste, dar ele taie cu eficien un mereu regenerat nod gordian. Consemnez, la extrema sofisticat, situaia oarecum simetric a lui Francis S. Collins, nu numai contemporan cu noi, dar i legat de subiectul discursului de fa: el a fost director al National Human Genome Research Institute, liderul faimosului proiect al genomului uman. n 2006, a publicat o carte mult discutat, tradus n 2009 la Editura Curtea Veche, intitulat Limbajul lui Dumnezeu. Sintagma a fost folosit i de Bill Clinton, atunci cnd, n 2001, a anunat completarea celei mai importante i mai impresionante hri ntocmite vreodat de omenire, secvenierea celor n jur de trei miliarde de litere ale crii vieii. Chiar dac titlul ar sugera asta, Collins nu este ns nici creaionist i nici adept al proiectrii inteligente, ci teist evoluionist, iar concluzia sa este c Dumnezeul Bibliei este i Dumnezeul genomului (p. 222 n cartea citat), iar tiina poate fi o form de religiozitate (pag. 240). O alt poziionare confortabil dar n cele ce urmeaz rmn alturi de Galilei...
Limitele calculatoarelor actuale Moda calculului natural, cu deosebire a celui inspirat din biologie, nu are numai motivaia interioar, a multelor direcii de cercetare explorate n ultimele decenii i dovedite a fi interesante teoretic i utile, sau mcar promitoare, practic, ci are i o motivare exterioar, legat de limitele calculatoarelor actuale, unele dintre ele resimite tot mai acut. Calculatoarele sunt invenia cu cel mai mare impact a secolului XX, cu implicaii resimite n toate componentele vieii noastre, din comunicare n funcionarea sistemului bancar, din sntate n armat, de la numeroasele gageturi care ne nconjoar la internet. Cu toate acestea de fapt, tocmai pentru asta calculatoarele pe care le avem acum au limitri de care ne lovim tot mai des (cu meniunea c exist i aici, ca n mai toate lucrurile, ceva bine n ru i ceva ru n bine: calculatoare puternice pot fi folosite i n scopuri bune, dar i n scopuri rele cum ar fi spargerea de servere, de sisteme de criptare, pe care se bazeaz comunicarea protejat). S gndim ns pozitiv i s notm c exist multe lucruri pe care calculatoarele nu le pot face nc, dar pe care ne-ar plcea, sau chiar folosi, s le fac. Procesoarele devin tot mai rapide i mai compacte, capacitatea memoriei lor tot mai larg. Da, dar pn cnd? A fost mult repetat aa-numita lege a lui Moore, enunat n 1965 de Gordon A. Moore, cofondator al Intel Corporation, cu referire la numrul tranzistorilor de pe un circuit integrat, extins apoi la costul pe unitatea de informaie memorat, formulat uneori i n forma n fiecare an, calculatoarele devin de dou ori mai mici, de dou ori mai ieftine i de dou ori mai puternice. Exponenial pe fiecare dintre cele trei dimensiuni, tinznd deci rapid spre limita cuantic n 11
dimensiunea procesoarelor. Chiar la nivelul mai tehnic, confirmat pentru cteva decenii, al dublrii capacitii procesoarelor, legea de fapt, o observaie, urmat de o previziune a fost ajustat, cu dublarea prevzut mai nti la un an i jumtate, apoi la trei ani. nc nu e ru, dar nu va putea continua prea mult nici n acest ritm. Problema e ns alta. Progrese se fac continuu i se vor mai face la nivel tehnologic, dar calculatorul actual are limite principiale, peste care nu poate trece numai prin progrese tehnologice. Recunoate amprente, dar nu fee de persoane, joac ah la nivel de campion mondial, dar GO joac numai la nivel de nceptor, demonstreaz teoreme de calculul propoziiilor, dar nu trece mult peste acest nivel (i nici nu distinge ntre o teorem trivial i neinteresant i una care merit a fi pus pe hrtie). Toate acestea i multe altele, n primul rnd pentru c este calculator... Turing-von Neumann. Secvenial adic. Uniprocesor. (Mai are i alte slbiciuni, mai puin restrictive n aplicaiile curente de pild, este un destul de mare consumator de energie.) Calculeaz tot ce se poate calcula, dar asta n principiu, la nivelul competenei. ntlnim i un aspect istoric aici. La nceput ne-a interesat ce se poate calcula, unde este frontiera calculabilitii, a decidabilitii algoritmice. Chestiuni fundamentale matematic, dar n aplicaii devine relevant performana, resursele cerute de un calcul dat, ce putem calcula acum i aici, n condiii precizate. Ct electricitate consum un calculator sau ct spaiu ocup nu mai sunt ntrebri de interes curent, aa cum erau prin anii 60 (sunt nc de interes n condiii speciale, n cosmos, robotic), dar n ct timp primim rspunsul la o problem sau rezultatul unui calcul este un aspect crucial n orice aplicaie. i, spuneam, nu promisiunea tehnologic este relevant aici, ci abordarea matematic, frontiera teoretic dintre fezabil i nefezabil.
O mare provocare: complexitatea exponenial O puternic teorie s-a dezvoltat asupra acestui subiect, teoria complexitii calculului, care a definit nc de la nceput ca fiind fezabile problemele care se pot rezolva n timp polinomial n raport cu dimensiunea datelor de intrare. (Exemplu: avem un graf o hart cu localiti i osele ntre ele cu n noduri. n ct timp poate un algoritm s ne spun dac graful conine un drum hamiltonian, adic unul care trece prin toate nodurile, o singur dat prin fiecare? Dac acest timp este mrginit de un polinom n n, atunci spunem c algoritmul este de complexitate polinomial.) Problemele de complexitate exponenial, care cer un timp de tip 2 n , 3 n etc. pentru o intrare de dimenisune n, au fost considerate nefezabile. Prima clas a fost notat cu P, a doua cu NP, abrevierile venind de la polinomial, respectiv, polinomial nedeterminist: o problem este n NP dac putem decide n timp polinomial dac o soluie propus pentru ea este cu adevrat soluie sau nu (ghicim o soluie, apoi verificm dac ea este corect; mai tehnic, soluia este gsit de o main Turing nedeterminist, care are mai multe alternative la un pas de calcul i contm pe faptul c alege totdeauna calea cea bun, fr a examina exhaustiv posibilitile). Pentru detalii, se poate consulta, de exemplu, cartea clasic a lui C.H. Papadimitriu, Computational Complexity, Addison- Wesley, 1994. S amintim i c n clasa NP exist o subclas, a celor mai grele probleme din NP, problemele NP-complete; o problem este de acest tip dac orice alt problem din NP se poate reduce la ea n timp polinomial. Prin urmare, dac o problem NP- complet s-ar putea rezolva n timp polinomial, atunci toate problemele din NP ar avea o astfel de rezolvare. Problemele folosite n criptografie sunt de obicei NP-complete. O teorie foarte frumoas, care, n varianta de baz, are ns trei slbiciuni: (1) nc nu ne poate spune dac P = NP, dac nu cumva soluii polinomiale se pot gsi i 12
pentru problemele pe care acum le considerm de complexitate exponenial, (2) teoria nu ine seama de detalii cum ar fi coeficienii i gradul polinoamelor i care, practic, pot avea o influen crucial asupra timpului de calcul, i (3) teoria ia n seam cazurile extreme, este de tip worst case, numr paii de rezolvare a problemelor cele mai dificile dintr-o clas, n timp ce realitatea se plaseaz de cele mai multe ori la mijloc, spre medie. Iat un exemplu cu relevan practic: problemele de programare liniar sunt n P, pentru c algoritmul elipsoidal al lui Leonid Khachian (1979) rezolv problema n timp polinomial, dar polinomul cu pricina este att de complex nct n practic, n majoritatea cazurilor, acest algoritm este mai puin eficient dect vechiul algoritm simplex, propus n vremea celui de-Al Doilea Rzboi Mondial i considerat unul dintre primii zece cei mai importani algoritmi imaginai vreodat, chiar dac el este, teoretic, de complexitate exponenial. Din aceste motive, teoria complexitii s-a rafinat i diversificat (complexitate medie, algoritmi aproximativi ultimii avnd o direct legtur cu calculul natural), iar definiia fezabilitii s-a redefinit cu mai mult grij. Oricum, convingerea este transformat n slogan: calculatoarele Turing-von Neumann nu pot rezolva n timp rezonabil probleme de complexitate exponenial. Interesul fa de problema daxc P = NP este enorm. Pe de o parte, majoritatea problemelor practice (netriviale) sunt n clasa NP, deci sunt nefezabile, nu pot fi rezolvate eficient, pe de alta, majoritatea sistemelor criptografice n uz se bazeaz pe probleme de complexitate exponenial, rezolvarea lor polinomial putnd duce la spargerea sistemelor. Problema este deschis nc din 1971 (a fost formulat de Stephen Cook), iar n anul 2000 a fost inclus de Clay Mathematical Institute, Cambridge, Massachusetts, n lista celor apte probleme ale mileniului, rezolvarea ei fiind recompensat cu un milion de dolari. Dac importana problemei pentru informatica teoretic nu poate fi supraestimat, nu este clar care ar putea fi urmarea practic a unei soluii, indiferent care ar fi aceasta. Exist multe discuii pe aceast tem a se vedea, de exemplu, S. Cook, The importance of the P versus NP question, Journal of the ACM, vol. 50, 2003, pp. 27-29. Dac se va arta c P este strict inclus n NP, aa cum majoritatea informaticienilor (dar nu toi!) cred, atunci nimic nu se va schimba la nivelul informaticii practice. Dac egalitatea se va demonstra neconstructiv sau constructiv, dar ntr-o manier nefezabil (vor fi gsite soluii polinomiale la probleme din NP, dar cu polinoame de grade mari sau cu coeficieni uriai), urmrile practice vor fi nesemnificative (dar va ncepe cursa pentru gsirea unor soluii ad-hoc, pentru care timpul s fie msurat de polinoame mai cumsecade). Dac, ns, va fi obinut o trecere necostisitoare de la NP la P, atunci urmrile pentru informatica practic pot fi spectaculoase n bine, exceptnd criptografia, unde urmrile vor fi dramatice. La nivelul software-ului n uz, mai exist o problem, pe care o menionez n formularea lui Edsger W. Dijkstra (din The end of computer science?, articolul citat mai devreme): Cele mai multe dintre sistemele noastre [de programe] sunt mult mai complicate dect nivelul la care ar putea fi considerate sntoase, sunt prea haotice pentru a fi folosite cu ncredere i confortabil. Clientul mediu al industriei informatice a fost servit att de prost, c el se ateapt n fiecare moment ca sistemul lui s cad. Lipsa de robustee a sistemelor informatice complexe este o preocupare la fel de actual i azi precum era n anul 2000. Pentru a ilustra faptul c nu prin progrese tehnologice putem face fa complexitii exponeniale, s examinm un caz simplu: s considerm o problem a crei complexitate este de tip 2 n , o problem de grafuri, de exemplu, care poate fi 13
rezolvat de un calculator obinuit pentru, s zicem, 200 de noduri, n aproximativ un sfert de or; s presupunem c tehnologia ne ofer un calculator de 1000 de ori mai rapid, un pas nainte cu totul netrivial i nu tocmai frecvent. Este adevrat c problemele pe care le rezolvam mai devreme ntr-un sfert de or (aproximativ o mie de secunde) se vor rezolva acum ntr-o secund, dar, dac ncercm grafuri cu mai mult de 200 de noduri, constatm c progresul este derizoriu: cu noul calculator, vom rezolva problema, ntr-un sfert de or, numai pentru grafuri cu cel mult 210 noduri. Asta, pentru simplul motiv c 2 10 este deja mai mare de 1000. Iar dac problema ar fi de complexitate 3 n , atunci ne-am opri pe la 206 noduri...
Promisiunile calculului natural Pentru a face fa problemelor de complexitate exponenial, dar i pentru alte motive pe care le voi aminti mai trziu, informatica are mai multe posibile soluii, majoritatea legate de calculul natural, ba chiar de biocalculabilitate: (1) cutarea de calculatoare masiv paralele, (2) cutarea de calculatoare/calcule nedeterministe, (3) cutarea de soluii aproximative, (4) cutarea de soluii probabiliste. Toate aceste patru direcii au fost explorate i n cadrul informaticii standard, n teorie ca i n tehnologia de tip electronic. Calculatoare multiprocesor sunt deja disponibile de mai muli ani dar fr a ajunge la paralelismul masiv de la care se ateapt rezolvarea problemelor complexe. Dac un numr mare de procesoare sunt puse mpreun, apar alte probleme, unele inginereti (disiparea de cldur), altele, mai importante poate, teoretice, legate de sincronizarea procesoarelor. O ramur distinct a complexitii calculului se ocup de complexitatea sincronizrii a se vedea, de exemplu, monografia lui Juraj Hromkovic, Communication Complexity and Parallel Computing, Springer-Verlag, 1997. Una dintre concluziile acestei teorii spune c, de la un numr de procesoare n sus, sincronizarea (msurat prin numrul de bii necesari n acest scop) devine mai costisitoare dect calculul propriu-zis, ceea ce sugereaz renunarea la sincronizare, dar de aici apar alte probleme, pentru c nu suntem nc obinuii cu programarea de calculatoare asincrone. Cu att mai puin tim cum s construim i s folosim calculatoare nedeterministe. Foarte atrgtoare sunt ns ultimele dou dintre cele patru soluii i aici intervine fora brut a calculatoarelor. Ea se aplic mai ales problemelor complexe de optimizare: explornd la ntmplare spaiul soluiilor posibile, suficient de mult timp, cu o mare probabilitate putem da peste soluii optime sau aproape de cele optime. Soluii aproximative, eventual cu o probabilitate cunoscut de a fi optime. Aici intr promitor n scen calculul natural. M voi referi de acum nainte numai la cel de inspiraie biologic. ntr-o celul, un numr imens de chimicale (ioni, molecule simple, macromolecule, proteine, molecule de ADN i ARN) evolueaz mpreun, n soluie apoas, la un nalt nivel de paralelism i, n acelai timp, de nedeterminism, ntr-un mod robust, coordonat, fcnd fa cu succes solicitrilor care vin dinspre mediu i cptnd n timp caracteristici foarte atrgtoare, de tip adaptare, nvare, autoreparare, reproducere. Multe alte detalii sunt de interes, cum ar fi reversibilitatea unor procese sau eficiena energetic, cu numrul de operaii per Joule mult mai ridicat dect n cazul procesrii electronice a informaiei (tergerea consum energie, de aceea sunt de interes calculatoare reversibile, vezi R. Landauer, Irreversibility and heat generation in the computing process, IBM Journal of Research and Development, vol. 5, 1961, pp. 183- 191, i C.H. Bennett, Logical reversibility of computation, Idem, vol. 17, 1973, pp. 525-532). 14
Se pare, deci, c natura a perfecionat de-a lungul a patru miliarde de ani de evoluie procese (i suporturi materiale pentru acestea) care ateapt s fie identificate i nelese de informaticieni, pentru a nva noi metode i paradigme de calcul, eventual pentru a construi noi tipuri de calculatoare. Iar informaticienii au trecut de mult vreme la lucru. Doar civa pai pe acest drum, pe scurt: Algoritmii genetici, ca mod de a organiza cutarea prin spaiul soluiilor, imitnd evoluia darwinian, pentru a rezolva probleme de optimizare. Generalizarea la calculul evolutiv i programarea evolutiv Reelele neurale, ncercnd s imite funcionarea creierului uman, tot pentru cutarea de soluii aproximative, mai ales pentru probleme de recunoatere a formelor, de nvare. Ceva mai trziu, calculul cu ADN, care a propus i un nou hardware, masiv paralel, folosind ca suport de calcul molecula de ADN. i mai aproape de noi, calculul membranar, lund ca punct de plecare celula ca atare i populaiile de celule. La rndul su, calculul evolutiv, n general, zona algorimilor aproximativi inspirai din biologie, s-a ramificat spectaculos, n direcii dintre cele mai diverse (i, uneori, pitoreti; pstrez denumirile englezeti): immune computing, ant colony algorithm, bee colony algorithm, swarm computing, water flowing computing, cultural algorithm, cuckoo algorithm, strawberry algorithm i e foarte probabil s mai fi aprut i altele ntre timp... Este important s subliniem faptul c toate ramurile calculului natural menionate mai devreme, cu excepia calculului cu ADN, sunt menite implementrii pe calculatorul obinuit, spre mai eficienta lui folosire, ele propun noi tipuri de software, nu modificarea arhitecturii, a hardware-ului.
Totul ncepe cu Turing ntr-un anume sens i ntr-o anume msur, ntreaga istorie a informaticii (teoretice) este legat de biologie, a cutat i a gsit surse de inspiraie n aceasta. Am menionat deja c Turing, n 1935-1936, cnd a introdus maina care-i poart numele, a ncercat s simuleze modul uman de a calcula. Dup un deceniu, McCullock, Pitts, Kleene au fundamentat teoria automatelor finite plecnd de la modelarea neuronului i a reelelor de neuroni. Ceva mai trziu, acelai punct de plecare a condus la ceea ce astzi este numit calcul neural. Interesant este c nceputurile acestei discipline pot fi identificate n lucrri nepublicate ale aceluiai Alan Turing. Avem aici un episod interesant, care poate ilustra influena psihologiei i sociologiei asupra tiinei, vorbind despre lideri de grup neinspirai i despre cercettori interesai mai mult n cercetarea lor dect n publicarea rezultatelor. Anume, n 1948, Turing a scris o scurt lucrare, intitulat Intelligent machinery, care a rmas nepublicat pn n 1968, deoarece eful su de la National Physical Laboratory din Londra, ironic, pe nume sir Charles Darwin, nepotul celebrului naturalist omonim, a scris pe colul lucrrii schoolboy essay, eseu colresc, oprind publicarea. Aceast lucrare a fost primul manifest al inteligenei artificiale. n lucrare (...), matematicienul britanic nu numai c a pus bazele conecionismului, dar a i introdus, ntr-un mod strlucitor, multe dintre conceptele care ulterior au devenit centrale n inteligena artificial, n unele cazuri dup ce au fost reinventate de alii... am citat din B.J. Copeland, D. Proudfoot, Alan Turing's forgotten ideas in computer science, Scientific American, aprilie 1999, pp. 77-81. Printre altele, lucrarea lui Turing introduce dou tipuri de reele de neuroni conectai aleatoriu, ca un pas nspre crearea unei maini inteligente, una dintre trsturile cheie ale acestor reele fiind aceea de a nva, 15
de a se antrena n vederea rezolvrii de probleme. Este calcul neural avant la lettre, cu ideile redescoperite ulterior, fr referire la Turing. Detalii despre mainile neorganizate ale lui Turing pot fi gsite i n C. Teuscher, ed., Alan Turing. Life and Legacy of a Great Thinker, Springer-Verlag, 2003, i C. Teuscher, E. Snchez, A revival of Turings forgotten connectionist ideas: exploring unorganized machines, din Proc. Connectionist Models of Learning, Development and Evolution, Lige, Belgium, 2000 (R.M. French, J.J. Sougne, eds.), Springer-Verlag, 2001, pp. 153-162. De asemenea, la adresa http://www.AlanTuring.net se pot afla mai multe despre manuscrisele nepublicate ale lui Turing i despre eforturile recente de valorificare a lor. Acelai Turing, n acelai an, 1948, a propus i cutarea genetic sau evolutiv, primele idei ale calculului evolutiv de mai trziu, domeniu care sintetizeaz acum mai multe ramuri propuse de-a lungul anilor: programare evolutiv (L.J. Fogel, A.J. Owens, M.J. Walsh), algoritmi genetici (J.H. Holland), strategii evolutive (I. Rechenberg, H.P. Schwefel), toate trei iniiate n anii 1960, i programarea genetic (J.R. Koza, anii 1990). Primul experiment de optimizare prin evoluie i recombinare pe calculator a fost efectuat n 1962, de ctre Bremermann. Detalii pot fi gsite n A.E. Eiben, J.E. Smith, Introduction to Evolutionary Computing, Springer-Verlag, 2003. N-ar fi cu totul surprinztor dac printre manuscrisele lui Turing s-ar descoperi i idei legate de calculul cu ADN s ne amintim c Turing a murit n iunie 1954, iar articolul din Nature, n care J.D. Watson i F.H.C. Crick descriau structura dublu elicoidal a moleculei de ADN fusese publicat cu un an nainte (A structure for deoxyribose nucleic acid, vol. 171, aprilie 25, pp. 737-738). Merit menionate alte dou concepte care fac carier n informatic i care ne dau dreptul s spunem c totul ncepe cu Turing. Turing nsui i-a pus problema i a propus ci prin care... se poate calcula mai mult dect Turing, imaginnd maini Turing cu oracol, subiect iari popular n computabilitatea de azi. De asemenea, el poate fi considerat precursor nu numai al inteligenei artificiale, ci i al domeniului numit via artificial: n ultimii si ani, Turing a fost interesat de morfogenez, de modelarea evoluiei de la genele unui ovul fertilizat la structura unui animal.
Un exemplu ncurajator: algoritmii genetici nainte de a trece la calculul cu ADN i la calculul membranar, subiecte la care voi intra n mai multe detalii, s mai zbovim puin asupra unei ramuri a calculului inspirat din biologie care, la prima vedere, este surprinztor de eficient. Este vorba despre algoritmii genetici, folosii pentru rezolvarea de probleme de optimizare complexe, pentru care nu exist algoritmi propriu-zii (determiniti) sau aceti algoritmi nu sunt eficieni. Sloganul subneles poate prea derutant: atunci cnd nu tii ncotro s mergi, mergi la ntmplare, cu meniunea c n cazul algoritmilor genetici ntmplarea este direcionat, ea se face ca n natur, n evoluia speciilor. Totul este o preluare metaforic a unor elemente din evoluia darwinian: s presupunem c avem o funcie de dou variabile (reprezentarea ca o suprafa de teren, cu vi i dealuri, este intuitiv) creia trebuie s-i gsim maximul (unul dintre ele, dac exist mai multe). Dac nu putem aborda problema analitic, alegem s umblm la ntmplare prin domeniul de definiie, cutnd maximul. Reprezentm punctele din domeniu sub forma unor cromozomi, iruri binare de lungime constant. Alegem (la ntmplare sau prin alt metod) un numr de puncte de plecare, calculm valoarea funciei pentru ele. Trecem apoi la evoluie: lum cromozomii doi cte doi i i ncrucim (crossover), adic i secionm la o poziie dat i recombinm fragmentele, prefixul unuia cu sufixul celuilalt i invers. Obinem doi cromozomi noi, 16
descriind doi indivizi din generaia urmtoare. Calculm funcia pentru noii cromozomi, amestecm generaiile i reinem numai o parte dintre indivizi, pe cei cu valorile mai bune ale funciei. Repetm de un numr precizat de ori, alegem soluia cea mai bun pe care am gsit-o pn atunci i ne oprim. Nimic nu garanteaz c ajungem la soluia problemei, c nu ne blocm, de pild, ntr-un maxim local, fr a mai putea iei din el, dar, i aici este surpriza (plcut), ntr- un numr semnificativ de aplicaii practice, strategia funcioneaz. Sigur, exist nenumrate variante ale scenariului anterior, se i spune c monografiile din domeniu sunt un fel de cri de bucate, culegeri de reete, liste de ingrediente i sugestii de mbuntire a algoritmilor: n afar de recombinare, tot ca n evoluie, se folosete i operaia de mutaie local, trecerea de la o generaie la alta se poate face n multe feluri, populaia de cromozomi se poate distribui, lucrnd local, cu o comunicare de un tip sau altul ntre regiuni, criteriile de oprire se pot i ele modifica i multe altele. Sunt puse la lucru fora brut a calculatorului, plus metafora evolutiv cu rezultate, subliniez, neateptat de bune: soluii neintuitive, greu de imaginat altfel, convergen rapid la nceput, adesea evitnd maximele locale. Iar singura explicaie este cea bio-mistic: algoritmii genetici funcioneaz att de bine n att de multe situaii pentru c milenii de-a rndul natura a perfecionat procese att de performante n evoluia speciilor. Toate acestea induc, la acelai nivel speculativ, o concluzie optimist: dac algoritmii genetici sunt att de utili, n ciuda lipsei unui argument matematic pentru aceasta, atunci s ncercm s imitm biologia i n alte aspecte ale ei, avnd bune anse ca, dac suntem inspirai s extragem ideile potrivite, s obinem sugestii fertile pentru mbuntirea folosirii calculatoarelor existente i, eventual, pentru realizarea unora i mai performante. Acest optimism trebuie ns temperat de observaia c un rezultat celebru al calculului evolutiv, al domeniului algoritmilor aproximativi n general, este aa-numita no free lunch theorem (teorema nu exist prnz gratuit), a lui David Wolpert i William Macready (1997), care, informal, spune c oricare dou metode aproximative de optimizare sunt la fel de bune, n medie, peste toate problemele de optimizare, ceea ce poate fi citit i la fel de puin bune, pentru fiecare metod exist probleme pentru care metoda nu poate da soluii satisfctoare.
O coinciden nainte de a trece la calculul cu ADN, o precizare autobiografic. Eram la Graz, n Austria, n aprilie 1994, la o conferin, atunci cnd am intrat n posesia lucrrii lui Tom Head, de la State University of New York din Binghamton, SUA, ulterior prieten i colaborator, Formal language theory and DNA: An analysis of the generative capacity of specific recombinant behaviors, aprut n Bulletin of Mathematical Biology, vol. 49, 1987, pp. 737-759. A fost o revelaie. M gseam dup aproape douzeci de ani de lucru n teoria limbajelor formale i intuiam acum un domeniu extrem de promitor de aplicaii. E adevrat, ar fi trebuit s am aceast revelaie mai demult, pentru c parcursesem la vremea ei lucrarea acad. Solomon Marcus Linguistic structures and generative devices in molecular genetics, din Cahiers de Linguistique Thorique et Applique, vol. 11, 1974, pp. 77-104, dar probabil nu venise pe atunci vremea trecerii la bioinformatic, nu parcursesem cei douzeci de ani de pregtire pe care-i voi descrie pe scurt ntr-o seciune ulterioar. Tom Head introduce n lucrarea sa o operaie cu iruri care formalizeaz operaia de recombinare a moleculelor de ADN din genetic. O numete splicing i aa i voi spune n continuare, pentru a o distinge de 17
recombinarea de la algoritmii genetici, cu care seamn, fr a fi identic. Am imaginat chiar atunci, n vremea conferinei, un fel de gramatic bazat pe aceast operaie, de fapt, pe o variant mai simpl i mai apropiat de operaiile cu iruri dect operaia lui Tom Head. Lucrarea a fost publicat n revista Discrete Applied Mathematics i a consacrat versiunea de splicing pe care o propusesem. Peste puine sptmni, eram la Leiden, n Olanda, unde am scris o lucrare mpreun cu Grzegorz Rozenberg i Arto Salomaa, cel de-al doilea, de la Turku, Finlanda, locul unde aveam s petrec apoi mai muli ani, dedicai iniial calculului cu ADN i apoi calculului membranar. Inspirat ca totdeauna, G. Rozenberg a titrat lucrarea noastr Computing by splicing. Pentru c, ncepnd de atunci, am numit sisteme H mecanismele de calcul bazate pe splicing, amintind astfel de cel care a introdus (inventat sau descoperit?...) operaia cu pricina, i- am trimis lucrarea, n manuscris, lui Tom Head. Acesta a rspuns imediat, prin telefon, ntrebndu-ne excitat: tiai c tocmai s-a efectuat un experiment reuit de calcul cu ADN?! Nu, nu tiam, a fost o coinciden pe care o trec la coincidene semnificative.
Primul calcul n eprubet Tom Head se referea la experimentul lui Leonard Adleman, publicat chiar n toamna lui 1994, n revista Science, nr. 226, nov. 1994, pp. 1021-1024: Molecular computation of solutions to combinatorial problems. Despre posibilitatea de a folosi molecule de ADN pentru a calcula s-a speculat nc din anii 1970 (Ch. Bennett, M. Conrad, chiar i R. Feynman, cu mult citata sa fraz exist foarte mult loc acolo, jos, cu referire la fizic, dar extins afirmaia i la biologie). Adleman a confirmat aceast ateptare, rezolvnd n laborator problema dac exist un drum hamiltonian ntr-un graf (am amintit-o ntr-o seciune anterioar). Problema este cunoscut ca fiind NP- complet, deci, printre cele mai grele probleme nefezabile, de complexitate exponenial (plecm de la premisa c nu avem P = NP), dar Adleman o rezolv ntr-un numr de pai care este liniar n raport cu mrimea grafului. E adevrat, pai biochimici, fcnd uz de un paralelism masiv, ba chiar i de nedeterminism, toate acestea posibile datorit caracteristicilor moleculelor de ADN i biochimiei aferente. Pe scurt, milioane de cpii ale unor secvene simple de nucleotide, codificnd nodurile i arcele grafului, au fost puse mpreun n soluie apoas. Prin scderea temperaturii, aceste secvene au format molecule dublu catenare, corespunztoare drumurilor n graf. Pentru c au fost folosite suficient de multe cpii ale secvenelor iniiale, cu mare probabilitate, au fost obinute toate drumurile din graf. Dintre acestea, au fost selectate cele care treceau prin toate nodurile, prin proceduri obinuite de laborator: electroforez pe gel pentru a separa moleculele de lungime potrivit lungimii drumurilor, apoi selectare prin denaturare i amplificare prin PCR a drumurilor care treceau prin toate nodurile (deci, hamiltoniene). Procedura presupune un numr de operaiuni biochimice liniar n raport cu numrul nodurilor grafului. Problema este NP-complet, deci realizarea este extraordinar iar ecoul a fost pe potriv. Deja n anul urmtor, 1995, s-a organizat la Princeton o ntlnire cu titlul DNA Computing, care s-a transformat n conferin i continu i astzi. Da, dar...
Argumente pro i contra A fost un pas istoric, demonstraia c se poate. Pe un graf cu 7 noduri, ns, pentru care problema se poate rezolva printr-o simpl inspecie vizual. Calculatoarele obinuite pot rezolva problema existenei dumurilor hamiltoniene n grafuri cu cteva sute de noduri, suficient pentru aplicaiile practice curente. 18
Iar soluia a fost obinut printr-o tranzacie spaiu-timp, numrul de molecule a fost exponenial de mare n raport cu numrul nodurilor. Juris Hartmanis, un clasic al informaticii, dup ce i-a exprimat entuziasmul (Hartmanis compar informatica cu fizica: a doua progreseaz n urma experimentelor cruciale, prima n urma demonstraiilor c ceva se poate; Adleman a produs o asemenea demonstraie!), a calculat cantitatea de ADN necesar pentru a aplica procedura lui Adleman la un graf cu 200 de noduri i a gsit c greutatea acestuia ar fi depit greutatea Pmntului... Cam aici este i acum calculul cu ADN din punct de vedere practic. Numeroase experimente, dar tot pe toy problems, mult teorie, priceperea n manevrarea moleculelor de ADN n laborator a progresat foarte mult, s-au obinut i rezultate de interes pentru tehnologia general de laborator (de pild, o versiune mbuntit a reaciei de polimerizare n lan, PCR; unul dintre inventatori este matematician, Vincenzo Manca, amintit nc de la primele pagini ale acestui text), dar pe total domeniul s-a deplasat spre nanotehnologie, aplicaiile practice nu au aprut nc (dac nu cumva exist aplicaii n criptografie, dar sunt clasificate). i totui, lista posibilelor avantaje ale folosirii ADN-ului pentru a calcula este lung: o foarte bun eficien ca suport de date, la nivelul unui bit pe o nucleotid; eficien energetic; comportare paralel i nedeterminist, dou visuri ale informaticii (cu meniunea c nedeterminismul aduce i probleme, de exemplu, posibile false soluii); manevrabilitate deosebit n laborator, stabilitate, reversibilitatea unor procese.
Minunata dubl elice Molecula de ADN are caracteristici surprinztoare la nivel informaional i computaional. S ne reamintim, formulat n termeni sintactici: avem dou iruri de litere A, C, G, T, cele patru nucleotide, aezate fa n fa, n perechi complementare Watson-Crick, totdeauna A fcnd pereche cu T i C cu G. Cele dou iruri sunt orientate diferit unul fa de cellalt, orientarea fiind indicat de biochimiti prin notarea unui capt de ir cu 3 i a celuilalt cu 5. Iar aici apare deja o surpriz matematico- informatic, semnalat de G. Rozenberg i A. Salomaa n Raportul Tehnic 96-28 al Universitii din Leiden, Olanda (octombrie 1996), Watson-Crick complementarity, universal computations, and genetic engineering: structura moleculei de ADN ascunde, codificat, puterea de calcul a mainii Turing! Formularea este imprecis, ea corespunde ns urmtoarei observaii. nc din 1980 s-a demonstrat (J. Engelfriet i G. Rozenberg) c orice limbaj ale crui iruri pot fi recunoscute de o main Turing, poate fi scris ca imaginea unui anume limbaj fixat, s-l notm cu TS(0,1), printr-un traductor secvenial. Limbajul anterior este aa-numitul twin-shuffle peste 0, 1: shuffle nu este altceva dect operaia de amestecare a literelor a dou cuvinte, fr a le schimba ordinea (exact ca la amestecarea crilor de joc din dou pachete de culori diferite). Aici, amestecm literele a dou cuvinte gemene, un ir de simboluri 0 i 1 i unul identic modulo schimbarea culorii acestor simboluri (le putem aduga o bar deasupra sau semnul prim pentru a obine irul geamn). La rndul su, un traductor secvenial este cel mai simplu traductor, care are o memorie finit i parcurge un ir de la stnga la dreapta. De remarcat c lucrm cu patru simboluri, 0, 1 i perechile lor, s zicem, 0 i 1. Exact attea nucleotide avem, patru. S mai remarcm i c TS(0,1) este un limbaj fixat. Dndu-se un limbaj oarecare, oricare ar fi el (recunoscut de o main Turing dat), el se obine plecnd de la acelai unic TS(0,1), doar traductorul depinde de limbaj. Surpriza interesant i semnificativ este c limbajul TS(0,1) se poate obine prin citirea moleculelor de ADN, n felul urmtor: mergem de-a lungul celor dou iruri 19
complementare Watson-Crick, de la stnga la dreapta, avansnd la ntmplare pe cele dou iruri i asociind celor patru nucleotide A, C, G, T simboluri 0, 1, dup regula: A = 0, G = 1, T = 0, C = 1. Ceea ce obinem, punnd la un loc toate aceste citiri, pentru toate moleculele posibile de ADN, este exact TS(0,1)! Prin urmare, orice limbaj care poate fi definit de o main Turing poate fi obinut traducnd aceste citiri ale moleculelor de ADN cu ajutorul celui mai simplu traductor, cel cu memorie finit. Traductorul depinde de limbaj, el extrage din TS(0,1) rezultatul calculelor unei maini Turing. Puterea este acolo, rmne numai s-o punem n eviden. (ntr-un anume sens, avem din nou cuplarea dintre un proces simplu, citirea moleculei de ADN, i un observator de ordinul nti, simplu, traductorul secvenial, ca n lucrrile aminite mai devreme ale lui M. Cavaliere i P. Leupold, cu rezultatul egalnd nivelul maxim de calculabilitate, cel al mainii Turing.) Apar n acest context dou chestiuni. Vorbeam, de exemplu, despre orientarea diferit a celor dou catene ale moleculei de ADN, dar mai devreme le parcurgeam pe amndou de la stnga la dreapta. Nicio problem, citirea irurilor duble poate s porneasc din direcii diferite i rezultatul este acelai. Doi: natura este redundant, sunt toate cele patru nucleotide (cele patru simboluri 0, 1, 0, 1) necesare pentru a acoperi, n sensul anterior, puterea de calcul a mainii Turing? Nu, trei simboluri sunt suficiente dar nu dou! Demonstraii pentru toate aceste rezultate pot fi gsite n monografia (tradus n japonez, chinez i rus) Gh. Pun, G. Rozenberg, A. Salomaa, DNA Computing. New Computing Paradigms, Springer-Verlag, 1998. Vorbind despre calcule i redundan, s ne amintim c o mare parte din ADN este rezidual, nu codific gene i nu tim exact la ce folosete. Putem specula: dac n celul, la nivel genetic, se efectueaz calcule (viruii sunt iruri de nucleotide, prin urmare i recunoaterea lor este o operaie de analiz sintactic, deci un calcul), iar aceste calcule este de presupus c sunt complexe, de ce nu?, chiar la nivelul mainii Turing, atunci avem nevoie de spaiu de lucru, de o band care n final rmne n mare parte goal, rezultatul este aezat la nceputul ei (n cazul benzii mainii Turing). ADN-ul aparent fr funcie poate fi tocmai spaiul de lucru pentru calcule complexe, pe care nu le nelegem nc.
Calculnd pe baza operaiei de splicing Adleman nu a folosit operaia lui Tom Head n experimentul su, 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 amnunte biochimice i nici n detalii matematice privind operaia 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 tiate n dou buci fiecare, la mijlocul unui context specificat printr-o pereche de subiruri, iar fragmentele sunt recombinate ncruciat, obinndu-se dou iruri noi. Plecnd de la o mulime iniial de iruri i aplicnd aceast operaie n mod repetat (n raport cu o mulime dat de contexte, deci de reguli de splicing), obinem un dispozitiv de calcul, un generator de limbaje, similar unei gramatici. Obinem un sistem H. Mare parte din monografia DNA Computing. New Computing Paradigms menionat mai devreme este dedicat studierii acestor sisteme: variante, putere generativ, proprieti. 20
Atunci cnd se introduce un nou model de calcul, prima chestiune care trebuie clarificat privete puterea sa, n comparaie cu etaloanele teoriei automatelor i limbajelor formale maina Turing i restriciile sale, gramaticile Chomsky, sistemele Lindenmayer. S notm doar c cei doi poli ai calculabilitii sunt puterea mainii Turing, prin teza Turing-Church fiind nivelul maxim al calculabilitii algoritmice, i puterea automatului finit. 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 numr finit de iruri de plecare i un numr finit de reguli de splicing nu genereaz dect limbaje regulate. Insuficient ca putere, mai ales c un calculator de acest nivel nu are proprieti (convenabile) de universalitate, deci nu e programabil. Interesant i atrgtor este ns c, adugnd un minim control asupra operaiei de splicing, cu multe sugestii venind din zona gramaticilor cu restricii n derivare sau din biologie (exemplu: fiecare regul de splicing are asociat un simbol i ea nu se aplic dect irurilor care conin acest simbol; variant simbolul s nu apar), atunci obinem sisteme H echivalente cu maina Turing. Demonstraia este constructiv, ca urmare, se import astfel de la maina Turing i existena mainii universale, aadar, avem la dispoziie un sistem H universal, programabil. Cu o meniune: nu s-a putut realiza n laborator un asemenea calculator bazat pe splicing. Saltul de la cazul din natur, cu operaia necontrolat (care se oprete la puterea automatului finit), la cazul controlat, nu a putut fi fcut i nici nu este clar dac se va putea face curnd. Realizarea calculatorului universal pe baz de splicing mai trebuie s atepte...
Un detaliu important: funcionarea autonom S nu uitm c un calculator universal, programabil, ar trebui s lucreze autonom, n sensul c odat un program pornit, calculatorul continu fr intervenii din afar cu totul altfel dect se ntmpl de obicei n experimentele de calcul cu ADN, unde operatorul uman controleaz ntregul proces. De pild, n cazul experimentului din 1994, Adleman a fost, de fapt, calculatorul, el a folosit moleculele de ADN doar ca suport de calcul, complexitatea de calcul s-a referit la paii de laborator efectuai de biochimist, nu la paii interni, la operaiile cu ADN, efectuate n paralel. Exist ns progrese promitoare spre realizarea de calcule autonome, cuvntul- cheie, mult promovat n ultimii ani, fiind auto-asamblare (self-assembly). Realizri remarcabile n aceast direcie au fost obinute de Erik Winfree i echipa sa de la Caltech, Pasadena, SUA, iar abordarea sa este de semnalat i pentru c pleac (reconfortant, printre altele, i pentru discuia 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 ptrate, cu laturile colorate (marcate), pot fi folosite pentru a calcula (prin alturare, n aa fel nct dominourile vecine s aib laturile de aceeai culoare), simulnd calculele unei maini Turing. Obinem din nou un model de calcul care este universal. Erik Winfree a realizat dominouri din ADN, cu laturile marcate cu secvene potrivite de nucleotide, pe care le-a lsat libere n soluie, pentru a se altura conform afinitii Watson-Crick a nucleotidelor care coloreaz laturile. Abordarea a funcionat, experimentele au reuit dar totul a rmas, 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 21
calculului cu ADN, ci de implementarea n laborator a unui model de calcul universal, autonom de aceea, un demo, poate, mai important dect cel al lui Adleman (doar c Adleman a fost primul...). Exist i alte ncercri 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, Programmable and autonomous computing machine made of biomolecules, Nature, vol. 414, nov. 2001, pp. 430-434, cu meniunea c era vorba despre un automat cu numai dou stri. Tot numai un demo...
Ce nseamn a calcula n mod natural? Monografia DNA Computing are capitole dedicate i altor moduri de a calcula inspirate din biochimia ADN-ului, de pild, prin inserare i tergere de subiruri (n contexte date), printr-un fel de joc de domino cu molecule de ADN care se cupleaz pe baza complementaritii Watson-Crick, diferit de modelul lui Wang Hao. Splicing, inserare-tergere, prelungire de iruri. n calculul membranar ntlnim procesarea de multiseturi. Evoluia nsi este bazat mai ales pe recombinare/splicing, mutaiile locale apar doar accidental. n contrast, calculatoarele existente i modelele teoretice de calcul folosesc, aproape toate, operaia de rescriere (rewriting). Se opereaz local, asupra unui ir orict de lung. Acest lucru este adevrat pentru automate, gramatici, sisteme Post, algoritmi Markov. Toate aceste operaii, i rescrierea i cele naturale (splicing-ul doar cu un control suplimentar), att de diferite ntre ele, conduc la modele de calcul care au puterea mainii Turing. ntrebarea se impune: ce nseamn a calcula n mod natural? Cu multe continuri: De ce informatica nu a considerat (dect sporadic) i alte operaii dect rescrierea? Se pot concepe calculatoare (electronice) folosind operaii naturale? Folosind recombinarea de tip splicing, de pild. Atunci cnd Hilbert a formulat ntrebarea ce este calculabil mecanic?, el avea n minte sisteme formale, n care substituia este o regul de inferen central, iar Turing a propus un rspuns n acelai limbaj. Am fost oare astfel influenai, atunci cnd am proiectat calculatoarele, s gndim n aceiai termeni? Nu am citit pe undeva ca inginerii s fi spus c nu se pot imagina i calculatoare bazate pe altfel de operaii. Rmne ntrebarea dac astfel de calculatoare vor fi sau nu mai bune dect cele existente. Teoretic, vor avea aceeai putere, diferenele trebuie cutate pe alte coordonate: eficien computaional, uurin n utilizare, posibiliti de nvare etc. Spuneam mai devreme c sistemele H sunt fie de puterea automatelor finite, fie echivalente cu maina Turing. Situaii similare ntlnim i n calculul membranar. Putem atunci afirma c clasele de automate i gramatici intermediare ntre automatele finite i maina 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 definiie cu motivare matematico-lingvistic, n timp ce limbajele dependente de context au o definiie care ine de teoria complexitii (referindu-se la spaiul de lucru necesar pentru a genera sau recunoate un ir).
S trecem la celul! n ciuda acumulrilor teoretice, a numeroaselor experimente reuite (totui, avnd de a face cu probleme de dimensiuni derizorii) i a perfecionrii continue a tehnicilor de laborator, calculul cu ADN nu a confirmat entuziasmul de acum douzeci de ani, de dup anunarea experimentului lui Adleman. Dac nu cumva, spuneam, vor fi 22
existnd aplicaii n criptografie despre care vom afla peste cteva decenii. Putem gsi amnunte care sprijin aceast bnuial. De pild, la prima ediie a conferinei de DNA Computing, Princeton, 1995, una dintre comunicri (D. Boneh, C. Dunworth, R. Lipton: Breaking DES using a molecular computer) descria modul n care se putea sparge Data Encryption Standard, DES, sistemul folosit de administraia american, folosind ADN, n patru luni. Anul urmtor, subiectul a fost discutat de o echip din care fcea parte i Adleman, iar experimentul propus putea sparge DES chiar n cinci zile, dac operaiunile de laborator ar fi fost robotizate. A mai fost prezentat o lucrare de acest gen i n 1997, an n care DES a fost spart i cu calculatoare electronice, drept care sistemul a fost retras. Oricum, la civa 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 strpungere, pentru a face un pas esenial spre aplicaii (spre o killer-app, cum spun americanii), iar una dintre explicaii se referea la faptul c ADN-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 DNA Computing, un fapt care s-a repetat aproape sistematic n primele dou decenii ale carierei mele de cercettor: 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 rmnnd, totui, n cadrul informaticii teoretice, mai ales al limbajelor formale i automatelor. Lips de tenacitate sau curiozitate? Poate din amndou cte ceva, dar o combinaie 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 tradiia schimbrii la fiecare cinci ani: dup 17 ani dedicai aproape exclusiv calculului membranar, chiar dac am scris, ca de obicei, o monografie dup aproximativ cinci ani de la prima lucrare, nu a aprut nc niciun semn de ofilire a interesului.
Fascinanta celul Celula este cu adevrat fascinant 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, SUA, de studiu al complexitii, a fost iniiat pe la mijlocul anilor 1980 un nou domeniu de cercetare, sub numele de via artificial, o extindere a inteligenei artificiale, care dorea studierea vieii n sine, simularea ei pe suporturi nebiologice, pe calculator, modelarea matematic. S-a nceput, desigur, cu cutarea unei definiii a ceea ce numim intuitiv via, dar nu s-a ajuns prea departe: orice definiie fie lsa pe dinafar ceva viu, fie ne asigura, de exemplu, c viruii de calculator sunt vii (au metabolism, autoreproducere etc.). S ne reamintim c Erwin Schrdinger are o ntreag carte al crui titlu se ntreab Ce este viaa?, 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 numr enorm de ageni, de la ioni la macromolecule precum cea de ADN, i unde procese informaionale au loc la tot pasul. Unele celule triesc pe cont propriu (nu spun izolate), n organisme unicelulare, altele formeaz esuturi, organe, organisme. Este o discuie de interes aceea privind rolul celulelor n a face posibil viaa nsi. Citez doar cartea de referin B. Alberts, A. Johnson, J. Lewis, M. Raff, K. Roberts, P. Walter, Molecular Biology of the Cell, 4th ed. Garland Science, New York, 23
2002, articolul lui Jesper Hoffmeyer: Surfaces inside surfaces. On the origin of agency and life, Cybernetics and Human Knowing, vol. 5, 1998, pp. 33-42, important pentru cele ce urmeaz fiindc ne propune sloganul viaa nseamn suprafee nuntrul altor suprafee, 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 vieii, izvorul reproducerii, nu este de gsit n frumuseea mperecherii Watson-Crick, ci n realizrile nchiderii catalitice colective. Adaug i o sugestiv ecuaie-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 = DNA 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 fcut-o biologii, au fcut-o biosemioticienii. Celula nsi exist pentru c este separat de mediul nconjurtor 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 numr de membrane i n interior: cea care nconjoar nucleul, complicatul aparat Golgi, vezicule, mitocondrii. Din punct de vedere computaional, 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-funcii 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 spaii ct mai reduse, n care moleculele aflate n soluie s aib ansa de a se ntlni pentru a reaciona. Se spune c atunci cnd un compartiment este prea mare pentru ca biochimia local s fie eficient, natura creeaz membrane, pentru a obine reactoare suficient de mici (astfel nct, prin micare brownian, moleculele s se ntlneasc suficient de frecvent, putnd astfel reaciona) i pentru a crea noi suprafee de reacie. Subliniez c privesc celula, structura i procesele care au loc n ea cu ochelarii informaticianului-matematician, ignornd o mulime de detalii biochimice (de pild, structura nsi a membranelor) i interpretndu-le pe cele selectate conform obiectivului acestui demers: definirea unui model de calcul. S detaliem puin, ncepnd cu rolul esenial 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 numr de reactoare alturate, dar lucrnd independent. Membranele asigur ns integrarea acestora. Moleculele polarizate sau de dimensiuni mari nu pot trece printre moleculele (fosfolipidice, cu un cap polarizat i piciorue hidrofobe, ale) membranelor, dar pot trece dintr-o parte n cealalt prin canalele proteice. Aceast trecere este selectiv, uneori fcndu-se mpotriva gradientului, de la o concentraie 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 aceeai direcie (simport), fie o molecul intrnd n compartimentul respectiv i cealalt ieind (antiport). Un capitol important i extins al calculului membranar este bazat pe aceste operaii, interesul venind i din specificul acestui proces: nu exist rescriere, ci doar transport de obiecte peste graniele definite de membrane, nu exist tergere, exist 24
doar comunicare. Calcul prin comunicare. S ne reamintim n acest context ntrebarea ce nseamn a calcula n mod natural. Despre procesele informaionale care au loc n celul, eventual cu implicarea membranelor, citim n multe locuri. Multe proteine din celulele vii par a avea ca prim funcie a lor transferul i procesarea de informaie, mai degrab dect transformarea intermediarilor metabolici sau construirea de structuri celulare. Aceste proteine sunt legate funcional prin mecanisme alosterice sau de alt natur n circuite biochimice care efectueaz o varietate de sarcini computaionale simple, incluznd amplificarea, integrarea i stocarea de informaie. Acesta este chiar rezumatul articolului lui D. Bray, Protein molecules as computational elements in living cells, aprut n Nature, vol. 376, iulie 1995, pp. 307- 312. La rndul lor, S.R. Hameroff, J.D. Dayhoff, R. Lahoz-Beltra, A.V. Samsonovich, S. Rasmussen, ntr-un articol din Computer, nov. 1992, pp. 30-39, 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, construiete o ntreag teorie plecnd de la aspectele informaionale ale vieii 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, Seminrio Avanado de Comunicaao e Semitica. Biossemitica e Semitica Cognitiva, Sao Paolo, Brasil, 1998, pp. 9-19. n context, putem aminti rolul esenial al apei n viaa celulei, implicit, procesele de comunicare transmembranar a acesteia, prin canale dedicate, acvaporinele n descoperirea crora colegul Gheorghe Benga are contribuii de pionierat.
O parantez terminologico-istoric nainte de a trece la descrierea rapid a calculului membranar, cteva precizri. Mai nti, despre numele domeniului. I-am zis membrane computing, plecnd de la rolul membranei n viaa celulei i n arhitectura modelului, dar alegerea nu a fost cea mai potrivit. n primul rnd, nu se traduce fericit n limba romn. 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 cuprinztor. Apoi, numele modelelor: n primele lucrri, vorbeam despre membrane systems, dar foarte curnd cei care le-au preluat le-au numit P systems, continund irul altor sisteme cu nume din informatic (Post, Lindenmayer i H sunt cele mai apropiate), la nceput crendu-mi un oarecare disconfort public, la conferine, de exemplu, dar iniiala s-a autonomizat rapid, devenindu-mi complet neutr. Interesant este c exist deja lucrri care folosesc sintagma (uneori chiar n titlu) fr a mai cita lucrri 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 explicaiile evident, i pentru a vedea ce a putea face pentru a-i sprijini creterea. 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 ADN (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. 25
Aici sunt mai multe de spus. Dup patru decenii de la introducerea gramaticilor Chomsky, teoria limbajelor formale se clasicizase, retrgndu-se din fluxul principal al cercetrilor (aproape cu totul n SUA), chiar dac nc exist conferine specializate (de pild, despre automate finite i aplicaiile acestora) sau mai generale (DLT Developments in Language Theory). Calculul membranar a aprut 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 mulimile de multiseturi. iruri, fr a lua n seam ordinea simbolurilor, mai tehnic vorbind, iruri vzute prin funcia lui Parikh, cea care spune cte apariii are fiecare simbol ntr-un ir, exact multiplicitatea de la multiseturi. Urmarea a fost c un numr semnificativ de cercettori n teoria limbajelor formale au fost interesai 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. Prez-Jimnez (Spania), plus cercettori foarte activi din generaia mea, precum Jrgen Dassow (Germania), Erzsbet Csuhaj-Varj (Ungaria), Jozef Kelemen (Cehia), Rudolf Freund (Austria), Gheorghe Marian i Gabriel Ciobanu (Romnia), Yurii Rogozhin (Republica Moldova, disprut de curnd), Linqiang Pan (China), muli dintre acetia coagulnd n jurul lor grupuri de cercetare dedicate calculului membranar. Oarecum surpriztor a fost numrul rapid cresctor al doctoranzilor azi, doctorilor care au susinut teze n acest domeniu. Sunt peste 50 la ora aceasta, nu-i menionez dect pe primii, Shankara Narayanan Krishna (India) i Claudio Zandron (Italia), cu tezele susinute deja n 2001, respectiv, 2002. Din vara aceasta, Claudio este preedintele comitetului de iniiativ (Steering Committee) al domeniului. O bogat informaie despre calculul membranar se poate gsi la pagina internet de la adresa http://ppage.psystems.eu, organizat la Viena (succesoarea unei pagini care a funcionat mai muli ani la Milano, la adresa http://psystems.disco.unimib.it). A contat mult, desigur, sociologia domeniului. S-a format curnd o comunitate, lucru foarte important, nu numai n tiin, ci n cultur, n general. Au contribuit la aceasta seniorii amintii mai devreme, conferinele anuale (nc din anul 2000, cu primele trei ediii organizate la Curtea de Arge, unde a revenit i ediia a zecea i unde intenionez s o organizez i pe a douzecea) i, a sublinia cu deosebire, o ntlnire 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 sptmn n care cei interesai de calculul membranar lucreaz mpreun, departe de grijile curente, sarcini didactice sau administrative. O idee util a fost colecionarea de probleme deschise, circulate printre participani cu ceva vreme nainte de ntlnire i abordate apoi, n colaborare, la Sevilla. ntlniri extrem de productive la pagina web a domeniului pot fi gsite volumele anuale, cu lucrrile scrise sau doar ncepute la brainstorming. Extrem de util a fost, desigur, internetul. Primul articol, Computing with membranes, a ateptat un an i ceva pn s apar n Journal of Computer and System Sciences (vol. 61, 2000, pp. 108-143), 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 Science (Report No. 208, 1998, www.tucs.fi). Pn n 2000, cnd a aprut articolul tiprit, se scriseser deja cteva zeci de lucrri, fcnd posibil organizarea primei ntlniri dedicate subiectului, cea de la Curtea de Arge.
26
O privire rapid asupra calculului membranar S nu uitm: vrem s pornim de la celul i s construim un model de calcul. Rezultatul (cel propus n toamna anului 1998) este ceva de genul urmtor. Privim celula i abstractizm pn nu mai vedem dect structura de membrane, aranjate ierarhic, definind compartimente n care sunt plasate multiseturi de obiecte (folosesc un termen generic, abstract, eliberat de concreteea biochimic); aceste obiecte evolueaz conform unor reacii. Un multiset este o mulime cu multipliciti asociate elementelor, deci poate fi descris de un ir; de exemplu, aabcab descrie multisetul care conine 3 cpii ale lui a, dou ale lui b i una a lui c. Toate permutrile irului aabcab descriu acelai multiset. Reaciile sunt descrise de reguli de rescriere a multiseturilor, de forma u , unde i sunt iruri care identific multiseturi. Iniial (la nceputul unui calcul), n compartimentele sistemului nostru avem multiseturi date de obiecte. Regulile de evoluie sunt puse la lucru aplicndu-se, precum reaciile biochimice, n paralel, simultan tuturor obiectelor care pot evolua i astfel multiseturile se schimb. Aplicarea unei reguli ca mai devreme presupune consumarea obiectelor din u i introducerea obiectelor din v. De remarcat c i obiectele i regulile sunt localizate, plasate n compartimente, regulile dintr-un compartiment se aplic numai obiectelor din acel compartiment. Unele obiecte pot i s treac prin membrane. Continum pn ce (ca la maina Turing) nu mai putem aplica nicio regul, calculul se oprete. n acel moment, citim rezultatul calculului, de pild, sub forma numrului de obiecte dintr-un compartiment specificat dinainte. Procesare de multiseturi (de simboluri), n paralel, n compartimentele definite de o structur ierarhic de membrane iat descrierea scurt a unui P system. O gramatic distribuit, lucrnd cu multiseturi iat legtura direct cu teoria limbajelor formale. Iar antierul care ncepe de aici pare fr sfrit. Mai nti, pot fi introduse un numr enorm de clase de sisteme, motivate matematic, informatic, biologic sau dinspre aplicaii. Din punctul de vedere al matematicii, modelele trebuie s fie minimaliste, s conin minimul necesar de ingrediente. Pentru informatic, un model de calcul este bine s fie ct mai puternic, dac se poate, echivalent cu maina Turing, i eficient, dac se poate, s rezolve probleme NP-complete n timp polinomial. Biologia i aplicaiile furnizeaz o lung list de variante, ncepnd de la modul de aranjare a membranelor (ierarhic, ca ntr-o celul, sau n nodurile unui graf arbitrar, ca n esuturi sau alte populaii de celule), la tipul obiectelor (simboluri, ca mai devreme, iruri sau alte structuri de date, mai complexe, cum ar fi grafuri sau array-uri bidimensionale), tipul regulilor de evoluie, strategia de aplicare a acestora, modul de definire a rezultatului unui calcul. Am menionat mai devreme regulile de rescriere a multiseturilor. Ele pot fi arbitrare, necooperative (cu multisetul stng format dintr-un singur obiect, ceea ce corespunde gramaticilor Chomsky independente de context) sau, caz intermediar, catalitice (de forma ca , unde c este un catalizator care asist obiectul a n transformarea lui n obiectele din multisetul v). Vin apoi regulile de simport i de antiport, care doar mut obiecte dintr-un compartiment n altul (exemplu: regula (u, out; v, in), asociat unei membrane, mut obiectele indicate de u din membran n compartimentul imediat superior i pe cele indicate de v n sens invers), sau regulile care modific membranele nsele. Foarte importante sunt regulile de divizare a membranelor, care mresc, exponenial chiar, numrul de membrane din sistem. Multe alte reguli au fost investigate (de pild, cu control asupra aplicrii lor cu promotori sau 27
inhibitori), dar nu le mai menionez, am depi prea mult cadrul informal al prezentrii de fa. Atunci cnd obiectele din compartimente sunt iruri, ele evolueaz prin operaii specifice irurilor: rescriere, inserare i tergere de subiruri, sau, pentru a face modelul i mai unitar biologic, operaia de splicing, de la calculul cu ADN. O situaie interesant este cea n care n sistem lucrm cu obiecte-simbol, deci cu numere, dar rezultatul este citit n afara sistemului, sub forma irului obiectelor care prsesc sistemul. A se observa diferena calitativ dintre structura de date din interior, multisetul, i cea din exterior, irul, care poart i informaie poziional. Aplicaiile, la rndul lor, au nevoie de o cu totul alt strategie de construire a modelelor deloc minimalist, ci adecvat realitii modelate, i unde nu puterea de calcul este de interes, ci evoluia n timp a sistemului. Voi reveni la aplicaii. Peste aceast mic jungl de modele se suprapune programul de cercetare sugerat de informatica clasic: putere de calcul, forme normale, complexitate descriptiv, complexitate de calcul, programe de simulare etc.
Clase de rezultate (i probleme) Evident, nu voi relua teoreme precise, ci voi meniona doar cele dou clase principale de rezultate i stilul lor. Universalitate computaional: majoritatea claselor de sisteme P sunt echivalente cu maina Turing, sunt computaional complete i, prin demonstraii, pentru c acestea sunt constructive, mprumut i proprietatea de universalitate n sensul lui Turing. Adesea, acest lucru se obine pentru sisteme de o form redus, particular, cu un numr mic de membrane. De pild, sisteme P de tip celul, cu dou membrane, cu reguli catalitice (deci nu de forma general) pot calcula tot ce poate calcula maina Turing. Important: sunt suficieni numai doi catalizatori. Este o problem deschis de peste un deceniu dac sistemele cu un singur catalizator sunt universale. Conjectura este c rspunsul este negativ, dar demonstraia ntrzie s apar. Acesta este unul dintre cele mai interesante tipuri de probleme (multe deschise nc) n calculul membranar: identificarea graniei dintre universal i sub-universal. Eficien: clasele de sisteme P care pot crete (exponenial) numrul de membrane pot rezolva n timp polinomial probleme NP-complete. Ideea este generarea n timp polinomial a unui spaiu de lucru exponenial i folosirea lui, n paralel, pentru examinarea soluiilor posibile ale unei probleme. Divizarea de membrane ajut, la fel crearea de membrane, la fel i alte operaii. Ca n cazul lui Adleman, avem din nou o tranzacionare spaiu-timp, cu meniunea c aici spaiul este construit de-a lungul derulrii calculului, prin mitoz sau prin alte operaii biologice, realiste, nu este furnizat dinainte. Exist i n aceast zon probleme deschise privind grania dintre eficient i neeficient, dar mai greu de formulat n cuvinte. Interesant este ns un fapt oarecum neateptat. Cu reguli de forma a , aplicate n paralel, putem produce un numr exponenial de cpii ale lui a ntr-un numr liniar de pai. (n n pai, obinem 2 n cpii ale lui a.) Totui, un asemenea spaiu de lucru exponenial nu ajut pentru a rezolva n timp polinomial probleme de complexitate mare este ceea ce ne spune aa-numita teorem Milano, din teza de doctorat a lui Claudio Zandron. Dac, ns, aceste obiecte sunt localizate, plasate ntr-un numr exponenial de membrane, atunci lucrurile se schimb. Altfel spus, nu numai dimensiunea spaiului de 28
lucru conteaz, ci i structura acestuia, posibilitatea de a aplica reguli diferite n locuri diferite. O diferen subtil, care nu tiu s fi fost sesizat i pn acum, n alte contexte. Pentru detalii, trimit la monografia Membrane Computing. An Introduction, publicat la Springer-Verlag n 2002 i tradus recent n chinezete, i, mai ales, la Oxford Handbook of Membrane Computing, editat mpreun cu G. Rozenberg i A. Salomaa, la Oxford University Press, n 2010.
Semnificaii pentru informatic i pentru biologie Un model de calcul de puterea mainii Turing este un lucru bun, un calculator de acest nivel este universal nu numai n sens intuitiv, ci i programabil. n plus, avem un calculator distribuit, paralel, cu un mare grad de nedeterminism controlat n diferite moduri inspirate din biologie. S observm ns asemnrile i diferenele dintre un program uzual de calculator, un set de instruciuni ale unei maini Turing i un set de reguli de evoluie dintr-un sistem P. n limbajele de programare, programele sunt formate din instruciuni precis nlnuite, eventual etichetate i apelate prin intermediul etichetelor. La maina Turing, secvena de instruciuni de aplicat este determinat de strile mainii i de coninutul benzii. n cazul celulei, reaciile sunt poteniale, mulimea lor complet nestructurat, iar aplicarea lor depinde de moleculele disponibile. Regulile de evoluie ateapt datele crora s se aplice, au o comportare concurenial n raport cu acestea. Diferenele sunt vizibile i ele ne sugereaz din nou ntrebarea cum se calculeaz n mod natural, adugndu-i acum ntrebarea dac se poate lucra cu programe de forma unor mulimi complet nestructurate de instruciuni. La prima vedere, probabil c reacia biologului la rezultate de genul echivalenei cu maina Turing este ridicarea din umeri. Alt domeniu, alt limbaj, alt carte. i totui: dac celula este att de puternic din punct de vedere computational, atunci, conform unei teoreme vechi, a lui Rice (orice problem netrivial care are i instane cu rspuns afirmativ i instane cu rspuns negativ asupra unui model de calcul echivalent cu maina Turing este nedecidabil algoritmic), nicio ntrebare netrivial asupra celulei nu poate fi rezolvat algoritmic, printr-un program. Iar biologul formuleaz zilnic asemenea ntrebri: Care este evoluia n timp a unei celule, a unei culturi de celule, a unui organism? Exist o substan care se acumuleaz peste o anumit limit, ntr-un anume compartiment? Dac adugm un anumit multiset de molecule (un medicament), se mbuntete starea unui organ (din puncte de vedere specificate)? i aa mai departe. Dac un model al celulei ar fi decidabil, am putea afla rspunsul la asemenea ntrebri examinnd (algoritmic) modelul, la o stare dat, iniial. Pentru c acest lucru nu este posibil (nu se poate n principiu, nu numai c nu putem noi, acum, aici), ne rmne experimentul de laborator (costisitor i de durat), experimentul pe calculator (ieftin, rapid, dar a crui relevan depinde de calitatea modelului) i, teoretic, abordarea nealgoritmic, ad-hoc. Paragraful dinainte poate fi vzut i ca o pledoarie pentru biologie de a nva limbaje noi, n particular, informatic teoretic, avnd astfel posibilitatea de a ridica probleme i de a gsi soluii care n limbajul dinainte nu apruser, poate nici nu se puteau formula. Acesta ar fi un pas esenial spre infobiologie.
Trei probleme informatice inedite n ceea ce privete semnificaiile pentru informatic, s semnalm un aspect remarcabil: calculul natural n general, cel membranar n particular, ridic probleme 29
teoretice care nu au fost avute n vedere n informatica tradiional. Iat trei dintre acestea, toate trei innd de teoria complexitii. ncepnd cu Adleman, majoritatea experimentelor de calcul cu ADN au plecat de la o instan a unei probleme i au construit un calculator asociat instanei. Teoria complexitii calculului nu permite aa ceva, ci cere soluii uniforme, programe care pleac de la problema ca atare i care, primind o instan ca intrare, o rezolv. Ideea este c n timpul programrii se poate deja lucra la rezolvare, pretinzndu-se apoi c soluia a fost gsit mult mai rapid dect este cazul. De aceea, i n soluiile uniforme se limiteaz timpul alocat programrii. S-l limitm atunci i n cazul n care se pleac de la o instan a problemei, pentru a nu putea tria nici aici. Problema relaiei dintre soluii uniforme i semi-uniforme (cu timpul de programare limitat) nc nu este complet rezolvat, n ciuda importanei pentru calculul natural. Pentru calculul membranar s-au obinut o serie de rezultate a se vedea, n special, lucrri recente ale lui Damien Woods (Caltech, SUA), Niall Murphy (Microsoft Research, Cambridge, UK), Mario J. Prez-Jimnez (Universitatea Sevilla, Spania). Apoi, n calculul cu ADN i la fel n multe modele de calcul membranar, parte dintre paii unui calcul sunt nedeterminiti, dar n final experimentul/calculul ne furnizeaz un rezultat univoc. Ideea este de a organiza calculul n aa fel nct el s fie confluent, cu dou variante: fie sistemul s evolueze nedeterminist, dar s convearg spre o configuraie unic, apoi s se comporte determinist, fie s convearg logic, indiferent cum evolueaz, s dea acelai rezultat. Iari, teoria complexitii nu ia n seam o asemenea comportare, intermediar ntre determinism i nedeterminism. n sfrit, biologia prezint situaii n care resurse extinse stau n ateptarea unor solicitri care activeaz poriunea necesar din resurs. Cazurile creierului i ficatului, din care folosim n fiecare moment doar o parte dintre celule, sunt cele mai la ndemn. Putem atunci imagina calculatoare de pild, sisteme neurale cu un numr arbitrar de mare de neuroni, dar care nu conin dect o cantitate limitat de informaie; dup ce introducem o problem n sistem, acesta activeaz numrul necesar de neuroni pentru a o rezolva. O teorie adecvat acestei strategii nu exist. Cum trebuie s fie reeaua de neuroni pentru a conine o cantitate limitat de informaie, cum trebuie definit i msurat aceast informaie, cnd un sistem cu resurse pre-calculate este acceptabil/onest, nu ascunde soluia problemei n structura sa? Calculul natural nu numai c face necesar mbuntirea unor rezultate vechi din informatic, dar motiveaz i dezvoltri noi, care nu apruser pn acum.
Despre tehnicile folosite n calculul membranar Pentru a sublinia nc odat relaiile dintre ramuri aparent deprtate ale informaticii teoretice, unitatea acesteia, i faptul c n calculul membranar, n calculul natural n general, sunt valorificate foarte multe tehnici i rezultate anterioare din informatic, amintesc cteva episoade din experiena personal. n prima demonstraie de universalitate a sistemelor P am folosit rezultatul lui Yuri Matijasevich, invocat i mai devreme, de caracterizare a mulimilor de numere calculate de o main Turing ca soluii de ecuaii diofantice. Am realizat apoi c o demonstraie ceva mai simpl se poate obine pornind de la caracterizarea acelorai mulimi de numere cu ajutorul gramaticilor matriciale. Lucrarea a fost publicat n aceast form. n context, a aprut necesitatea mbuntirii unor rezultate vechi din acest domeniu. Dup o vreme, i gramaticile matriciale au fost nlocuite n demonstraii, anume cu mainile cu regitri, studiate nc din anii 60. 30
O tehnic i mai veche mi-a fost util n prima demonstraie de universalitate a sistemelor H, anume modul de funcionare a sistemelor Post, ntroduse pe la nceputul anilor 1940. Transpus la operaia de splicing, acesta a dus la tehnica numit rotete-i- simuleaz, aproape standard pentru sisteme H i variante ale acestora. De gramatici matriciale m-am ocupat din primii ani de cercetare i am ncheiat cu o monografie (publicat n 1981, rmas n limba romn), extins la o carte n colaborare cu Jrgen Dassow, de la Magdeburg, Germania (aprut la Springer-Verlag, n 1989), dedicat tuturor restriciilor n derivare. La fel s-a ntmplat cu alte domenii, care au fost utile din plin calculului membranar; gramaticile contextuale Marcus i sistemele de gramatici sunt cele mai importante. n matematic i n informatica teoretic nu se poate spune apriori dac i cnd un subiect sau un rezultat va fi util...
Spiking neural P (SNP) systems Merit o semnalare separat o clas de modele inspirate din modul de funcionare a creierului, introdus ceva mai trziu (M. Ionescu, Gh. Pun, T. Yokomori: Spiking neural P systems, Fundamenta Informaticae, vol. 71, 2006, pp. 279-308), dar care, se pare, va ajunge la implementri hardware utile informaticii mai repede dect alte clase de sisteme P (detalii despre acest lucru pot fi gsite n lucrarea The stochastic loss of spikes in spiking neural P systems: Design and implementation of reliable arithmetic circuits, de Zihan Xu, Matteo Cavaliere, Pei An, Sarma Vrudhula, Yu Cao, n curs de apariie n Fundamenta Informaticae). n cteva cuvinte, este vorba despre neuroni legai prin sinapse, de-a lungul crora circul impulsuri electrice, produse n neuroni de reguli specifice. La fel ca n cazul neuronilor reali (vezi, de exemplu, W. Maass: Networks of spiking neurons: The third generation of neural network models, Neural Networks, vol. 10, 1997, pp. 1659- 1671), comunicarea ntre neuroni este asigurat de impulsuri electrice identice, pentru care frecvena este relevant, codificnd informaie. Altfel spus, abstractiznd, important este distana n timp ntre impulsuri. La fiecare moment, axonii sunt un fel de coduri de bare, secvene de 0 i 1 care se deplaseaz de la un neuron la altul. Evident, n model sunt ignorate multe detalii neurobiologice, dar, chiar i la acest nivel reducionist, putem formula unele ntrebri/sugestii privind relevana pentru informatic. ntr-un anumit sens, sistemele SNP folosesc timpul ca suport de informaie. Distana ntre dou evenimente, dou impulsuri aici, codific un numr. Se poate construi un calculator cu o asemenea memorie? Consemnm ntrebarea ca speculaie doar provocatoare ns la nivel teoretic. Un rezultat ce merit amintit se refer la cutarea de sisteme SNP care s fie universale n sensul lui Turing, adic s poat fi programate n aa fel nct s simuleze oricare alt sistem SNP. Din echivalena cu maina Turing, rezult imediat c asemenea sisteme exist, problema de interes privete numrul de neuroni dintr-un astfel de creier universal, apt s simuleze orice calcul posibil n orice sistem particular. Iar acest numr nu este deloc mare. n lucrarea Small universal spiking neural P systems, BioSystems, vol. 90, 2007, pp. 48-60, de Andrei Pun i Gh. Pun, sunt folosii 50 80 de neuroni, depinznd de tipul de reguli de producere a impulsurilor electrice, dar aceste numere au fost ulterior micorate. n termeni gazetreti, se poate spune c exist creiere universale computaional formate din numai cteva zeci de neuroni. Putem trage fie concluzia c un model de calcul de tipul sistemelor SNP este foarte puternic, de fapt, c neuronii din aceste sisteme sunt prea puternici, fie c nivelul Turing de calculabilitate nu este prea cuprinztor fie ambele concluzii. Evident, creierul uman nu 31
funcioneaz ca o main Turing chiar dac paradigma computaional este util, la un anumit nivel, n modelarea funcionrii sale.
Despre implementri Calculul cu ADN a debutat prin introducerea operaiei de splicing n 1987, dar despre posibilitatea de a calcula folosind molecule de ADN s-a vorbit cu un deceniu i ceva mai nainte, iar domeniul a devenit popular dup experimentul lui Adleman din 1994. S-a creat astfel un precedent, drept care ntrebarea dac exist implementri ale sistemelor P este fireasc i frecvent. Se nelege, este vorba despre implementri pe un substrat biologic. Rspunsul este negativ. Au existat ncercri, dar nc nu s-a raportat un experiment reuit. Un asemenea experiment a fost proiectat n grupul profesorului Ehud Keinan, de la Institutul Tehnion din Haifa, unde am petrecut o sptmn n 2006, tocmai cu acest scop. Trebuiau depite dou probleme principale, corelate: identificarea unui sistem P care s fac posibil reproducerea n laborator a funcionrii lui i, desigur, gsirea tehnicilor biochimice de implementare. Nu am intenionat rezolvarea unei probleme NP-complete, nu am ntrezrit una abordabil, ci am cutat un sistem a crui comportare s fie ilustrativ pentru calculul membranar (compartimente, multiseturi, procesare paralel) i ne-am oprit la generarea de numere din irul lui Fibonacci. Realizarea n laborator prea doar o chestiune de timp i bani, pentru achiziionarea aparaturii de laborator i a... moleculelor de ADN. Membranele se doreau simulate prin microcamere ntr-o instalaie reconfigurabil de laborator, iar obiectele urmau s fie molecule de ADN. Primele ncercri nu au reuit, apoi... sociologia tiinei i-a spus iar cuvntul: cele dou doctorande care aveau ca sarcin experimentul s-au mutat n SUA. E adevrat, ntre timp a aprut un patent SUA pe numele lui Ehud Keinan (un cercettor de mare anvergur, specialist n chimie i biologie deopotriv), de implementare a unui sistem P, dar folosind o alt tehnic, bazat pe trei lichide nemiscibile plasate ntr-un spaiu comun. Din cte tiu, e o implementare de principiu, nu s-a fcut cunoscut niciun experiment reuit. ntrebarea care se pune este dac un asemenea experiment ar aduce ceva cu adevrat util din punctul de vedere al aplicaiilor. Repetnd o vorb a lui Benjamin Franklin, este imposibil de spus ce va ajunge un nou-nscut, dar, avnd n minte situaia de la calculul cu ADN, probabil c nu va fi dect tot un demo, la nivelul unor calcule simple. Cu totul alta este situaia implementrilor pe hardware electronic. Exist multe implementri promitoare pe hardware paralel (pe plci NVIDIA, la Sevilla), pe hardware special proiectat pentru calcul membranar (la Madrid i Adelaide, Australia), pe reele de calculatoare, pe web chiar. Toate acestea reuesc n mare msur s prind caracteristica esenial a sistemelor P, paralelismul. Avnd n vedere paralelismul, nu numesc implementri, ci simulri, cazurile n care se folosesc calculatoare obinuite, secveniale. Pe de alt parte, i simulrile i, cu att mai mult, implementrile sunt utile n aplicaii.
Aplicaii Calculul membranar confirm o observaie fcut n multe alte situaii: atunci cnd o teorie matematic, pornit de la un fragment precis de realitate, se dezvolt suficient de mult la nivel abstract, teoretic, sunt toate ansele ca ea s se aplice i n 32
domeniul de plecare, dar i n alte locuri, unele deprtate, la prima vedere, de cel de unde teoria a plecat (dar cu o structur de adncime comun). Este, foarte pregnant, cazul de aici. Revenirea la celul era fireasc. Biologia duce lips de modele, celula nu este uor de modelat. S-a i afirmat c, dup ncheierea citirii genomului uman, principala provocare pentru bioinformatic este modelarea i simularea celulei (M. Tomita: Whole-cell simulation: A grand challenge of the 21st century, Trends in Biotechnology, vol. 19, 2001, pp. 205-210). Spuneam, multe modele folosite n biologie sunt bazate pe ecuaii difereniale. n unele locuri ele sunt adecvate, n altele nu. Ecuaiile in de matematica continuului, se potrivesc populaiilor foarte mari de molecule, uniform distribuite. n celul, multe molecule se gsesc n numere mici, drept care aproximarea finitului prin infinit, pentru a aplica ecuaii difereniale, duce la rezultate viciate. De aici, fireasc, necesitatea modelelor discrete, n particular, a sistemelor P, care mai au i alte caracteristici atrgtoare pentru biolog: vin din biologie, sunt deci uor de neles, aspect ce nu trebuie deloc subestimat; sunt modele algoritmice, direct programabile, pentru a fi simulate pe calculator; pot fi uor extinse (sunt scalabile), adugarea de componente, de orice tip ar fi acestea, nu schimb programul de simulare; comportarea este de tip emergent, nu poate fi prezis pe baza componentelor. Sunt numeroase aplicaiile n biologie i biomedicin. De la celula individual s- a trecut la populaii de celule (bacterii), s-a trecut apoi la... ecosisteme. Doar un titlu, pentru c este sugestiv: Modeling ecosystems using P systems: The bearded vulture, a case study, de Mnica Cardona, M. Angels Colomer, Mario J. Prez-Jimnez, Delfi Sanuy i Antoni Margalida, ultimii doi fiind specialiti n ecologia vulturului brbos i protecia animalelor, din Lleida, Spania. Evident, ecosistemul este o celul metaforic, moleculele care interacioneaz fiind vulturii, caprele slbatice, lupii, vntorii toate acestea n cantiti discrete, numere cunoscute, fr nicio ans de a fi modelate cu instrumente ale matematicii continue. Alte ecosisteme studiate privesc urii panda din China i scoica dungat din lacurile de acumulare ale hidrocentralelor spaniole. Aplicaii plauzibile pn aici. Mai puin ateptate sunt cele n grafica de calculator (dar avem precedentul sistemelor Lindenmayer), criptografie (n organizarea atacului asupra unor sisteme criptografice), optimizare aproximativ (calcul evolutiv distribuit, cu distribuirea organizat ca ntr-o celul; numrul lucrrilor de acest gen este foarte mare, subiectul fiind popular n China, iar rezultatele sunt surprinztor de bune cu meniunea c faimoasa no free lunch theorem cenzureaz i aici entuziasmul), modelare economic (o extensie metaforic similar celei la ecosisteme), controlul roboilor. Aceste din urm dou arii de aplicaii sunt parte a uneia potenial mai ample, care se bazeaz pe folosirea aa-numitelor sisteme P numerice, unde, ntr-un cadru celular evolueaz nu molecule, ci variabile numerice, pe baza unor programe constituite dintr-o funcie de producie i un protocol de repartiie. Inspiraia vine din economie (Gh. Pun, Radu Pun: Membrane computing and economics: Numerical P systems, Fundamenta Informaticae, vol. 73, 2006, pp. 213-227). Sistemele de acest tip calculeaz funcii de mai multe variabile, n paralel, iar acest calcul este extrem de eficient, de aceea este de ateptat ca aceast clas exotic de sisteme P s-i afle i alte aplicaii. Detalii despre aplicaii pot fi gsite la pagina web a domeniului, n Handbook, precum i n volumele colective Applications of Membrane Computing (editat de G. Ciobanu, Gh. Pun, M.J. Prez-Jimnez) i Applications of Membrane Computing in 33
Systems and Synthetic Biology (editat de P. Frisco, M. Gheorghe, M.J. Prez-Jimnez), ambele aprute la Springer-Verlag, n 2006, respectiv, 2014.
ndoieli, dificulti, nempliniri n momente festive, cum este i cel de fa, sau cu ocazia periodicelor raportri, este neuzual, poate i nepotrivit, s vorbim i despre nempliniri i momente de cumpn chiar dac acest lucru poate fi instructiv pentru asculttor i util pentru domeniu. Pe de alt parte, ezitrile i ndoielile l nsoesc continuu pe cercettor. A putea, de pild, face o list lung de momente n care ateptrile au fost de un fel, rezultatele de un alt fel. ncepnd cu rezultatele matematice. De exemplu, la nceput nu am crezut c sistemele P catalitice sunt universale, cu att mai mult cele cu numai doi catalizatori. La fel, am tot sperat n gsirea de clase de sisteme pentru care numrul de membrane s induc o ierarhie infinit. n schimb, mai mereu universalitatea este obinut cu una sau dou membrane. O membran este ca i cnd n-ar exista nicio structurare a sistemului, o arhitectur trivial. Sigur, putem vedea partea plin a paharului: procesarea (catalitic) a multiseturilor este suficient de puternic pentru a simula maina Turing. Pentru c am n minte situaia de la calculul cu ADN, nu trec la nempliniri lipsa unei implementri biologice dect pentru valoarea publicitar a unui asemenea eveniment, dar sunt nc n ateptarea unei implementri pe hardware dedicat care s fie de interes practic. Este nevoie de aa ceva i, cred, este i posibil. De pild, acum civa ani, o echip de biologi i informaticieni din Nothingham, Sheffield i Sevilla au ncercat s simuleze pe calculator comunicarea ntre bacterii, modelnd aa-numitul quorum sensing. Simulatoarele puteau lucra cu sute de bacterii, biologii doreau s treac la populaii de mii de bacterii. M atept ca implementrile pe hardware paralel (pe plci NVIDIA, de exemplu) s accead curnd la acest ordin de mrime cerut de biologi. Apropo de aplicaii, chiar dac acestea nu m interesau la nceput, a devenit la un moment dat evident c domeniul nu poate trece de un anumit nivel de dezvoltare i notorietate fr aplicaii reale. Aplicaii apreau, dar de tip postdicie, nu predicie. Scenariul clasic este urmtorul: se ia un fenomen biologic discutat ntr-o lucrare sau ntr-o carte, se formalizeaz ca sistem P, se scrie un program (sau se folosete unul aflat n circulaie acum, avem i un limbaj de programare specializat, P-lingua, realizat la Universitatea din Sevilla), se fac experimente cu datele din carte i, dac rezultatele sunt similare celor obinute n laborator sau folosind alte modele, ne bucurm. Postdicie, nimic nou pentru biologie, doar creterea ncrederii n noul model. Pentru a trece de acest stadiu este nevoie de un biolog, care s vin cu o problem de cercetare, cu ipoteze care trebuie testate, i care s fac echip cu informaticianul n aplicarea calculului membranar. La rndul su, informaticianul trebuie s vin cu modele suficient de versatile i cu programe suficient de eficiente, pentru a face fa complexitii biologice. Dup aisprezece ani de calcul membranar, bibliografia aplicaiilor de tip predicie este consistent a se vedea referinele din seciunea anterioar chiar dac este nc nevoie de biologi care s vin spre informatician, eventual s nvee calcul membranar, sau mcar s nvee s foloseasc instrumentele software pe care informaticianul le-a realizat deja. Spuneam mai devreme c m-a preocupat formarea unei comuniti iniial intuitiv, apoi contient, era un mod de a stabiliza domeniul n faa fluctuaiei cadrelor, a dinamicii grupurilor. E un aspect care pare exterior, dar nu trebuie deloc subestimat 34
efectul psiho-sociologiei asupra tiinei, n special n cazul ramurilor tinere. Un grup care se sparge poate nsemna un grup n minus (depinde unde ajung membrii lui, dac i continu sau nu activitatea de cercetare) sau apariia unor grupuri noi, multiplicate, n locuri inedite. Am asistat la ambele tipuri de urmri. Din fericire, comunitatea de calcul membranar are la ora aceasta dimensiuni care-i dau o inerie confortabil dar care nu garanteaz c domeniul nu se va dizolva n infobiologie, ba chiar dimpotriv, lucreaz n acest sens...
La frontiera dinspre SF Principala promisiune a calculului natural este eficientizarea folosirii calculatorului existent, mpingerea frontierei fezabilitii, furnizarea de soluii, fie ele i aproximative, la probleme care nu se pot rezolva prin tehnici tradiionale. Calculul cu ADN a venit cu un scop mai ambiios, inedit: furnizarea unui nou tip de hardware, a unor cipuri biologice, cipuri ude, eficiente nu numai n termeni computaionali, ci i n ceea ce privete consumul de energie, sau fcnd plauzibile caracteristici deosebit de atrgtoare, cum ar fi autorepararea, adaptarea, nvarea. Biologia poate sugera i noi arhitecturi de calcul sau idei de realizare a altor dorine ale informaticii, cum ar fi calculul paralel, nesincronizat, controlul proceselor distribuite, calculul reversibil etc. Toate acestea sunt ateptri oarecum standard, dar exist i altele care trimit spre tiina de mine, dac nu direct spre science-fiction. Una dintre direcii este cea care intete spre hipercalculabilitate aa sunt numite cercetrile care vizeaz calcularea necalculabilului, trecerea dincolo de bariera Turing. Domeniul este bine dezvoltat, exist vreo duzin i ceva de idei care conduc la modele de calcul mai puternice dect maina Turing iar fizica nu interzice niciuna dintre acestea, ba chiar sugereaz idei cu adevrat SF, cum ar fi folosirea unui timp interior modelului care s conin bucle sau s fie bidimensional. E adevrat, Martin Davis le consider pe toate trucuri, prin care puterea de calcul se introduce de la nceput, deghizat, n modelul despre care apoi se arat c trece dincolo de maina Turing (de exemplu, sub forma unor numere reale, care pot codifica n irul lor infinit de zecimale toate calculele posibile), dar exist unele idei mai realiste dect altele. Una este cea a accelerrii, o idee discutat de mult, nu numai n informatic: B. Russell (1936), R. Blake (1926), H. Weyl (1927) i-au imaginat procese care au nevoie de o unitate de timp (msurat de un ceas exterior) pentru primul pas, de o jumtate de unitate de timp pentru al doilea i aa mai departe, la fiecare pas, pe jumtate ca la pasul dinainte. n acest fel, n dou uniti de timp (insist: exterior, msurai de observator) sunt executai un numr infinit de pai. O main Turing accelerat astfel poate rezolva problema opririi, deci este mai puternic dect mainile Turing obinuite. S ne amintim acum observaia c natura creeaz membrane pentru a realiza reactoare mici, n care reaciile s fie favorizate, datorit posibilitilor ridicate de ciocnire a moleculelor. Prin urmare, mai mic nseamn mai repede. Biochimia dintr-o membran interioar este mai rapid dect cea din membrana de deasupra. S ducem speculaia pn la capt i s presupunem c viaa dintr-o membran este de dou ori mai rapid dect cea din membrana care o conine. Exact accelerarea de care vorbeam mai devreme. Se poate demonstra (C. Calude, Gh. Pun: Bio-steps beyond Turing, BioSystems, vol. 77, 2004, pp. 175-194) c, exact ca la maina Turing accelerat, un sistem P accelerat poate decide problema opririi. Hipercalculabilitatea poate prea doar un exerciiu matematic, dar se estimeaz c trecerea dincolo de bariera Turing ar putea avea consecine mai importante dect gsirea unei demonstraii, chiar eficiente, pentru egalitatea P = NP; a se vedea, de 35
exemplu, B.J. Copeland: Hypercomputation, Minds and Machines, vol. 12, 2002, pp. 461-502. S ne apropiem ns de laborator. Am amintit de implementarea unui automat finit, cu funcionare autonom. Un automat face analiza sintactic a unor iruri. Genele sunt iruri, viruii sunt iruri (de nucleotide). O speran a medicinii este s vindece boli prin editarea genelor, s elimine viruii prin identificarea i apoi tierea lor n fragmente. O idee mult mai eficient dect introducerea de medicamente n corp este construirea unei mainrii care s recunoasc i s editeze secvenele dorite de nucleotide, fie ele gene sau virui, iar pentru asta e necesar un vector care s duc editorul de gene la locul potrivit. Identificarea acestui loc poate fi asigurat de un automat, eventual finit, vectorul ca atare poate fi un fel de nano-cru care poate fi construit tot din molecule de ADN. Pe total, un nano-robot multiplicat corespunztor, care s umble din celul n celul, vindecnd ce este de vindecat. Un preproiect al acestui nano-robot a fost prezentat n 2004, de Y. Benenson, E. Shapiro, B. Gill, U. Ben-Dor, R. Adar (Molecular computer. A smart drug in a test tube), la cea de a zecea ediie a Conferinei DNA Computing, Milano, Italia. Era n mare msur aceeai echip care a implementat automatul finit autonom. Mai sunt multe lucruri de pus la punct, posibilitatea de a avea corpul scanat ncontinuu de un robot reparator de gene nu este deloc aproape. (Un asemenea robot ar putea avea i sarcini malefice, ar putea fi o arm se poate deschide aici o discuie despre etica cercetrii, exist destule dezbateri de acest gen, inclusiv n bioinformatic. Despre bioetic vorbete i Francis S. Collins, n Limbajul lui Dumnezeu, cartea citat mai la nceput.) Exist ns numeroase nano-construcii din ADN, motoare, roboi etc., nano-tehnologia pe baz de ADN este spectaculos de dezvoltat. A se vedea, de exemplu, J.H. Reif, T.H. LaBean, S. Sahu, H. Yan, P. Yin: Design, simulation, and experimental demonstration of self-assembled DNA nanostructures and motors, Proceedings of the Workshop on Unconventional Programming Paradigms, UPP04, Le Mont Saint-Michel, septembrie 2004, Springer, 2005. Merit amintit aici i o observaie fcut de Jana Horkov i Jozef Kelemen n Capek, Turing, von Neumann, and the 20th century evolution of the concept of machine, din Proceedings of the International Conference in Memoriam John von Neumann, Budapest Polytechnic, 2003, pp. 121-135, privind evoluia calculatoarelor, oarecum n paralel cu evoluia ideii de robot, de la organic la electromecanic, apoi la electronic i revenirea plauzibil la organic. Alte speculaii? Fr limite, adesea plecnd de la fapte cu suport tiinific solid. Spre latura extrem, ar putea fi menionat Frank Tipler, cu controversata sa via etern, n termeni informaionali ceea ce nu este altceva dect via artificial la scara universului (F. Tipler: The Physics of Immortality, Doubleday, New York, 1994). n orice caz, trebuie s fim contieni c mai toate acestea sunt planuri pentru mine, dar formulate n limbajul de ieri, pentru a relua o spus a lui Antoine de Saint-Exupry. Progresele n bioinginerie ar putea s aduc surprize pe care nu ni le putem imagina acum.
Nu cumva sperm prea mult? S coborm ns cu picioarele pe pmnt, la calculul natural aa cum l avem astzi i aa cum este plauzibil s-l avem n viitorul apropiat, adoptnd o poziie lucid, dac nu chiar sceptic, contrar entuziasmului din seciunea anterioar i entuziasmului multor autori. (Nu m refer i la jurnaliti, care folosesc prea des cuvinte mari atunci cnd este vorba despre bioinformatic.) 36
Pentru a promova o ramur tiinific tnr, entuziasmul este de neles i este util dar calculul natural nu mai este deloc tnr. S opunem, deci, optimismului de pn acum, o poziie mai realist, pornind de la diferenele, numeroase i semnificative, ntre informatic i biologie, de la dificultile de a implementa bio-idei n informatic i calcule n celule: scopul vieii este viaa, nu calculul, noi, informaticienii, vedem calcule pretutindeni i ncercm s le folosim pentru noi; ntr-un anume sens, viaa are timp i resurse nelimitate, i permite s experimenteze repetat, s renune la rezultatele nepotrivite toate acestea sunt greu de extins la calculatoare, fie ele i bazate pe biomolecule. La fel, viaa are un mare grad de redundan, de nedeterminism. Apoi, procesele biologice au un grad mare de complexitate, mai mult, par a folosi mai ales matematica aproximrilor, probabiliti, mulimi vagi, care sunt mai greu de prins ntr- un model de calcul, cu att mai greu de implementat. i mai important: poate c vism prea mult i la nivel teoretic. n primul rnd, tranzacionarea spaiu-timp nu poate redefini clasele de complexitate, cel mult mrete spaiul fezabilitii (a se revedea remarca lui Hartmanis cu privire la experimentul lui Adleman). Exist, apoi, o teorem a lui Michael Conrad (The price of programmability, n volumul The Universal Turing Machine: A Half-Century Survey, R. Herken, ed., Kammerer and Unverzagt, Hamburg, 1988, pp. 285-307) care ne spune c trei caracteristici dorite ale unui calculator, programabilitatea (universalitatea), eficiena i evolvabilitatea (capacitatea de adaptare i nvare), sunt contradictorii, nu exist un calculator care s le posede pe toate trei n acelai timp. Putem interpreta acest rezultat ca o no free lunch theorem general pentru calculul natural. O teorem similar de limitare a ceea ce se poate face n principiu este teorema lui Robin Gandy, doctorand i colaborator al lui Turing, care i ofer argumente matematice generale lui Martin Davis: hipercalculabilitatea este un lucru extrem de dificil de obinut (a se vedea, de exemplu, articolul lui Gandy Churchs thesis and principles for mechanisms, n volumul The Kleene Symposium, J. Barwise et al., eds., North-Holland, Amsterdam, 1980, pp. 123-148). Gandy a dorit s elibereze teza Turing- Church de orice tent antropic (n nelegerea lui Turing, teza spunea c tot ce poate fi calculat de o fiin uman abstract care lucreaz algoritmic poate fi calculat de o main Turing) i, pentru aceasta, a definit o noiune general de main, descris de patru proprieti formulate matematic, pe care orice calculator, fizic sau teoretic, ar trebui s le aib. El a demonstrat apoi c orice main cu aceste patru proprieti poate fi simulat de o main Turing. S trecem de la informatic la aplicaii n biologie i s ncepem tot prin a sublinia c exist limitri serioase i n aceast privin. Sunt chiar convins c, dac s-ar face liste cu dorinele pe care le avem de la modele i simulri (adecvare, acuratee, eficien, inteligibilitate, programabilitate, scalabilitate i multe altele), vor aprea teoreme de imposibilitate de genul teoremelor lui Arrow, Conrad, Gdel privind modelarea celulei nsei spre simularea creia ne chema M. Tomita.
Spre o nou biologie? Cu toate acestea, exist o preocupare tot mai vizibil privind modelarea celulei, ba chiar s-a propus o direcie dedicat de cercetare, biologia sistemic (systems biology), cu numeroase articole programatice aprute n reviste de mare vizibilitate, precum Science and Nature. Principalul promotor a fost H. Kitano (Systems biology: A brief overview, Science, vol. 295, martie 2002, pp. 1662-1664, Computational systems biology, Nature, vol. 420, nov. 2002, pp. 206-210), care are n vedere un 37
model general al celulei, care s fie simulat pe calculator i apoi folosit, n relaie i cu alte instrumente informatice i biologice, pn la transformarea biologiei i medicinei ntr-o inginerie precis. Scopul este important i probabil fezabil pe termen mediu- lung, dar insistena cu care s-a vorbit despre systems biology ca despre o noutate l-a fcut pe Olaf Wolkenhauer s se ntrebe nc din titlul articolului su din Briefings in Bioinformatics (vol. 2, 2001, pp. 258-270) dac aceasta nu este cumva doar reincarnarea aplicrii teoriei sistemelor n biologie. Lucrarea amintete eforturile n acest sens din anii 1960, cu dezamgirile aprute atunci, datorate, printre altele, limitelor calculatoarelor din acea vreme (dar i limitelor biologiei: s ne amintim c modelul Singer-Nicolson al membranei ca mozaic fluid dateaz abia din 1972). Dar, n afar de puterea de calcul, poate c mai lipsea ceva, care probabil lipsete i acum, n informatic i biologie deopotriv. Ultimul paragraf din lucrarea lui Olaf Wolkenhauer l invoc pe Mihailo Mesarovic, un clasic al teoriei sistemelor, care spunea, n 1968, c n ciuda considerabilului interes i a eforturilor, aplicarea teoriei sistemelor n biologie nu a rspuns ateptrilor. (...) Unul dintre motivele principale pentru care exist acest decalaj este c teoria sistemelor nu a abordat direct probleme de interes vital pentru biologie. Sfatul su pentru biologi, adaug Olaf Wolkenhauer, este c un asemenea progres se poate obine numai printr-o mai direct i puternic interaciune cu cercettorii n teoria sistemelor. Un avans real n aplicaiile teoriei sistemelor n biologie va aprea numai atunci cnd biologii vor ncepe s formuleze ntrebri care sunt bazate pe concepte sistemice i nu atunci cnd aceste concepte sunt folosite pentru a reprezenta ntr-un mod nou fenomene care sunt deja explicate n termeni biofizici sau biochimici. (...) n acel moment nu vom avea doar o aplicare a principiilor inginereti la probleme biologice, ci un domeniu nou, al biologiei sistemice, cu propria-i identitate. (M.D. Mesarovic: System theory and biology view of a theoretician, n System Theory and Biology, M.D. Mesarovic, ed., Springer, New York, 1968, pp. 59-87.) Cuvintele lui Mesarovic pot fi luate ca motto al infobiologiei pentru care pledeaz ntreg textul de fa. Transformarea biologiei i medicinei ntr-o inginerie precis poate fi pus n legtur i cu dificultile curente de a nelege ce este viaa, materializate, printre altele, n limitele curente ale inteligenei artificiale i vieii artificiale. Se spune, de exemplu, c, pn acum, calculatoarele sunt remarcabile n AI, amplificarea inteligenei, dar nu la fel de spectaculoase n IA, inteligen artificial. Toate acestea sugereaz, n termenii lui Rodney Brooks (The relationship between matter and life, Nature, vol. 409, ian. 2001, pp. 409-411) c probabil ne lipsete ceva fundamental i greu de imaginat la ora aceasta n modelele noastre biologice. Calculatoarele sunt bune la a lucra cu numere, dar nu la a modela sisteme vii, fie ele mai mici sau mai mari. Intuiia este c viaa este mai mult dect biofizic i biochimie, dar ce altceva este poate fi ceva inimaginabil, care ne este invizibil la ora aceasta. Nu este complet imposibil c vom descoperi noi proprieti ale biomoleculelor sau noi ingrediente. Un exemplu de asemenea altceva pot fi efectele cuantice din microtubulele celulelor nervoase, care, conform lui Penrose, pot fi locul contiinei la nivelul celulei (citat de R. Brooks). O opinie similar a fost exprimat de un alt clasic al inteligenei artificiale, John McCarthy (Problems and projection in CS for the next 49 years, Journal of the ACM, vol. 50, 2003, pp. 73-79): Inteligena de nivel uman este o problem tiinific dificil i probabil are nevoie de idei noi. Acestea sunt mai plauzibil s fie imaginate de o persoan de geniu dect ca parte a unui proiect guvernamental sau industrial. n orice caz, progresele legate de colaborarea dintre informatic i biologie nu trebuie subestimate. Dac o facem, ne asumm un risc care nu a ocolit nume mari ale 38
tiinei i culturii. Ca picanterie de final, s-l dm ca exemplu pe Auguste Comte, cu dou fraze hazardate care i se pun n seam (datate ca fiind de pe la 1830): Orice ncercare de a folosi metode matematice n studiul chestiunilor biologice trebuie considerat profund iraional i contrar spiritului biologiei. Dac matematica va avea vreodat un loc proeminent n biologie o aberaie care este, din fericire, aproape imposibil aceasta va prilejui o rapid i generalizat degradare a acestei tiine... Slav Domnului, nu a avut deloc dreptate dar ne-au trebuit aproape dou sute de ani pentru a ne convinge de acest lucru...
ncheiere (provizorie) Sper c aceast descriere succint a convins c drumul de la biologie la informatic i napoi la biologie este fascinant intelectual i util ambelor tiine. Cteva lucruri merit reinute: (i) n toat istoria sa, informatica a ncercat s nvee din biologie, (ii) iar acest efort a adus beneficii importante informaticii i deopotriv biologiei; (iii) progresele n aceast direcie nu pot fi supraestimate, (iv) dar, n general, este plauzibil c ateptm prea multe (i prea repede) de la simbioza informatic- biologie, (v) pentru c ignorm diferenele eseniale dintre cele dou universuri, limitele inerente ale calculabilitii i faptul c biologia nu este o tiin matematizat, (vi) cu meniunea c este posibil s avem nevoie de o nou matematic pentru a modela i simula viaa i inteligena; n sfrit, (vii) fie-mi permis s anticipez o nou vrst a biologiei, dincolo de bioinformatica i de calculul natural de azi, i s propun un termen care s o numeasc, infobiologie. S ne dm un rgaz de nc dou decenii pentru a o vedea conturndu-se?
Din punct de vedere intelectual, cei patruzeci de ani despre care a vorbit acest text i-am petrecut n preajma domnului academician Solomon Marcus, un mare copac care invalideaz fraza cu care Brncui i-a motivat refuzul de a lucra cu Rodin: profesorul Solomon Marcus nu i-a umbrit niciodat pe mulii studeni i colaboratori pe care i-a avut i-i are n juru-i, ba dimpotriv. Repet, pentru a ntri: dimpotriv. Depun mrturie n acest sens i-i nchin cu recunotin prezentul discurs de recepie, mulumindu-i nc o dat.