لنفترض أنّك تبحث عن رجل طوله 170 صم في مجموعة متكوّنة من 100 مليون شخص. كم سيستغرق ذلك من وقت؟
ربّما أسابيع أو شهورا.. وأنت وحظّك..
البحث الثنائي عمليّة رياضيّة جبّارة تمكنّك من اِنجاز ذلك في ثوان معدودة.
البحث الثنائي يقتضي ترتيب المجموعة من القصير إلى الطويل (وفي العموم من الصغير إلى الكبير) قبل اطلاق عمليّة البحث.
يبدأ البحث بمقارنة طول الشخص بالشخص رقم 50 مليون في الترتيب. فإذا كان أطول من 170 صم يقع إستبعاد ال50 مليون شخص الأطول، وإذا كان أقصر من 170 صم يقع إستبعاد ال50 مليون شخص الأقصر.
أي أنّه في الحالتين يقع اِستبعاد نصف المجموعة.
ثمّ تعاد نفس العمليّة، لنستبعد 25 مليون شخصا آخرين.
يعني أننّا اِستبعدنا 75 مليون شخصا في العمليتين الأوليين فقط.
أعد العمليّة على المنوال نفسه.
حسابيّا، العثور على الشخص المطلوب سيستغرق في أقصى الحالات 27 مقارنة فقط. أي أنّه إذا اِستغرقت كل مقارنة عُشر ثانية لدى الحاسوب فإنّ العثور على الشخص سيتطلّب فقط ثانيتين وسبعة أعشار من الثانية.. لا غير..
هذا ما يسمّى بالتعقيد اللوغاريتمي.. وهو الأسرع على الإطلاق وتعتمده محرّكات البحث.. وسمّي التعقيد باللوغاريتمي لأن ال27 مقارنة تساوي تقريبا (100 مليون) Log_2.
هل فهمت الآن لماذا تحصل على جواب لكل سؤال تطرحه على غوغل بسرعة البرق؟
وللدقّة، كان ذلك في الماضي القريب، لكن غوغل اليوم زاد من سرعة البحث لديه باعتماده على ألغورثم رانكبرين الذي يعتمد على قوّة الذكاء الاصطناعي مع قوّة البحث الثنائى لتسريع البحث أكثر فأكثر..
لقد اِندثرت محرّكات بحث كثيرة مثل ألتافيستا، وتجاهد محرّكات أخرى للبقاء على قيد الحياة مثل ياهو.. لأنّها لم تفهم أنّ البقاء للأسرع.. أو ربمّا ببساطة لأنّها لم تستطع أن تكون الأسرع.. تماما مثل ما وقع لنوكيا أمام آبل وسامسونغ في الهواتف، فقد كان خطأ نوكيا القاتل أنّها لم تنتبه إلى أنّ البقاء لشاشات اللّمس.. وليس للوحات النّقر..
لولا البحث الثنائي لاندثرت علوم كثيرة.. وشركات كثيرة.. ولضاع جزء كبير من الاِقتصاد.. وكل ما ترونه اليوم من تقدّم تكنولوجي وراءه جبروت الرّياضيات..
ربّما أسابيع أو شهورا.. وأنت وحظّك..
البحث الثنائي عمليّة رياضيّة جبّارة تمكنّك من اِنجاز ذلك في ثوان معدودة.
البحث الثنائي يقتضي ترتيب المجموعة من القصير إلى الطويل (وفي العموم من الصغير إلى الكبير) قبل اطلاق عمليّة البحث.
يبدأ البحث بمقارنة طول الشخص بالشخص رقم 50 مليون في الترتيب. فإذا كان أطول من 170 صم يقع إستبعاد ال50 مليون شخص الأطول، وإذا كان أقصر من 170 صم يقع إستبعاد ال50 مليون شخص الأقصر.
أي أنّه في الحالتين يقع اِستبعاد نصف المجموعة.
ثمّ تعاد نفس العمليّة، لنستبعد 25 مليون شخصا آخرين.
يعني أننّا اِستبعدنا 75 مليون شخصا في العمليتين الأوليين فقط.
أعد العمليّة على المنوال نفسه.
حسابيّا، العثور على الشخص المطلوب سيستغرق في أقصى الحالات 27 مقارنة فقط. أي أنّه إذا اِستغرقت كل مقارنة عُشر ثانية لدى الحاسوب فإنّ العثور على الشخص سيتطلّب فقط ثانيتين وسبعة أعشار من الثانية.. لا غير..
هذا ما يسمّى بالتعقيد اللوغاريتمي.. وهو الأسرع على الإطلاق وتعتمده محرّكات البحث.. وسمّي التعقيد باللوغاريتمي لأن ال27 مقارنة تساوي تقريبا (100 مليون) Log_2.
هل فهمت الآن لماذا تحصل على جواب لكل سؤال تطرحه على غوغل بسرعة البرق؟
وللدقّة، كان ذلك في الماضي القريب، لكن غوغل اليوم زاد من سرعة البحث لديه باعتماده على ألغورثم رانكبرين الذي يعتمد على قوّة الذكاء الاصطناعي مع قوّة البحث الثنائى لتسريع البحث أكثر فأكثر..
لقد اِندثرت محرّكات بحث كثيرة مثل ألتافيستا، وتجاهد محرّكات أخرى للبقاء على قيد الحياة مثل ياهو.. لأنّها لم تفهم أنّ البقاء للأسرع.. أو ربمّا ببساطة لأنّها لم تستطع أن تكون الأسرع.. تماما مثل ما وقع لنوكيا أمام آبل وسامسونغ في الهواتف، فقد كان خطأ نوكيا القاتل أنّها لم تنتبه إلى أنّ البقاء لشاشات اللّمس.. وليس للوحات النّقر..
لولا البحث الثنائي لاندثرت علوم كثيرة.. وشركات كثيرة.. ولضاع جزء كبير من الاِقتصاد.. وكل ما ترونه اليوم من تقدّم تكنولوجي وراءه جبروت الرّياضيات..