سیستم عامل/بن‌بست

سیستم عامل/بن‌بست

همزمانی فرآیندها و اصول همزمانی : پایه اصلی چند برنامگی دریک سیستم عامل،قابلیت اجرای چندین برنامه با یکدیگر است.اجرای چند برنامه با یکدیگر در یک محیط تک پردازنده بدین مفهوم است که هرچند در هر زمان یک برنامه در حال اجراست ولی چندین برنامه در سیستم عامل هستند که اجرای آنها شروع شده ولی پایان نیافته اند. عموماً در محیط های چند برنامه ای تعدادی از برنامه ها با یکدیگر دارای نواحی داده ای مشترک یا حافظه مشترک می باشند.برای استفاده صحیح از این داده ها بدون بروز خطا،باید هماهنگی بین آنها وجود داشته باشد. یک فرآیند همکار فرآیندی است که می تواند به سایر پردازشهای در حال اجرا اثر گذارد و یا از آنها تاثیر بگیرد.فرآیندهای همکار ممکن است یا مستقیماً یک فضای آدرس را به اشتراک گذارد و یا اجازه داشته باشد داده های یکدیگر را تغییر دهند.به وضعیتی که دو یا چند فرآیند به متغیر های اشتراکی دسترسی دارند و در نتیجه فرآیندها بستگی به زمان فرآیندها دارد شرایط مسابقه ای یا Race condition گویند. ناحیه بحرانی (critical section) : سیستمی متشکل از n فرآیند که هر فرآیند دارای ناحیه ای در کد است که در آن ناحیه ممکن است متغیرهای مشترک تغییر نمایند یا جدولی به هنگام شود و یا فایلی به اشتراک گذاشته شود.به این بخش از کد ناحیه بحرانی می گویند. برای برطرف کردن شرایط رقابتی راه حل مختلفی وجود دارد.هر راه حل باید بتواند سه شرایط زیر را ارضا کند:

1- Mutual exclusion: انحصار متقابل – دو به دو ناسازگار – مانعه الجمعی اگر فرآیندی در حال اجرا در ناحیه بحرانی باشد در آن صورت هیچ فرآیندی در ناحیه بحرانی خود نمی تواند اجرا شود.(هیچ دو فرآیندی نباید همزمان در ناحیه بحرانی باشند.)

2- Progress (پیشرفت): اگر هیچ فرآیندی در ناحیه بحرانی نباشد و فرآیندهای دیگری تمایب برای ورود به ناحیه بحرانی داشته باشند فقط آن فرآیندهایی که به ناحیه بحرانی نرسیده اند می توانند در تصمیم گیری درباره اینکه کدام فرآیند وارد ناحیه بحرانی شود شرکت کنند.به عبارت دیگر هیچ فرآیندی در بیرون از ناحیه بحرانی خود نمی توانند فرآیندهای دیگر را بلوک کنند.

3- Bounded waiting (انتظار محدود): یک فرآیند نباید به طور نامحدود برای ورود به ناحیه بحرانی باقی بماند.

در کل چهار راه حل برای حل مشکل شرایط رقابتی وجود دارد:

• راه حل نرم افزاری : خود فرآیندها بدون هیچ حمایتی از جانب سیستم عامل مشکل خود را حل کنند.

• راه حل سخت افزاری : فرآیندها به کمک دستورهای سخت افزاری مشکل خود را حل کنند.

• سیستم عامل

• حمایت زبان های برنامه نویسی

1- از کار انداختن وقفه ها: هر فرآیند قبل از ورود به ناحیه بحرانی می تواند وقفه ها را از کار بیاندازد و بعد از خروج دوباره فعال کند.با این روش CPU نمی تواند فرآیندهای دیگر را سوئیچ کند.

1- شاید کاربر وقفه ها را روشن نکرد (خطرناک)

2- چند CPU:فقط CPU جاری از کار می افتد و بقیه هنوز کار می کنند.

3- تناوب قطعی: در این روش از یک Flag(نوبت) به نام Turn استفاده می شود که می تواند 0 یا 1 باشد.اگر 1بود نوبت P1 و اگر 0 بود نوبت با P0 است که وارد ناحیه بحرانی شود.

مثلاً اگر P1 کارش تمام شود و نوبت را به P0 دهد ولی P0 نخواهد وارد ناحیه بحرانی شود P1 نیز نمی تواند وارد ناحیه بحرانی شود.در واقع در این روش فرآیندها باید متناوباً وارد ناحیه بحرانی شوند.


While (turn ==1){ };

   ناحیه بحرانی

Turn = 1; While (turn ==0) { };

   ناحیه بحرانی

Turn = 0; مثلاً اگر P1 کارش تمام شود و نوبت را به P0 دهد ولی P0 نخواهد وارد ناحیه بحرانی شود P1 نیز نمی تواند وارد ناحیه بحرانی شود.در واقع در این روش فرآیند ها باید متناوباً وارد ناحیه بحرانی شوند. 4- Flag:به هر فرآیند یک Flag اختصاص می یابد که توسط خود فرآیند قابل تغییر است و توسط فرآیندهای دیگر فقط قابل چک شدن است.هر فرآیند در صورت تمایل برای ورود به ناحیه بحرانی فلگ خود را 1 می کند همچنین هر فرآیند قبل از ورود به ناحیه بحرانی فلگ دیگری را نیز چک می کند.مقدار اولیه هر دو فلگ صفر است. P0 P1 F2 = 1; While (F1==1); ناحیه بحرانی F2 = 0; F1 = 1; While (F2==1)

ناحیه بحرانی

F1=0; مشکل: هر دو فرآیند در While می مانند. 5- همان راه حل چهارم است اما ست کردن فلگ ها بعد از While قرار می گیرد.

P0 P1 While (F1 == 1) F0 = 1; ناحیه بحرانی F0 = 0; While (F0 == 1) F1 = 1;

ناحیه بحرانی

F1=0; مشکل: هردو فرآیند وارد ناحیه بحرانی می شوند.چون F0 = 0 است پس از P1 از حلقه While رد می شود اما قبل از F1= 1 سوئیچ به P0،P0 هم F1=0 را کنترل کرده و وارد ناحیه بحرانی می شود و سوئیچ به P1 می کند،P1هم وارد ناحیه بحرانی می شود.

6- (TSL (Test and Set Lock : این یک روش با حمایت سخت افزاری است.پردازنده باید دستوری با عملکرد TSL داشته باشد.دستور TSL بصورت اتمیک و غیر قابل تجزیه انجام می شود.دستور TSL یک فلگ را چک کرده و مقدار آن را ست می کند.چون این کار به صورت اتمیک انجام می شود وقفه ای بین آن رخ نمی دهد.(برای متغیر قفل استفاده می شود)

7- دستور العمل Swap: اگر دستور Swap بصورت اتمیک و با کارکرد زیر تعریف کنیم:

Proc swap (a, b)

  {
       temp = a;
       a = b;
       b = temp;
  }

دستور Swap می تواند انحصار متقابل را با روش زیر فراهم کند.

Key = true; Repeat

          Swap (lock, key);

Until key = false;

ناحیه بحرانی Lock = false; Repeat … until زمانی اجرا می شود که شرط حلقه غلط باشد و به محض آن که درست شد از حلقه خارج می شود.یک متغیر برای Lock با مقدار اولیه F و یک متغیر محلی Key برای هر فرآیند داریم.

8- راه حل پیتر سون (Peterson): این راه حل از یک متغیر turn و یک آرایه منطقی استفاده می کند. Flag [i] = true; Trun=j; While (flag [i] == true and turn ==j); ناحیه بحرانی Flag[i] = false; روش های سخت افزاری و نرم افزاری برای حل مشکل ناحیه بحرانی می باشند اما نقصی که در آنها مشاهده می شود نیاز به وضعیتی به نام انتظار مشغول یا busy waiting است.به این معنا که هنگام ورود فرآیند به ناحیه بحرانی اگر امکان ورود وجود داشته باشد فرآیند در یک حلقه انتظار قرار می گیرد و این روش باعث اتلاف وقت CPU می شود.علاوه بر آن این روش ممکن است اثرات غیر قابل انتظاری را در بر داشته باشد. بن بست (Dead lock): در یک محیط چند برنامه ای این امکان وجود دارد که فرآیندهای متفاوتی برای بدست آوردن تعداد محدودی منبع با یکدیگر رقابت کنند.یک فرآیند منابعی را درخواست می کند و در صورتی که این منابع در آن لحظه در دسترس نباشد فرآیند به حالت انتظار وارد می شود.حال اگر منابع محدود درخواست آنها در اختیار فرآیند منتظر دیگری باشد این فرآیند از وضعیت انتظار خارج نمی شود،این وضعیت را بن بست گویند.

شرایط وقوع بن بست

وضعیت بن بست در یک سیستم فقط هنگامی می تواند رخ دهد که چهار شرایط کافمن بطور همزمان برقرار گردند:

1- Mutual exclusion (انحصار متقابل): حداقل باید یک منبع به صورت غیر اشتراکی کنترل شود.یعنی فقط یک فرآیند در هرزمان می تواند از منبع استفاده کند.

2- Hold & wait(گرفتن و انتظار): باید فرآیندی موجود باشد که حداقل یک منبع را در اختیار داشته باشد و در حال انتظار برای دریافت منبع دیگر به سر برد که این منبع جدید خود در تصرف فرآیند دیگری است.

3- Non preemption(منبع انحصاری): یک منبع فقط توسط فرآیندی که آن را در اختیار دارد می تواند رها گردد.این رها سازی بر حسب اراده آن فرآیند و بعد از اتمام کار فرآیند است.

4- Circular wait(انتظار چرخشی): مجموعه ای از فرآیندهای در حال انتظار باید وجود داشته باشند به طوری که P0 در حال انتظار برای منبعی باشد که بوسیله P1 نگهداشته می شود وP1 در حال انتظار برای منبعی باشد که بوسیله P2نگداشته شده است و ... و Pn در حال انتظار برای منبعی باشد که بوسیله P0 نگهداری می شود.

Resource Allocation Graph این گراف از مجموعه ای از لبه ها و راس ها تشکیل شده است.رئوس متشکل اند از: P = {P1,P2…Pn} R = {R1,R2…Rn} لبه ها به دو صورت هستند: 1- از Pi à Rj به این مفهوم که فرآیند Pi نمونه ای از منبع Rj را در خواست کرده و منتظر آن منبع است.(Request edge لبه تقاضا)

2- از Ri à Pj به این مفهوم که منبع Ri به فرآیند Pj اختصاص یافته است.(Assignment edge)

معمولا فرآیند ها را با دایره و منابع را با مربع نشان می دهیم. از آنجا که هر منبع می تواند دارای نمونه های محدود باشد هر نمونه را داخل یک مربع با یک ▪ نشان می دهیم.

با توجه به گراف اختصاص منابع می توان به راحتی نشان داد که در صورتی که گراف فاقد حلقه باشد هیچ فرآیندی دچار بن بست نشده است. اگر هر نوع منبع دقیقا دارای یک نمونه باشد یک حلقه بیان می کند که بن بست به وقوع پیوسته است

حمله سیاه چاله در پروتکل AODV در شبکه MANET با NS2

 

حمله سیاه چاله در پروتکل AODV در شبکه MANET با NS2

 

چکیده:

امروزه تمایل به استفاده از شبکه های بیسیم، در سراسر دنیا روز به روز در حال افزایش و گسترش است. زیرا هر فردی در هر زمان و مکانی که بخواهد قارد است تا به راحتی از آنها بهره منده شوند. از این روی مبحث امنیت در این شبکه ها، یکی از مباحث مهم تحقیقاتی به شمار می رود. در میان پروتکل های این نوع شبکه پرتکل AODV رایج ترین پروتکل مسیریابی است که تاثیر حملات مختلف بر روی آن در بسیاری از مقالات پژوهشی به طور گسترده مورد بحث قرار گرفته است. یکی از مشهورترین حملاتی که در شبکه بی سیم موردی انجام می شود، حمله سیاه چاله است که خود انواع مختلفی دارد. در این پیاده سازی و مقاله، به تجزیه و تحلیل تاثیر حمله سیاه چاله در عملکرد پروتکل AODV پرداخته شده است.

 

مقدمه:

شبکه های بیسیم موردی، یا شبکه هایی پویا هستند. در شبکه های بیسیم موردی (MANET یا ad hoc) هیچ کدام از دستگاه های شبکه نظیر مسیریاب ها یا access point ها وجود ندارند. گره های درون شبکه به صورت مستقل شبکه را مدیریت می کنند. در این شبکه ها، گره ها هم به عنوان میزبان و هم به عنوان مسیریاب (Router) عمل می کنند. آنها فقط به عنوان یک ترمینال واحد سرویس نمی دهند، بلکه پیوسته مکان خود را تغییر می دهند. گره های جدید می توانند در هر زمانی و به راحتی به شبکه ملحق شوند. همچنین گره های درون شبکه می توانند در هر زمانی، شبکه را ترک کنند.

انتقال داده در میان گره ها با استفاده از هاپ های متعدد تحقق می یابد، هنگامی که یک گره مبداء قصد انتقال داده را به گره مقصد دارد، بسته ها از طریق گره های میانی منتقل می شوند. در نتیجه، جستجو و ایجاد به سرعت یک مسیر از مبدأ به گره مقصد برای MANET ها مساله ای مهم محسوب می شود.

انتقال داده در میان گره ها با استفاده از هاپ های متعدد تحقق می یابد، هنگامی که یک گره مبداء قصد انتقال داده را به گره مقصد دارد، بسته ها از طریق گره های میانی منتقل می شوند. در نتیجه، جستجو و ایجاد به سرعت یک مسیر از مبدأ به گره مقصد برای MANET ها مساله ای مهم محسوب می شود.

NS2 8906 2 پروژه حمله سیاه چاله در پروتکل AODV در شبکه MANET با NS2

ارتباط میان گره ها در این شبکه از طریق امواج رادیویی صورت می گیرد و در صورتیکه یک گره در برد رادیویی گره دیگر باشد همسایه آن گره به حساب می آید و در غیر اینصورت در صورت نیاز به ارتباط میان دو گره که در برد رادیویی یکدیگر نیستند می توان از کمک گره های دیگر در این مورد استفاده کرد.

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

NS2 8906 4 پروژه حمله سیاه چاله در پروتکل AODV در شبکه MANET با NS2

ساختار مسیریابی مبتنی بر اعتماد این شبکه ها فرصت خوبی را برای حمله کنندگان فراهم می سازد تا با شرکت در فرآیند مسیریابی به نوعی باعث اخلال در فرآیند مسیریابی شده و نهایتا، امر مسیریابی را مختل کنند. حمله سیاه چاله یکی از این حملات است. رفتار عملیاتی آسان حمله سیاهچاله که در MANET ها شایع می باشد، جلوگیری از حمله های سیاه چاله ها را بسیار مهم می سازند.

در این حمله، گره مخرب از آسیب پذیری پروتکل های مسیریابی استفاده کرده و ترافیک شبکه را جذب می کند و در نهایت بسته ها را از بین می برد. در این مقاله، ضمن شرح نحوه عملکرد پروتکل مسیریابی AODV که یک پروتکل رایج در شبکه های بی سیم موردی (MANET) است، مشکل حمله سیاه چاله مورد بررسی قرار گرفته و سپس با انجام شبیه سازی با نرم افزار NS2 و تغییر پارامترها کارایی پروتکل مسیریابی در اثر حمله سیاه چاله بررسی گردید است.

حمله سیاه چاله:

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

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

NS2 8906 3 پروژه حمله سیاه چاله در پروتکل AODV در شبکه MANET با NS2

(حمله سیاه چاله تکی)

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

حمله سیاه چاله تکی از طریق یکی از گره های موجود در شبکه اعمال می شود، به این نحو که این گره بدون توجه به جدول مسیریابی خود و اینکه آیا اصلا مسیری به گره مقصد دارد یا خیر، به RREQ دریافتی RREP مساعد ارسال می کند، که این عمل باعث کوتاه شدن ارسال بسته های RREP نسبت به گره های دیگر می شود و در نتیجه گره های دیگر این گره را به عنوان مسیر مناسب و کوتاه برای ارسال بسته ها دانسته و بسته های خود را از مسیر این گره ارسال می کنند.

NS2 8906 5 پروژه حمله سیاه چاله در پروتکل AODV در شبکه MANET با NS2

(حمله سیاه چاله تکی و جمعی)

در این صورت یک سیاه چاله ایجاد شده است و گره ای هم که به عنوان سیاه چاله شناخته می شود به جای ارسال بسته ها به مقصد، اقدام به دریافت اطلاعات آنها و یا دور انداختن آنها می کند. اگر گره سیاه چاله خود را به عنوان مسیر مناسب برای کلیه گره های شبکه معرفی کند، در این زمان سبب از دست رفتن کلیه بسته های شبکه خواهد شد که در نهایت باعث بوجود آمدن داس یا DOSDenial Of Service خواهد شد.

NS2 8906 6 پروژه حمله سیاه چاله در پروتکل AODV در شبکه MANET با NS2

(دیاگرام حمله سیاه چاله)

در واقع، حمله سیاه چاله تک گره ای ترتیب شماره و تعداد هاپ های یک پیام مسیریابی را به منظور بدست آوردن مسیر جعل می کند، و سپس گوش می کند یا همه ی بسته های داده ای که از آنجا گذشته اند را از بین می برد.

NS2 8906 7 پروژه حمله سیاه چاله در پروتکل AODV در شبکه MANET با NS2

(این نمودار، تاخیر انتها به انتها به نسبت تعداد گره های متغییر را نشان میدهد. پروتکل aodv استاندارد از تاخیر کمتری نسبت به aodv تحت حمله دارد، زیرا بجای استفاده از مسیر های جعل شده از مسیر های استندار استفاده می کند.استفاده از مسیرهای جعلی باعث از بین رفتن بسیاری از انرژی و همچنین بسته های ارسالی و همچنین کشف مسیر دوباره می شود که این امر باعث بالا رفتن زمان ارسال و دریافت بسته توسط گره منبع و مقصد می شود.)

NS2 8906 8 پروژه حمله سیاه چاله در پروتکل AODV در شبکه MANET با NS2

(این نمودار، توان عملیاتی به نسبت تعداد گره های متغییر را نشان میدهد. پروتکل aodv استاندارد از توان عملیاتی پ بهتری نسبت به aodv تحت حمله دارد، یعنی حمله سیاه چاله در این شبکه باعث از دست رفتن بسیاری از بسته های رسیده و همجنین باعث ارسال اشتباهی به بسته به جای مقصد اصلی به مقصد فرعی می شود.)

NS2 8906 9 پروژه حمله سیاه چاله در پروتکل AODV در شبکه MANET با NS2

(این نمودار، تعداد بسته های رسیده به نسبت تعداد گره های متغییر را نشان میدهد. همانطوز که در نمودار بالا مشاهده می کنید، پروتکل aodv استاندارد، از کارایی بهتری نسبت به aodv تحت حمله یعنی Blackhole-AODV دارد)

 

هر آنچه لازم است در مورد فناوری 5g بدانید

هر آنچه لازم است در مورد فناوری 5g بدانید

مهم ترین نکته ای که باید در حال حاضر بدانید این است: هنوز استانداردهای فناوری 5G نهایی نشده اند. بنابراین «5G واقعی» و «5G تقلبی» معنا و مفهومی ندارند و عبارت های تبلیغاتی بین شرکت های مخابراتی است.

ویلیام وب، نویسنده کتاب «افسانه 5G» و مدیر فناوری های شرکت OpenSignal می گوید: «در بهترین حالت ممکن، بعید به نظر می رسد که تا آخر سال ۲۰۱۸ مشخصات 5G نهایی شود، این یعنی هر آنچه که پیش از سال ۲۰۲۰ ارائه می شود بر اساس مشخصات قبلی است و بنابراین تضمینی وجود ندارد که با 5G هماهنگی داشته باشد.»

هنوز در مورد طیف های مورد استفاده 5G نیز اتفاق نظر وجود ندارد. شرکت های ارائه دهنده خدمات مخابراتی در مورد طیف باند بالا، میانی و پایین صحبت می کنند. طیف پایین و میانی در حال حاضر مورد استفاده شبکه های موبایل است و طیف بالا نیز بیشتر برای سیگنال وای-فای کاربرد دارد.

در کل، باند پایین می تواند مسافت بیشتری را در بر گیرد اما داده کمتری هم منتقل می کند در حال که باند بالا بیشتر روی یک منطقه کوچک متمرکز است ولی سرعت انتقال داده در آن بالا است.

لگر زمان زیادی گذاشته تا سیاست های دو شرکت رقیب ورایزن و AT&T در زمینه به کارگیری اینترنت 5G باند بالا را مورد انتقاد دهد. او مدعی است که 5G ثابت به درد موبایل نمی خورد. اما مسئله جای دیگری است. کل ایده اینترنت 5G، به کار گیری تمامی باندهای ممکن در یک جا برای ایجاد یک اَبَر-شبکه است. ویلیام وب می گوید «5G باید شامل طیف فرکانس پایین (مثل ۷۰۰ مگاهرتز) برای پوشش منطقه ای وسیع، باند میانی (مثل ۳.۵ گیگاهرتز) برای افزایش ظرفیت و mmWave [موج میلی متری] برای تاخیر اندک باشد.»

کوالکام، یکی از شرکت های پیشرو در زمینه پژوهش های 5G این دیدگاه را قبول دارد. مت برندا، مدیر بازاریابی فنی 5G کوالکام می گوید: «5G تمام و کمال در مورد گستردگی و تنوع است. 5G می بایست یک طراحی متحد و یکپارچه داشته باشد و از ترکیب باندها برای ارائه تجربه یکدست استفاده کند.»

در کل، نفرت لگر از 5G موج میلی متری احمقانه است. طراحی 5G قرار است از همه باندها بهره بگیرد تا مشکل ازدحام شبکه در مکان هایی مثل ایستگاه های قطار یا فرودگاه ها را برطرف کند. بله، 5G واقعی به شبکه های ۶۰۰ مگاهرتزی که لگر به آن ها علاقه دارد متکی خواهد بود اما به همان میزان هم شبکه های باند بالا را نیاز دارد.

5G چقدر قرار است خوب باشد؟

5G قرار است یک پیشرفت اساسی نسبت به شبکه وایرلس فعلی ما باشد. اگر باند بالا و میانی را نادیده بگیریم و فقط در مورد علاقه مندی های شرکت تی-موبایل صحبت کنیم، شاهد پیشرفت تقریبی چهار الی هشت برابری هستیم.

و این پیشرفت صرفا در زمینه سرعت نخواهد بود. ازدحام کمتر و تاخیر کمتر هم با 5G همراه خواهند شد که نشات گرفته از آنتن های پیشرفته و کدنویسی های بهتر است.

در نهایت، پیشرفت حاصله صرفا نباید در حوزه های ذکر شده باشد. فناوری 5G باید ارزان تر هم باشد. تحلیلگری به نام جو مدن می گوید 5G منجر به کاهش هزینه هر گیگابایت برای کمپانی ها خواهد شد که شاید این موضوع، داده موبایل بی نهایت واقعی را امکان پذیر سازد.

تاخیر کمتر اما درب های بسیاری را می گشاید. مت برندا می گوید با تاخیر کمتر، کاربردهایی مثل استریم زنده واقعیت مجازی و یا ترجمه آنی از یک زبان به زبان دیگر امکان پذیر خواهد شد چون دیوایس ها با سرعت بیشتر می توانند با سرورهای ابری ارتباط برقرار کرده و داده ها را منتقل کنند.

تاثیر جانبی دیگر می تواند پوشش یک دست و استوار باشد. تی-موبایل اخیرا حق اختراعی را به ثبت رسانده که نشان از میانگین سرعت انتقال اطلاعات دارد. نزدیک به ۲۵ درصد کاربران هیچ گاه به سرعت 10Mbps نمی رسند حتی در محیط های شهری.

برندا می گوید یکی از اهداف 5G این است که تجربه ای یکدست ارائه شود و شما در هر نقطه ای بتوانید سرعت 100Mbps را دریافت کنید. همانطور که بالاتر ذکر شد، طیف باند پایین کلید رسیدن به این هدف در مناطق روستایی است در حالی که دو باند دیگر برای ارائه اینترنتی استوار در مناطق شهری لازم هستند.

چه زمانی می توان منتظر 5G بود؟

سوال واقعی همین است و جواب درستی هم در حال حاضر ندارد. همانطور که وب می گوید مشخصات 5G تا سال ۲۰۱۸ کامل نمی شود، آن هم در بهترین حالت ممکن. پس از آن، تولیدکنندگان تجهیزات باید گواهی های لازم برای تولیدات خود را بگیرند. اما در این میان، رشد و پیشرفت 4G LTE متوقف نمی شود.

پیش از آمدن 4G هم این رویه را دیدیم. پیش از آمدن 4G به صورت سراسری، فناوی HSPA+ آمد که در واقع مدل پیشرفته ای از 3G با سرعت 4G بود. تی-موبایل به آن 4G گفت چون متوجه شد کاربران از HSPA همان تجربه 4G را می گیرند و تفاوتی در این بین نیست. شرکت AT&T هم روندی مشابه را در پیش گرفته و 4G پیشرفته را 5G خطاب می کند.

حرکت چندان مسخره ای نیست چون تکنولوژی LTE-A عمدتا از همان قواعد 5G استفاده می کند. بنابراین به جای حرکت یک مرتبه ای، آن ها مهاجرتی آهسته و آرام را در پیش گرفته اند.

وب تصور می کند که همین اتفاق باید به آرامی رخ دهد. او می گوید: «نگاه من این است که 5G به عنوان یک افزونه برای 4G شروع به کار می کند، از هسته و کانال های سیگنال رسان 4G بهره می برد و فقط یک سری کانال رادیویی بیشتر اضافه می کند. به مرور زمان، مستقل تر شده و آرام ارام به یک هویت واحد می رسد.»

کوالکام با وب هم عقیده است. در یک پست بلاگی که توسط کریستیانو آمون، معاونت اجرایی شرکت نوشته شده آمده است: «گیگابیت LTE طراحی شده تا سرعت اینترنت فیبر نوری را به صورت بی سیم منتقل کند و به ما اولین گوشه از آینده 5G را نشان می دهد. گیگابیت LTE طراحی شده تا سرعت فوق العاده سریع را در مناطق جغرافیایی وسیع ارائه دهد. این باعث می شود که برای پوشش سرعت بالا مناسب باشد و در شبکه های ابتدایی 5G تجربه ای یکدست ارائه دهد.»

وضعیت در حال حاضر چطور است؟

پاسخ کوتاه: اصلا هیچ چیز مشخص نیست.

فناوری 5G قطعا به زودی از راه می رسد و قرار است فوق العاده هم باشد. اما قطعا مثل یک کلید نیست که وقتی آن را فشار دادیم همه چیز یک شبه تغییر کند و فقط وابسته به یکی دو آنتن نیست.

البته پر واضح است که رسیدن به 5G واقعی نیازمند طیف باندهای پایین، میانی و بالا است تا بتوانند سرعت ثابت و متناوبی ارائه دهند که این اتفاق به تدریج رخ خواهد داد. پیشرفت های به وجود آمده در زمینه فناوری 4G مثل گیگابیت LTE، زمینه لازم برای 5G را فراهم خواهند آورد.

این نکته هم حائز اهمیت است که تا به حال هیچ استاندارد ثابتی برای 5G در نظر گرفته نشده. با وجود استانداردهایی که عملا وجود ندارند، ارائه 5G واقعی تقریبا یک وعده خیالی است.

سیستم تشخیص چهره چگونه کار می‌کند؟

سیستم تشخیص چهره چگونه کار می‌کند؟

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

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

 

تعلیم بینایی به کامپیوتر سخت و پرهزینه است

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

بنابراین اولین راه‌حل این مشکل استفاده از شبکه‌های عصبی است. با اینکه از لحاظ تئوریک استفاده از شبکه‌های نورونی مرسوم جهت تحلیل تصاویر ممکن است، اما از لحاظ عملی و محاسباتی بسیار پرهزینه خواهد بود. برای مثال تحلیل یک تصویر نسبتا کوچک (50 × 50 پیکسل) نیازمند 900 داده ورودی و بیش از نیم میلیون پارامتر خواهد بود. شاید انجام این کار برای ماشین‌های محاسباتی امکان‌پذیر باشد اما زمانی که بخواهیم تصاویر بزرگتر (500 × 500 پیکسل) را تحلیل و پردازش کنیم، تعداد ورودی و شبکه‌های نورونی مورد نیاز برای انجام این کار تقریبا غیرقابل شمارش خواهد بود.

چاره چیست؟

خوشبختانه با اعمال یک سری تغییرات در ساختار شبکه‌های عصبی، می‌توان تصاویر بزرگتر را نیز پردازش کرد. این نوع شبکه‌های عصبی تغییر یافته را "شبکه‌های عصبی پیچیده" (CNNs) می‌نامند. یکی از مزایای شبکه‌های عصبی، کاربردپذیری آنها در مصارف مختلف است؛ اما پس از به‌کارگیری آنها در پردازش تصاویر می‌بینیم که این مزیت به یک مشقت تبدیل می‌شود. اما با طراحی شبکه‌های عصبی مختص پردازش تصاویر، می‌توانیم این ماموریت غیرممکن را تا حدی ممکن بسازیم.

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

شبکه‌های عصبی پیچیده به جای اتصال هر ورودی به یک نورون، با محدود کردن روابط بین پیکسل‌های تصاویر، هر نورون را مسئول پردازش یک دسته از پیکسل‌ها می‌کند (3×3 یا 5×5 پیکسل برای هر نورون). بدین ترتیب، هر نورون مسئولیت پردازش بخش کوچکی از تصویر را به عهده می‌گیرد. این ساختار کم و بیش به ساختار عصبی نورون‌های مغز که در آن هر سلول عصبی مسئولیت پاسخگویی به بخش خاصی از بدن را به عهده می‌گیرند، شباهت‌هایی دارد.

 

ساختار درونی شبکه‌های عصبی

فیلترینگ پیکسل‌ها چگونه انجام می‌گیرد؟ راز انجام این کار در اضافه شدن دو لایه جدید به این شبکه‌ی عصبی است: لایه‌های درهم پیچیده و لایه‌های ادقام کننده. در پایین مراحل پردازش را به‌طور کامل شرح داده‌ایم. این مراحل در اصل به یک شبکه عصبی طراحی شده جهت تشخیص اینکه یک زن سالخورده در تصاویر وجود دارد یا خیر، مربوط می‌شود. قدم اول مربوط به لایه‌ی درهم پیچیده است که این قدم خود شامل چند مرحله مجزا می‌شود.

1. ابتدا تصویر یک پیرزن را به یک سری قطعات 3×3 پیکسلی تبدیل می‌کنیم.

2. در قدم بعدی هریک از این قطعات را برای پردازش به درون یک نورون عصبی تک لایه میفرستیم.

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

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

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

 

به‌کارگیری شبکه‌های عصبی

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

Google Cloud Vision: این محصول شرکت گوگل که برپایه فریم‌ورک TensoFlow و رابط برنامه‌نویسی REST عمل می‌کند، قادر است اشیاء و چهره افراد را تشخیص دهد. این رابط می‌تواند  با استفاده از موتور جستجوی تصویری گوگل، تصویر مشابه به یکدیگر در سراسر وب را جستجو و پیدا کند.

IBM Watson Visual Recognition: این برنامه که به عنوان بخشی از پروژه Watson Developer Cloud شناخته می‌شود، از امکانات پیش‌فرض خوب و کارآمدی برخوردار است. این برنامه نیز همچون رابط کاربری گوگل از سیستم OCR و تشخیص NSFW برخوردار است. Clarif.ai می‌گوید: این سرویس تازه‌ وارد به عرصه تشخیص تصاویر است که از رابط برنامه نویسی REST نیز پشتیبانی می‌کند. یکی از نکات جالب این برنامه، پشتیبانی از ماژول‌های مختلفی است که می‌توانند در ساخت الگوریتم‌هایی که قابلیت تشخیص شرایط مختلف از جمله جشن عروسی، مسافرت و غذا و رستوران را دارند، کمک کنند.

با اینکه این رابط‌های برنامه‌نویسی و طراحی برای کاربردهای عمومی مناسب هستند، اما برای انجام وظایف تخصصی احتمالا به تهیه تجهیزات و دستگاه‌های حرفه‌ای نیاز خواهد بود. خوشبختانه کتابخانه‌های الکترونیکی امروزی با ارائه دیتاها به‌صورت از پیش محاسبه و بهینه شده، کار را برای دانشمندان امروزی بسیار آسان کرده‌اند و متخصصین می‌توانند بدون نیاز به محاسبه و پردازش گام به گام داده‌ها، با خیال راحت بر روی آموزش مدل‌ها تمرکز کنند. بسیاری از این مراکز از جمله TensorFlow، DeepLearning4J، Torch و Theano سالهاست که با موفقیت و در زمینه‌های مختلف مورد استفاده قرار می‌گیرند.

 

الگوریتم کرم شبتاب

الگوریتم کرم شبتاب

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

 

الگوریتم بهینه سازی اجتماع کرم شب تاب در سال 2005 توسط کریشناناند و گهوز ارائه شده است.  کریشناناند و گهوز در سال های 2006 تا 2008 مبانی نظری این الگوریتم را توسعه داده اند.

هوش توده ای (Swarm Intelligence) به طوری که در اجتماعات طبیعی بروز پیدا می کند نتیجه عمل هایی از جانب افراد توده است که بر طبق اطلاعات محلی انجام می شوند. به طور معمول رفتار توده به اهدافی پیچیده تر و در سطح توده ای راه می برد. نمونه هایی از این پدیده شامل گروه های مورچگان، زنبورهای عسل ، پرندگان و … می باشد.

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

الگوریتم GSO با قرار دادن جمعیتی n عضوی از کرم های شب تاب در نقاط مختلف فضای جستجوی مسئله بهینه سازی به صورت تصادفی آغاز می شود. در ابتدا همه ی کرم ها مقدار یکسانی از لوسی فرین به اندازه ی l در اختیار دارند. هر تکرار الگوریتم شامل یک فاز به روز کردن لوسی فرین و یک فاز به روز کردن مکان کرم ها می باشد:

 

به روز کردن لوسی فرین:

 

مقدار لوسی فرین هر کرم در هر تکرار با توجه به مقدار برازندگی مکان آن کرم تعیین می شود. به این ترتیب که در هر تکرار با توجه به مقدار برازندگی و متناسب با آن مقداری به لوسی فرین فعلی کرم افزوده می شود. ضمن اینکه به منظور مدل کردن افت تدریجی با زمان مقداری از لوسی فرین فعلی با ضریبی کمتر از 1 از آن کم می شود. بدین ترتیب رابطه ی به روز کردن لوسی فرین به صورت زیر مطرح شده است:

که در آن  li(t)، li(t-1) ، J(xi(t)) به ترتیب مقدار جدید لوسی فرین، مقدار قبلی لوسی فرین و برازندگی مکان کرم i در تکرار t از الگوریتم بوده و ρ  وγ اعداد ثابتی برای مدل کردن افت تدریجی و تاثیر برازندگی بر لوسی فرین می باشند.

 

حرکت کرم های شب تاب:

 

در خلال فاز حرکت، هر کرم به صورت احتمالاتی به سمت یکی از همسایگانش که لوسی فرین بالاتری دارد حرکت می کند. به این ترتیب کرم ها به سمت همسایگان با درخشندگی بیشتر حرکت می کنند. در شکل * نمایشی از همسایگی ها ،مفاهیم شعاع تصمیم و شعاع حسگری کرم ها مشاهده می شود. در قسمت b از این شکل کرم ها بر اساس میزان لوسی فرین رتبه بندی شده اند، به این صورت که کرم با شماره 1 بیشترین درخشش را دارد. شعاع تصمیم rd در واقع مشخص کننده ی محدوده ای است که کرم های در آن محدوده همسایه محسوب می شوند برای سطح لوسی فرین با کرم مورد نظر مقایسه می شوند. شعاع حسگری rs مشخص کننده ی حد بالایی برای شعاع تصمیم می باشد. در واقع در طی تکرار های الگوریتم GSO شعاع تصمیم کرم ها بسته به شرایطی که در آن قرار دارند تغییر می کند ولی به هر صورت شعاع تصمیم هر کرم از شعاع حسگری آن بیشتر نمی شود. شعاع حسگری مدل کننده حداکثر توانایی کرم ها برای مشاهده ی کرم های دیگر می باشد. در شکل 13 چهار کرم شبتاب a, b, c, d میزان لوسی فرین بیشتری نسبت به کرم شبتاب e دارند ولی کرم شبتاب e تنها در محدوده مشاهده کرم شبتاب های c و d قرار دارد و بنابراین دو جهت ممکن برای انتخاب به منظور حرکت به سمت کرم درخشنده تر پیش روی آن است.

شکل 13. (a) نمایش مفاهیم شعاع تصمیم rd و شعاع حسگری rd. برای کرم k-اُم و j-اُم نسبت به کرم i-اُم داریم: d(k,i)=d(j,i) s rdk <  بنابراین با توجه به اینکه کرم i در شعاع حسگری هر دو کرم k و j قرار دارد ولی شعاع تصمیم کرم k کوچکتر از فاصله لازم است بنابراین تنها کرم j از اطلاعات کرم i استفاده می کند. (b) گراف جهت دار با توجه به نسبت لوسی فرین های کرم ها در همسایگی هم، که در آن کرم ها بر اساس میزان لوسی فرین مرتب شده اند و کرم با  درخشش بیشتر با رتبه 1 نمایش داده شده است.

 

برای هر کرم شب تاب i احتمال حرکت به سمت همسایه درخشنده تر j  به صورت زیر تعریف می گردد:

که در این رابطه .

Ni(t) مجموعه کرم های شبتاب همسایه کرم شبتاب i در زمان t ، dij(t) فاصله اقلیدسی بین کرم شبتاب i و j در زمان t و rdi(t)  بیانگر برد همسایگی متغیر مربوط به کرم شب تاب i در زمان t است. با فرض انتخاب شدن کرم شبتاب j توسط کرم شبتاب i (با احتمال p که از رابطه *  بدست می آید) معادله حرکت زمان-گسسته ی کرم شب تاب را می توان به شکل زیر نوشت:

که درآن xi(t) بردار m بعدی مکان کرم شب تاب i در زمان t است، ||.|| عملگر نرم اقلیدسی را نشان می دهد و s اندازه گام حرکت است.

 

به روز کردن برد همسایگی:

 

به هر کرم شبتاب i یک همسایگی تخصیص می یابد که برد شعاعی rid آن به طور طبیعی دینامیک است

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

با فرض r0 به عنوان برد همسایگی اولیه برای هر کرم شبتاب (rid(0) = r0  )، در هر تکرار الگوریتم GSO برد همسایگی هر کرم شبتاب با توجه به رابطه زیر به روز می شود:

که در آن β پارامتری ثابت و nt پارامتری برای کنترل تعداد همسایگی ها می باشد.

 

در شکل 14 شبه کد الگوریتم GSO آمده است.

الگوریتم بهینه سازی اجتماع کرم های شب تاب:تعداد ابعاد مسئله را m در نظر بگیر.

تعداد کرم های شب تاب را n در نظر بگیر.

اندازه گام را در هر مرحله حرکت s درنظر بگیر.

مکان کرم شب تاب i در لحظه ی t را xi(t) در نظر بگیر.

کرم ها را به طور تصادفی در فضای جستجو پخش کن.

به ازای i از 1 تا n قرار بده li(0) = l0 و rid(0) = r0

تعداد حداکثر تکرار ها ی الگوریتم را برابر iter_max قرار بده.

t را مساوی 1 قرار بده.

تا زمانی که iter_max t ≤ مراحل زیر را تکرار کن:

{

برای هر کرم شب تاب i انجام بده:

 

برای هر کرم شب تاب i انجام بده:

{

 

برای هر کرم شب تاب    انجام بده:

 

با استفاده از مکانیزم انتخاب برحسب احتمال های محاسبه شده کرم شب تاب j را انتخاب کن.

}

t را یک واحد افزایش بده.

}

شکل 14. الگوریتم GSO

 

نتیجه ی بهینه سازی تشخیص تومور سینه با استفاده از GSO  به صورت شکل 15 بدست آمده است.

شکل 15. نتیجه ی بهینه سازی تشخیص تومور سینه با استفاده ازGSO

فلوچارت الگوریتم کرم شب تاب

 

مقاله: هدر IP فيلدهاي Options

مقاله: هدر IP فيلدهاي Options

Image


همان‌طور که در تصویر بالا ملاحظه مینمایید ، هدر IP از فیلدهایی تشکیل شده که به اختصار در زیر اشاره میکنم
*البته بعد از معرفی قسمت های مختلف تصویر بالا ، به معرفی فيلدهاي Options می پردازیم زیرا هر قسمت دارای زیر قسمت هایی می باشد.
*
- Version: شماره نسخه آی پی
- Header Length : طول هدر (HLEN) بر حسب کلمات 32 بیتی
- Priority and Type of Sevice : نوع سرویس، نحوه اداره دیتاگرام را مشخص می‌کند. 3 بیت اول، بیت‌های اولویت هستند.
- Total length : طول کل بسته شامل داده‌ها و هدر
- Identification: ارزش منحصربه‌فرد بسته آی پی
- Flags: مشخص می‌کند که آیا باید تقسیم‌بندی انجام شود یا خیر.
- Fragment offset : در صورتی که بسته برای قرار گرفتن در یک فریم بیش از حد بزرگ باشد، تقسیم‌بندی و بازچینی را تامین می‌کند. این فیلد در عین حال MTUها یا «حداکثر واحدهای انتقال» متفاوتی را روی اینترنت فراهم می‌کند.
- Time to live : مدت عمر در هنگام ایجاد یک بسته برای اولین بار، در آن تنظیم می‌شود. اگر بسته پیش از انقضای TTLبه مقصد خود نرسد، از بین خواهد رفت. به این ترتیب از چرخش مداوم بسته‌های IP در شبکه برای رسیدن به مقصد جلوگیری می‌شود.
- Protocol: درگاه پروتکل لایه بالاتر (برای مثال TCPبر مبنای هگزادسیمال درگاه 6 و UDP درگاه 17 است). این فیلد همچنین از پروتکل‌های لایه Network مانند ARP و ICMP پشتیبانی می‌کند. ممکن است بعضی از ابزارهای آنالیز‌کننده این فیلد را تحت عنوان Typeمشخص کنند.
- Header checksum : مقدار CRC یا Cyclic Redundancy Check تنها برای هدر.
- Source IP address : آدرس IP 32 بیتی ایستگاه فرستنده.
- Destination IP address : آدرس IP 32 بیتی ایستگاهی که بسته برای آن ارسال شده است.
- Options: برای آزمایش، دیباگ، امنیت و سایر پارامترهای مشابه روی شبکه مورد استفاده قرار می‌گیرد.(که بنده این مورد را در ذیل این مطلب ادامه خواهم داد)
- Data: داده‌های لایه بالاتر که پس از فیلد گزینه IP قرار می‌گیرند.

 

هدر IP فيلدهاي Options


اين قسمت کاملاً اختیاری است و اطلاعات اضافی برای برخی پروتکل ها می تواند در آن اضافه شود و البته طول این فیلد ها یکسان نیست چرا که اگر اطلاعات وجود نداشته باشد 0 است و گرنه بیشتر هم ممکن است بشود
Option در دو نوع طول ثابت و طول متغیر استفاده میشود که در طول متغیر از سه نوع فرمت(فیلد) پشتیبانی می کند
فيلد طول : يك بايت است كه طول مقدار را مشخص مي كند(0 تا 255)
فيلد مقدار : اطلاعات اضافی است كه تا 255 بايت است.
فيلد نوع : يك بايت است که در زیر به صورت ریز نوشته شده است . 2 بيت اول مسيرياب ها بايد روي بسته ها پردازش كنند که بسته را حذف كند یا بسته را حذف و به ICMP برگرداند

Image



0 : كنترل
1 : رزرو شده براي استفاده در آينده
2 : اندازه گيري و اشكال زدايي
3 : رزرو شده براي استفاده در آينده

Image


Internet Protocol Version 4 (IPv4) Option Format


Internet Protocol Version 4 (IPv4) Option Format

5 بيت تعداد Option
Option. 5 bits.
2به توان 5 هست که کلاً 32 حالت می شود

Image

 

Image


Image

گوگل دیوارهای دیتاسنترهایش را به آثار هنری تبدیل کرده است + تصاویر

 گوگل دیوارهای دیتاسنترهایش را به آثار هنری تبدیل کرده است 

دیتا سنترها یا همان مراکز داده اغلب محیط‌های خسته‌ کننده ای هستند. حتی تسهیلات عظیم گوگل نیز با تمامی لوله‌ها و دیوارهای رنگی داخلی، باز هم حس تکراری و قدیمی بودن را دارند. بنابراین به منظور زنده کردن محیط این دیتاسنترها، شرکت گوگل از چندین هنرمند درخواست کرده است تا در چندین مرکز داده این شرکت نقاشی دیواری بکشند.

این نقاشی های دیوارهای که زینت بخش مراکز داده گوگل در اوکلاهاما و بلژیک شده اند، نشان دهنده خلاقیت و توانایی‌های این هنرمندان در زمینه نقاشی های دیواری هستند. علاوه بر این گوگل امیدوار است که این نقاشی‌ها موجب جلب توجه بیشتر بازدیدکنندگان به تمامی فناوری‌های موجود داخل این تاسیسات شود که به صورت پیوسته نیروی مورد نیاز برای فعالیت سرویس‌های متنوع گوگل را تامین می‌کند.

به گفته Joe Kava، معاون ارشد دیتا سنترهای گوگل، از آنجایی که این ساختمان‌ها ویژگی خاصی برای جلب توجه ندارند، مردم کمتر به آنها نگاه می‌کنند، و درنتیجه درباره این ساختمان های قدرتمند و افرادی که در آنها به ایفای نقش می‌پردازند، اطلاعات بسیار کمی دارند.

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