×

LingQをより快適にするためCookieを使用しています。サイトの訪問により同意したと見なされます クッキーポリシー.


image

Arantik | Science and Technology, بازی زندگی : مدلی ساده از جهان ما

بازی زندگی : مدلی ساده از جهان ما

تقریبا یه سال پیش که تازه شروع کرده بودم به ویدیو گذاشتن داخل یوتیوب

یکی از اولین ویدیوهام درباره‌ی یه مفهومی بود به نام بازی زندگی،

که خودم خیلی زیاد بهش علاقه دارم و رو طرزفکرمم خیلی تاثیرگذاشته.

اون ویدیو رو به خاطر کیفیت پایینی که داشت خیلی وقت پیش حذفش کردم

اما از اون موقع تا الان چون اعضای کانالمون خیلی بیشتر شدن

فک کردم ارزششو داره که یه ویدیوی بهتر درباره‌ش بسازم

چون هنوز خیلیا هستن که حتی اسمشم نشنیدن.

خلاصه اون دوستانی که قبلا این ویدیو رو دیدن و الان براشون تکراریه

امیدوارم ببخشن، حیفه این موضوع بین ویدیوهامون نباشه.

قبل از ادامه اگه به اینجور موضوعات علمی علاقه دارید

ممنون میشم اون دکمه‌ی سابسکرایب پایین ویدیو رو بزنید.

خب اصل قضیه از اونجا شروع شد که یه ریاضیدان انگلیسی

به نام جان کانوی (John Horton Conway)

با چند تا از شاگرداش دنبال پیدا کردن یه مدل خیلی خیلی ساده

از جهان بودن که نسبت به جهان واقعی قوانین خیلی کمتری

داشته باشه اما رفتارای مشابهی از خودش نشون بده.

بعد از یه مدت زیادی که روشای مختلف و قوانین مختلفو

تست کردن در نهایت به یه مدلی رسیدن که خیلی راضی‌کننده بود.

یه مدل یا درواقع یه شبیه‌سازی خیلی ساده از جهان ابداع کردن که به این صورت بود:

یه صفحه‌ی گسترده شبیه صفحه‌ی شطرنج در نظر بگیرید که از همه طرف نامحدوده.

به هرکدوم از مربع‌هایی که روی این صفحه وجود دارن یه سلول گفته میشه.

این سلولای مربعی، هرکدومشون فقط دو تا حالت

می‌تونن داشته باشن: یا زنده هستن یا مرده.

هرکدوم از این سلولا هم هشت تا سلول همسایه دارن.

این دنیای خام ماست یعنی این صفحه با سلولای مربعی داخلشو

میتونیم به عنوان فضا و ماده‌ای که توی جهان واقعیمون وجود داره درنظر بگیریم.

اما زمانم باید به این شبیه‌سازی اضافه کنیم.

به ازای گذشت هر یک ثانیه، این سلولا منتقل میشن به نسل بعدی سلولا.

یعنی هر سلول، یا میمیره، یا زنده میشه، یا همونجوری که هست بدون تغییر میمونه.

حالا سه تا قانون ساده هم روی این سلولا اعمال می‌کنیم

برای اینکه تعیین کنیم هر سلول چجوری منتقل بشه به نسل بعد:

قانون اول: هر سلول زنده‌ای که کمتر از دو تا همسایه‌ی زنده

داشته باشه، دچار مرگ بر اثر تنهایی میشه!

یعنی سلولی که زنده‌س اما هیچ همسایه‌ی زنده‌ای نداره

یا اینکه فقط یدونه همسایه‌ی زنده داره، خودشم میمیره.

قانون دوم: هر سلول زنده‌ای که بیشتر از سه تا همسایه‌ی زنده

داشته باشه، دچار مرگ بر اثر ازدحام جمعیت میشه!

خب پس اگه کمتر از دو تا همسایه‌ی زنده داشته باشه یا بیشتر از سه تا داشته باشه، میمیره.

اما قانون سوم: هر سلول مرده‌ای که دقیقا سه تا همسایه‌ی زنده

داشته باشه، خودشم زنده میشه!

خب این شد سه تا قانون این دنیا.

تو بقیه‌ی حالتام، هیچ اتفاقی نمیفته، یعنی سلول اگه زنده باشه

زنده میمونه، اگه مرده باشه هم که مرده میمونه.

هر تیک زمانی که توی این دنیای ما میگذره، تمام سلولاش بررسی میشن.

یعنی این سه تا قانون در مورد تک‌تک سلولا چک میشه که مشخص بشه

هر سلول باید زنده بمونه باید بمیره یا اینکه باید هیچ تغییری نکنه.

تا اینجا هم خود این دنیا هم قوانینش خیلی خیلی ساده‌ان ولی

وقتی که روی یه کامپیوتر پیاده‌ش می‌کنیم و اجراش می‌کنیم اتفاقای خیلی عجیبی میفته.

از کنار هم قرار گرفتن سلولای زنده موجودات عجیبی به وجود میان که میتونن حرکت کنن!

بعضیاشون خیلی ساده‌ان بعضیاشون خیلی پیچیده‌ان.

بعضیاشون فقط میتونن همون جایی که هستن یه حرکت رفت و برگشتی انجام بدن،

ولی بعضیای‌ دیگه میتونن موجودات دیگه‌ای تولید کنن که اینا حرکت می‌کنن!

من یه برنامه‌ی کامپیوتری دانلود کردم که اومده این

دنیای ساده رو با زبان برنامه‌نویسی جاوا پیاده‌سازی کرده.

لینک برنامه رو توی دیسکریپشن گذاشتم که از اونجا میتونید دانلود ونصب کنید.

خب اینجا یسری سلول خاکستری داریم با سلولای زرد

سلولای زرد زنده‌ان اینجا، سلولای خاکستری مردن

مثلا یکی از ساده‌ترین موجودات این دنیا، یه موجوداتی هستن

به نام گلایدر که از پنج تا سلول زنده تشکیل شدن یعنی این و اینو اینو اینو این.

وقتی که برنامه رو اجرا می‌کنیم یعنی درواقع وقتی که زمان این دنیا رو

استارت می‌زنیم، شروع میکنیم ببینید چه اتفاقی میوفته:

سرعتشو من یه مقداری بالاتر میبرم، الان روی کنده من میذارمش روی fast

ببینید گلایدر رو به جلو حرکت می‌کنه یعنی به صورت 45 درجه.

خود این برنامه چند تا از موجودات معروفی که توی این دنیا هستنو داره

به صورت پیش‌فرض اما خب تعدادشون خیلی بیشتر از ایناس.

ببینید مثلا.....این یه نوعه:

ثابت میشه....

این یه نوعه....

اینم بهش گفته میشه تفنگ گلایدر که، گلایدر از خودش به بیرون شلیک میکنه.

سرعتشو زیاد کنم....

ببینید این همینطور دائم میچرخه و گلایدر تولید میکنه.

از این سایتم میتونید استفاده کنید که باز لینک اینم تو دیسکریپشن میذارم.

ببینید مثلا اینجا یه تعداد خیلی زیادی از طرح‌ها یا درواقع همون موجودات

مختلفی توی این دنیا وجود داره که هر کدومشون یه شکلی هستن

مثلا این..... اجراش کنیم ببینیم به چه شکله

مثلا می‌بینید یه موجود خیلی ساده‌ایه.

یا حتی می‌تونید به صورت رندوم....

یعنی تمام سلولارو به صورت رندوم اومده مرده و زنده کرده، حالا وقتی که

دنیارو اجرا می‌کنیم زمانو شروع می‌کنیم، ببینید چه اتفاقی میوفته.

خیلی جالبه بعضی وقتا بیشتر قسمتای این دنیا به یه ثباتی می‌رسه

بعد یهو مثلا یه گلایدر از یه گوشه‌ای میاد میاد میخوره به

اون قسمت‌هایی که ثابت شدن یهو همه چیز دوباره تغییر میکنه.

هرچی بیشتر بهش دقت می‌کنی بیشتر شبیه دنیای خودمون میشه.

فقط با قوانین خیلی خیلی ساده‌تر و کمتر.

به نظر شما نمیتونیم دنیای خودمونو یه نمونه‌ی خیلی

پیچیده‌تر از همین دنیای ساده در نظر بگیریم؟

یعنی مثلا از همون زمانی که انفجار بزرگ اتفاق افتاد،

قوانین حاکم بر جهان شکل گرفتن بعد روی مواد سازنده‌ی جهان اثر گذاشتن،

این اثرگذاریا باعث تغییرات مختلفی شد،

قوانین نه چندان پیچیده‌ای مثل جاذبه باعث شد که اتمای هیدروژن

کنار هم جمع بشن و ستاره‌های اولیه رو تشکیل بدن،

بعد باز به خاطر همین گرانش این ستاره‌های اولیه تبدیل شدن به

کوره‌های اتمی که هیدروژن رو سوزوندن و تبدیل کردن به اتمای سنگین‌تر،

باز همین ستاره‌ها منفجر شدن و اتمای سنگین‌ترشونو تو فضا پخش کردن

این اتما دوباره جمع شدن دور هم باز به خاطر گرانش

بعد سیاره‌های امروزی رو تشکیل دادن، همینطور تا آخر.

یعنی ماده داده شد، قوانینم اعمال شد، بعد دیگه از اون به بعد

هرچی پیش اومد به خاطر تاثیرات اون قوانین روی اون ماده‌ها بود.

کانوی به خاطر همین ویژگی‌هایی که این مدل سازی داشت اسمشو گذاشته بود

بازی زندگی، چون خیلی شبیه زندگی واقعیه البته خب کلمه‌ی بازی

اینجا استعاره‌س، چون در واقع یه بازی نیست.

چند تا حالت پیچیده‌تر از همین نوع مدلسازی که در اصل بهش گفته میشه

آتاماتای سلولی، تا الان طراحی شده که دنیاهاشون یه مقداری باهم متفاوته.

مثلا به‌جای مربع از چندضلعی‌های دیگه استفاده شده یا قوانین دنیاهاشون‌ باهم فرق میکنه.

چیزی که برای خود من خیلی جالبه اینه که فقط با یه سری قواعد ساده که روی یسری

سلول خیلی ساده اعمال میشه یه همچین رفتارای پیچیده‌ای از خودشون نشون میدن.

درسته که این موجودات خیلی ساده‌ان، دوبعدین،

اما بهرحال دارن حرکت می‌کنن حتی بعضیاشون موجودات دیگه‌ای

تولید می‌کنن بدون اینکه ما دخالتی داشته باشیم!

ما فقط سه تا قانون ساده براشون گذاشتیم بعد دیگه کاری بهشون نداشتیم!

نظر شما راجع به این شبیه‌سازی چیه؟

حتما توی کامنتا برام بنویسید، اگرم این ویدیو رو دوس داشتید

لایک فراموش نشه، در آخرم مث همیشه بدون ترس سوال بپرس و دنبال جواب باش.

بازی زندگی : مدلی ساده از جهان ما The game of life: a simple model of our world Il gioco della vita: un modello semplice del nostro mondo Het spel van het leven: een eenvoudig model van onze wereld

تقریبا یه سال پیش که تازه شروع کرده بودم به ویدیو گذاشتن داخل یوتیوب

یکی از اولین ویدیوهام درباره‌ی یه مفهومی بود به نام بازی زندگی،

که خودم خیلی زیاد بهش علاقه دارم و رو طرزفکرمم خیلی تاثیرگذاشته.

اون ویدیو رو به خاطر کیفیت پایینی که داشت خیلی وقت پیش حذفش کردم

اما از اون موقع تا الان چون اعضای کانالمون خیلی بیشتر شدن

فک کردم ارزششو داره که یه ویدیوی بهتر درباره‌ش بسازم

چون هنوز خیلیا هستن که حتی اسمشم نشنیدن.

خلاصه اون دوستانی که قبلا این ویدیو رو دیدن و الان براشون تکراریه

امیدوارم ببخشن، حیفه این موضوع بین ویدیوهامون نباشه.

قبل از ادامه اگه به اینجور موضوعات علمی علاقه دارید

ممنون میشم اون دکمه‌ی سابسکرایب پایین ویدیو رو بزنید.

خب اصل قضیه از اونجا شروع شد که یه ریاضیدان انگلیسی

به نام جان کانوی (John Horton Conway)

با چند تا از شاگرداش دنبال پیدا کردن یه مدل خیلی خیلی ساده

از جهان بودن که نسبت به جهان واقعی قوانین خیلی کمتری

داشته باشه اما رفتارای مشابهی از خودش نشون بده.

بعد از یه مدت زیادی که روشای مختلف و قوانین مختلفو

تست کردن در نهایت به یه مدلی رسیدن که خیلی راضی‌کننده بود.

یه مدل یا درواقع یه شبیه‌سازی خیلی ساده از جهان ابداع کردن که به این صورت بود:

یه صفحه‌ی گسترده شبیه صفحه‌ی شطرنج در نظر بگیرید که از همه طرف نامحدوده.

به هرکدوم از مربع‌هایی که روی این صفحه وجود دارن یه سلول گفته میشه.

این سلولای مربعی، هرکدومشون فقط دو تا حالت

می‌تونن داشته باشن: یا زنده هستن یا مرده.

هرکدوم از این سلولا هم هشت تا سلول همسایه دارن.

این دنیای خام ماست یعنی این صفحه با سلولای مربعی داخلشو

میتونیم به عنوان فضا و ماده‌ای که توی جهان واقعیمون وجود داره درنظر بگیریم.

اما زمانم باید به این شبیه‌سازی اضافه کنیم.

به ازای گذشت هر یک ثانیه، این سلولا منتقل میشن به نسل بعدی سلولا.

یعنی هر سلول، یا میمیره، یا زنده میشه، یا همونجوری که هست بدون تغییر میمونه.

حالا سه تا قانون ساده هم روی این سلولا اعمال می‌کنیم

برای اینکه تعیین کنیم هر سلول چجوری منتقل بشه به نسل بعد:

قانون اول: هر سلول زنده‌ای که کمتر از دو تا همسایه‌ی زنده

داشته باشه، دچار مرگ بر اثر تنهایی میشه!

یعنی سلولی که زنده‌س اما هیچ همسایه‌ی زنده‌ای نداره

یا اینکه فقط یدونه همسایه‌ی زنده داره، خودشم میمیره.

قانون دوم: هر سلول زنده‌ای که بیشتر از سه تا همسایه‌ی زنده

داشته باشه، دچار مرگ بر اثر ازدحام جمعیت میشه!

خب پس اگه کمتر از دو تا همسایه‌ی زنده داشته باشه یا بیشتر از سه تا داشته باشه، میمیره.

اما قانون سوم: هر سلول مرده‌ای که دقیقا سه تا همسایه‌ی زنده

داشته باشه، خودشم زنده میشه!

خب این شد سه تا قانون این دنیا.

تو بقیه‌ی حالتام، هیچ اتفاقی نمیفته، یعنی سلول اگه زنده باشه

زنده میمونه، اگه مرده باشه هم که مرده میمونه.

هر تیک زمانی که توی این دنیای ما میگذره، تمام سلولاش بررسی میشن.

یعنی این سه تا قانون در مورد تک‌تک سلولا چک میشه که مشخص بشه

هر سلول باید زنده بمونه باید بمیره یا اینکه باید هیچ تغییری نکنه.

تا اینجا هم خود این دنیا هم قوانینش خیلی خیلی ساده‌ان ولی

وقتی که روی یه کامپیوتر پیاده‌ش می‌کنیم و اجراش می‌کنیم اتفاقای خیلی عجیبی میفته.

از کنار هم قرار گرفتن سلولای زنده موجودات عجیبی به وجود میان که میتونن حرکت کنن!

بعضیاشون خیلی ساده‌ان بعضیاشون خیلی پیچیده‌ان.

بعضیاشون فقط میتونن همون جایی که هستن یه حرکت رفت و برگشتی انجام بدن،

ولی بعضیای‌ دیگه میتونن موجودات دیگه‌ای تولید کنن که اینا حرکت می‌کنن!

من یه برنامه‌ی کامپیوتری دانلود کردم که اومده این

دنیای ساده رو با زبان برنامه‌نویسی جاوا پیاده‌سازی کرده. It has implemented the simple world with Java programming language.

لینک برنامه رو توی دیسکریپشن گذاشتم که از اونجا میتونید دانلود ونصب کنید.

خب اینجا یسری سلول خاکستری داریم با سلولای زرد

سلولای زرد زنده‌ان اینجا، سلولای خاکستری مردن

مثلا یکی از ساده‌ترین موجودات این دنیا، یه موجوداتی هستن

به نام گلایدر که از پنج تا سلول زنده تشکیل شدن یعنی این و اینو اینو اینو این.

وقتی که برنامه رو اجرا می‌کنیم یعنی درواقع وقتی که زمان این دنیا رو

استارت می‌زنیم، شروع میکنیم ببینید چه اتفاقی میوفته:

سرعتشو من یه مقداری بالاتر میبرم، الان روی کنده من میذارمش روی fast

ببینید گلایدر رو به جلو حرکت می‌کنه یعنی به صورت 45 درجه.

خود این برنامه چند تا از موجودات معروفی که توی این دنیا هستنو داره

به صورت پیش‌فرض اما خب تعدادشون خیلی بیشتر از ایناس.

ببینید مثلا.....این یه نوعه:

ثابت میشه....

این یه نوعه....

اینم بهش گفته میشه تفنگ گلایدر که، گلایدر از خودش به بیرون شلیک میکنه.

سرعتشو زیاد کنم....

ببینید این همینطور دائم میچرخه و گلایدر تولید میکنه.

از این سایتم میتونید استفاده کنید که باز لینک اینم تو دیسکریپشن میذارم.

ببینید مثلا اینجا یه تعداد خیلی زیادی از طرح‌ها یا درواقع همون موجودات

مختلفی توی این دنیا وجود داره که هر کدومشون یه شکلی هستن

مثلا این..... اجراش کنیم ببینیم به چه شکله

مثلا می‌بینید یه موجود خیلی ساده‌ایه.

یا حتی می‌تونید به صورت رندوم....

یعنی تمام سلولارو به صورت رندوم اومده مرده و زنده کرده، حالا وقتی که

دنیارو اجرا می‌کنیم زمانو شروع می‌کنیم، ببینید چه اتفاقی میوفته.

خیلی جالبه بعضی وقتا بیشتر قسمتای این دنیا به یه ثباتی می‌رسه

بعد یهو مثلا یه گلایدر از یه گوشه‌ای میاد میاد میخوره به

اون قسمت‌هایی که ثابت شدن یهو همه چیز دوباره تغییر میکنه.

هرچی بیشتر بهش دقت می‌کنی بیشتر شبیه دنیای خودمون میشه.

فقط با قوانین خیلی خیلی ساده‌تر و کمتر.

به نظر شما نمیتونیم دنیای خودمونو یه نمونه‌ی خیلی

پیچیده‌تر از همین دنیای ساده در نظر بگیریم؟

یعنی مثلا از همون زمانی که انفجار بزرگ اتفاق افتاد،

قوانین حاکم بر جهان شکل گرفتن بعد روی مواد سازنده‌ی جهان اثر گذاشتن،

این اثرگذاریا باعث تغییرات مختلفی شد،

قوانین نه چندان پیچیده‌ای مثل جاذبه باعث شد که اتمای هیدروژن

کنار هم جمع بشن و ستاره‌های اولیه رو تشکیل بدن،

بعد باز به خاطر همین گرانش این ستاره‌های اولیه تبدیل شدن به

کوره‌های اتمی که هیدروژن رو سوزوندن و تبدیل کردن به اتمای سنگین‌تر،

باز همین ستاره‌ها منفجر شدن و اتمای سنگین‌ترشونو تو فضا پخش کردن

این اتما دوباره جمع شدن دور هم باز به خاطر گرانش

بعد سیاره‌های امروزی رو تشکیل دادن، همینطور تا آخر.

یعنی ماده داده شد، قوانینم اعمال شد، بعد دیگه از اون به بعد

هرچی پیش اومد به خاطر تاثیرات اون قوانین روی اون ماده‌ها بود.

کانوی به خاطر همین ویژگی‌هایی که این مدل سازی داشت اسمشو گذاشته بود

بازی زندگی، چون خیلی شبیه زندگی واقعیه البته خب کلمه‌ی بازی

اینجا استعاره‌س، چون در واقع یه بازی نیست.

چند تا حالت پیچیده‌تر از همین نوع مدلسازی که در اصل بهش گفته میشه

آتاماتای سلولی، تا الان طراحی شده که دنیاهاشون یه مقداری باهم متفاوته.

مثلا به‌جای مربع از چندضلعی‌های دیگه استفاده شده یا قوانین دنیاهاشون‌ باهم فرق میکنه.

چیزی که برای خود من خیلی جالبه اینه که فقط با یه سری قواعد ساده که روی یسری

سلول خیلی ساده اعمال میشه یه همچین رفتارای پیچیده‌ای از خودشون نشون میدن.

درسته که این موجودات خیلی ساده‌ان، دوبعدین،

اما بهرحال دارن حرکت می‌کنن حتی بعضیاشون موجودات دیگه‌ای

تولید می‌کنن بدون اینکه ما دخالتی داشته باشیم!

ما فقط سه تا قانون ساده براشون گذاشتیم بعد دیگه کاری بهشون نداشتیم!

نظر شما راجع به این شبیه‌سازی چیه؟

حتما توی کامنتا برام بنویسید، اگرم این ویدیو رو دوس داشتید

لایک فراموش نشه، در آخرم مث همیشه بدون ترس سوال بپرس و دنبال جواب باش.