چطور با DNA میشه مسائل خیلی سخت کامپیوتری رو حل کرد؟! یه نگاه باحال به کامپیوتر DNAای!

Fall Back

خب بذار اول یکم با هم گپ بزنیم درباره یه مشکلی که دانشمندای کامپیوتر سال‌هاست درگیرشن: مسائل NP-Complete. اینا همون مسائل فوق‌العاده سخت و پُرچالش دنیای کامپیوترن که حتی کامپیوترای معمولی هم خیلی زورشون بهشون نمی‌رسه! مثلاً پیش‌بینی ساختار پروتئین (که رابطه زیادی با زیست و دارو داره)، رمزگشایی های رمزنگاری شده، یا پیدا کردن باگ‌ها و آسیب‌پذیری‌های سیستم‌ها جزو همین مسائل هستن.

حالا مشکل قضیه چیه؟ خب، کامپیوترای معمولی که ما باهاشون سروکار داریم (بهشون میگن Turing Machines، یعنی ماشین تورینگ؛ اینا همون مدلی هستن که از قدیم برای ساخت کامپیوتر ازش استفاده شده) اطلاعات رو ردیفی و یکی یکی پردازش می‌کنن، خب این باعث میشه وقتی با این مسائل پیچیده رو به رو میشن، کلی طول بکشه یا حتی بعضیاشون رو عملاً نمی‌تونن حل کنن.

اینجاست که باید دنبال راه‌حل‌های نو و متفاوت بگردیم. مثلاً اگه به جای اینکه داده‌ها رو فقط یه ردیف بچینیم، بتونیم به صورت چندبعدی و موازی کار رو جلو ببریم عالی میشه! منظور از چندبعدی اینه که اطلاعات رو تو ساختارهایی قرار بدیم که محدود به یک خط یا یک بعد نباشه و یه جورایی مثل یه جدول یا حتی ساختارهای پیچیده‌تر، بتونیم به صورت همزمان کارای مختلفی انجام بدیم.

تیم پژوهشی‌ای که داره درباره این مقاله حرف میزنه، یه مدل جدید براش دارن به اسم “ماشین پروب” یا Probe Machine (که یه جور مدل محاسباتیه و دیگه وابسته به همون ایده سنتی تورینگ نیست). حالا اومدن این رو با کمک DNA اجرا کردن! این سبک رو میگن DNA Computing یعنی استفاده از مولکول‌های DNA (که همون ساختمون ژنتیکی سلولاست) برای انجام عملیات محاسباتی. دلیل اینکه DNA برای این کار باحاله، اینه که ذاتاً موازی کار میکنه! یعنی می‌تونه به حجم عظیمی از مسائل به صورت همزمان جواب بده. مثلا تو یه آزمایش ساده، میلیون‌ها یا حتی میلیاردها مولکول DNA می‌تونن هرکدوم یه جواب متفاوت رو تست کنن.

تو این تحقیق، تیم مذکور یه روش جدید به اسم “blocking probe” (که منظورش یه نوع آزمایش یا دستکاری خاص روی DNAهاست که باعث میشه همزمان همه جواب‌های معتبر یه مسئله کشف بشه) رو اجرا کردن. یه مسئله معروف تو علوم کامپیوتر هست به اسم 3-coloring Graph روی یه گراف با ۲۷ راس (یعنی شکلی با ۲۷ نقطه که هرکدومشون به هم وصلن و قراره ۳ رنگ رو جوری به نقاط بدی که هیچ دوتاشون با یه رنگ کنار هم نباشن)، خب این مسئله خیلی سخته و برای کامپیوترای کلاسیک مثل یه کابوس می‌مونه!

ولی این دوستان با همون روش DNAای، تونستن همه جواب‌های ممکن رو کلاً تو فقط یه بار آزمایش پیدا کنن! یعنی یه جورایی اولین بار بود که با این دقت، کل راه‌حل‌های یه مشکل NP-Complete رو تو دنیای مولکولی (یعنی سطح خیلی ریز و بین مولکول‌ها) و موازی، یکجا گرفتن. این خودش واقعاً یه موفقیت بزرگه! یعنی نشون میده میشه یه جور کامپیوتر ساخت که مرزهای کامپیوترای مرسوم رو می‌شکنه و می‌تونه سراغ حل مسائل پیچیده‌ای بره که تا الان برامون رویا بوده.

اگه بخوام جمع‌بندی کنم: این تحقیق نشون داد ماشین پروب که تو معماریش پردازش موازی تو سطح مولکولی (یا همون DNA) اتفاق میفته، واقعاً می‌تونه محدودیتای مدلای سنتی کامپیوتر رو پشت سر بذاره. این یعنی شاید به‌زودی بتونیم حتی مشکلات خیلی سخت و واقعی رو با این سبک جدید کامپیوتری حل کنیم!

دنیای DNA کامپیوتینگ و محاسبات مولکولی تازه داره جالب میشه؛ پس اگه علاقه داری بدونی هوش مصنوعی و محاسبات آینده چجوری شکل می‌گیرن، بی‌خیال فقط تراشه و برق شو، چون شاید مغز آینده کامپیوترامون از جنس مولکول باشه!

منبع: +