معرفی و دانلود کتاب راهبردهای الگوریتمی
برای دانلود قانونی کتاب راهبردهای الگوریتمی و دسترسی به هزاران کتاب و کتاب صوتی دیگر، اپلیکیشن کتابراه را رایگان نصب کنید.
معرفی کتاب راهبردهای الگوریتمی
کتاب راهبردهای الگوریتمی نوشتهی جواد وحیدی و رمضان عباس نژادورزی، به معرفی و آموزش مواردی از قبیل تکنیکهای حل روابط بازگشتی، الگوریتمهای گراف، روابط مجانبی و اصطلاحات رایج و قوانین تجزیه و تحلیل الگوریتمها میپردازد.
یک مطالعه جامع از الگوریتم شامل طراحی، تحلیل، پیادهسازی و ارزیابی علمی از طریق آزمایش الگوریتمها برای حل مسائل مهم است. در این کتاب، برخی از ابزارها و تکنیک پایه و اساسی را معرفی میشود که برای ارزیابی مؤثر، تحلیل تئوری و عملی الگوریتمها نیاز میباشد. مهم است بدانید که بدون تجزیه و تحلیل الگوریتمها، توجیه دلیل انتخاب یک الگوریتم نسبت به دیگری و یا توجیه ضرورت توسعه یک الگوریتم جدید مشکل است. بنابراین، یکی از ابعاد مهم اغلب دورههای آموزشی، پوشش الگوریتمها یا ساختارهای دادهای پیشرفتهای است که در توسعه تکنیکهایی برای تخمین منابع برای الگوریتم داده شده نیاز هست.
این منابع شامل زمان اجرا، فضای دیسک، حافظه و تعداد پردازندههایی است که توسط یک پیادهسازی کارآمد از الگوریتم مورد نظر به کار گرفته شدهاند. در حالی که ما اغلب بر روی زمان اجرای یک الگوریتم تمرکز میکنیم، مهم این است که الگوریتم مورد نظر نتایج صحیحی تولید کند.
در واقع، توسعه برنامه کامپیوتری که خیلی سریع اجرا میشود و نتایج نادرستی را تولید میکند، بسیار رایج است. این برنامهها میتوانند بسیار مضر باشند. اهداف دیگری نیز وجود دارد، زمانی که یک نفر الگوریتمها و برنامههای کامپیوتری را برای حل مسائل گسترش میدهد. این اهداف عبارتند از به حداکثر رساندن استفاده از منابع انسانی و کامپیوتر. منابع انسانی شامل مدت زمان کارکنان فعلی و آینده برای شناخت مسائل جهت حل آنها، ابداع راهحلهای کارآمد، ارائه تجزیه و تحلیل نظری از منابع موردنیاز این راهحلها، پیادهسازی راهحلهای مناسب و انجام ارزیابی تجربی از چنین راهحلهایی در مجموعه دادههای نمونه میباشد. این مهم است که توجه داشته باشید، شواهد و دلایلی برای حمایت از این ادعا وجود دارد که بهرهوری و کارایی منابع انسانی اغلب تابع وضوح کد نوشته شده میباشد.
منابع کامپیوتری شامل زمان پردازش، حافظه کامپیوتر، زمان تأخیر ارتباطات و پهنای باند، تعداد پردازندهها و روشی که پردازندهها با هم در ارتباط هستند میباشد. وجود یک تضاد و درگیری در استفاده بعضی از این منابع، معمول است. بهطور خاص، ما تعدادی مثال را در این کتاب مورد بحث قرار خواهیم داد که در آن یک موازنهای بین زمان اجرای مجانبی و مقدار مجانبی حافظه و یا پردازنده اضافی مورد نیاز یک الگوریتم، وجود دارد. بنابراین یک نفر میتواند الگوریتمی را ابداع کند که اگر حافظه و یا پردازندههای اضافی در دسترس باشند، سریعتر اجرا شود.
در سراسر این کتاب، بر روی منابع مرتبط با یک الگوریتم داده شده تمرکز خواهیم کرد. به طور مشخص، ما نسبت به مقادیری که شامل تعداد پردازندهها، اندازه حافظه، و زمان اجرای الگوریتم مورد نظر است، علاقمند خواهیم بود. مقایسه این مقادیر امکان مقایسه منطقی بین الگوریتمها را خواهد داد. که به طور معمول نتیجه آن انتخاب یک الگوریتم مناسب جهت استفاده میباشد. به عنوان مثال، چنین تجزیه و تحلیلی امکان اتخاذ تصمیمهای آگاهانهتری در انتخاب الگوریتمها همانند الگوریتمهای مرتبسازی که در ماشینهای ترتیبی با ساختارهای دادهای با ویژگیهای مشخص استفاده میشوند، را به ما خواهد داد.
فهرست مطالب کتاب
فصل اول: تجزیه و تحلیل مجانبی
تحلیل مجانبی
نمادها و اصطلاحات
روابط مجانبی
قوانین تجزیه و تحلیل الگوریتمها
محدودیتهای تجزیه و تحلیل مجانبی
روابط مجانبی و اصطلاحات رایج
فصل دوم: استقرار و بازگشتی
استقراء ریاضی
اصل استقرای ریاضی
استقرای ضعیف
استقرای قوی
استقرای چندگانه
استقرای قهقرایی
بازگشت پذیری
روابط بازگشتی
تکنیکهای حل روابط بازگشتی
توابع مولد
معادله مشخصه
درخت بازگشتی
قضیه اصلی
مسائل حل شده
فصل سوم: راهبردهای حل الگوریتم
راهبردهای حل الگوریتم
روش تقسیم و حل
روش برنامه سازی پویا
روش حریصانه
روش عقبگرد
روش شاخه و حد
الگوریتمهای گراف
منابع
مشخصات کتاب الکترونیک
نام کتاب | کتاب راهبردهای الگوریتمی |
نویسنده | جواد وحیدی، رمضان عباس نژادورزی |
ناشر چاپی | انتشارات فناوری نوین |
سال انتشار | ۱۳۹۷ |
فرمت کتاب | |
تعداد صفحات | 252 |
زبان | فارسی |
شابک | 978-600-7272-16-9 |
موضوع کتاب | کتابهای الگوریتم |
سپاس از نویسنده کتاب