مهندسی الگوریتم
مهندسی الگوریتم طراحی الگوریتم کاربردی است که کاربردهای طراحی الگوریتم نظری را در جهان واقعی دنبال میکند. به دنبال طراحی، تحلیل، کاربرد، اشکالزدایی و ارزیابی تجربی برنامههای رایانهای برای حل مسایل الگوریتمی است. این رشته روشها و ابزارهایی برای توسعه و مهندسی کدهای الگوریتمی کارا فراهم میآورد و هدف آن جمعآوری و تقویت راهکارهای نظری سنتی برای طراحی و تحلیل الگوریتمها و ساختار دادهها است.
الگوریتمها قالبهای ساختمانی اصلی برنامه کاربردی کامپیوتر میباشند. با این حال، پیشرفت در سختافزار کامپیوتر، غیرواقعی و غیرآرمانیترشدن مدلهای کامپیوتری سنتی و تقاضای روزافزون راهحلهای مؤثر برای مشکلات دنیای واقعی، فاصله بین تئوریهای کلاسیک الگوریتم و الگوریتمها در عمل را افزایش داده است.
نظم و انضباط در حال پدیدارشدن از مهندسی الگوریتم در نظر دارد این فاصله را پر کند. تئوری اجزاء مهندسی الگوریتم با استفاده از برنامههای واقعی و به وسیلهٔ آزمایشهای مفید و با تأکید برابر بر روی همه جنبههای ناشی از چرخه فرایند حل مسئله از مدلسازی واقعی، طراحی، تجزیه و تحلیل، پیادهسازی قوی و کارآمد تا آزمایشهای دقیق، مورد بررسی قرار میدهد