یکی از موضوعات مطرح در طراحی الگوریتمها بحث شبکههای حسگر میباشد. این شبکهها متشکل از مجموعهای از واحدهای متحرک و مستقل از هم با توان مصرفی و پردازشی محدود است که از طریق فرستندههای رادیویی با یکدیگر در ارتباطند و اقدام به جمعآوری اطلاعات مینمایند. مسالهی مسیریابی در این شبکهها به گونهای که حداقل انرژی مصرف شود، از دسته مسائل غیر چند جملهای سخت میباشد که ارائه راه حلهای تقریبی مناسب موضوع برخی از تحقیقات در این زمینه است. در بیشتر مدلهای ارائه شده فرض بر ثابت بودن حسگرها است؛ در این مقاله سعی میشود الگوریتمی برای مسیریابی در شبکهی حسگرهای متحرک ارائه شود. با توجه به ماهیت جنبشی این شبکهها ، استفاده از داده ساختارهایی که بتواند ساختار زیر درخت فراگیر را به صورت بهینه نگاهداری نمایند بسیار سودمند است. در این تحقیق از داده ساختار جنبشی برای نگاهداری زیر درخت فراگیر استفاده شده است. در این مقاله این روش ارایه و بررسی میشود و نشان میدهیم که باعث کاهش پیچیدگی محاسباتی مسیریابی در این شبکهها میشود.
با ظهور ارتباطات بی¬سیم بین عناصر مختلف و به دنبال آن مسئله شبکه¬های بی سیم و متحرک، توجه بسیاری از اندیشمندان رشته علوم کامپیوتر به مسائل موجود در این شبکه از قبیل مسیریابی معطوف شد. اما این شبکه¬ها پاسخگوی تمام نیازها در زمینه ارتباطات بی سیم نبودند. به همین منظور مدل شبکه¬های ویژه ارائه شد که در آنها ارتباطات از طریق فرستنده¬ها و گیرنده¬های رادیویی با فاصله ارتباطی محدود انجام می-گرفت و در ضمن ساختار یکپارچه مرکزی برای مسیریابی و مدیریت ندارند. در قدم بعدی محدودیت توان مصرفی و عملیاتی نیز به مدل فوق افزوده شد و مدل شبکه حسگر معرفی شد.
شبکه های حسگر کاربرد بسیار وسیعی دارند. مثلا حسگرهای تشخیص آتش سوزی در یک جنگل و یا شهر همچنین حسگرهای تشخیص تشعشعات هسته¬ای در یک رآکتور هسته¬ای، نمونه¬هایی از این کاربردها هستند.
ویژگی¬های شبکه¬های حسگر را می¬توان به اجمال به این موارد تقسیم نمود: 1. انرژی محدود عناصر .2. پهنای باند محدود .3. شبکه بدون ساختار و متغیر با زمان .4. کیفیت پایین ارتباطات .5. قدرت محاسبات محدود در عناصر.
از جمله مسائل مطرح در زمینه شبکه¬های حسگر، بحث مسیریابی در این شبکه¬ها است. الگوریتم¬های متفاوتی برای این مسئله ارائه شده است. الگوریتم¬های ارائه شده را می¬توان به دو دسته همگن و ناهمگن تقسیم نمود. الگوریتم¬¬های همگن فرض را بر یکسان بودن عناصر شبکه (از نظر برد فرستنده) می¬گذارند. الگوریتم¬های ناهمگن از انعطاف¬پذیری بیشتری برخوردار هستند. الگوریتم¬های ناهمگن با توجه به اطلاعاتی استفاده می¬کنند به سه دسته تقسیم می¬شوند. 1- بر مبنای محل : در آنها محل دقیق عناصر مشخص می-باشد. 2- بر مبنای جهت : در آنها فرض می¬شود که هر کس جهت نسبی همسایگانش را نسبت به خود می-داند. 3- بر مبنای همسایه : در آنها فرض می¬شود که شناسه همسایه¬ها در اختیار است.
الگوریتم¬های ارائه شده را از یک منظر دیگر می¬توان به دو دسته متمرکز و نامتمرکز نیز تقسیم نمود. در الگوریتم¬های متمرکز، یک ناظر خارجی در سیستم وجود دارد که مسئولیت مسیریابی را به عهده دارد. البته فرض وجود چنین ناظری اولا با ماهیت شبکه¬های حسگر سازگار نیست در ضمن قابلیت مقیاس¬پذیری ندارد.
از جمله روش¬های رایج در زمینه مسیریابی استفاده از درخت فراگیر کمینه است. اما به دو دلیل که در ادامه خواهیم دید، استفاده از آنها در این شبکه¬ها محبوبیت پیدا نکرده است. اولا پیدا کردن کوچکترین درخت فراگیر یک الگوریتم ماهیتا متمرکز است و دوما به علت آنکه هزینه ساخت آن بالاست و در این شبکه¬ها - به علت متحرک بودن عناصر - نیاز است که مرتبا این درخت ساخته شود.
در این مقاله یک الگوریتم برای مسیریابی در شبکه¬های حسگر بر مبنای کوچکترین درخت فراگیر ارائه می-شود ولی سعی شده که مشکلات ذکر شده در بالا در آن پاسخ داده شود. برای این منظور اولا از کوچکترین درخت فراگیر محلی استفاده شده است که نیاز ناظر را از بین می¬برد و همچنین از یک ساختار جنبشی برای نگهداری آن استفاده می¬شود که مشکل هزینه تغییرات را از بین می¬برد.
در زمینه مسیریابی در شبکه¬های حسگر کارهای گوناگونی انجام شده است ولی در تمام آنها فرض بر ثابت بودن ساختار شبکه در طول حیات شبکه است. همچنین داده ساختارهای گوناگونی برای نگاهداری اجزای شبکه مطرح شده است ولی اکثر آنها هزینه به روز رسانی بالایی دارند و همچنین برای مسئله مسیریابی مناسب نیستند. لذا در این مقاله تلاش شد تا فرض¬های مطرح شده بسیار به محیط واقعی شبیه باشند که تا زمان نوشتن این مقاله کاری با این درجه شباهت با محیط واقعی پیدا نکردیم. نتیجه حاصل نیز هزینه نگاهداری و به روز رسانی کمینه¬ای دارد که برای حسگر های با انرژی محدود مناسب است.
در بخش¬های بعدی ابتدا یک الگوریتم برای کوچکترین درخت فراگیر محلی ارائه می¬شود. سپس یک روش جنبشی برای نگهداری کوچکترین درخت فراگیر ارائه می¬شود. در ادامه الگوریتم اصلی که ترکیبی از این دو روش است معرفی می¬شود و بعضی خواص آن اثبات می¬شود . در انتها پیچیدگی الگوریتم و نتیجه¬گیری آورده شده ¬است.
1- کوچکترین درخت فراگیر محلی
در این قسمت روشی برای ساخت کوچکترین زیر درخت فراگیر به صورت محلی ارائه می¬شود. ایده اصلی از روش ارائه شده توسط لی و همکارانش [1] گرفته شده است.
الگوریتم ساخت این درخت در دو فاز انجام می¬شود. در مرحله اول اطلاعات بین عناصر شبکه تبادل می-شود و در مرحله دوم هر عنصر به صورت مجزا کوچکترین زیر درخت فراگیر را برای خود می¬سازد. در ادامه هر یک از دو فاز را به تفضیل شرح می¬دهیم.