خوارزمية روزو-تومبا
خوارزمية روزو-تومبا، أو خوارزمية RT [ 1 ] ، هي خوارزمية خطية الزمن لإيجاد جميع المتتاليات الفرعية غير المتداخلة والمتجاورة ذات أعلى قيمة في متتالية من الأعداد الحقيقية. [ 2 ] اقترح خوارزمية روزو-تومبا كلٌ من والتر ل. روزو ومارتن تومبا. [ 3 ] تُعد هذه الخوارزمية تحسينًا للخوارزميات التربيعية الزمن المعروفة سابقًا. [ 1 ] كما أن المتتالية الفرعية ذات أعلى قيمة من المجموعة التي تنتجها الخوارزمية هي حل لمسألة المصفوفة الفرعية القصوى .
تُستخدم خوارزمية Ruzzo–Tompa في المعلوماتية الحيوية ، [ 4 ] واستخراج البيانات من الويب ، [ 5 ] واسترجاع المعلومات . [ 6 ]
التطبيقات
المعلوماتية الحيوية
استُخدمت خوارزمية Ruzzo–Tompa في أدوات المعلوماتية الحيوية لدراسة البيانات البيولوجية. وتُعدّ مشكلة إيجاد التسلسلات الفرعية القصوى المنفصلة ذات أهمية عملية في تحليل الحمض النووي . وقد استُخدمت خوارزميات التسلسلات الفرعية القصوى في تحديد القطع العابرة للغشاء وتقييم تماثل التسلسل . [ 4 ]
تُستخدم هذه الخوارزمية في محاذاة التسلسلات ، وهي طريقة لتحديد تسلسلات الحمض النووي (DNA) أو الحمض النووي الريبوزي (RNA ) أو البروتينات المتشابهة. [ 7 ] يُحسّن مراعاة ترتيب أزواج التسلسلات الفرعية ذات الدرجات العالية في تسلسلين من دقة محاذاة التسلسلات. ويعود ذلك إلى أن النموذج البيولوجي يُشير إلى أن أزواج التسلسلات الفرعية ذات الدرجات العالية تنشأ من عمليات إدخال أو حذف ضمن منطقة متطابقة. ويؤدي اشتراط ترتيب ثابت لأزواج التسلسلات الفرعية ذات الدرجات العالية إلى زيادة دلالتها الإحصائية. [ 4 ]
استخراج البيانات من مواقع الويب
تُستخدم خوارزمية Ruzzo–Tompa في استخراج البيانات من صفحات الويب . وقد اقترح باستيرناك وروث طريقةً لاستخراج أجزاء نصية مهمة من مستندات HTML. تُقسّم صفحات الويب أولًا إلى رموز ، ثم تُحسب درجة كل رمز باستخدام مصنفات محلية على مستوى الرمز. [ 8 ] بعد ذلك، تُستخدم نسخة مُعدّلة من خوارزمية Ruzzo–Tompa للعثور على أعلى k سلسلة فرعية من الرموز قيمةً. تُستخدم هذه السلاسل الفرعية بعد ذلك كتنبؤات لأجزاء نصية مهمة في المقالة. [ 5 ]
استرجاع المعلومات
استُخدمت خوارزمية Ruzzo–Tompa في خوارزميات البحث لاسترجاع المعلومات . وقد اقترح ليانغ وآخرون طريقة لدمج البيانات لدمج نتائج البحث لعدة خوارزميات بحث في المدونات المصغرة. في طريقتهم، تُستخدم خوارزمية Ruzzo–Tompa لاكتشاف تدفقات المعلومات المفاجئة . [ 6 ]
تعريف المشكلة
تُعرَّف مشكلة إيجاد جميع المتتاليات الجزئية القصوى على النحو التالي: بالنظر إلى قائمة من الدرجات العددية الحقيقيةابحث عن قائمة المتتاليات الفرعية المتجاورة التي تعطي أعلى مجموع نقاط، حيث تمثل نقاط كل متتالية فرعيةيجب أن تكون التسلسلات الفرعية منفصلة (غير متداخلة) وأن يكون لها درجة موجبة. [ 9 ]
خوارزميات أخرى
توجد عدة طرق لحل مشكلة المتتاليات الفرعية ذات أعلى قيمة. إحدى الطرق الطبيعية هي استخدام خوارزميات موجودة ذات زمن خطي لإيجاد المتتالية الفرعية القصوى (انظر مشكلة المصفوفة الفرعية القصوى )، ثم إيجاد المتتاليات الفرعية القصوى على يسار ويمين المتتالية الفرعية القصوى بشكل متكرر. تحليل هذه الخوارزمية مشابه لتحليل خوارزمية الفرز السريع : قد تكون المتتالية الفرعية القصوى صغيرة مقارنةً ببقية المتتالية، مما يؤدي إلى زمن تشغيل قدرهفي أسوأ الأحوال.
الخوارزمية
يتم تشغيل التطبيق القياسي لخوارزمية Ruzzo–Tompa فييستغرق هذا الأسلوب وقتًا طويلاً ويستهلك مساحة O ( n )، حيث n هو طول قائمة الدرجات. يستخدم الخوارزمية البرمجة الديناميكية لبناء الحل النهائي تدريجيًا من خلال حل مجموعات فرعية أكبر تدريجيًا من المسألة. فيما يلي وصف الخوارزمية كما قدمه روزو وتومبا:
- اقرأ الدرجات من اليسار إلى اليمين، واحتفظ بالمجموع التراكمي للدرجات المقروءة. احتفظ بقائمة مرتبة.من المتتاليات الفرعية المنفصلة. لكل متتالية فرعيةسجل المجموع التراكميمن جميع الدرجات حتى الدرجة الموجودة في أقصى اليسار، ولكن ليس بما فيهاوالمجموعحتى النتيجة الأخيرة على اليمين، بما في ذلك.
- تكون القوائم فارغة في البداية. تُقرأ الدرجات من اليسار إلى اليمين وتُعالج على النحو التالي. لا تتطلب الدرجات غير الموجبة أي معالجة خاصة، لذا تُقرأ الدرجة التالية. تُدمج الدرجة الموجبة في سلسلة فرعية جديدة.بطول واحد، ثم يتم دمجها في القائمة من خلال العملية التالية:
- القائمةيتم البحث من اليمين إلى اليسار عن القيمة القصوى لـمُرضٍ
- إذا لم يكن هناك مثل هذاثم أضفإلى نهاية القائمة.
- إذا كان هناك مثل هذا، وثم أضفإلى نهاية القائمة.
- وإلا (أي، يوجد مثل هذا aj، ولكن), قم بتمديد التسلسل الفرعيإلى اليسار لتشمل كل شيء حتى النتيجة الموجودة في أقصى اليسار.حذف التسلسلات الفرعيةمن القائمة، وألحقهاإلى نهاية القائمة. أعد النظر في التسلسل الفرعي الممتد حديثًا.(أعيد ترقيمها الآن)) كما في الخطوة 1.
- بمجرد الوصول إلى نهاية المدخلات، يتم عرض جميع التسلسلات الفرعية المتبقية في القائمة.هي القصوى. [ 2 ]
الكود التالي المكتوب بلغة بايثون ينفذ خوارزمية Ruzzo–Tompa:
def ruzzo_tompa ( scores ):"""خوارزمية Ruzzo–Tompa."""k = 0المجموع = 0# تخصيص مصفوفات بحجم nI ، L ، R ، Lidx = [[ 0 ] * len ( scores ) for _ in range ( 4 )]for i , s in enumerate ( scores ):المجموع += sإذا كانت قيمة s أكبر من 0 :# تخزين I[k] حسب مؤشرات (البداية، النهاية) للدرجاتI [ k ] = ( i , i + 1 )Lidx [ k ] = iL [ k ] = الإجمالي - sR [ k ] = الإجماليبينما صحيح :maxj = Nonefor j in range ( k - 1 , - 1 , - 1 ):إذا كان L [ j ] < L [ k ]:maxj = jاستراحةإذا لم يكن maxj يساوي None وكان R [ maxj ] < R [ k ] :I [ maxj ] = ( Lidx [ maxj ], i + 1 )R [ maxj ] = المجموعk = maxjآخر :k += 1استراحة# الحصول على أقصى تسلسلات فرعية باستخدام الفهارس المخزنةreturn [ scores [ I [ l ][ 0 ] : I [ l ][ 1 ]] for l in range ( k )]انظر أيضاً
مراجع
- سبوج، جون ل.؛ راميريز، ليوناردو مارينو؛ شيتلين، سيرجي ل. (2014). "البحث عن التكرارات، كمثال على استخدام خوارزمية روزو-تومبا المعممة لإيجاد التسلسلات الفرعية المثلى ذات الفجوات" . المجلة الدولية لبحوث وتطبيقات المعلوماتية الحيوية . 10 ( 4/5 ): 384-408 . doi : 10.1504/IJBRA.2014.062991 . ISSN 1744-5485 . PMC 4135518. PMID 24989859 .
- 1 2 روزو، والتر ل.؛ مارتن، تومبا (1999). "خوارزمية زمنية خطية لإيجاد جميع المتتاليات الفرعية ذات أعلى درجات التقييم" . وقائع المؤتمر الدولي للأنظمة الذكية في البيولوجيا الجزيئية : 234-241 . ISBN 9781577350835PMID 10786306
- ↑ "خوارزمية زمنية خطية لإيجاد جميع التسلسلات الفرعية ذات أعلى درجات" (PDF) .
- كارلين ، إس؛ ألتشول، إس إف (15 يونيو 1993). "تطبيقات وإحصاءات لقطاعات متعددة عالية الدرجات في التسلسلات الجزيئية" . وقائع الأكاديمية الوطنية للعلوم في الولايات المتحدة الأمريكية . 90 ( 12 ): 5873-5877 . Bibcode : 1993PNAS...90.5873K . doi : 10.1073 / pnas.90.12.5873 . PMC 46825. PMID 8390686 .
- 1 2 باستيرناك، جيف؛ روث، دان (2009). "استخراج نص المقالات من الويب باستخدام أقصى تجزئة للتسلسلات الفرعية". وقائع المؤتمر الدولي الثامن عشر حول شبكة الويب العالمية . ص 971-980 . doi : 10.1145/1526709.1526840 . ISBN 9781605584874. S2CID 346124 .
- 1 2 ليانغ، شانغ سونغ؛ رن، تشاوتشون. ويركامب، فوتر؛ ميج، إدغار. دي ريكي، مارتن (2014). “تجميع تصنيف الوقت المدرك لبحث المدونات الصغيرة”. وقائع المؤتمر الدولي الثالث والعشرون لمؤتمر ACM حول إدارة المعلومات والمعرفة . ص 989 – 998. CiteSeerX 10.1.1.681.6828 . دوى : 10.1145/2661829.2661905 . رقم ISBN 9781450325981. S2CID 14287901 .
- ↑ سبوج، جون ل.؛ مارينو-راميريز، ليوناردو؛ شيتلين، سيرجي ل. (2012). "خوارزمية روزو-تومبا قادرة على إيجاد المسارات القصوى في الرسوم البيانية الموجهة الموزونة على شبكة أحادية البعد". المؤتمر الدولي الثاني لعام 2012 التابع لمعهد مهندسي الكهرباء والإلكترونيات (IEEE) حول التطورات الحاسوبية في العلوم الحيوية والطبية (ICCABS) . الصفحات 1-6 . doi : 10.1109/ICCABS.2012.6182645 . ISBN 978-1-4673-1321-6. S2CID 14584619 .
- ↑ "استخراج البيانات من مواقع الويب: كل ما تحتاج لمعرفته" . داتامام . 30 يوليو 2021. تاريخ الاسترجاع: 16 فبراير 2023 .
- ↑ سبوج، جون ل.؛ مارينو-راميريز، ليوناردو؛ شيتلين، سيرجي ل. (2012). "خوارزمية روزو-تومبا قادرة على إيجاد المسارات القصوى في الرسوم البيانية الموجهة الموزونة على شبكة أحادية البعد". المؤتمر الدولي الثاني لعام 2012 التابع لمعهد مهندسي الكهرباء والإلكترونيات (IEEE) حول التطورات الحاسوبية في العلوم الحيوية والطبية (ICCABS) . الصفحات 1-6 . doi : 10.1109/ICCABS.2012.6182645 . ISBN 978-1-4673-1321-6. S2CID 14584619 .
للمزيد من القراءة
- علي، سيد أرسلان؛ رضا، باسط؛ مالك، أحمد كامران؛ شهيد، أحمد رضا؛ فهيم، محمد؛ القهيز، هاني؛ كومار، يوجان جايا (2020). "نهج شبكة الاعتقاد العميق المُحسَّن والمُهيأ على النحو الأمثل (OCI-DBN) للتنبؤ بأمراض القلب بناءً على خوارزمية روزو-تومبا والخوارزمية الجينية المكدسة" . IEEE Access . 8. معهد مهندسي الكهرباء والإلكترونيات (IEEE): 65947-65958 . Bibcode : 2020IEEEA...865947A . doi : 10.1109/access.2020.2985646 . ISSN 2169-3536 . S2CID 215817246 .
- خوارزميات وأساليب التحسين
- البرمجة الديناميكية
