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