برچسب ارشیو: تحلیل

تحلیل آماری

 

 بر اساس کلاس سرکار خانم دکتر نازنین پیله وری و مبتنی بر تدریس استاد ارجمند جناب آقای دکتر پیدایی

نگاه کوتاه

 برگرفته از سایت پژوهشکده مدیریت استراتژیک

تحلیل آماری چیست؟

همه ما در زندگی خود ار آمار استفاده می­‌کنیم و در تصمیم­‌گیری‌های خرد و کلان خود، از آن بهره می­‌جوییم. برای نمونه، ممکن است، چند بار تجربه خوبی از تجارت با تاجر قد بلند نداشته باشید، از آن به بعد ناخودآگاه ممکن است در برخورد تجاری با تاجران قد بلند، محتاط عمل کنید. به عنوان مثال دیگر، ممکن است شخصی را مشاهده کنیم که در قرعه‌کشی بانکی شرکت کرده و مقدار زیادی پول برنده شده است، او از این به بعد سعی می‌کند  در بیشتر قرعه­‌کشی‌­ها شرکت کند. و یا شاید با در رفتار برخی از افراد نسبت دادن خصوصیت یک یا چند نفر به  تمام همشهری های آنان مشاهده شود. در این گونه مثال‌ها یک فرد بر اثر یک یا چند تجربه خود به نتیجه‌ای می‌رسد.  و این عمل وی در واقع استفاده از نوعی روش آماری است. روشی که پدیده‌ها را کمٌی کرده و یک نتیجه از آن می‌گیرد (در گذشته چند بار در یک موقعیت چنین امری اتفاق افتاده پس در در آینده اگر در این موقعیت قرار گرفتم، فلان کار را می‌کنم ،حال تصور کنید که از این روش آماری به صورت منسجم‌تری استفاده شود. برای نمونه فرض کنید یک فرد با ۳۰۰ تاجر قدبلند در یک شهر تجارت کند و تجربه وی از این تجارت ناخوشایند باشد. حال دادن عدد یک مفهوم و یک نتیجه مفید پیش روی فرد می‌گذارد و آن این‌که بهتر است در آن شهر و وقتی با تاجر قدبلند شماره ۳۰۱ ملاقات می‌کند، محتاط‌تر عمل کند و یا اصلا با او معامله نکند.

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

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

رئوس مطالب

 علم آمار-آمار استنباطی-آمار توصیفی-دیاگرام آمار تحلیلی و استنباطی-روش های نمونه گیری احتمالی-روش های نمونه گیری غیراحتمالی-انواع مقیاس کمی ، کیفی ،اسمی ، ترتیبی ، نسبی ، فاصله ای-ریاضیات مطالعه توصیفی داده های طبقه بندی نشده  کل جامعه آماری – دیاگرام ریاضیات  مرتبط با مطالعه استنباطی داده های طبقه بندی نشده  نمونه آماری- دیاگرام تناضر ریاضی فضای نمونه و تعمیم آن به جامعه آماری -توزیع نرمال – قضیه حد مرکزی – تحلیل انحراف معیاردرتوزیع نرمال – نمره معیار –  دیاگرام رسیدن از آماره به پارامتر با اطلاعات حاصل از نمونه – جدول احتمال توزیع نرمال استاندارد – تخمین فاصله ای در جامعه آماری – تمرین از توزیع نرمال در جامعه آماری با انحراف معیار معلوم – تمرین توزیع نرمال در جامعه آماری با درصد اطمینان های ۹۰ ، ۹۵ ، ۹۹ درصد – توزیع تی-استیودنت – تمرین توزیع تی  در جامعه آماری با انحراف معیار نامعلوم – فرمول توزیع نرمال در دو جامعه معلوم  –  فرمول توزیع  تی در دو جامعه نا معلوم  با انحراف معیار های برابر – فرمول توزیع نرمال در دو جامعه نا معلوم  با انحراف معیار های نابرابر – تمرین جامعه های معلوم و نامعلوم – فرمول تخمین فاصله ای نسبت موفقیت جامعه – فرمول های روش های تعیین حجم نمونه به همراه تمرین – جدول مورگان – آزمون فرضیه های آماری – سطح معنی داری – خطاهای آماری با توجه به فرضیه پژوهش – مراحل عمومی آزمون فرضیه های آماری – آزمون فرضیه آماری میانگین دو جامعه – آزمون مقایسه زوجها – آزمون فرضیه آماری نسبت موفقیت در جامعه – جدول سطح زیر منحنی توزیع کای دو – آزمون فرضیه آماری برای واریانس جامعه – رگرسیون – نمودار پراکندگی  – آزمون همبستگی پیرسون – ضریب همبستگی رتبه ای اسپیرمن

طراحی و تحلیل الگوریتمهای برنامه نویسی

نگاه کوتاه

الگوریتم

از ویکی‌پدیا، دانشنامهٔ آزاد

الگوریتم (نسبت: الگوریتمی، خوارزمیک)[۱] یا خوارزمی[۲] مجموعه‌ای متناهی از دستورالعمل‌ها است، که به ترتیب خاصی اجرا می‌شوند و مسئله‌ای را حل می‌کنند. به عبارت دیگر یک الگوریتم، روشی گام به گام برای حل مسئله است. شیوه محاسبه معدل در مدرسه، یکی از نمونه‌های الگوریتم است.

خصوصیات یک الگوریتم

تمام الگوریتم‌ها باید شرایط و معیارهای زیر را دارا باشند:[۳]

  • ورودی:

یک الگوریتم باید هیچ یا چندین پارامتر را به عنوان ورودی بپذیرد؛

  • خروجی:

الگوریتم بایستی حداقل یک کمیت به عنوان خروجی (نتیجه عملیات) تولید کند؛

  • قطعیت:

دستورهای الگوریتم باید با زبانی دقیق، و بی‌ابهام بیان شوند. هر دستورالعمل نیز باید انجام‌پذیر باشد. دستورهایی نظیر «مقدار ۶ یا ۷ را به x اضافه کنید» یا «حاصل تقسیم پنج بر صفر را محاسبه کنید» مجاز نیستند؛ چرا که در مورد مثال اول، معلوم نیست که بالاخره چه عددی باید انتخاب شود، و در خصوص مثال دوم هم تقسیم بر صفر در ریاضیات تعریف نشده‌است.

  • محدودیت:

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

ریشه واژهٔ الگوریتم

واژه الگوریتم از نام ریاضیدان و ستاره‌شناس و جغرافی‌دان نامی ایرانی، ابوجعفر محمد بن موسی خوارزمی (الخوارزمی)، گرفته شده است، که در خوارزم زاده شد و در دانشگاه «بیت الحکمه» بغداد به اوج شهرت رسید. خوارزم یکی از شهرهای «ایران بزرگ» بود، که امروزه در ازبکستان واقع شده است و خیوه نام دارد. رساله‌ای که خوارزمی در قرن ۹ میلادی به عربی نگاشته بود، در قرن ۱۲ به لاتین با نام “Algoritmi de numero Indorum” ترجمه شد؛ یعنی “[کتابی بدست] «الگوریتمی» در مورد اعداد هندی”، که «الگوریتمی» نام الخوارزمی بود که مترجم در تبدیل به لاتین نام وی را جلوی نام اصلی کتاب (در مورد اعداد هندی) آورده بود. در قرن ۱۳ میلادی واژه الگوریسموس(algorismus) به معنای «سیستم شمارش عربی (دهدهی)» (یعنی اعداد ۱ تا ۹ به علاوه صفر، و نیز مفهوم اعشار) بود؛ که هنوز هم یکی از معانی واژه الگوریسم(algorism) است. معنای دیگر الگوریسم «حساب کردن با کمک اعداد عربی» است؛ یعنی فن انجام أعمال حسابی پایه، مانند جمع و ضرب، با قرار دادن اعداد در زیر هم و إعمال قواعدی خاص، که جایگزین به کارگیری اعداد رومی و استفاده از چرتکه شد. حتی روش انجام دستی تقسیم و جذر گرفتن (رادیکال) هم الگوریسم نامیده می‌شود. در قرن ۱۹ این کلمه در فرانسوی به algorithme تغییر شکل پیدا کرد، البته معنایش ثابت ماند. طولی نکشید که این کلمه به شکل algorithm وارد زبان انگلیسی شد؛ ولی فقط در اواخر قرن ۱۹ میلادی بود که معنای عام‌تر امروزی‌اش را یافت، و به «هر مجموعه قواعدی برای انجام یک رویه محاسباتی یا روال رایانه‌ای به کار رود» الگوریتم گفته شد.

تبدیل نام الخوارزمی به الگوریسم و سپس الگوریتم احتمالاً تحت تأثیر واژه یونانی arithmos (به معنای عدد) و arithmetic (به معنای محاسباتی) بوده است. برخی منابع هم کلمه لگاریتم را هم در تبدیل الگوریسم و الگوریتم بی تأثیر ندانسته‌اند.[۴]

نقش الگوریتم‌ها در علوم رایانه

در علوم رایانه، یک الگوریتم را یک روال محاسباتی خوش‌تعریف می‌دانند، که مقدار یا مجموعه‌ای از مقادیر را به عنوان ورودی (Input) دریافت کرده و پس از طی چند گام محاسباتی، ورودی را به خروجی (Output) تبدیل می‌کند. بجز این، الگوریتم را ابزاری برای حل مسائل محاسباتی نیز تعریف کرده‌اند.[۵] ساخت و طراحی الگوریتم مناسب در مرکز فعالیت‌های برنامه‌سازی رایانه قرار دارد. یک برنامه رایانه‌ای، بیان یک یا چند الگوریتم با یک زبان برنامه‌نویسی است.

مفهوم الگوریتم

مفهوم الگوریتم را معمولاً با تشبیه به دستور آشپزی توضیح می‌دهند. مثلاً اگر بخواهیم آبگوشت درست کنیم (عمل مورد نظر) با فرض اینکه مواد خام را داریم (حالت اولیه) مراحل مشخصی را باید طبق دستور آشپزی طی کنیم (دستورالعمل‌ها) تا به آبگوشت آماده (حالت پایانی) برسیم. البته الگوریتم‌ها معمولاً پیچیده‌تر از این هستند.

الگوریتم گاه دارای مراحلی است که تکرار می‌شود (در مثال آبگوشت مثلاً چند بار باید نمک زد یا آب اضافه کرد) و یا در مرحله‌ای نیازمند تصمیم‌گیری است (اگر نمک کافی است دیگر نمک نمی‌زنیم، اگر کافی نیست نمک می‌زنیم).

اگر الگوریتم برای عمل مورد نظر مناسب نباشد و یا غلط باشد به نتیجه مورد نظر نمی‌رسیم. مثلاً اگر الگوریتم آبگوشت را با مواد اولیه کباب انجام دهیم واضح است که به آبگوشت نمی‌رسیم.

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

مقدمه‌ای بر تحلیل الگوریتم

نوشتار اصلی: تحلیل الگوریتم‌ها

معمولاً برای حل یک مسئله، روش‌ها و الگوریتم‌های گوناگونی وجود دارند؛ یک الگوریتم ممکن است عمل مورد نظر را با دستورهای مختلف در مدت زمان و یا کار کمتر یا بیشتری نسبت به الگوریتم دیگر انجام دهد. به همین دلیل، انتخاب الگوریتم مناسب و کارا اهمیت زیادی در موفق بودن و کارایی برنامه رایانه‌ای دارد. الگوریتم‌ها به عنوان یک فناوری مطرح هستند[۵] و دانشمندان آنها را طراحی، تحلیل، و مطالعه می‌کنند. مطالعه الگوریتم‌ها زمینه‌های متعددی را در بر می‌گیرد. در زیر به چند نمونه اشاره می‌کنیم که می‌توان آنها را چرخه حیات یک الگوریتم نامید.

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

ب) معتبر سازی یا اثبات درستی الگوریتم‌ها:بعد از طراحی باید اثبات شود که الگوریتم مزبور درست است. الگوریتمی درست است که به ازای هر ورودی مناسب خروجی صحیحی بدهد. اثبات درستی الگوریتم‌ها به اثبات قضایا در ریاضی می‌ماند و مرحله بسیار مهمی در زمینه مطالعه الگوریتم‌ها است

پ) تحلیل الگوریتم‌ها (تحلیل مقدم، ارزیابی کارایی الگوریتم‌ها):یک الگوریتم در زمان اجرا از cpuی رایانه برای اجرای دستورالعمل‌ها و از حافظه برای ذخیره‌سازی برنامه و داده‌ها استفاده می‌کند تحلیل یک الگوریتم مشخص می‌کند که الگوریتم در زمان اجرا چه مدت زمان از cpuبرای اجرای دستورالعمل (پیچیدگی زمانی) و چه مقدار از حافظه (چه اصلی و چه جانبی) برای ذخیره‌سازی برنامه و داده‌ها (پیچیدگی فضایی) نیاز دارد.

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

ث) تست برنامه:تست یک برنامه شامل۱:اشکال زدایی و ۲:تحلیل مؤخر (اندازه‌گیری کارایی) است. اندازه‌گیری کارایی عبارت است از فرایند اجرای الگوریتم صحیح بر روی داده‌های نمونه گیری شده برای به دست آوردن زمان و حافظه مورد نیاز توسط کامپایلر. زمان اجرای یک الگوریتم به پارامترهای مختلفی بستگی دارد که از جمله می‌توان به نوع دستورالعمل‌ها (دستورالعمل‌های جمع، ضرب، نوشتن، خواندن، شرطی و…)کامپایلر مورد استفاده، زبان برنامه نویسی، سخت‌افزار به کار رفته و پارامتری مثل nکه می‌تواند معرف تعداد ورودی‌ها و خروجی‌ها و یا هر دو باشد اشاره کرد

تحلیل الگوریتم‌ها رشته‌ای است که به بررسی کارایی الگوریتم‌ها می‌پردازد. تحلیل الگوریتم‌ها یعنی پیش‌بینی منابع مورد نیاز برای اجرای یک الگوریتم، همچون: حافظه، پهنای‌باند ارتباطی، سخت‌افزار، و از همه مهمتر، زمان.[۶] کارایی یا پیچیدگی هر الگوریتم را با تابعی نشان می‌دهند که تعداد مراحل لازم برای اجرای الگوریتم را برحسب طول داده ورودی، یا میزان محل‌های لازم حافظه را بر حسب طول داده ورودی نشان می‌دهد.

جنبه حقوقی

در بعضی کشورها، مثل آمریکا اگر تعبیه فیزیکی الگوریتمی ممکن باشد (برای مثال، یک الگوریتم ضرب که می‌شود آن را در واحد محاسبهٔ یک ریز پردازنده تعبیه کرد) می‌شود آن الگوریتم را به ثبت رساند.

جستارهای وابسته