مفهوم ""algorithm"" در مهندسی کامپیوتر
مفهوم ""algorithm"" در مهندسی کامپیوتر چیه ؟
٣ پاسخ
در مهندسی کامپیوتر، الگوریتم به مجموعهای از دستورالعملهای دقیق و گام به گام گفته میشود که برای حل یک مسئله یا انجام یک وظیفه خاص طراحی شدهاند. الگوریتمها میتوانند ساده یا پیچیده باشند و در بسیاری از زمینهها از جمله برنامهنویسی، هوش مصنوعی، یادگیری ماشین، و تحلیل دادهها استفاده میشوند.
ویژگیهای اصلی الگوریتمها:
- دقت: هر الگوریتم باید دقیق و بدون ابهام باشد.
- محدودیت: الگوریتم باید در تعداد محدودی از گامها به پایان برسد.
- ورودی و خروجی: الگوریتمها معمولاً یک یا چند ورودی میپذیرند و یک یا چند خروجی تولید میکنند.
کارایی: الگوریتمها باید بهینه و کارآمد باشند تا بتوانند مسائل را به سرعت و با دقت حل کنند.
مثالهای کاربردی:
- مرتبسازی: الگوریتمهای مرتبسازی مانند Bubble Sort و Quick Sort برای مرتبسازی دادهها استفاده میشوند.
- جستجو: الگوریتمهای جستجو مانند Binary Search برای پیدا کردن عناصر خاص در دادهها به کار میروند.
- بهینهسازی: الگوریتمهای بهینهسازی برای پیدا کردن بهترین راهحلها در مسائل پیچیده مانند مسیریابی و تخصیص منابع استفاده میشوند.
برنامهریزی جهت اجرای صفر تا صد یک کار را الگوریتم میگویند. یک الگوریتم شامل n ورودی و در نهایت یک خروجی است. شرط برقرار بودن یک الگوریتم این است که حتما زمان اجرای محدود داشته باشد و به اتمام برسد. هرکاری که در دنیای واقعی انجام میشود شامل یک الگوریتم است.
بهعنوان مثال الگوریتم زندگی روزانه یک انسان به این صورت است که صبح از خواب بیدار میشود، مسواک میزند، به محل کار میرود، به خانه بازمیگردد و در انتهای شب الگوریتم آن انسان پایان یافته و به خواب میرود. این موضوع در دنیای ماشینها بسیار حائز اهمیت است. تمام پردازندهها، سیستم عاملها، برنامههای کامپیوتری و ... براساس الگوریتمهای خاصی کار میکنند و به کاربر سرویس ارائه میدهند.
در ریاضیات و علوم کامپیوتر به مجموعهای از مراحل و فرآیندهای متوالی برای حل یک مسئله و یا انجام محاسبات الگوریتم (Algorithm) گفته میشود. الگوریتمها فهرست دقیقی از دستورالعملها هستند که با ترتیب خاصی اجرا شده و خروجی مورد نظررا بهدست میآورند. آنها میتوانند بسته به آنچه که شما میخواهید ساده و پیچیده باشند.
شاید دستورالعمل پخت غذا و یا کیک مثال خوبی برای درک بهتر معنای الگوریتم باشد. یک آشپز برای طبخ غذای جدید، دستورالعمل و مراحل پخت را به ترتیب خوانده و آنها را یکی یکی و به ترتیب اجرا میکند. بهعلاوه اینکه در هر مرحله مواد مورد نیاز را تهیه و به غذا اضافه میکند (مواد را میتوان بعنوان ورودی در نظر گرفت) و نتیجه به دست آمده این است که غذای جدید (خروجی) کاملاً پخته و آماده سرو است.
در واقع شما هر بار که از تلفن، رایانه، لپ تاپ یا ماشین حساب خود استفاده میکنید، در پشت صحنه آن یک الگوریتم در حال خواندن و اجرا شدن است. الگوریتم ها مستقل از زبانهای برنامهنویسی هستند، یعنی میتوانند در هر زبانی پیادهسازی و خروجی یکسانی داشته باشند و وظیفه یک فرد بعنوان برنامهنویس آن است که الگوریتم را به برنامهای قابل اجرا در کامپیوتر تبدیل کند.
در کلیترین مفهوم، یک الگوریتم مجموعهای از دستورالعملها است که به رایانه میگوید، چگونه مجموعهای از حقایق جهان را به اطلاعات مفید تبدیل کند. مرتبسازی مجموعه اعداد گرفته شده، یافتن مسیرها از طریق نقشه و حتی نمایش اطلاعات بر روی صفحه نمایش نمونههایی از اجرای یک الگوریتم خاص هستند.
مرحله محاسبات در الگوریتم
در ساختار یک الگوریتم، واحد محاسبات قلب الگوریتم نامیده میشود. این بخش شامل سه بخش محاسبات ریاضی، تصمیمگیری (شرطی) و تکرار است. اما این بخش برای مثال لباس پوشیدن چگونه بیان میشود؟ اینکه کت بپوشید ممکن است به دما بستگی داشته باشد و اینکه کدام ژاکت را انتخاب کنید ممکن است به پیش بینی هوا در طول روز وابسته باشد (واحد محاسبات) . به زبان کامپیوتر، بخشی از الگوریتم لباس پوشیدن اینگونه بیان میشود "اگر هوا زیر 25 درجه است و باران می بارد، یک کت بارانی و پیراهنی آستین بلند برای پوشیدن زیر آن انتخاب کن. (واحد تصمیمگیری)
نمایش خروجی الگوریتم (Output)
در نهایت، آخرین مرحله یک الگوریتم بیان پاسخ یا خروجی است. خروجیها نیز همانند ورودی به صورت انواع مختلفی از دادهها بیان میشوند و در مواردی ممکن است، خروجی یک الگوریتم بعنوان ورودی الگوریتم دیگری بکار رفته باشد و بدین ترتیب الگوریتمهای بزرگ تر را سازماندهی کرد و برای مسائل پیچیده پاسخی مناسب یافت.
حال اگر به مثال خودمان برگردیم، خروجی پوشیدن لباس را میتوان در قالب نظر یک همکار در مورد زیبایی لباستان و یا نگاه اطرافیان به شما بیان کرد. حتی اگر روز کاری بر وفق مرادتان پیش رود ممکن است یک عکس سلفی هم بگیرید و آن را بر روی شبکههای اجتماعی مانند اینستاگرام قرار دهید و بازخورد آن را بعنوان خروجی در نظر بگیرید.
* باز نشر از سایت: 👇
الگوریتم(~الخارزمی)واژه ای برگرفته از نام خارزمی ریازیدان ایرانیه که به پاسِ اموزه هاش در چگونگی شمارش به سامانش کَردها تا براورده شدنِ خواسته گفته میشه. برای نمونه الگوریتم پیام گذاشتن من این بود که، یکم، قابِ پیام رو انگشت بزنم، دوم، پیامم رو بنویسم، سوم دکمه ی فرستادن پیام رو انگشت بزنم تا با سامانشِ سه کَرد خواسته ام که پیام گذاشتن بود رو براورده کنم. الگوریتم رو میشه چیزی به مانند نقشه ی راهُ یک برنامه دونست که میگه در هر نوبه چه کاری باید کرد تا خواسته ای براورده بشه.