الگوریتم کوتاهترین مسیر
از مهمترین مسائل در درس طراحی الگوریتم ، الگوریتم کوتاهترین مسیر می باشد. طراحی الگوریتم از مهمترین دروس تخصصی مهندسی کامپیوتر گرایش نرم افزار و هوش مصنوعی می باشد.در بحث گرافها مسئلهٔ یافتن کوتاهترین مسیر در واقع مسئلهٔ یافتن مسیری بین دو رأس (یا گره) است به گونهای که مجموع وزن یالهای تشکیل دهندهٔ آن کمینه شود.
برای مثال میتوان مسئلهٔ یافتن سریعترین راه برای رفتن از یک مکان به مکان دیگر روی نقشه را، در نظر گرفت؛ در این حالت رأسها نشان دهندهٔ مکانها و یالها نشان دهندهٔ بخشهای مسیر هستند که برحسب زمانِ لازم برای طی کردن آنها وزن گذاری شدهاند.این مسئله گاهی تحت عنوان مسئلهٔ یافتن کوتاهترین مسیر بین دو راس نام گذاری میشود تا از سایر حالتهای کلی که به شرح زیر هستند، متمایز شود:مسئلهٔ یافتن کوتاهترین مسیر از مبدا واحد که در آن هدف یافتن کوتاهترین مسیر از رأس مبدا v تا تمامی رئوس دیگر در گراف است.
مسئله یافتن کوتاهترین مسیر به مقصد واحد که در آن هدف یافتن کوتاهترین مسیر از تمامی رئوس گراف تا رأس مقصد v است.مسئله یافتن کوتاهترین مسیر بین هر دو رأس که در آن هدف یافتن کوتاهترین مسیر بین هر جفت رأسِ v و ‘v در گراف است.این حالتهای عمومی به صورت معناداری از الگوریتمهای کارآمدتری نسبت به مسئلهٔ مورد نظر ما برخوردارند.