Ce este calculul ADN, cum funcționează și de ce este atât de important
În ultimul deceniu, inginerii s-au confruntat cu realitatea dură a fizicii în încercarea de a obține computere mai puternice: tranzistorii, întrerupătoarele care alimentează procesorul computerului, nu pot fi făcuți mai mici decât sunt în prezent. Privind dincolo de cipul de siliciu, în prezent este în curs de dezvoltare o alternativă intuitivă care folosește ADN-ul pentru a efectua aceleași tipuri de calcule complexe pe care le fac acum tranzistorii de siliciu. Dar ce este calculul cu ADN, cum funcționează calculul cu ADN și de ce este atât de important?
Dincolo de tranzistor
Problema cu tranzistorii este că aceștia există acum la scara a câtorva nanometri în dimensiune – doar câțiva atomi de siliciu în grosime. Practic, ei nu pot fi făcuți mai mici decât sunt acum.
Dacă devin mai mici, curentul electric care trece prin tranzistor se scurge cu ușurință în alte componente din apropiere sau deformează tranzistorul din cauza căldurii, făcându-l inutilizabil. Aveți nevoie de un număr minim de atomi pentru a face tranzistorul să funcționeze și, din punct de vedere funcțional, am atins această limită.
Inginerii au găsit unele soluții de rezolvare a acestei probleme prin utilizarea sistemelor multicore și multiprocesare pentru a crește puterea de calcul fără a fi nevoie să micșoreze și mai mult tranzistoarele, dar și acest lucru vine cu compromisuri în ceea ce privește provocările de programare și cerințele de energie, astfel încât este nevoie de o altă soluție dacă sperăm să vedem calculatoare mai puternice în viitor.
VEZI ȘI: „AICI: INFORMATICA COGNITIVĂ: MAI UMANĂ DECÂT INTELIGENȚA ARTIFICIALĂ
În timp ce calculul cuantic este foarte mediatizat în ultima vreme, calculul ADN poate fi la fel de puternic – sau chiar mai puternic – chiar și decât calculul cuantic și nu se confruntă nici pe departe cu atât de multe dintre constrângerile de stabilitate pe care le are calculul cuantic. În plus, știm că funcționează; noi înșine suntem exemple vii de stocare a datelor și de putere de calcul a calculului ADN.
Provocarea pentru calculul ADN este că, în comparație cu calculul clasic, acesta este dureros de lent. Evoluția a avut la dispoziție sute de milioane de ani pentru a dezvolta secvența complicată de ADN care există în interiorul fiecăreia dintre celulele noastre, astfel încât ADN-ul este obișnuit să lucreze în funcție de scările de timp geologice, nu de multiplii gigahertzi ai procesoarelor clasice moderne.
Atunci, cum funcționează calculul ADN și de ce îl urmărim dacă este atât de lent?
Ce este calculul ADN, cum funcționează și de ce este o afacere atât de importantă?
Pentru a înțelege ce este informatica ADN, cum funcționează și de ce informatica ADN este o afacere atât de importantă, mai întâi trebuie să încetăm să ne gândim la ea ca la un fel de înlocuitor pentru utilizarea noastră clasică de zi cu zi a calculatorului; nu vom juca jocuri pe un calculator ADN prea curând, dacă un astfel de lucru ar fi posibil. Cipurile de siliciu ne vor însoți încă foarte mult timp.
Calculatorul ADN este ceea ce am folosi pentru a rezolva probleme care depășesc domeniul de aplicare a ceea ce poate rezolva un calculator clasic, la fel cum calculatorul cuantic poate sparge criptarea RSA în câteva momente, în timp ce unui calculator clasic i-ar putea lua mii de ani pentru a face același lucru.
Calculatorul ADN a fost descris pentru prima dată în 1994 de către informaticianul Leonard Adleman de la University of Southern California. După ce a citit despre structura ADN-ului, el a fost inspirat să scrie o lucrare în revista Science în care arăta cum se poate folosi ADN-ul pentru o problemă infamă de matematică și informatică cunoscută sub numele de problema direcționată Hamilton Path, numită în mod obișnuit problema „comis-voiajorului călător” (deși problema Hamilton Path este o versiune ușor diferită a problemei comis-voiajorului călător, pentru scopurile noastre ele sunt, în esență, interschimbabile).
Ce este problema comis-voiajorului călător?
După cum o definește problema agentului de vânzări călător, o companie are un agent de vânzări care trebuie să viziteze un număr n de orașe dând telefoane și nu poate vizita fiecare oraș decât o singură dată. Ce secvență de orașe vizitate oferă calea cea mai scurtă și, prin urmare, cea mai ieftină?
Când n este egal cu 5, problema poate fi rezolvată de mână pe o bucată de hârtie, iar un calculator clasic poate testa relativ repede toate căile posibile. Dar ce se întâmplă dacă n este egal cu 20? Găsirea celei mai scurte căi între 20 de orașe devine mult mai dificilă din punct de vedere computațional și un computer clasic ar avea nevoie de un timp exponențial mai lung pentru a găsi răspunsul.
Încercați să găsiți cea mai scurtă cale între 500 de orașe și un computer clasic ar avea nevoie de mai mult timp decât întreaga durată de viață a Universului pentru a găsi calea cea mai scurtă, deoarece singura modalitate de a verifica dacă am găsit calea cea mai scurtă este de a verifica fiecare permutare a orașelor. Există anumiți algoritmi care folosesc calculul dinamic și care pot reduce teoretic numărul de verificări necesare (iar problema reală a căii Hamilton nu necesită verificarea fiecărui nod dintr-un graf), dar acest lucru ar putea reduce cu câteva milioane de ani; problema va fi în continuare aproape imposibilă din punct de vedere computațional pe un calculator clasic.
Cum rezolvă această problemă calculul ADN
Ce a reușit să demonstreze Adleman este că ADN-ul poate fi asamblat în așa fel încât o eprubetă plină de blocuri de ADN să se poată asambla pentru a codifica în același timp toate căile posibile în problema vânzătorului ambulant.
În ADN, codificarea genetică este reprezentată de patru molecule diferite, numite A, T, C și G. Acești patru „biți”, atunci când sunt înlănțuiți împreună, pot conține o cantitate incredibilă de date. La urma urmei, genomul uman este codificat în ceva ce poate fi împachetat într-un singur nucleu al unei celule.
Mixând aceste patru molecule într-o eprubetă, moleculele s-au asamblat în mod natural în șiruri de ADN. Dacă o anumită combinație a acestor molecule reprezintă un oraș și o rută de zbor, fiecare șuviță de ADN ar putea reprezenta o rută de zbor diferită pentru vânzător, toate fiind calculate deodată în sinteza șuvițelor de ADN care se asamblează în paralel.
Apoi, ar fi pur și simplu o chestiune de filtrare a căilor mai lungi până când ar rămâne doar cea mai scurtă cale. În lucrarea sa, el a arătat cum acest lucru ar putea fi realizat cu 7 orașe, iar soluția problemei ar fi codificată imediat ce șirurile de ADN au fost sintetizate.
Motivul pentru care acest lucru a generat entuziasm a fost faptul că structurile de ADN sunt ieftine, relativ ușor de produs și scalabile. Nu există o limită a puterii pe care o poate avea teoretic calculul ADN, deoarece puterea sa crește cu cât mai multe molecule se adaugă la ecuație și, spre deosebire de tranzistorii de siliciu, care pot efectua o singură operație logică la un moment dat, aceste structuri ADN pot efectua teoretic cât mai multe calcule la un moment dat, după cum este necesar pentru a rezolva o problemă și le pot face pe toate deodată.
Problema este însă viteza. Chiar dacă a fost nevoie de câteva clipe pentru ca soluția lui Adleman la problema comis-voiajorului călător să fie codificată în șirurile de ADN din eprubetă, a fost nevoie de zile întregi de filtrare a soluțiilor proaste pentru a găsi soluția optimă pe care o căuta – după o pregătire meticuloasă pentru acest calcul unic.
Cu toate acestea, conceptul era unul solid și potențialul pentru câștiguri incredibile în ceea ce privește capacitatea de stocare și viteza de calcul era evident. Acest lucru a dat startul la două decenii de cercetări pentru a crea o realitate a calculului ADN practic.
Care sunt avantajele calculului ADN?
Așa cum s-a demonstrat cu lucrarea lui Adleman, avantajul major al calculului ADN față de calculul clasic – și chiar față de calculul cuantic, într-o anumită măsură – este că poate efectua nenumărate calcule în paralel. Această idee de calcul paralel nu este nouă și a fost mimată în calculul clasic de zeci de ani.
Când rulați două aplicații pe un calculator în același timp, ele nu rulează de fapt concomitent; în orice moment, se execută doar o singură instrucțiune. Astfel, dacă ascultați muzică și faceți cumpărături online folosind un browser, calculatorul folosește de fapt ceva numit comutare de context pentru a da aparența de simultaneitate.
Execută o instrucțiune pentru un program, salvează starea acelui program după ce instrucțiunea a fost executată și elimină programul din memoria activă. Încarcă apoi starea salvată anterior a celui de-al doilea program, execută următoarea instrucțiune a acestuia, salvează noua sa stare și apoi îl descarcă din memoria activă. Apoi reîncarcă primul program pentru a executa următoarea instrucțiune și așa mai departe.
Făcând milioane de pași incrementali pe secundă în diferite programe, se obține aparența de simultaneitate, dar nimic nu este de fapt rulat în paralel. Calculul ADN poate efectua de fapt aceste milioane de operații în același timp.
Peste 10 trilioane de molecule de ADN pot fi înghesuite într-un singur centimetru cub. Acest centimetru cub de material ar putea teoretic să efectueze 10 trilioane de calcule în același timp și să dețină până la 10 terabytes de date. În multe privințe, o mare parte din presa fără suflu, dar inexactă, de care beneficiază calculul cuantic este de fapt posibilă cu ajutorul calculului ADN.
Informatica ADN este atunci cel mai bine gândită ca o completare a informaticii cuantice, astfel încât, atunci când sunt împerecheate împreună și conduse de un calculator clasic care acționează ca un manager de tip Singleton, tipurile de creșteri dramatice ale puterii de calcul pe care oamenii speră să le vadă în viitor devin de fapt posibile în mod realist.
Cât timp va dura până când vor sosi calculatoarele cu ADN
Am parcurs un drum lung din 1994. La scurt timp după ce Adleman și-a publicat lucrarea, cercetătorii au reușit să construiască porți logice din ADN – părți ale unui circuit construit din tranzistori individuali care pot construi ecuații logice complicate de tip adevărat-fals din curent electric.
Doar în această lună, informaticienii de la Universitatea din California la Davis și Caltech au sintetizat molecule de ADN care se pot autoasambla în structuri rulând, în esență, propriul program folosind intrări pe șase biți.
Microsoft are chiar și un limbaj de programare pentru calculul ADN care poate ajuta să facă calculul ADN practic odată ce tehnologia bioprocesoarelor va progresa până la punctul în care va putea rula algoritmi mai sofisticați. De fapt, Microsoft plănuiește să introducă calculul ADN în serviciile sale cloud până în 2020 și să dezvolte în mod activ un sistem de stocare a datelor ADN care să fie integrat în serviciile sale cloud.
Este probabil ca aceste progrese să fie realizate mult mai repede decât progresele în domeniul calculului cuantic. Calculul cuantic necesită utilaje sofisticate, supraconductori și condiții extrem de reci pentru a menține qubiți suficient de stabili pentru a efectua sarcini de calcul cu adevărat utile și, dacă nu dezvoltăm un material care poate acționa ca un supraconductor la temperatura camerei, aceștia nu își vor face loc în computerele noastre prea curând.
Calculatorul ADN, între timp, utilizează ADN pe care am devenit experți în manipularea acestuia până la punctul de a înlocui o singură genă a unui lanț de ADN prin CRISPR. Materialele necesare pentru a sintetiza moleculele de ADN sunt ieftine și ușor disponibile și rămân stabile la temperatura camerei și nu numai. Ceea ce DNA Computing este potențial capabil să realizeze, având în vedere reziliența ADN-ului și paralelismul biologic, reprezintă un pas esențial spre viitorul informaticii.
.
Leave a Reply