محاسبه مبتنی بر DNA
در بدن تمام موجودات زنده، در سطح ملكول، هم ذخيره سازي اطلاعات و هم پردازش اطلاعات در مقياس بسيار بالا انجام مي شود. تمام اين عمليات مربوط به DNA بدن موجودات زنده است. مولكولهاي DNA حاوي كدهاي اطلاعاتي- ژنتيكي موجودات زنده هستند كه توسط پروتئينهاي خاصي، خوانده و تفسير مي شوند. توان اجرايي اين سيستم كه در قسمتهايي به آن اشاره مي كنيم فوق العاده بالاست. حال اجازه دهيد به منشا اين ايده بپردازيم.
همانطور كه مطلع هستيد از علم ژنتيك و علم انفورماتيك به عنوان بزرگترين انقلابهاي علمي بشر نامبرده مي شود. امروز علومي كه هيچگونه ربطي به يكديگر نداشته اند، زمينه آميزششان فراهم شده است.
نظريه دود 10 سال پيش در سال 1994 توسط لئونارد ادلمن «Leonard Adleman» با عنوان: “استفاده از DNA براي حل مجموعه اي از مسائل رياضي”، مطرح شد. ادلمن كه استاد دانشگاه كاليفرنياي جنوبي است، پس از مطالعه كتاب «بيولوژي ملكولي ژنها» نوشته جيمز واتسن «James Watson» (دانشمندي كه در سال 1953 ساختار ژنها را كشف كرد) به اين نتيجه رسيد كه ساختار DNA، به صورت عام داراي توان محاسباتي «Compvting Potential» است.
همه جنجالها از مقاله وي در مجله سانيس «Science» شروع شد. مقاله ادلمن در مورد تشريح روش جديدي در حل مساله محاسباتي مشهور مسير مستقيم هميلتون «Hamiltons Directed Path» (اين مساله مربوط به يافتن كوتاهترين راه بين چند شهر است به شرطي كه از هر شهر تنها يك مرتبه عبور شود) بود. در اين مساله هر چقدر تعداد شهرها بيشتر شود، مساله به صورت تصاعدي دشوارتر خواهد شد. ادلمن اين مساله را هنگامي كه تعداد شهرها برابر 7 است از طريق ساختار DNA محاسبه كرد. پيش از تشريح الگوريتم ادلمن در حل اين مساله، اشاره به پاره اي نكات خالي از فايده نخواهد بود.
حل مسئله از الگوريتم ادلمن به صورت دستي حدود 7 روز وقت نياز خواهد داشت، در صورتي كه براي حل مساله از روش عادي (آزمون و خطا) كمتر از يك ساعت زمان نياز است كه نتيجه نااميد كننده اي است ولي زماني كه 7 شهربه 70 شهر تبديل شود، مساله براي قوي ترين سوپر كامپيوترهاي امروزي نيز بسيار پيچيده خواهد بود، چرا؟
از اين رو كه كامپيوترهاي امروزي تمام مسيرها را بايد به صورت منفرد آزمايش كنند كه اين عمل نيز به صورت خطي «Line Ar» انجام مي شود. (كامپيوترها سيليكون قادرنيستند به صورت همروند يا موازي «Paralel» كار كنند) دقيقاً مانند اينكه شما يك دسته كليد و يك قفل داريد، مطمئناً نمي توانيد همه كليدها را يكجا آزمايش كنيد