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

40
گزارش ارائه نرم افزارNetLogo ، د رس م ب نظری انی شبکی ا ها ه جتماعی. دکترلهیان حمید عبدالیه ته شده توس ط: ، رامین سلحشبی رضا حبی و ری رضای و مجتبی. انشکده د تهراننشگاهوین، دا نونم و فن علو. 3131 - 3131 _________________ ______________________________________________________________________ تهراننشگاه داوین نونم و فنانشكده علو دسی ارشد دوره کارشناعاتوری اط مهندسی فنا رشتهیش سامانه گراای شبکه ه ای گزارش ارا ئ ه نرم افزارNetLogo درس: نظــری شبکــه مبانــیجتماعــیی ا هاستاد ا دکتر حمیدلهیان عبدال نگارند گان کرهرودیبی رضا حبی مج تبی رضائی رامین سلحشورل اول نیمسا49 - 49

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

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

دانشگاه تهران

دانشكده علوم و فنون نوین

دوره کارشناسی ارشد

رشته مهندسی فناوری اطالعات

ای های شبکه گرایش سامانه

NetLogoافزار ه نرمئگزارش ارا

های اجتماعــی مبانــی نظــری شبکــه: درس

استاد

عبداللهیانحمید دکتر

گاننگارند

رضا حبیبی کرهرودی

تبی رضائیمج

رامین سلحشور

49-49نیمسال اول

1

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

NetLogo چیست؟

NetLogo افزار توسط این نرم. های طبیعی و اجتماعی است سازی پدیده ریزی برای شبیه سازی قابل برنامه یک محیط مدل

.ده استاز آن زمان تا بحال مرتب در حال تکوین و بهینه سازی بونوشته شده و 3333یوری ویلنسکی در سال

NetLogo استمناسب سیاریابند ب می رشد و توسعههای پیچیده که در طول زمان سازی سیستم مدل برایبه طور خاص .

. کنند بدهند که به طور مستقل عمل "کاربرانی"یا "عامل"را به صدها یا هزاران شیوه های اجرا آنتوانند سازان می مدل

شود ممکن در سطح خرد و الگوهای سطح کالن که از تعامل آنها پدیدار میافراد ر کشف ارتباطات بین رفتابدین ترتیب

. گردد می

NetLogo رفتار مطالعه جهت) .نمایند "بازی" آنها با گشوده وها را سازی دهد شبیه می ین امکان رابه دانشجویان ا

دهندگان دانشجویان، اساتید و توسعه به که ودهبافزار یک محیط تألیف همچنین این نرم (ها تحت شرایط مختلف سازی شبیه

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

.رود ها بکار می عین حال به قدری پیشرفته است که به عنوان ابزاری قدرتمند برای پژوهشگران در بسیاری از زمینه

NetLogo ها است که مجموعه بزرگی از از مدل یمخزنهمچنین دارای . ها و مستندات وسیعی است دارای آموزش

به ها سازی این شبیه. نمودتوان آنها را مورد استفاده قرار داد و ویرایش بوده که می ،شده نوشته پیشهای از سازی شبیه

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

. پردازد انشناسی اجتماعی میاقتصاد و رو

NetLogo مشارکتی در کالس درس بنام -سازی تواند یک ابزار شبیه همچنین میHubNet بواسطه . اندازی نماید را راه

جوتگزاس اینسترومنتز، هر دانش یهای نمودار ماشین حساب نظیرتی های دس های شبکه شده یا دستگاه استفاده از کامپیوتر

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

NetLogo سازی چندعامله از جمله های مدل سری زبان بعدینسلStarLogo وStarLogoT باشد می .NetLogo بر

. کند کار می( مکینتاش، ویندوز، لینوکس)اصلی پایه هایمام شود، بنابراین بر روی ت اجرا می 3ماشین مجازی جاواروی

.نماید را پشتیبانی می( Command Line)افزار عملیات مبتنی بر خط دستور همچنین این نرم

.نمائیم ساده شروع می ینیاز است که ابتدا با مدلری اطالعات کلی سبه یکافزار برای شروع کار با این نرم

مهمانی: همدل ساد

1 Java virtual machine

2

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

خود بهنسبت یبینشهمچنین . دهد می از آن رااستفاده نحوهسازی کامپیوتری و در مورد مدل تفکریاین فعالیت به شما

.از اینجا شروع نمایندشود که به کاربران مبتدی پیشنهاد می. پیدا خواهید کرد NetLogoافزار نرم

در یک مهمانی

؟ همچنین شاید توجه کرده باشید توجه نمائیدها افراد در گروهبندی دسته گیچگونکه به اید آیا تا بحال در یک مهمانی بوده

اگر این . دنماین ها تغییر می ، گروهها در رفت و آمدند بین گروهاز آنجا که آنها . مانند که افراد فقط در یک گروه باقی نمی

.هایی گردیدتغییرات را در طول زمان مشاهده نمائید، ممکن است متوجه الگو

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

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

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

. باشد

بندی وجود دارد؟ آیا نوعی الگو برای این نوع گروه

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

"Party" افزار در نرمNetLogo نماید ها نگاه می بندی براساس جنسیت در مهمانی به طور خاص به سؤال گروه :

زن باشند؟ غالباًمرد یا غالباًها تمایل دارند به شکلی درآیند که چرا گروه

.نمائیم مطالعهاین سؤال را NetLogoبیایید با استفاده از

:چه باید بكنید

3. NetLogo ازی نمائیدرا راه اند.

2. "Models Library" را از منویFile انتخاب نمائید.

.را باز نمائید "Social Science"پوشه .1

.نامگذاری شده است کلیک نمائید "Party"بر روی مدلی که .1

.را فشار دهید "open"دکمه .5

.را فشار دهید "setup"دکمه .6

:را خواهید دید های آبی و صورتی با اعدادی قسمت نمایش مدل، گروهدر

3

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

. اند مردان با رنگ آبی و زنان با رنگ صورتی نمایش داده شده. دهد در یک مهمانی را نشان می مختلطهای این خطوط گروه

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

ها دارای تعداد مشابهی از افراد هستند؟ آیا تمام گروه

جنسیت هستند؟ ها دارای تعداد مشابهی از هر آیا تمام گروه

. اند نفر دعوت شده 351بیایید فرض کنیم که یک مهمانی دارید و

فکر . گیرد گروه در مهمانی شکل می 31فرض کنید . دارد اینکه چگونه افراد با هم جمع خواهند شد شما را به تعجب وا می

آنها گروه خواهند شد؟چگونه کنید می

این کامپیوتر که دهید اجازه بندی تصادفی، گروه و آوری جمع برای خود دوستان نزدیکترین نفر از 351 پرسیدن از جای به

.سازی نمائید ما شبیه را برای وضعیت

:چه باید بكنید

.(موجب توقف مدل به صورت دستی خواهد شد "go"فشار دادن مجدد . )را فشار دهید "go"دکمه .3

.تحرکات افراد را تا قبل از توقف مدل مشاهده نمائید .2

.افتد، مشاهده نمائید چه چیزهای دیگری اتفاق مینمودارها را برای اینکه ببینید .1

.اگر نیاز دارید مدل کردن به آهستگی روی دهد از نوار لغزان سرعت استفاده نمائید .1

افراد در هر گروه هستند؟از اکنون چه تعداد

با توجه . شود می گروه هر در نفر 35 حاصل حدود شوند، می گروه تقسیم 31 به نفر 351 هنگامی که فکر کنید شایددر ابتدا،

در ،هشد کوچک بسیار ها گروه از برخی عوض، در. اند نشده تقسیم گروه 31 به مساوی طور به افراد که بینیم می مدل، به

های گروه به انزن و مردان مختلط های گروه از زمان طول در مهمانی همچنین، .ندشد بزرگ بسیار دیگر های گروه حالیکه

.ستا پیدا کرده تغییر جنسیتی-تک

تواند توضیح دهد؟ چه چیزی این مسئله را می

طراح. دهد وجود دارد های واقعی چه چیزی رخ می در اینجا تعداد بسیار زیادی پاسخ برای این سؤال در مورد اینکه در مهمانی

اینکه توسط ها گروه .گیرند نمی شکل تصادفی صورت به تنها مهمانی در ها گروه این تفکر را داشته است که سازی شبیه این

طراح تصمیم گرفته است بر روی متغیری خاص تمرکز نماید، که . گردند می مشخص نمایند، رفتار می مهمانی در چگونه افراد

:نامیده است "tolerance"آن را

4

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

اگر فرد در گروهی باشد .است شده تعریف اند، "راحت"مخالفشان جنس با افرادی که درصد عنوان به اینجا در آستانه تحمل

گشته و "ناراحت"که دارای درصد زیاد افرادی است که جنس مخالف بیشتر از آستانه تحمل اجازه داده شده باشد، سپس آنها

هستند که "راحت"روهایی تنظیم گردد، پس آقایان تنها در گ% 25برای مثال اگر سطح آستانه تحمل . نمایند گروه را ترک می

.آقا در آنها باشد% 25هستند که کمتر از "راحت"هایی تنها در گروهنیز ها ، و خانمودهخانم ب% 25دارای کمتر از

به است ممکن کهکنند می حرکت یجدید های گروه سمت به کنند، ترک می ها را گروه شوند و می "ناراحت" هنگامیکه افراد

در مهمانی در همه تا یابد می ادامه ای زنجیره واکنش این. گردند "ناراحت" ها گروه آن در افراد از برخی شود باعثنوبه خود

.دنباش "راحت" خود گروه

های درصد آستانه تحمل "نوار لغزنده"از تواند می کاربر،. نیست ثابت "آستانه تحمل" مدل، این در که باشید داشته توجه

.چه پیشامدی دارد کنیم آغاز می دوباره و دوباره را سازی مدلکه زمانی دببین ده وامتحان کررا مختلف تحمل

چالش

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

(درصد را زیاد نمائید. )نمایش بکشید عنوان نتیجه نهایی نوار لغزنده آستانه تحمل را به سمت ناحیه

بینید که بر نسبت مردان به زنان در هر گروه تأثیر گذار باشد؟ آیا عوامل یا متغیرهای دیگری می

ها تفكر با مدل

یک سیستم را در روشی دهد به شما این امکان را می ،نظیر مهمانی یوضعیت برای مدل کردن NetLogoاستفاده از

یک مشاهده شما فرصت به سازی همچنین مدل .ریع تجربه نمائید که انجام آن در دنیای واقعی سخت استپذیر و س انعطاف

. نمائید مطالعه را وضعیتیک اساسی پویایی توانید می چنانکه دهد، کمتر می تعصب را با شرایط یا وضعیت

تا کند می کمک NetLogo اینکه چگونه و مفهوم این از تری عمیق درک آوردن دست به و بیشتر های مثال دیدن برای

هایی مدل کتابخانه شامل این. باشید NetLogo کتابخانه های مدل مطالعه به مایل شاید نمایند، مطالعهیادگیرندگان این را

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

ها مدل: بخش اول

. شویم تر می های موجود عمیق نمائیم در مورد ویژگی ها را کاوش می داخل کتابخانه مدلهای که مدل در این بخش در حالی

2 Tolerance

5

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

Wolf Sheep Predation: مدل ساده

3. "Models Library" را از منویFile انتخاب نمائید.

.کلیک نمائید "Open"را برگزینید و سپس بر "Wolf Sheep Predation"مدل "Biology"از بخش .2

به شما Interfaceاین عناصر . شود پر می 6ان پایشگرو 5ها ، لغزاننده1ها ، سوئیچ1ها با تعداد زیادی دکمه Interfaceبرگه

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

. دهند ها را نمایش می بِـژ هستند؛ آنها داده ها ترسیمن و پایشگرا. دهند مدل را تغییر می ها سبز هستند؛ آنها تنظیمات سوئیچ

.برای شروع کار نیاز به تنظیم اولیه مدل دارید

.فشار دهیدرا "Setup"دکمه .3

نمائید؟ چه چیزی در نمای مدل مشاهده می*

.را فشار دهید "go"سازی دکمه برای شروع شبیه .2

افتد؟ ها و گوسفندان می جرای مدل، چه اتفاقی در جمعیت گرگدر هنگام ا*

.را فشار دهید "go"برای متوقف کردن مدل دکمه .1

ها دکمه: مدل کنترل

توانید تفاوت این دو نوع دکمه را در می. باشند( برای همیشه) "forever"یا دکمه ( یکبار) "once"توانند دکمه ها می دکمه

:باشد، مانند شکل زیر دارای دو فلش در گوشه پائین سمت راست می foreverدکمه . ه بفرمائیدنشانه زیر آنها مشاهد

:هیچ فلشی ندارد، مانند شکل زیر onceدکمه

هنگامی که . کند عملی را بارها و بارها تکرار می foreverکه دکمه شود درحالی عملی انجام داده و متوقف می onceدکمه

.مجدداً کلیک نمائیم foreverتوقف کنیم باید بر روی دکمه بخواهیم عمل را م

سرعت لغزاننده: سرعت کنترل

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

3 Buttons

4 Switches

5 Sliders

6 Monitors

7 Plots

6

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

تری مکث طوالنی( گام زمانی)براین بین هر تیک گردد و بنا دهید، مدل کند می که لغزاننده را به سمت چپ حرکت می هنگامی

.افتد تر ببینید که دقیقاً چه اتفاقی در مدل می شود که راحت اینکار باعث این می. گردد ایجاد می

ها ها و سوئیچ لغزاننده: تنظیم و تعدیل تنظیمات

برای دیدن اینکه چگونه . نمائید مطالعههای مختلفی را دهد که سناریوها یا نظریه تنظیمات مدل به شما این امکان را می

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

Wolf Sheep Predation مدل در ها لغزاننده و ها سوئیچ زیر شکل در .دهند می را مدل تنظیمات به دسترسی ها لغزاننده و ها سوئیچ

:بینید را می

ها پایشگرها و نمودار: آوری اطالعات جمع

همچنین دارای NetLogo. افتد دهد که ببینید در مدل چه اتفاقاتی می به شما امکان این را می( نمایش) viewبخش

.باشد های دیگری نظیر نمودارها و پایشگرها برای دادن اطالعات در مورد مدل اجرا شده می روش

دارهانمو

شمارش علوفه تقسیم بر ) 1/ ها، و علوفه گوسفند، گرگ: شامل سه خط است Wolf Sheep Predationنمودار در مدل

راهنمای . دهد چه اتفاقاتی در طول زمان در مدل افتاده است خطوط نشان می.( چهار شده است تا نمودار خیلی بلند نشود

افزار ها را از نمودار برای مشاهده یا تجزیه و تحلیل در نرم اگر بخواهید داده. تدهد که هر خط نمایانگر چیس نمودار نشان می

گردند های نمودار در فرمتی ذخیره می داده .نمائیداستفاده "Export Plot"و از گزینه "File"دیگر ذخیره نمائید، از منوی

. سل خوانده شوندگسترده مثل اک ای و صفحه داده های پایگاه توان توسط برنامه می که

انپایشگر

:بینید میرا Wolf Sheep Predationدر مدل اندر شکل زیر پایشگر .نمایش اطالعات مدل هستندابزار دیگر انپایشگر

7

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

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

.دهند ها را در تمام دوره اجرای مدل نمایش می نماید، در حالیکه نمودارها به شما داده گردد تغییر می ا میمدل اجر

کنترل نمایش

. دارند( view)ها نمودی در نمایش برخی از کنترل. بینید ها می ، نوار ابزاری از کنترلInterfaceدر برگه

هنگامی . را غیرفعال نمائید "view updates"است سرعت اجرا گردد، کافیخواهید مدلی به حوصله هستید و می اگر شما بی

به اجرا ادامه داده و نمودارها و پایشگرها همچنان در پشت زمینه روز رسانی نمایش به طور کامل غیرفعال است، مدل که به

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

:گردد اندازه صفحه نمایش توسط پنج تنظیم جداگانه تعیین می

min-pxcor, max-pxcor, min-pycor, max-pycor, and patch size

.را از نوار ابزار فشار دهید "…Settings"دکمه *

:گردد ه میای شامل تمامی تنظیمات برای صفحه نمایش گشود پنجره محاوره

8

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

min-pycor, max-pycor برای مشخص کرده طول و از min-pxcor, max-pxcor گردد از همانطور که در شکل باال مشاهده می

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

.باشد می (x,y) که در اینجا به صورت زوج مرتبکند مختصات تعیین می استفاده از

.توان آن را برای مشاهدات کوچک و بزرگ نمود که می دهنده اندازه پنجره صفحه نمایش است ، نشانpatch size در آخر

دستورات: بخش دوم

9

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

آوری اطالعات از و جمع ها ها و سوئیچ ها، تغییر لغزاننده ادن دکمهها، فشار د تا کنون راه خود را از طریق گشودن و اجرای مدل

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

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

.توانیم تغییر دهیم آیند را می به نظر ها چگونه اینکه مدل

ترافیک پایهمدل : مدل نمونه

*Models Library را بگشائید ( . از منویFile )

*Traffic Basic را از پوشه"Social Science" باز نمائید.

.برای بدست آوردن احساسی نسبت به مدل آن را اجرا نمائید*

.مراجعه نمائید( info)اطالعات برای هر سوالی که دارید به برگه*

یزمینه مشکی رنگ با خیابان ترافیک توجه نمائید، ممکن است متوجه شوید که محیط نسبتاً ساده است؛ پس به مدل پایه

تغییر رنگ و شکل : ه مدل اعمال نمود، شاملبتوان تغییراتی که می. و یک ماشین قرمزرنگ سفید و تعدادی ماشین آبی

به منظور افزایش ظاهر مدل، برخی از این تغییرات . باشد یا حتی ایجاد خط دیگری از ترافیک میافزودن نور خیابان، ها، ماشین

تمرکز ما بیشتر بر روی تغییرات ساده یا زیبا سازی در . پیشنهاد شده بصری هستند، در حالی که بقیه بیشتر رفتاری هستند

. طول این آموزش خواهد بود

مرکز دستورات

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

، (turtles)ها گره: بدهید NetLogoهای توانید به عامل هایی هستند که شما می دستورات، دستورالعمل. را وارد نمائید

(observer)و ناظر ( links)ها ، یال(patches)مسیرها

:در مدل پایه ترافیک

.را فشار دهید "Setup"دکمه *

.مرکز دستورات را بیابید*

.با موس در باکس سفید رنگ مرکز دستورات کلیک نمائید*

:دستور زیر را وارد نمائید*

.را فشار دهید Enterسپس کلید *

. تغییر کردزرد ام مسیرها به رنگ نمائید با اجرای این دستور تم همانطور که مشاهده می

11

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

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

.شود که رنگشان به زرد تغییر پیدا نماید می

.کنید کلیک "< observer"در مرکز دستورات، در گوشه پائین سمت چپ بر روی *

*"turtles" را از منوی باز شده انتخاب نمائید.

*set color pink را تایپ نموده وEnter را فشار دهید.

.را در گوشه پائین سمت چپ ببینید "patches"را فشار داده تا tabکلید *

*set pcolor red را تایپ نموده وEnter را فشار دهید.

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

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

ها کار با رنگ

colorو pcolor: برای تغییر رنگ استفاده کردیماگر در بخش قبلی توجه کرده باشید ما از دو کلمه متفاوت

از ( patches)و برای تغییر رنگ مسیرها colorاز (turtles)ها همانطور که در مثال قبل دیدید برای تغییر رنگ گره

pcolor گرداند افزار خطایی را برمی در صورت کاربرد اشتباه این دستورات نرم. نمائیم استفاده می.

ها بوده و برخی دیگر مخصوص مسیرها برخی دستورات و متغیرها مخصوص گره. نامیم را متغیر می pcolorو colorما

. دباش می

را انتخاب color swatchesگزینه Toolsتوانید استفاده نمائید، از منوی هایی که می برای مشاهده لیست کلی کد رنگ

. نمائید

11

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

راه دیگری نیز برای تنظیم . باشند ان با نام آنها تنظیم کرده و بقیه نیز دارای کد میتو ها را می مطابق شکل یک سری از رنگ

شود دو درجه روشنائی از رنگ قرمز که اینکار باعث می set color red – 2اینکه مثالً بگوئیم . باشد کد رنگ می

. گردد نایی رنگ میدر واقع کم و زیاد کردن عدد از رنگ خاصی باعث کم و زیاد شدن روش. کاسته شود

ها های عامل پایشگران و دستور نویس

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

.اصلی قرمز رنگ نمائیم، باید از روشی دیگر استفاده نمائیم

*"Setup" جدد مدل فشار دهیداندازی م را برای راه.

.بر روی ماشین قرمز رنگ کلیک سمت راست نمائید*

های بیشتری را مشاهده مورد نظر، گره دیگری وجود داشته باشد، در پائین منو لیست گره( ماشین)اگر در نزدیک گره *

ای نشان گره به صورت برجسته مشاهده خواهید کرد که در صفحه نمایش. ها جابجا نمائید موس را بر روی اسم گره. نمائید می

.را برای گره قرمز انتخاب نمائید "inspect turtle"از زیر منو . داده خواهد شد

:گردد ناظر گره برای آن ماشین ظاهر می

12

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

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

نمایش دکمه صفحه توانید برای نمایش این گره بر روی نمایی کرده و می کوچک، بزرگنمایی و کوچک نمایش زیرِ ی لغزاننده

"watch-me" را فشار دهید.

.های متعلق به عامل را مشاهده نمائید توانید تمامی متغیر عامل، می پایشگرتر بر با نگاهی دقیق

colorمتن کنار کادریکی اینکه در روبروی . گره از دو طریق اقدام نمائید پایشگرتوسط تغییر رنگ گره،برای توانید مثالً می

را set color pink گره، پایشگر از عامل دهنده دستور در اینکه یا ادهد فشار را Enter و کرده تایپ را جدید رنگ کد یا نام

. تایپ نمائید

تایپ inspect turtle 0 مثالً دستورات مرکز در گره شماره دانستن با که دارد وجود گره پایشگر همشاهد برای نیز دیگری راه

.نمائید

13

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

هارویه: بخش سوم

.نماید از طریق فرایند ساخت یک مدل کامل با توضیح هر گام در طی مسیر شما را راهنمایی می بخشاین

ها عوامل و رویه

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

Codeبرگه : اید آماده شده NetLogoبرای یادگیری در مورد قلب واقعی یک مدل

تقسیم ( observer)و ناظر ( links)ها ، یال(turtles)ها ، گره(patches)به مسیرها NetLogoهمانطور که دیدید عوامل در

ها دو ها بر روی شبکه حرکت نموده و یال گره. اند مسیرها غیرقابل تغییر بوده و بر روی یک شبکه نظم داده شده. گردند می

ها توانایی ها، مسیرها و یال دهد نظارت کرده و هر آنچه که گره هر آنچه را که روی میبر ناظر .نمایند گره را بهم متصل می

همچنین هر . را اجرا نمایند NetLogoتوانند دستورات هر چهار نوع عامل می .دهد ود ندارند، انجام میانجام آن را برای خ

جدید که واحد را به یک دستور NetLogoیکسری از دستورات رویهیک . را اجرا نمایند "ها رویه"توانند چهار نوع عامل می

. نماید اید، ترکیب می شما تعریف کرده

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

.ها را یاد خواهید گرفت ها و نمودار ایجاد پایشگران، لغزاننده

انداز راهساخت دکمه

:انداز شروع نمائید کمه راهسپس با ایجاد د. انتخاب نمائید Fileرا از منوی "New"برای شروع یک مدل جدید،

.را کلیک نمائید Addآیکون interfaceاز نوار ابزار باالی برگه -3

.را انتخاب نمائید Add ،Buttonدر منوی باز شده بعد از -2

.خواهید پدیدار گردد، کلیک نمائید که می interfaceدر هر کجای ناحیه خالی سفید از برگه -1

تایپرا setup خورده است، "Commands" ای که برچسب در جعبه. شود ای باز می عبه محاورهج ،برای ویرایش دکمه -1

.نمائید

.ای بسته شود کلیک کنید تا جعبه محاوره OKهنگامی که کار انجام شد بر روی دکمه -5

نمائیم، اما از آنجایی که یف میرا تعر انداز رویه راهبه زودی . گردد اجرا می "setup"ای به نام با فشار دادن دکمه، رویه

:باشد انداز وجود ندارد، دکمه قرمز رنگ می ای برای دکمه راه اکنون رویه

8 Setup button

14

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

:گردد را ایجاد نمائیم، که با این کار خطای اعالم شده از طرف برنامه نیز برطرف می "انداز راه"خواهیم رویه میحال

.شویم جابجا می 3به برگه کدنویسی*

(شود بعد از تایپ دستورات، کد به شکل زیر نمایش داده می) :زیر را تایپ نمائیددستورات * to setup

clear-all

create-turtles 100 [ setxy random-xcor random-ycor ]

reset-ticks

end

این کار . باشد ن نوع کدنویسی مفید میبرای اکثر افراد ای. هایی است توجه داشته باشید بعضی از خطوط دارای تو رفتگی

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

.یابند ها با این کلمات شروع شده و خاتمه میتمام رویه. است یافتهخاتمه endشروع شده و با toرویه باال با

:دهد اری انجام میایم و هر خط رویه چه ک حال بیایید ببینیم چه تایپ کرده

to setup شروع تعریف یک رویه به نام"setup" باشد می.

دستورclear-all ، تمام مسیرها سیاه گردیده و . نماید تنظیم میدوباره جهان مدل را به حالتی ابتدایی و تهی

ی مدلی جدید کل محیط برای اجرااین تکه کد، اجرای با اساساً، . گردد ای که ایجاد کرده بودید، ناپدید می هر گره

.خواهد شدپاک

دستورcreate-turtles 100 شروع آنها از نقطه اصلی، که مرکز مسیر .کندرا ایجاد می گره 311تعداد

. باشد، خواهد بود می( 1و1)

setxy random-xcor random-ycor کندمی تعیین را دارند حرکت اجازه ها گره که فضایی داابع که دستوری.

yو xها به صورت تصادفـی در محـور فرمائید با این دستور موقعیت مکانی گره همانطور که مشاهده میالبته

.گردد تنظیم می

reset-ticks نماید شروع به شمارش زمان می.

end تعریف رویه"setup" نماید را تکمیل می.

9 Code tab

15

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

انداز را که قبال درست کرده بودیم را و دکمه راه جابجا شده Interface برگههنگامی که تایپ دستورات به اتمام رسید، به

:گردند ها در جهان مدل پراکنده می خواهید دید که گره. دهیم فشار می

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

.دین گره بر روی یکدیگر قرار گرفته باشندداشته باشید که ممکن است چن

کند یک گام کار میبا اید تنها ای اکنون ساخته دکمه. در مورد اینکه چه چیزهایی برای اتفاق افتادن نیاز است کمی فکر کنید

ی مجزای ها گام سازی، شبیه های پیش دیدیم، اغلب به منظور همانطور که در بخش. نماید و تنها مدل اولیه را ایجاد می

. استهای دیگر به مدل نیاز بیشتری برای افزودن ویژگی

ساخت دکمه اجرا

:نداز است را دنبال نمائید مراحل زیر که شبیه ساخت دکمه راه. سازیم نام دارد را می "go"ای که حال دکمه

.را تایپ نمائید Setup ،goبه جای Commandsدر قسمت *

. را تیک بزنید "Forever"در پنجره باز شده گزینه *

.نیز تیک بزنید را "Disable until ticks start"گزینه *

10 go button

16

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

که اجرای برنامه تا زمانی .گردند شود و دستورات به طور مکرر اجرا می با یکبار فشار، دکمه نگه داشته می "Forever"گزینه

. ، متوقف نخواهد شدبه نتیجه خاصی نرسیده باشد اید همجدداً روی دکمه اجرا کلیک ننموده یا طبق دستوری که در کد نوشت

.نماید جلوگیری می "انداز راه"را قبل از دکمه "اجرا"از فشار دادن دکمه "Disable until ticks start "گزینه

:نمائیم اضافه می Codeسپس رویه اجرا را در برگه *

to go move-turtles tick end

*tick نماید هر تیک، افزوده می ی ور ابتدایی است که به شمارندهیک دست.

بلکه ،باشدمین Netlogoاز پیش نوشته شده در ای در واقع رویهکه در ادامه خواهید دید، move-turtlesدستور *

. ای دیگر است که شما باید آن را به برنامه اضافه نمائید رویه

:اضافه نمائید goرا پس از رویه move-turtlesرویه *

to go move-turtles tick

end to move-turtles ask turtles [ right random 360 forward 1 ] end

که در بخش قبل دیدید که از وجود ندارد، در صورتی move-turtlesای در اسم رویه توجه داشته باشید که هیچ فاصله

red – 2 در واقع دو واژه . کم کردن عددی از رنگ استفاده شدبرای"move" و"turtles" ، به ،بدون فاصله "-"با

. گردند واحد ترکیب می ینام

17

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

:باشد دهد، به شرح زیر می چه کاری انجام می move-turtlesاینکه هر دستور در رویه

*ask turtles [ ... ] دـرا نماینـت را اجـل براکـورات داخـدستا ـه رهـام گـد تمـه بایـد کـگوی یـم.

right random 360 تخصیص یافته و 153تا 1دستور دیگری است که به هر گره به طور تصادفی عددی بین

.نماید میبه سمت راست دوران درجه، به آن میزان

*forward 1 برد گره را یک گام در مسیر به جلو پیش می.

نویسیم و به نحوی تنها به ها را مستقیماً داخل خود رویه اجرا نمی د این است که چرا تمام رویهآی سؤالی که در ذهن پیش می

برای همین . های دیگری خواهید داشت سازی شما بسیاری قسمت در ادامه خواهید دید که برای یک شبیه. دهیم آن ارجاع می

. ان گرددنمائیم تا درک آن آس شود رویه اجرا را ساده می تا آنجا که می

مسیرها و متغیرها

بیایید توسط دادن پس . گره بدون هدف خاصی و کامالً ناآگاه از دیگر چیزهای اطرافشان در حال حرکت هستند 311اکنون

. تر نمائیم ای کمی محیط را جذاب زمینه

:توانیم آن را به صورت زیر بازنویسی نمائیم انداز برگشته و می به رویه راه

to setup clear-all setup-patches setup-turtles reset-ticks end

:کد زیر را اضافه نمائید setup-patchesبرای تعریف . دهد انداز به دو رویه جدید ارجاع می تعریف جدید رویه راهto setup-patches ask patches [ set pcolor green ] end

.نماید ع مدل رنگ تمام مسیرها را سبز میدر شرو setup-patchesرویه

:رویه زیر را نیز اضافه نمائید. باشد می setup-turtlesانداز جدید باقی مانده است، تعریف تنها قسمتی از رویه راهto setup-turtles create-turtles 100 ask turtles [ setxy random-xcor random-ycor ]

end

.برگردید Interfaceبه برگه *

.انداز را فشار دهید دکمه راه*

11

Patches and variables

18

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

:رسد ها و مسیرهای سبز به نظر می با شکوه کاملی از گره ای NetLogoانداز چشم

متغیرهای گره

بیایید چند تعامل بین . کنند بدون اینکه کار خاصی انجام دهند خوب، تا اینجا یکسری گره داریم که روی یک فضا حرکت می

. ، زاد و ولد نموده و بمیرند(مسیرهای سبز)خورند "علف"ها در ادامه کاری خواهیم کرد که گره. ها اضافه نمائیم مسیرها و گره

.گردند ها نیز بتدریج پس از خورده شدن، مجدداً سبز می علف

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

برای ایجاد یک متغیر جدید برای . برای این کار نیاز به متغیری جدید داریم. گیری نمائیم دارد، در این مورد تصمیم "انرژی"

ن را مثالً در اینجا نام آ. و نام متغیر در جلوی آن را اضافه نمائید turtles-own، عبارت codeها، باید در باالی برگه گره

"Energy" بنامید:

turtles-own [energy]

to go move-turtles eat-grass tick end

.استفاده نمائیمها دادن امکان خوردن به گرهبرای "Energy" جدید بیائید از متغیر

.بروید Codeبه برگه *

:رویه اجرا را به صورت زیر بازنویسی نمائید* to go move-turtles eat-grass tick end

12

Turtle variables

19

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

:را اضافه نمائید eat-grassرویه جدید * to eat-grass ask turtles [ if pcolor = green [ set pcolor black set energy energy + 10 ] ] end

هر گره، هنگامی که این دستورات اجرا . به کد با دقت نگاه نمائید. یماستفاده نمود ifدر اینجا برای اولین بار از دستور

اگر مسیر سبز بود، . نماید مقایسه می greenرا با مقدار ( pcolor)گردند، مقدار رنگ مسیری که روی آن هست می

در غیر ). نماید می ، و این تنها زمانی است که گره دستورات داخلی براکت را اجرا(صحیح است)است trueخروجی مقایسه

اش گردند که گره رنگ مسیر را به سیاه تغییر داده و انرژی دستورات داخل براکت باعث می.( گیرد ها را نادیده می اینصورت آن

گره هم با . کند تا نشان دهد که علف در آن نقطه خورده شده است مسیر به رنگ سیاه تغییر پیدا می. واحد افزایش یابد 31

. نماید انرژی بیشتری کسب میخوردن علف

.نمائیم شان استفاده می ها از قسمتی از انرژی در ادامه برای حرکت گره

:نمائیم را بازنویسی می move-turtlesرویه

to move-turtles ask turtles [ right random 360 forward 1 set energy energy - 1 ] end

. دهد حرکت گره، یک واحد از انرژی خود را از دست می در هر

.انداز و سپس دکمه اجرا را فشار دهید برگردید و دکمه راه Interfaceاکنون به برگه *

.گردند ها بر روی آنها سیاه می خواهید دید که مسیرها با پیمایش گره

21

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

پایشگران

:بیایید اولین پایشگر را بسازیم. نمودخواهیم ایجاد Interfaceدر برگه در ادامه دو پایشگر با استفاده از نوار ابزار

.ایجاد نمائید ن در نوار ابزار و انتخاب پایشگرپایشگری توسط کلیک بر روی افزودن آیکو*

. روی یک نقطه یا قسمت خالی کلیک نمائید Interfaceدر ادامه، برای جایگذاری پایشگر بر روی صفحه

:ای ظاهر خواهد شد هپنجره محاور

.(تصویر زیر را مشاهده فرمائید. )تایپ نمائید count turtlesاز پنجره محاوره Reporterدر قسمت *

. را فشار داده و پنجره را ببندید Okدکمه *

turtles همچنین . باشد ها می مجموعه تمام گرهcount وجود دارداین مجموعه گوید چند عامل در به ما می.

:حال بیائید دومین پایشگر را بسازیم

.پایشگری توسط کلیک بر روی افزودن آیکون در نوار ابزار و انتخاب پایشگر ایجاد نمائید*

. روی یک نقطه یا قسمت خالی کلیک نمائید Interfaceدر ادامه، برای جایگذاری پایشگر بر روی صفحه

:اهد شدای ظاهر خو پنجره محاوره

تصویر . )تایپ نمائیدرا count patches with [pcolor = green]از پنجره محاوره Reporterدر قسمت *

.(زیر را مشاهده فرمائید

.را تایپ نمائید green patchesاز پنجره محاوره ( نام نمایشی) Display nameدر قسمت *

. ا ببندیدرا فشار داده و پنجره ر Okدکمه *

21

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

مجموعه Patches. مان هستند، استفاده کردیم برای اینکه بدانیم چند عامل در مجموعه عوامل countدر اینجا دوباره از

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

کند، را مجموعه عواملی که تنها شرط داخل براکت برای آنها صدق می. نماید چگونه عمل می withیم حال ببین. باشد می

.یعنی تنها مسیرهایی را به ما بدهد که سبز رنگ هستند pcolor = greenشرط . نماید تر می کوچک

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

.به محض اجرای مدل، اعداد در پایشگرها به طور خودکار تغییر خواهند کرد. مان را پیگیری نمائیم اتفاقات داخل مدل

ها ها و برچسب سوئیچ

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

گردند، غیرفعالو فعالآن این اطالعات اضافی توسطاکنون با افزودن سوئیچی که .ها مشاهده نمائیم ها را در تمام زمان گره

.انجام خواهیم دادچنین کاری را

.کلیک نمائید( Interfaceدر برگه )بر روی افزودن آیکون از روی نوار ابزار

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

.آن را بگشائید Interfaceبر روی یک نقطه یا قسمت خالی از صفحه *

.گردد ای ظاهر می پنجره محاوره

فراموش نکنید عالمت سؤال را به نام اضافه . را تایپ نمائید( بده انرژی؟ نشان) ?show-energy، 31در قسمت متغیر عمومی

.(شاهده بفرمائیدتصویر زیر را م. )نمائید

.گردیم باز می "go"از نوار ابزار و به رویه Codeاکنون به برگه

:نمائیم را به شکل زیر بازنویسی می eat-grassرویه to eat-grass ask turtles [ if pcolor = green [ set pcolor black set energy energy + 10 ] ifelse show-energy? [ set label energy ] [ set label "" ] ] end

13

Global variable

22

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

گردد، هنگامی که این دستور جدید اجرا می. به کد کامالً دقت نمائید. نماید را معرفی می ifelseدستور eat-grassرویه

عال باشد، مقایسه صحیح بوده و گره دستورات داخلی اولین اگر سوئیچ ف. نماید می مطالعهرا ?show-energy هر گره، مقدار

سوئیچ )اگر مقایسه ناصحیح . یابد در این مورد، مقادیر انرژی به برچسب هر گره تخصیص می. نماید مجموعه براکت را اجرا می

ها حذف ن برچسبدر این مورد، متو. نماید باشد، سپس گره دستورات داخلی دومین مجموعه براکت را اجرا می( غیرفعال

.خواهند گردید

.(انداری مجدد نموده و اجرا نمائید در ابتدا مدل را راه. )آزمایش نمائید Interfaceاین سوئیچ را در برگه *

.را فعال و غیرفعال نموده تا اثرات آن را مشاهده فرمائید ?show-energyسوئیج

ها حرکت هر زمان که گره. مشاهده خواهید کرد نعلف خورد اربدر هر را ، انرژی هر گره است هنگامی که سوئیچ فعال

.کنند، کاهش انرژی آنها را نیز خواهید دید می

9 ترسیم کردن

دادن برخی دستورات در داخل آن نیاز و جای Interfaceبرای ترسیم کردن کارکردی از مدل، به ایجاد یک ترسیم در برگه

. داریم

و رویه اجرایی ما reset-ticksانداز ما دهیم به صورت خودکار هنگامی که رویه راه ای میها ج دستوراتی که داخل ترسیم

tick گردد زنند، اجرا می را صدا می.

و کلیک بر روی یک نقطه یا ( ترسیم) Plotیک ترسیم توسط کلیک بر افزودن آیکون بروی نوار ابزار، بعد از آن انتخاب

.اد نمائیدایج Interfaceقسمت خالی از صفحه

.(تصویر را مشاهده نمائید. )گذارید "Totals"نام آن را *

14

Plotting

23

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

.مشخص نمائید "totals"ها را با برچسب Yو محور "time"ها را با برچسب Xمحور *

.تغییر دهید "turtles"به "default"از Penنام را در قسمت *

.را وارد نمائید under Pen Update Commands" plot count turtles"در زیر قسمت *

.ها را همانند شکل زیر پر نمائید ادامه قسمت*

.را فشار دهید OK برای اتمام ویرایش پنجره ترسیم،

.نمائیم اندازی نموده و اجرا می مدل را مجدداً راه*

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

.نمودار خودش را با فضای کادر تنظیم کند ،شودمی سببدر شکل باال ?Auto Scaleدقت داشته باشید که انتخاب گزینه

.را تیک زنید "?Show legend"توانید ترسیم را ویرایش کرده و گزینه اگر یادتان رفت که کدام خط، کدام است، می

24

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

که از طریق آدرس زیر قابل است مفصلیدارای راهنمای کاربری NetLogoافزار این گزارش باید یادآور شد که نرم در انتهای

:باشد می انلودد

http://ccl.northwestern.edu/netlogo/docs/NetLogo%20User%20Manual.pdf

است، به این گزارش ائی و حبیبی تهیه گردیدهکه توسط آقایان رض NetLogoافزار همچنین دو نمونه کار انجام شده با نرم

.گردد پیوست می

25

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

Netlogoسازی شیوع ویروس با گزارش مدل: پیوست شماره

مجتبی رضائی: نگارنده

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

35به نام Netlogoای های کتابخانهسازی شیوع بیماری از مدل در اینجا برای مدل. دست پیدا کردepiDem Basic استفاده

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

شود کسی که به ویروس مبتال شد پس از طی طول درمان بهبود یافته و بدنش ن مدل فرض میدر ای. ها وجود نداردآدم

ها با احتمال یکسانی با شود که آدمهمچنین فرض می. شودشود و دیگر با آن ویروس بیمار نمینسبت به ویروس مقاوم می

.یکدیگر مالقات و ارتباط دارند

ها مبتال به ویروس باشند و سپس با پارامترهای دیگر که قابل تغییر هستند آدم% 5در این مدل در ابتدای کار قرار است

باعث شروع goفشردن دکمه . کنیماستفاده می Setupبرای تنظیم این پارامترها از دکمه . سازی کرد توان جهان را مدل می

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

:نشان داده شده است عبارتند از 3شکل

Initial-people :قابل تغییر است 111تا 51سازی است که از های شرکت داده شده در شبیهتعداد آدم.

Infection-chance :قابل تغییر است 311تا 31کننده شانس سرایت ویروس از فردی به فرد دیگر است که از مشخص.

Recovery-chance :اش را بدست آوردنشان دهنده احتمال این است که فرد بیمار بتواند سالمتی.

Average-recovery-time :کشد تا فرد مبتال به ویروس درمان شودمتوسط زمانی است که طول می.

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

Cumulative infection and recovered :هایی اند و آدمهایی که مبتال به ویروس شدهنمودار درصد کل آدم

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

Population :دهدهای بیمار و غیر بیمار را نشان مینمودار تعداد کل آدم.

Infection and recovery rate :ها را ها و همچنین نرخ درمان آدماین نمودار نرخ گسترش ویروس در بین آدم

.دهدنمایش می

R0 :ها استتخمینی از نرخ احیای آدم.

15 Epidemiology: Understanding Disease Dynamics and Emergence through Modeling

26

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

پارامترهای تاثیرگذار روی مدل -3شکل

ه نتایج متفاوتی بدست آمد که در نمایش داده شده است با تغییر پارامترهای گفته شد 5و 1، 1، 2های همانطور که در شکل

.نمودارهای مربوطه نشان داده شده است

شود ها بیشتر میآمده هرچه تعداد آدمدستطبق نتایج به. دهدها در تکثیر ویروس را نشان میتأثیر افزایش تعداد آدم 2شکل

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

ر تکثیر ویروسها دتأثیر افزایش تعداد آدم -2شکل

27

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

.دهدتاثیر میزان شانس بهبودی و مدت زمان درمان را در این مدل نشان می 9و 9شكل

درمان زمان مدت و یبهبود شانس زانیم ریثأت -1شکل

درمان زمان مدت و یبهبود شانس زانیم ریثأت -1شکل

.گذاردتأثیر میزان نرخ ابتال به ویروس را در این مدل به نمایش می 5شكل

روسیو به ابتال نرخ زانیم ریتاث -5 شکل

28

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

سازی شیوع ویروس کد برنامه مدل

globals

[

recovery-time ;; Time (in hours) it takes to recover from the infection nbInfected-previous ;; Number of infected people at the previous tick betaN ;; The average number of new secondary infections per infected this tick gamma ;; The average number of new recoveries per infected this tick r0 ;; The number of secondary infections that arise due to a single infected introduced in a wholly susceptible population ]

turtles-own

[

infected? ;; If true, the person is infected cured? ;; If true, the person has lived through an infection. They cannot be re-infected.

susceptible-0 ;; Initial number of susceptible people infection-length ;; How long the person has been infected nbInfected ;; Number of secondary infections caused by an infected person at the end of the tick nbRecovered ;; Number of recovered people at the end of the tick ]

;;; ;;; SETUP PROCEDURES

;;;

to setup

clear-all setup-people reset-ticks end

to setup-people

create-turtles initial-people [ setxy random-xcor random-ycor set cured? false set infected? false set susceptible-0 1

set shape "person" set color white

;; Set the recovery time for each agent to fall on a normal distribution around average recovery time set recovery-time random-normal average-recovery-time average-recovery-time / 4

;; make sure it lies between 0 and 2x average-recovery-time if recovery-time > average-recovery-time * 2 [ set recovery-time average-recovery-time * 2 ] if recovery-time < 0 [ set recovery-time 0 ]

;; Each individual has a 5% chance of starting out infected if (random-float 100 < 5) ;; to mimic true KM conditions use "ask one-of turtles" instead

[ set infected? true set susceptible-0 0 set infection-length random recovery-time ] assign-color ] end

;; Different people are displayed in 3 different colors depending on health ;; White is neither infected nor cured (set at beginning) ;; Green is a cured person

29

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

;; Red is an infected person to assign-color ;; turtle procedure

if infected?

] set color red ]

if cured?

] set color green ] end

;;;

;;; GO PROCEDURES

;;;

to go

if all? turtles [ not infected ? ] ] stop ]

ask turtles ] move

clear-count ]

ask turtles with [ infected ? ] ] infect

maybe-recover ]

ask turtles ] assign-color

calculate-r0 ]

tick end

;; People move about at random.

to move ;; turtle procedure

rt random-float 360 fd 1 end

to clear-count

set nbInfected 0 set nbRecovered 0 end

;; Infection can occur to any susceptible person nearby to infect ;; turtle procedure

let nearby-uninfected (turtles-on neighbors) with [ not infected? and not cured? ]

if nearby-uninfected != nobody ] ask nearby-uninfected

] if random-float 100 < infection-chance

] set infected? true set nbInfected (nbInfected + 1) ] ] ] end

to maybe-recover

set infection-length infection-length + 1

;; If people have been infected for more than the recovery-time

;; then there is a chance for recovery

if infection-length > recovery-time [ if random-float 100 < recovery-chance ] set infected? false set cured? true

31

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

set nbRecovered (nbRecovered + 1)

] ] end

to calculate-r0

let new-infected sum [ nbInfected ] of turtles let new-recovered sum [ nbRecovered ] of turtles set nbInfected-previous ((count turtles with [infected?]) + new-recovered - new-infected) ; ;; Number of infected people at the previous tick

let susceptible-t (initial-people - (count turtles with [infected?]) - (count turtles with [cured?])) ; ;; Number of susceptibles now

let s0 sum [susceptible-0] of turtles ;; Initial number of susceptibles

ifelse nbInfected-previous < 10 ] set betaN 0 ]

[ set betaN (new-infected / nbInfected-previous) ;; This is betaN, the average number of new secondary infections per infected per tick

]

ifelse nbInfected-previous < 10 ] set gamma 0 ]

[ set gamma (new-recovered / nbInfected-previous) ;; This is the average number of new recoveries per infected per tick

]

if ((initial-people - susceptible-t) != 0 and (susceptible-t != 0)) ;; Prevent from dividing by 0

] set r0 (ln (s0 / susceptible-t) / (initial-people - susceptible-t))

;; This is derived from integrating

dI / dS = (beta*SI - gamma*I) / (-beta*SI)

set r0 r0 * s0 ] ;; Assuming one infected individual introduced in the beginning, and hence counting I(0) as negligible,

end

;; we get the relation

;; N - gamma*ln(S(0)) / beta = S(t) - gamma*ln(S(t)) / beta, where N is the initial 'susceptible' population

;; Since N >> 1

;; Using this, we have R_0 = beta*N / gamma = N*ln(S(0)/S(t)) / (K-S(t))

31

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

Netlogoسازی تحلیل ترافیک پایه با گزارش مدل: پیوست شماره

رضا حبیبی: نگارنده

مقدمه

ها و پیچیدگی روز افزون آنها نیاز است آنها را تحلیل نموده و نقاط ضعف و قوت آنها را شناسایی با توجه به گسترش شبکه

با استفاده . امروزه با توجه به تردد حجم عظیم وسائل نقلیه در شهرها مدیریت ترافیک از اهمیت زیادی برخوردار است. نمائیم

. نمائیم سازی می ها در بزرگراه را مدل و استفاده از کتابخانه قوی که دارد، به عنوان نمونه حرکت ماشین NetLogoافزار از نرم

ی را برگزیده و در آنجا از پوشه "Models Library"گزینه "File"ر را اجرا کرده و از منوی افزا کار ابتدا نرم برای این

Social Science مورد ،Traffic Basic گشائیم را انتخاب نموده و می.

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

(. accelerates)گیرد اش نباشد، شتاب می و اگر ماشینی در نزدیکی( decelerates)دهد آهستگی کاهش می

ها شکل ها، یا واژگون شدن کامیون بندان حتی بدون هرگونه تصادف، خرابی پل تواند راه دهد که چگونه می می مدل نشان

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

چگونگی استفاده از این مدل

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

Number را تنظیم نمائید .

نمایند، دور رکت میتوجه داشته باشید که آنها همانطور که ح. کلیک کنید goها بر روی دکمه برای شروع حرکت ماشین

.باشد ای پیوسته می گردند، بنابراین جاده شبیه حلقه می( سازی فضای شبیه)جهان

کنترل Accelerationهنگامی که ماشینی نزدیکشان نیست توسط لغزاننده ( افزایش سرعت)ها نرخ شتاب ماشین

.رسد بیشینه میهرچه این پارامتر بیشتر باشد ماشین با شتاب بیشتری به سرعت . گردد می

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

تری سرعت را هرچه این پارامتر کمتر باشد ماشین با عکس العمل مناسب. قابل کنترل است Decelerationلغزاننده

.گردد کم می کاهش داده و احتمال تصادف و ایجاد ترافیک

32

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

فرض نمایی از مدل ایجاد شده به صورت پیش -3شکل شماره

فرض بعدی از مدل ایجاد شده به صورت پیش نمایی سه -2شکل شماره

33

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

موارد قابل توجه راجع به مدل

تصادفی شروع به های ها و مکان ها با سرعت سازی ماشین در این شبیه. کوچک شروع شود "های هسته"تواند از بندان می راه

های پشت ای تشکیل داده و کند حرکت کنند و باعث شوند که ماشین ها، با یکدیگر خوشه اگر برخی ماشین. کنند حرکت می

. گیرد بندان شکل می سر آنها نیز با سرعت کم حرکت کنند، راه

:دهد گردد، نمودار سه مقدار را نمایش می که مدل اجرا می هنگامی

.(تواند از حد مجاز تجاوز نماید نمی)ها ماشینبیشترین سرعت *

ها کمترین سرعت ماشین*

باشد سرعت یک ماشین، که برای درک بیشتر به رنگ قرمز می*

. تر از نرخ افزایش سرعت است توجه داشته باشید که در تنظیمات پیش فرض، کاهش سرعت خیلی سریع

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

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

اجرای مدل با متغیرهای متفاوت و تحلیل آنها

اجرای مدل با پارامترهای پیش فرض -1شکل شماره

ها هیچگاه فراتر از نصف حد مجاز افزایش پیدا دهد، حداکثر سرعت ماشین ان مینش 1همانطور که نمودار شکل شماره

با ریتمی مشخص افزایش یافته و پس از رسیدن به سرعت تقریباً نصف حد ( مورد مطالعه)سرعت ماشین قرمز رنگ . نماید نمی

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

(البته با این تعداد ماشین و این طول مسیر. )ها به سرعت حد مجاز نرسند شود که هیچگاه ماشین باشد، باعث می می

34

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

اجرای مدل با افزایش نرخ شتاب و ثابت ماندن زمان کاهش سرعت با مقدار پیش فرض -1شکل شماره

سرعت ماشین . نماید ها تا حد مجاز افزایش پیدا می دهد، حداکثر سرعت ماشین نشان می 1ه همانطور که نمودار شکل شمار

های دیگر، برای نیز با ریتمی مشخص افزایش یافته و پس از رسیدن به سرعت بیشنه ماشین( مورد مطالعه)قرمز رنگ

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

.دهند گونه توقفی به راه خود ادامه می بیشینه مجاز رسیده و بدون هیچ

اجرای مدل با افزایش نرخ شتاب و ثابت ماندن زمان کاهش سرعت با مقدار پیش فرض -5شکل شماره

ها نیز کاهش یافته و بعد از ت ماشیندهد، با افزایش شتاب نرخ کاهش سرع نشان می 5همانطور که نمودار شکل شماره

.رسد تقریباً به صفر میچندین بازه زمانی کاهش سرعت

35

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

اجرای مدل با افزایش زمان کاهش سرعت و ثابت ماندن نرخ شتاب با مقدار پیش فرض -6شکل شماره

یتمی مشخص افزایش یافته و با ر( مورد مطالعه)دهد، سرعت ماشین قرمز رنگ نشان می 6همانطور که نمودار شکل شماره

های زمانی خیلی در تیک. نماید پس از رسیدن به سرعت تقریباً نصف حد مجاز متوقف شده و دوباره شروع به حرکت می

.است موقتی یابد ولی همین سرعت کم عامل ایجاد راه بندان ها به کندی افزایش می طوالنی سرعت تمام ماشین

افزایش زمان کاهش سرعت و ثابت ماندن نرخ شتاب با مقدار پیش فرضاجرای مدل با - شکل شماره

با ریتمی مشخص افزایش یافته و ( مورد مطالعه)دهد، سرعت ماشین قرمز رنگ نشان می همانطور که نمودار شکل شماره

های زمانی خیلی در تیک. نماید پس از رسیدن به سرعت تقریباً نصف حد مجاز متوقف شده و دوباره شروع به حرکت می

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

36

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

اجرای مدل با کم کردن زمان کاهش سرعت و ثابت ماندن نرخ شتاب با مقدار پیش فرض -8شکل شماره

با ریتمی مشخص افزایش یافته و ( مورد مطالعه)دهد، سرعت ماشین قرمز رنگ نشان می 8همانطور که نمودار شکل شماره

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

د را کم ها در مواجه با ماشین روبرویی سریعاً واکنش نشان داده و سرعت خو یعنی اگر ماشین. بندان نخواهیم بود شاهد راه

. دهد بندان رخ نمی نمایند، راه

اجرای مدل با کم کردن تواماً زمان کاهش سرعت و نرخ شتاب -3شکل شماره

با ریتمی مشخص افزایش یافته و ( مورد مطالعه)دهد، سرعت ماشین قرمز رنگ نشان می 3همانطور که نمودار شکل شماره

در . دهد شده و با کاهش سرعت تا سرعت کمینه به حرکت خود ادامه میها متوقف پس از رسیدن به سرعت بیشینه ماشین

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

.باشیم می

37

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

اجرای مدل با کم کردن زمان کاهش سرعت و افزایش نرخ شتاب -31شکل شماره

با ریتمی مشخص افزایش یافته و ( مورد مطالعه)دهد، سرعت ماشین قرمز رنگ نشان می 31ور که نمودار شکل شماره همانط

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

در مواجه با ماشین روبرویی سریعاً واکنش نشان داده و سرعت خود را کم ها یعنی اگر ماشین. بندان نخواهیم بود شاهد راه

.رسند ها زیاد است سریعاً به سرعت حد مجاز می همچنین چون شتاب ماشین. دهد بندان رخ نمی نمایند، راه

اجرای مدل با افزایش تواماً زمان کاهش سرعت و نرخ شتاب -33شکل شماره

با ریتمی مشخص افزایش یافته و ( مورد مطالعه)دهد، سرعت ماشین قرمز رنگ نشان می 33ره همانطور که نمودار شکل شما

های زمانی خیلی در تیک. نماید پس از رسیدن به سرعت تقریباً نصف حد مجاز متوقف شده و دوباره شروع به حرکت می

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

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

.است

38

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

Traffic Basic سازی کد برنامه مدل

globals [ sample-car ] turtles-own [ speed speed-limit speed-min ]

to setup

clear-all ask patches [ setup-road ] setup-cars watch sample-car reset-ticks end

to setup-road ;; patch procedure

if (pycor < 2) and (pycor > -2) [ set pcolor white ] end

to setup-cars

if number-of-cars > world-width [ user-message (word "There are too many cars for the amount of road. Please

decrease the NUMBER-OF-CARS slider to below " (world-width + 1) “and press the SETUP button again. The setup has stopped .") stop ]

set-default-shape turtles "car" crt number-of-cars [ set color blue set xcor random-xcor set heading 90

;;; set initial speed to be in range 0.1 to 1.0

set speed 0.1 + random-float .9 set speed-limit 1 set speed-min 0 separate-cars ] set sample-car one-of turtles ask sample-car [ set color red ] end

; this procedure is needed so when we click "Setup" we ; don't end up with any two cars on the same patch to separate-cars ;; turtle procedure

if any? other turtles-here [ fd 1 separate-cars ] end

to go

;; if there is a car right ahead of you, match its speed then slow down

ask turtles [ let car-ahead one-of turtles-on patch-ahead 1 ifelse car-ahead != nobody [ slow-down-car car-ahead ] ;; otherwise, speed up

[ speed-up-car ] ;;; don't slow down below speed minimum or speed up beyond speed limit

if speed < speed-min [ set speed speed-min ] if speed > speed-limit [ set speed speed-limit ] fd speed ] tick end

;; turtle (car) procedure to slow-down-car [car-ahead]

39

حمید عبداللهیاندکتر . جتماعیه های اشبک انی نظریبرس مد ، NetLogo افزار نرم ارائه گزارش

3131-3131. علوم و فنون نوین، دانشگاه تهراندانشکده . و مجتبی رضایی رورضا حبیبی، رامین سلحش: طشده توستهیه _______________________________________________________________________________________

;; slow down so you are driving more slowly than the car ahead of you

set speed [speed] of car-ahead - deceleration end

;; turtle (car) procedure to speed-up-car

set speed speed + acceleration end

; Copyright 1997 Uri Wilensky.

; See Info tab for full copyright and license.