أكثر

كيفية إنشاء برنامج نصي للمعالجة باستخدام أقصر خوارزمية مسار؟


أستخدم حاليًا المكوِّن الإضافي Road Graph للعثور على أقصر مسار في شبكة الطرق - ومع ذلك ، أود أن أضع هذا في نص معالجة (ليتم استخدامه في نموذج لاحقًا) ولا يحتوي Road Graph Plugin على واجهة برمجة تطبيقات يمكن استخدامها في النموذج.

هل هناك طريقة لوضع أقصر خوارزمية مسار في نص معالجة ثم استخدام هذا البرنامج النصي في نموذج؟

لقد عثرت على بعض نصوص Python للشبكات / أقصر مسار في Python Cookbook وحاولت وضعها في نص معالجة - لكن بما أنني مبتدئ كامل مع Python ، لم أتمكن من الوصول بعيدًا ...

يجب أن يكون النص:

  • خذ شبكة طريق (زرقاء) وطبقة خط متجه (بنفسجي) كمدخلات
  • ضع البداية (الخضراء) - ونقطة النهاية (الحمراء) للخط كبداية ونهاية للمسار المراد طقطقة
  • استخدم تقاطعات خط الإدخال والشبكة كنقاط مسار ، يجب أن يتبعها المسار
  • ابحث عن أقصر مسار (الشريط الأحمر) عن طريق التوجيه عبر الشبكة واحفظ المسار كطبقة متجهة

هل يمكن لأي شخص أن يساعدني في هذا السيناريو؟


يمكنك العثور على إصدارات متعددة من البرامج النصية للتوجيه التي تستخدم مكتبة تحليل شبكة QGIS في مستودع Github الخاص بي ، على سبيل المثال https://github.com/anitagraser/QGIS-Processing-tools/blob/master/2.2/scripts/point_layer_to_route.py الذي يحول مجموعة مرتبة من النقاط إلى مسار.

لا تستخدم أي من البرامج النصية تقاطعات خط الإدخال مع الشبكة. هذا شيء يجب عليك إضافته بنفسك.


تتبع الكائنات المتعددة باستخدام خوارزمية الارتباط الأقصر مسارًا وأسرع.

يعد تتبع الكائنات المتعددة موضوعًا ساخنًا في مجال رؤية الكمبيوتر. يعد التتبع القوي للأشياء أمرًا مهمًا للعديد من تطبيقات الرؤية الحاسوبية ، مثل التفاعل بين الإنسان والحاسوب ، والمراقبة بالفيديو ، والملاحة الذكية [1 ، 2]. بصرف النظر عن خوارزمية الكشف عالية الأداء كخوارزمية مساعدة ، يجب أن يتتبع التتبع متعدد الكائنات عالي الجودة أيضًا خوارزمية الدعم ، والتي يمكن أن تعالج أنواعًا معينة من الحالات المعقدة ، على سبيل المثال ، الإضاءة ، الانسداد ، الفوضى ، وما إلى ذلك [3]. تعتبر طريقة اقتران البيانات (DA) مفضلة لتتبع الكائنات المتعددة. تتضمن الأساليب المستخدمة غالبًا طريقة الجار الأقرب [4] ، وترابط بيانات الاحتمال المشترك [5] ، والطرق القائمة على الشبكات العصبية [6].

يرتبط تأثير طرق DA المذكورة أعلاه ارتباطًا وثيقًا بدقة الكشف في الإطارات المجاورة. هذه الأساليب النموذجية مرنة تجاه السلبيات الخاطئة والإيجابيات الكاذبة: إذا لم يتم اكتشاف كائن في إطار ولكن كان في الإطارات السابقة والتالية ، فهو سلبي كاذب. النتيجة الإيجابية الخاطئة هي الخلط بين كائن التتبع "A" على أنه كائن "B." على الرغم من أنه يمكن حل هذه المشكلة باستخدام التصميم المستهدف ونموذج المسار الإحصائي مع التصفية [7 ، 8] ، إلا أن طريقة الحساب التي توفر أقصى احتمال لاحق هي NP كاملة.

اقترحت الأوراق الحديثة مناهج مختلفة لهذه المشكلة. Giebel et al. [9] استخدم أخذ العينات وترشيح الجسيمات لإزالة الفوضى من نفس الكائن وتقليل احتمالية اكتمال NP. تحصل هذه الطريقة على مسار تتبع دقيق نسبيًا ولكنها تتطلب عددًا كافيًا من نقاط أخذ العينات. بيريرا وآخرون. [10] يقسم التسلسل الطويل إلى عدة تسلسلات قصيرة ، مما ينتج عنه الكثير من مسارات التتبع القصيرة ، ويربطها باستخدام ترشيح كالمان. هذا يمكن أن يتجنب NP- اكتمال. تتناسب دقة هذه الطريقة عكسياً مع طول مسارات التتبع القصيرة ، فكلما كان الطول أقصر ، كان التتبع أفضل. ومع ذلك ، فإن القسمة المفرطة تزيد من وقت الحساب ، بسبب عدم قدرة الطريقة على تتبع الكائنات لفترة طويلة. فلوريت وآخرون. [11] تعالج المسارات بشكل فردي عبر تسلسلات طويلة باستخدام البرمجة الديناميكية الجشعة المعقولة (DP) لاختيار الترتيب. هذه الأساليب ، رغم فعاليتها ، لا يمكنها تحقيق الحل الأمثل العالمي.

يعتمد نهج Zhang [12] على أسلوب التحسين القائم على إطار عمل الشبكة بأقل تكلفة لإيجاد الأمثل العالمي لتتبع الكائنات المتعددة. ومع ذلك ، فإن الخوارزميتين التي يقترحها بها عيوب عديدة في الممارسة وتعقيدها متعدد الحدود. تحت هذا الإطار ، Berclaz et al. [13] قم بصياغة تتبع متعدد الكائنات كمشكلة برمجة عددية (IP) واختزلها إلى البرمجة الخطية (LP). من خلال الاعتماد على خوارزمية أقصر مسارات k (KSP) لتحسين مشكلة LP ، يقلل نهجهم من التعقيد لإجراء تتبع قوي متعدد الكائنات في الوقت الفعلي. ومع ذلك ، بسبب افتقار KSP لنموذج الحركة على البرمجة الديناميكية (DP) ، فإن ميل DP لتجاهل المسارات المجزأة يجعلها أكثر قوة. يواصل Pirsiavash [14] عمل Zhang ويستخدم طريقته للحصول على الحل الأمثل العالمي باستخدام خوارزمية الجشع لـ K = 1 في O (N) ولكنه يحصل فقط على الحلول التقريبية لـ K & gt 1 في O (KN) ، حيث K هو العدد الأمثل غير المعروف للمقاطع الصوتية الفريدة.

على النقيض من ذلك ، في هذه الورقة ، نجمع بشكل فعال بين النماذج التي اقترحها Zhang و Berclaz لابتكار إطار عمل أكثر كفاءة لأقصر مسار خوارزمية أسرع (SPFA). لا تستطيع خوارزمية SPFA الحصول مباشرة على الحل الشامل فحسب ، بل تُظهر أيضًا ميزة نموذج الحركة DP ، والذي يمكّن الخوارزمية من تجاهل المسارات غير المكتملة والتصرف بقوة أكبر ضد هذا النوع من الضوضاء. علاوة على ذلك ، فهو أفضل بكثير فيما يتعلق بكل من تعقيد الحالة الأسوأ ووقت التشغيل من الخوارزميات الحديثة المذكورة أعلاه. مساهماتنا الرئيسية في هذه الورقة هي على النحو التالي.

(1) استنادًا إلى نموذج الشبكة الأقل تكلفة ، نقدم صياغة برمجة عدد صحيح رياضي عام جديد لتتبع متعدد الكائنات. تُفضي طريقة IP المقترحة إلى التصفية الطبيعية للإيجابيات الزائفة والسلبيات الخاطئة باستخدام SPFA.

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

يتم تنظيم باقي هذه الورقة على النحو التالي. في القسم 2 ، نقوم بصياغة عنوان IP باستخدام إطار عمل تدفق الشبكة بأقل تكلفة ونخففها إلى LP المستمر. يحتوي القسم 3 على خوارزمية أسرع مقترحة لأقصر مسار لتخفيف عنوان IP الأصلي. نقدم طرقًا للتوطين المستهدف ومعالجة التسلسل الطويل للتجزئة في القسم 4. يحتوي القسم 5 على النتائج التجريبية ومقاييس تقييم كاملة. أخيرًا ، يتم استخلاص النتائج في القسم 6.

يمكن وصف الحركة المستهدفة للتتبع متعدد الرحلات بشكل أفضل باستخدام العلاقة بين مواقع الجوار التي تستخدم طريقة DP في إطار عمل لتدفق الشبكة بأقل تكلفة. نحدد دالة موضوعية لتتبع متعدد الكائنات بنفس الطريقة كما في 13]. سيتم تقدير الوجود الموضوعي للاحتمالية من خلال الاحتمال الهامشي الخلفي في كل إطار ، وبالتالي الحصول على المسار المحتمل للكائن المتحرك.

2.1. نموذج التدفق الأدنى التكلفة. نقوم بصياغة التتبع متعدد الكائنات كعملية ، حيث يتغير الموقع الموضوعي لكل كائن بشكل منفصل في وقت مستمر. تُستخدم مجموعة زمانية مكانية ثلاثية الأبعاد موجهة مع متغير عشوائي [k.sub.t] لوصف تسلسل الفيديو. انصح

[k.sub.t] = (x، y، t)، [k.sub.t] [عضو] V، (1)

حيث تشير [k.sub.t] إلى أي موقع لكائن في هذه المجموعة الزمانية المكانية في الوقت t ، V هي مجموعة جميع مواقع الزمكان في تسلسل ، و x و y هما مواضع البكسل للهدف في العرض والمحاور الطولية ، على التوالي.

لأي موقع kt في الوقت t ، الحي N ([k.sub.t]) [مجموعة فرعية] <1،2 ،. يشير K> إلى المواقع التي يمكن أن يصل إليها كائن في الوقت t + 1. مسار واحد كمجموعة مرتبة من متجهات الحالة T = ([k.sub.1] ،. [k.sub.N]) ، و X = ([T.sub.1]،. [T.sub.L]) هي مجموعة من المسارات. نفترض أن مسارات التتبع مستقلة عن بعضها البعض ووصف إطار تدفق الشبكة لتتبع متعدد الكائنات باستخدام النموذج الديناميكي على النحو التالي:

[التعبير الرياضي غير قابل للاستنساخ في ASCII] (2)

[P.sub.source] ([k.sub.1]) هو احتمال بدء مسار التتبع في الموقع [k.sub.1] و [P.sub.sink] ([k.sub.N]) هو احتمال أن ينتهي مسار التتبع في الموقع [k.sub.N].

في مجموعة الإحداثيات المكانية V ، يمثل متغير المؤشر الثنائي [[phi] .sub.i، t] التدفق الموجه من الموقع [k.sub.i] إلى الموقع [k.sub.t] أي أنه يمثل عدد الأجسام المتحركة من [k.sub.i] إلى [k.sub.t]. [[phi] .sub.i، t] تساوي 1 عندما يتم تضمين مواقع الزمكان [k.sub.i] و [k.sub.t] في بعض المسارات ، نظرًا لأن الكائن موجود في [k.sub .t-1] في الوقت t ، مما يعني أن الكائن يظل في نفس الموقع المكاني بين الأوقات t - 1 و t. بالنسبة للمواقع [k.sub.t] و [k.sub.j] في الوقت t + 1 ، يتم تنفيذ بعض شروط القيد للمتغير [[phi] .sub.i، t]:

[للجميع] [k.sub.t] ، [جمع أكثر ([k.sub.1] ، [k.sub.t] [عضو في] N ([k.sub.i])] [[phi ] .sub.i، t] (3)

[للجميع] [k.sub.i] ، [k.sub.t] ، [جمع أكثر ([k.sub.t] [عضو] N ([k.sub.i])] [[phi ] .sub.i، t] [أقل من أو يساوي] 1. [4)

دع متغير عشوائي [M.sub.t] يرمز إلى الوجود الحقيقي لكائن في الموقع [k.sub.t] في الزمكان. لكل لحظة زمنية t ، يتم استخدام الكاشف لفحص كل موقع من منطقة التعقب. يتم حساب الاحتمال الهامشي الخلفي لكائن موجود على النحو التالي:

حيث [I.sub.t] هي الصورة المفردة في الإطار t. نكتب m = <[m.sub.t]> لمجموعة مجدية من التوزيعات الاحتمالية المحتملة لكائنات الوجود في V بالطريقة الموضحة في القسم 4.1. M هي المجموعة المكانية لـ [M.sub.t]. احتمالية وجود كائن في مجموعة معينة من المسارات X هو

[التعبير الرياضي غير قابل للاستنساخ في ASCII] (6)

[M.sub.t] هو الاستقلال الشرطي في X. يمكننا استنتاج أقصى تقدير لاحق للمسارات من خلال التوزيعات الاحتمالية لوجود الكائنات:

[التعبير الرياضي غير قابل للاستنساخ في ASCII] (7)

[التعبير الرياضي غير قابل للاستنساخ في ASCII] (8)

[التعبير الرياضي غير قابل للاستنساخ في ASCII] (9)

[التعبير الرياضي غير قابل للاستنساخ في ASCII] (10)

[التعبير الرياضي غير قابل للاستنساخ في ASCII] (11)

[التعبير الرياضي غير قابل للاستنساخ في ASCII]. (12)

حيث (10) تكون صحيحة لأن [m.sub.t] تساوي 0 أو 1 وفقًا لـ (4) ، و (11) يتم الحصول عليها بتجاهل مصطلح لا يعتمد على [m.sub.t]. يتم تعريف قيمة التكلفة للتدفق الموجه بين المواقع المجاورة لأي إطارات مجاورة على أنها

ج ([e.sub.t، t + i]) = - السجل ([(rho) .sub.t] / 1 - [(rho) .sub.t]) ، (13)

حيث [e.sub.t، t + 1] حافة موجهة من الموقع [k.sub.t] في الوقت t إلى الموقع [k.sub.t + 1] في الوقت t + 1 ، والتكلفة الإجمالية بين أي موقعين في V.

[التعبير الرياضي غير قابل للاستنساخ في ASCII] (14)

2.2. البرمجة الخطية الصحيحة. في إطار عملنا ، نظرًا لإمكانية دخول الكائنات إلى منطقة التتبع ومغادرتها ، نقدم عُقدًا إضافية للمصدر والمغسلة تم تحديدها بواسطة [13]. يمكن بعد ذلك ترجمة المعادلات (7) - (12) بشكل طبيعي إلى برنامج خطي عدد صحيح (ILP):

[التعبير الرياضي غير قابل للاستنساخ في ASCII] (15)

حيث تكون شروط القيد هي نفسها (3) و (4) ، و [[phi] .sup. *] = argmin C ([phi]) هو الحل الأمثل لـ ILP. C ([e.sub.source، i]) هي التكلفة الإجمالية للتدفق من العقدة المصدر إلى مواقع مسار التتبع ، و C ([e.sub.i، sink]) هي تلك من مواقع المسار إلى عقدة الحوض. يوضح الشكل 1 شبكة تدفق بسيطة تم إنشاؤها من تتبع متعدد الكائنات ، حيث تكون التكاليف c ([e.sub.i، j]) للحواف الزرقاء و c ([e.sub.source، i]) و c ([e. sub.j، sink]) للحواف السوداء.

يتم تحديد التكاليف على النحو التالي:

c ([e.sub.source، i]) = - السجل [P.sub.source] ([k.sub.i]) ، c ([e.sub.i، sink]) = - السجل [P. sub.sink] ([k.sub.i]). (16)

استرخاء IP باستخدام الطرق القياسية هو NP-Complete. بشكل عام ، يمكن استخدام متغيرات الخوارزمية البسيطة [15 ، 16] أو الطرق القائمة على النقطة الداخلية [17 ، 18] لحل هذه المشكلة. ومع ذلك ، فإن هذه الخوارزميات لها تعقيدات زمنية عالية جدًا في أسوأ الحالات. في [13 ، 14] ، في حين أن طرق KSP والمسار الأقصر المتتالي (SSP) يمكن أن تخفف من IP بنجاح إلى LP المستمر ، كلاهما لهما أوجه قصور خاصة بهما. نستخدم خوارزمية SPFA لتعويض أوجه القصور في هذه الأساليب.

3. خوارزمية أقصر مسار ديناميكي سريع

في هذا البحث ، نستخدم خوارزمية أسرع مسار أقصر لإرخاء برنامج الأعداد الصحيحة بواسطة إطار تدفق الشبكة ، ومتوسط ​​تعقيد الحالة لهذه الخوارزمية هو O (E). تجعل خوارزمية SPFA الأمثل عالميًا التتبع أكثر موثوقية وفعالية. يحتاج إطار تدفق الشبكة إلى خاصيتين محددتين لتحقيق خوارزمية SPFA على النحو التالي.

(1) جميع الحواف والعقد مستقلة عن بعضها البعض ، جميع الحواف هي سعة وحدة.

(2) الشبكة عبارة عن رسم بياني لا دوري موجه (DAG).

3.1. خوارزمية SPFA. أقصر مسار تم اقتراح خوارزمية أسرع في [19]. تستخدم بنية البيانات الخاصة بخوارزمية SPFA قائمة متجاورة وقائمة انتظار أول ما يرد أولاً يخرج أولاً (FIFO). بتطبيق النهج الديناميكي الأمثل ، يكون التعقيد الزمني لخوارزمية SPFA هو O (E) ، حيث E هو عدد الحواف في الرسم البياني. إنه أفضل من تعقيد خوارزمية ديكسترا ، E [أقل بكثير من] [N.sup.2] ، حيث N هو عدد العقد. ليست هناك حاجة لشروط تقييد معينة لهذه الخوارزمية. لذلك ، يمكن اعتماد خوارزمية SPFA لجميع الرسوم البيانية الموجهة ، باستثناء تلك التي يمكن فيها الوصول إلى دورات الوزن السالب من المصدر.

3.2 خوارزمية SPFA مع العقد الافتراضية. لنفترض أن C هي التكلفة الإجمالية لأي موقع في الفضاء V ، واجعل E هي مجموعة الحواف بين الإطارات المجاورة لأي موقع حي. يمكن تحقيق انتقال الحالة بين أي زوج من عقد النموذج بواسطة E ، ويمكن لـ DAG G (V ، E ، C) أن تصف تمامًا نشاط التدفق لكائن من نموذج تدفق التكلفة الدنيا.

في نموذج التدفق الأدنى للتكلفة ، Q هي قائمة انتظار FIFO ، L تشير إلى قائمة مجاورة مستخدمة لتخزين G (V ، E ، C) ، و c ([e.sub.i ، j]) هي عنصر من عناصر L. دع الصفيف D يسجل التكلفة الحالية للتدفق الموجه من المصدر إلى جميع العقد الأخرى. يتم تخزين قيمة التكلفة الإجمالية لأقصر مسار من المصدر إلى v في المصفوفة D (v). في التهيئة ، يكون لكل عنصر من عناصر المصفوفة D قيمته القصوى. ستقوم المصفوفة D بعد ذلك بإخراج أقصر مسار بين المصدر والحوض من خلال خوارزمية SPFA عندما تكون قائمة الانتظار Q فارغة.

لتحسين متانة تتبع الكائنات المتعددة في بيئة السلبيات الخاطئة ، نحدد [G.sub.r] على أنه الرسم البياني المتبقي لـ G (V ، E ، C) الذي يشير إلى جميع المواقع من العقدة الحالية إلى العقدة الطرفية. يتم إدخال عقدتين ظاهريتين إضافيتين ، المصدر والمصدر ، في [G.sub.r] ويتم ربطهما بجميع العقد التي تمثل المواقع. يمكننا بعد ذلك العثور على أقصر مسار بين مصدر العقدة ومصدر العقدة بواسطة خوارزمية SPFA في [G.sub.r]. علاوة على ذلك ، يمكن الحصول على أقصر مسار بين المصدر والعقدة v في المصفوفة D ، حيث تمثل v أي عقدة في أقصر مسار من المصدر إلى الحوض.

في إطار العمل المقترح للحد الأدنى من التكلفة ، يمكننا الحصول على أقصر طريق من خلال الخطوات التالية.

(1) قم بإنشاء قائمة انتظار FIFO Q ، والقائمة المجاورة L ، والمصفوفة D. . أضف مصدرًا إلى قائمة الانتظار Q.

(2) أضف جميع العقد المجاورة التي يمكن الوصول إليها من مصدر النموذج إلى Q وسجل قيم التكلفة في المصفوفة D. دع D (i) يخزن إجمالي قيمة التكلفة لأقصر مسار من المصدر إلى العقدة i ، i [عضو في ] [G.sub.r].

(3) قم بتقييم العقد المجاورة j للعقدة الجديدة i في Q ، حيث j هي العقدة التي يمكن الوصول إليها من العقدة i. إذا كان D (i) + c ([e.sub.i، j]) & lt D (j)، D (j): = D (i) + c ([e.sub.i، j]).

(4) كرر (3) حتى تصبح قائمة الانتظار Q فارغة وأقصر مسار T = ([k.sub.1] ،. [k.sub.N]) ، [k.sub.N] [عضو] [G .sub.r] ، بين المصدر والعقدة v يمكن الحصول عليها في المصفوفة D ، حيث v هي أي عقدة في أقصر مسار من المصدر إلى الحوض.

يوضح الشكل 2 خطوات المعالجة البسيطة لخوارزمية SPFA في نموذجنا المقترح. هنا ، تمثل الولادة العقدة التي تم اكتشاف الكائن فيها لأول مرة ، والنهاية هي آخر مكان تم اكتشافه فيه. كل عملية استرخاء باستخدام خوارزمية SPFA هي عملية للعقدة الحالية التي تزور العقد المجاورة. تضمن عملية الاسترخاء n أن المسار هو الأقصر في n. نظرًا لأن طول حافة أقصر مسار في الرسم البياني المتبقي لا يتجاوز N - 1 ، فإن المسار الذي نحصل عليه باستخدام خوارزمية SPFA هو الأقصر. بالمقارنة مع الطريقة في [14] ، والتي تستخدم خوارزمية SSP مع طريقة الجشع الإضافية ، يمكن لخوارزمية SPFA العثور على الأمثل العام. تم إثبات تقاربها في النظرية 2 من [19].

لا يكفي أن تكون قادرًا على تتبع كائنات متعددة بواسطة خوارزمية SPFA لأن بعض الحركات المستهدفة أثناء هذه العملية يتم التغاضي عنها بسهولة. لتمكين خوارزمية SPFA من وصف حركة الهدف بشكل أفضل ، نقدم قيودًا إضافية للخوارزمية.

3.3 قيود خوارزمية SPFA. عندما نبحث في أقصر مسار بين الولادة والنهاية في الرسم البياني الأصلي المتبقي Gr ، تظهر مشكلة واحدة. هو أن الخوارزمية لا يمكنها التعامل مع دخول ومغادرة الكائن في أي موضع بين الولادة والنهاية ، أي أن عملية التتبع غير مكتملة وليست قوية.

لتحسين قوة التتبع بواسطة خوارزمية SPFA ، نستخدم جيران الولادة والنهاية لاستبدال الموضع الأصلي وتشكيل DAG جديد بمصدر وحوض المواقع الافتراضية ، كما هو موضح في الشكل 1. يشير المصدر والمغسلة هنا إلى المواضع حيث يظهر كائن ويختفي ، على التوالي. يمكن لهذه الطريقة تحسين الارتباط الديناميكي بين عقد خوارزمية SPFA.

علاوة على ذلك ، في حالة عدم التكرار ، تنشئ خوارزمية SPFA قدرًا كبيرًا من الحسابات نظرًا لوجود ثلاثة مواقع مجاورة فقط محسوبة في كل ارتخاء لعقدة ، ويتناسب عدد العقد المتاحة عكسًا مع عدد التكرارات.

3.4. تحليل تعقيد الوقت. يتم التعرف على خوارزمية Dijkstra كطريقة فعالة لحساب أقصر مسار في وقت 0 (N log N).لسوء الحظ ، في شبكة التدفق المقترحة لدينا ، هناك تكاليف سلبية ، والتي تتعارض مع الشرط المسبق لخوارزمية Dijkstra. لحسن الحظ ، لا توجد دورات وزن سالبة في النموذج المقترح وبالتالي يمكن اعتماد خوارزمية SPFA.

الخوارزمية المقترحة هي تحسين خوارزمية بيلمان فورد. بينما نمر بشكل أعمى عبر كل حافة لجولات N في خوارزمية Bellman-ford ، يتم الاحتفاظ بقائمة انتظار في SPFA للتأكد من أننا نتحقق فقط من العقد المسترخية. SPFA أبسط من O (NE) لخوارزمية Bellman-Ford ، حيث N هو عدد العقد و E هو عدد الحواف.

بالنسبة إلى DAG ، يكون متوسط ​​درجة تعقيد خوارزمية SPFA هو O (E) ، حيث E هو عدد الحواف في الرسم البياني. في هذه الحالة ، تدخل كل عقدة قائمة الانتظار مرة واحدة فقط. خوارزمية SPFA هي خوارزمية بحث واسعة النطاق ، وهي الحالة الشائعة في نهجنا المقترح. إذا دخلت كل عقدة قائمة الانتظار N-1 مرات ، فإن الخوارزمية المقترحة تتدهور إلى خوارزمية Bellman-Ford مع تعقيد زمني يمثل أسوأ حالة تعقيد لتلك الخوارزمية ، أي O (NE). تم إثبات تعقيد خوارزمية SPFA في الحالة العامة في [19]. المرجع [20] يحلل التعقيد النظري والتجريبي لأسوأ حالة من خوارزمية SPFA بالتفصيل.

المراجع [13 ، 14] تقترح خوارزميات KSP و SSP ، على التوالي ، لحساب استرخاء البرنامج الخطي الصحيح. أسوأ حالة تعقيد لكلتا الخوارزميتين هي 0 (KN log N) ، حيث K هو العدد الأمثل غير المعروف للمسارات الفريدة و N هو رقم رتل التتابع الفيديوي. لاحظ أنه نظرًا لاختلاف قيم K ، 14] يستخدم طرقًا مختلفة للحصول على الحل. يرتبط التعقيد المحدد لهذه الخوارزمية بقيمة K.

متوسط ​​درجة تعقيد الخوارزمية المقترحة لدينا هو O (E) ، وهو أقل بكثير من الطرق المذكورة أعلاه. أسوأ حالة تعقيد لخوارزمية SPFA هي O (NE) ، لكن هذا لم يتم الحصول عليه تقريبًا.

علاوة على ذلك ، مثل خوارزمية KSP ، تحسب خوارزمية SPFA بنجاح الحل الأمثل العالمي ، كما ثبت في [19]. ومع ذلك ، فإن SSP مع الخوارزمية الجشعة كما في [14] لا يمكن الحصول على الحل الأمثل العالمي.

4. توطين الهدف ومعالجة التسلسل الطويل

يتطلب تتبع الكائنات المتعددة عالي الجودة متتبعًا موثوقًا به ، وكاشفًا يمكنه تقسيم وتحديد مواقع كائنات متعددة بدقة ، وطريقة معالجة مسبقة يمكنها تحسين أداء الخوارزمية.

4.1 كشف الهدف والتوطين. للحصول على الهدف الدقيق للمتتبع ، أنشأنا نموذجًا للخلفية باستخدام خوارزمية دفتر الشفرات المحسّنة واستخرجنا المعلومات المميزة المرصودة لكائن التتبع بواسطة طريقة الطرح الأمامية / الخلفية [21]. باستخدام الطريقة [22] ، نقوم بتقسيم الكائنات التي تم دمجها معًا في البداية. نحصل بعد ذلك على التوزيعات الاحتمالية لمستويات الكائنات من الكاشف ، ويمكن أن تكون بمثابة مدخلات في خوارزمية SPFA. يتم عرض عدد قليل من الإطارات المختارة للتوطين المستهدف في الشكل 3.

يزيد تتبع النطاق الكامل في مجال رؤية الكاميرا من وقت معالجة الخوارزمية ويستهلك جزءًا كبيرًا من موارد الذاكرة المحدودة. لهذا السبب ، نظرًا لأن معظم الاحتمالات المحسوبة للوجود الموضوعي هي 0 ، يمكننا تقليل عدد العقد والتكلفة الحسابية من خلال هذه الخاصية. من ناحية أخرى ، نحد من منطقة الولادة المحتملة للأهداف لتقليل مقدار الحساب. تتحقق الطريقة المقترحة أيضًا من الحد الأقصى لاحتمال الكشف لكل موقع [k.sub.t] داخل حي زماني مكاني معين لكل إطار t:

[التعبير الرياضي غير قابل للاستنساخ في ASCII] (17)

إذا كانت القيمة الموجودة في موقع أقل من الحد المعين ، فإن الكائن الذي تمثله القيمة يعتبر غير قادر على الوصول إلى الموقع ، ويتم إزالة جميع التدفقات منه وإليه من النموذج. يمكن أن تقلل هذه الطريقة بترتيب من حيث الحجم عدد المتغيرات والقيود المطلوبة. في تجربتنا ، قمنا بتشذيب الرسم البياني بنصف قطر [[epsilon] .sub.1] = [[epsilon] .sub.2] = 3.

4.2 معالجة التسلسل الطويل. من الناحية النظرية ، يمكن أن تؤدي معالجة تسلسل طويل باستخدام خوارزمية SPFA إلى الحد الأمثل العالمي لتتبع الوقت ولكنها تتطلب قدرًا كبيرًا من وقت التشغيل. لمعالجة هذه المشكلة ، قمنا بتقسيم التسلسل الطويل إلى مقاطع من 100 إطار لكل منها ، مما ينتج عنه نتائج جيدة مع تأخير أقل من 0.5 ثانية بين الإدخال والإخراج ويمكن إجراؤه في الوقت الفعلي.

لكل مقطع يحافظ على الاتساق الزمني ، نستخدم طريقة التراكب متعدد الإطارات ، كما هو موضح في الشكل 4 ، ونضيف آخر 10 إطارات للتجزئة المحسّنة مسبقًا إلى الإطارات العشرة الأولى من الإطار الحالي.

ثم نجبر مجموع التدفقات لكل موقع من الإطارات العشرة الأولى للإطار الحالي على أن يكون متسقًا مع العدد الإجمالي لتدفقات المواقع الأخيرة للكائن في آخر 10 إطارات للإطار السابق. هذا يحل بشكل فعال مشكلة الهدف المفقود في النقطة متعددة التعريف:

[التعبير الرياضي غير قابل للاستنساخ في ASCII] (18)

حيث [[theta] .sub.t] هو التدفق الكلي للموضع الأخير [k.sub.t] للكائن الذي يظهر في آخر 10 إطارات من المقطع السابق. بالنسبة إلى الموضع الأول المقابل [k.sub.j] لكائن يظهر في الإطارات العشرة الأولى من المقطع الحالي ، فإن التدفق الصافي فيه يساوي التدفق خارج الموضع [k.sub.t] ويتساوى أيضًا إلى التدفق الكلي من أي موضع محتمل [k.sub.i] لأي كائن بين [k.sub.t] و [k.sub.j]. يتم تنفيذ هذا كقيد إضافي في نموذجنا.

إذا لم نتمكن من العثور على هدف التعقب في الإطارات العشرة الأولى من المقطع الحالي ، فإن الطريقة المقترحة تبحث عن الكائن في الإطارات بعد الإطار الحالي. في تجربتنا ، تركنا t '= 10. إذا وجدنا هدف التتبع في إطار داخل t' ، فإن هذا الإطار هو الإطار الأول من المقطع الحالي الذي يفشل التتبع بخلاف ذلك.

في محاكاتنا ، تم اختيار تسلسلات فيديو بخصائص مختلفة من PETS09 و CAVIAR و BEHAVEDATA و ETHMS (BEHAVEDATA ، http://groups.inf.ed.ac.uk/vision/BEHAVEDATA/INTERACTIONS/index.html ، CAVIAR ، http://groups.inf.ed.ac.uk/vision/CAVIAR/CAVIARDATA1/ ، ETHMS ، http://www.vision.ee.ethz.ch/

aess / dataset / و PETS09 و http://www.cvg.rdg.ac.uk/data-sets/index.html) مجموعات البيانات. تم تلخيص التحديات لكل من هذه في الجدول 1. تغطي التسلسلات المختارة تقريبًا جميع المشكلات التي تحدث بشكل شائع في تتبع الكائنات المتعددة.

5.1 ضبط القياسات. في فترة التدريب ، تم تصميم الكاشف باستخدام طريقة الطرح الخلفية لنموذج خوارزمية دفتر الشفرات المحسن. نقوم بدمج نتيجة الكشف مع نطاق نشاط الكائن عن طريق تحديث الجزء الأمامي / الخلفي في الوقت الفعلي وحساب موقع الكائن باحتمالية عالية. نظرًا لأن حجم نطاق نشاط الكائن وعدد وحدات البكسل للكائن غير متطابقين في كل تسلسل ، يمكن لطريقتنا إنشاء 900-1000 اكتشاف لكل إطار في كل تسلسل فيديو. قمنا بتعيين نسبة احتمالية السجل لكل عملية اكتشاف لتكون النتيجة السلبية كنتائج للكاشف الخطي.

استخدمنا نموذجًا ديناميكيًا للقيمة المحدودة: نحدد التكلفة [c.sub.i، j] بين موقعين في إطارات متتالية في حالة التداخل المكاني (أي ، يظل الكائن في موقع ما) بقيمة 0. التكاليف من الموقع الافتراضي لحي الولادة والنهاية هما [مصدر C.sub.source ، ولادة] = 10 ، [C. علاوة على ذلك ، نظرًا لأن البحث العالمي باستخدام SPFA موجود في قائمة الجوار المعمول بها ، يجب أن يكون العثور على أقصر مسار هو الحل الأمثل العالمي دون قيود إضافية.

5.2 مقاييس التقييم. لنفترض أن [GT.sub.i، t] يكون مربع إحاطة الحقيقة الأرضية للإطار fth ، واجعل [TR.sub.i، t] هو المربع المحيط المتتبع. يتم تعريف [C.sub.i، t] للإطار fth والجسم ith على أنه النسبة بين منطقة التقاطع [GT.sub.i، t] [التقاطع] [TR.sub.i، t] والمنطقة الاتحاد [GT.sub.i، t] [union] [TR.sub.i، t] [23]:

في تجربتنا ، قمنا بتعيين حد [C.sub.i، t] على 0.5 ، مما يعني أن التتبع يكون ناجحًا عندما تتجاوز المساحات المتداخلة لمربع إحاطة حقيقة الأرض ومربع إحاطة التتبع 0.5.

يتم تقييم نتائجنا باستخدام دقة تتبع الكائنات المتعددة (MOTA) ومقاييس دقة تتبع الكائنات المتعددة (MOTP) لمقاييس CLEAR2006 القياسية [24]:

MOTA = 1 [[SIGMA] .sub.t] ([c.sub.m] ([m.sub.t]) + [c.sub.f] ([fp.sub.t]) + [ج. sub.s]) / [SIGMA] .sub.t] [g.sub.t] ، (20)

MOTP = [[SIGMA] .sub.i، t] [C.sub.i، t] / [[SIGMA] .sub.t] [Nm.sub.t]، (21)

حيث [g.sub.t] هو عدد كائنات الحقيقة الأساسية في الإطار tth ، [Nm.sub.t] يشير إلى عدد الكائنات المعينة في الإطار tth ، [m.sub.t] يمثل الاكتشاف المفقود count ، و [fp.sub.t] هو العدد الإيجابي الخاطئ لكل إطار. [c.sub.s] = [log. 1. بدأنا العد من 1 بسبب وظيفة السجل. تمثل [c.sub.m] و [c.sub.f] ، على التوالي ، دالات التكلفة لعمليات الكشف الفائتة والإيجابيات الكاذبة. القيم المستخدمة لوظائف الترجيح في (20) هي [c.sub.m] = [c.sub.f] = 1. يوضح الشكل 5 الرسوم البيانية لـ MOTA و MOTP في التجربة باستخدام خوارزمية SPFA.

5.3 تحليل النتائج. لضمان التعريف الفريد لكل هدف تتبع ، نستخدم ألوانًا مختلفة للإشارة إلى الطلب. التسلسلات المستخدمة في تجربتنا مأخوذة من الجدول 1. يتم الحصول على نتائج الاكتشاف من خلال العملية الموضحة في القسم 4.1 كمدخلات لخوارزمية لدينا. ثم نجري اختبار أداء لظروف التتبع متعددة الكائنات للإيجابيات الكاذبة والسلبيات الكاذبة والخلفية الديناميكية ، على التوالي.

5.3.1. اختبار الأداء للسلبيات الكاذبة. تستخدم التسلسلات Multiple_flow_view1 و S2_L1_view5 من مجموعة بيانات PETS09. نعرض النتائج النموذجية في الشكلين 6 و 7. على وجه الخصوص ، يستخدم الأول معاطف صفراء زاهية يرتديها المشاة ككائن تتبع. على الرغم من أن احتمالية ظهور السلبيات الخاطئة تزداد بشكل كبير بسبب الانسداد بأشياء لا تتعقب ، يمكن أن تضمن خوارزمية SPFA التتبع المستمر (لم يتغير لون مربع التتبع) لكل كائن في عملية التتبع بأكملها. تتحقق تجربة S2_L1_view5 من قوة خوارزمية SPFA عندما تغادر الأهداف منطقة المغادرة غير المقيدة وتعاود الظهور قريبًا.

5.3.2. اختبار الأداء للإيجابيات الكاذبة. تستخدم التسلسلات Threepastshop2 من مجموعة بيانات CAVIAR و Sequence3 لمجموعة بيانات BEHAVEDATA. النتائج النموذجية موضحة في الشكلين 8 و 9. استخدمنا الطريقة من القسم 4.1 للكشف والتوطين. نظرًا للحل الفائق ومقاومة التداخل في SPFA ، يمكننا تتبع كائنات متعددة بثبات في الوقت المناسب في حالة الإيجابيات الخاطئة.

5.3.3. اختبار الأداء للخلفية الديناميكية. هناك شرطان يجب استيفاءهما من خلال تسلسل التجربة.

(1) يجب أن يكون التوزيع الاحتمالي المتاح للخلفية الديناميكية للتسلسل متسقًا نسبيًا. بهذه الطريقة فقط يمكن للخوارزمية الحصول بسرعة على موقع كائن للتتبع.

(2) يجب أن تكون الأهداف مناطق وصول ثابتة في أرض التتبع. نظرًا لأن أرض التتبع تتحرك ، تتغير المنطقة المحتملة التي يمكن للأشياء الدخول والخروج منها. نطلب أن تكون حدود مجال رؤية الكاميرا هي المنطقة لجميع الكائنات التي يمكنها الدخول والخروج.

يستخدم التسلسل Seq03view1 من مجموعة بيانات ETHMS. نحصل على خصائص الكائن من خلال طريقة الجمع بين لون الجلد والطريقة في [25] ونعرض النتائج النموذجية في الشكل 10. طريقة الاكتشاف والتوطين في القسم 4.1 تراعي فقط توزيع الاحتمالات المتاح للخاصية المستهدفة في تتبع الأرض ولا تتعلق بظروف الخلفية. لذلك ، يتطلب تسلسل تجربتنا توزيعًا احتماليًا ثابتًا. يحد هذا القيد ، بطريقة ما ، من الظروف التجريبية للأداء لخلفية ديناميكية ولكنه لا يؤثر على الاستنتاج القائل بأن تتبع الكائنات المتعددة باستخدام خوارزمية SPFA في خلفية ديناميكية قوي.

5.4. تحليل المحاكاة. تم إجراء جميع التجارب المذكورة أعلاه على جهاز كمبيوتر يعمل بنظام Windows XP مزود بوحدة معالجة مركزية ثنائية النواة بسرعة 2.7 جيجاهرتز وذاكرة سعة 8 جيجابايت. تستخدم منصة البرنامج Visual Studio 2010 و Open CV2.2.

قمنا بمقارنة خوارزمية SPFA مع ثلاث خوارزميات أخرى (طريقة Zhang 2 [12] و KSP [13] و SSP [14]) في تسلسلين من مجموعات بيانات مختلفة (Seq03view1 من مجموعة بيانات ETHMS و Sequence3 لمجموعة بيانات BEHAVEDATA) فيما يتعلق متوسط ​​أخطاء التتبع. النتائج موضحة في الشكل 11. قمنا أيضًا بمقارنة الخوارزميات فيما يتعلق بدقة التتبع. يوضح الشكل 12 معدل الكشف مقابل الإيجابيات الزائفة لكل صورة (FPPI) لجميع الخوارزميات. نحن نستخدم نفس طريقة الكشف المفصلة في القسم 4.1 لجميع تجاربنا.

يوضح الشكل 11 أن أخطاء التتبع لهذه الخوارزميات لا تختلف اختلافًا كبيرًا في الحالات التي لا تنطوي على شغل وفوضى. ومع ذلك ، عند تتبع كائن في حالة الإيجابيات الزائفة والسلبيات الخاطئة لفترة طويلة ، تُظهر خوارزمية SPFA الخاصة بنا تفوقًا واضحًا. على الرغم من أنه يمكن استيفاء مشكلة الإشغال في حالة الافتراضات البسيطة من خلال طريقة Zhang 2 ، فإن الافتراضات المطلوبة تؤدي إلى الحذف وتؤدي في النهاية إلى تتبع الفشل عند حدوث العديد من السلبيات الخاطئة والإيجابيات الخاطئة بشكل متكرر. في الشكل 12 ، عندما يكون للخوارزميات المذكورة أعلاه نفس معدل اكتشاف الهدف ، فإن خوارزمية SPFA تعمل بشكل أفضل من الخوارزميات الأخرى في التحكم في FPPI. يرجع تفوق خوارزمية SPFA إلى أسلوب الاسترخاء الأسرع وإيجاد الحل الأمثل العالمي بسرعة أكبر.

باستخدام نفس طريقة اكتشاف الهدف كما هو مذكور أعلاه ، قمنا بمقارنة الإيجابيات الخاطئة التي تم إنشاؤها باستخدام طريقة SPFA مع تلك من الطرق الأخرى في مجموعة بيانات ETHMS ومجموعة بيانات CAVIAR ، كما هو موضح في الجدول 2. تظهر النتائج أن خوارزمية SPFA يمكن أن تتبع بشكل أفضل. علاوة على ذلك ، كما هو موضح في الشكل 13 ، فإن وقت تشغيل خوارزمية SPFA يتفوق بشكل كبير على الخوارزميات الثلاثة الأخرى.

5.5 مدة العرض. قمنا بتقييم سرعة خوارزمية تتبع SPFA الخاصة بنا على تسلسل مجموعة بيانات BEHAVEDATA بمعدل 25 إطارًا في الثانية. تم عرض منحنيات وقت التشغيل لخوارزميات SPFA والخوارزميات المذكورة أعلاه في الشكل 13. تم رسم المحور الرأسي الذي يمثل وقت التشغيل على مقياس لوغاريتمي. حل طريقة Zhang 2 لا يتقارب لوقت تشغيل كبير. عند التعامل مع سلسلة من 1000 إطار ، يستغرق برنامج حل KSP حوالي 20 ثانية ويستغرق SSP 0.9 ثانية ، لكن محلل SPFA الخاص بنا يستغرق 0.08 ثانية فقط.

في هذه الورقة ، اقترحنا متتبعًا موثوقًا به مع إطار شبكة تدفق. في نموذج التدفق الأدنى للتكلفة الذي أنشأته نظرية برنامج الأعداد الصحيحة ، استخدمنا بعد ذلك خوارزمية SPFA لتخفيف افتراض الأعداد الصحيحة ولتحديد الحل الأمثل العالمي بنجاح. يمكن للخوارزمية الناتجة أن تحل بشكل أفضل مشاكل الإيجابيات الكاذبة في الوقت القصير والسلبيات الخاطئة في تتبع الكائنات المتعددة وهي أقوى من الأساليب الحديثة. يمكن لطريقتنا المقترحة العثور بسرعة على الحل الأمثل العالمي للـ LP المريح باستخدام SPFA.

تشير نتائج التجربة إلى أن الخوارزمية المقترحة مفيدة في تحسين اتساق المسار وحل مشاكل الانسداد الخطيرة بين كائنات متعددة ويمكن أن تلبي متطلبات القياس في الوقت الفعلي. بالمقارنة مع الخوارزميات الأخرى ، هناك مزايا واضحة لـ SPFA. سيكون تتبع أنواع متعددة من الأهداف بخلفية ديناميكية في الوقت الفعلي محور بحثنا المستقبلي.

يعلن المؤلفون أنه لا يوجد تضارب في المصالح فيما يتعلق بنشر هذه الورقة.

يتم دعم هذا العمل بشكل مشترك من قبل المؤسسة الوطنية للعلوم الطبيعية في الصين (المنحتان رقم 61372090 و 61210013) والمشروع الوطني الرئيسي للبحوث الأساسية في الصين (2013CB329403).

[1] آي إس كيم ، إتش إس تشوي ، كيه إم يي ، جي واي تشوي ، إس جي كونغ ، "المراقبة البصرية الذكية - دراسة استقصائية ،" المجلة الدولية للتحكم ، الأتمتة والأنظمة ، المجلد. 8 ، لا. 5 ، ص 926-939 ، 2010.

[2] Z. Hou و C. Han ، "مسح التتبع البصري ،" Acta Automatica Sinica ، المجلد. 32 ، لا. 4 ، ص 603-617 ، 2006 (صيني).

[3] M.-X. جيانغ ، H.-Y. وانغ و X.-K. Liu ، "خوارزمية تتبع متعددة الأهداف تعتمد على كاميرات متعددة ،" Acta Automatica Sinica ، المجلد. 38 ، لا. 4 ، ص 531-539 ، 2012 (صيني).

[4] H. Zhou ، "مسح لتقنية تتبع أهداف متعددة ،" ACTA Aeronautica et Astronautica Sinica ، المجلد. 7 ، لا. 1 ، الصفحات 1-10 ، 1986 (صيني).

[5] Q. Yu and G. Medioni ، "التتبع متعدد الأهداف بواسطة رابطة بيانات سلسلة مونت كارلو ماركوف الزمانية المكانية ،" معاملات IEEE على تحليل الأنماط وذكاء الآلة ، المجلد. 31 ، لا. 12 ، ص 2196-2210 ، 2009.

[6] F. Serratosa، R. Alquezar، and N. Amezquita، "A تكامل احتمالي للتعرف على الكائنات وإطار التتبع" Expert Systems with Applications، vol. 39 ، لا. 8 ، ص 7302-7318 ، 2012.

[7] E. Maggio، M. Taj، and A. Cavallaro ، "التتبع البصري الفعال متعدد الأهداف باستخدام مجموعات محدودة عشوائية ،" IEEE Transactions on Circuits and Systems for Video Technology ، المجلد. 18 ، لا. 8 ، ص 1016-1027 ، 2008.

[8] I. Sharp، K. Yu، and T. Sathyan، "قياس الدقة الموضعية ونمذجة الخطأ لتتبع الأجهزة المحمولة" IEEE Transactions on Mobile Computing، vol. 11 ، لا. 6 ، ص 1021-1032 ، 2012.

[9] J. Giebel، D. Gavrila، and C. Schnorr، "A bayesian framework for multi-cue 3D object tracking"، in Proceedings of the European Conference on Computer Vision، pp.241-252، 2004.

[10] AGA Perera، C. Srinivas، A. Hoogs، G. Brooksby، and W. Hu، "تتبع الكائنات المتعددة من خلال الانسدادات الطويلة المتزامنة وظروف الدمج المنقسمة" في وقائع المؤتمر الرابع والعشرين لجمعية الكمبيوتر IEEE على الكمبيوتر الرؤية والتعرف على الأنماط (CVPR '06) ، الصفحات 666-673 ، يونيو 2006.

[11] F. Fleuret ، J. Berclaz ، R. Lengagne ، and P. Fua ، "Multicamera people tracking with a احتمالية الإشغال Map ،" IEEE Transactions on Pattern Analysis and Machine Intelligence، vol. 30 ، لا. 2 ، ص 267-282 ، 2008.

[12] L. Zhang، Y. Li، and R. Nevatia ، "رابطة البيانات العالمية لتتبع الأجسام المتعددة باستخدام تدفقات الشبكة ،" في وقائع مؤتمر IEEE السادس والعشرين حول رؤية الكمبيوتر والتعرف على الأنماط (CVPR '08) ، ص. .342-349 ، يونيو 2008.

[13] J. Berclaz، F. Fleuret، E.Turetken ، و P. Fua ، "تتبع الكائنات المتعددة باستخدام تحسين المسارات الأقصر k" ، معاملات IEEE on Pattern Analysis and Machine Intelligence ، المجلد. 33 ، لا. 9 ، ص 1806-1819 ، 2011.

[14] H. Pirsiavash، D. Ramanan، and CC Fowlkes ، "خوارزميات الجشع المثلى عالميًا لتتبع عدد متغير من الكائنات" ، في متابعة مؤتمر IEEE حول رؤية الكمبيوتر والتعرف على الأنماط (CVPR 11) ، ص 1201 -1208 ، بروفيدنس ، RI ، الولايات المتحدة الأمريكية ، يونيو 2011.

[15] B. Aghezzaf and T. Ouaderhman ، "خوارزمية نقطة داخلية تفاعلية لمشاكل البرمجة الخطية متعددة الأهداف ،" Operations Research Letters ، المجلد. 29 ، لا. 4 ، ص 163-170 ، 2001.

[16] M. D. Gonzalez-Lima ، A. R. L. أوليفيرا ، ودي إي أوليفيرا ، "اقتراح قوي وفعال لحل الأنظمة الخطية الناشئة في أساليب النقاط الداخلية للبرمجة الخطية ،" التحسين والتطبيقات الحاسوبية ، المجلد. 56 ، لا. 3 ، ص 573-597 ، 2013.

[17] J. Wei and M. Zhang ، "خوارزمية تطورية تعتمد على نموذج Simplex لتحسين ديناميكي متعدد الأهداف ،" في AI 2011: Advances in Artificial Intelligence ، المجلد. 7106 من ملاحظات محاضرة في علوم الكمبيوتر ، ص 372-381 ، سبرينغر ، هايدلبرغ ، ألمانيا ، 2011.

[18] إي يو خان ​​، ت. أحمد ، ون. معان ، "أسلوب جديد مبسط لحل مشاكل البرمجة الخطية الغامضة بالكامل ،" Journal of Optimization Theory and Applications ، المجلد. 159 ، لا. 2 ، ص.536-546 ، 2013.

[19] D. Fanding ، "خوارزمية أسرع لأقصر مسار - SPFA ،" Journal of South West Jiaotong University، vol. 29 ، لا. 2 ، ص 207212 ، 1994 (صيني).

[20] X. Zhengdong ، B. Tianming ، و Z. Juyang ، "تحليل وتحسين خوارزمية SPFA ،" Computer Science ، المجلد. 41 ، لا. 6 ، الصفحات 180-184 ، 2013 (صيني).

[21] إم إتش سيغاري وإم فتحي ، "نمذجة الخلفية في الوقت الفعلي / الطرح باستخدام نموذج كتاب الرموز المكون من طبقتين" ، في وقائع المؤتمر الدولي المتعدد للمهندسين وعلماء الكمبيوتر (IMECS '08) ، المجلد. 1 ، هونغ كونغ ، الصين ، مارس 2008.

[22] A. Bugeau and P. Perez ، "التتبع والقطع: التتبع المتزامن والتجزئة لكائنات متعددة مع قطع الرسم البياني" ، EURASIP Journal on Image and Video Processing ، المجلد. 2008 ، معرف المقالة 317278 ، 2008.

[23] H. P. Liu، M. Y. Yuan، F. C. Sun، and J.W Zhang، "Spatial Neighborhood-limited Linear coding for Visual object tracking،" IEEE Transactions on Industrial Informatics، vol. 10 ، لا. 1 ، ص.469-480 ، 2014.

[24] ر.كاستوري ، د. ذكاء الآلة ، المجلد. 31 ، لا. 2 ، ص 319-335 ، 2009.

[25] C.-N. Guan، C.-F. Juang و G.-C. Chen ، "تعريب الوجه باستخدام مصنف ضبابي مع ميزات لون التركيز المترجمة المويجة وميزات الشكل ،" معالجة الإشارات الرقمية ، المجلد. 22 ، لا. 6 ، ص 961-970 ، 2012.

Zhenghao Xi (1،2) Heping Liu (1) Huaping Liu (2) و Bin Yang (3)

(1) كلية الأتمتة والهندسة الكهربائية ، جامعة العلوم والتكنولوجيا بكين ، بكين 100083 ، الصين

(2) مختبر مفتاح الدولة للتكنولوجيا والأنظمة الذكية ، جامعة تسينغهوا ، بكين 100084 ، الصين

(3) قسم الهندسة الإلكترونية ، جامعة تشانغوون الوطنية ، تشانغوون 641-773 ، جمهورية كوريا

يجب توجيه المراسلات إلى Zhenghao Xi [email protected]

تم الاستلام في 19 مارس 2014 المنقح في 22 يوليو 2014 وتم قبوله في 30 يوليو 2014 تم النشر في 17 أغسطس 2014


3 إجابات 3

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

ما تفعله أساسًا هو أن لديك مصفوفتان تحافظان على الطول والربح على التوالي. يمكنك إنشاء مصفوفة أخرى تكون نسبة الطول إلى ربح الحواف. لذلك ستخزن المصفوفة النسبة = الطول / الربح لجميع الحواف وباستخدام مصفوفة الحصص التموينية ، يمكنك استخدام خوارزمية دجيكشترا. بالنسبة لخوارزمية Djikshtra ، استخدم مجموعة V كنسبة رأس ونسبة صفيف. باستخدام خوارزمية تشغيل هذا Djikshtra. سوف تحصل على إجابتك المطلوبة

تتمثل إحدى طرق التعامل مع مثل هذه المشكلة في إنشاء متغير جديد ، L لـ lambda.

لكن أولاً ، دعنا نتعامل مع قضية الربح: حوافك لها أطوال l وأرباح p. أعد تعريف كل p بحيث يكون p '= max (p) -p. الآن ، الحد الأقصى للربح الخاص بك له قيمة صفر (أدنى حد ممكن) والميزة الأقل ربحًا لها قيمة كحد أقصى (p) (أعلى قيمة ممكنة). يمكنك الآن العثور على أقل مسار تكلفة.

حدد وزن الحافة على أنها l * L + p '* (1-L) ، الآن تختلف L من 0 إلى 1. ستكون المسارات المختلفة هي الأمثل اعتمادًا على ما إذا كان الطول أو الربح أكثر أهمية. بشكل فضفاض ، تشكل هذه المسارات مجموعة باريتو المثلى. كل مسار حل أفضل من جميع المسارات الأخرى لتلك القيمة الخاصة لـ L. بالنسبة لذلك L ، لا توجد طريقة لزيادة الربح دون زيادة الطول أيضًا ، أو تقليل الطول دون تقليل الربح.

لاحظ أن اختيار القيم المناسبة لـ L لإنشاء هذه المجموعة قد لا يكون مباشرًا: على سبيل المثال ، إذا كانت أرقام الأرباح أكبر بكثير من أرقام الطول ، فإن معظم المجموعة سوف تتجمع في قيم L التي تقيس قيم الربح إلى مستوى حيث فهي قابلة للمقارنة مع قيم الطول. قد تكون قيم L هذه صغيرة جدًا.

Ooop ، شاهد تعديلك: "ابحث أولاً عن القيمة x لأقصر مسار ، ثم فوق مجموعة جميع المسارات التي لها نفس الطول x ، ابحث عن مسار بأقصى ربح." في هذه الحالة ، إجابة نيك هي السبيل للذهاب.


SJF الوقائية

في جدولة SJF الوقائية ، توضع الوظائف في قائمة انتظار جاهزة فور وصولها. تبدأ عملية بأقصر وقت للانفجار في التنفيذ. في حالة وصول عملية ذات وقت اندفاع أقصر ، تتم إزالة العملية الحالية أو منعها من التنفيذ ، ويتم تخصيص المهمة الأقصر لدورة وحدة المعالجة المركزية.

ضع في اعتبارك العملية الخمس التالية:

قائمة انتظار العملية وقت الانفجار وقت الوصول
P1 6 2
P2 2 5
ص 3 8 1
ص 4 3 0
ص 5 4 4

الخطوة 0) في الوقت = 0 ، يصل P4 ويبدأ التنفيذ.

قائمة انتظار العملية وقت الانفجار وقت الوصول
P1 6 2
P2 2 5
ص 3 8 1
ص 4 3 0
ص 5 4 4

الخطوة 1) في الوقت = 1 ، تصل العملية P3. لكن ، P4 لديه وقت انفجار أقصر. سيستمر التنفيذ.

الخطوة 2) في الوقت = 2 ، تصل العملية P1 مع وقت الرشقة = 6. وقت الرشقة أكبر من زمن الرشقة P4. ومن ثم ، ستواصل P4 التنفيذ.

الخطوه 3) في الوقت = 3 ، ستنتهي العملية P4 من تنفيذها. تتم مقارنة زمن انفجار P3 و P1. يتم تنفيذ العملية P1 لأن وقت انفجارها أقل.

الخطوة 4) في الوقت = 4 ، ستصل العملية P5. تتم مقارنة زمن انفجار P3 و P5 و P1. يتم تنفيذ العملية P5 لأن وقت رشقاتها هو الأقل. تم استباق العملية P1.

قائمة انتظار العملية وقت الانفجار وقت الوصول
P1 5 من أصل 6 باقٍ 2
P2 2 5
ص 3 8 1
ص 4 3 0
ص 5 4 4

الخطوة 5) في الوقت = 5 ، ستصل العملية P2. تتم مقارنة وقت انفجار P1 و P2 و P3 و P5. يتم تنفيذ العملية P2 لأن وقت انفجارها هو الأقل. تم استباق العملية P5.

قائمة انتظار العملية وقت الانفجار وقت الوصول
P1 5 من أصل 6 باقٍ 2
P2 2 5
ص 3 8 1
ص 4 3 0
ص 5 3 من 4 باقٍ 4

الخطوة 6) في الوقت = 6 ، يتم تنفيذ P2.

الخطوة 7) في الوقت = 7 ، ينتهي P2 من تنفيذه. تتم مقارنة وقت انفجار P1 و P3 و P5. يتم تنفيذ العملية P5 لأن وقت انفجارها أقل.

قائمة انتظار العملية وقت الانفجار وقت الوصول
P1 5 من أصل 6 باقٍ 2
P2 2 5
ص 3 8 1
ص 4 3 0
ص 5 3 من 4 باقٍ 4

الخطوة 8) في الوقت = 10 ، سينتهي P5 من تنفيذه. تتم مقارنة وقت انفجار P1 و P3. يتم تنفيذ العملية P1 لأن وقت انفجارها أقل.

الخطوة 9) في الوقت = 15 ، ينتهي P1 من تنفيذه. P3 هي العملية الوحيدة المتبقية. سيبدأ التنفيذ.

الخطوة 10) في الوقت = 23 ، ينتهي P3 من تنفيذه.

الخطوة 11) دعنا نحسب متوسط ​​وقت الانتظار للمثال أعلاه.


Networkx ، باستخدام أقصر المسارات لعمل دورات أقصر

هذا السؤال محدد إلى NetworkX. يمكنني القيام بوظائفي الخاصة لإنجاز كل الأشياء التي أحتاجها ، لكن الأمر سيستغرق وقتًا أطول بكثير لذا أريد تجنب ذلك.

لدي رسم بياني غير مرجح ، يمثله رسم بياني غير موجه لـ NetworkX. من هذا الرسم البياني ، أبحث عن "أقصر الدورات" - أي ، بالنسبة إلى عقدة معينة k ، أجد أقصر مسار بسيط (يمر عبر العقدة مرة واحدة فقط) ، والذي يترك k ثم يعود إلى k.

لتحقيق ذلك ، أود استخدام أي خوارزمية NetworkX Shortest Paths ، والقيام بالبحث من العقدة k ، إلى العقدة k. المشكلة هي أنه يبدو أن كل خوارزمية أقصر مسار تقوم ببساطة بإرجاع العقدة k كمسار. لذلك ، فإنه لا يغادر في الواقع. ولا أعرف كيف أغير هذا.

سيكون الحل المحتمل بالنسبة لي هو القيام بما يلي:

ومع ذلك ، فإن العدد الهائل من المرات التي أخطط فيها للقيام بتقنية "أقصر دورة" ضخمة للغاية ، وأنا أفضل ألا أضطر إلى القيام بذلك. إذن ، هل هناك طريقة أسهل لفعل ما أريد باستخدام NetworkX؟


كيفية إنشاء برنامج نصي للمعالجة باستخدام أقصر خوارزمية مسار؟ - نظم المعلومات الجغرافية

استخدم Git أو checkout مع SVN باستخدام عنوان URL للويب.

اعمل بسرعة مع CLI الرسمي. يتعلم أكثر.

بدء تشغيل GitHub Desktop

إذا لم يحدث شيء ، فقم بتنزيل GitHub Desktop وحاول مرة أخرى.

بدء تشغيل GitHub Desktop

إذا لم يحدث شيء ، فقم بتنزيل GitHub Desktop وحاول مرة أخرى.

إطلاق Xcode

إذا لم يحدث شيء ، قم بتنزيل Xcode وحاول مرة أخرى.

إطلاق برنامج Visual Studio Code

سيتم فتح codespace الخاص بك بمجرد أن يصبح جاهزًا.

حدثت مشكلة أثناء تحضير مساحة الكود ، يرجى المحاولة مرة أخرى.


نمذجة التوجيه الديناميكي لتحليل أقصر مسار ثلاثي الأبعاد

Universiti Teknologi Malaysia ، 81310 UTM Skudai ، جوهور ، ماليزيا.

2قسم المسح التصويري والمعلوماتية الجغرافية ،

جامعة شتوتغارت للعلوم التطبيقية ، شيلينجستر. 24 70023 شتوتغارت ، ألمانيا.

تكمن المشكلة في قدرتها على التعامل مع "تعديلات متعددة غير متجانسة": بين التحديثات ، يُسمح بإعادة هيكلة الرسم البياني للإدخال عن طريق مزيج تعسفي من إدخالات الحافة وحذف الحافة وتغييرات طول الحافة. ​​الفصل منظم في ثلاثة أجزاء عامة. يناقش الجزء الأول نموذج التنقل ثلاثي الأبعاد والوزن الديناميكي ومتطلباته الوظيفية. يقدم الجزء الثاني نموذج الشبكة الديناميكية ثلاثية الأبعاد ويوضح الحل الممكن باستخدام خوارزمية التوجيه SSSP وتنفيذه. المناقشة النهائية للتوصيات الخاصة بالبحوث المستقبلية تختتم الفصل.

الكلمات الدالة: أقصر مسار ، وزن ديناميكي ، تنقل ثلاثي الأبعاد ، 3D-GIS.

ضروري عند كل تقاطع طرق وما إلى ذلك. لا يزال من الممكن تصميم طريق منحدر بدون تقاطع مع عقدتين وقوس واحد لأغراض التوجيه حتى لو كان طويلًا ويحتوي على الكثير من السربنتين كالمعتاد في الجبال ولكن هذا هو الجزء الهندسي من الشبكة .

قبل المتابعة ، دعونا نصف بعض الرموز ونحدد مشكلة أقصر الطرق الأساسية. الشبكة عبارة عن رسم بياني ، G = (V ، E) يتكون من مجموعة من العقد (قمة الرأس) V ، مع مجموعة عقد الشبكة g = | V | g = | V1، V2، V3. فن | ومجموعة ممتدة من الحواف الموجهة E مع h = | E | ح = | (V1، V2)، (V2، V3)،. (فن ، فن) |. يتم تمثيل كل حافة كزوج من العقد ، من العقدة i إلى العقدة j ، يُشار إليها بالرمز (i ، j). كل حافة (i ، j) لها وزن مرتبط بقيمة عددية ، Wij ، والتي تمثل المسافة أو تكلفة الحافة (أي Wij: 5). في هذا الفصل ، نفترض أن السفر ثنائي الاتجاه بين زوج من العقد i و j يتم تمثيله بحافتين موجهتين مختلفتين (i، j) و (j، i). بالنظر إلى الشبكة G = (V ، E) بوزن حافة معروف (مسافة) Wij لكل حافة (i، j) مجموعة فرعية إلى E ، فإن أقصر مشكلة مسار هي العثور على أقصر مسار مسافة من عقدة مصدر s إلى عقدة محددة في مجموعة العقدة V. هذه طريقة بسيطة للعثور على أقصر مسار في الشبكة ، باستخدام عقدة (عقدة) ثابتة. هناك بعض الحالات التي يتغير فيها السلوك (أي الموقع والوزن والسمات المحيطة ذات الصلة بمضخم الصوت) لعقد أو أكثر ديناميكيًا بسبب أحداث غير متوقعة في المستقبل ، إما على طول المسار أو حوله إلى الوجهة.

حاليًا ، بدأ الباحثون جهودًا بحثية لإدخال مفاهيم التوجيه في 3D-GIS (Ivin et al. ، 2006 and Zhu et al. ، 2006) وحتى لاستراتيجيات الإخلاء (شي وزلاتانوفا 2005) مع عدة أنواع من التطورات و اقتراب. استندت معظم الأبحاث التي تمت مناقشتها إلى نموذج بيانات النقل (Zhu et al.، 2006 Liu et al.، 2005 Fischer، 2004) وآخرون يركزون على إدارة الكوارث والطوارئ (Shi and Zlatanova، 2005 Zlatanova et al.، 2005 Zlatanova و Holweg ، 2004). ما ينقص هو تخطيط العالم الحقيقي أو نموذج ثلاثي الأبعاد لأوزان أو تكاليف حافة في الرسم البياني للشبكة.

2.0 نموذج بيانات ملاحة ثلاثي الأبعاد

(NavTech) ، GIS-T Enterprise (Dueker and Butler ، 1997) ، ونموذج البيانات القائم على الممرات (Fohl et al. ، 1996).

لتحسين نماذج البيانات الحالية وبناء نماذج / معايير بيانات جديدة ، فإن دراسة المفهوم والنموذج المنطقي هي الأساس. GDF ، الذي أصبح معيار ISO في أوائل عام 2004 ، هو مفهوم شائع ونموذج منطقي لشبكات الطرق والمعلومات المتعلقة بالطرق لخدمة الملاحة. ويمكن أن يعمل نموذجها المادي كتنسيق قابل للتبديل لبيانات التنقل. ومع ذلك ، فإن SDAL هي نماذج بيانات مادية أكثر. تعتبر دراسة نموذج البيانات المنطقية والمفهوم القائمة على GDF ذات مغزى.

تسمح بنية بيانات الرسم البياني للحافة بالاتصال بالحواف الأخرى فقط عند نقاط نهايتها. فوهل وآخرون (1996) اقترح طريقة لتكييف الشبكة القائمة على الممرات للعمل مع خوارزميات التوجيه الحالية من خلال تمثيل مقطع حارة بسلسلة من الحواف الصغيرة بحيث يمكن تغيير المسار إلى الممرات المجاورة في أي قمة على طول السلسلة.

2.1 مفهوم الوزن الديناميكي

في مشكلة توجيه السيارة ، يتم إصلاح عقدة الوجهة ، بينما يتم تحديد موقع عقدة البداية ديناميكيًا في أي مكان على الخريطة. على سبيل المثال ، اتصل بسيارة أجرة يقوم شخص بالاتصال بشركة سيارات أجرة ويعطي موقعه / موقعها للمشغل. ثم يقوم عامل التشغيل بالبحث عن أقرب سيارة أجرة وإرسالها إلى الموقع المحدد وإبلاغ المتصل بالوقت المقدر لوصول التاكسي. مع أخذ عامل ديناميكي مثل حركة المرور في الاعتبار ، قد لا تتمكن سيارة الأجرة المخصصة من الوصول إلى الموقع المحدد في الوقت المناسب. سيتم بعد ذلك إخطار سيارة أجرة أخرى متاحة (ثاني أقرب) ، وتستمر العملية حتى تصل سيارة أجرة إلى المتصل. الخوارزمية التي سيتم استخدامها لهذا النوع من المشاكل سيكون لها نوع واحد لكثير لذلك هذا النوع من الحالات أسهل بكثير من المشكلة التالية.

أثناء التخطيط لعملية الإنقاذ ، يمكن أن يكون نموذج المبنى إما تجريدًا لمبنى يتم تمثيله بمضلعات في مساحة ثلاثية الأبعاد (Zlatanova et. al 2004) والتي من المحتمل أن تكون نموذجًا هندسيًا أو طوبولوجيًا ، أو نموذجًا منطقيًا يمثل الاتصالات بين الغرف. يتم تمثيل الغرف والمعابر المهمة بالعقد ، حيث يتم تمثيل المسارات كروابط بين العقد. لذلك سيناريو مثل "هل سيكون النموذج قادرًا على تعيين كل منقذ للناجين (الناجين) في عملية الإنقاذ وعملية الإخلاء مع عدد معروف أو غير معروف من الناجين في حالة نشوب حريق؟" يمكن حلها.

يمكن العثور على مناقشة مفصلة حول تحليل الكفاءة لخوارزميات المسار الأقصر في بحث Zhan and Noon (1998).

يحتاج التنقل في الداخل والخارج فعليًا إلى استمرار "سلس" بينهما. باستخدام المحاكاة (جعفري وآخرون 2003) ، قد يحسن الفهم الديناميكي للملاحة. ستكون بعض المعلومات غير متاحة مؤقتًا في بعض المواقف الخاصة مثل سوء الأحوال الجوية أو مشكلة فنية ، وبالتالي فإن استخدام معلومات المحاكاة سيوفر دعمًا مستمرًا وديناميكيًا. قد تقلل محاكاة سيناريوهات البيئة في ظل افتراضات مختلفة من التكاليف والتهديدات بطريقة متوقعة.

3.0 نموذج الشبكة الديناميكية ثلاثية الأبعاد

باختصار ، يمكن عرض العملية الشاملة لبناء شبكة ديناميكية ثلاثية الأبعاد بإيجاز في ثلاث خطوات. أولاً ، من الشبكات المستوية وغير المستوية إلى الشبكات ثلاثية الأبعاد ، يمكن توضيح الوضع الغامض للممر السفلي / الممر العلوي وتراكب الشبكة في الرسم البياني ثنائي الأبعاد. يحسن قدرات التصور وتكامل البيانات الفعال والشامل. ثانيًا ، من خلال الانتقال من شبكة ثابتة إلى شبكة ديناميكية ، يمكن دمج معلومات الوقت الفعلي حول السيارة والأحداث الأخرى بشكل مباشر في عملية التوجيه. أخيرًا ، بعد التحسين ، يتم التخلص من الرؤوس غير الضرورية ويتم تقليل العدد الإجمالي للرؤوس بشكل كبير ، وبالتالي تحسين القدرة على الاستجابة السريعة.

3.1 تنفيذ خوارزمية التوجيه المتوقعة

كما ذكرنا من قبل ، قد يتغير الرسم البياني للتوجيه بمرور الوقت بسبب أحداث معينة. كما سنرى ، أهم تغيرين هما زيادة تكاليف الحافة وخفضها وإدخال حافة جديدة في الرسم البياني. يمكن نمذجة الأحداث الأخرى بناءً على هاتين العمليتين. إدخال حافة جديدة e = (الخامس,ث) إلى الرسم البياني يمكن اعتباره خفض التكاليف ج(هـ) من "إلى قيمة ج. حذف حافة e = (الخامس,ث) مشابه لزيادة تكاليف ميزة ". حذف قمة الرأس الخامس يمكن أن يتم ذلك عن طريق حذف جميع الحواف الواقعة على الخامس. يُعد إدخال الرأس أمرًا بسيطًا طالما أنه لا توجد حافة تربطه ببقية الرسم البياني. سيتم إدراج حواف التوصيل هذه باستخدام خوارزمية إدخال الحواف. يوضح الجدول 1 أدناه عندما يكون مطلوبًا حذف أو إدخال أو تعديل حافة أو قمة.

الجدول 1: وصف الأحداث الديناميكية لخوارزمية التوجيه.

مهمة مثال (الأحداث الديناميكية)

قد يتم حظر الحافة بسبب كارثة (انهيار السقف في المباني أو حوادث الطرق) ولا يمكن استخدامها بعد الآن.

في حالة نشوب حريق ، يتم أخذ المزيد من الوقت عندما يستخدم المنقذ السلم لإنقاذ الأشخاص من الطابق الأول ، وما إلى ذلك.

تعديل تكاليف الحافة

من الصعب إخراج هذا الطريق (بسبب الدخان ، وما إلى ذلك) أو أكثر سهولة في الخروج من هذا الطريق بسبب ظهور فريق الإنقاذ.

من أجل العثور على أقصر طريق للخروج من المبنى في حالة الطوارئ من موقع معين أو في الاختناقات المرورية ، يجب حل مشكلة أقصر مسار أحادي المغسلة (SSSP) للرسم البياني الديناميكي G. في ظل افتراض أن كل حافة البريد = (الخامس,ث) في الرسم البياني له تكاليف موجبة ج(e) & gt0 ، يمكن حل المشكلة بواسطة خوارزمية Dijkstra. إذا تغير هيكل الرسم البياني بسبب حدث ما ، فيجب تشغيل الخوارزمية بأكملها مرة أخرى حتى إذا لم يكن للتغييرات أي تأثير على النتيجة. يمكن اعتبار خوارزمية Dijkstra على أنها معالجة دُفعات على رسم بياني إدخال معين G ومغسلة رأسية س. إذا تم تغيير إدخال البيانات ، سيتم تشغيل الخوارزمية مرة أخرى.نقترح في هذا الفصل نهجًا تدريجيًا للتعامل مع التغييرات في هيكل الرسم البياني. عادة ما تكون التغييرات في هيكل الرسم البياني تغييرات محلية. بمجرد حل مشكلة SSSP للمدخلات المحددة (G ، الخامس) ، تمت إعادة حساب جزء صغير فقط من الحل بسبب الحدث. عادة ما يكون هذا النهج التدريجي أكثر كفاءة. للحصول على تحليل مفصل لتعقيد هذا النوع من الخوارزميات الإضافية يمكن العثور عليها في بحث Ramalingam and Reps (1996).

3.2 خوارزمية SSSP التزايدية

مدخلات مشكلة SSSP هو الرسم البياني G (V ، E) ، دالة تكلفة ج: E Æ R + ورأس الحوض الخامس. أقصر مسافة (ث) من الخامس لكل رأس ث يجب حساب V. سوف تحل خوارزمية Dijkstra المشكلة. ومع ذلك ، تتغير G بمرور الوقت كما تمت مناقشته من قبل. نحن مهتمون بخوارزمية تدريجية تعالج هذه التغييرات دون حل مشكلة SSSP للرسم البياني بأكمله مرة أخرى.

يمكن الوصول إلى قمة الرأس على مسارين مختلفين بنفس التكاليف. في هذه الحالة ، لا تبني المسارات الأقصر الناتجة شجرة ممتدة أكثر من رسم بياني لا دوري موجه (DAG).

فيرتكس 0 1 2 3 4 5 6 7 8


أقصر مسار جغرافي قائم على التوجيه في شبكة أجهزة الاستشعار اللاسلكية العنقودية

الشبكات (WSNs) هي تنظيم المستشعرات ديناميكيًا في شبكة لاسلكية وتوجيه البيانات الحسية من المستشعرات إلى الحوض. التجميع في WSNs فعال تقنية لإطالة عمر الشبكة. على الأغلب من التوجيه التقليدي في WSN المجمعة يفترض عدم وجود عقبة في مجال الاهتمام. برغم من إنه ليس افتراضًا واقعيًا ، إنه يزيل التأثيرات من العقبات في توجيه البيانات الحسية. هنا ، نحن أولاً اقتراح تقنية تجميع في WSNs المسماة مجموعات متجانسة موفرة للطاقة بشكل دوري يختار رؤوس الكتلة وفقًا لمزيج من الطاقة المتبقية والمعلمة الثانوية ، مثل فائدة المستشعر لجيرانها. بهذه الطريقة ، فإن ملف رؤساء المجموعات المختارة لديهم عدد متساوٍ من الجيران والطاقة المتبقية. ثم نقدم طريقا تقنية التحسين في شبكات WSN المجمعة بين العقبات باستخدام الخوارزمية المزدوجة. باستخدام هذه التقنية يمكننا اكتشاف الطريق حتى عند حدوث عقبة. سيكون الطريق هو أفضل أقصر طريق. عملنا يقلل من متوسط ​​عدد القفزات وتأخير الحزم و استهلاك الطاقة لشبكات WSN ويطيل العمر من جهاز الاستشعار.

الكلمات الدالة: شبكة الاستشعار اللاسلكية (WSN) ، العنقودية ، الطريق الاقوي

تتكون شبكة المستشعرات اللاسلكية (WSN) من مستشعرات مستقلة موزعة مكانيًا مراقب الظروف المادية أو البيئية ، مثل درجة الحرارة والصوت والضغط وما إلى ذلك ، ولتمرير بياناتهم بشكل تعاوني عبر الشبكة إلى موقع رئيسي. الشبكات الأكثر حداثة هي ثنائية الاتجاه ، وتمكين أيضًا التحكم في نشاط المستشعر. التطور ل كانت شبكات الاستشعار اللاسلكية مدفوعة بالتطبيقات العسكرية مثل مراقبة ساحة المعركة اليوم ، تُستخدم هذه الشبكات في العديد من التطبيقات الصناعية والاستهلاكية ، مثل مراقبة العمليات الصناعية والتحكم فيها ، ومراقبة صحة الماكينة ، وما إلى ذلك.

تم إنشاء WSN من & # 34 عقدة & # 34 - من بضع إلى عدة مئات أو حتى آلاف ، حيث يتم توصيل كل عقدة بمستشعر واحد (أو في بعض الأحيان عدة). تحتوي كل عقدة شبكة مستشعرات عادةً على عدة أجزاء: جهاز إرسال واستقبال لاسلكي بهوائي داخلي أو اتصال بهوائي خارجي ، أو متحكم دقيق ، أو دائرة إلكترونية للتفاعل مع أجهزة الاستشعار ومصدر للطاقة ، وعادةً ما تكون بطارية أو شكلًا مضمنًا من تجميع الطاقة . يمكن تقسيم عقد الاستشعار إلى عدد من المجموعات الصغيرة ، والتي تعرف باسم المجموعات. هذه هي الوحدة التنظيمية لشبكات الاستشعار اللاسلكية. كل مجموعة لديها منسق ، يسمى رئيس الكتلة (CH). في مخطط التجميع ، يتم تقسيم عقد الاستشعار في WSN إلى مجموعات افتراضية مختلفة ، ويتم تخصيصها جغرافيًا في نفس المجموعة وفقًا لمجموعة معينة من القواعد. يمكن لرؤساء المجموعات دمج البيانات وإرسالها إلى مركز البيانات كحزمة واحدة ، وبالتالي تقليل الحمل. التجميع له مزايا لتقليل استهلاك الطاقة المفيد من خلال تحسين استخدام النطاق الترددي ، وتقليل استهلاك الطاقة المهدر عن طريق تقليل النفقات العامة. تهدف معظم الخوارزمية إلى إطالة عمر الشبكة عن طريق موازنة استهلاك الطاقة بين العقد وتوزيع الحمل بين العقد المختلفة من وقت لآخر.

في هذه الورقة نقترح ما يلي:

 نقترح تقنية EHC في شبكات WSN التي تختار بشكل دوري CHs وفقًا لطاقتها المتبقية وفائدة المستشعر لجيرانها. يتمثل الاختلاف الرئيسي بين تقنيات التجميع الحالية وتقنية EHC في فائدة CHs في WSNs. في تقنية EHC ، يتحول المستشعر إلى CH إذا كانت فائدة المستشعر أعلى من جيرانه.

 باستخدام تقنية EHC ، يمكننا إطالة عمر المستشعر.

© 2016 ، IRJET | قيمة عامل التأثير: 4.45 | مجلة معتمدة من ISO 9001: 2008

| الصفحة 1530

 نقدم تقنية تحسين المسار في شبكات WSN المجمعة بين العوائق باستخدام خوارزمية DUAL (خوارزمية تحديث النشر).

أ) نموذج الاتصال الجماعي لللاسلكي الصناعي شبكات الاستشعار

إنه اتجاه حديث للنظر في شبكات الاستشعار اللاسلكية في البيئات الصناعية القاسية. مع النشر الفعلي لشبكات الاستشعار اللاسلكية ، سيكون من المرغوب فيه وضع خطة نشر ملموسة فيما يتعلق بالاتصال ووضع أجهزة الاستشعار عن طريق تجميعها وفقًا لنقاط النشر المخطط لها ، وحتى أكثر في حالة استهداف كائنات متعددة ليتم استشعارها ومراقبتها في البيئات القاسية . يعد ارتباط المجموعات وكذلك أجهزة الاستشعار الفردية أمرًا مهمًا بشكل خاص للحصول على البيانات في الوقت الفعلي وحتى أكثر من ذلك إذا لم تكن هناك روابط اتصال خارجية بين هذه المجموعات. في هذه الورقة ، نركز على اتصال مجموعات المستشعرات ، بدلاً من المستشعرات الفردية فقط ، ونقترح نموذج اتصال جماعي جديد لتحليل اتصال المجموعة ووضع خطة نشر ملموسة لمجموعات المستشعرات فيما يتعلق بالتوزيع الداخلي لـ أجهزة الاستشعار ومواقف المجموعة. نعتقد أن النموذج المقترح يجب أن يكون مفيدًا في التخطيط لنشر شبكات الاستشعار اللاسلكية في البيئات الصناعية القاسية حيث يكون تشغيل الأسلاك أقل عملية ومكلفة أيضًا.

ب) نهج التجميع القائم على المنطق الضبابي للشبكات اللاسلكية شبكات الاستشعار باستخدام التنبؤ بالطاقة

من أجل التغلب على مشكلة الطاقة المحدودة لبطارية المستشعر وبالتالي إطالة عمر شبكة الاستشعار اللاسلكية (WSN) ، تم اقتراح العديد من خوارزميات التوجيه لجمع البيانات المحسوسة وإعادة توجيهها إلى المحطة الأساسية. يعد بروتوكول LEACH أحد أكثر خوارزميات التوجيه شهرة والتي تم اقتراحها في السنوات الأخيرة. إنه بروتوكول توجيه ديناميكي قائم على الكتلة يقسم عمر الشبكة إلى جولات حيث تتكون كل جولة من مرحلتين: الإعداد والحالة المستقرة. العامل الرئيسي لكل جولة هو عدد العقد التي ستعمل كرؤساء الكتلة (CHs). كل CH مسؤول عن جمع البيانات المحسوسة من عقد الاستشعار الموجودة في نفس المجموعة ثم إعادة توجيه البيانات المجمعة إلى المحطة الأساسية. في هذا البحث ، نقترح بروتوكول FL-LEACH الذي يستخدم المنطق الضبابي من أجل تحديد عدد CHs التي يجب استخدامها في WSN. FL-LEACH هو نظام استدلال غامض يعتمد على متغيرين: عدد العقد في الشبكة وكثافة العقد. بافتراض الزي الرسمي

توزيع العقد على مجال المستشعر ، تكمن حداثة النهج المقترح في قدرته على تحديد عدد CHs دون الحصول على معلومات أخرى حول الشبكة. تُستخدم محاكاة Matlab لإظهار فعالية بروتوكول FL-LEACH مقارنة بالبروتوكولات الأخرى ، مثل LEACH الخالص والبروتوكول الجيني LEACH-GA. أظهرت نتائج المحاكاة أن FL-LEACH يتفوق على LEACH و LEACH-GA من حيث عمر الشبكة.

ج) ميزان طاقة عام منظم ذاتيًا قائم على الأشجار بروتوكول التوجيه لشبكة الاستشعار اللاسلكية

شبكة المستشعرات اللاسلكية (WSN) عبارة عن نظام يتكون من عدد كبير من أجهزة الاستشعار الدقيقة منخفضة التكلفة. تُستخدم هذه الشبكة لجمع أنواع مختلفة من الرسائل وإرسالها إلى محطة قاعدة (BS). يتكون WSN من عقد منخفضة التكلفة مع طاقة بطارية محدودة ، واستبدال البطارية ليس بالأمر السهل بالنسبة لشبكة WSN التي تحتوي على آلاف العقد المدمجة ماديًا ، مما يعني أنه يجب استخدام بروتوكول توجيه موفر للطاقة لتوفير وقت عمل طويل الأمد. لتحقيق الهدف ، لا نحتاج فقط إلى تقليل إجمالي استهلاك الطاقة ولكن أيضًا إلى موازنة حمل WSN. اقترح الباحثون العديد من البروتوكولات مثل LEACH و HEED و PEGASIS و TBC و PEDAP. في هذه الورقة ، نقترح بروتوكول توجيه توازن الطاقة العام القائم على الشجرة (GSTEB) والذي يقوم ببناء شجرة توجيه باستخدام عملية حيث تقوم BS ، لكل جولة ، بتعيين عقدة جذر وتبث هذا التحديد إلى جميع عقد المستشعر. بعد ذلك ، تختار كل عقدة أصلها من خلال النظر فقط إلى نفسها ومعلومات جيرانها ، مما يجعل GSTEB بروتوكولًا ديناميكيًا. تظهر نتائج المحاكاة أن GSTEB لديها أداء أفضل من البروتوكولات الأخرى في موازنة استهلاك الطاقة ، وبالتالي إطالة عمر WSN.

تحسين نسبة تسليم الحزم بشكل أكثر كفاءة كشف الهجمات ومنعها

 لا توجد ميزات أمان محسنة زيادة تكاليف التوجيه

ثالثا تنفيذ التقنيات

تكوين شبكة

© 2016 ، IRJET | قيمة عامل التأثير: 4.45 | مجلة معتمدة من ISO 9001: 2008

| الصفحة 1531

يتصل فقط داخل نطاق الاتصال. لذلك ، علينا إيجاد نطاق اتصال العقدة. تتكون الشبكة من ن أجهزة الاستشعار ، المنتشرة بشكل عشوائي بشكل موحد في منطقة حرية المعلومات بين العوائق. المستشعرات ثابتة وتعمل بالبطاريات. نحن نفترض أن اتصال القرص الثنائي نموذج يمكن فيه لجهاز الاستشعار ، المشار إليه بواسطة s ، الاتصال بأجهزة استشعار أخرى داخل قرص نصف القطر C المتمركز في s. يمكن لمستشعرين i و j الاتصال ببعضهما البعض مباشرة ويعرفان باسم الجيران إذا كانت المسافة الإقليدية بينهما لا تزيد عن C. عدد CHs المجاورة لـ CH هو يقال أن تكون درجة CH.

مجموعات متجانسة موفرة للطاقة

في هذه الوحدة ، نقترح أولاً تقنية EHC ثم نصف خصائصها. تعمل EHC في الخطوتين التاليتين لتشكيل WSN مجمعة:

انتخاب رئيس الكتلة الأولي: الهدف من هذه الخطوة هو انتخاب أعضاء مجلس النواب بطريقة موزعة. في بداية كل جولة ، حساس أختار رقمًا عشوائيًا في (0 ، 1). إذا كان الرقم العشوائي أقل من P ، فإن المستشعر i هو مرشح CH. مع هذه الآلية ، تقريبًا ك من ن يتم انتخاب أجهزة الاستشعار كمرشحين لـ CH. الرقم العشوائي لا يعتمد على الجولة السابقة. يحدث تنازع الإعلانات عندما يقوم العديد من المرشحين لـ CH بالإعلان في نفس الوقت. لحل الخلاف ، نستخدم تأخيرًا عشوائيًا للتراجع.

تشكيل الشبكة المتصلة: نختار المزيد من CHs للتأكد من أن CHs يمكن أن تشكل شبكة متصلة ، نظرًا لأن ICHs غير متصلة. يتم اختيار مستشعر الرأس غير العنقودي (NCH) باعتباره CH ، يُشار إليه بالبوابة CH (GCH) ، إذا لم يتم توصيل اثنين أو أكثر من ICHs المتجاورة.

يمثل CH إما GCH أو ICH. يتم إعطاء الأفضلية لـ NCHs التي تحتوي على كمية أعلى من الطاقة المتبقية وأقصى عدد من CHs المجاورة.

نحن نقدر تأخير التراجع العشوائي لحل الخلاف الإعلاني لاختيار GCHs.

يصبح المستشعر الذي يحتوي على أعلى قيمة للطاقة المتبقية هو CH. يتم حساب الطاقة المتبقية باستخدام الصيغة الواردة أدناه

RE = Einit - (PTx * NT)

RE الطاقة المتبقية Einit الطاقة الأولية

NT  عدد الإرسال

أثناء إعادة تشكيل المجموعات ، يتم تغيير رئيس الكتلة مع الأعضاء المنتسبين إليها. يوفر التجميع استخدام الموارد ويقلل من استهلاك الطاقة في شبكات WSN عن طريق تقليل عدد عقد الاستشعار التي تشارك في الإرسال لمسافات طويلة. في WSN ، الشاغل الرئيسي هو كفاءة الطاقة من أجل توسيع فائدة الشبكة.

تقنية تحسين المسار

الهدف من تقنية تحسين المسار هو تحقيق مسار من المصدر إلى الحوض ولكننا نريد أيضًا تحقيق الهدف بأقل تكلفة ، بمعنى آخر. يعد أقصر طريق من حيث القفز من بين العقبات. لا تحتوي معظم المؤلفات المتعلقة بالتوجيه في شبكات WSN على أي معاملة خاصة للعقبات الموجودة في FOI. في هذه الوحدة ، نقترح DUAL (نشر خوارزمية التحديث) في شبكات WSN المجمعة التي تعمل على تحسين طول المسار أثناء نقل البيانات دون أي حمل إضافي.

اختيار رؤساء الكتلة

تمامًا مثل ، تم تعيين عتبة رؤوس المجموعات في المعادلة على النحو التالي:

حيث P هي نسبة رؤوس الكتلة بين جميع المستشعرات ، 1 / ​​P هو العدد المتوقع للعقد في مجموعة واحدة ، ارفع مؤشر الجولة الحالية و G هي مجموعة العقد التي لم تكن رؤوسًا للعنقود في آخر rmod ( 1 / P) جولات.

في الخوارزمية المقترحة لدينا ، نعتبر الشبكة غير متجانسة ، حيث توجد نسبة مئوية من العقد المتقدمة التي لها عامل الطاقة الإضافي (α) في حد ذاته مقارنة بالعقد العادية. للتعامل مع هذا النوع من شبكات الاستشعار غير المتجانسة ، تم اقتراح SEP ومناقشته بالتفصيل. مع هذه العقد المتقدمة والعادية ، لا يؤثر هذا النوع من التخطيط غير المتجانس على كثافة الشبكة. ومن ثم ، فإن المجموعة السابقة من Popt ليست بحاجة للتغيير. نفترض أن الطاقة الأولية هي E0. طاقة العقدة المتقدمة في شبكة المستشعرات المقترحة هي E0 • (1+ α). يتم حساب الطاقة الإجمالية للشبكة غير المتجانسة الجديدة:

ن

(1 − م) E0 + N

م

E0 (1 + α) = N

E0

(1 + α م)

ومن ثم تزداد الطاقة الكلية بمقدار (1+ α • م) مرة. يوجد عمليا n • (1+ α • m) العقد ذات الطاقة المساوية للطاقة الأولية للعقدة العادية. استنادًا إلى معادلات الاحتمالات للعقد المتقدمة والعادية ، والتي تمت مناقشتها بالتفصيل ، قمنا بتحسين طريقة الاختيار باستخدام الطاقة المتبقية لبعض عقد الاستشعار. كما هو موضح في المعادلة ، فإن الاحتمال الموزون للعقد العادية هو:

ريسيدوا

© 2016 ، IRJET | قيمة عامل التأثير: 4.45 | مجلة معتمدة من ISO 9001: 2008

| صفحة 1532

تنفيذ الخوارزمية

تشكيل الكتلة

نختار المزيد من CHs للتأكد من أن CHs يمكن أن تشكل شبكة متصلة ، نظرًا لأن ICHs غير متصلة. يتم اختيار مستشعر الرأس غير العنقودي (NCH) باعتباره CH ، يُشار إليه بالبوابة CH (GCH) ، إذا لم يتم توصيل اثنين أو أكثر من ICHs المتجاورة. يتم الإشارة إلى تأخير التراجع العشوائي لـ NCH i بواسطة ،

وبالتالي ، سيتم انتخاب NCH مع الطاقة المتبقية الأعلى وعدد من ICHs المجاورة باعتبارها GCH مع احتمال كبير بين المرشحين GCH المجاورة. إذا أراد NCH أن يقترن بـ CH j ، حيث j لديه الحد الأدنى من درجة CH في ni ، فأنا أرسل رسالة مرتبطة (يُشار إليها بواسطة Casso (j ، i ، ni)) إلى j واستقبل رسالة تأكيد لاحقة (يُشار إليها بواسطة Ccon f (i، j، nj)) من j. تقوم NCH بتحديث معلومات الجار i عندما تتلقى رسالة Ccon f (j ، i ، ni)) من i.

سيصبح المستشعر المعزول CH. لذلك ، فإن كل مستشعر في WSN هو إما CH أو عضو في كتلة. جميع CHs المتصلة هي الخاصية الثانية لشبكات WSN المتصلة. إذا كان المستشعر يحتوي على اثنين أو أكثر من ICHs المتجاورتين غير المتصلين ، فسيصبح المستشعر GCH. في WSN العنقودية المتصلة هو أن كل NCH لديه CH واحد بالضبط. أن كل NCH يسمح بربطه بـ CH واحد فقط.

الإجراء: تشكيل الكتلة

انتاج |: GCH 1 إذا أنا CH من ثم

2 إذا تلقي رسالة Casso (i، j، n j) من NCH j من ثم

3 أرسل رسالة Ccon f (j، i، ni) إلى j

4 إذا تلقي رسالة Cadve (j ، E j ، n j) من GCH j من ثم

5 أضف j في قائمة الجيران ni 6 أرسل رسالة Ccon f (j، i، ni) إلى j

رابعا. تنفيذ النظام

يتم استخدام Network simulator 2 كأداة محاكاة في هذا المشروع. تم اختيار NS كمحاكي جزئيًا بسبب مجموعة الميزات التي يوفرها وجزئيًا لأنه يحتوي على كود مفتوح المصدر يمكن تعديله وتوسيعه.

محاكي الشبكة (NS) هو كائن المنحى ،

محاكاة حدث منفصل لبحوث الشبكات. يوفر NS دعمًا كبيرًا لمحاكاة TCP والتوجيه وبروتوكولات البث المتعدد عبر الشبكات السلكية واللاسلكية. جهاز المحاكاة هو نتيجة لجهود البحث والتطوير المستمر. على الرغم من وجود ثقة كبيرة في NS ، إلا أنه ليس منتجًا مصقولًا حتى الآن ويتم اكتشاف الأخطاء وتصحيحها باستمرار.

NS مكتوب بلغة C ++ ، مع مترجم OTcl1 كواجهة أوامر وتكوين. يتم استخدام جزء C ++ ، وهو سريع التشغيل ولكنه أبطأ في التغيير ، لتنفيذ البروتوكول المفصل. من ناحية أخرى ، يتم استخدام جزء OTcl ، الذي يعمل بشكل أبطأ بكثير ولكن يمكن تغييره بسرعة كبيرة ، لتكوين المحاكاة. تتمثل إحدى مزايا نهج برنامج تقسيم اللغة هذا في أنه يسمح بتوليد سيناريوهات كبيرة بسرعة. لاستخدام جهاز المحاكاة ، يكفي معرفة OTcl. من ناحية أخرى ، فإن أحد العيوب هو أن تعديل المحاكي وتوسيعه يتطلب البرمجة وتصحيح الأخطاء في كلتا اللغتين.

© 2016 ، IRJET | قيمة عامل التأثير: 4.45 | مجلة معتمدة من ISO 9001: 2008

| الصفحة 1533

يقترح توجيه التدرج باستخدام معلومات ثنائية القفزات لشبكات الاستشعار اللاسلكية الصناعية لتحسين الأداء في الوقت الفعلي مع كفاءة استخدام الطاقة. تم اعتماد توجيه معلومات القفزة من التوجيه المستند إلى السرعة ثنائية القفزات ، وتستند خوارزمية التوجيه المقترحة إلى عدد القفزات إلى الحوض بدلاً من المسافة. بالإضافة إلى ذلك ، يقلل نظام التحكم بالاستلام من استهلاك الطاقة والتعقيد الحسابي. تظهر نتائج المحاكاة انخفاضًا في التأخير الشامل وتحسين كفاءة الطاقة.

يشير عدد القفزات إلى عدد الأجهزة الوسيطة التي يجب أن تمر البيانات من خلالها بين المصدر والوجهة. في كل مرة يتم فيها تمرير الحزم إلى الجهاز التالي ، تحدث قفزة. لذلك ، يعد عدد القفزات مقياسًا أساسيًا للمسافة في الشبكة.

© 2016 ، IRJET | قيمة عامل التأثير: 4.45 | مجلة معتمدة من ISO 9001: 2008

| الصفحة 1534

بدون تقنية تحسين المسار يتطلب عددًا أكبر من متوسط ​​عدد القفزات لتوجيه الحزم.

C. نسبة تسليم العبوات

نسبة تسليم الحزم للتدفق هي نسبة عدد الحزم التي يتلقاها الحوض عبر الحزم المرسلة إلى الشبكة من قبل المصدر.

التأخير هو قياس الوقت الذي تستغرقه الحزمة للوصول إلى وجهتها بعد الوقت الموصوف. يمكن لمستشعرين i و j الاتصال ببعضهما البعض مباشرة ويعرفان بالجيران إذا كانت المسافة الإقليدية بينهما لا تزيد عن C. ويقال إن عدد CHs المجاورة لـ CH هو درجة CH.

في EHC ، تظل CHs فقط نشطة لتوفير التوجيه وبالتالي إطالة عمر شبكات WSN. يجب تقليل استهلاك الطاقة نظرًا لأنه يحدد عمر الشبكة.

© 2016 ، IRJET | قيمة عامل التأثير: 4.45 | مجلة معتمدة من ISO 9001: 2008

| الصفحة 1535

من مسار التوجيه ، ومن ثم يزداد عمر الشبكات اللاسلكية WSN. أظهرت النتائج أنه ينبغي مراعاة هندسة وموقع العقبات لحساب مسار توجيه محسن.

في المستقبل ، لتقليل استهلاك الطاقة لاكتشاف الطريق ، يمكننا اقتراح طريقة جديدة لاكتشاف المسار. في هذه الطريقة ، تحسب العقدة المصدر دائرة حول موقع عقدة الوجهة التي تعطي قائمة بالعقد المجاورة للوجهة. تحدد عقدة المصدر منطقة إعادة التوجيه الخاصة بها (مخروط) لتكون المنطقة المحاطة بزاوية يكون رأسها في موقع عقدة المصدر وتكون جوانبها مماسة للدائرة المحسوبة للوجهة. ترسل عقدة المصدر حزمة RREQ للوجهة إلى جميع جيرانها في منطقة إعادة التوجيه. يقوم كل من هؤلاء الجيران بإعادة توجيه حزم RREQ وفقًا لذلك. عندما تتلقى الوجهة حزم RREQ ، فإنها سترسل حزم RREP مرة أخرى إلى العقدة المصدر. إذا لم تستقبل العقدة المصدر RREP خلال فترة زمنية بسبب أي عقبة في منطقة إعادة التوجيه ، فإن عقدة المصدر تلجأ إلى إجراء الاسترداد.

1. J.H Lee و T. Kwon و J. Song ، "نموذج اتصال المجموعة لشبكات الاستشعار اللاسلكية الصناعية ،" IEEE Trans. إند. إلكترون. ، المجلد. 57 ، لا. 5 ، ص 1835– 1844 ، مايو 2010.

2. J.-S. لي و دبليو- ل. Cheng ، "نهج التجميع القائم على المنطق الضبابي لشبكات الاستشعار اللاسلكية باستخدام التنبؤ بالطاقة ،" IEEE Sensors J. ، المجلد. 12 ، لا. 9 ، ص 2891 - 2897 ، سبتمبر 2012.

3. Z. Ha ، J. Wu ، J. Zhang ، L. Liu ، and K. Tian ، "بروتوكول توجيه توازن الطاقة العام القائم على الأشجار ذات التنظيم الذاتي لشبكة المستشعرات اللاسلكية ،" IEEE Trans. نوكل. علوم ، المجلد. 61 ، لا. 2 ، الصفحات من 732 إلى 740 ، أبريل 2014. 4. D.C Hoang و P. Yadav و R. Kumar و S. Panda ،

"التنفيذ في الوقت الفعلي لبروتوكول تجميع قائم على خوارزمية بحث متناسق لشبكات أجهزة الاستشعار اللاسلكية الموفرة للطاقة ،" IEEE Trans. Ind. Informat.، vol. 10 ، لا. 1 ، ص 774-783 ، فبراير. 2014.

5. M. Tarhani ، و Y. S. Kavian ، و S. Siavoshi ، "SEECH: Scalable energy clustering Protocol in Scalable energy clustering protocol in wireless sensor network،" IEEE مجسات J. ، المجلد. 14 ، لا. 11 ، ص 3944–3954 ، نوفمبر. 2014.

6. P. T. A. Quang and D.-S. كيم ، "تحسين التسليم في الوقت الفعلي للتوجيه المتدرج لشبكات أجهزة الاستشعار اللاسلكية الصناعية ،" IEEE Trans. Ind. Informat.، vol. 8 ، لا. 1 ، ص 61-68 ، فبراير 2012.

7. J. Niu و L. Cheng و Y. Gu و L. Shu و S. K. Das ، "R3E: تحسين موثوق للتوجيه التفاعلي لـ

شبكات الاستشعار اللاسلكية،" IEEE Trans. إنديانا المعلومات ، المجلد. 10 ، لا. 1 ، ص 784-794 ، فبراير 2014.


خوارزمية ديكسترا

تم تسمية خوارزمية Dijkstra ، التي نُشرت في عام 1959 ، على اسم مكتشفها Edsger Dijkstra ، الذي كان عالم كمبيوتر هولنديًا. تهدف هذه الخوارزمية إلى إيجاد أقصر مسار في رسم بياني موجه أو غير موجه بأوزان حواف غير سلبية.

قبل ذلك ، ننظر في تفاصيل هذه الخوارزمية ، دعنا نلقي نظرة عامة سريعة على ما يلي:

  • رسم بياني: الرسم البياني هو بنية بيانات غير خطية مُعرَّفة على أنها G = (V ، E) حيث V عبارة عن مجموعة محدودة من الرؤوس و E هي مجموعة محدودة من الحواف ، بحيث تكون كل حافة عبارة عن خط أو قوس يربط بين أي رأسين.
  • رسم بياني مرجح: هو نوع خاص من الرسم البياني يتم فيه تعيين قيمة عددية لكل حافة تسمى الوزن
  • رسم بياني متصل: يوجد مسار بين كل زوج من الرؤوس في هذا النوع من الرسم البياني
  • تمتد شجرة بالنسبة إلى الرسم البياني G هو رسم بياني فرعي "G" بما في ذلك جميع رؤوس G المتصلة بأقل عدد من الحواف. وبالتالي ، بالنسبة للرسم البياني G الذي يحتوي على رؤوس n ، فإن الشجرة الممتدة G 'سيكون لها رؤوس n وحد أقصى n-1 من الحواف.

عرض المشكلة

بالنظر إلى الرسم البياني الموزون G ، فإن الهدف هو العثور على أقصر مسار من رأس مصدر معين إلى جميع الرؤوس الأخرى لـ G.

  • مجموعة من القمم V
  • مجموعة من الحواف الموزونة E بحيث (q ، r) تشير إلى حافة ما بين الرؤوس تشير q و r والتكلفة (q ، r) إلى وزنها

خوارزمية ديكسترا:

  • هذه خوارزمية ذات مصدر واحد هي أقصر مسار وتهدف إلى إيجاد حل لبيان المشكلة المحدد
  • تعمل هذه الخوارزمية لكل من الرسوم البيانية الموجهة وغير الموجهة
  • إنه يعمل فقط للرسوم البيانية المتصلة
  • يجب ألا يحتوي الرسم البياني على أوزان سالبة للحواف
  • تتبع الخوارزمية في الغالب نهج الجشع لإيجاد الحل الأمثل محليًا. ولكنه يستخدم أيضًا نهج البرمجة الديناميكية لبناء الحل الأمثل عالميًا ، حيث يتم تخزين الحلول السابقة وإضافتها للحصول على مسافات نهائية من قمة المصدر
  • يعتمد المنطق الرئيسي لهذه الخوارزمية على الصيغة التالية-
    dist [r] = min (dist [r]، dist [q] + cost [q] [r])

تنص هذه الصيغة على أنه سيتم تحديث رأس المسافة r ، المجاور للرأس q ، إذا وفقط إذا كانت قيمة dist [q] + cost [q] [r] أقل من dist [r]. هنا-

  • dist عبارة عن مصفوفة 1-D والتي ، في كل خطوة ، تتعقب أقصر مسافة من رأس المصدر إلى جميع القمم الأخرى ، و
  • التكلفة عبارة عن مصفوفة ثنائية الأبعاد ، تمثل مصفوفة التكلفة المجاورة للرسم البياني
  • تستخدم هذه الصيغة كلا النهجين الجشع والديناميكي. يستخدم النهج الجشع لإيجاد الحد الأدنى لقيمة المسافة ، بينما يستخدم النهج الديناميكي للجمع بين الحلول السابقة (dist [q] محسوب بالفعل ويستخدم للحساب Dist [r])

خوارزمية-

  • مصفوفة تجاور التكلفة للرسم البياني G ، على سبيل المثال التكلفة
  • رأس المصدر ، على سبيل المثال s
  • الشجرة الممتدة لها أقصر مسار من s إلى جميع القمم الأخرى في G

فيما يلي الخطوات المستخدمة لإيجاد الحل-

الخطوة 1 عيّن dist [s] = 0 ، S = ϕ // s هي قمة المصدر و S هي مصفوفة 1-D بها جميع القمم التي تمت زيارتها

الخطوة 2: لجميع العقد v باستثناء s ، اضبط dist [v] = ∞

الخطوه 3: اعثر على q ليس في S بحيث يكون dist [q] هو الحد الأدنى // لا ينبغي زيارة vertex q

الخطوة 4: add q to S // add vertex q إلى S حيث تمت زيارته الآن

الخطوة الخامسة: تحديث dist [r] لجميع r المجاورة لـ q بحيث لا تكون r في S // vertex r لا يجب زيارتها dist [r] = min (dist [r]، dist [q] + cost [q] [r ]) // النهج الجشع والديناميكي

الخطوة 6: كرر الخطوات من 3 إلى 5 حتى تصبح جميع العقد في S / كرر حتى تتم زيارة جميع القمم

الخطوة 7: صفيف طباعة يحتوي على أقصر مسار من قمة المصدر u إلى جميع الرؤوس الأخرى

دعونا نحاول فهم طريقة عمل هذه الخوارزمية باستخدام المثال التالي-

الشكل 1: الرسم البياني للإدخال (الموزون والمتصل)

بالنظر إلى الرسم البياني الموزون والمتصل وقمة المصدر أعلاه ، يتم استخدام الخطوات التالية للعثور على الشجرة التي تمثل أقصر مسار بين s وجميع الرؤوس الأخرى-

الخطوة 1- قم بتعيين dist [s] = 0 ، S = ϕ // u هي قمة المصدر و S عبارة عن صفيف 1-D يحتوي على جميع القمم التي تمت زيارتها

الخطوة 2- لجميع العقد v باستثناء s ، اضبط dist [v] = ∞

مجموعة من القمم التي تمت زيارتها (S) س أ ب ج د
0

الشكل 2: رسم بياني بعد تهيئة التوزيع []

الخطوة ب- أ) اختر قمة المصدر حيث أن dist [s] هي الحد الأدنى و s ليست في S.

الخطوه 3- ابحث عن q ليس في S بحيث يكون dist [q] هو الحد الأدنى // لا يجب زيارة الرأس

قم بزيارة s بإضافته إلى S.

الخطوة 4- أضف q إلى S // أضف vertex q إلى S حيث تمت زيارته الآن

الخطوة ج) بالنسبة لجميع الرؤوس المجاورة لـ s التي لم تتم زيارتها بعد (ليست في S) ، أي A و C ، قم بتحديث مصفوفة المسافة باستخدام خطوات الخوارزمية التالية -

الخطوة الخامسة- تحديث dist [r] لجميع r المجاورة لـ q بحيث لا تكون r في S // vertex r لا يجب زيارتها dist [r] = min (dist [r]، dist [q] + cost [q] [r ]) // النهج الجشع والديناميكي

dist [A] = min (dist [A]، dist [s] + cost (s، A)) = min (∞، 0 + 9) = 9
dist [C] = min (dist [C]، dist [s] + cost (s، C)) = min (∞، 0 + 5) = 5

وبالتالي يتم تحديث dist [] على النحو التالي-

مجموعة من القمم التي تمت زيارتها (S) س أ ب ج د
[س] 0 9 5

  1. اختيار وزيارة قمة الرأس C حيث لم تتم زيارتها (ليس في S) والتقسيم [C] هو الحد الأدنى
  2. تحديث مصفوفة المسافة للرؤوس المجاورة لـ C أي A و B و D

الخطوة 6- كرر الخطوات من 3 إلى 5 حتى تصبح جميع العقد في S.

dist [A] = min (dist [A]، dist [C] + cost (C، A)) = min (9، 5 + 2) = 7

dist [B] = min (dist [B] ، dist [C] + cost (C، B)) = min (∞، 5 + 9) = 14

dist [D] = min (dist [D] ، dist [C] + cost (C، D)) = min ((، 5 + 4) = 9

هذه التحديثات dist [] على النحو التالي-

مجموعة من القمم التي تمت زيارتها (S) س أ ب ج د
[س] 0 9 5
[ق ، ج] 0 7 14 5 9

بالاستمرار في خطوط مماثلة ، تتكرر الخطوة B حتى تتم زيارة جميع القمم (تضاف إلى S). يتم أيضًا تحديث dist [] في كل تكرار ، مما يؤدي إلى ما يلي -

مجموعة من القمم التي تمت زيارتها (S) س أ ب ج د
[س] 0 9 5
[ق ، ج] 0 7 14 5 9
[ق ، ج ، أ] 0 7 8 5 9
[قشرة الجرح] 0 7 8 5 9
[ق ، ج ، أ ، ب ، د] 0 7 8 5 9

يعطي التحديث الأخير لـ dist [] أقصر قيم للمسار من s إلى جميع الرؤوس الأخرى

أقصر مسار ناتج يمتد على الشجرة للرسم البياني المحدد هو كما يلي:

الشكل 3: أقصر مسار يمتد على الشجرة

  • يمكن أن يكون هناك أقصر مسار يمتد على الأشجار لنفس الرسم البياني اعتمادًا على قمة المصدر

فيما يلي تطبيق C ++ لخوارزمية Dijkstra

ملحوظة :
يمكن تعيين الخوارزمية لأي لغة برمجة حسب المتطلبات.

يتم تنفيذ البرنامج باستخدام نفس الرسم البياني للإدخال كما في الشكل 1 ، وهذا سيساعد في التحقق من مجموعة الحلول الناتجة مع الإخراج الفعلي.

الشكل 4: الإخراج

تحليل تعقيد الوقت

فيما يلي حالات حساب التعقيد الزمني لخوارزمية Dijkstra-

  • حالة 1- عندما يتم تمثيل الرسم البياني G باستخدام مصفوفة مجاورة - يتم تنفيذ هذا السيناريو في ما سبق C ++ برنامج قائم. نظرًا لأن التنفيذ يحتوي على حلقتين متداخلتين for ، فإن كل منهما من التعقيد على)، مدى تعقيد خوارزمية Dijkstra هو على 2). يرجى ملاحظة أن n هنا يشير إلى العدد الإجمالي للرؤوس في الرسم البياني المعطى
  • الحالة 2- عند تمثيل الرسم البياني G باستخدام قائمة مجاورة - يقل التعقيد الزمني في هذا السيناريو إلى O (| E | + | V | تسجيل | V |) حيث يمثل | E | عدد الحواف و | V | يمثل عدد الرؤوس في الرسم البياني

عيوب خوارزمية ديكسترا-

لا يمكن لخوارزمية Dijkstra الحصول على أقصر مسار (مسارات) صحيح مع رسوم بيانية مرجحة ذات حواف سالبة. دعنا نفكر في المثال التالي لشرح هذا السيناريو-

الشكل 5: رسم بياني مرجح ذو حواف سالبة

عند اختيار رأس المصدر كـ A ، تعمل الخوارزمية على النحو التالي:

الخطوة أ- تهيئة نظام المسافة (dist) -

مجموعة من القمم التي تمت زيارتها (S) أ ب ج د
0

الخطوة ب- اختر قمة A لأن المسافة [A] هي الحد الأدنى و A ليست في S. قم بزيارة A وأضفها إلى S. لجميع الرؤوس المجاورة لـ A التي لم تتم زيارتها بعد (ليست في S) ، أي C و B و D ، قم بتحديث مجموعة المسافة

dist [C] = min (dist [C]، dist [A] + cost (A، C)) = min (∞، 0 + 0) = 0

dist [B] = min (dist [B]، dist [A] + cost (A، B)) = min (∞، 0 + 1) = 1

dist [D] = min (dist [D]، dist [A] + cost (A، D)) = min (∞، 0 + 99) = 99

وبالتالي يتم تحديث dist [] على النحو التالي-

مجموعة من القمم التي تمت زيارتها (S) أ ب ج د
[أ] 0 1 0 99

الخطوة ج- كرر الخطوة ب

  1. اختيار وزيارة قمة الرأس C حيث لم تتم زيارتها (ليس في S) والتقسيم [C] هو الحد الأدنى
  2. لا يتم تحديث مصفوفة المسافة نظرًا لعدم وجود رؤوس متجاورة لـ C

بالاستمرار في الخطوط المتشابهة ، تتكرر الخطوة B حتى تتم زيارة جميع القمم (تضاف إلى S). يتم أيضًا تحديث dist [] في كل تكرار ، مما يؤدي إلى ما يلي -

مجموعة من القمم التي تمت زيارتها (S) أ ب ج د
[أ] 0 1 0 99
[أ ، ج] 0 1 0 99
[أ ، ج ، ب] 0 1 0 99
[أ ، ج ، ب ، د] 0 1 0 99

وبالتالي ، فيما يلي أقصر المسافات من A إلى B و C و D-

لكن هذه القيم غير صحيحة ، حيث يمكن أن يكون لدينا مسار آخر من أ ل ج ، أ-> د-> ب-> ج نأخذ التكلفة الإجمالية = -200 وهو أصغر من 0. يحدث هذا لأنه بمجرد زيارة الرأس وإضافته إلى المجموعة S ، لا يتم "الرجوع إليه" مرة أخرى. وبالتالي ، لا تحاول خوارزمية Dijkstra العثور على مسار أقصر للرؤوس التي تمت إضافتها بالفعل إلى S.


موصى به: يرجى تجربة نهجك على أولاً ، قبل الانتقال إلى الحل.

هذه المقالة ساهمت بها سهل شبرا. إذا كنت تحب GeeksforGeeks وترغب في المساهمة ، فيمكنك أيضًا كتابة مقال باستخدام Contrib.geeksforgeeks.org أو إرسال مقالتك بالبريد إلى [email protected] شاهد مقالتك تظهر على صفحة GeeksforGeeks الرئيسية وساعد المهوسين الآخرين.

يرجى كتابة التعليقات إذا وجدت أي شيء غير صحيح ، أو إذا كنت ترغب في مشاركة المزيد من المعلومات حول الموضوع الذي تمت مناقشته أعلاه.

القارئ الانتباه! لا تتوقف عن التعلم الآن. احصل على جميع مفاهيم DSA المهمة باستخدام دورة DSA الذاتية بسعر مناسب للطلاب وأصبح جاهزًا للصناعة. لإكمال استعدادك من تعلم لغة إلى DS Algo وغيرها الكثير ، يرجى الرجوع دورة كاملة في التحضير للمقابلة.

في حال كنت ترغب في حضور دروس مباشرة مع خبراء الصناعة ، يرجى الرجوع فصول DSA الحية


شاهد الفيديو: طريقة الدخول إلى منظومة مسار (شهر اكتوبر 2021).