پروژه مطالعه الگوریتم های خوشه بندی شبکه های حسگر بی سیم

پروژه مطالعه الگوریتم های خوشه بندی شبکه های حسگر بی سیم

پروژه مطالعه الگوریتم های خوشه بندی شبکه های حسگر بی سیم  پژوهش کامل در حوزه کامپیوتر و IT میباشد و در 4 فصل تنظیم شده است.این پروژه با معرفی شبکه های حسگر بی سیم به بررسی آنها پرداخته است.شما میتوانید فهرست مطالب پروژه را در ادامه مشاهده نمایید.

پروژه بصورت فایل قابل ویرایش ورد(WORD) در 75 صفحه برای رشته کامپیوتر و IT در پایین همین صفحه قابل دانلود میباشد. شایسته یادآوری است که پروژه از ابتدا تا پایان ویرایش وتنظیم , سکشن بندی (section) ، نوشتن پاورقی (Footnote) و فهرست گذاری اتوماتیک کامل شده وآماده تحویل یا کپی برداری از مطالب مفید آن است.

 

چکیده

پیشرفت‌های اخیر در زمینه الکترونیک و مخابرات بی‌سیم توانایی طراحی و ساخت حسگرهایی را با توان مصرفی پایین، اندازه کوچک، قیمت مناسب و کاربری‌های گوناگون داده است. این حسگرهای کوچک که توانایی انجام اعمالی چون دریافت اطلاعات مختلف محیطی بر اساس نوع حسگر، پردازش و ارسال ان، نظارت و مانیتورینگ و غیره را دارند، موجب پیدایش ایده‌ای برای ایجاد و گسترش شبکه‌های موسوم به شبکه‌های حسگر بی‌سیم شده‌اند. یک شبکه حسگر متشکل از تعداد زیادی گره‌های حسگر است که در یک محیط به طور گسترده پخش شده و به جمع‌اوری اطلاعات از محیط می‌پردازند. مکان قرار گرفتن گره‌های حسگر، لزوماً از ‌قبل ‌تعیین‌شده و مشخص نیست. چنین خصوصیتی این امکان را فراهم می‌اورد که بتوانیم انها را در مکان‌های خطرناک و یا غیرقابل دسترس رها کنیم. خصوصیت‌ دیگر منحصر به فرد شبکه‌های حسگر، توانایی همکاری و هماهنگی بین گره‌های حسگر است. هر گره حسگر روی برد خود دارای یک پردازشگر است و در صورت استفاده از الگوریتم‌های مرتبط، به جای فرستادن تمامی اطلاعات خام به مرکز، ابتدا خود پردازش‌های اولیه و ساده را روی انها انجام ‌داده و سپس داده‌های نیمه پردازش شده را ارسال می‌کند. با اینکه هر حسگر به تنهایی توانایی ناچیزی دارد، ترکیب صدها حسگر کوچک امکانات جدیدی را عرضه می‌کند. ‌در واقع قدرت شبکه‌های حسگر بی‌سیم در توانایی به‌کارگیری تعداد زیادی گره کوچک است که خود قادر به سازماندهی هستند و در موارد متعددی چون مسیریابی هم‌زمان، نظارت بر شرایط محیطی، نظارت بر سلامت ساختارها یا تجهیزات یک سیستم به کار گرفته شوند. بدلیل وجود تعداد بسیار زیادی حسگر در شبکه و عدم امکان دسترسی به انها، تعویض و شارژ باتری انها عملی نیست و مصرف بهینه انرژی در این شبکه‌ها از اهمیت بالایی برخوردار است به همین سبب، در طراحی این شبکه‌ها مسئله اساسی، محدود بودن منبع انرژی حسگرهاست و ارائه روشهایی جهت مصرف بهینه انرژی که در نهایت باعث افزایش عمر شبکه شود به شدت مورد نیاز است. پژوهش های قبلی نشان داده است که با خوشه‌بندی گره‌های شبکه، می‌توان به کارایی بهتری از انرژی رسید، که به افزایش عمر شبکه منتهی می شود. خوشه ها هر یک شامل یک گره اصلی به نام سرخوشه و تعدادی گره فرعی به نام عضو می باشند. ایجاد کنترل روی تعداد و مکان سرخوشه ها و همچنین اندازه سرخوشه ها در هر دوره از فعالیت شبکه، مسئله را پیچیده‌تر می کند. معیار سنجش بر اساس حداقل انرژی مصرف شده گره‌های شبکه در طی هر دوره عملیات ارسال داده به ایستگاه اصلی خواهد بود که منجر به ایجاد تعادل در مصرف انرژی سرخوشه ها و در نتیجه طولانی‌تر شدن عمر شبکه می شود. مقایسه تعداد گره‌های زنده، انرژی مصرفی شبکه در این پایان نامه نشان می دهد که الگوریتم پیشنهادی از این نظر کارا است.

واژه های کلیدی: شبکه‌های حسگر بی‌سیم، خوشه‌بندی، سرخوشه، تعادل انرژی، عمرشبکه ، طراحی الگوریتم ، شبکه

فهرست مطالب

فصل اول  مقدمه

1-1 مقدمه. 2

1-2 تاریخچه. 2

1-3 انگیزه و تعریف مساله. 3

فصل دوم  شبکه‌های حسگر بی‌سیم

2-1 مقدمه. 6

2-2 کاربرد شبکه‌های حسگر بی‌سیم.. 6

2-3 ساختار گره حسگر بی‌سیم.. 7

2-4 ساختار شبکه‌های حسگر بی‌سیم.. 8

2-5 چالش‌های پیش رو در شبکه‌های حسگر بی‌سیم.. 9

2-6 روشها و عوامل موثر در کاهش مصرف انرژی.. 10

2-6-1انواع روشهای کاهش مصرف انرژی.. 10

2-7 موضوعات موثر در عملکرد شبکه‌های حسگر بی‌سیم.. 11

2-7-1پویایی شبکه. 11

2-7-2توسعه گره. 12

2-7-3 ملاحظات انرژی.. 12

2-7-4مدلهای تحویل داده. 12

2-7-5توانمندی های گره. 12

2-7-6تجمیع / ترکیب داده. 13

2-7-7 ناهمگن بودن گره / لینک... 13

2-7-8تحمل پذیری خطا13

2-7-9درجه اتصال.. 13

2-7-10پوشش.... 14

2-7-10-1 تقسیم بندی اول.. 14

2-7-10-1-1تقسیم بندی دوم. 15

2-7-11کیفیت سرویس.... 17

2-7-12هزینه تولید. 17

2-7-13محدودیتهای سخت افزاری.. 17

2-8 پروتکل های ارتباطی در شبکه‌های حسگر بی سیم.. 17

2-9مسیریابی.. 19

فصل سوم  مروری بر کارهای مرتبط و پیشرفت‌های اخیر

3-1مقدمه. 25

3-2شبکه‌های مسطح.. 25

3-2-2کنترل تعداد همسایگان.. 26

3-2-3چند پروتکل معروف در شبکه‌های مسطح.. 27

3-2-3-1گراف همسایگی نسبی.. 27

3-2-3-2 گراف گابریل.. 27

3-2-3-3ﻣﺜﻠﺚ ﺑﻨﺪﯼ ﺩﻻﻧﯽ.. 28

3-2-3-4کوچکترین درخت فراگیر محلی 29

3-2-3-5الگوریتم ناحیه رله و دربرگیری.. 30

3-2-4الگوریتم کنترل توپولوژی مبتنی بر مخروط 31

3-2-4-1-1 پروتکل KNEIGH.. 32

3-3شبکه‌های سلسله مراتبی با مجموعه‌های غالب... 32

3-3-1چند الگوریتم از مدلهای ارائه شده در الگوریتم‌های متمرکز. 33

3-3-1-1-1 ساخت مجموعه غالب با استفاده از درخت پوشا33

3-3-1-2 متصل کردن مولفه‌های جدا - یافتن مجموعه غالب غیر متصل.. 35

3-3-1-3 اطمینان از متصل شدن با استفاده از درخت اشتاینر. 36

3-3-1-4متصل کردن یک مجموعه غالب... 36

3-3-1-5دو ابتکار کوچک سازی مجموعه‌های غالب... 37

3-3-1-6ابتکار حذف شاخ وبرگ اضافی مبتنی بر موقعیت و درجه. 38

3-3-1-7 Span. 38

3-3-1-3خود سازماندهی سلسله مراتبی مبتنی بر نقش.... 39

3-4 شبکه‌های سلسله مراتبی خوشه‌ای.. 39

3-4-1 قانون کلی در ایجاد خوشه‌های مستقل.. 44

3-4-2ملاحظات عملکردی در مورد خوشه‌بندی.. 46

3-4-3وصل کردن خوشه‌ها به یکدیگر. 46

3-4-4چند پروتکل معروف در شبکه‌های سلسله مراتبی خوشه‌ایی.. 47

3-4-5پروتکل LEACH.. 47

3-4-5-1الگوریتم پدیدار شونده در تشکیل خوشه. 50

3-4-6خوشه‌های چند گامی.. 51

3-4-7تثبیت اندازه خوشه‌ها با بودجه رشد. 51

3-4-8لایه‌های مختلف خوشه‌بندی.. 52

3-4-9خوشه‌بندی غیر فعال.. 53

3-4-10سایر موارد مربوط به خوشه‌بندی.. 55

3-5روشها های برید(ترکیب توپولوژی سلسله مراتبی و کنترل توان)55

3-5-1 کنترل توان مبتنی بر Pilot55

3-5-2پروتکل کلاسترپا55

3-5-3روشهای دیگر صرفه جویی مصرف انرژی.. 56

3-5-3-1 GAF. 56

3-5-3-2 ASCENT. 57

فصل چهارم  نتیجه گیری

منابع.. 62

فهرست شکل ها

شکل 1 شبکه های حسگر. 2

شکل 2کاربرد شبکه های حسگری بیسیم.. 6

شکل 3ساختار سیستمی از یک حسگر گره‌ بی‌سیم.. 7

شکل 4 RNG.. 27

شکل 5 (a)گراف همسایگی نسبی (b)گراف گابریل.. 28

شکل 6 نمودار ورونوی (خطوط نقطه‌چین) و ﻣﺜﻠﺚ ﺑﻨﺪﯼ ﺩﻻﻧﯽ (خطوط صاف) مربوط به 5 گره. 29

شکل 7 نمایش ناحیه رله گره I با گره r بعنوان رله ممکن.. 30

شکل 8 نحوه ساختن همسایه برای گره i خارج از ناحیه رله با سایر همسایگان.. 31

شکل 9 گره‌های سفید هنوز پردازش نشده‌اند و گره‌های سیاه عضو مجموعه غالب و گره‌های خاکستری گره‌های تحت سلطه‌هستند خطوط کلفت لبه‌های درخت هستند.34

شکل 10 گراف نمونه که در ان ابتکار حریص یک گامی مبتنی بر عملکرد شکست می‌خورد. 34

شکل11 گراف.. 37

شکل12 Span. 39

شکل 13 گراف نمونه با حداکثر مجموعه مستقل.. 42

شکل 14 مجموعه حداکثر مستقل با هم‌پوشانی و بدون هم‌پوشانی.. 43

شکل 15 دو خوشه از طریق دو دروازه توزیع شده به یکدیگر متصل شده‌اند. 43

شکل 16 یک الگوریتم ابتدایی توزیع شده برای تعیین خوشه‌های مستقل با استفاده از شناسه گره بعنوان معیار رتبه بندی 45

شکل17 سرخوشه ها50

شکل 18 رابطه بین حداکثر برد رادیویی Rو طول مربع rدر پروتکل GAF. 57

شکل 19 پرتکل ASCENT. 57



خرید و دانلود پروژه مطالعه الگوریتم های خوشه بندی شبکه های حسگر بی سیم


الگوریتم و سورس کد مسئله هشت وزیر ( 8 وزیر )

الگوریتم و سورس کد مسئله هشت وزیر ( 8 وزیر )

مساله هشت وزیر از جمله مسائل پرمخاطب مباحث طراحی الگوریتم است. ۸  مهره وزیر رو روی صفحه شطرنج چنان بچینید که نتونن همدیگه رو تهدید کنن.

برای افرادی که با بازی شطرنج آشنایی ندارن:

وزیر مهره ای از مهره های بازی شطرنجه که می تونه در تمامی 8 جهت هر تعداد خانه – تا زمانی که مهره ای مانع نباشه – حرکت کنه و اگه در یکی از این خانه ها مهره حریف قرار داشته باشه تهدیدش کنه.

مساله هشت وزیر :  ما مساله رو در حالت کلی در نظر می گیریم. یعنی زمانی که ابعاد صفحه شطرنج n در n و تعداد مهره ها n هستش. ( n > 3 ) روشهای مختلفی برای پیدا کردن جواب وجود داره. یکی از این روشها چیدن تصادفی مهره ها روی صفحه شطرنجه! به عبارت دیگه n مهره رو به صورت تصادفی در خانه های مختلف صفحه قرار می دیم و بررسی می کنیم که آیا شرط مساله رو برآورده می کنن یا نه؟ این روش بسیار سریع ما رو به جواب می رسونه. اما ایرادی که داره نمی شه مطمئن بود بشه به همه حالتهای چینش دست پیدا کرد. در صفحه 8 در 8 شطرنج این مساله 92 جواب مختلف داره. شما ممکنه روش تصادفی رو هزار بار به کار ببرید، اما نتونید همه 92 حالت ممکنه رو به دست بیارید. این روش زمانی مفیده که پیدا کردن یه جواب برای ما کافی باشه.

در این دسته روشها مهره ها رو یکی یکی و به صورت بازگشتی روی صفحه طوری می چینیم که مطمئن باشیم با مهره های قبلی تداخل نداره و شرط مساله برآورده می شه. معمولا از سطر اول صفحه شروع می کنیم به قرار دادن مهره ها. پر واضحه که هر سطر فقط می تونه یه مهره رو تو خودش جا بده. مهره سطر دوم رو طوری قرار می دیم که توسط مهره سطر اول تهدید نشه. برای این کار خانه های مختلفی از سطر رو می شه انتخاب کرد. برای نظم داشتن کارهامون فرض می کنیم همیشه انتخاب خانه ها از سمت چپ سطر شروع می شه. به عبارت دیگه با شروع از سمت چپ سطر اولین خانه ای که شرط رو برآورده کنه انتخاب می کنیم. به همین ترتیب سطرهای بعدی رو هم می چینیم. اگر به سطری رسیدیم که بر اساس چیدمان سطرهای قبلی هیچ خانه امنی برای مهره وجود نداشت ( یعنی همه خانه ها توسط مهره های قبلی تهدید می شدن ) یه مرحله به عقب بر می گردیم و مهره سطر قبل رو جابجا می کنیم. این کار هم با حرکت مهره به اولین خانه سمت چپ موقعیت فعلی که شرط رو برآورده کنه، انجام می شه. با ادامه دادن این روال و با جابجا کردن مهره ها به صورت منظم و بازگشتی تمامی حالتهای ممکنه به دست می یان.

برای پیاده سازی چنین الگوریتمی و تشخیص اینکه چه خانه هایی از سطر امن هستن روشهای مختلفی وجود داره. ساده ترینشون اینه که هر بار تمامی خانه هایی رو که امکان تهدید شدن از اونها وجود داره بررسی کنیم تا از قرار نداشتن مهره وزیر در اونها مطمئن باشیم. اما این روش اصلا کارا و بهینه نیست.

روش دیگه تعریف کردن صفحه شطرنج به صورت یه آرایه n در n هستش که خونه های امن و غیر امن با علامتگذاری مشخص می شن. هر بار که مهره ای رو صفحه قرار می گیره تمام خونه هایی که توسط این مهره تهدید می شن به صورت غیر امن علامتگذاری می شن. به این ترتیب می شه فهمید که هر خونه با توجه به چینش مهره های قبلی امن هست یا نه؟ اما این روش هم معایبی داره که باعث می شه به روش سوم رجوع کنیم. برای آشنایی با این معایب کافیه سعی کنید کد برنامه رو بنویسید!

در روش سوم که من ازش استفاده کردم، برای علامتگذاری خانه های امن و غیر امن از شیوه دیگه ای بهره می بریم. به این ترتیب که اقطار راست به چپ، چپ به راست و ستونها با شماره هایی مشخص می شن که کار علامتگذاری رو بسیار ساده می کنن. این روش بدون شک از کاراترین روشهای رسیدن به جواب مساله ماست. هم سرعت اجرای بالایی داره و هم حافظه مصرفی بسیار کم!

کدی که به زبان ++C درباره این مساله نوشته شده با استفاده از روش سوم تعداد جوابهای ممکن – و نه خود جوابها – برای مقادیر مختلف n رو مشخص می کنه. به عنوان مثال اگر n رو 8 وارد کنید خروجی برنامه 92 خواهد بود. توصیه می کنم برای nهای بزرگ برنامه رو امتحان نکنید! اگر n رو 16 وارد کنید بعد از گذشتن زمان زیادی عدد 14772512 روی صفحه نمایش چاپ می شه. یعنی در صفحه شطرنج 16 در 16 حدود ۱۵ میلیون حالت مختلف برای چیدمان صحیح وجود دارد



خرید و دانلود الگوریتم و سورس کد مسئله هشت وزیر ( 8 وزیر )