به دوره‌ی «آشنایی با مدلسازیِ عامل‌بنیان» خوش آمدید. من (بیل رند) در طول این دوره معلم شما خواهم بود. من استادیار مدیریت تجاری در دانشکده‌ی مدیریت دانشگاه ایالتی کارولینا هستم. من همچنین در زمینه‌ی علوم کامپیوتر فعالیت می‌کنم. در این دوره می‌خواهیم درباره‌ی این مسائل صحبت کنیم: چرا مدلسازی عامل‌بنیان (ABM) مفید است؟ چه کاربردی دارد؟ چطور می‌توانید آن را بفهمید؟ چطور می‌توانید مدل بسازید؟ چگونه مدل‌هایی که دیگران ساخته‌اند را بفهمید؟ چطور آنها را واکاوی کنید؟ و چطور با کاربستِ حرفه‌ایِ آن مدل‌ها برای درکِ مسائلی که پیرامون‌تان می‌بینید استفاده کنید؟ در طول این دوره درباره‌ی جزئیات فنی صحبت خواهیم کرد. اما این دوره هیچگونه پیش‌نیازی به برنامه‌نویسی کامپیوتری یا مدلسازی کامپیوتری ندارد. پیش از آن‌که به این جزئیات بپردازیم، دوست دارم با یک ویدئوی کوتاه شروع کنم که تقریبا تمام کلاس‌هایم درباره‌ی این موضوع را با این ویدیو شروع می‌کنم. خب. چیزی که الان در تصویر مشاهده می‌کنید یک دسته از پرنده‌هایی است که معمولا به‌طور جمعی در مسیرهای جالبی حرکت می‌کنند و این کار را در حین پرواز، به‌طور مرتب انجام می‌دهند بدون اینکه با هم هماهنگ شوند. بدون هرگونه طرح یا برنامه‌ی مرکزی مبنی بر اینکه کجا بروند یا چگونه حرکت کنند. ولی الگوهایی که در طی پروازشان به‌وجود می‌آید، خیلی منظم و زیباست. و اگر در طول زمان به آنها نگاه کنید، قواعد مشخصی در آن وجود دارد. الگوی رفتاری مشخصی که در آنها میبینید و بسیاری از چیزهایی که می‌خواهیم درباره‌‌ی آنها صحبت کنیم این است که چگونه از قوانینی که بر رفتار تک تک افراد حاکم است، به این الگوهای خروجی زیبا که در اطراف‌مان می‌بینیم برسیم. و این از بسیاری جهات کاری‌ست که مدلسازیِ عامل‌بنیان می‌خواهد انجام دهد. خب! چطور تک تک افراد که طبق میل خودشان رفتار می‌کنند، وقتی با هم جمع می‌شوند، این الگوها را که ما در اطراف‌مان می‌بینیم می‌سازند؟ به‌علاوه، چطور آن رفتارهای جمعی به تک تک افراد بازخورد داده و مجددا بر رفتار همان افراد که تصمیم‌گیرنده هستند، تاثیر می‌گذارند؟ حالا بیایید از همین نکته شروع کنیم می‌خواهم یک مدل کامپیوتری را معرفی کنیم که ساخته شده تا به‌نحوی الگوی رفتاری این پرنده‌ها را که در اطراف‌مان می‌بینیم، بازنمایی کند. و در این مدل کامپیوتری، همان‌طور که می‌بینید پرنده‌ها، بسیار شبیه به پرنده‌های واقعی که در فیلم قبل دیدیم رفتار می‌کنند. البته دقیقا مانند آنها نیست، یک تفاوت‌هایی وجود دارد. این مدل دو-بُعدی است. درحالی که آنها در سه-بعد حرکت می‌کردند و دلایل دیگری هم هست که چرا این تفاوت‌ها وجود دارد. اما از جهات دیگر، رفتارها بسیار مشابه همدیگر است. حالا می‌خواهم مدل را چندبار اجرا کنم و می‌بینید که هربار با توزیع تصادفی از پرنده‌ها شروع می‌شود. موجوداتی که بعدا در طول این دوره به آنها عامل (Agent) می‌گوییم. و این عامل‌ها حرکت کرده و بر رفتار یکدیگر اثر گذاشته و کم‌کم دسته‌هایی می‌سازند. حالا می‌خواهم سرعت شبیه‌سازی را کمی زیاد کرده و مجددا کم کنم اکنون می‌توانید نحوه‌ی تعامل پرنده‌ها با یکدیگر را ببینید. اگر تاکنون این مدل را ندیده بودید تشویق‌تان می‌کنم که برگردید و چندبار به مدل نگاه کنید. اگر مایلید، این مدل در NetLogo موجود است (نِت‌لوگو زبان برنامه‌نویسی است که در طول این دوره از آن استفاده می‌کنیم). نام این مدل در نِت‌لوگو Flocking Model است. اگر در نِت‌لوگو به این مسیر بروید: File-> Models Library-> Biology و سپس روی Flocking Model کلیک کنید می‌توانید این مدل را ببینید. کاری که می‌خواهم انجام دهید، این است که دکمه‌ی setup و go را چندبار بزنید. بدون اینکه به چیز دیگری نگاه کنید. این مدل را کنکاش کنید. از شما می خواهم سعی کنید تا قوانینی را که بر رفتار پرنده ها حاکم استْ استنتاج کنید بگذارید تا اندازه‌ای راهنمایی‌تان کنم: فقط ۳ قانون وجود دارد. و بسیار هم ساده هستند. باشه؟ رنگ پرنده‌ها هیچ ربطی به این قوانین ندارد. رنگ‌ها فقط برای متمایز کردن پرنده‌هاست تا همه‌ی آنها همانند نشان داده نشوند. و همه‌ی پرنده‌ها، دقیقا از همان سه قانون پیروی می‌کنند. هیچ تفاوتی بین قوانینی که پرنده‌ها از آنها پیروی می‌کنند وجود ندارد. باشه؟ در اینجا، می‌خواهم این ویدیو را متوقف کنم. و از شما می‌خواهم که اگر می‌توانید، بر روی یک تکه کاغذ، یا هرچیزی که دم دست‌تان است، مجموعه‌ی سه قانونی که بر این سیستم حاکم است را بنویسید. در جلسات بعدی، به شما خواهم گفت که این قوانین سه‌گانه چه هستند. و اینکه چرا یک راه عالی برای آشنا شدن با مدلسازیِ عامل‌بنیان هستند.