۱. "به نام خدا"

۲. مقدمه

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

یک جمعیت 1 را به تعداد زیادی موجودیت که به شکل فیزیکی با هم یک گروه را تشکیل داده اند، نسبت می دهند. این گروه رفتارهای خاصی دارد که با رفتارهای معمولی اعضا به صورت فردی متفاوت می باشد چرا که آن ها عضو یک جمعیت هستند و این جمعیت رفتارهای خاصی را به اعضا تحمیل می کند. شبیه سازی این رفتار مبتنی بر جمعیت را ، Crowd Simulation و یا شبیه سازی رفتار جمعیت ، به اختصار CS می نامند.

به عنوان مثال گروهی از غازها هنگام مهاجرت را درنظر بگیرید، هرکدام از غاز ها وظیفه دارد در عین حفظ فاصله با دیگران و عدم برخورد با آن ها، ویژگی گروه را حفظ کند و با دیگران پرواز کند. می بینید که گروه غازها رفتار های خاصی را به هر غاز تحمیل میکند در صورتی که گروهی وجود نداشت ، این محدودیت ها برای غاز ها نیز وجود نداشت.

۳. کاربردها

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

  • شبیه سازی زندگی مردم یک شهر وسیع به طوری که بتوانند نیاز های خود را تامین کنند.فرض کنید صبح، همه مردم از خواب بیدار شوند، به سر کار روند ، بچه ها به همراه مادرشان به مدرسه روند و درشب بعد از رفتن به رستوران و خوردن شام ،به خانه رفته و استراحت کنند. بله، تردید نکینید این چیزی است که در بازی ها استفاده میشود به عنوان مثال بازی GTA ، Hitman و یا Assassins Creed که دارای یک نقشه بزرگ می باشند، برای مدیرت جمعیت از این سیستم ها استفاده می کنند. دانستن این نکته الزامی است که نمی توان با انیمیشن های از پیش ساخته شده و ثابت، این جمعیت بزرگ را مدیرت کرد !! علاوه بر بحث کارایی، بحث واقع گرایی نیر مطرح می باشد که گروه، رفتار های تکراری و قابل پیشبینی از خود نشان ندهد.در بازی Assassins Creed وقتی شما در داخل شهر برای فرار از دست مامورین حکومتی پا به فرار میگذارید، عکس العمل مردم شهر در قبال رفتار شما بی نظیر می باشد. تلاش آن ها برای جلوگیری از برخورد با شما و رفتار آن ها بعد از برخود قابل تحسین است.

اساسین

  • شبیه سازی در پروژه های ساختمانی فرض کنید قرار است یک ورزشگاه صد هزار نفری ساخته شود!، یکی از عامل هایی که در طراحی این ورزشکاه مهم است، مدیرت ازدحام جمعیت، هنگام ورود و خروج به ورزشگاه می باشدکه می توان با شبیه سازی ورزشگاه و جمعیت،طراحی را مورد ارزیابی قرار داد تا هزینه ها به شکل قابل قبولی کاهش یابند.

  • ...
    #نحوه کار

    همان طور که میدانید دامنه CS بسیار گسترده می باشد به طوری که به هیچ وجه در یک پروژه چند ماهه نمی توان تمامی جنبه های آن را بررسی کرد.
    جلوگیری از برخورد2 یا به اختصار CA یکی از پایه ای ترین بخش های شبیه سازی جمعیت می باشد چرا که تمام دیدگاه ها و کاربردهای CS چه در بازی های رایانه ای و چه در زمینه های دیگر نیازمند هوشمندی عامل ها در برخورد و حرکت به سمت یکدیگر می باشد.
    برای این منظور ما در صدد رسیدن به یک سیستم برای شبیه سازی خروج انبوه یک جمعیت از یک فروشگاه یا ورزشگاه می باشیم. وسعت فروشگاه ، تعداد درب خروجی، میزان هجوم مردم برای خروج در موقعیت های معمولی و یا اضطراری ( مانند آتش سوزی) و ... پارامتر هایی است که می تواند مورد تحقیق و آزمایش قرار گیرد.

روش های پیاده سازی CS را میتوان در مدت زمان شبیه سازی و میزان جمعیت مورد ارزیابی، تقسیم بندی کرد.
در این پروژه ابتدا ساده ترین روش ها پیاده سازی می شود و نتایج آن به ثبت می رسد و به مرور با پیچیده تر کردن شرایط، و بهبود الگوریتم های مربوط به CA تا حدی نتایج شبیه سازی را بهبود می بخشیم.

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

در پایان رفتار جمعیت را با استفاده از تئوری Personality Trait شخصی سازی می کنیم
به طوریکه ابتدا تمامی آدم ها دقیقا مانند یکدییگر هستند ( روحی ، جسمی و ... ) و به مرور زمان این جمعیت شخصی سازی شده و جنبه های مختلف روحی از جمله میزان پرخاشگری، جسارت، میزان فعال بودن و ... را در پارامتر های شبیه سازی دخالت می دهیم و یک نگاشت ما بین آن ها ایجاد می کنیم
و نشان میدهیم که این اختلاف رفتار باعث همگونی بهتر رفتار جمعیت می شود و در حالت میانگین، عملکرد بسیار بهتری را از خود به جای می گذارد.
به امید خدا تمامی پروسه پیاده سازی این تحقیق در موتور یونیتی اجرا میشود که در آخر می تواند یک افزونه خوب برای این موتور به حساب آید و در بازی های رایانه ای مورد استفاده قرار گیرد.

خروج از فروشگاه

۴. مراجع

  • Stephen J. Guy†, Sujeong Kim, Ming C. Lin, Dinesh Manocha: Simulating Heterogeneous Crowd BehaviorsUsing Personality Trait Theory The Eurographics Association link

  • Noralizatul Azma Bte Mustapha and Abdullah Bin Bade : COLLISION AVOIDANCE SERIES OF TECHNIQUE FOR
    CROWD SIMULATION link3

  • Abhinav Golas, Rahul Narain, Sean Curtis, and Ming C. Lin, Fellow, IEEE1 : Hybrid Long-Range Collision Avoidance for
    Crowd Simulation link2

  • Daniel Thalmann ? Soraia Raupp Musse : Crowd Simulation
    Second Edition link4

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


  1. Crowd

  2. Collision Avoidance

  3. Hybrid Long-Range Collision Avoidance

محمد غضنفری

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

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

موفق باشید