Co to jest DNA Computing, jak to działa i dlaczego to taka wielka sprawa

Przez ostatnią dekadę inżynierowie zderzali się z twardą rzeczywistością fizyki w pogoni za potężniejszymi komputerami: tranzystory, włączniki i wyłączniki, które zasilają procesor komputera, nie mogą być mniejsze niż są obecnie. Wykraczając poza krzemowy układ scalony, opracowywana jest obecnie intuicyjna alternatywa, wykorzystująca DNA do wykonywania tych samych rodzajów złożonych obliczeń, które obecnie wykonują krzemowe tranzystory. Ale czym jest DNA computing, jak działa DNA computing i dlaczego jest to taka wielka sprawa?

Beyond The Transistor

IC Chip
Źródło: Fritzchens Fritz / Flickr

Problem z tranzystorami polega na tym, że obecnie istnieją one w skali kilku nanometrów wielkości – zaledwie kilku atomów krzemu grubości. Praktycznie nie da się ich zrobić mniejszych niż są teraz.

Jeżeli staną się jeszcze mniejsze, prąd elektryczny płynący przez tranzystor łatwo przecieka do innych komponentów w pobliżu lub deformuje tranzystor z powodu ciepła, czyniąc go bezużytecznym. Potrzebna jest minimalna liczba atomów, aby tranzystor działał, a my funkcjonalnie osiągnęliśmy ten limit.

Inżynierowie znaleźli pewne obejścia tego problemu, wykorzystując systemy wielordzeniowe i wieloprocesorowe, aby zwiększyć moc obliczeniową bez konieczności dalszego zmniejszania tranzystorów, ale to również wiąże się z kompromisami w zakresie wyzwań programistycznych i wymagań dotyczących mocy, więc potrzebne jest inne rozwiązanie, jeśli mamy nadzieję zobaczyć potężniejsze komputery w przyszłości.

Zobacz także: COGNITIVE COMPUTING: MORE HUMAN THAN ARTIFICIAL INTELLIGENCE

Podczas gdy o obliczeniach kwantowych jest ostatnio głośno, obliczenia DNA mogą być tak samo – lub nawet bardziej – potężne niż obliczenia kwantowe i nie napotykają prawie tylu ograniczeń stabilności, co obliczenia kwantowe. Plus, wiemy, że to działa; my sami jesteśmy żywymi przykładami przechowywania danych i mocy obliczeniowej obliczeń DNA.

Wyzwaniem dla obliczeń DNA jest to, że w porównaniu z klasycznymi obliczeniami, są one boleśnie powolne. Ewolucja miała setki milionów lat, aby rozwinąć skomplikowaną sekwencję DNA, która istnieje wewnątrz każdej z naszych komórek, więc DNA jest przyzwyczajone do pracy zgodnie z geologicznymi skalami czasowymi, a nie wieloma gigahercami nowoczesnych klasycznych procesorów.

Więc jak działa obliczanie DNA i dlaczego do niego dążymy, jeśli jest tak powolne?

What Is DNA Computing, How Does It Work And Why Is It Such A Big Deal?

DNA Helix
Source:

Aby zrozumieć czym jest DNA computing, jak działa i dlaczego DNA computing jest tak wielką sprawą, najpierw musimy przestać myśleć o nim jako o jakimś zamienniku dla naszego codziennego, klasycznego użycia komputera; nie będziemy grać w gry na komputerze DNA w najbliższym czasie, jeśli coś takiego byłoby w ogóle możliwe. Krzemowe chipy będą z nami jeszcze przez bardzo długi czas.

Obliczenia DNA są tym, czego użyjemy do rozwiązywania problemów wykraczających poza zakres tego, co może rozwiązać klasyczny komputer, w ten sam sposób obliczenia kwantowe mogą złamać szyfrowanie RSA w kilka chwil, podczas gdy klasycznemu komputerowi zajęłoby to tysiące lat.

Obliczenia DNA zostały po raz pierwszy opisane w 1994 roku przez informatyka Leonarda Adlemana z Uniwersytetu Południowej Kalifornii. Po zapoznaniu się ze strukturą DNA, został zainspirowany do napisania pracy w czasopiśmie Science pokazującej, jak można użyć DNA do niesławnego problemu matematycznego i informatycznego znanego jako problem skierowanej ścieżki Hamiltona, powszechnie nazywanego problemem „podróżującego komiwojażera” (chociaż problem ścieżki Hamiltona jest nieco inną wersją problemu podróżującego komiwojażera, dla naszych celów są one zasadniczo wymienne).

What Is The Traveling Salesman Problem?

Traveling Salesman
Source: BarnImages

Jak definiuje to problem podróżującego sprzedawcy, firma ma sprzedawcę, który musi odwiedzić n liczbę miast wykonując telefony i może odwiedzić każde miasto tylko raz. Jaka sekwencja odwiedzonych miast zapewnia najkrótszą, a więc najtańszą, drogę?

Gdy n jest równe 5, problem można rozwiązać ręcznie na kartce papieru, a klasyczny komputer może stosunkowo szybko przetestować każdą możliwą drogę. Ale co jeśli n jest równe 20? Znalezienie najkrótszej ścieżki przez 20 miast staje się znacznie trudniejsze obliczeniowo i znalezienie odpowiedzi zajęłoby klasycznemu komputerowi wykładniczo więcej czasu.

Próbuj znaleźć najkrótszą ścieżkę między 500 miastami i znalezienie najkrótszej ścieżki zajęłoby klasycznemu komputerowi więcej czasu niż cały czas istnienia Wszechświata, ponieważ jedynym sposobem sprawdzenia, czy znaleźliśmy najkrótszą ścieżkę, jest sprawdzenie każdej pojedynczej permutacji miast. Istnieją pewne algorytmy wykorzystujące obliczenia dynamiczne, które teoretycznie mogą zmniejszyć liczbę wymaganych sprawdzeń (a rzeczywisty problem ścieżki Hamiltona nie wymaga sprawdzania każdego węzła w grafie), ale to może skrócić czas o kilka milionów lat; problem nadal będzie obliczeniowo niemożliwy do rozwiązania na klasycznym komputerze.

How DNA Computing Solves This Problem

DNA Helix
Source: NIH / Flickr

To, co Adleman był w stanie zademonstrować, to fakt, że DNA można złożyć w taki sposób, że probówka pełna bloków DNA mogłaby się złożyć, aby zakodować wszystkie możliwe ścieżki w problemie podróżującego komiwojażera w tym samym czasie.

W DNA, kodowanie genetyczne jest reprezentowane przez cztery różne cząsteczki, zwane A, T, C i G. Te cztery „bity”, gdy połączone razem, mogą pomieścić niesamowitą ilość danych. Po tym wszystkim, ludzki genom jest zakodowany w czymś, co można zapakować do jednego jądra komórki.

Mieszając te cztery cząsteczki w probówce, cząsteczki naturalnie złożyły się w pasma DNA. Jeśli jakaś kombinacja tych molekuł reprezentuje miasto i trasę lotu, każda nitka DNA mogłaby reprezentować inną trasę lotu dla sprzedawcy, wszystkie są obliczane jednocześnie w syntezie nitek DNA składających się równolegle.

Wtedy, to byłoby po prostu kwestia odfiltrowania dłuższych ścieżek, aż masz tylko najkrótszą ścieżkę w lewo. W swojej pracy pokazał, jak można by to zrobić za pomocą 7 miast, a rozwiązanie problemu byłoby zakodowane zaraz po zsyntetyzowaniu nici DNA.

DNA Computing
Źródło:

Powodem, dla którego wywołało to ekscytację, był fakt, że struktury DNA są tanie, stosunkowo łatwe w produkcji i skalowalne. Nie ma limitu mocy, że obliczenia DNA teoretycznie może mieć, ponieważ jego moc wzrasta im więcej cząsteczek dodać do równania i w przeciwieństwie do tranzystorów krzemowych, które mogą wykonać jedną operację logiczną w czasie, te struktury DNA mogą teoretycznie wykonać tyle obliczeń w czasie, jak potrzebne do rozwiązania problemu i zrobić to wszystko na raz.

Problemem jest jednak prędkość. Nawet jeśli rozwiązanie problemu wędrującego komiwojażera Adlemana zostało zakodowane w jego nici DNA w probówce w ciągu kilku chwil, to znalezienie optymalnego rozwiązania, którego szukał, wymagało wielu dni filtrowania złych rozwiązań – po skrupulatnym przygotowaniu się do tego pojedynczego obliczenia.

Mimo to koncepcja była solidna, a potencjał niewiarygodnego wzrostu pojemności pamięci i szybkości obliczeń oczywisty. To zapoczątkowało dwie dekady badań nad tym, jak stworzyć praktyczne obliczenia na DNA jako rzeczywistość.

What Are The Advantages to DNA Computing?

DNA Helix
Source:

Jak wykazano w pracy Adlemana, główną zaletą obliczeń DNA w stosunku do klasycznych obliczeń – a nawet w pewnym stopniu obliczeń kwantowych – jest to, że mogą one wykonywać niezliczone obliczenia równolegle. Ta idea obliczeń równoległych nie jest nowa i była naśladowana w klasycznych obliczeniach przez dziesięciolecia.

Gdy uruchamiasz dwie aplikacje na komputerze w tym samym czasie, nie są one w rzeczywistości uruchomione współbieżnie; w danym momencie, tylko jedna instrukcja jest wykonywana. Więc jeśli słuchasz muzyki i robisz zakupy online za pomocą przeglądarki, komputer w rzeczywistości używa czegoś, co nazywa się przełączaniem kontekstu, aby stworzyć pozory współbieżności.

Wykonuje instrukcję dla jednego programu, zapisuje stan tego programu po wykonaniu instrukcji i usuwa program z aktywnej pamięci. Następnie wczytuje zapisany wcześniej stan drugiego programu, wykonuje jego kolejną instrukcję, zapisuje jego nowy stan, a następnie wyładowuje go z pamięci aktywnej. Następnie ponownie ładuje pierwszy program, aby wykonać jego następną instrukcję i tak dalej.

Dzięki wykonywaniu milionów kroków przyrostowych na sekundę przez różne programy, uzyskuje się pozory współbieżności, ale nic nigdy nie jest faktycznie uruchamiane równolegle. Obliczanie DNA może rzeczywiście przeprowadzić te miliony operacji w tym samym czasie.

Ponad 10 bilionów cząsteczek DNA może być wciśnięte w pojedynczy centymetr sześcienny. Ten centymetr sześcienny materiału mógłby teoretycznie wykonywać 10 trylionów obliczeń jednocześnie i pomieścić aż 10 terabajtów danych. Pod wieloma względami, wiele z zapierającej dech w piersiach, ale niedokładnej prasy, którą otrzymują obliczenia kwantowe, jest w rzeczywistości możliwe dzięki obliczeniom DNA.

Obliczanie DNA wtedy najlepiej jest myśleć jako uzupełnienie obliczeń kwantowych, tak, że kiedy sparowane razem i napędzane przez klasyczny komputer działający jako menedżer w stylu Singleton, rodzaje dramatycznych wzrostów mocy obliczeniowej, które ludzie mają nadzieję zobaczyć w przyszłości faktycznie stają się realistycznie możliwe.

How Long Will It Take For DNA Computers To Arrive

Przebyliśmy długą drogę od 1994 roku. Wkrótce po tym, jak Adleman opublikował swoją pracę, naukowcy byli w stanie skonstruować bramki logiczne z DNA – części obwodu zbudowane z pojedynczych tranzystorów, które mogą budować skomplikowane równania logiczne prawda-fałsz z prądu elektrycznego.

W tym miesiącu, informatycy z Uniwersytetu Kalifornijskiego w Davis i Caltech zsyntetyzowali cząsteczki DNA, które mogą samoczynnie składać się w struktury, zasadniczo uruchamiając swój własny program przy użyciu sześciobitowych danych wejściowych.

Microsoft posiada nawet język programowania dla obliczeń DNA, który może pomóc uczynić obliczenia DNA praktycznymi, gdy technologia bioprocesorów rozwinie się do punktu, w którym będą one mogły uruchamiać bardziej wyrafinowane algorytmy. W rzeczywistości Microsoft planuje wprowadzenie obliczeń DNA do swoich usług w chmurze do 2020 r. i aktywnie rozwija magazyn danych DNA, aby zintegrować go ze swoimi usługami w chmurze.

Jest prawdopodobne, że te postępy będą realizowane znacznie szybciej niż postępy w obliczeniach kwantowych. Obliczenia kwantowe wymagają wyrafinowanej maszynerii, nadprzewodników i ekstremalnie niskich temperatur, aby utrzymać qubity na tyle stabilne, by mogły wykonywać faktycznie użyteczne zadania obliczeniowe, i jeśli nie opracujemy materiału, który może działać jako nadprzewodnik w temperaturze pokojowej, nie będzie ich w najbliższym czasie w naszych komputerach.

Obliczenia DNA, tymczasem, wykorzystują DNA, którym staliśmy się ekspertami w manipulowaniu do tego stopnia, że możemy zastąpić pojedynczy gen w nici DNA poprzez CRISPR. Materiały potrzebne do syntezy cząsteczek DNA są tanie i łatwo dostępne oraz pozostają stabilne w temperaturze pokojowej i nie tylko. To, co DNA Computing jest potencjalnie w stanie osiągnąć, biorąc pod uwagę odporność DNA i biologiczny paralelizm, stanowi istotny krok w kierunku przyszłości informatyki.

Leave a Reply