ما هي الخوارزميات
محتويات المقال :
سلسلة تعلم الخوارزميات: ما هي الخوارزميات؟ تُعرف «الخوارزميات-Algorithms» بأنها مجموعة من الخطوات المحددة والمتسلسلة التي تنفذ من أجل حل مشكلةٍ ما أو من أجل تنفيذ مهمة محددة. في عصرنا الحالي يكاد لا يخلو أي علم من تطبيق مفاهيم الخوارزميات بأشكالها المختلفة ويشاع استخدام الخوارزميات في مجال علوم الحاسوب ولكن الخوارزميات ليست بمفهوم حديث النشأة بل ظهر مفهومها بشكل أو بآخر في الحضارات القديمة وسميت بهذا الاسم نسبة إلى العالم محمد بن موسى الخوارزمي الذي أوجد هذا المصطلح في القرن التاسع الميلادي.
تعرف الخوارزميات في علم الحاسوب بأنها مجموعة من التعليمات البرمجية التي ينفذها الحاسب الالي لتحقيق مهمة معينة. تُنفذ هذه التعليمات على مجموعة من البيانات تعرف باسم المدخلات ونتيجة لذلك نحصل على حل للمشكلة المحددة ويعبر عنه بالمخرجات. تتباين الخوارزميات من حيث درجة الصعوبة وطريقة البحث عن الحل فقد تكون سهلة كمثال معرفة ما إذا كان الرقم زوجيًا أم فرديًا أو قد تكون بالغة الصعوبة مثل خوارزمية معرفة أقصر الطرق مسافة للوصول إلى مدينة معينة عبر المئات من الطرق المتاحة. بداية تكتب الخوارزمية بصيغة الكود الزائف «اpseudo code» وهي طريقة منطقية لكتابة الأوامر ولكن ليست شفرة برمجية حقيقية فعلى سبيل المثال يمكن كتابة خوارزمية تحديد ما إذا كان العدد زوجيًا أم فرديًا بصيغة كود زائف بالطريقة التالية:
هناك طرق أخرى للتعبير عن الخوارزمية أشهرها ما يعرف بمخططات التدفق «flow charts» التي توضح تسلسل الخوارزمية من البداية حتى النهاية وهي عبارة عن تمثيل مرئي لتسلسل الخطوات والقرارات اللازمة لأداء المهمة المحددة. تجدر الإشارة إلى أن لكل شكل هندسي في مخطط التدفق مدلول معين وسيتم تناولها بالتفصيل في المقالات القادمة. يمكن تمثيل الخوارزمية السابقة على شكل مخطط تدفق كالتالي:
مخطط التدفق لمعرفة ما إذا كان العدد زوجيًا أم فرديًا
نتيجةً للتقدم المتسارع للعلم والتقنية في عصرنا وصعوبة المسائل التي تحتاج إلى حل، يلجأ العلماء والباحثين إلى تصميم خوارزميات تمتاز بالكفاءة والسرعة. فعلى سبيل المثال تنظيم ومراقبة السير في الطرق السريعة، وتحليل الجينيوم البشري، و شبكات التواصل الاجتماعي التي يتجاوز مستخدميها مئات الملائيين، تحتاج كل تلك المواضيع إلى خوارزميات فائقة السرعة لمعالجتها وتحليلها إذ أن الحواسيب العادية حتى وإن كانت قدرتها الحاسوبية فائقة فإنها لا تستطيع التعامل مع المسائل المعقدة بكفاءة. لذا عند تصميم خوارزمية ما ينبغي التركيز على كفاءتها في التعامل مع المدخلات الضخمة وسرعتها في الحصول على المخرجات المطلوبة.
نظرًا لتنوع المجالات العلمية ولخصوصية كل قسم فيها، فإن كل قسم على حدا لديه مشاكله الخاصة وبالتالي يحتاج لخوارزميات معينة لحل تلك المشاكل. بشكل عام هناك مجموعة من الخوارزميات تُعتبر الأساس وأما البقية فيتم اشتقاقهن بشكل أو بآخر من تلك الخوارزميات الأساسية وهي:
بالإضافة إلى ذلك، هناك العديد من الخوارزميات المتعلقة بالذكاء الاصطناعي وعلم التشفير وخوارزميات التحسين وخوارزميات تنقيب البيانات. سيتم تغطية أهم الخوارزميات بالتفصيل في المقالات القادمة.
.Skiena, Steven S. The algorithm design manual: Text. Vol. 1. Springer Science & Business Media, 1998
.Cormen, Thomas H., et al. Introduction to algorithms. MIT press, 2009
استشراف علمي مثير يكشف شكلنا بعد مئات آلاف السنين لطالما شغل سؤال: "كيف سيبدو الإنسان…
عمر ياغي ونوبل الكيمياء.. من تحديات شُحّ المياه إلى ثورة الأطر المعدنية العضوية (MOFs) الحلم…
ضوء كمومي مضغوط فائق السرعة: اختراق علمي يفتح آفاقاً جديدة للاتصالات المشفرة بسرعات "البيتاهرتز" على…
مُنحت جائزة نوبل في الفيزياء لعام 2025 (Nobel Prize in Physics 2025) لثلاثة من أبرز…
تُعد مملكة دلمون واحدة من أقدم الممالك الحضارية في تاريخ الشرق الأدنى القديم، والتي ازدهرت…
الفرامل الخفية لـ "جيش المناعة": اكتشاف الخلايا التائية التنظيمية يفتح آفاق علاج أمراض المناعة الذاتية…
View Comments
كيف أتواصل معكم أنا مبتدأ وأحب هذا العلم كثيراً