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

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

پایان نامه مدیریت,پایان نامه مدیریت,پایان نامه مدیریت

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

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

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

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

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

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

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

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

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

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

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

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

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

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

برچسب ها

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

0 دیدگاه در “پایان نامه طراحی الگوریتم ها”

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

سوپروب close
بک لینک