الخوارزميات

الرئيسية » علوم » رياضيات » الخوارزميات

لا تخص الخوارزميات algorithms علماء الرياضيات أو الأكاديميين فقط، ولم تعد هناك حاجة لمعرفة كيفية الترميز لاستخدامها أو فهمها. فاليوم هناك أشخاص يطلقون خوارزميات جديدة عبر تطبيق التقنيات المتطورة على كميات ضخمة من البيانات من خلال البرمجة الوراثية لإيجاد الفاعلية والمزيد من التحسن في مجالات مختلفة. كما ابتدع أشخاص تقنيات فعالة بالاعتماد على مدى برودة المعدن وإحداث خوارزميات على طرازه (يسمى ذلك محاكاة التلدين simulated annealing).

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

ما هي الخوارزميات

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

وجاءت تسمية “خوارزمية” من اسم عالم الرياضيات العربي محمد بن موسى الخوارزمي، الذي كان جزءًا من الأسرة الملكية في بغداد وعاش بين 780- 850 م.

تستخدم الخوارزميات على نطاق واسع في كل مجالات الـ IT أو (تقنية المعلومات). فمثلًا  خوارزمية محرك البحث تقبل سلاسل بحث من الكلمات المفتاحية كمدخلات، وتبحث في قواعد بياناتها عن صفحات ويب ذات صلة، ثم تعيد النتائج.

وتقوم خوارزمية التشفير بتحويل البيانات بالاعتماد على أفعال محددة لحمايتها. فمثلًا خوارزمية سرية رئيسية مثل قاعدة تشفير بيانات وزارة الدفاع الأمريكية تستخدم المفتاح نفسه لتشفير البيانات وفك تشفيرها. وطالما أن الخوارزمية معقدة بشكل كاف فلا يقدر أي شخص لا يملك المفتاح على فك تشفيرها.§

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

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

وساهم غوتفريد لايبتنز  Gottfried Liebniz في تطويرها عن طريق فكرته حول الاستنتاج المنطقي، والتي ساوت بين الجبر وعلم المنطق، وادّعى أن هناك طريقة يمكن أن تُعالج المفاهيم المنطقية كما تُعالج المفاهيم الرياضية. ويعتقد الباحثون أن جاكوارد لوم Jacquard loom وتقنيات تبديل الهاتف هي التطورات الأساسية الأولى التي قادت إلى اختراع الحواسيب الأولى.

على صعيد الرياضيات، يعود الفضل في تطور الخوارزميات إلى جورج بولي وغوتلوب فريجه وجوسيبه بيانو، حيث كانوا قادرين على اختزال علم الحساب إلى مجموعة من الرموز المُعالجة حسب قوانين. ونتج عن القيام بذلك عدد من المفارقات التي تدعو للقلق مثل مفارقة راسل Russell’s paradox ومفارقة غودل Godel’s paradox of the liar.

وقد واجهت الخوارزميات “مشكلة القرار” وهي مشكلة عن قابلية الحساب الفعال. والتي أثبت إميل بوست Emil Post وآلان تورنينج Alan Turning فيما بعد أنها مشكلة غير قابلة للحل.

أما التطور التالي في تاريخ الخوارزمية فكان “آلة تورنغ” وهي السابقة على اختراع الحواسيب. واختُرع الحاسوب الأول في بدايات القرن العشرين، الذي بقي مواكبًا لتطور البرامج (software) والمعدات (hardware). خاصة مع ظهور الرقائق السيليكونية.§

ميزات الخوارزميات

  • الهدف الرئيسي من أي خوارزمية هي الوصول إلى ناتج أو مُخرج محدد.
  • تتضمن الخوارزمية عدة خطوات متتابعة.
  • الحصول على النتائج يتم بعد إنهاء الخوارزمية للعملية بالكامل.

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

صنفت الخوارزميات حسب بنائها إلى  3 أنواع:

  • التسلسل Sequence: يمتاز هذا النوع بوجود سلسلة من الخطوات، وينبغي إنجاز كل خطوة بالكامل واحدة بعد الأخرى.
  • التفرع Branching: يتمثل هذا النوع بمشكلات من نوع (إذا كان الشرط صحيحًا سيكون الناتج A، وإذا كان الشرط غير صحيح، فإن الناتج سيكون B). ويعرف هذا النوع أيضًا باسم “نوع الاختيار selection”.
  • الحلقة Loop: ويعرف أيضًا باسم “نوع التكرار repetition” وفيه قد يتكرر إنجاز العملية باستمرار تحت شروط معينة. لكن ينبغي التأكد من إنهاء العملية بعد عدد من التكرارات تحت الشروط.

تطبيقات الخوارزمية

يمكن استخدام الخوارزمية كما ذكر سابقًا في العديد من المجالات، وغالبًا ما تمثَّل برسم بياني لفهمها بشكل أوضح. وفيما يلي عدد من الأمثلة لتطبيق الخوارزمية بأشكال بيانية:

  • تطبيق الخوارزمية في الرياضيات
  • تطبيق الخوارزمية في برمجة الحواسيب
  • تطبيق الخوارزمية في الحياة اليومية§