[the_ad_placement id="scine_before_content"]

ما هي الخوارزمية؟

الخوارزمية هي خطوات دقيقة ومتسلسلة تؤدي بشكلٍ ما إلى نتيجةٍ أو حلٍ لمشكلةٍ معينةٍ. من الأمثلة الشائعة التي تُستخدم لتوضيح معنى الخوارزمية هي وصفة الطعام. فعندما يَتَّبِعُ الطهاة وصفة معينة لتحضيرِ أحد أنواع الكعك، ستكون الكعكة هي النتيجة النهائية. وإذا اتبعت الوصفة بدقةٍ مرة تلو الأخرى فستتذوق الكعكة نفسها، لكن إذا انحرفت عن تلك الوصفة ولو قليلًا فما سيخرج لك من الفرن قد يخيب آمال براعم التذوق لديك.

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

نستخدم الخوارزمية أيضًا لاتخاذِ مختلفِ أنواعِ القرارات على مدارِ الأسبوع. لنفترض أنك متفرغ وليس لديك أيُّ خطط في فترة ما بعد الظهيرة، فلا أنشطة عائلية ولا أعمال منزلية لتنجزها، ولتختار ما يجب فعله من المحتمل أن تفكر في سلسلة من الأسئلة أو الخطوات. على سبيل المثال: هل تود قضاء الوقت بمفردك أم مع أحد أصدقائك؟ هل تريد البقاء في داخل المنزل أم تريد الخروج؟ هل تفضل أن تلعب لعبة ما أو تشاهد فلمًا؟

في كل خطوةٍ تقوم بها سوف تفكر في خيارٍ واحدٍ أو أكثر، وقد تعتمد بعض خياراتك على البيانات التي جمعتها من المصادر الأخرى مثل توقعات الطقس. ربما تُدرك أن:

  1. صديقك المفضل متوفر.
  2. الجو دافئ ومشمس.
  3. أنك تحب لعب كرة السلة.

فتقرر أن تذهبا معًا إلى حديقةٍ قريبة حتى يتمكن كلٌ منكما من لعب كرة السلة.

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

الخوارزميات بحرٌ متغير

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

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

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

يمكن أن تصبح الخوارزميات معقدة بشكلٍ كبيرٍ، وذلك لأنها تجمع الكثير من البيانات من مصادر مختلفة للوصول لحلٍ واحدٍ أو أكثر. يجب أن تتبع خطوات الخوارزمية ترتيبًا محددًا، وتُسمى مثل هذه الخطوات ب dependencies، وأحد الأمثلة على ذلك هي العبارة الشرطية إذا/فإن if/then. فأنت تصرفت مثل خوارزمية الحاسوب عندما قررت كيفية قضاءك فترة بعد الظهيرة، وكانت إحدى الخطوات التي اتبعتها هي التفكير في حالة الطقس، فإذا كان الطقس مشمسًا ودافئًا فأنت ستختار الذهاب إلى خارج المنزل.

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

تُستخدم خوارزميات الحاسوب في تصميم العديد من البرامج، وتظهر في كل يوم خوارزمية جديدة ومطورة. على سبيل المثال، تُساعد بعض الخوارزميات المختصة في معرفة كيفية انتشار الأمراض وأخرى تساعد في التنبؤ بالطقس وقد تختار بعض الخوارزميات نوعية الاستثمارات في سوق الأوراق المالية. سيتضمن المستقبل خوارزميات تُعلمْ الحواسيب كيفية فهم البيانات الأكثر تعقيدًا بشكلٍ أفضل، وهذه هي البداية لما يُسمى بالتعلم الآلي machine learning، أيّ أجهزة حواسيب تقوم بتعليم أجهزة حواسيب أخرى.

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

لماذا سميت الخوارزميات بهذا الاسم؟

بالرجوع إلى القرن التاسع الميلادي، اكتشف أحد علماء الرياضيات والفلك اكتشافات كثيرة في العلوم والرياضيات ونظام الأرقام الذي نستخدمه اليوم. إن هذا العالم هو محمد بن موسى الخوارزمي، واسمه الأخير من أصلٍ فارسي نسبة للمنطقة التي ولد فيها: خوارزم. ولكن على مر العصور ومع ازدياد شهرته، غيرَ الأشخاص الذين يسكنون خارج الشرق الأوسط اسمه إلى Algoritmi وتم تعديل هذه الصيغة من اسمهِ لاحقًا لِتُكون مصطلحًا إنجليزيًا يصفُ الخطوات التي نعرفها اليوم باسم الخوارزميات algorithms.

المصادر: 1