در پست دیگری در رابطه با حافظه صحبت کردیم و فهمیدیم که هر ماده ای می تواند حافظه داشته باشد، به شرط آنکه برخی شرایط را دارا باشد. در این پست در مورد «محاسبه» صحبت می کنیم.
سوالی که می پرسیم اینست که ماهیت محاسبه چیست؟ و اینکه چه موجوداتی می توانند محاسبه کنند؟
و پاسخی که به آن خواهیم رسید اینست که هر موجودی (لازم نیست زنده باشد) با چند شرط مشخص می تواند محاسبه کند. دقیقن مانند حافظه.
خب به سراغ ماهیت محاسبه برویم. محاسبه یعنی تغییر یک حالت حافظه به حالتی دیگر. در واقع فرآیند محاسبه اطلاعاتی را می گیرد و به اطلاعاتی دیگر تبدیل می کند، با این شرط که این تغییر متعیّن باشد (تصادفی/رندوم نباشد)، یعنی هر بار با یک ورودی یکسان یک خروجی مشخص را بدهد. آن چیزی که ورودی را به خروجی تبدیل می کند اسمش «تابع» است.
توابع می توانند به سادگی x2 باشند که هر ورودی بگیرد آن را در خودش ضرب می کند و خروجی میدهد و یا می تواند یک سیستم پیش بینی آب و هوا باشد که ورودی اش تعداد بسیار زیادی از متغیرهای جوی و خروجی آن پیش بینی وضع هوا برای 24 ساعت آینده باشد!
خب حالا می خاهیم کمی عمیق شویم و ببینیم ماده چطور محاسبه می کند. من برای توضیح این بخش بسیار با خودم کلنجار رفتم که تا چه حد موضوع را تفصیل بدهم. در نهایت به این جمع بندی رسیدم که درک این موضوع که ماده چطور محاسبه می کند و این نوع محاسبه در انواع مواد از چرتکه تا ترانزیستور تا نورون های مغز ما عملن یک کار است، مهمترین حلقه زنجیره درک پدیده ی «از-درونِ-خود-آگاهی» ست. پس کمی حوصله کنید و تا آخر این موضوع همراه باشید.
تا حالا به این فکر کرده اید که مغز ما چطور 2 را با 3 جمع می کند؟ یک ماشین حساب چطور؟ و اینها با هم چه فرقی دارند؟
می دانیم که ماشین های محاسبه گر (همان کامپیوتر! به معنای عام کلمه) از منطق باینری استفاده می کنند. یعنی هر چیز را به عدد تبدیل می کنند (مثلن حروف الفبا را) و عدد را به مبنای دو می برند یعنی همان 0 و 1 معروف. سپس روی عدد در مبنای دو محاسبه انجام می دهند. (یعنی یک حالت از عدد در مبنای دو را به یک حالت دیگر از عدد در مبنای دو تبدیل می کنند، همین!)
اما چطور یک ماده بدون هیچ گونه درک از 2 و 3 می تواند 2 و 3 را بگیرد و 5 را خروجی دهد. این مثل این می ماند که از یک تکه سنگ بپرسیم 2 + 3 چند می شود و سنگ جواب دهد 5! اگر من برای شما تعریف کنم که در خانه یک تکه سنگ دارم که می تواند جمع و تفریق کند، احتمالن باور نخاهید کرد! ولی در بیشتر لحظات ما یک تکه سنگ به نام گوشی تلفن در دست داریم که کارهای بسیار پیچیده تری انجام میدهد. ولی اینقدر ما به این موضوع عادت کرده ایم که به آن فکر هم نمی کنیم.
حالا چطور یک تکه سنگ می تواند محاسبه کند؟ پاسخ در گیت های منطقی باینری نهفته است. در مورد این گیت ها به تفصیل در پست دیگری توضیح خاهم داد. ولی به طور خلاصه ما سه درگاه منطقی پایه در ماشین های باینری داریم: AND، OR، NOT.
درگاه AND چطور ساخته می شود؟
درگاه OR چطور ساخته می شود؟
درگاه NOT چطور ساخته می شود؟
فکر می کنم تصاویر واضح هستند و نیازی به توضیح بیشتری نیست.
اما از این درگاه های پایه چندین درگاه دیگر ساخته می شود که برخی از آنها universal یا همه کاره هستند، یعنی با آن درگاه می توان هر نوع تابع خوش تعریفی (قابل محاسبه) را محاسبه کرد از جمله درگاه NAND و NOR. فقط کافی ست به اندازه کافی از این درگاه ها داشته باشیم. این موضوع در علوم کامپیوتر حدود 80 سال پیش (1940) ثابت شده است.
در اینجا برای نمونه ما درگاه NAND یا NOT-AND را توضیح می دهیم.
درگاه NAND چطور ساخته می شود؟
جزئیات این درگاه ها برای ما مهم نیست. مهم اینست که بدانیم با دو کلید می توان این درگاه ها را ساخت. در این تصاویر از جریان الکتریکی و لامپی که روشن می شود برای توضیح استفاده شده است. ولی همین کار را می توان با جریان آب در یک لوله و شیر آب به جای کلید هم انجام داد. یعنی اگر به تعداد کافی، لوله آب و شیر آب داشته باشیم هم می توان هر محاسبه ای را با آن انجام داد؛ فقط خیلی صرف نمی کند!
اینکه چطور با درگاه همه کاره می توان هر محاسبه ای را انجام داده مفصل است و فعلن از آن در میگذریم. فقط در این حد توضیح بدهم که برای انجام یک عمل جمع حدود 44 درگاه NAND مورد نیاز است و برای عمل ضرب حدود 164 تا!
آیا منطق باینری تنها راه محاسبه است؟ خیر. چرتکه محاسبات ساده را با مبنای ده انجام میدهد. و مغز انسان با شبکه عصبی (که آن هم در نهایت جریان الکتریکی ست که با آرایش خاصی تغییر می کند)
اگر کنجکاوی شما بیشتر از این تحریک شد و خاستید بیشتر در مورد منطق باینری و نحوه محاسبه در آنها بدانید می توانید از لینک های زیر موضوع را دنبال کنید:
Crash Course on Computer Science
شاید در آینده بیشتر به این موضوع بپردازیم. ولی فعلن چیزی که از این بحث لازم داریم درک کنیم اینست که ماده می تواند به روش های مختلف محاسبه کند. و این محاسبه را از طریق تغییر در آرایش مولکولهایش انجام می دهد. پس اگر کسی به شما گفت در خانه سنگی دارد که جمع و ضرب می کند خیلی هم تعجب نکنید، چون ماده قابلیت محاسبه کردن را دارد.
و نکته بسیار مهم تر اینکه:
نتیجه محاسبه با هر ماده ای انجام شود فرقی نمی کند. بنابراین محاسبه از بستر مادی اش مستقل است.
خب مفهوم emergent phenomena که قبلن در موردش صحبت کردیم، اینجا کاربردش را نشان داد. ویژگی های این پدیده ها را یادتان هست؟
1- به عنوان یک ویژگی یا پدیده جدید بر روی یک سیستم موجود ایجاد (ظاهر: emerge) می شوند؛
2- از آن سیستم که بر روی آن ایجاد می شوند مستقل هستند. یعنی مستقل از بستر مادی که در آنها بروز می کنند، وجود، خواص و قوانین خودشان را دارند.
محاسبه هم مانند موج و حافظه مفهومی مستقل از بستر مادی ست که در آن رخ میدهد. پس فرقی نمی کند این محاسبه در سنگی که من در خانه دارم رخ دهد، یا در گوشی تلفن شما، یا ابرکامپیوترهای گوگل (که از جنس سیلیکون هستند) یا در مغز یک انسان (که از جنس کربن است). اثرات فیزیکی آنها مستقل از بستر مادی شان، قابل بررسی و قاعده مند سازی ست.
پانوشت: اگر می خواهید از ابتدا مطالب من را در مورد خودآگاهی دنبال کنید:
اختلالات مغزی و دودی که از ما بیرون می آید!
ای موج تو مگر عاشقی؟! در باب پدیده emergence!