سلولهای خودکار : بازی زندگی، سنگ کاغذ قیچی، تپههای شنی
یک گروه موسیقی را در نظر بگیرید که این گونه مینوازند: اعضای گروه در یک شبکهی مربعی، مثلاً روی رأسهای مربعهایی در صفحهای شبیه صفحهی شطرنج، نشستهاند. هر عضو گروه تنها یک نت را با ساز خود می نوازد. شرط نواختنش هم این است که ۲ نفر از ۴ همسایهاش بنوازند. به این ترتیب وظیفهی هر نوازنده خیلی ساده تعریف میشود. با این حال، با چینش مناسب اعضا و شروع کنندههای این اجرا در شبکه، حاصل کار میتواند یک سمفونی زیبا و کاملاً پیچیده از آب در بیاید!
این اتفاقی است که در طبیعت به وفور دیده میشود: سیستمهایی که رفتار کلیشان بسیار پیچیده است اما از اجزای کاملاً سادهای تشکیل شدهاند. آنچه پیجیدگیها را پدید میآورد، نوع همکاری این اجزا است.
ماشینهای سلولی نمونههایی از این سیستمها هستند. آنها شبکهای از سلولها هستند که هر کدام -اگر مثال بالا را در نظر بگیرید- نمایندهی یکی از اعضای گروه است. هر سلول میتواند یا ۰ باشد یا ۱ (۱ متناظر با نواختن و ۰ متناظر با ساکت ماندن). هر سلول تنها زمانی ۱ میشود (مینوازد) که ۲ تا از سلولهای همسایهاش شروع به نواختن کنند (۱ شوند) و وقتی دوباره ۰ میشود (از نواختن باز میایستد) که تعداد همسایههای نوازندهاش بیشتر یا کمتر شوند. شبیهسازی این ماشینها با کامپیوتر کار ساده ایست: کافی است قوانین ۰ و ۱ شدن را تعریف کنیم. سپس برنامهای که نوشتهایم را اجرا میکنیم: در هر نسل، تعدادی از سلولها روشن هستند که در نسل بعدی ممکن است روشن بمانند یا خاموش شوند.
خب حالا این ماشینهای سلولی چه گلی به سر فیزیک میزنند؟! گروه موسیقی را که فهمیدید؟ گروه دوستی باکتریها شبیه آن است! یک باکتری فقط وقتی به دنیا میآید که تعداد مشخصی همسایهی زنده (!) در اطرافش داشته باشد. از طرفی اگر تعداد این همسایهها از عدد مشخصی بیشتر شود، باکتری به علت کمبود غذا میمیرد! پس اگر قوانین مشابهی را برای جمعیت باکتریها به کار ببریم، کامپیوتر عزیزمان تحول این جمعیت در طول زمان را به ما نشان میدهد. لزومی ندارد که سلولهای من فقط دو مقداری (۰ و ۱) باشند. به عنوان مثال از سلولهایی که سه مقدار میگیرند (۰ و ۱ و ۲) میتوان به عنوان شبیهسازِ برهمکنشِ گونههای خاصی از باکتریها استفاده کرد که قوانین رفتاریشان به شدت شبیه بازی سنگ کاغذ قیچی است. برای شبیهسازی این سیستم، میتوان تعدادی سلول داشت که هر کدام میتوانند یکی از مقادیر سنگ، کاغذ یا قیچی را داشته باشند و بسته به این که همسایههایشان کدام وضعیت را دارند، در لحظههای بعد مقدار همسایههایشان راعوض کنند (بازی را ببرند) و یا مقدار خودشان عوض شود (بازی را ببازند).
پدیدههای فیزیکی زیادی هستند که به جای حل معادله دیفرانسیل، میتوان به کمک ماشینهای سلولی، این مدلهای گسسته، توصیفشان کرد. تا به حال دقت کردهاید که تپههای شنی شیب مشخصی دارند؟ اگر رویشان شن بریزیم یا از زیر تپه مقداری شن برداریم تا شیب دامنهی تپهی شنی عوض شود، در تپه، بهمن شنی رخ میدهد و شیب دامنه دوباره به مقدار قبل از اعمال تغییرات ما برمیگردد. تپهی شنی بر خلاف ظاهر سادهاش به شدت موجود پیچیدهای است و به فیزیکپیشهها آن را در دستهی سیستمهای خود سامانده بحرانی قرار میدهند. با استفاده از ماشینهای سلولی میتوان همین سیستم پیچیده را هم مدل کرد. یک رشته از سلولها را در یک بعد در نظر بگیرید که هر سلول متناظر با یک ستون از ذرات شن باشد. فرض کنید عدد داخل هر سلول نشاندهندهی تعداد ذرات شن در ستون متناظر در تپهی شنی باشد. حال این قانون را برای سلولها اعمال میکنیم: هر سلولی که چهار ذرهی شن بیشتر از سلولهای همسایهاش داشت، دو تا از تعداد ذراتش کم میشود و به هر کدام از همسایههایش یک ذره اضافه میشود (معادل یک بهمن کوچک). حال در هر قدم میتوان یک سلول را به صورت تصادفی انتخاب کرد و در آن یک ذرهی شن جدید انداخت (به عدد داخل آن سلول یک را اضافه کنیم). خب الان فرآیند ساختن تپههای شنی را شبیهسازی کردهایم. به عنوان مثال اگر تعداد آبشارهایی که در این سیستم ما رخ میدهد را بشماریم و نسبت به بزرگی آبشارها رسم کنیم، به همان توزیعی میرسیم که در سیستمهای واقعی شبیه تپههای شنی میبینیم.
ماشینهای سلولی که بیشتر از ۷۰ سال پیش با هدف شبیه سازی رشد کریستالها، ابزار دست ریاضیدانها و بعدن فیزیکدانها شدند، این روزها فیزیک محاسباتی کارها را به جایی رساندهاند که از خود میپرسند: آیا دنیای ما در بنیادیترین سطح خود، یک ماشین سلولی نیست؟!