If you do not find what you're looking for, you can use more accurate words.
مشاكل الLSC لها كيان امثل : المشكلة ممكن تقسيمها الي مشاكل اصغر وابسط حيث يمكن تقسيمها الي مشاكل اصغر وهكذا. في النهاية الحل يصبح صغير جدا. مشاكل الLSC لها أيضا مشاكل ثانوية متداخلة. الحل لاعلي مرحله من المشاكل الثانية غالبا يعيد استخدام المشاكل الثانويه للمرحله الأقل . المشاكل ذات هاتان الخاصيتان " الكبان الامثل والمشاكل الثانويه المتداخله " يمكن أن تصاغ عن طريق تقنيه حل المشكلات تسمي البرمجة الديناميكبه . حيث أنها تقوم بحفظ الحل بدلا من حسابه مرارا وتكرارا . الخطوات تتطلب memorization لحفظ الحلول لكل مرحله من المشاكل الثانويه في الجدول، وبهذا تكون الحلول متوفرة للمراحل المتقدمه من المشاكل الثانويه .
المشاكل الثانويه تصبح ابسط كلما أصبحت المتسلسله أقصر . المتتاليات القصيرة تم وصفها باستخدام مصطلح " البادئه " . بدايه المتسلسله هي عبارة عن متسلسله بدون نهايه . بفرض ان s هي المتسلسله ( AGCA) ثم نعتبر (AG ) واحدة من بادئات ال S . البادئات ترمز لاسم المتسلسله متبوعه بشرح يشير الي عدد حروف البادئه . البادئه (ِAG) تعبر عن ال S2 . بما أنها تحتوي علي أول عنصرين من S . البادئات الممكن لل S هي
بفرض ان متسلسلتين ينتهون عند نفس العنصر . لإيجاد LSC للمتتاليه يجب تقصيرها بأزاله آخر عنصر، ثم إيجاد LSC المتتاليه الجديدة بعد التقصير ثم الحاق العنصر الذي تم ازالته مجددا للمتسلسله . على سبيل المثال، هناك متتاليتين لهما نفس العنصر الاخير (ATANA) و (BANANA) . قم بأزاله آخر عنصر واستمر بإعادة الخطوات حتي تصل لمرحله يصبح التسلسل الذي تم حذفه هو (ANA) . و بهذا تصبح المتسلسله الجديدة هي (AT ) و (BAN) . ال LCS لاخر متسلسلتين (A ) , و الحاقها للعناصر التي تمت ازالتها لتكون (AANA) و هكذا تكون ال LCS للمتسلسله الاصليه.
في العموم، للمتسلسلتين X, Y بطول n , m بالإشارة للعنصر x1 ل xn و y1 ل ym و البادئات X1 ل Xn-1 و Y1 ل "Ym-1
و بهذا
بفرض ان المتسلسلتين x و y لا تنتهي بنفس العنصر، اذن ال LCS لهما يصبح الأطول بين المتسلسلتين LCS(Xn,Ym-1)و LCS(Xn-1,Ym) . لفهم هذة الخاصية بفرض ان المتسلسلتين كالاتي المتسلسله X: ABCDEFG المتسلسله Y: BCDGK ال LCS للمتسلسلتين اما ينتهي ب G أو لا
في الحالة الأولي : ال LCS ينتهي ب G و بهذا لا تنتهي ب K و بهذا لا يضر عند ازاله العنصر K من المتسلسله y لو كانت ال K في ال LCS و بهذا تكون LCS(Xn,Ym) = LCS(Xn, Ym-1).
الحالة الثانية : عندما لا تحتوي ال LCS علي عنصر ال G و بهذا حذف ال G2 من المتسلسله x و بهذا تستطيع كتابه LCS(Xn,Ym) = LCS(Xn-1, Ym).
في أي حاله ,الLCS الذي نبحث عنه هو واحد من LCS(Xn, Ym-1) أو LCS(Xn-1, Ym) و بهذا يكون LCS(X,Y) الأطول بين المتسلسلات
بفرض ان المتسلسلتين يتم تعريفهم كالاتي X = =x1, x2...xm و Y = y1, y2...yn . البادئات ل x هي X1, 2,...m ; و البادئه y هي =Y1, 2,...n., 2,...n .
بفرض ان LCS"Xi, Yj تعبر عن مجموعه من أطول تسلسل مشنرك في البادئات Xi و Yj, مجموعه المتتاليات ممكن وصفها كالاتي
لإيجاد أطول تسلسل مشترك لل Xi و Yj , قارن العناصر xi و yj , إذا تساوت العناصر، اذن تزداد المتسلسله( LCS(Xi-1, )Yj-1) إذا لم تتساوي، يتم حفظ أطول متسلسه من (LCS(Xi-1,Yj
أطول تسلسل مشترك ل (C = (AGCAT, و (R = (GAC يمكن إيجادها لان داله ال LCS تستخدم عناصر صفريه، يكون من المناسب تعريف البادئه التي قيمتها صفر بـ C0 = Ø ; و R0 = Ø جميع البادئات يتم وضعها في جدول كالتالي :
هذا الجدول يستخدم لتخزين المتسلسله LCS لكل خطوة من الحسابات . العمود الثاني والصف الثاني بهم Ø لان عند وجود عنصر فارغ يتم مقارنته بعنصر آخر غير فارغ، يكون وبهذا يكون أطول تسلسل مشترك فارغ
(LCS(R1, C1 تعرف عن طريق مقارنه أول عنصر من كل متتاليه حيث G و A مختلفين لذلك، باستخدام الخاصية الثانية لإيجاد أطول متسلسله من (LCS(R1, C0 و (LCS(R0, C1 . رجوعا للجدول، كلا من المتسلسلات فارغين لذلك (LCS(R1, C1 أيضا فارغ كما هو موضح بالجدول . الاسهم تعبر عن اتجاه المتسلسله من الخليا العليا والخلبه علي اليسار .
(LCS(R1, C2 يمكن التعرف عليها عن طريق مقارنه ال G مع ال G . في حاله التشابه، يتم اضافه G للمتسلسله (LCS(R0, C1 التي هي (Ø) لتصبح (ØG) التي هي (G)
لـ (LCS(R1, C3 الـ G و ال C مختلفان وبالتالي تكون المتسلسله فارغه، الخلية علي اليسار تحتوي علي العنصر G باختيار أطول متسلسله من (LCS(R1, C3 يكون G . نشير الاسهم لليسار بما أنها المتسلسله الأطول بين المتسلسلتين .
(LCS(R1, C4 ، وبالمثل، هو (G). (LCS(R1, C5 ، وبالمثل، هو (G).
لـ (LCS(R2, C1 تتم مقارنه A مع ال A . عند التشابه، يتم اضافه A للخانه Ø لتصبح A
لـ (LCS(R2, C2 و C و A مختلفان والمتسلسله( LCS(R1, C2 تحتوي علي المتسلسلات A و G : حيث (LCS(R1, C2 هي G التي هي موجودة أيضا في (LCS(R2, C1 . و بهذا تكون النتيجة ان LCS(R2, C3) تحتوي علي A و G
لـ (LCS(R2, C4 تتم مقارنه A مع ال A . عند التشابه، يتم اضافه A للخانه الاعلي علي اليسار لتصبح GA
لـ (LCS(R2, C5 و C,A مختلفان، لذلك (LCS(R2, C5 تصبح أطول متسلسله A
لـ (LCS(R3, C1 و G ,C مختلفان . و كلا من ( LCS(R3, C1 و LCS(R2,C2) لهم عنصر واحد . وبهذا تكون النتيجة ان (LCS(R2, C2 تحتوي علي متسلسلتان جزئيتان A و G
لـ (LCS(R3, C3 , ال C و ال C متشابهان لذلك يتم اضافه C لـ (LCS(RLCS(R2, C2, الذي يحتوي على متسلسلتان جزئيتان A و G لتصبح النتيجة النهائيه AC و GC
لـ (LCS(R3, C4 و C,A مختلفان، وبدمج (LCS(R3, C3 الذي يحتوي على (AC) و (GC) و (LCS(R2, C4 الذي يحتوي على (GA) , نحصل علي نتيجه (AC), (GC), و (GA).
و اخيرا لـLCS(R3,C5) C و T لا يتشابهان وبهذا تكون النتيجة (LCS(R3, C5 تحتوي أيضا علي (AC), (GC), و (GA).
النتيجة الأخيرة ان آخر خليه في الجدول تحتوي علي جميع أطول متسلسلات جزئيه مشتركه لـ (AGCAT) و (GAC) الا وهي (AC), (GC), و (GA). و أيضا الجدول يوضح أطول متسلسله مشتركه لكل زوج من البادئات
حساب ال LCS من صف في الجدول لا يتطلب سوي التوصل لحلول نفس الصف والصفوف السابقه . المتسلسله الطويله يمكن أن تصبح أكبر متطلبه مساحه تخزين أكبر . مساحه التخزين من الممكن حفظها عن طريق طول المتسلسله واتجاه الاسهم كما هو موضح بالجدول
المتسلسله الجزئية الفعليه تم استخلاصها في خطوات Traceback التي تتبع الاسهم , ابتداء من آخر خليه بالحدول . عندما يقل طول المتسلسله يجب أن تكون لها عنصر مشترك . العديد من المسارات تصبح متاحه في الخلية التي يتوفر فيها سهمين . الجدول النهائي يوضح ما تم شرحه والأرقام الملونه بالخلية تعبر عن طول المتسلسله