Reading Time: 3 minutes

مقال من «ذا كونفيرسيشن»


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

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

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

المدخلات

بالنسبة للكمبيوتر، تمثل المدخلات المعلومات اللازمة لاتخاذ القرارات.

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

ملابس, خوارزمية, اختيار الملابس

هناك العديد من المتغيرات التي يجب مراعاتها عند اختيار ما ترتديه – حقوق الصورة: كريس/ فليكر

حسناً؛ يمكننا تمثيل كل هذه المعلومات في شكل بيانات من مجموعات بسيطة من الأرقام أو الكلمات. على سبيل المثال، يمكن أن نعبر عن درجة الحرارة برقم، وتوقعات الطقس بـ «ماطر» أو «مشمس».

التحويل

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

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

وهكذا، بعد أن تنتقي ملابسك، يجب أن ترتديها. في الواقع، ذلك جزءٌ أساسي من خوارزميات حياتنا اليومية. بالنسبة لجهاز الكمبيوتر، يمكن التعبير عن التكرار بعباراتٍ برمجية مثل «لكل قطعةٍ من الملابس، ارتديهاK، أو بلغة البرمجة المُستخدمة عادة: «for each piece of clothing, put it on».

المخرجات

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

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

التعلم الآلي

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

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

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