أطول متتالية فرعية متزايدة
في علوم الحاسوب ، تهدف مسألة إيجاد أطول متتالية متزايدة إلى إيجاد متتالية جزئية من متتالية معطاة ، بحيث تكون عناصرها مرتبة تصاعديًا، وتكون أطول ما يمكن. هذه المتتالية ليست بالضرورة متصلة أو فريدة. تُدرس المتتاليات المتزايدة في سياق تخصصات رياضية متنوعة ، تشمل الخوارزميات ، ونظرية المصفوفات العشوائية ، ونظرية التمثيل ، والفيزياء . [ 1 ] [ 2 ] يمكن حل مسألة إيجاد أطول متتالية متزايدة في زمنأينيشير إلى طول سلسلة الإدخال. [ 3 ]
مثال
في أول 16 حدًا من متتالية فان دير كوربوت الثنائية
- ٠، ٨، ٤، ١٢، ٢، ١٠، ٦، ١٤، ١، ٩، ٥، ١٣، ٣، ١١، ٧، ١٥
إحدى أطول المتتاليات الفرعية المتزايدة هي
- 0، 2، 6، 9، 11، 15.
يبلغ طول هذه المتتالية الفرعية ستة عناصر؛ ولا تحتوي المتتالية المدخلة على أي متتاليات فرعية متزايدة مكونة من سبعة عناصر. ليست أطول متتالية فرعية متزايدة في هذا المثال هي الحل الوحيد: على سبيل المثال،
- ٠، ٤، ٦، ٩، ١١، ١٥
- ٠، ٢، ٦، ٩، ١٣، ١٥
- ٠، ٤، ٦، ٩، ١٣، ١٥
وهي متواليات فرعية متزايدة أخرى ذات طول متساوٍ في نفس متوالية الإدخال.
العلاقة بمشاكل الخوارزميات الأخرى
ترتبط مشكلة أطول متتالية متزايدة ارتباطًا وثيقًا بمشكلة أطول متتالية مشتركة ، والتي لها حل برمجة ديناميكية في زمن تربيعي : أطول متتالية متزايدة من متتاليةهي أطول سلسلة فرعية مشتركة منوأينهي نتيجة عملية الفرزلكن في الحالة الخاصة التي يكون فيها المدخل عبارة عن تبديل للأعداد الصحيحةيمكن جعل هذا النهج أكثر كفاءة، مما يؤدي إلى حدود زمنية من الشكل التالي[ 4 ]
أكبر مجموعة متماسكة في مخطط التبديلات تُقابل أطول سلسلة فرعية متناقصة من التبديل الذي يُحدد المخطط (بافتراض أن السلسلة الأصلية غير المُبدلة مُرتبة من الأدنى إلى الأعلى). وبالمثل، فإن أكبر مجموعة مستقلة في مخطط التبديلات تُقابل أطول سلسلة فرعية غير متناقصة. لذلك، يُمكن استخدام خوارزميات أطول سلسلة فرعية متزايدة لحل مشكلة المجموعات المتماسكة بكفاءة في مخططات التبديلات. [ 5 ]
في تطابق روبنسون-شينستيد بين التباديل وجداول يونغ ، يساوي طول الصف الأول من الجدول المقابل للتبديل طول أطول سلسلة فرعية متزايدة من التبديل، ويساوي طول العمود الأول طول أطول سلسلة فرعية متناقصة. [ 3 ]
خوارزميات فعالة
تحل الخوارزمية الموضحة أدناه مشكلة إيجاد أطول سلسلة فرعية متزايدة بكفاءة باستخدام المصفوفات والبحث الثنائي . تعالج الخوارزمية عناصر السلسلة بالترتيب، مع الحفاظ على أطول سلسلة فرعية متزايدة تم العثور عليها حتى الآن. لنرمز إلى قيم السلسلة بـإلخ. ثم، بعد المعالجةستخزن الخوارزمية عددًا صحيحًاوالقيم في مصفوفتين:
- — يخزن طول أطول سلسلة فرعية متزايدة تم العثور عليها حتى الآن.
- — يخزن الفهرسذات أصغر قيمةبحيث يكون هناك تسلسل فرعي متزايد الطولوينتهي عندفي النطاقلنفترض صراحةً أنيشير إلى مجموعة جميع المؤشراتبحيثويوجد تسلسل فرعي متزايد الطولوينتهي عندثمهو المؤشر فيوالتييتم تقليلها إلى الحد الأدنى؛ مما يعني أنو(أو ما يعادل ذلك،ولكلإذا حققت عدة مؤشرات هذا الشرط،وهو الأكبر.
- للتوضيح، "توجد سلسلة فرعية متزايدة الطولوينتهي عند"يعني أن هناك موجودًا"المؤشراتوينتهي عندبحيث
- لاحظ أنلأنيمثل طول السلسلة الفرعية المتزايدة، ويمثل مؤشر نهايتها.
- طوليكونأكثر من طوللكن من الممكن ألا تستخدم الخوارزمية جميع العناصر في هذه المصفوفة (في الواقع، إذا كان طول أطول تسلسل متزايد هوعندها فقط(يتم استخدامها بواسطة الخوارزمية). ولكن إذايتم استخدام/تعريف ذلك(علاوة على ذلك، في التكرار)سوف يفعل ذلك أيضًا).غير مُعرَّف لأن المتتاليات ذات الطولليس لها فهرس نهائي ((يمكن أن تكون أي قيمة).
- — يخزن فهرس السلف لـفي أطول سلسلة فرعية متزايدة تنتهي عند
- طوليساوي ذلك الخاص بـ
- لوثمبينماغير محدد لأنليس له سلف ((يمكن أن تكون أي قيمة).
لأن الخوارزمية أدناه تستخدم الترقيم الذي يبدأ من الصفر ، وذلك للتوضيحمبطن بـوالتي تبقى غير مستخدمة بحيثيتوافق مع سلسلة فرعية بطوليمكن للتنفيذ الفعلي أن يتجاوز ذلكوتعديل المؤشرات وفقًا لذلك.
لاحظ أنه في أي نقطة من الخوارزمية، يكون التسلسل يتزايد. لأنه إذا كانت هناك متتالية جزئية متزايدة الطولوينتهي عندثم هناك أيضًا سلسلة فرعية بطولتنتهي بقيمة أصغر: أي القيمة التي تنتهي عندوبالتالي، يمكننا إجراء عمليات بحث ثنائية في هذا التسلسل في وقت لوغاريتمي.
ثم تسير الخوارزمية على النحو التالي:

P = مصفوفة طولها N M = مصفوفة طولها N + 1 M[0] = -1 // غير مُعرّف، لذا يمكن تعيينه لأي قيمة. L = 0 for i in range 0 to N-1: //N-1 included // البحث الثنائي عن أصغر قيمة موجبة l ≤ L // بحيث يكون X[M[l]] >= X[i] lo = 1 hi = L + 1 بينما لو < هي: mid = lo + floor((hi-lo)/2) // lo <= mid < hi إذا كان X[M[mid]] >= X[i] hi = mid وإلا : // إذا كان X[M[mid]] < X[i] لو = منتصف + 1 // بعد البحث، يكون lo == hi أكبر بمقدار 1 من // طول أطول بادئة لـ X[i] newL = lo // العنصر السابق لـ X[i] هو آخر فهرس لـ // المتتالية الفرعية ذات الطول newL-1 P[i] = M[newL-1] M[newL] = i إذا كان طول الجديد أكبر من طوله الحالي: // إذا وجدنا سلسلة فرعية أطول من أي سلسلة فرعية لدينا // لم يتم العثور عليه بعد، قم بتحديث L L = newL // إعادة بناء أطول متتالية فرعية متزايدة // يتكون من قيم X عند المؤشرات L: // ..., P[P[M[L]]], P[M[L]], M[L] S = مصفوفة طولها L k = M[L] for j in range L-1 to 0: //0 included S[j] = X[k] k = P[k] إرجاع S
لأن الخوارزمية تُجري عملية بحث ثنائي واحدة لكل عنصر من عناصر التسلسل، يمكن التعبير عن وقتها الإجمالي باستخدام ترميز Big O كما يلي:يناقش فريدمان (1975) صيغةً معدلةً من هذه الخوارزمية، والتي ينسبها إلى دونالد كنوث ؛ في الصيغة المعدلة التي يدرسها، تختبر الخوارزمية ما إذا كانت كل قيمةيمكن استخدام هذه الطريقة لتمديد أطول سلسلة متزايدة حالية، في وقت ثابت، قبل إجراء البحث الثنائي. مع هذا التعديل، تستخدم الخوارزمية على الأكثرالمقارنات في أسوأ الحالات، وهي الحالة المثلى لخوارزمية تعتمد على المقارنة حتى العامل الثابت فيمصطلح. [ 6 ]
مثال على التشغيل
| القيم المخزنة في المتغيرات | X[i] | newL | P | M | X[M] | L |
|---|---|---|---|---|---|---|
قبل for iالحلقة | P = [] | M = [-1] | X[M] = [N/A] | L = 0 | ||
في نهاية الحلقةi = 0 | X[i] = 2 | newL = 1 | P = [-1] | M = [-1, 0] | X[M] = [N/A, 2] | L = 1 |
في نهاية الحلقةi = 1 | X[i] = 8 | newL = 2 | P = [-1, 0] | M = [-1, 0, 1] | X[M] = [N/A, 2, 8] | L = 2 |
في نهاية الحلقةi = 2 | X[i] = 9 | newL = 3 | P = [-1, 0, 1] | M = [-1, 0, 1, 2] | X[M] = [N/A, 2, 8, 9] | L = 3 |
في نهاية الحلقةi = 3 | X[i] = 5 | newL = 2 | P = [-1, 0, 1, 0] | M = [-1, 0, 3, 2] | X[M] = [N/A, 2, 5, 9] | L = 3 |
في نهاية الحلقةi = 4 | X[i] = 6 | newL = 3 | P = [-1, 0, 1, 0, 3] | M = [-1, 0, 3, 4] | X[M] = [N/A, 2, 5, 6] | L = 3 |
في نهاية الحلقةi = 5 | X[i] = 7 | newL = 4 | P = [-1, 0, 1, 0, 3, 4] | M = [-1, 0, 3, 4, 5] | X[M] = [N/A, 2, 5, 6, 7] | L = 4 |
في نهاية الحلقةi = 6 | X[i] = 1 | newL = 1 | P = [-1, 0, 1, 0, 3, 4, -1] | M = [-1, 6, 3, 4, 5] | X[M] = [N/A, 1, 5, 6, 7] | L = 4 |
| القيم المخزنة في المتغيرات | S | k | X[k] | |||
قبل for jالحلقة | S = [N/A, N/A, N/A, N/A] | k = M[4] = 5 | X[5] = 7 | |||
في نهاية الحلقةj = 3 | S = [N/A, N/A, N/A, 7] | k = P[5] = 4 | X[4] = 6 | |||
في نهاية الحلقةj = 2 | S = [N/A, N/A, 6, 7] | k = P[4] = 3 | X[3] = 5 | |||
في نهاية الحلقةj = 1 | S = [N/A, 5, 6, 7] | k = P[3] = 0 | X[0] = 2 | |||
في نهاية الحلقةj = 0 | S = [2, 5, 6, 7] | k = P[0] = -1 | X[-1] = N/A | |||
حدود الطول
وفقًا لنظرية إردوس-سزكيريس ، فإن أي تسلسل منتحتوي الأعداد الصحيحة المميزة على متتالية فرعية متزايدة أو متناقصة بطول[ 7 ] [ 8 ] بالنسبة للمدخلات التي يكون فيها كل تبديل للمدخل متساوي الاحتمال، فإن الطول المتوقع لأطول سلسلة فرعية متزايدة هو تقريبًا[ 9 ] [ 2 ]
في الحد كماتنص نظرية بايك-ديفت-يوهانسون على أنه عندما يقترب طول أطول متتالية فرعية متزايدة من متتالية عشوائية الترتيب من اللانهاية ، فإن طول أطول متتالية فرعية متزايدة من متتالية عشوائية الترتيب من[ 10 ]
الخوارزميات عبر الإنترنت
تمت دراسة أطول سلسلة فرعية متزايدة أيضًا في سياق الخوارزميات عبر الإنترنت ، حيث تكون عناصر سلسلة من المتغيرات العشوائية المستقلة ذات التوزيع المستمر– أو بدلاً من ذلك، عناصر تبديل عشوائي – تُعرض كل منها على حدة لخوارزمية يجب عليها أن تقرر ما إذا كانت ستُضمّن كل عنصر أو تستبعده، دون معرفة العناصر اللاحقة. في هذا النوع من المشكلة، الذي يتيح تطبيقات مثيرة للاهتمام في سياقات متعددة، من الممكن ابتكار إجراء اختيار أمثل، يُعطى عينة عشوائية بحجمكمدخل، سيولد تسلسلًا متزايدًا بطول متوقع أقصى يبلغ حجمه تقريبًا[ 11 ] يبلغ تباين طول المتتالية الفرعية المتزايدة المختارة بواسطة هذا الإجراء الأمثل ما يقاربويكون توزيعها النهائي طبيعيًا تقاربيًا بعد التمركز والقياس المعتادين. [ 12 ] تنطبق النتائج التقاربية نفسها، مع حدود أكثر دقة، على المسألة المقابلة في سياق عملية وصول بواسون . [ 13 ] ويُقدَّم تحسين إضافي في سياق عملية بواسون من خلال إثبات نظرية النهاية المركزية لعملية الاختيار الأمثل، والتي تنطبق، مع تطبيع مناسب، بمعنى أكثر شمولًا مما هو متوقع. لا يُنتج البرهان نظرية النهاية الوظيفية "الصحيحة" فحسب، بل يُنتج أيضًا مصفوفة التغاير (المفردة) للعملية ثلاثية الأبعاد التي تلخص جميع العمليات المتفاعلة. [ 14 ]
انظر أيضاً
- أناتولي فيرشيك الذي درس تطبيقات نظرية الزمر على أطول المتتاليات الفرعية المتزايدة في التباديل العشوائية. [ 15 ]
- أطول سلسلة فرعية متناوبة
- أطول سلسلة فرعية مشتركة
- فرز الصبر - تقنية فعالة لإيجاد طول أطول سلسلة فرعية متزايدة
- المونويد البلاستيكي - نظام جبري مُعرَّف بتحويلات تحافظ على طول أطول متتالية فرعية متزايدة
مراجع
- ↑ ألدوس، ديفيد ؛ دياكونيس، بيرسي (1999)، "أطول المتتاليات الفرعية المتزايدة: من فرز الصبر إلى نظرية بايك-ديفت-يوهانسون"، نشرة الجمعية الرياضية الأمريكية ، 36 (4): 413-432 ، doi : 10.1090/S0273-0979-99-00796-X.
- روميك ، دان (2015). الرياضيات المدهشة لأطول المتتاليات المتزايدة . doi : 10.1017 /CBO9781139872003 . ISBN 9781107075832.
- 1 2 شينستيد، سي. (1961)، "أطول المتتاليات الفرعية المتزايدة والمتناقصة"، المجلة الكندية للرياضيات ، 13 : 179-191 ، doi : 10.4153/CJM-1961-015-3 ، MR 0121305 .
- ↑ هانت، ج.؛ شيمانسكي، ت. (1977)، "خوارزمية سريعة لحساب أطول التسلسلات الفرعية المشتركة"، اتصالات ACM ، 20 (5): 350-353 ، doi : 10.1145/359581.359603 ، S2CID 3226080 .
- ↑ غولومبيك، إم سي (1980)، نظرية الرسم البياني الخوارزمية والرسوم البيانية المثالية ، علوم الحاسوب والرياضيات التطبيقية، دار النشر الأكاديمية، ص 159 .
- ↑ فريدمان، مايكل ل. (1975)، "حول حساب طول أطول المتتاليات الفرعية المتزايدة"، الرياضيات المتقطعة ، 11 (1): 29-35 ، doi : 10.1016/0012-365X(75)90103-X.
- ^ اردوس، بول ؛ Szekeres، George (1935)، “مشكلة اندماجية في الهندسة” ، Compositio Mathematica ، 2 : 463– 470.
- ↑ ستيل، ج. مايكل (1995)، "متغيرات على موضوع المتتالية الفرعية الرتيبة لإردوش وسيكيريس"، في ألدوس، ديفيد ؛ دياكونيس، بيرسي ؛ سبنسر، جويل ؛ وآخرون (محررون)، الاحتمالات المنفصلة والخوارزميات (PDF) ، مجلدات IMA في الرياضيات وتطبيقاتها، المجلد 72، سبرينغر-فيرلاغ، الصفحات 111-131 .
- ↑ فيرشيك، أ.م .؛ كيروف، س.ف. (1977)، "التقارب المقارب للمقياس البلانشيري للمجموعة المتناظرة وشكل حدّي لجداول يونغ"، دوكل . أكاد. ناوك إس إس إس آر ، 233 : 1024-1027.
- ↑ بايك، جينهو؛ ديفت، بيرسي؛ يوهانسون، كورت (1999)، "حول توزيع طول أطول متتالية فرعية متزايدة من التباديل العشوائية"، مجلة الجمعية الرياضية الأمريكية ، 12 (4): 1119-1178 ، arXiv : math/9810105 ، doi : 10.1090/S0894-0347-99-00307-0.
- ↑ سامويلز، ستيفن م.؛ ستيل، ج. مايكل (1981)، "الاختيار التسلسلي الأمثل لتسلسل رتيب من عينة عشوائية" (ملف PDF) ، حوليات الاحتمالات ، 9 (6): 937-947 ، doi : 10.1214/aop/1176994265 ، مؤرشف (ملف PDF) من الأصل في 30 يوليو 2018
- ↑ أرلوتو، أليساندرو؛ نغوين، فينه ف.؛ ستيل، ج. مايكل (2015)، "الاختيار الأمثل عبر الإنترنت لمتتالية فرعية رتيبة: نظرية النهاية المركزية"، العمليات العشوائية وتطبيقاتها ، 125 (9): 3596-3622 ، arXiv : 1408.6750 ، doi : 10.1016/j.spa.2015.03.009 ، S2CID 15900488
- ↑ بروس، ف. توماس ؛ ديلباين، فريدي (2001)، "القواعد المثلى للاختيار المتسلسل للمتتاليات الفرعية الرتيبة ذات الطول المتوقع الأقصى"، العمليات العشوائية وتطبيقاتها ، 96 (2): 313-342 ، doi : 10.1016/S0304-4149(01)00122-3.
- ↑ بروس، ف. توماس ؛ ديلباين، فريدي (2004)، "نظرية النهاية المركزية لعملية الاختيار الأمثل للمتتاليات الفرعية الرتيبة ذات الطول المتوقع الأقصى"، العمليات العشوائية وتطبيقاتها ، 114 (2): 287-311 ، doi : 10.1016/j.spa.2004.09.002.
- ↑ روميك، دان (2015). الرياضيات المدهشة لأطول المتتاليات المتزايدة . كتب معهد الإحصاء الرياضي. نيويورك: مطبعة جامعة كامبريدج. ISBN 978-1-107-42882-9.
روابط خارجية
- مشاكل في التعامل مع السلاسل النصية
- التوافقية
- اللغات الرسمية
- البرمجة الديناميكية
