أطول متتالية فرعية متزايدة

في علوم الحاسوب ، تهدف مسألة إيجاد أطول متتالية متزايدة إلى إيجاد متتالية جزئية من متتالية معطاة ، بحيث تكون عناصرها مرتبة تصاعديًا، وتكون أطول ما يمكن. هذه المتتالية ليست بالضرورة متصلة أو فريدة. تُدرس المتتاليات المتزايدة في سياق تخصصات رياضية متنوعة ، تشمل الخوارزميات ، ونظرية المصفوفات العشوائية ، ونظرية التمثيل ، والفيزياء . [ 1 ] [ 2 ] يمكن حل مسألة إيجاد أطول متتالية متزايدة في زمنيا(نسجلن)،{\displaystyle O(n\log n),}أينن{\displaystyle n}يشير إلى طول سلسلة الإدخال. [ 3 ]

مثال

في أول 16 حدًا من متتالية فان دير كوربوت الثنائية

٠، ٨، ٤، ١٢، ٢، ١٠، ٦، ١٤، ١، ٩، ٥، ١٣، ٣، ١١، ٧، ١٥

إحدى أطول المتتاليات الفرعية المتزايدة هي

0، 2، 6، 9، 11، 15.

يبلغ طول هذه المتتالية الفرعية ستة عناصر؛ ولا تحتوي المتتالية المدخلة على أي متتاليات فرعية متزايدة مكونة من سبعة عناصر. ليست أطول متتالية فرعية متزايدة في هذا المثال هي الحل الوحيد: على سبيل المثال،

٠، ٤، ٦، ٩، ١١، ١٥
٠، ٢، ٦، ٩، ١٣، ١٥
٠، ٤، ٦، ٩، ١٣، ١٥

وهي متواليات فرعية متزايدة أخرى ذات طول متساوٍ في نفس متوالية الإدخال.

العلاقة بمشاكل الخوارزميات الأخرى

ترتبط مشكلة أطول متتالية متزايدة ارتباطًا وثيقًا بمشكلة أطول متتالية مشتركة ، والتي لها حل برمجة ديناميكية في زمن تربيعي : أطول متتالية متزايدة من متتاليةS{\displaystyle S}هي أطول سلسلة فرعية مشتركة منS{\displaystyle S}وتي،{\displaystyle T,}أينتي{\displaystyle T}هي نتيجة عملية الفرزS.{\displaystyle S.}لكن في الحالة الخاصة التي يكون فيها المدخل عبارة عن تبديل للأعداد الصحيحة1،2،...،ن،{\displaystyle 1,2,\ldots ,n,}يمكن جعل هذا النهج أكثر كفاءة، مما يؤدي إلى حدود زمنية من الشكل التالييا(نسجلسجلن).{\displaystyle O(n\log \log n).}[ 4 ]

أكبر مجموعة متماسكة في مخطط التبديلات تُقابل أطول سلسلة فرعية متناقصة من التبديل الذي يُحدد المخطط (بافتراض أن السلسلة الأصلية غير المُبدلة مُرتبة من الأدنى إلى الأعلى). وبالمثل، فإن أكبر مجموعة مستقلة في مخطط التبديلات تُقابل أطول سلسلة فرعية غير متناقصة. لذلك، يُمكن استخدام خوارزميات أطول سلسلة فرعية متزايدة لحل مشكلة المجموعات المتماسكة بكفاءة في مخططات التبديلات. [ 5 ]

في تطابق روبنسون-شينستيد بين التباديل وجداول يونغ ، يساوي طول الصف الأول من الجدول المقابل للتبديل طول أطول سلسلة فرعية متزايدة من التبديل، ويساوي طول العمود الأول طول أطول سلسلة فرعية متناقصة. [ 3 ]

خوارزميات فعالة

تحل الخوارزمية الموضحة أدناه مشكلة إيجاد أطول سلسلة فرعية متزايدة بكفاءة باستخدام المصفوفات والبحث الثنائي . تعالج الخوارزمية عناصر السلسلة بالترتيب، مع الحفاظ على أطول سلسلة فرعية متزايدة تم العثور عليها حتى الآن. لنرمز إلى قيم السلسلة بـX[0]،X[1]،...،{\displaystyle X[0],X[1],\ldots ,}إلخ. ثم، بعد المعالجةX[أنا]،{\displaystyle X[i],}ستخزن الخوارزمية عددًا صحيحًال{\displaystyle L}والقيم في مصفوفتين:

  • ل{\displaystyle L}— يخزن طول أطول سلسلة فرعية متزايدة تم العثور عليها حتى الآن.
  • م[ل]{\displaystyle M[l]}— يخزن الفهرسك{\displaystyle k}ذات أصغر قيمةX[ك]{\displaystyle X[k]}بحيث يكون هناك تسلسل فرعي متزايد الطولل{\displaystyle l}وينتهي عندX[ك]{\displaystyle X[k]}في النطاقكأنا.{\displaystyle k\leq i.}لنفترض صراحةً أنكأنا،ل{\displaystyle K_{i,l}}يشير إلى مجموعة جميع المؤشراتج{\displaystyle j}بحيثجأنا{\displaystyle j\leq i}ويوجد تسلسل فرعي متزايد الطولل{\displaystyle l}وينتهي عندX[ج].{\displaystyle X[j].}ثمك=م[ل]{\displaystyle k=M[l]}هو المؤشر فيكأنا،ل{\displaystyle K_{i,l}}والتيX[م[ل]]{\displaystyle X[M[l]]}يتم تقليلها إلى الحد الأدنى؛ مما يعني أنم[ل]كأنا،ل{\displaystyle M[l]\in K_{i,l}}وX[م[ل]]=مينجكأنا،لX[ج]{\displaystyle X[M[l]]=\min _{j\in K_{i,l}}X[j]}(أو ما يعادل ذلك،م[ل]كأنا،ل{\displaystyle M[l]\in K_{i,l}}ولكلجكأنا،ل،{\displaystyle j\in K_{i,l},}X[م[ل]]X[ج]{\displaystyle X[M[l]]\leq X[j]}إذا حققت عدة مؤشرات هذا الشرط،م[ل]{\displaystyle M[l]}وهو الأكبر.
    • للتوضيح، "توجد سلسلة فرعية متزايدة الطولل{\displaystyle l}وينتهي عندX[ك]{\displaystyle X[k]}"يعني أن هناك موجودًا"ل{\displaystyle l}المؤشراتأنا1<أنا2<<أنال=ك{\displaystyle i_{1}<i_{2}<\cdots <i_{l}=k}وينتهي عندك{\displaystyle k}بحيثX[أنا1]<X[أنا2]<<X[ك].{\displaystyle X\left[i_{1}\right]<X\left[i_{2}\right]<\cdots <X[k].}
    • لاحظ أن1لأنا+1،{\displaystyle 1\leq l\leq i+1,}لأنل1{\displaystyle l\geq 1}يمثل طول السلسلة الفرعية المتزايدة، وك0{\displaystyle k\geq 0}يمثل مؤشر نهايتها.
    • طولم{\displaystyle M}يكون1{\displaystyle 1}أكثر من طولX{\displaystyle X}لكن من الممكن ألا تستخدم الخوارزمية جميع العناصر في هذه المصفوفة (في الواقع، إذا كان طول أطول تسلسل متزايد هول{\displaystyle L}عندها فقطم[1]،...،م[ل]{\displaystyle M[1],\ldots ,M[L]}(يتم استخدامها بواسطة الخوارزمية). ولكن إذام[ل]{\displaystyle M[l]}يتم استخدام/تعريف ذلكل-1م[ل]{\displaystyle l-1\leq M[l]}(علاوة على ذلك، في التكرار)أنا،{\displaystyle i,}م[ل]أنا{\displaystyle M[l]\leq i}سوف يفعل ذلك أيضًا).م[0]{\displaystyle M[0]}غير مُعرَّف لأن المتتاليات ذات الطول0{\displaystyle 0}ليس لها فهرس نهائي (م[0]{\displaystyle M[0]}(يمكن أن تكون أي قيمة).
  • P[ك]{\displaystyle P[k]}— يخزن فهرس السلف لـX[ك]{\displaystyle X[k]}في أطول سلسلة فرعية متزايدة تنتهي عندX[ك].{\displaystyle X[k].}
    • طولP{\displaystyle P}يساوي ذلك الخاص بـX،{\displaystyle X,}
    • لوك>0{\displaystyle k>0}ثمP[ك]<ك{\displaystyle P[k]<k}بينماP[0]{\displaystyle P[0]}غير محدد لأنX[0]{\displaystyle X[0]}ليس له سلف (P[0]{\displaystyle P[0]}(يمكن أن تكون أي قيمة).

لأن الخوارزمية أدناه تستخدم الترقيم الذي يبدأ من الصفر ، وذلك للتوضيحم{\displaystyle M}مبطن بـم[0]،{\displaystyle M[0],}والتي تبقى غير مستخدمة بحيثم[ل]{\displaystyle M[l]}يتوافق مع سلسلة فرعية بطولل.{\displaystyle l.}يمكن للتنفيذ الفعلي أن يتجاوز ذلكم[0]{\displaystyle M[0]}وتعديل المؤشرات وفقًا لذلك.

لاحظ أنه في أي نقطة من الخوارزمية، يكون التسلسل X[م[1]]،X[م[2]]،...،X[م[ل]]{\displaystyle X[M[1]],X[M[2]],\ldots ,X[M[L]]} يتزايد. لأنه إذا كانت هناك متتالية جزئية متزايدة الطولل2{\displaystyle l\geq 2}وينتهي عندX[م[ل]]،{\displaystyle X[M[l]],}ثم هناك أيضًا سلسلة فرعية بطولل-1{\displaystyle l-1}تنتهي بقيمة أصغر: أي القيمة التي تنتهي عندX[P[م[ل]]].{\displaystyle X[P[M[l]]].}وبالتالي، يمكننا إجراء عمليات بحث ثنائية في هذا التسلسل في وقت لوغاريتمي.

ثم تسير الخوارزمية على النحو التالي:

عرض توضيحي للبرنامج.
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 كما يلي:يا(نسجلن).{\displaystyle O(n\log n).}يناقش فريدمان (1975) صيغةً معدلةً من هذه الخوارزمية، والتي ينسبها إلى دونالد كنوث ؛ في الصيغة المعدلة التي يدرسها، تختبر الخوارزمية ما إذا كانت كل قيمةX[أنا]{\displaystyle X[i]}يمكن استخدام هذه الطريقة لتمديد أطول سلسلة متزايدة حالية، في وقت ثابت، قبل إجراء البحث الثنائي. مع هذا التعديل، تستخدم الخوارزمية على الأكثرنسجل2ن-نسجل2سجل2ن+يا(ن){\displaystyle n\log _{2}n-n\log _{2}\log _{2}n+O(n)}المقارنات في أسوأ الحالات، وهي الحالة المثلى لخوارزمية تعتمد على المقارنة حتى العامل الثابت فييا(ن){\displaystyle O(n)}مصطلح. [ 6 ]

مثال على التشغيل

استخدامX = [2, 8, 9, 5, 6, 7, 1]
القيم المخزنة في المتغيراتX[i]newLPMX[M]L
قبل for iالحلقةP = []M = [-1]X[M] = [N/A]L = 0
في نهاية الحلقةi = 0X[i] = 2newL = 1P = [-1]M = [-1, 0]X[M] = [N/A, 2]L = 1
في نهاية الحلقةi = 1X[i] = 8newL = 2P = [-1, 0]M = [-1, 0, 1]X[M] = [N/A, 2, 8]L = 2
في نهاية الحلقةi = 2X[i] = 9newL = 3P = [-1, 0, 1]M = [-1, 0, 1, 2]X[M] = [N/A, 2, 8, 9]L = 3
في نهاية الحلقةi = 3X[i] = 5newL = 2P = [-1, 0, 1, 0]M = [-1, 0, 3, 2]X[M] = [N/A, 2, 5, 9]L = 3
في نهاية الحلقةi = 4X[i] = 6newL = 3P = [-1, 0, 1, 0, 3]M = [-1, 0, 3, 4]X[M] = [N/A, 2, 5, 6]L = 3
في نهاية الحلقةi = 5X[i] = 7newL = 4P = [-1, 0, 1, 0, 3, 4]M = [-1, 0, 3, 4, 5]X[M] = [N/A, 2, 5, 6, 7]L = 4
في نهاية الحلقةi = 6X[i] = 1newL = 1P = [-1, 0, 1, 0, 3, 4, -1]M = [-1, 6, 3, 4, 5]X[M] = [N/A, 1, 5, 6, 7]L = 4
القيم المخزنة في المتغيراتSkX[k]
قبل for jالحلقةS = [N/A, N/A, N/A, N/A]k = M[4] = 5X[5] = 7
في نهاية الحلقةj = 3S = [N/A, N/A, N/A, 7]k = P[5] = 4X[4] = 6
في نهاية الحلقةj = 2S = [N/A, N/A, 6, 7]k = P[4] = 3X[3] = 5
في نهاية الحلقةj = 1S = [N/A, 5, 6, 7]k = P[3] = 0X[0] = 2
في نهاية الحلقةj = 0S = [2, 5, 6, 7]k = P[0] = -1X[-1] = N/A

حدود الطول

وفقًا لنظرية إردوس-سزكيريس ، فإن أي تسلسل منن2+1{\displaystyle n^{2}+1}تحتوي الأعداد الصحيحة المميزة على متتالية فرعية متزايدة أو متناقصة بطولن+1.{\displaystyle n+1.}[ 7 ] [ 8 ] بالنسبة للمدخلات التي يكون فيها كل تبديل للمدخل متساوي الاحتمال، فإن الطول المتوقع لأطول سلسلة فرعية متزايدة هو تقريبًا2ن.{\displaystyle 2{\sqrt {n}}.}[ 9 ] [ 2 ]

في الحد كمان{\displaystyle n}تنص نظرية بايك-ديفت-يوهانسون على أنه عندما يقترب طول أطول متتالية فرعية متزايدة من متتالية عشوائية الترتيب من اللانهاية ، فإن طول أطول متتالية فرعية متزايدة من متتالية عشوائية الترتيب منن{\displaystyle n}[ 10 ]

الخوارزميات عبر الإنترنت

تمت دراسة أطول سلسلة فرعية متزايدة أيضًا في سياق الخوارزميات عبر الإنترنت ، حيث تكون عناصر سلسلة من المتغيرات العشوائية المستقلة ذات التوزيع المستمرF{\displaystyle F}– أو بدلاً من ذلك، عناصر تبديل عشوائي – تُعرض كل منها على حدة لخوارزمية يجب عليها أن تقرر ما إذا كانت ستُضمّن كل عنصر أو تستبعده، دون معرفة العناصر اللاحقة. في هذا النوع من المشكلة، الذي يتيح تطبيقات مثيرة للاهتمام في سياقات متعددة، من الممكن ابتكار إجراء اختيار أمثل، يُعطى عينة عشوائية بحجمن{\displaystyle n}كمدخل، سيولد تسلسلًا متزايدًا بطول متوقع أقصى يبلغ حجمه تقريبًا2ن.{\displaystyle {\sqrt {2n}}.}[ 11 ] يبلغ تباين طول المتتالية الفرعية المتزايدة المختارة بواسطة هذا الإجراء الأمثل ما يقارب2ن/3،{\displaystyle {\sqrt {2n}}/3,}ويكون توزيعها النهائي طبيعيًا تقاربيًا بعد التمركز والقياس المعتادين. [ 12 ] تنطبق النتائج التقاربية نفسها، مع حدود أكثر دقة، على المسألة المقابلة في سياق عملية وصول بواسون . [ 13 ] ويُقدَّم تحسين إضافي في سياق عملية بواسون من خلال إثبات نظرية النهاية المركزية لعملية الاختيار الأمثل، والتي تنطبق، مع تطبيع مناسب، بمعنى أكثر شمولًا مما هو متوقع. لا يُنتج البرهان نظرية النهاية الوظيفية "الصحيحة" فحسب، بل يُنتج أيضًا مصفوفة التغاير (المفردة) للعملية ثلاثية الأبعاد التي تلخص جميع العمليات المتفاعلة. [ 14 ]

انظر أيضاً

مراجع

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