الخوارزميات سلسلة من الحسابات التي يعود تاريخها إلى ما قبل الميلاد بأكثر من 1550 سنة، وفي هذه المقالة نلقي نظرة على تعريف علم الخوارزميات ودوره، وبعض الأمثلة له في حياتنا اليومية.
تعريف علم الخوارزميات
الخوارزمية كلمة مشتقة من إسم عالم الرياضيات محمد بن موسى الخوارزمي الذي عاش من سنة 780 إلى 850، والخوارزميات هي صيغة لحل المشاكل، إستنادًا إلى سلسلة من الإجراءات المحددة، وهي تستخدم في الرياضيات وفي علوم الكمبيوتر، وتعني الخوارزمية عادة إجراء صغيرا يحل مشكلة متكررة.
تستخدم الخوارزميات في جميع مجالات تكنولوجيا المعلومات، بما في ذلك تحويل البيانات وفقا للإجراءات المحددة لحمايتها، وهي طريقة تستخدم من كبرى المؤسسات حول العالم، منها وزارة الخارجية الأمريكية، طالما أن الخوارزمية معقدة بما فيه الكفاية، لا يمكن لأي شخص يفتقر إلى المفتاح بأن يقوم بفك تشفير البيانات.
يمكن وصف الخوارزمية كصيغة لحل المشكلات، والتي يمكن إستخدامها على نطاق واسع في مختلف المجالات، مثل برمجة الكمبيوتر والرياضيات والحياة اليومية، كسلسلة من الخطوات التي يتعين تنفيذها لمخرج مطلوب من مدخلات معينة، ومع وجود هدف أو غاية واحدة، فإن الخوارزميات قد تكون مختلفة من واحدة إلى أخرى.
امثلة على الخوارزميات
في الحياة اليومية يحتاج الإنسان الخوارزميات في العديد من الأمور، على سبيل المثال، فإن المرأة التي تعمل على صناعة الكعك سيكون عليها العثور على الخوارزميات في كتب الطبخ، أما السائح الذي يحتاج الوصول للحديقة عليه إيجاد الخوارزميات في الخريطة، حيث يجد مجموعة من الإتجاهات المختلفة.
مع إختلاف الطريقة التي تعمل بها الخوارزميات، إلا أنها تتشارك في إثنان من الكلمات أو الخطوات، وهي “البداية” و “النهاية”، أي بداية المهمة ونهايتها، وفي وسط العملية ستكون هناك العديد من التعليمات التي يكون على الإنسان أو الكمبيوتر إتباعها لتحقيق الهدف.
علم الخوارزميات في الكمبيوتر
لجعل الكمبيوتر يفعل أي شيء، يجب كتابة برنامج كمبيوتر، ولكتابة هذا البرنامج، يجب إخبار الكمبيوتر بما عليه فعل، خطوة بخطوة، ثم يقوم الكمبيوتر بتنفيذ البرنامج أو الخطة، وبإتباع كل خطوة، يكون الجهاز قد نجح في تحقيق الهدف.
عندما نخبر الكمبيوتر بما يجب القيام به، يمكن أيضا إختيار كيفية القيام بذلك، و هذا هو المكان الذي تأتي فيه خوارزميات الكمبيوتر، والتي تعد بمثابة لتقنية الأساسية المستخدمة لإنجاز المهمة، فبدون هذه الخوارزميات لن يعرف الكمبيوتر ما عليه أن يقوم به، وكيف.
اختلاف الخوارزميات
حتى عندما تكون كل الخوارزميات تحقق الهدف نفسه تمامًا، إلا أن كل خوارزمية تفعل ذلك بطريقة مختلفة تمامًا، وكل واحدة تختلف عن الأخرى في العديد من الأمور، فربما قد تكون أحدها أسرع من الأخرى، أو أكثر أمانا، أو أقل تكلفة.
غالبًا ما يكون هناك العديد من الطرق المختلفة للخوارزميات لإنجاز أي مهمة معينة، كل خوارزمية لها مزايا وعيوب في مواقف مختلفة، وما يميزها أنها مصممة لتكون مستقلة عن اللغة، أي أنها مجرد تعليمات واضحة يمكن تنفيذها بأي لغة، ولكن الإخراج أو النتيجة ستكون كما هو متوقع لها.