دیانای رایانه
دیانای رایانه (به انگلیسی: DNA Computer)، نانورایانه ای است که از دیانای برای ذخیرهٔ اطلاعات و اعمال محاسبات پیچیده، استفاده میکند. محاسبات دیانای (به انگلیسی: DNA Computing) یا محاسبات مولکولی (به انگلیسی: Molecular Computing) روش محاسبهای است که از دیانای، زیستشیمی و زیستشناسی مولکولی به جای فناوریهای رایانهای سنتی سیلیکونی استفاده میکند. محاسبات دیانای، یا بهطور عمومیتر، محاسبات مولکولی، از حوزههای میانرشتهایِ به سرعت در حال توسعه، است. پژوهش و توسعه در این حوزه با نظریه، آزمایش و برنامههای محاسبات مولکولی سر و کار دارد.
تاریخچه
[ویرایش]فکر اولیه دیانای رایانه زمانی آغاز شد که لئونارد آدلمن برای اولین بار نشان داد که محاسبات ریاضی را میتوان با استفاده از دیانای هم انجام داد که این کار به جای استفاده از ماشینهای معمول با استفاده از لولههای آزمایش و در آزمایشگاههای زیستشناسی انجام میشود. آدلمن برای شروع کار مسئلهٔ فروشنده دورهگرد را انتخاب کرد و تصمیم گرفت آن را به وسیله دیانای حل کند. به این دلیل که این یک مسئله NP-complete است و هیچ الگوریتمی که زمان اجرای آن چند جملهای باشد پیدا نشده که با استفاده از آن بتوان با رایانههای معمول این مسئله را حل نمود توجه دانشمندان بیشتر به محاسبات از طریق دیانای جلب شد. نکتهٔ اصلی در روشی که آدلمن معرفی کرد امکان انجام بینهایت محاسبات موازی با استفاده از دیانای بود.
مفهوم محاسبات دیانای و دیانای رایانهها
[ویرایش]یک دیانای رایانه در اصل مجموعهایست از رشتههای دیانای که مشخصا انتخاب شدن و ترکیبهای آنها جوابی برای بعضی مسائل تولید خواهد کرد. البته این وابسته به مسئلهای است که قرار است حل شود. تکنولوژی لازم هم برای انتخاب رشتههای اولیه و هم برای غربال کردن رشتههای نهایی که جواب را در بر دارند موجود میباشد.
نکتهٔ اصلی دیانای رایانهها تعداد بسیار زیاد محاسبات موازی با استفاده از دیانای هاست، که با ایجاد مقدمات لازم و تعداد مناسب رشتههای دیانای میتوان با یکبار انجام آزمایش مسائل بسیار بزرگ را با استفاده از جستجوهای موازی حل کرد. این کار بسیار سخت در رایانههای معمول انجام میشود. همچنین باید توجه کرد که رایانههای معمول برای انجام چنین محاسباتی به مدارهای سختافزاری بسیار پیچیده و عظیمی نیاز دارند.
دلایل استفاده از زیستمولکول
[ویرایش]دو دلیل برای استفادهٔ زیستمولکول در حل مسائل محاسباتی وجود دارد:
- چگالی اطلاعات دیانای بسیار بیشتر از سیلیکون است: ۱ بیت در دیانای تقریباً در یک نانومتر مکعب جا میگیرد در حالی که در حافظههای سختافزاری موجود ۱ بیت را میتوان در ۱۰۰۰۰۰۰۰۰۰۰۰۰ نانومتر مکعب ذخیره کرد.
- عملیات در دیانای موازی هستند: یک لوله آزمایش میتواند حاوی یک تریلیون رشته دیانای باشد و هر یک از عملیات در یک لوله آزمایش به صورت موازی روی هر یک از رشتهها انجام میشود.
دیانای یک ساختار دو رشتهای متشکل از ۴ نوکلئوتید است. این نوکلئوتیدها عبارتند از آدنین (A)، گوانین (G)، سیتوزین (C) و تیمین (T). ساختار شیمیایی دیانای به صورت پیوند مشخصی از دو دنباله خطی از این ۴ نوکلئوتید میباشد که این اتصالها فقط به صورت (A-T)، (T-A)، (C-G) و (G-C) وجود دارند.
آنچه آدلمن در نظر داشت این بود که از رشتههای دیانای برای کدگذاری مسائل استفاده کند و با دستکاری آنها در آزمایشگاهها، عملیاتی را شبیهسازی کند تا اگر جوابی برای مسئله مورد نظر وجود دارد آن را از بین رشتهها انتخاب کند.
جنبههای کلی فعالیتها
[ویرایش]دیانای مخزن اصلی ذخیرهسازی اطلاعات در سلولهای زندهاست. به جای استفاده از امواج الکتریکی برای نمایش یک بیت اطلاعات، دیانای رایانهها با استفاده از خواص شیمیایی این مولکولها این کار را انجام میدهد. دیانای این کار را با استفاده از آنزیمها انجام میدهد. آنزیمها کاتالیزورهایی هستند که میتوان آنها را سختافزار خواند و دیانای را میتوان به عنوان نرمافزار در نظر گرفت که برای اجرای محاسبات مورد نظر استفاده میشوند. دیانای رایانه از نوکلئوتیدهای آدنین (A)، گوانین (G)، سیتوزین (C) و تیمین (T) به عنوان واحدهای حافظه و از تکنیکهای دیانای موجود برای انجام عملیات اساسی استفاده میکند. عملیات در دیانای رایانهها، در لولههای ترکیب آزمایشگاهی یا اسلایدهای شیشهای انجام میشود. ورودی و خروجی، هر دو رشتههای دیانای هستند که دنبالههای ژنی آنها اطلاعات مشخصی را کدگذاری میکند.
قابلیت ذخیرهسازی اطلاعات و قابلیت پردازش دیانای
[ویرایش]نوکلئیک اسیدها به خاطر چگالی و تأثیرگذاری و سرعتشان مورد استفاده قرار میگیرند. مولکولهای دیانای میتوانند حجم بسیار بالایی از اطلاعات را ذخیره کنند برای مثال اطلاعات موجود در یک گرم دیانای معادل اطلاعات ذخیره شده در یک تریلیون CD است.
بیشتر رایانههای الکترونیکی به صورت سری کار میکنند و اطلاعات یک بلاک از حافظه را بعد از یک بلاک دیگر و همینطور به دنبال هم پردازش میکنند. اما واکنشهای شیمیایی کاملاً موازی هستند. یک قسمت از یک فعالیت شیمیایی میتواند روی تریلیونها رشتهٔ دیانای به صورت همزمان انجام شود. با اینکه یک دیانای رایانه برای انجام یک محاسبهٔ ریاضی کوچک زمان بیشتری نسبت به یک رایانه معمولی صرف میکند اما در این زمان عملیات را به تعداد بیشماری انجام میدهد و در ضمن انرژی و فضای بسیار کمتری نیاز دارد.
دیانای رایانه | رایانههای الکترونیکی |
---|---|
انجام یک عملگر تنها به کندی صورت میگیرد | انجام یک عملگر تنها سریع صورت میگیرد |
قابلیت انجام تریلیونها عمل به صورت همزمان | تعداد کمی عمل را میتواند به صورت همزمان انجام دهد |
ظرفیت بالای ذخیره اطلاعات | ظرفیت پایین ذخیره اطلاعات |
نیاز به آمادهسازی قبل از شروع کار | شروع کار بدون آماده سازی |
عملگرهای دیانای
[ویرایش]سنتز
[ویرایش]یک رشتهٔ دلخواه از دیانای را میتوان در آزمایشگاه تولید کرد. این امکان برای رشتههایی که از یک طول مشخصی بزرگتر هستند وجود دارد. این رشتهها از دنبالههایی از دیانای که قبلاً از ارگانیسمهای متفاوت کپی شدهاند ایجاد میشوند. سنتزگر از چهار نوکلئوتید اصلی که از ترکیب دنبالههایی به وجود آمده که برای اجرا توسط کاربر قرار داده شدهاند تغذیه میشود. دستگاهها میلیونها کپی از رشتههای مورد نظر ایجاد کرده و در لولهٔ آزمایش کوچکی قرار میدهند.
تغییر ساختار، سخت کردن و انعقاد
[ویرایش]زوج رشتههای دیانای را میتوان با گرم کردن (گرم کردن باعث از بین رفتن پیوند هیدروژنی بین دو رشتهٔ متمم دیانای میشود.) به دو رشتهٔ دیانای مجزا تبدیل کرد. چون پیوند بین نوکلئوتیدها در یک رشته محکمتر از پیوند هیدروژنی بین دو رشتهاست این پیوندها با گرم شدن آسیب نمیبینند.
منظور از سخت کردن انجام عکس عمل ذوب است یعنی رشتههای دیانای سرد میشوند. این کار باعث میشود که رشتههای متمم به هم بچسبند. اگر که یکی از رشتههای تکی مثلاً یکی از نوکلئوتیدها را نداشته باشد و این باعث شود که نتواند به رشتهٔ متمم خود بچسبد با انجام عمل انعقاد که توسط یک آنزیم صورت میگیرد دو رشتهٔ دیانای به هم چسبیده و جفت میشوند.
جداسازی به وسیلهٔ هیبرید کردن
[ویرایش]جداسازی به وسیلهٔ هیبرید کردن یکی از عملیاتی است که گاهی در محاسبات به وسیلهٔ دیانای استفاده میشود که شامل میشود از استخراج یکسری از تک رشتههای دیانای از لولهٔ آزمایش که حاوی یک زیر دنبالهٔ مشخصی هستند. برای این کار تعداد زیادی از رشتهٔ متمم این زیر دنبالهها تولید کرده و با اضافه کردن مولکول بیوتین یک ماتریس ثابت از این رشتهها ایجاد میکنند. سپس اگر محتویات لولهٔ آزمایش که به این ماتریس اضافه شدهاند، رشتههایی حاوی زیر دنبالهٔ مورد نظر باشند، به رشتههای متمم پیوند میخورند. سپس با شستن ماتریس رشتههای دیگر که این زیر دنباله را ندارند پاک میشوند و فقط رشتههای مورد نظر باقی میمانند که میتوان آنها را جدا کرد.[۶]
پل الکتروفورز
[ویرایش]پل الکتروفورز تکنیک مهمی برای مرتب کردن رشتههای دیانای بر اساس اندازه آنها میباشد. الکتروفورز عملی است برای جدا کردن مولکولهای باردار شده در یک میدان الکتریکی. تا زمانی که مولکولهای دیانای بار منفی حمل میکنند وقتی وارد یک میدان الکتریکی میشوند تمایل دارند به سمت قطب مثبت بروند. تعداد مولکولهایی که به سمت یک قطب میروند در یک مجموعه جواب به شکل و بار الکتریکی آنها وابستهاست. اگر همهٔ مولکولهای موجود در واحد طول در یک نمونه دارای بار یکسان باشند همهٔ آنها به سمت قطب مخالف حرکت میکنند. حال اگر عمل الکتروفورز در یک پل انجام شود این تعداد به اندازهٔ مولکولها هم وابسته میشود و این پل به صورتی است که مولکولهای کوچکتر سریعتر از این پل رد میشوند بنابراین میتوان آنها را بر اساس اندازه مرتب کرد.
روش PCR
[ویرایش]روش مناسب دیگر برای دستکاری دیانای روش PCR میباشد. این روش به سرعت تعداد مولکولهای دیانای مورد نظر را در یک مجموعه جواب افزایش میدهد و این عمل با استفاده از استخراج اولیه به وسیلهٔ پلیمرها انجام میشود. در هر چرخه از کار تعداد مولکولها دو برابر میشود. بر اساس منابع PCR میتوان چرخه را بیش از سی بار تکرار کرد و این سی چرخه تنها حدود سه ساعت طول میکشد و در این مدت یک رشتهٔ دیانای به یک میلیون رشته تبدیل میشود.
- استخراج
یعنی از یک لولهٔ آزمایش رشتههایی که حاوی زیر دنبالهٔ مشخصی هستند را پیدا کرده و آنها را از مابقی رشتهها جدا کنیم.[۶]
- اجتماع
یعنی محتویات چند لولهٔ آزمایش را در یک لولهٔ آزمایش با هم ترکیب کنیم.[۶]
- تشخیص
یعنی وجود یا عدم وجود یک رشته دیانای داده شده را در یک لولهٔ آزمایش مشخص کنیم.[۶]
آزمایش آدلمن
[ویرایش]مسئلهٔ مسیر همیلتونی
[ویرایش]در این مسئله باید برای N نقطهٔ داده شده مسیری را پیدا کرد که از همهٔ نقاط یکبار و فقط یکبار عبور کند و به نقطهٔ شروع باز گردد. حل این مسئله برای رایانههای معمول بسیار دشوار است زیرا که این مسئله از نوع مسائل NP-Complete است که هنوز برای آنها راه حلی با زمان اجرای چند جملهای پیدا نشدهاست. حل این مسائل زمانی که اندازهٔ ورودی زیاد باشد با رایانههای معمول غیرقابل انجام و فقط با تعداد زیادی رایانه که بهطور موازی فعالیت میکنند قابل انجام است مانند دیانای رایانهها. علت انتخاب این مسئله این است که این مسئله از نوع مسائل NP-Complete دسته بندی شده و دانشمندان علوم رایانه زمان زیادی را صرف پیدا کردن الگوریتم مناسبی برای حل این مسائل کردهاند اما هیچ الگوریتمی که بتواند با صرف زمان مناسب به جواب برسد پیدا نشد. به نظر میرسد با داشتن بهترین رایانههای موجود و با استفاده از مؤثرترین الگوریتمهایی که تاکنون یافت شده برای حل نمونهای از این مسئله که تعداد ورودی آن از صد هم کمتر است حدود صد سال زمان نیاز داریم.[۸]
شرح مسئله
[ویرایش]یک گراف با دو گرهٔ مشخص شده به عنوان گره شروع و گره پایان داده میشود مسیر همیلتونی در این گراف مسیری خواهد بود که از گره شروع آغاز شده و در گره پایانی خاتمه یابد به شرط آنکه از همهٔ گرههای موجود در گراف یک بار و فقط یک بار عبور کند. مسئله مسیر همیلتونی مسئله ایست که برای یک گراف داده شده، یک مسیر همیلتونی (درصورت وجود) ارائه دهد. آدلمن با استفاده از دیانای رایانه نمونهای از این مسئله را که تعداد گرههای آن هفت عدد بود را حل کرد.
راه حل آدلمن برای مسئلهٔ مسیر همیلتونی با استفاده از دیانای رایانه
[ویرایش]یک نقشه با چهار شهر که به وسیلهٔ راههایی به هم مرتبط هستند را در نظر بگیرید. در این نقشه میتوان از شهر A به شهر B سفر کرد ولی به صورت برعکس نه. هدف این است که مسیری با شروع از شهر A و خاتمه در شهر N به صورتی که از همهٔ شهرهای دیگر یکبار عبور کند اگر که موجود باشد بیابیم.
آدلمن برای نمایش نام شهرها و نام هر یک از مسیرهای بین دو شهر با استفاده از دیانای اینطور عمل کرد که برای نام هر شهر یک دنبالهٔ هشت تایی از نوکلئوتیدها را (چهار تا به عنوان اسم اول و چهار تای بعدی به عنوان اسم دوم) در نظر گرفت و برای نام مسیرها ترکیب اسمهای دوم شهر آغازی و پایانی آن مسیرها را در نظر گرفت.
باید توجه کرد که هر رشتهٔ دیانای یک رشتهٔ متمم مخصوص به خود دارد. بعد از کد کردن نامها، آدلمن نامهای متمم شهرها و نام مسیرها را با هم در یک لولهٔ آزمایش ترکیب کرد.
- گام اول، تولید تعداد زیادی مسیر در گراف
آدلمن حدود ۱۰۱۴ مولکول را از هر یک از دنبالههای متفاوت برداشت و همه را در یک لوله آزمایش مشترک قرار داد. برای شروع محاسبات او مقداری آب و نمک و چند مادهٔ دیگر را برای ایجاد شرایطی نزدیک به شرایط موجود در یک سلول به لوله اضافه کرد. همهٔ این موادی که برای رسیدن به جواب مصرف شد در حدود یک پانزدهم قاشق چایخوری فضا اشغال میکردند. بعد از حدود یک ثانیه او جواب مورد نظر را در دست داشت. این مسئله بسیار شگفت انگیز بود که جواب یک مسئلهٔ ریاضی در یک مولکول ذخیره شده بود.
- گام دوم، روش PCR
متأسفانه همانطور که آدلمن بعد از انجام گام اول جواب مسئله را در دست داشت حدود صد تریلیون هم مسیرهای کد شدهای در داخل لوله بود که همیلتونی نبودند پس مسیرها باید غربال میشدند. برای خلاص شدن از رشتههایی که با گره آغازین شروع نمیشدند یا با گرهٔ پایانی خاتمه نمییافتند آدلمن از روش PCR استفاده کرد. برای این کار به تعداد زیادی کپی دو تکه کوچک از دیانای به عنوان استر نیاز داشت تا بتواند پلیمرها را برای انجام عمل واتسون-کریک آماده کند. استرها شامل نام دوم شهر آغازی و متمم نام اول شهر پایانی بودند. این استرها به درستی کار میکردند اولی باعث میشد پلیمرهای دیانای مکملهای دنبالههایی را که شهر آغازین درست را در بر داشتند، کپی کنند و استر دوم باعث میشد پلیمرها شروع کنند به دو برابر کردن دنبالههایی که شهر پایانی درست را داشتند. نتیجه این بود که مولکولهایی که هر دو شهر آغازی و پایانی درست را داشتند با سرعتی نمایی دوباره ایجاد شدند در مقابل رشتههایی که یا شهر آغازین درست را داشتند یا شهر پایانی درست را با سرعتی کمتر و به صورت خطی ایجاد شدند و رشتههایی که هیچ یک را نداشتند اصلاً ایجاد نشدند.
- گام سوم، پل الکتروفورز
گام بعدی استفاده از پل الکتروفورز برای جدا کردن رشتههایی بود که طول مشخصی داشتند. در اینجا مولکولهای دیگر از آزمایش خارج میشدند.
- گام چهارم، جدا کردن به وسیلهٔ کشش واتسون-کریک
برای چک کردن اینکه رشتههای بهدست آمده حاوی تمام گرههای مورد نظر هستند یا نه، آدلمن از روش سخت کردن واتسون-کریک که جدا کردن به وسیلهٔ کشش نامیده میشد استفاده کرد.
پیشرفتها و چالشها
[ویرایش]تحقیقات در زمینهٔ دیانای رایانهها و محاسبات از طریق دیانای هنوز در مراحل اولیه قرار دارد. چگالی بالای اطلاعات در مولکولهای دیانای و شدت موازی بودن فعالیتها در آنها باعث شده محاسبات از طریق دیانای ابزار قدرتمندی گردد. دیانای رایانهها علاوه بر انجام عملیات به صورت موازی میتوانند با مشکلاتی که باعث میشود اینگونه مسائل برای رایانههای سیلیکونی متداول غیرقابل حل شوند کنار بیاید.
هر چند استفاده از دیانای رایانهها برای حل مسائل ساده مناسب نیست با این حال با تحقیقات بسیار ثابت شده که هر اصلی را که بتوان روی رایانههای معمول پیاده کرد همچنین میتوان آن را به صورت یکی از اصول دیانای رایانهها هم در نظر گرفت. احتمالاً مهمترین ابزارهای محاسباتی از طریق دیانای میتوانند باعث انقلاب بزرگی در عرصهٔ علوم درمانی و داروسازی شوند. مثلاً در آینده ممکن است با قرار دادن دیانای رایانهها در بدن انسانها از سلامتی آنها مطمئن شد.
منابع
[ویرایش][1] Molecular Computing: An Overview by Byoung-Tak Zhang
[2] A few ideas about DNA computing: Enrique Blanco
[3] Gheorghe Paun, Rozenberg and Salomaa, DNA computing, New computing paradigms, Springer-Verlag, Berlin.
[4] Gupta, GauraV, Mehra, Nipun and ChakraVerty, DNA Computing,
[5] Leonard M. Adleman, Computing with DNA, Scientific American, August 1998.
[6] L.M Adleman, “Molecular computation of solutions to combinatorial problems,” Science, 266, 1994, 1021-1024.
[7] V. Shekhar, Ch.V.Ramana Murthy, P.V. Gopalacharyulu and G.P.Rajasekhar, DNA solution to the shortest path problem,