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

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو
شبیه‌سازی کامپیوتری تسونامی سال ۲۰۰۴ در آسیا

شبیه‌سازی کامپیوترییا شبیه‌سازی رایانه‌ای به اجرای یک شبیه‌سازی با استفاده از یک برنامهٔ کامپیوتری را می‌گویند طوری که این برنامهٔ کامپیوتری مدل شبیه‌سازی را تعریف کند. شبیه‌سازی کامپیوتری بستگی به برنامهٔ کامپیوتری و مدل شبیه‌سازی‌شدهٔ آن دارد که برخی، داده‌ها را در چند دقیقه اجرا، و برخی از شبکه‌های مبتنی بر کامپیوتر تشکیل‌شده و برای ساعت‌ها داده‌ای را تحلیل می‌کنند. مقیاس وقایع شبیه‌سازی‌شده با شبیه‌سازی‌های کامپیوتری به مراتب بسیار سریع‌تر و بالاتر از شیوه‌های سنتی آن که توسط یک یا چند فرد و ریاضیات روی کاغذ انجام می‌شود، می‌باشد.

شبیه سازی کامپیوتری یک شبیه سازی می باشد که در یک کامپیوتر واحد یا شبکه ای از کامپیوترها برای بازتولید رفتار یک سیستم اجرا می شود. شبیه سازی از یک مدل انتزاعی برای شبیه سازی سیستم استفاده می کند. شبیه سازی های کامپیوتری یک بخش مفید مدل سازی ریاضیاتی بسیاری از سیستم های طبیعی در فیزیک، نجوم فیزیک، شیمی و زیست شناسی، سیستم های انسان در اقتصاد، روانشناسی، علوم اجتماعی و مهندسی شده اند. شبیه سازی یک سیستم برای اجرای مدل سیستم نشان داده می شود. از آن می توان برای کشف و به دست آوردن دیدگاه جدید در مورد تکنولوژی جدید و برآورد عملکرد سیستم های بسیار پیچیده برای راه حل ها آنالیز استفاده کرد ./ شبیه سازی های کامپیوتری از برنامه های کامپیوتری که چند دقیقه در گروه های مبتنی بر شبکه ای از کامپیوترها اجرا می شوند تا ساعت ها برای شبیه سازی های در حال انجام که روز ها طول می کشند متغیر می باشند. مقیاس اتفاقاتی که شبیه سازی می شوند به وسیله شبیه سازی های کامپیوتری فراتر از هر مقدار ممکن رفته است که از مدل سازی ریاضیاتی کاغذ و قلم قدیمی استفاده می کند. بیش از 10 سال قبل یک شبیه سازی جنگ میدانی یک نیروی مهاجم به گروه دیگر شامل مدل سازی 66239 تانگ، کامیون و وسایل نقلیه دیگر در زمین های شبیه سازی شده اطراف کویت با استفاده از ابرکامپیوترهای چند گانه در برنامه مدرنیزاسیون کامپیوتر عملکرد بالای DoD بود. مثال های دیگر شامل یک مدل یک میلیارد اتمی با تغییر شکل ماده , یک مدل 2.64 میلیون اتمی پروتئین ساز پیچیده در تمام موجودات، یک ریبوزم در سال 2005، یک شبیه سازی کامل چرخه عمر مایکوپلاسما جنیتالیوم در 2012 و پروژه بلو برین در EPFL که در می 2005 برای ایجاد اولین شبیه سازی کامپیوتری مغز انسان درست در پایین سطح مولکولی اغاز شد.

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

شبیه سازی در مقابل مدل[ویرایش]

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

تاریخچه[ویرایش]

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

آماده کردن داده ها[ویرایش]

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

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

در نهایت زمانی که داده ها در آن در دسترس می باشد متغیر می باشد :

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

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

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

انواع[ویرایش]

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

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

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

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

  • شبیه سازی های پویا تغییرات در یک سیستم را در واکنش نسبت به سیگنال های ورودی مدل سازی می کند.
  • مدل های تصادفی از تولید کنندگان عدد تصادفی برای مدل سازی اتفاقات تصادفی یا شانسی استفاده می کنند.
  • یک شبیه سازی اتفاق گسسته DES اتفاقات را در زمان مدیریت می کند. اغلب شبیه سازی های کامپیوتری تست منطق و درخت خطا از این نوع می باشند. در این نوع شبیه سازی، شبیه ساز یک ردیف از اتفاقات مرتب شده به وسیله زمان شبیه سازی شده ای که باید رخ دهند حفظ می کند. شبیه ساز ردیف را می خواند و اتفاقات جدید را همانطور که هر اتفاق پردازش می شود تشدید می کند. اجرای شبیه سازی به موقع اهمیت ندارد. اغلب توانایی دسترسی به داده های تولید شده به وسیله شبیه سازی و کشف معایب منطقی در طرح یا توالی رخداد ها مهمتر می باشد.
  • یک شبیه سازی پویای پیوسته، راه حل عددی معادلات جبری – تفاضلی یا معادلات تفاضلی را انجام می دهد. برنامه شبیه سازی به صورت دوره ای تمام معادلات را حل می کند و از اعداد برای تغییر دادن حالت و خروجی شبیه سازی استفاده می کند. اپلیکیشن ها شامل شبیه ساز های پرواز، بازی های شبیه سازی مدیریت و ساخت، مدل سازی فرایند شیمیایی و شبیه سازی های مدارهای الکتریکی می باشند. در اصل این نوع شبیه سازی ها در واقع روی کامپیوترهای انالوگ اجرا شدند. که در آنها معادلات دیفرانسیل می توانند مسقیما با اجزای الکتریکی مختلف از قبیل Op-amps ها نشان داده شوند. تا اخر سال 1980 اغلب شبیه سازی های انالوگ در کامپیوترهای دیجتیال متعارف اجرا می شدند که رفتار یک کامپیوتر انالوگ را شبیه سازی می کنند.
  • یک نوع خاص شبیه سازی گسسته که بر یک مدل با یک معادله اساسی تکیه ندارد اما با این وجود می تواند به طور رسمی نشان داده شود شبیه سازی مبتنی بر عامل است. در شبیه سازی مبتنی بر عامل، واحد های فردی اعم از مولکول ها، سلول ها، درخت ها و یا مصرف کنندگان در مدل مستقیما نمایش داده می شوند و دارای یک حالت داخلی و مجموعه ای از رفتارها یا قوانین می باشند که تعیین می کنند چگونه وضعیت عامل از یک مرحله زمانی تا مرحله بعد به روز رسانی می شود.
  • مدل های توزیعی روی شبکه ای از کامپیوترهای متصل به هم احتمالا از طریق اینترنت اجرا می شوند. شبیه سازی های پراکنده در میان کامپیوترهای چند میزبانی از این دست اغلب به عنوان شبیه سازی های توزیعی یا پراکنده نامیده می شوند. چندین استاندارد برای شبیه سازی توزیعی وجود دارند از جمله ALSP، DIS، HLA و TENA.

عینی سازی[ویرایش]

قبلا داده های خروجی از یک شبیه سازی کامپیوتری گاهی اوقات در یک جدول یا یک ماتریس نشان داده می شد که نشان می داد چگونه داده ها تحت تاثیر تغییرات بیشمار در پارامترهای شبیه سازی قرار می گرفتند. استفاده از فرمت ماتریس به استفاده سنتی از مفهوم ماتریس در مدل های ریاضیاتی ربط داده شد. البته روانشناسان و دیگران خاطر نشان کرده اند که انسان ها به سرعت می توانند روند ها را با نگاه به نمودارها یا حتی تصاویر متحرک تولید شده از داده ها همانطور که با انیمیشن CGI نمایش داده می شود درک کنند.

اگر شاهدان لزوما نمی توانند اعداد را بخوانند یا فرمول های ریاضی را مشاهده کنند اما از مشاهده نمودار آب و هوای متحرک آنها می توانند اتفاقات را بسیار سریعتر از از طریق پویش جداول مختصات باران – ابر پیش بینی کنند. چنین نمایشات گرافیکی شدیدی که دنیای اعداد و فرمول ها را کنار هم قرار می دهد گاهی اقوات منجر به خروجی ای گردید که فاقد یک شبکه مختصات بود یا چرخه های زمان را حذف می کرد. امرزوه مدل های پیش بینی آب و هوا تمایل دارند نمای ابرهای بارانی / برفی متحرک را در مقابل یک نقشه متعادل سازند که از مختصات عددی و چرخه های زمانی عددی اتفاقات استفاده می کند. همچنین شبیه سازی های کامپیوتری CGIاسکن های CAT شبیه سازی می مانند که چگونه یک تومور می تواند جمع شود یا در طول یک دوره طولانی درمان پزشکی تغییر کند که گذشت زمان را به عنوان یک نمای در حال چرخش سر انسان قابل مشاهده با تغییر تومور نشان می دهد. اپلیکیشن های دیگر شبیه سازی های کامپیوتری CGI برای نمیاش گرافیکی مقادیر زیاد داده ها به صورت متحرک توسعه داده می شوند چون تغییرات در طول یک اجرای شبیه سازی رخ می دهند.

شبیه سازی کامپیوتری در علم[ویرایش]

مثال های کلی انواع شبیه سازی های کامپیوتری در علم برگرفته از یک شرح ریاضیاتی اساسی عبارتند از :

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

مثال های خاص شبیه سازی های کامپیوتری عبارتند از :

  • شبیه سازی های اماری براساس مجموعه ای از تعداد زیادی از پروفایل های ورودی از قبیل پیش بینی دمای موازنه دریافت آب ها، دادن اجازه ورود به گاموت هواشناسی به یک محل خاص. این روش برای پیش بینی الودگی گرمایی بسط داده شد.
  • از شبیه سازی عاملی به طور موثر در اکولوژی استفاده شده است. که در آن اغلب مدل سازی فردی نامیده می شود و در موقعیت هایی استفاده می شود که برای آنها تغییر پذیری فردی در عامل هارا نمی توان نادیده گرفت. از جمله جنبش های جمعیت ماهی های ازاد و قزل الا .
  • مدل پویای مرحله بندی شده زمانی – در هیدرولوژی چندین مدل حمل و نقل هیدرولوژی از این دست وجود دارند از جمله مدل های SWMM و. DSSAM که توسط اژانس حفاظت محیط زیست امریکا برای پیش بینی کیفیت آب رودخانه بسط داده شدند.
  • از شبیه سازی های کامپیوتری همچنین برای مدل سازی رسمی تئوری های شناخت انسان و عملکرد استفاده شده اند از جمله ACT-R .
  • شبیه سازی کامپیوتری با استفاده از مدل سازی مولکولی برای کشف مواد.
  • شبیه سازی کامپیوتری برای مطالعه حساسیت انتخابی پیوند ها به وسیله مکانیک – شیمی در طول خرد کردن مولکول های آلی .
  • از شبیه سازی های دینامیک سیالات کامپیوتری برای شبیه سازی رفتار هوای در حال جریان، آب و سیالات دیگر استفاده می شود. از مدل های 1، 2 و 3 بعدی استفاده می شوند. یک مدل یک بعدی اثرات چکش آب را بر یک خط لوله شبیه سازی می کند. یک مدل دو بعدی برای شبیه سازی نیرو های کششی در مقطع بال یک هواپیما استفاده می شود. یک شبیه سازی سه بعدی گرما و سرمای یک ساختمان بزرگ را برآورد می کند.
  • یک شناخت تئوری مولکولی ترموینامیک اماری برای شناخت راه حل های مولکولی اساسی می باشد. توسعه تئوری PDT اجازه ساده شدن این موضوع پیچیده را به نمایشات پایین زمینی تئوری مولکولی می دهد.

جستارهای وابسته[ویرایش]

منابع[ویرایش]

  • ویکی پدیا انگلیسی