شبیه سازی کامپیوتری (شبیه سازی رایانه، جزو مفیدی برای بسیاری از سیستمهای طبیعی در فیزیک، شیمی و زیستشناسی و نیز برای سیستمهای انسانی در اقتصاد و علوم اجتماعی (جامعهشناسی کامپیوتری) و همچنین در مهندسی برای به دست آوردن بینش نسبت به عمل این سیستمها شده است.
یک نمونه خوب از سودمندی استفاده از رایانهها در شبیه سازی را میتوان در حیطه شبیه سازی ترافیک شبکه جستجو کرد.
در چنین شبیه سازیهایی رفتار مدل هر شبیه سازی را مطابق با مجموعه پارامترهای اولیه منظور شده برای محیط تغییر خواهد داد.شبیه سازیهای کامپیوتری] اغلب به این منظور به کار گرفته میشوند تا انسان از شبیه سازیهای حلقهای در امان باشد.
به طور سنتی، مدل برداری رسمی سیستمها از طریق یک مدل ریاضی بوده است به نحوی که تلاش در جهت یافتن راه حل تحلیلی برای مشکلات بوده است که پیش بینی رفتار سیستم را با استفاده از یک سری پارامترها و شرایط اولیه ممکن ساخته است.
شبیه سازی کامپیوتری اغلب به عنوان یک ضمیمه یا جانشین برای سیستمهای مدل سازی است که در آنها راه حلهای تحلیلی بسته ساده ممکن نیست.
انواع مختلفی از شبیه سازی کامپیوتری وجود دارد که وجه مشترک همه آنها در این است که تلاش میکند تا یک نمونه از برنامهای برای یک مدل تولید کنند که در آن امکان محاسبه کامل تمام حالات ممکن مدل مشکل یا غیر ممکن است.)
به طور رو به افزونی معمول شده است که نام انواع مختلفی از شبیه سازی شنیده میشود که به عنوان «محیطهای صناعی» اطلاق میشوند.
این عنوان اتخاذ شده است تا تعریف شبیه سازی عملاً به تمام دستاوردهای حاصل از رایانه تعمیم داده شود.
مزایا و معایب شبیه سازی ( شبیه سازی کامپیوتری)
در سراسر بحث از مزایا شبیه سازی به نوعی یاد شده است .
در اینجا بعضی از مزایای شبیه سازی را فهرستوار عنوان می کنیم :
داشتن قدرت فشردن زمان .
بدین ترتیب که به وسیله شبیه سازی ممکن است چندین سال از فعالیتیک سیستم را در چند ثانیه ملاحظه و بررسی نمود .
در نتیجه، بررسی کننده قادر است چندین طرح از یکسیستم را در یک فرصت کوتاه مطالعه نموده و نتاج عملکرد آنها را مقایسه نماید .
داشتن قدرت گسترش زمان.
به وسیله جمع آوری آمار و اطلاعات لازم در برنامه شبیه سازی ، بررسیکننده قادر است جزئیات تغییراتی که در زمان واقعی قابل مشاهده نیستند مطالعه کند .
بعبارتی دیگر تغییراتیکه بعلت بالا بودن سرعت ایجاد آنها در سیستم واقعی قابل مشاهده یا مطالعه نمی باشند ، در این روش قابلکنترل و بررسی هستند.
این عمل با کمک کند نمودن زمان در مدل صورت می گیرد مانند کند نمودن سرعتحرکت یک فیلم برای بررسی حرکت هایی که در حال عادی قابل دقت و بررسی نیستند .
در یک بررسی گاه لازم است که حرکت زمان را متوقف کرده و نتایج بدست آمده تا این لحظه را مطالعهنمود و پس از تصمیم های لازم بررسی را از همان نقطه توقف یا از سر گرفت .
لازمه این نیاز، این است که تمامپدیده های وابسته به سیستم وضعیت خود را تاشروع مجدد بررسی و آزمایش دقیقاً حفظ کنند .
این امکانفقط در شبیه سازی ممکن است .
شبیه سازی این امکان را به تحلیل گر می دهد که یک آزمایش یا بررسی را با حفظ کلیه شرایط اولیه ورفتار سیستم بوسیله یک برنامه تکرار کند .
در هر یک از دفعات تکرار، تنها مقادیر بعضی از پارامترها را بهمنظور دریافت اثر آنها بر رفتار سیستم و نتایج حاصل تغییر می دهد .
شبیه سازی قادر به بررسی تغییرات جدید در سیستم های موجود و مطالعه سیستم هایی که در مرحلهطرح می باشند و هنوز هیچ گونه امکانات ، سرمایه و زمان برای پیشرفت یا ایجاد فیزیکی آنها صرف نشدهاست .
همچنین بررسی و آزمایش سیستمهای فرضی که احیاناً ایجاد و مطالعه آنها بوسیله روش های دیگرغیر ممکن یا خطر ناک می باشد با این روش امکان پذیر است.
و اما معایب شبیه سازی را می توان چنین عنوانکرد : ایجاد و توسعه یک مدل خوب شبیه سازی اغلب گران و محتاج زمان است و نیاز به اطلاعات زیادیدارد که ممکن است به آسانی دردسترس نباشد .
شانون به به نقل از فازستو در کتاب خود ذکر می کند کهتوسعه یک مدل خوب برنامه ریزی شرکتها ممکن است 3 تا 10 سال وقت بخواهد .
شبیه سازی می تواند چنین وانمود کند که وضعیت جهان واقعی را به دقت نشان میدهد ، در حالی کهواقعاً این کار را نمیکند .
چندین مسئله ذاتی در شبیه سازی وجود دارند که اگر به درستی حل نشوند می توانندنتایج غلطی را به وجود آورند .
شبیه سازی دقیق نبوده و نمی توان درجه این بی دقتی را اندازه گرفت .
تحلیل حساسیت مدل نسبت بهتغییر مقدار پارارمترها تنها قسمتی از این مشکل را حل می کند .
معمولا نتایج شبیه سازی به صورت عددی بوده و با هر تعداد ارقام اعشاری که آزمایشگر انتخاب کند ،معین می شوند در نتیجه، خطر بزرگ کردن اعداد، یعنی اعتبار دادن بیش از حد به اعداد پیش می آید .
درنهایت هر چند شبیه سازی روش بسیار با ارزش و مفید برای حل مسائل است ، ولی به طور حتم راه حلتمام مسائل مدیریت نیست .
هنوز تا حد زیادی توسعه و استفاده از مدلهای شبیه سازی به جای اینکه علمباشد هنر است .
بنابراین مانند سایر هنرها تا حد زیادی فن ، موفقیت یا شکست را معین نمی کند بلکه عاملتعیین کننده ، چگونگی کار برد آن است .
شبیه سازی کامپیوتری ویروس ها یروس ها میکروارگانیسم های خطرناکی هستند که در طول تاریخ بشر باعث بیماری های مختلف و مرگباری مانند آبله، فلج، تب زرد و...
شده اند.
اولین تلاش ها برای مقابله با ویروس، به هزار سال پیش برمی گردد؛ در آن زمان پزشکان برای نجات جان کودکان مبتلا به آبله کوشش می کردند.
امروزه، اگرچه پیشرفت های زیادی در زمینه شناخت و درمان بیماری های ویروسی صورت گرفته ، ولی همچنان ماهیت ویروس، نحوه عملکرد و درمان بعضی از آنها (مانند ویروس ایدز یا HIV) برای بشر ناشناخته است.
چه بسا هنوز هم تعداد زیادی ویروس کشف نشده وجود دارد که می تواند در زمان یا مکان خاصی، آثار مخربی بر سلامت انسان بگذارد.
اما سئوال این است که آیا با پیشرفت های زیادی که در علوم مختلف پزشکی و کامپیوتر حاصل شده است، می توان از کامپیوتر برای شناسایی و امحای ویروس ها استفاده کرد؟
محققان دانشگاه کالیفرنیا و مرکز ملی محاسبات آمریکا واقع در دانشگاه ایلینویز، ادعا کرده اند ویروسی کامپیوتری به صورت مدلی از یک ویروس طبیعی ساخته اند.
این ویروس در واقع یک شبیه سازی کامپیوتری از ویروس خاصی به نام ویروس موزائیک توتون است.
ویروس موزائیک توتون معمولاً به گیاه گوجه فرنگی حمله کرده و فقط زمانی می تواند تکثیر یابد که در سلولی که قبلاً توسط همین نوع ویروس آلوده شده است، قرار گیرد.
این ویروس نسبت به انواع دیگر ویروس ها دارای ساختاری ساده و مناسب برای شبیه سازی است.
اگرچه عبارت «ویروس کامپیوتری» معمولاً ذهن را متوجه خطر امنیت داده ها و اطلاعات در کامپیوتر می کند ولی دانشمندان معتقدند این نوآوری و پیشرفت آنها در ساخت ویروس، قدمی بزرگ در شناخت و درمان ویروس ها و بهتر کردن سطح بهداشت عمومی است.
محققان برای این شبیه سازی از سریع ترین کامپیوترهای جهان (در مرکز ملی محاسبات آمریکا واقع در دانشگاه ایلینویز) استفاده کرده اند تا بتوانند با اجرای برنامه های تعبیه شده و انجام محاسبات فوق العاده زیاد و سریع، حرکت دینامیکی همه اتم های تشکیل دهنده ویروس و ذره بسیار ریز آب درون آن را مشاهده کنند.
پیتر فردولینو دانشجوی دکترای رشته بیوفیزیک و یکی از محققان در این زمینه می گوید: «ویروس کامپیوتری شبیه سازی شده در شرایط مختلف، رفتاری کاملاً مشابه ویروس موزائیک توتون دارد ولی برای مدت زمان بسیار کوتاه.
در عین حال می توان به خوبی خاصیت های فیزیکی و اصلی مربوط به این نوع ویروس خاص را با مدل ساخته شده توضیح داد.» دانشمندان قبلاً هم شبیه سازی هایی از مولکول های مهمی مانند آنزیم ها انجام داده اند (که به آنها در ساخت داروها کمک بسیاری کرده است) ولی ساختار ویروس بسیار پیچیده تر از یک مولکول تنهاست، زیرا ویروس علاوه بر پوشینه پروتئینی، دارای یک هسته مرکزی از جنس اسید نوکلئیک DNA یا RNA نیز است که عمل همانندسازی ویروس را انجام می دهد.
برخلاف دیگر گونه های زنده، ویروس ها در یک لحظه می توانند زنده و در یک لحظه غیرزنده باشند و فقط زمانی می توانند مانند یک موجود زنده فعالیت کنند و تکثیر یابند که به سلول زنده دیگری (سلول میزبان) حمله کرده و وارد آن شوند.
همین خصوصیات ویروس ها است که ساختار آنها را پیچیده و عمل شبیه سازی شان را بسیار دشوار می کند.
دانشمندان معتقدند که ویروس شبیه سازی شده، آنها را در فهم مکانیسم مولکول و نحوه عملکرد ویروس ها یاری خواهد کرد و منتج به فهمیدن طبیعت یک ویروس و چگونگی خنثی کردن آن خواهد شد.
امید است این تلاش دانشمندان، آنها را در راه شناخت و امحای ویروس های جدید یاری دهد و نویدی برای درمان مبتلایان به ویروس ایدز باشد.
شبیهسازی کامپیوتری (computer simulation) پژوهشگران غالباً از شبیهسازی کامپیوتری برای مطالعه شیوههای حل مسئله در آدمیان استفاده میکنند.
برای این منظور از افراد میخواهند هر آنچه ضمن حل مسئلههای پیچیده فکر میکنند، بازگو کنند (بلنداندیشی کنند).
برمبنای این گزارشها برنامهٔ کامپیوتری حل مسئله تهیه میشود، و سپس خروجی کامپیوتر با جنبههائی از عملیات حل مسئله افراد (مثلاً توالی حرکات در شطرنج) مقایسه میشود تا معلوم شود بین کامپیوتر و آدمی تا چه اندازه همخوانی وجود دارد.
در صورت وجود همخوانی، با استفاده از برنامهٔ کامپیوتری، نظریهای دربارهٔ جنبههائی از حل مسئله ارائه میشود.
شبیهسازی کامپیوتری، هم در پرورش روشهای ضعیف و هم در پرورش روشهای ویژهٔ خبرگان نقش عمدهای داشته است.
چه لزومی دارد برای کسب آگاهی دربارهٔ آدمیان به کامپیوتر متوسل شویم؟
جالبترین پاسخ به این سؤال، ادعائی است که سیمون عنوان کرده است: ”علت اینکه آدمیان میتوانند بیاندیشند این است که میتوانند با نورونهای خود همان فرآیندهای سادهای را انجام دهند که کامپیوتر با استفاده از لامپهای تصویر (tubes) و ریزمدارها (chips) انجام میدهد“ (سیمون، ۱۹۸۵، ص ۳).
برخی از این فرآیندهای ساده عبارتند از: خواندن، بروندهی (تهیهٔ خروجی)، ذخیرهسازی، و مقایسهٔ نمادها.
اگر نمادها همخوان باشند عمل معینی انجام میدهیم، و اگر ناهمخوان باشند دست بهعمل دیگری میزنیم.
کامپیوتر که توانائی آن در حد همین فرآیندهای ساده است، اگر بتواند جریان حل مسئله را در آدمیان شبیهسازی (تقلید) کند میتوان گفت شواهدی در تأیید ادعای سیمون بهدست آمده است.
ببینیم چگونه میتوان برنامهای کامپیوتری نوشت که عملکرد آدمیان را در حل معادلات جبری ساده شبیهسازی کند.
اگر حل معادلهٔ ۳X + ۴ = X + ۱۰ را از شما خواسته باشند شاید بهشیوهٔ زیر استدلال کنید: جواب معادله چیزی است مثل حرف x و بعد علامت = و بهدنبال آن یک عدد.
البته نه هر عددی، بلکه عددی که اگر آن را در معادله قرار دهم درست درمیآید.
حالا اگر معادلهای باشد که در سمت چپ آن عددی قرار گرفته، بهتر است آن عدد را حذف کنم و از شرش راحت شوم.
پس اگر داشته باشم.
۳x + ۴ = x + ۱۰ میتوانم عدد ۴ را از معادله حذف کنم (البته که میدانم عدد ۴ را باید از هر دو سوی معادله کمک کنم).
در اینصورت معادلهٔ 3x = x + ۶ را خواهم داشت.
اما به سمت x سمت راست معادله هم نیازی نیست.
پس ۱x را هم از معادله کسر میکنم و در اینصورت خواهم داشت 2x = ۶.
اما بهجای ۲x فقط یک x در سمت چپ معادله لازم دارم.
پس معادله را بر ۲ تقسیم میکنم.
حالا معادلهٔ x = ۳ را دارم (اقتباس از سیمون، ۱۹۸۵، ص ۶).
استدلال فوق را میتوان در قالب چهار قاعده بیان کرد: ۱.
اگر عددی در سمت چپ معادله بود آن را از هر دو سمت معادله کم کن.
۲.
اگر x یا مضربی از آن در سمت راست معادله بود آن را از هر دو سمت معادله کم کن.
۳.
اگر در سمت چپ معادله، عددی قبل از x آمده باشد هر دو سمت معادله را به آن عدد تقسیم کن.
۴.
اگر به معادلهای مانند ”یک عدد = x“ رسیدی، کار تمام است.
فقط جواب را وارسی کن.
این قواعد، ولو آنکه بهصراحت بیان نشوند، در هرحال اساس توانائی ما در حل معادلههای جبر محسوب میشوند.
میتوان بهسهولت این قواعد را بهصورت برنامهٔ کامپیوتری در آورد.
هر برنامهٔ کامپیوتری عبارت است از سلسله دستورهای مفصلی که بهزبان ویژهٔ کامپیوتر نوشته شده و در آن هرگامی که ماشین باید بردارد مشخص شده است.
قواعد ما آدمیان چیزی شبیه همین دستورهای کامپیوتری هستند.
بنابراین، شبیهسازی مستلزم آن است که نخست اطلاعات موردنیاز بهدقت مشخص گردد، و سپس به زبان کامپیوتر برگردانده شود.
برخی منتقدان به تشبیه آدمی به کامپیوتر ایراد گرفتهاند.
بهنظر آنان کامپیوتر فقط از عهدهٔ کارهائی برمیآید که برای آنها برنامهریزی شده است.
در پاسخ به این ایراد گفتهاند که آدمیان نیز فقط توانائی کارهائی را دارند که وراثت و تجربه برای آنان برنامهریزی کرده است.
این قیاس بین کامپیوتر و آدمی از این نظر مسئلهٔ جالبی است که در اینجا با دو عنصر هستی سروکار پیدا میکنیم که در حال حاضر پیچیدهترین دستگاههای اطلاعپردازی (information- processing) محسوب میشوند.
بهعلاوه، تلاش دانشمندان برای طراحی کامپیوترهائی که کارکردشان بیشتر شبیه آدمیان باشد، احتمالاً رونق بیشتری به اندیشهٔ تشبیه ذهن به کامپیوتر خواهد بخشید.