الرياضيات والحياة.. 5 خوارزميات حسابية يمكن أن تُحسِّن حياتك
لطالما كانت الفكرة العامة هي أن البشر يتعلَّمون من تجاربهم السابقة، وأن الآلة تتبع التعليمات التي يُقدِّمها البشر، ولكن ماذا لو تمكَّن البشر من تدريب الآلات على التعلُّم من البيانات السابقة، والسماح لها بالتحسُّن بمرور الوقت عند تعرُّضها لبيانات جديدة، ثم التعلُّم مما تنتجه الآلة بعد ذلك؟ حسنا، في تلك النقطة نحتاج إلى أن نتعرَّف إلى الخوارزميات.
الخوارزميات هي مجموعة من الخطوات المُحدَّدة لحل مشكلة ما، فعندما تريد أن تطهو وجبة ما، لا بد من تنفيذ مجموعة من الخطوات المُحدَّدة بدءا من تحضير المكونات، وخلطها معا، وصولا إلى تقديم الوجبة، هذه الخطوات تُسمى خوارزميات، لكن هل يمكن أن تُصبح الحلول التي تُوفِّرها علوم الحاسب في العالم الافتراضي صالحة لمشكلاتنا نحن البشر في عالمنا الواقعي؟
قاعدة الـ 37%
مبارك عزيزي القارئ، لقد بدأت عملك الخاص بعد سنوات من الكفاح موظَّفا، وجاءت مرحلة تعيين الموظفين، أنت تريد مساعدا لك، وبالطبع تود أن يكون أكفأ المُتقدِّمين للوظيفة، وهم مئة شخص، هنا تواجهك مشكلة بسيطة، وهي أنك لا تملك وقتا كافيا لإجراء كل هذا العدد من المقابلات بتأنٍّ، ومع ذلك تريد الشخص الأفضل قدر المستطاع، لذا فقد قرَّرت أن تقابل المُتقدِّمين واحدا تلو الآخر بسرعة، وتُقرِّر قبوله أو رفضه فور خروجه من المقابلة، ومَن يُرفَض فلن تستطيع استرجاعه مرة أخرى.
حسنا، إنها طريقة سريعة بالفعل لاختيار مساعدك، ولكنك خائف أن تقبل شخصا في بداية المقابلات، وتُفوِّت على نفسك شخصا أجدر وأكفأ قد تقابله لاحقا، وخائف أيضا أن تظل تبحث عن الأفضل، فتظل ترفض المُتقدِّمين حتى لا يتبقى إلا القليل، فتضطر لاختيار واحد من المتبقي مُجبرا.
تُدعى تلك بمشكلة السكرتير (The secretary problem)، التي اشتهرت على يد مارتن جاردنر عام 1960، وتتمثَّل في السؤال البسيط: متى نتوقَّف عند مرشح ما ونختاره للوظيفة المعروضة؟ الحل يكمن في قاعدة الـ37%، أي أن تعقد مقابلات لأول 37% من المُتقدِّمين للوظيفة، استخدمها بعد ذلك كبيانات لفحص متوسط قدرات المُتقدِّمين عموما، ثم استكمل طريقك في المقابلات واختر أول شخص يكون أفضل من الـ37% السابقين. هذه النسبة إذن تُعتبر نقطة التحوُّل التي تحصل عندها على أعلى احتمال للحصول على أفضل مُتقدِّم لوظيفتك.
رغم أن هذه الإستراتيجية للاختيار قد تبدو غريبة بعض الشيء، فإن فرصتك للوصول للقرار المثالي بدونها قد تكون ضئيلة للغاية، بالطبع تزداد فرص اختيار الشخص الأكثر كفاءة عندما تملك الكثير من الوقت والجهد لإجراء جميع المقابلات، وترتيب الأشخاص تصاعديا من الأفضل للأسوأ، فيمكنك وقتها زيادة نسبة نجاح خيارك، ولكن في بعض الوظائف التي يتقدَّم لها ألف شخص أو أكثر مثلا، فإننا نحتاج إلى طريقة سريعة للاختيار، مع فرص نجاح عالية.
تأتي هذه النسبة تحديدا من عالم الاحتمالات الرياضية بوصفها أفضل نقطة حسابية نستطيع عندها التوقُّف والاختيار بين الخيارات المتاحة، عندما نريد حساب احتمال اختيار (X) من العدد المتاح من الخيارات (N)، وبعد رفض عدد من الخيارات (M)، وجد أن أفضل نسبة تُعظِّم من قيمة (X) هي 37%.
مثال آخر، عندما تريد شراء حذاء جديد، ولكنك لا تملك الوقت الكافي للبحث في المحلات كافة، فإذا كان لديك مثلا ثلاثون دقيقة للشراء، فخصِّص 37% من الوقت -أي 11 دقيقة تقريبا- في استكشاف الأحذية في المحلات التي تمر بك، ثم اختر بعد ذلك أول حذاء يعجبك من المحلات التالية.
إذا أردت البحث عن سكن؛ لأنك انتقلت لمدينة جديدة، ثم بدأت في زيارة المنازل التي رُشِّحت لك، وتود أن تحصل على أفضل احتمالات النجاح الممكنة، فقسِّم وقت البحث إلى 10 أيام على سبيل المثال، ابدأ في زيارة أول عدة منازل، حتى ينتهي 37% من عدد الأيام المتاحة لعملية البحث، أي بعد 4 أيام تقريبا، مهمتك الآن أن تبحث عن منزل أفضل من تلك التي زرتها في الأيام السابقة، ليصبح هو سكنك الجديد.
الاستغلال أم الاستكشاف؟
تخيَّل أنك في زيارة لمدينة ما، وتريد أن تختار بين مطعمين، مطعم تعتاد عليه وتعرف ما يُقدِّمه من أطعمة، وآخر جديد لم تأكل فيه من قبل، هل تختار المطعم المضمون الذي تعرف ما يُقدِّمه وتثق به؟ أم تغامر وتستكشف مأكولات المطعم الجديد؟
المثال السابق هو توضيح لما يُسمى مشكلة الاستكشاف أم الاستغلال (explore or exploit problem)، فعندما تواجه عدة قرارات لكي تختار من بينها تجد نفسك محاصرا بين اختيار أمر قديم تعرفه وتثق به، وبالتالي فأنت هنا تقوم باستغلال ما توصَّلت إليه من معلومات وخبرات على مدار حياتك، أو أن تستسلم لروح المخاطرة والاستكشاف، وتجرِّب أمرا جديدا عليك؛ لعله يكون أفضل من خيارك القديم المعتاد.
الآلة تتعلَّم عن طريق تكرار العمليات باستمرار، مما يُتيح لها أن تتعلَّم مرة تلو الأخرى كيف تتخذ قرارا أقرب إلى الصواب عن المرة التي سبقتها، هنا طوَّر علماء الذكاء الاصطناعي ما يُسمى خوارزميات حل مشكلة ماكينات الحظ المتعددة (Multi armed bandit problem) لمساعدتك على حل هذا النوع من المشكلات.
تخيَّل أنك أمام عدة ماكينات للحظ، كل ماكينة لها ذراع، إذا دفعت هذا الذراع فسوف تكسب مبلغا من المال، يختلف هذا المبلغ من ماكينة حظ إلى الأخرى، فأي ماكينة ستختار؟ هل تبدأ بماكينة لعبت عليها سابقا وتعلم أنها تُكسبك قدرا مقبولا من المال؟ أم تختار ماكينة جديدة لا تعلم هل تكسب أو تخسر من ورائها؟ يُعتبر هذا مثال مشهور على معضلة الاستكشاف والاستغلال، حيث يتمثَّل الهدف في استكشاف الخيار الأفضل من بين مجموعة من الخيارات ثم استغلال الخيار المُحدَّد لاحقا.
تُساعدنا إحدى الخوارزميات التي طوَّرها العلماء، وهي خوارزمية الطمع (epsilon – greedy)، في تحقيق توازن بين الاستكشاف والاستغلال، فيُخصَّص 10% من الوقت في الاستكشاف بعشوائية بين الخيارات المتاحة، وبقية الـ90% تُخصَّص لصالح استغلال أفضل الخيارات التي ظهرت في مرحلة الاستكشاف، ومع تكرار الأمر باستمرار، ستجد أن ما كان جديدا أصبح قديما، وأصبح ضمن معارفك التي سوف تستغلها بعد ذلك.
إذا أردنا تطبيق هذا الأمر على مثال المطعم، فإن كنت على عجلة من أمرك، ولديك تقريبا عدة ساعات في هذا المكان، وتريد أن تأكل، هنا يجب أن تستغل معارفك وخبراتك السابقة، وبالتالي تذهب لتناول الغداء في مطعمك القديم، وذلك لمحدودية ما تملك من مورد الوقت.
لكن إذا كنت في بداية رحلتك ولديك أسبوع في هذا المكان، فاستكشف المطاعم الجديدة في 10% من وقتك، بذلك تكون قد أضفت تجربة المطعم الجديد في حد ذاتها إلى حصيلة خبراتك فتستخدمها في الزيارة القادمة ضمن الـ90% المتبقية من الوقت، ولديك الآن فرصة في الزيارة القادمة للمدينة نفسها كي تُجرِّب مطعما جديدا آخر ضمن 10% من وقتك، أو أن تأكل في المطاعم التي تعرفها بالفعل، وبعضها كان جديدا يوما ما.
فكر مرة أخرى!
في اعتقادك، أي هذين السيناريوهيْن أقرب للواقع: شاب خجول، يُفضِّل البقاء وحيدا معظم الوقت، هل يعمل في مجال المبيعات، أم يُحضِّر رسالة الدكتوراه في تخصُّص مُحدَّد بالرياضيات؟! إذا كانت إجابتك تميل إلى كفة أن هذا الشاب يُحضِّر رسالة الدكتوراه، فلتعد للتفكير مرة أخرى.
كي نفهم الأمر بوضوح دعنا نتحدَّث بلغة الأرقام، كم عدد الشباب الذين يعملون في مجال المبيعات في رأيك؟ وكم عدد مَن يُحضِّرون رسائل الدكتوراه في الرياضيات؟ الفارق شاسع، وإذا افترضنا مثلا أن مَن يعملون في التسويق والمبيعات عشرة أضعاف مَن يُحضِّرون الدكتوراه، وإذا افترضنا أن هناك 15% فقط في مجال المبيعات يتمتعون بشخصية خجولة، وأن 75% من دارسي الدكتوراه خجولون، فسنكتشف أن فرص وجود هذا الشاب في فئة العاملين في المبيعات هي ضِعْف فرص وجوده ضمن طالبي الدكتوراه.
تُدعى طريقة التفكير السابقة قاعدة بايز (Bayes rule)، وسُميت بذلك نسبة إلى توماس بايز عالم اللاهوت والرياضيات الإنجليزي من القرن الثامن عشر، وهي تصف احتمال وقوع أمر ما بناء على ما يتوفَّر لدينا من معلومات سابقة عن الظروف المحيطة بذلك الأمر، وكلما توفَّرت لدينا معلومات إضافية، اقتربت الاحتمالية من الواقع.
إذا توفَّرت لديك معلومات عن عدد العاملين بمجال المبيعات بالمقارنة بدارسي الدكتوراه في الرياضيات قبل أن تُسأل، لكان جوابك قد اختلف تماما، هنا تظهر أهمية معرفة المعلومات السابقة قبل توقُّع احتمالية حدوث أمر ما.
عندما تقرأ خبرا أن شخصا سُرق منزله من قِبَل عامل النظافة الذي يتردَّد يوميا عليه، تجد أن الناس يفزعون من عمال النظافة معتقدين أنهم سيُسرقون قريبا، ولكنهم أغفلوا التفكير في النسبة الضئيلة لعمال النظافة السارقين مقارنة بالنسبة الأكبر من الشرفاء منهم، فإطلاق الأحكام يصبح غير دقيق عندما لا نضع في أذهاننا المعلومات والأرقام المحيطة بقضية ما.
إذا أردت أن تتخذ قرارا يتعلَّق بأمر ما، فحاوِل أن تجمع ما يمكنك من معلومات في البداية، ثم مع الوقت أضف ما يستجد من معلومات إلى ما لديك، خذ وقتك وتمرَّن على ذلك، فالأمر ليس بالسهولة الظاهرة، بل إن بعض المديرين المحترفين يرتكبون أخطاء ساذجة في هذه النقطة، فعندما يُخطئ موظف في مهمة كُلِّف بها فإن المدير يُعاقب الموظف دون تفكير أو دراسة لهذا القرار، فالأمر بسيط بالنسبة لهذا المدير، هذا موظف أخطأ ويجب أن يُجازى، مُعلِّلا لنفسه أن قرارا كهذا من شأنه جعل الموظفين الآخرين أكثر حرصا على النجاح، إلى جانب ردع هذا الموظف عن ارتكاب الأخطاء مرة أخرى.
ولكن عندما تُفكِّر بقاعدة بايز، فإنك في البداية تجمع المعلومات السابقة عن هذا الموظف، وطبيعة عمله، وهل لديه أخطاء سابقة؟ أم أنه موظف كفء أنجز قبل ذلك الكثير من المهام بنجاح؟ ما تأثير ذلك الجزاء عليه؟ عندما تُجيب عن هذه الأسئلة وغيرها قد تجد نفسك في النهاية تتخذ قرارا بمنح إجازة لذلك الموظف؛ كي يستعيد نشاطه وحماسه للعمل، فلا يقع في الخطأ مرة أخرى، هل تلاحظ الفارق بين القرارين؟!
ذاكرة التخزين المؤقت
مبارك الترقية، أنت الآن تجلس في مكتبك الجديد في شركتك، تشعر بالفخامة والأهمية لا شك، ولكنك بدأت تشعر أيضا بالمسؤولية القادمة، حيث ترى مظاهر احتفاء الموظفين بك في كمية الملفات التي بدأت تزداد على سطح مكتبك، ثم تدرك أنك تحتاج إلى مزيد من التنظيم والترتيب، وأن عشوائيتك القديمة لن تصلح هنا.
ابتكر عالم الحاسوب البريطاني موريس ويلكس عام 1965 ما يُدعى ذاكرة التخزين المؤقتة (cache)، والمقصود بذلك أن هناك مستويات متتالية من الذاكرة، كل مستوى يحتوي على مجموعة من المعلومات، بحيث يحتوي المستوى الأقرب على المعلومات الأكثر استخداما، ويحتوي المستوى الأعلى قليلا على معلومات قد تُستخدم بين الحين والآخر، بينما يحتوي المستوى الأعلى معلومات قد لا تحتاج إليها ولكنها لا بد أن تكون موجودة؛ إذ ربما تحتاج إليها على فترات متباعدة.
الأمر أشبه بغرفة نومك، حيث عادة ما يكون هناك كرسي تتراكم عليه الملابس الأكثر استخداما من غيرها، فتكون أقرب إليك من ملابسك المُرتَّبة داخل الدولاب، التي في الغالب لا تلجأ إليها إلا في حالة اتساخ ملابسك المعتادة، أو تغيير طبيعة الملابس بسبب مناسبة مختلفة.
تُقدِّم خوارزمية الأقل استخداما مؤخرا (Least recently used) طريقة لترتيب المعلومات، فتجعل المعلومات الأكثر استعمالا في مستوى قريب، فيصبح من السهل الوصول إليها في حالة الفوضى، فإذا كانت لديك مكتبة تحتفظ فيها بكتبك، وتستغرق حاليا في قراءة كتاب ما، فإن تخصيص مكان قريب أمام المكتبة لوضع ذلك الكتاب كلما أنهيت فصلا فيه يجعل الرجوع لقراءته سهلا، يُدعى هذا المكان بذاكرة التخزين المؤقتة (Cache)، فلا تحتاج إلى البحث عنه في أنحاء مكتبتك، كذلك الأمر بالنسبة الملفات المهمة التي تحتاج إلى العمل فيها، فلا تضيع وسط بقية الملفات.
أما خوارزمية ما يصل أولا يخرج أولا (First In First Out) فهي طريقة مُبسَّطة لترتيب المخزون لديك سواء في مخزن للمستهلكات أو صيدلية أو بقالة على سبيل المثال، فنضع المنتجات التي أدخلناها أولا في المتناول، وخلفها المنتجات الأحدث، فبذلك عند الاستهلاك يُسحَب الأقدم، ونحمي المخزون من انتهاء تاريخ صلاحيته قبل صرفه.
مبدأ باريتو
في أواخر القرن التاسع عشر، لاحظ رجل الاقتصاد الإيطالي ڤيلفيريدو باريتو أن نحو 20% من نبات البازلاء في حديقته يُنتج 80% من محصول البازلاء السليم، دفعه ذلك للتفكير في التقسيم غير المتساوي أو غير العادل لتوزيع الثروات، حيث وجد أن نحو 80% من الأراضي الإيطالية يمتلكها 20% من السكان، تفاجأ باريتو كذلك عندما وجد أن هذه النسبة متقاربة عندما طبَّقها في صناعات ومجالات مختلفة، واستنتج التالي: 80% من النتائج تأتي من 20% من الأسباب. يُدعى ذلك مبدأ باريتو، أو قاعدة 20/80، أو قانون القلة المؤثرة (Law of the Vital few).
لا ينحصر مبدأ باريتو في مجالات الاقتصاد وتوزيع الثروات فحسب، بل إنه يتسع ليشمل مجالات إدارة الأعمال، وعلوم الحاسب، والصحة، والرياضة. على سبيل المثال، وجدت شركة "مايكروسوفت" أن في حالة إصلاح أكثر 20% من الأخطاء التي أُبلِغ عنها، فسيُتخلَّص من 80% من الأخطاء والأعطال ذات الصلة، وجدت كذلك أن 80% من جميع المستخدمين يستخدمون عموما 20% فقط من مزايا التطبيقات المختلفة، وفي عملية البرمجة نفسها وُجِد أن أصعب 20% من أكواد البرامج تأخذ 80% من الوقت المُحدَّد لكتابة هذه البرامج.
نصل هنا إلى نتيجة مفادها أن نسبة بسيطة من المُدخلات تُساهم بأكبر قدر من المُخرجات، أنت نفسك عزيزي القارئ تلاحظ أنك تستخدم نسبة صغيرة من ملابسك من إجمالي ملابسك الأخرى المُعلَّقة في الدولاب، أو أنك تتواصل مع مجموعة صغيرة من المقربين إليك أقل كثيرا من المجموع الكلي لأصدقائك.
رغم أن قاعدة باريتو ليست خوارزمية بالمعنى المُشار إليه في بداية التقرير، فإنها تمنحنا فرصة النجاح بنسبة 80% عن طريق الاهتمام بـ20% من الأمور، فعند تعلُّم لغة جديدة، سوف تجد أنك من خلال حفظك لـ20% من الحصيلة اللغوية، فسوف تنجح في نحو 80% من المحادثات اليومية، في اللغة الإنجليزية مثلا، تُشكِّل الـ2000 كلمة الأكثر شيوعا في اللغة الإنجليزية نحو 90% من المحادثات.
كذلك في مجالات التسويق والمبيعات، فإننا نجد أن مجموعة قليلة من العملاء تُساهم في الدخل الأكبر لشركة ما، يُسمّون بالقلة المؤثرة، لذا تجد أن الاهتمام بهم -سواء بتوفير خدمة عملاء مميزة، أو التواصل معهم باستمرار لتحسين جودة المنتجات- يُساهم في زيادة رضا هؤلاء العملاء، ومن ثم زيادة الأرباح.
______________________________________________________________
المصادر
- اعتمد الكاتب إلى جانب مصادره الموضَّحة بالأعلى على كتاب "Algorithms to Live By: The Computer Science of Human Decisions" لمؤلفيه براين كريستيان وتوم جريفيث.