شارك المقال 👈

Share on facebook
Share on twitter
Share on linkedin
Share on pocket

تنبع فكرة الخوارزميات في الحاسوب من مفهوم الخوارزميات بشكلٍ جوهري؛ فهي طريقة أساسية وقاعدة تستند عليها عوامل بناء وتصميم البرامج والعمليات الحاسوبية، وإنّ أي أحد يريد فهم أساسات العمليات الحاسوبية، عليه أن يلقي نظرة عميقة على مبدأ الخوارزميات في الحاسوب.

مفهوم الخوارزميات في الحاسوب

إذا أردت للحاسب أن يقوم بأي شيء، فيجب عليك أولًا كتابة برنامج حاسوبي، ولكتابة برنامج حاسوبي، عليك أن تخبر حاسوبك بدقة وبخطوات مفصلة ماذا تريد منه أن يفعل، ليقوم بعدها الحاسب بتنفيذ هذه الخطوات بحرفية تامة، وبالتالي تنفيذ البرنامج، وصولًا إلى تطبيق الهدف المعني.

عندما تطلب من الحاسب أن يفعل شيئًا ما، تستطيع أيضًا أن تختار كيف يفعل هذا الشيء، وهنا يأتي دور الخوارزميات في الحاسوب فهي تعتبر تقنية بسيطة لإنجاز الهدف المعني.

في عالم البرمجة الحاسوبية، هنالك أكثر من طريقة، أي خوارزمية، لإنجاز المهمات والعمليات المطلوبة، وتختلف كل خوارزمية بسلبيات وإيجابيات نظرًا لاختلافها في تنفيذ العمليات.1

أنواع الخوارزميات

عند النظر إلى الخوارزميات في الحاسوب من منظور اختلاف طرق العمل، سنحصل على هذه الأنواع الرئيسية:

  • خوارزمية الترتيب

الأكثر انتشارًا واستخدامًا، تعتمد كما يوحي اسمها على ترتيب القوائم، ذلك أن عمل الحاسب يقتضي تنظيم وترتيب العديد من القوائم واللوائح من الأوامر البرمجية.

تتشعب هذه الخوارزمية إلى عدة أنواع فرعية هي الأخرى: الترتيب السريع، وترتيب الدمج، وترتيب الفقاعات وغيره

  • خوارزمية البحث الشامل

طريقة تعتمد على إلقاء نظرة على الحلول، والإمكانيات المتوفرة، واختيار الأفضل منها.

  • خوارزمية التجزئة والتقسيم “Divide and Conquer”

يعتمد مبدأ هذه الخوارزمية على تجزئة المشاكل الحاسوبية إلى أجزاء صغيرة، ثم القيام بحلها.

  • خوارزمية الحل الجشع

طريقة تقوم بحل المشاكل التي تواجهها عبر استخدام أفضل الحلول أو الطرق المتوفرة في الوقت الحالي، مع تجاهل تام للمستقبل، أو الحلول والطرق المستقبلية.

  • خوارزمية برمجة ديناميكية

تعتمد على استخلاص أو الوصول إلى حل من خلال حلول جانبية أو صغيرة سابقة، أو دراسة الحلول السابقة واستنتاج حل جديد منها يناسب الحالة التي أمامها، وتعتبر من أحدث الخوارزميات وأكثرها فعالية.2

أمثلة على الخوارزميات في الحاسوب

كي نفهم طريقة عمل الخوارزميات في الحاسوب لابد من تبسيط الأمر في مثال هيّن، ولنقل أن لديك صديقًا سيصل إلى مطار مدينتك، وعليه التوجه من المطار إلى منزلك.

من منظور الحاسب، يجب تحديد أكثر من خوارزمية محددة بخطوات واضحة، كي يتم إنجاز هذا الهدف، أو أحيانًا يكون الهدف بسيطًا ويكفي تحديد خوارزمية واحدة لإنجازه، مثل المثال الذي نتحدث فيه عن استقبال صديق من المطار.

مثلًا نضع خوارزمية ركوب التاكسي، ونضع خطوات واضحة ومفصلة لهذه الخوارزمية: أولًا؛ التوجه إلى محطة وقوف للتاكسي، ثم الركوب في التاكسي، فإعطاء سائق التاكسي عنوان المنزل.

أو بإمكاننا استخدام خوارزمية ثانية، مثل الاعتماد على ركوب الحافلة، وأي خوارزمية تتبعها يجب أن ترافقها خطوات مرتبة وواضحة، لأننا كما قلنا، الحاسب يتبع هذه الخطوات بدقة وعناية.

وكما نرى، فإنّ وجود أنواع مختلفة من الخوارزميات سببه اختلاف طريقة تنفيذ كل واحد منها للهدف المطلوب، فخطوات ركوب التاكسي تختلف عن خطوات ركوب الحافلة، ومثلما هنالك سلبيات وإيجابيات مختلفة عند مقارنة ركوب الحافلة بالتاكسي، فإن الخوارزميات في الحاسوب أيضًا تختلف بكفاءتها وفاعليتها.3

المراجع