شبیه‌سازی کامپیوتری
شبیه‌سازی کامپیوتری یا شبیه‌سازی رایانه‌ای به اجرای یک شبیه‌سازی با استفاده از یک برنامهٔ کامپیوتری را می‌گویند طوری که این برنامهٔ کامپیوتری مدل شبیه‌سازی را تعریف کند. شبیه‌سازی کامپیوتری بستگی به برنامهٔ کامپیوتری و مدل شبیه‌سازی‌شدهٔ آن دارد که برخی، دادهها را در چند دقیقه اجرا، و برخی از شبکه‌های مبتنی بر کامپیوتر تشکیل‌شده و برای ساعت‌ها داده‌ای را تحلیل می‌کنند. مقیاس وقایع شبیه‌سازی‌شده با شبیه‌سازی‌های کامپیوتری به مراتب بسیار سریع‌تر و بالاتر از شیوه‌های سنتی آن که توسط یک یا چند فرد و ریاضیات روی کاغذ انجام می‌شود، می‌باشد.
شبیه‌سازی کامپیوتری یک شبیه‌سازی است که در یک کامپیوتر واحد یا شبکه‌ای از کامپیوترها برای بازتولید رفتار یک سیستم اجرا می‌شود. شبیه‌سازی از یک مدل انتزاعی برای شبیه‌سازی سیستم استفاده می‌کند. شبیه‌سازی‌های کامپیوتری یک بخش مفید مدل‌سازی ریاضیاتی بسیاری از سیستم‌های طبیعی در فیزیک، نجوم فیزیک، شیمی و زیست‌شناسی، سیستم‌های انسان در اقتصاد، روانشناسی، علوم اجتماعی و مهندسی شده‌اند. شبیه‌سازی یک سیستم برای اجرای مدل سیستم نشان داده می‌شود. از آن می‌توان برای کشف و به دست آوردن دیدگاه جدید در مورد تکنولوژی جدید و برآورد عملکرد سیستم‌های بسیار پیچیده برای راه حل‌ها آنالیز استفاده کرد. / شبیه‌سازی‌های کامپیوتری از برنامه‌های کامپیوتری که چند دقیقه در گروه‌های مبتنی بر شبکه‌ای از کامپیوترها اجرا می‌شوند تا ساعت‌ها برای شبیه‌سازی‌های در حال انجام که روزها طول می‌کشند متغیر می‌باشند. مقیاس اتفاقاتی که شبیه‌سازی می‌شوند به وسیله شبیه‌سازی‌های کامپیوتری فراتر از هر مقدار ممکن رفته‌است که از مدل‌سازی ریاضیاتی کاغذ و قلم قدیمی استفاده می‌کند. بیش از ۱۰ سال قبل یک شبیه‌سازی جنگ میدانی یک نیروی مهاجم به گروه دیگر شامل مدل‌سازی ۶۶۲۳۹ تانگ، کامیون و وسایل نقلیه دیگر در زمین‌های شبیه‌سازی شده اطراف کویت با استفاده از ابرکامپیوترهای چند گانه در برنامه مدرنیزاسیون کامپیوتر عملکرد بالای DoD بود. مثال‌های دیگر شامل یک مدل یک میلیارد اتمی با تغییر شکل ماده، یک مدل ۲٫۶۴ میلیون اتمی پروتئین ساز پیچیده در تمام موجودات، یک ریبوزم در سال ۲۰۰۵، یک شبیه‌سازی کامل چرخه عمر در ۲۰۱۲ و پروژه بلو برین در EPFL که در می ۲۰۰۵ برای ایجاد اولین شبیه‌سازی کامپیوتری مغز انسان درست در پایین سطح مولکولی آغاز شد.
به دلیل هزینه کامپیوتری شبیه‌سازی، آزمایش‌ها کامپیوتری برای انجام استنتاج چنین مقادیر نا معینی استفاده می‌شوند.
یک مدل کامپیوتری به الگوریتمها و معادلات مورد استفاده برای به دست آوردن رفتار سیستمی که مدل‌سازی می‌شود اطلاق می‌گردد. بالعکس یک شبیه‌سازی کامپیوتری به اجرای واقعی برنامه‌ای اطلاق می‌شود که حاوی این معادلات یا الگوریتم‌ها می‌باشد؛ بنابراین شبیه‌سازی به نتیجه اجرای یک مدل اشاره دارد. به عبارت دیگر شما یک شبیه‌سازی نمی‌سازید. بلکه شما یک مدل می‌سازید و سپس یک مدل را اجرا می‌کنید یا یک شبیه‌سازی را اجرا می‌کنید.
شبیه‌سازی کامپیوتری دوشادوش رشد سری عملکرد کامپیوتر پس از اولین گسترش بزرگ مقیاسش در طول پروژه منهتن در جنگ جهانی دوم برای مدل‌سازی فرایند انفجار هسته‌ای توسعه یافت. این یک شبیه‌سازی ۱۲ کره‌ای سخت با استفاده از یک الگوریتم مونته کارلو بود. شبیه‌سازی کامپیوتری اغلب به عنوان یک جانشین برای مدل‌سازی سیستم‌ها استفاده می‌شود که برای آن‌ها راه حل‌های آنالیزی با شکل بسته ساده ممکن نمی‌باشند. انواع شبیه‌سازی‌های کامپیوتری بسیاری وجود دارند. ویژگی مشترک آن‌ها اقدام برای تولید نمونه‌ای از سناریوهای نماینده برای مدلی است که در آن تعداد کاملی از تمام حالات ممکن مدل باز دارنده یا غیرممکن می‌باشند.
نیازهای داده‌های خارجی شبیه‌سازی‌ها و مدل‌ها به‌طور گسترده‌ای متغیر می‌باشند. برای برخی، ورودی فقط چند عدد می‌باشد در حالیکه بقیه به ترابایت‌های اطلاعات نیاز دارند. منابع ورودی نیز بسیار متغیر می‌باشند:
در نهایت زمانی که داده‌ها در آن در دسترس می‌باشد متغیر می‌باشد:
به دلیل این تغییر و به دلیل اینکه سیستم‌های شبیه‌سازی مختلف اجزای مشترک زیادی دارند لذا تعداد زیادی زبان شبیه‌سازی تخصصی وجود دارند. معروف‌ترین آن‌ها سیمولا می‌باشد. اکنون زبان‌های بسیاری دیگری نیز وجود دارند. سیستم‌هایی که داده‌ها را از منابع خارجی می‌پذیرند باید از لحاظ دانستن آنچه دریافت می‌کنند بسیار هوشمند و دقیق باشند. در حالیکه برای کامپیوترها خواندن به شکل مقادیر از متن یا فایل‌هایی دو تایی آسان می‌باشد آنچه بسیار سخت‌تر است دانستن این است که دقت مقادیر چگونه می‌باشد. اغلب آن‌ها به عنوان نوارهای خطا، یک مینیمم یا ماکزیمم انحراف از دامنه مقادیر بیان می‌شوند که در آن دامنه مقدار واقعی قرار می‌گیرد.
از آنجایی که ریاضیات کامپیوتر دیجیتال کامل نیست لذا خطاهای سرشاخه زنی و گرد کردن این خطا را زیاد می‌کنند؛ بنابراین انجام یک آنالیز خطا برای اطمینان از اینکه خروجی مقادیر به وسیله شبیه‌سازی کاملاً دقیق خواهد بود مفید می‌باشد حتی خطاهای کوچک در داده‌های اصلی می‌تواند بعداً در خطای بزرگ در شبیه‌سازی انباشته شوند. در حالیکه تمام آنالیز کامپیوتری در معرض GIGO قرار دارد. این در مورد شبیه‌سازی دیجیتال به ویژه صدق می‌کند. در حقیقت مشاهده این خطای نهفته کل در سیستم‌های دیجیتال کاتالیزور اصلی برای توسعه تئوری هرج و مرج بود.
مدل‌های کامپیوتری را می‌توان طبق چندین جفت مستقل خصوصیات طبقه‌بندی کرد از جمله تصادفی یا جبری، حالت یکنواخت یا پویا، پیوسته یا گسسته، شبیه‌سازی سیستم پویا به‌طور مثال سیستم‌های الکتریکی، سیستم‌های هیدرولیک یا سیستم‌های مکانیکی چند بدنه‌ای یا شبیه‌سازی پویای مسائل میدانی از قبیل شبیه‌سازی‌های CFD FEMو محلی یا توزیع شده.
شیوه دیگر دسته‌بندی مدل‌ها نگاه به ساختارهای داده‌های زیر بنایی می‌باشد. برای شبیه‌سازی‌های مرحله بندی شده زمانی دو طبقه عمده وجود دارند:
معادلات روابط بین اجزای سیستم مدل‌سازی شده را تعریف می‌کنند و اقدام به پیدا کردن حالتی می‌کنند که در آن سیستم در موازنه می‌باشد. از چنین مدل‌هایی اغلب در شبیه‌سازی سیستم‌های فیزیکی استفاده می‌شود. همان‌طور که یک مورد مدل‌سازی ساده‌تر قبل از شبیه‌سازی پویا امتحان می‌شود.
قبلاً داده‌های خروجی از یک شبیه‌سازی کامپیوتری گاهی اوقات در یک جدول یا یک ماتریس نشان داده می‌شد که نشان می‌داد چگونه داده‌ها تحت تأثیر تغییرات بیشمار در پارامترهای شبیه‌سازی قرار می‌گرفتند. استفاده از فرمت ماتریس به استفاده سنتی از مفهوم ماتریس در مدل‌های ریاضیاتی ربط داده شد. البته روانشناسان و دیگران خاطر نشان کرده‌اند که انسان‌ها به سرعت می‌توانند روندها را با نگاه به نمودارها یا حتی تصاویر متحرک تولید شده از داده‌ها همان‌طور که با انیمیشن CGI نمایش داده می‌شود درک کنند.
اگر شاهدان لزوماً نمی‌توانند اعداد را بخوانند یا فرمول‌های ریاضی را مشاهده کنند اما از مشاهده نمودار آب و هوای متحرک آن‌ها می‌توانند اتفاقات را بسیار سریعتر از از طریق پویش جداول مختصات باران – ابر پیش‌بینی کنند. چنین نمایش‌های گرافیکی شدیدی که دنیای اعداد و فرمول‌ها را کنار هم قرار می‌دهد گاهی اقوات منجر به خروجی ای گردید که فاقد یک شبکه مختصات بود یا چرخه‌های زمان را حذف می‌کرد. امروزه مدل‌های پیش‌بینی آب و هوا تمایل دارند نمای ابرهای بارانی / برفی متحرک را در مقابل یک نقشه متعادل سازند که از مختصات عددی و چرخه‌های زمانی عددی اتفاقات استفاده می‌کند. همچنین شبیه‌سازی‌های کامپیوتری CGIاسکن‌های CAT شبیه‌سازی می‌مانند که چگونه یک تومور می‌تواند جمع شود یا در طول یک دوره طولانی درمان پزشکی تغییر کند که گذشت زمان را به عنوان یک نمای در حال چرخش سر انسان قابل مشاهده با تغییر تومور نشان می‌دهد. اپلیکیشن‌های دیگر شبیه‌سازی‌های کامپیوتری CGI برای نمیاش گرافیکی مقادیر زیاد داده‌ها به صورت متحرک توسعه داده می‌شوند چون تغییرات در طول یک اجرای شبیه‌سازی رخ می‌دهند.
مثال‌های کلی انواع شبیه‌سازی‌های کامپیوتری در علم برگرفته از یک شرح ریاضیاتی اساسی عبارتند از:
مثال‌های خاص شبیه‌سازی‌های کامپیوتری عبارتند از: