hotchpotch/wikipedia-multilingual-ir-pairs huggingface dataset:
شعار الجمهورية العربية المتحدة
شعار الجمهورية العربية المتحدة تضمّن ألوان الوحدة العربية الموجودة في علم الجمهورية العربية المتحدة (بشكل عمودي) على درعٍ يحمله نسر صلاح الدين. في الأسفل، يظهر شريط أخضر كُتبت عليه عبارة "الجمهورية العربية المتحدة".
بعد انتهاء الاتحاد بين مصر وسوريا عام 1961، احتفظت مصر باسم "الجمهورية العربية المتحدة" واستمرت في استخدام هذا الشعار حتى أدّى مشروع اتحاد الجمهوريات العربية إلى تغييره عام 1972.
دانيلو كيريلوفيتش زابولوتني
دانيلو كيريلوفيتش زابولوتني (بالأوكرانية: Данило Кирилович Заболотний، بالإنجليزية: Danylo Kyrylovych Zabolotny)، (28 ديسمبر 1866- 15 ديسمبر 1929) كان عالم وبائيات أوكرانيًا وسوفيتيًا. هو مؤسس أول قسم أبحاث في علم الأوبئة في العالم. في 1927، نشر كتابه "أساسيات علم الأوبئة".
دانيلو كيريلوفيتش زابولوتني السيرة
وُلِد دانيلو زابولوتني في قرية صغيرة لأبوين من الفلاحين الفقراء. توفي والده وعمره 11 عامًا. أخذه عمه إلى روستوف، روسيا؛ حيث استطاع الالتحاق بمدرسة ثانوية داخلية. كان ذكيا ولديه موهبة في العلوم الطبيعية.
التحق بجامعة أوديسا. في 1883، احتج- كجزء من حركة طلابية- ضد خطة روسية لإلغاء استقلال الجامعة، وقضى ثلاثة أشهر في السجن. في 1891، تخرج من جامعة أوديسا. في 1894، تخرج من جامعة بوغوموليتس الطبية الوطنية. عمل طبيبًا في المستشفى العسكري في كييف من 1895 إلى 1897. في 1898، في جامعة سانت بطرسبورغ الحكومية الطبية الأولى، أنشأ أول قسم متخصص في علم الجراثيم في روسيا، وهو القسم الذي قاده حتى 1928. خلال هذه الفترة كان أيضًا واحدًا من ثلاثة علماء الذين قادوا المختبر الخاص، الذي تم إنشاؤه في 1898، حيث تم إنتاج لقاحات الطاعون والأمصال وتم إجراء تجارب على مسببات أمراض الطاعون والكوليرا.
دانيلو كيريلوفيتش زابولوتني السيرة
من 1919 إلى 1923 كان رئيسًا لجامعة أوديسا الطبية الوطنية، في 1920، بدأ ما يعتبر أول قسم لعلم الوبائيات في العالم. من 1924 إلى 1928، كان أستاذًا في الأكاديمية الطبية العسكرية في لينينغراد. في 1928، أسس ما يسمى الآن معهد زابولوتني لعلم الأحياء الدقيقة وعلم الفيروسات في كييف. في 1930، تم منح زابولوتني رئاسة الأكاديمية الوطنية للعلوم في أوكرانيا.
أجرى دانيلو زابولوتني أبحاثًا رائدة على عدد من الأمراض المعدية، بما في ذلك الكوليرا والخناق والزحار والطاعون والزهري والحمى النمشية والغنغرينا. أثبت زابولوتني أن الطاعون ينتقل بالفعل عن طريق القوارض وساعد في تطوير اللقاحات والأمصال لعلاج الطاعون؛ وتضمن بحثه شربه لبكتيريا الكوليرا الحية بعد تطعيم نفسه، وبالتالي إثبات مدى فعالية التطعيم. قاد بعثات بحثية خلال الوباء الثالثة، في الهند والجزيرة العربية ومنغوليا والصين. قام بعمل ميداني مكثف في شمال الصين. في 1911، كان مندوبًا "مؤثرًا" في مؤتمر موكدين؛ حيث أجبرت الصين- بسبب طاعون منشوريا الذي قتل 60 ألف شخص- على "تبني نهج غربي في الرعاية الطبية، لتعزيز الصحة العامة خلال السنوات الأولى من الجمهورية الصينية".
في 15 ديسمبر 1929، توفي ودفن في القرية التي ولد فيها.
مصرفية المشاركة
الخدمات المصرفية التشاركية هو اسم يُطلق على البنوك الإسلامية الموجودة بشكل رئيسي في تركيا، وكذلك في منطقة الشرق الأوسط وشمال أفريقيا. توجد بنوك مشاركة في تركيا، وباكستان، وبنغلاديش، وإندونيسيا، والمملكة العربية السعودية، وماليزيا، والإمارات العربية المتحدة، ودول الخليج الأخرى.
مصرفية المشاركة التاريخ
في عام 2000، بلغت حصة البنوك التشاركية 2% فقط من صافي الأصول، وبحلول عام 2010، ارتفعت هذه النسبة إلى 4.3%. وفي الربع الثالث من عام 2013، ارتفعت إلى 6.1%، لتصل إلى 90.7 مليار ليرة تركية. وفيما يتعلق بهوامش ربح البنوك التشاركية، فإن ماليزيا وإندونيسيا ودول الخليج تستحوذ على أكثر من 50% من حصة السوق، ويُذكر أن تركيا تتمتع بإمكانيات نمو أكبر. كما تُعدّ تركيا وباكستان وبنغلاديش وإندونيسيا من الدول الرائدة بين بنوك المشاركة. تُعدّ المملكة العربية السعودية والإمارات العربية المتحدة وماليزيا أكبر ثلاث أسواق للخدمات المصرفية التشاركية من حيث الأصول. تُمثّل إيران 36% من أصول البنوك التشاركية العالمية، وماليزيا 17%، والمملكة العربية السعودية 14%، وتركيا 3.1% من حصة السوق.
ووفقًا لشركة إرنست ويونغ، بلغت أصول الخدمات المصرفية التشاركية العالمية 930 مليار دولار أمريكي في عام 2015، مع انخفاض معدلات النمو في جميع المناطق مُقارنةً بالسنوات السابقة.
مطاط مضرب كرة الطاولة
مطاط (أو جلدة) مضرب كرة الطاولة أو اختصارًا مطاط المضرب أو جلدة المضرب هو نوع من المطاط يستخدم لتغطية مضرب كرة الطاولة. يتكون مطاط كرة الطاولة الحديث عادةً من طبقتين: طبقة من الإسفنج سفلى وطبقة من المطاط الفعلي عليا. لمطاط مضرب كرة الطاولة أربعة أنواع شائعة: محبحب أو محبب (بالإنكليزية: Pips أو Pimples) قصير، ومحبحب طويلة، والمضادة للدوران، والمقلوبة. يؤثر سمك طبقة الإسفنج وكثافته الموجودة أسفلها أيضًا على تعامل المطاط مع الكرة. تتنوع أساليب اللعب في كرة الطاولة بالتنوع الكبير في مطاطات كرة الطاولة مقارنة برياضات المضرب الأخرى.
الدوري السوفيتي الدرجة الثانية
الدوري السوفيتي الدرجة الثالثة (بالروسية: Вторая лига СССР по футболу)، تأسس الدوري السوفيتي للدرجة الثانية سنة 1971، وهي دوري درجة ثالثة بالبطولة الرسمية لاتحاد الكرة السوفيتي، حيث كان الدوري موجوداً حتى سقوط الاتحاد السوفيتي عام 1991.
خوارزمية كنوت-موريس-برات
في علوم الحاسوب خوارزمية كنوث-موريس-برات (أو خوارزمية KMP )، تُعد خوارزمية كنوث-موريس-برات (KMP) خوارزمية فعالة للبحث عن نمط W داخل نص S. تعتمد الخوارزمية على استغلال المعلومات المتضمنة في النمط نفسه لتحديد نقطة البداية المحتملة للتطابق التالي عند حدوث عدم تطابق، مما يجنب إعادة فحص الأحرف المتطابقة سابقًا.
.
تُنسب خوارزمية كنوث-موريس-برات إلى جيمس هـ. موريس الذي ابتكرها، بينما اكتشفها دونالد كنوث بشكل مستقل بعد أسابيع قليلة بناءً على نظرية الأتمتة. وقد وثق موريس وفوغان برات هذه الخوارزمية في تقرير تقني عام 1970،  ثم نشر الثلاثة عملهم المشترك حولها في عام 1977. وتجدر الإشارة إلى أن يوري ماتيياسيفيتش كان قد توصل بشكل مستقل في عام 1969 إلى خوارزمية مشابهة، تم ترميزها باستخدام آلة تورينج ثنائية الأبعاد، وذلك أثناء بحثه في مشكلة تحديد مطابقة أنماط السلاسل باستخدام أبجدية ثنائية.  وتُعد خوارزميته أول خوارزمية خطية الزمن لحل مشكلة مطابقة السلاسل.
خوارزمية كنوت-موريس-برات خلفية
الهدف من خوارزمية مطابقة السلاسل هو تحديد الفهرس الابتدائي (m) في السلسلة النصية S[] حيث يبدأ ظهور كلمة البحث W[] بشكل مطابق.
تُعد خوارزمية "القوة الغاشمة" أو "الخوارزمية الساذجة" أبسط طرق البحث عن تطابق سلسلة فرعية. تعتمد هذه الخوارزمية على فحص احتمالية تطابق كلمة البحث W[] عند كل فهرس m في السلسلة النصية S[]. ولتحقيق ذلك، تبدأ الخوارزمية عند كل موضع m بالتحقق من تطابق الحرف الأول في كلمة البحث مع الحرف المقابل في النص (S[m] == W[0]). وفي حال وجود تطابق أولي، تستمر الخوارزمية في مقارنة الأحرف المتتالية في كلمة البحث (W[i]) مع الأحرف المقابلة في النص بدءًا من الموضع m (S[m+i] == W[i]). إذا تطابقت جميع أحرف W[] بشكل متسلسل عند الموضع m، يتم اعتبار هذا الموضع نقطة تطابق ناجحة. أما إذا وصل الفهرس m إلى نهاية السلسلة S[] دون العثور على تطابق كامل، فإن عملية البحث تُعتبر فاشلة.
خوارزمية كنوت-موريس-برات خلفية
عادةً، يرفض الفحص التجريبي المطابقة التجريبية بسرعة. إذا كانت السلاسل أحرفًا عشوائية موزعة بالتساوي، فإن احتمال تطابق الأحرف هو 1 من 26. في معظم الحالات، يرفض الفحص التجريبي المطابقة عند الحرف الأول. احتمال تطابق الحرفين الأولين هو 1 من 26 (احتمال تطابق واحد من 26^2 من أصل 26 حرفًا محتملًا). لذا، إذا كانت الأحرف عشوائية، فإن التعقيد المتوقع للبحث عن السلسلة S[] بطول n يكون من رتبة n مقارنة أو Θ(n). الأداء المتوقع ممتاز. إذا كان طول السلسلة S[] مليون حرف وطول السلسلة W[] 1000 حرف، فيجب أن يكتمل البحث عن السلسلة بعد حوالي 1.04 مليون مقارنة.
خوارزمية كنوت-موريس-برات خلفية
هذا الأداء المتوقع ليس مضمونًا دائمًا. ففي حال لم تكن السلاسل عشوائية، قد يتطلب التحقق من كل موضع تجريبي m إجراء مقارنات عديدة للأحرف. وتتجلى أسوأ الحالات عندما تتطابق السلسلتان في جميع الأحرف باستثناء الحرف الأخير. على سبيل المثال، تخيل سلسلة S[] مؤلفة من مليون حرف 'A'، وكلمة بحث W[] تتكون من 999 حرف 'A' متبوعة بحرف 'B' في النهاية. في هذه الحالة، ستقوم خوارزمية مطابقة السلاسل البسيطة بفحص 1000 حرف عند كل موضع تجريبي قبل استبعاد التطابق والانتقال إلى الموضع التالي. ونتيجة لذلك، سيستغرق هذا المثال من البحث البسيط عن السلاسل حوالي 1000 مقارنة حرف مضروبة في مليون موضع، أي ما يقارب مليار مقارنة حرف. وبشكل عام، إذا كان طول W[] هو k وطول S[] هو n، فإن أسوأ أداء للخوارزمية هو O(k⋅n).
خوارزمية كنوت-موريس-برات خلفية
تتفوق خوارزمية KMP على الخوارزمية البسيطة من حيث الأداء في أسوأ السيناريوهات. فبخلاف الخوارزمية البسيطة، تستغرق KMP وقتًا وجيزًا لحساب جدول مسبق بحجم يتناسب مع طول كلمة البحث W[] وتعقيده الزمني O(k). بعد ذلك، تستخدم هذه الخوارزمية الجدول لإجراء بحث فعال عن السلسلة في السلسلة النصية الرئيسية S[] بتعقيد زمني قدره O(n).
يكمن الاختلاف الأساسي في أن خوارزمية KMP تستفيد من معلومات التطابقات السابقة التي تتجاهلها الخوارزمية البسيطة. ففي المثال السابق، عندما تواجه KMP فشلًا في التطابق عند الحرف رقم 1000 (i = 999) بسبب اختلاف S[m+999] عن W[999]، فإنها لا تكتفي بزيادة قيمة m بمقدار 1، بل إنها تدرك أيضًا أن أول 998 حرفًا في الموضع الجديد هي بالضرورة متطابقة. والسبب في ذلك هو أن KMP كانت قد طابقت بالفعل 999 حرفًا من 'A' قبل اكتشاف الحرف المختلف في الموضع 999. وعند تقديم موضع التطابق التجريبي m بمقدار واحد، يتم حذف أول حرف 'A'، ونتيجة لذلك، تعلم KMP أن هناك 998 حرفًا من 'A' تتطابق مع بداية W[] دون الحاجة إلى إعادة فحصها؛ أي أن KMP تقوم بتعيين قيمة i إلى 998 مباشرةً. تحتفظ KMP بهذه المعرفة في الجدول الذي تم حسابه مسبقًا وفي متغيري الحالة الخاصين بها. فعندما تكتشف KMP عدم تطابق، يحدد الجدول مقدار الزيادة في m التي يجب تطبيقها وموضع الحرف التالي الذي سيتم فحصه (قيمة i الجديدة).
خوارزمية كنوت-موريس-برات خوارزمية KMP
بغرض توضيح تفاصيل عمل الخوارزمية، سنفترض الآن مثالًا تطبيقيًا (وهو مثال اصطناعي إلى حد ما) حيث تكون كلمة البحث W هي "ABCDABD" والسلسلة النصية S هي "ABC ABCDAB ABCDABCDABDE". في أي مرحلة من مراحل تنفيذ الخوارزمية، يمكن وصف حالتها بشكل كامل باستخدام قيمتين صحيحتين:
في كل خطوة من خطوات الخوارزمية، تتم مقارنة الحرف S[m+i] بالحرف W[i]. وفي حال تطابقهما، يتم زيادة قيمة المؤشر i للانتقال إلى الحرف التالي في كل من السلسلة والنص. ويتضح هذا الإجراء في المراحل الأولية لتشغيل الخوارزمية كما يلي:
خوارزمية كنوت-موريس-برات خوارزمية KMP
تبدأ الخوارزمية بمقارنة الأحرف المتتالية في كلمة البحث W مع الأحرف المقابلة في السلسلة النصية S، وتنتقل إلى الحرف التالي بزيادة قيمة المؤشر i إذا تم العثور على تطابق. ومع ذلك، عند الخطوة الرابعة، يحدث عدم تطابق حيث أن S[3] (فراغ) لا يساوي W[3] ('D'). فبدلًا من إعادة بدء البحث من S[1]، تلاحظ الخوارزمية أنه لا يوجد حرف 'A' بين الموضعين 1 و2 في S. وبما أننا قد تحققنا بالفعل من تطابق هذه الأحرف مع الأحرف المقابلة في W، فإن أي محاولة لبدء تطابق جديد في هذه المنطقة ستكون غير مجدية. لذلك، تقوم الخوارزمية بتحديث قيمة m إلى 3 وإعادة تعيين قيمة i إلى 0، للانتقال إلى بداية محاولة تطابق جديدة من الموضع الثالث في S.
نظرًا لعدم تطابق الحرف الأول في عملية البحث، فإن الخوارزمية تُنشئ قيمة m تساوي 4 وقيمة i تساوي 0.
خوارزمية كنوت-موريس-برات خوارزمية KMP
هنا، تزداد قيمة i من خلال تطابق شبه كامل "ABCDAB" حتى تصبح i = 6 مما يؤدي إلى عدم تطابق عند W[6] و S[10] . ومع ذلك، قبل نهاية المباراة الجزئية الحالية مباشرة، كان هناك السلسلة الفرعية "AB" التي يمكن أن تكون بداية لمباراة جديدة، لذا يجب على الخوارزمية أخذ ذلك في الاعتبار.وبما أن هذه الأحرف تتطابق مع الحرفين السابقين للموضع الحالي في W، فليس هناك حاجة لإعادة التحقق منها. لذلك، تقوم الخوارزمية بتحديث قيمة m إلى 8 (وهو بداية ظهور البادئة الأولية المتطابقة) وتعيين قيمة i إلى 2 (مما يشير إلى أن أول حرفين قد تطابقا بالفعل)، ثم تستأنف عملية المطابقة من هذا الموضع. وبالتالي، فإن الخوارزمية لا تتجاوز فقط الأحرف المتطابقة سابقًا في S ("AB")، بل تتجاوز أيضًا البادئة المتطابقة في W ("AB").
نن يفشل هذا البحث في الموضع الجديد على الفور لأن الحرف W[2] ('C') لا يتطابق مع الحرف S[10] (فراغ). وكما حدث في المحاولة الأولى، يؤدي عدم التطابق إلى إعادة الخوارزمية إلى بداية كلمة البحث W، وتبدأ البحث من موضع الحرف غير المتطابق في S: أي يتم تعيين m = 10 وإعادة تعيين i = 0.
خوارزمية كنوت-موريس-برات خوارزمية KMP
تفشل المطابقة عند m=10 على الفور، لذا تحاول الخوارزمية بعد ذلك ام = 11 و i = 0.
مرة أخرى، تجد الخوارزمية تطابقًا للسلسلة "ABCDAB"، ولكن الحرف التالي في النص ('C') لا يتطابق مع الحرف الأخير في النمط W ('D'). بناءً على المنطق السابق، تقوم الخوارزمية بتحديث قيمة m إلى 15، وذلك للانتقال إلى بداية السلسلة الفرعية المكونة من الحرفين "AB" التي تسبق الموضع الحالي. كما تُعيّن قيمة i إلى 2، وتستأنف عملية المطابقة من هذا الموضع الجديد في النص.
في هذه المرة، انتهت عملية البحث بنجاح، وقد تم العثور على التطابق الأول عند الحرف S[15].
خوارزمية كنوت-موريس-برات خوارزمية KMP
يتضمن المثال السابق جميع المكونات الأساسية للخوارزمية. ونفترض حاليًا وجود جدول "التطابق الجزئي" T، الموضح أدناه، والذي يحدد الموضع الذي يجب البحث فيه عن بداية تطابق جديد عند حدوث عدم تطابق. تم تصميم قيم هذا الجدول بحيث إذا وجد تطابق يبدأ عند S[m] وحدث فشل عند مقارنة S[m + i] بالحرف W[i]، فإن بداية التطابق المحتمل التالي ستكون عند الفهرس m + i - T[i] في السلسلة S (بمعنى أن T[i] يمثل مقدار "الرجوع" الذي يجب القيام به بعد عدم التطابق). يترتب على هذا التصميم نتيجتان مهمتان: أولًا، قيمة T[0] تساوي -1، مما يدل على أنه إذا كان الحرف W[0] غير مطابق، فلا يمكننا التراجع، ويتوجب علينا ببساطة الانتقال إلى فحص الحرف التالي في S؛ ثانيًا، على الرغم من أن بداية التطابق المحتمل التالي ستكون عند الفهرس m + i - T[i]، كما رأينا في المثال السابق، فإننا لسنا بحاجة فعليًا إلى إعادة فحص أي من T[i] الأحرف التالية، بل سنستأنف البحث مباشرة من الحرف W[T[i]]. فيما يلي نموذج لتنفيذ خوارزمية البحث KMP باستخدام لغة الترميز الزائف.
خوارزمية كنوت-موريس-برات خوارزمية KMP
بافتراض أن الجدول T قد تم حسابه مسبقًا، فإن التعقيد الزمني لجزء البحث في خوارزمية كنوث-موريس-برات هو O(n)، حيث n يمثل طول السلسلة النصية S، و O هو رمز Big O. وباستثناء التكلفة الثابتة للعمليات التي تتم عند الدخول إلى الدالة والخروج منها، فإن جميع العمليات الحسابية الرئيسية تُنفذ داخل حلقة while. لتحديد عدد مرات تكرار هذه الحلقة، تجدر الإشارة إلى أن الجدول T مصمم بطريقة تضمن أنه إذا فشل تطابق بدأ عند الموضع S[m] أثناء مقارنة S[m + i] بالحرف W[i]، فإن بداية التطابق المحتمل التالي ستكون عند الموضع S[m + (i - T[i])]. والأهم من ذلك، يجب أن يحدث هذا التطابق المحتمل التالي عند فهرس أعلى من m، مما يعني أن قيمة T[i] يجب أن تكون دائمًا أقل من i.
تشير هذه الحقيقة إلى أن الحلقة يمكن أن تنفذ على الأكثر 2n مرة، حيث أنها في كل تكرار تنفذ أحد الفرعين في الحلقة. الفرع الأول يزيد i دائمًا ولا يغير m، بحيث يزداد مؤشر m + i للحرف الذي يتم فحصه حاليًا لـ S. الفرع الثاني يضيف i - T[i] إلى m، وكما رأينا، يكون هذا دائمًا رقمًا موجبًا. وبالتالي يزداد موقع m لبداية التطابق المحتمل الحالي. في الوقت نفسه، يترك الفرع الثاني m + i دون تغيير، حيث يضاف i - T[i] إلى m، وبعد ذلك مباشرة يتم تعيين T[i] كقيمة جديدة لـ i، وبالتالي new_m + new_i = old_m + old_i - T[old_i] + T[old_i] = old_m + old_i. الآن، تنتهي الحلقة إذا m + i = n؛ لذلك، يمكن الوصول إلى كل فرع من فروع الحلقة على الأكثر n مرة، لأنها تزيد إما m + i أو m، وm ≤ m + i على التوالي: إذا كان m = n، فمن المؤكد أن m + i ≥ n، بحيث بما أنها تزيد بزيادات وحدوية على الأكثر، فلا بد أن يكون لدينا m + i = n في مرحلة ما في الماضي، وبالتالي سنكون قد انتهينا بأي طريقة.
وبالتالي يتم تنفيذ الحلقة على الأكثر 2n مرة، مما يدل على أن التعقيد الزمني لخوارزمية البحث هو O(n).
إليك منظور آخر لتحليل وقت التشغيل: لنفترض أننا بدأنا بمقارنة W وS عند الفهرسين i وp على التوالي. إذا كانت W تظهر كسلسلة فرعية من S تبدأ عند الموضع p، فهذا يعني أن W[0..m] = S[p..p+m]. عند حدوث تطابق (أي W[i] = S[p+i])، نقوم بزيادة قيمة i بمقدار 1 للمقارنة بين الحرفين التاليين. أما عند حدوث عدم تطابق (أي W[i] ≠ S[p+i])، فإن مؤشر النص p يظل ثابتًا، بينما يتم إرجاع مؤشر كلمة البحث i إلى الخلف بمقدار محدد (i = T[i]، حيث T هو جدول القفز)، ثم نحاول مطابقة W[T[i]] مع S[p+i]. والجدير بالذكر أن الحد الأقصى لعدد مرات إرجاع i محدود بقيمته الحالية، بمعنى أنه عند أي فشل في التطابق، لا يمكننا التراجع إلا بقدر ما تقدمنا به حتى نقطة الفشل. بناءً على هذا التحليل، يمكن استنتاج أن وقت التشغيل هو 2n.
خوارزمية كنوت-موريس-برات جدول "المطابقة الجزئية" (المعروف أيضًا باسم "دالة الفشل")
الغاية من إنشاء هذا الجدول هي ضمان عدم مقارنة أي حرف في السلسلة S أكثر من مرة خلال عملية البحث. وتعتمد الفكرة الأساسية التي تتيح تحقيق ذلك، والمستمدة من طبيعة البحث الخطي، على أنه عند مقارنة جزء من السلسلة الرئيسية ببداية النمط، نتمكن من تحديد دقيق لمواضع البدايات المحتملة لتطابقات جديدة يمكن أن تمتد حتى الموضع الحالي، وذلك قبل الوصول إلى هذا الموضع. بعبارة أخرى، نقوم بـ "استباق" البحث داخل النمط نفسه ونُنشئ قائمة بجميع المواقع البديلة الممكنة التي تسمح بتجاوز أكبر عدد ممكن من الأحرف غير المتطابقة دون فقدان أي احتمالية لحدوث تطابق.
خوارزمية كنوت-موريس-برات جدول "المطابقة الجزئية" (المعروف أيضًا باسم "دالة الفشل")
هدفنا هو تحديد، لكل موضع في W، طول أطول جزء ابتدائي ممكن من W ينتهي مباشرة قبل ذلك الموضع (أي لا يشمله)، باستثناء الجزء الكامل الذي يبدأ من W[0] ولم يتحقق تطابقه. هذا الطول يمثل مقدار الرجوع الذي يجب القيام به للعثور على التطابق التالي المحتمل. وبناءً على ذلك، فإن T[i] يمثل تحديدًا طول أطول جزء ابتدائي صحيح ممكن من W، والذي هو أيضًا جزء لاحق من السلسلة الفرعية التي تنتهي عند W[i - 1]. نتبع الاصطلاح بأن طول السلسلة الفارغة هو 0. ونظرًا لأن حالة عدم التطابق في بداية النمط تعتبر حالة خاصة (إذ لا توجد إمكانية للرجوع إلى الخلف)، فإننا نُعين قيمة T[0] لتكون -1، كما سيتم توضيحه لاحقًا.
خوارزمية كنوت-موريس-برات جدول "المطابقة الجزئية" (المعروف أيضًا باسم "دالة الفشل")
سنبدأ بتحليل المثال W = "ABCDABD". سنلاحظ أنه يتبع نفس مبادئ البحث الأساسية، وهو فعال لأسباب مماثلة. نقوم بتعيين قيمة T[0] لتكون -1. ولإيجاد قيمة T[1]، يجب أن نحدد لاحقة مناسبة للسلسلة "A" تكون أيضًا بادئة للنمط W. ولكن نظرًا لعدم وجود لاحقات مناسبة لـ "A"، فإننا نعين T[1] = 0. وبالمثل، لإيجاد قيمة T[2]، نرى أن السلسلة الفرعية W[0] - W[1] ("AB") لها لاحقة مناسبة هي "B". ومع ذلك، فإن "B" ليست بادئة للنمط W. لذلك، نقوم بتعيين T[2] = 0.
خوارزمية كنوت-موريس-برات جدول "المطابقة الجزئية" (المعروف أيضًا باسم "دالة الفشل")
عند معالجة T[3]، نبدأ بفحص اللاحقة الصحيحة التي يبلغ طولها 1، وكما في الحالة السابقة، لا تحقق التطابق المطلوب. هل يلزمنا أيضًا فحص اللواحق الأطول؟ الإجابة هي لا. نلاحظ هنا اختصارًا يسمح بتجنب فحص جميع اللواحق: لنفترض أننا وجدنا لاحقة صحيحة تمثل أيضًا بادئة صحيحة (البادئة الصحيحة للسلسلة لا تساوي السلسلة نفسها) وتنتهي عند W[2] بطول 2 (وهو أقصى طول ممكن)؛ في هذه الحالة، سيكون الحرف الأول في هذه اللاحقة أيضًا بادئة صحيحة لـ W، وبالتالي ستكون اللاحقة نفسها بادئة صحيحة تنتهي عند W[1]، وقد حددنا بالفعل أن هذا لم يحدث لأن T[2] = 0 وليس T[2] = 1. بناءً على ذلك، تكون قاعدة الاختصار في كل خطوة هي أنه يجب فحص اللواحق ذات الحجم m+1 فقط إذا تم العثور على لاحقة صحيحة بحجم m في الخطوة السابقة (أي T[x] = m)، ولا داعي لفحص اللواحق ذات الحجم m+2 أو m+3 وما إلى ذلك.
بناءً على ذلك، لسنا بحاجة حتى إلى أخذ السلاسل الفرعية التي يبلغ طولها 2 في الاعتبار. وكما في الحالة السابقة، فإن السلسلة الفرعية الوحيدة التي يبلغ طولها 1 تفشل في أن تكون بادئة مناسبة، ولهذا السبب تكون قيمة T[3] مساوية لـ 0.
خوارزمية كنوت-موريس-برات جدول "المطابقة الجزئية" (المعروف أيضًا باسم "دالة الفشل")
بالانتقال إلى اللاحقة W[4]، وهي الحرف 'A'، يوضح المنطق نفسه أن أطول سلسلة فرعية يجب أخذها في الاعتبار يبلغ طولها 1. وكما في الحالة السابقة، يفشل التطابق لأن 'D' ليست بادئة لـ W. ولكن بدلًا من تعيين T[4] = 0، يمكننا تحسين ذلك بملاحظة أن W[4] يساوي W[0]، وأن البحث عن قيمة T[4] يعني أن الحرف المقابل في S، وهو S[m+4]، كان غير متطابق، وبالتالي S[m+4] لا يساوي 'A'. لذا، لا فائدة من إعادة البحث عند S[m+4]؛ يجب أن نبدأ البحث من موضع واحد للأمام. هذا يعني أنه يمكننا تحريك النمط W بمقدار طول التطابق بالإضافة إلى حرف واحد، وبالتالي تكون قيمة T[4] هي -1.
بالنظر الآن إلى الحرف التالي، W[5]، وهو 'B': مع أن أطول سلسلة فرعية تبدو عند الفحص هي 'A'، إلا أننا ما زلنا نضبط T[5] = 0. السبب مشابه لسبب أن T[4] = -1. W[5] نفسها تُوسّع تطابق البادئة الذي بدأ بـ W[4]، ويمكننا افتراض أن الحرف المقابل في S، S[m+5] ≠ 'B'. لذا، فإن الرجوع قبل W[5] لا طائل منه، ولكن S[m+5] قد يكون 'A'، وبالتالي T[5] = 0.
في الختام، نلاحظ أن الحرف التالي في السلسلة المتصلة التي تبدأ من W[4] ('A') هو 'B'، وهو بالفعل الحرف W[5]. بالإضافة إلى ذلك، يوضح المنطق السابق نفسه أنه لا توجد حاجة للبحث قبل W[4] للعثور على بادئة مناسبة لـ W[6]، لذا فإن هذا هو الحل الأمثل، وعليه نحدد قيمة T[6] لتكون 2.
مثال آخر (تم تغييره قليلاً عن المثال السابق):
يوضح المثال أعلاه التقنية العامة لتجميع الجدول بكفاءة وهدوء. تعتمد هذه التقنية على مبدأ البحث الشامل، حيث أن الوصول إلى الموضع الحالي يستلزم إنجاز معظم العمل، وبالتالي لا يتطلب المغادرة سوى القليل. وتكمن التعقيدات البسيطة في أن المنطق الصحيح المتأخر في السلسلة قد ينتج سلاسل فرعية غير مناسبة في البداية، مما يستدعي بعض التعليمات البرمجية الأولية لمعالجة ذلك.
يبلغ التعقيد الزمني لخوارزمية إنشاء الجدول ، حيث يمثل k طول كلمة البحث W.
الحلقة الداخلية: يتم تهيئة cnd إلى 0 ويتم زيادتها بما لا يزيد عن 1 في كل تكرار للحلقة الخارجية. يكون T[cnd] دائمًا أقل من cnd ، لذا يتم تقليل cnd بمقدار 1 على الأقل في كل تكرار للحلقة الداخلية؛ شرط الحلقة الداخلية هو cnd ≥ 0 . يعني هذا أن الحلقة الداخلية يمكنها التنفيذ بحد أقصى عدد مرات إجمالي مماثل لما نفذته الحلقة الخارجية - كل انخفاض في cnd بمقدار 1 في الحلقة الداخلية يحتاج إلى زيادة مقابلة بمقدار 1 في الحلقة الخارجية. نظرًا لأن الحلقة الخارجية تأخذ  التكرارات، لا يمكن للحلقة الداخلية أن تستغرق أكثر من  التكرارات الإجمالية.
حيث ان مجتمعة، تستغرق الحلقات الخارجية والداخلية ما لا يزيد عن  التكرارات وهذا يتوافق مع  تعقيد الوقت باستخدام تدوين تمثيلO الكبري.
خوارزمية كنوت-موريس-برات كفاءة خوارزمية KMP
لأن الجزأين من الخوارزمية لهما، على التوالي، تعقيدات O(k) و O(n) ، تعقيد الخوارزمية الإجمالية هو O(n + k).
يظل هذا المستوى من التعقيد الحسابي ثابتًا، بغض النظر عن عدد مرات تكرار الأنماط الفرعية داخل كل من النمط W والنص S.
خوارزمية كنوت-موريس-برات المتغيرات
يمكن ان يتم تنفيذ إصدار KMP في الوقت الفعلي باستخدام جدول وظيفة الفشل المنفصل لكل حرف من الحروف الأبجدية. عند حدوث عدم تطابق في الحرف  في النص. جدول دالة الفشل للحرف  يتم استشارته للمؤشر  في النمط الذي حدث فيه عدم التطابق ، سيؤدي هذا إلى إرجاع طول أطول سلسلة فرعية تنتهي بـ  مطابقة بادئة النمط .مع هذا القيد، الشخصية  لا يلزم التحقق من النص مرة أخرى في المرحلة التالية، وبالتالي يتم تنفيذ عدد ثابت فقط من العمليات بين معالجة كل فهرس للنص[بحاجة لمصدر] .
تعتمد خوارزمية Booth على نسخة مُعدلة من دالة المعالجة المسبقة لخوارزمية كنوث-موريس-برات (KMP) للعثور على الحد الأدنى من دوران السلسلة المعجمي . ويتم حساب دالة الفشل بشكل تكراري أثناء عملية تدوير السلسلة.
قاموس أرينبور التقدمي الإنجليزي الفارسي
قاموس أَرْيَنْبُور التقدمي الإنجليزي الفارسي معجم إنجليزي فارسي في ستة مجلدات، كتبه عباس أرينبور الكاشاني ومنوشهر أرينبور كاشاني ونشرته شركة كمبيوتر وورلد، وهي شركة نشر في طهران، بإيران.
في قلوب الطيور الخضراء
في قلوب الطيور الخضراء: شهداء البوسنة هو كتاب ألفه عدد من المؤلفين المجهولين عن الحرب في البوسنة والهرسك، يُعد نصًا أساسيًا في الأدب الإسلامي ويوجد بالعديد من اللغات والترجمات. ويركز على وفاة المسلمين الأجانب الذين ذهبوا إلى البوسنة للدفاع عن المدينيين (المجاهدين) ويصف وفاتهم بأنها وفاة الشهداء. الكتاب متاح على العديد من مواقع الإنترنت، ويحظى بشعبية خاصة في شكله الصوتي، وهو الشكل الأصلي قبل ظهوره كنص مطبوع. تتضمن الإصدارات الصوتية الأناشيد، وهي أغاني ذات توجه إسلامي سجلها الشهداء قبل وفاتهم. (ديفجي: 87، 110)
في قلوب الطيور الخضراء
يشير العنوان إلى الاعتقاد الشائع بأن أرواح الشهداء محمولة في قلوب الطيور الخضراء. كانت هذه الفكرة أيضًا مصدر إلهام لكتاب يحمل اسمًا مشابهًا ولكن موضوعًا مختلفًا تمامًا، وهو في جوف الطائر الأخضر، وهو سرد لسقوط صدام حسين والعمليات العسكرية الأمريكية في العراق (زيناكيس). نير روزن هو مؤلف هذا الكتاب الأخير.
رغم أن الكتاب يُركز على البوسنة وما حلّ بها، إلا أن القنوات الأوروبية عدَّته مصدر قلق، فقِيل إن الكتاب أغرى ساجد بادات، وهو بريطاني الجنسية، بالسفر إلى أفغانستان للانضمام إلى تنظيم القاعدة في عام 2001.
قصص من الخارج
قصص من الخارج هي مجموعة قصص قصيرة كتبها رفيق خالد كاراي ، نُشرت عام 1940. يتكون الكتاب من 17 قصة، واحدة منها تدور أحداثها في سيبيريا والبقية في أجزاء مختلفة من الشرق الأوسط. بدأ المؤلف الكتابة بقطع نثرية صغيرة، وحقق شهرته الحقيقية من خلال كتابيه كتاب المملكة [التركية] وكتاب الحكايات الشعبية". بعد هذا الكتاب لم يقدم المؤلف أي أعمال في مجال القصة القصيرة. وأوضح هذا الوضع بصعوبة كتابة القصة.[بحاجة لمصدر]
قصص من الخارج التأليف والنشر
كتب المؤلف القصص في كتابه أثناء وجوده في المنفى في بيروت وحلب وحطاي بين عامي 1930 و1937. هناك آثار من حياة المؤلف في قصصه. نُشرت "شريف أكتاش" و"أكريب" و"كوبيك" و"جيبان" و"لافرنس" و"غونيس كاربماسي" و"كيكليك" و"هول" و"أنتيكاجي" في صحيفة تان [الإنجليزية] عام 1939 تحت عنوان "هافتا مسهلبري". أضاف علي بيرينجي قصتي "زنجير" و"إسطنبول" إلى قائمة المقالات المنشورة في صحيفة تان [الإنجليزية]. تم جمع هذه القصص ونشرها في عام 1940 في كتاب بعنوان قصص من الخارج. من ناحية أخرى، لم يتم تضمين القصص التي تحمل عنوان "ذكريات الخارج" و"ذكريات الفرات" و"ذكريات الشربتة" و"ذكريات الخارج" والتي نُشرت في صحيفة تان [الإنجليزية] عام 1939 تحت عنوان "ذكريات الخارج" في الكتاب.
قصص من الخارج الاستقبال
قال أحمد كاباكلي عن "حكايات المملكة" و"حكايات قصص من الخارج": "أسلوبهم بديع، وأحداثهم جذابة، وتصويرهم للبيئة ناجح للغاية، والتقنية المستخدمة قوية أيضًا." جادل عثمان نوري إكيز، الذي درس "كاراي"، بأن هذه الأعمال لا يمكن التفوق عليها تقنيًا حتى اليوم، وأن رفيق خالد فريد من نوعه من حيث إتقانه للغة وقدرته على استخدامها. ولفت نهاد سامي بنارلي الانتباه إلى إتقان لغة المؤلف.[بحاجة لمصدر]
قصص من الخارج المحتويات
هناك إجمالي 17 قصة في قصص من الخارج . هذه القصص:
بشنق (مدينة)
بوشنق كانت اسم مدينة في خراسان، بالقرب من هراة في أفغانستان الحالية.
بشنق (مدينة) التأسيس
وفقًا للعلماء الإيرانيين في العصور الوسطى، كانت بوشنق أقدم مدينة في خراسان، وقد أسستها الشخصية الإيرانية بشنق [الإنجليزية]. ومع ذلك، وفقًا للعلماء المعاصرين، القول أنها تأسست على يد بشنق كان فقط بسبب تشابه اسمه مع المدينة. وتذكر بعض المصادر الأخرى أن الملك الساساني الثاني شابور الأول (حكم من 240 إلى 270) كان مؤسس المدينة.