بایگانی برچسب برای: هوش مصنوعی

مقدمه

منطق فازی شاید بیشترین امید به پیشرفت و شتاب در جامعه هوش مصنوعی در تاریخچه اخیر آن باشد. اما چرا بعضی واژه های نامعلوم به درستی پشت واژه « فازی» قرار می گیرند؟ چرا « فازی » موجب پیشرفت هوش مصنوعی می شود؟
پاسخ این سوالات در مقاله زیر داده شده است.

تاریخچه منطق فازی

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

منطق فازی چیست؟

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

واژگانی از قبیل { کم ، زیاد، خیلی کم ، خیلی زیاد، قدری و … } این واژه ها واژه های زبان شناختی نام دارند، یعنی با مقادیر ریاضی نمی توان مقدار مشخصی را به آنها ربط داد.
اینجاست که منطق فازی وارد عمل می شود و با استفاده از مجموعه های فازی،برای متغیر میزان بارش باران، مجموعه ای را به شکل زیر صورت می دهد:
میزان بارش باران= { کم ، زیاد، خیلی کم ، خیلی زیاد، قدری و … }

باید پذیرفت قواعدی نظیر این زیبا هستند، زیرا این ها قواعد بشری هستند. آنها نمونه خوبی هستند برای اینکه ما چطورفکر می کنیم و چطور نتیجه می گیریم. بیایید به سراغ نمونه دیگری برویم:
ازشما سوال می شود” آیا شغلتان را دوست دارید؟” پاسخ شما لزوماً بله یا خیر نمی باشد؛ بنابراین مجموعه جواب به صورت زیر خواهد بود:
جواب= { تا حدی، نه خیلی، تقریباً، اصلاً ، کم و بیش، خیلی و… }
به هر یک از این مقادیر،مقداری به عنوان ” درجه عضویت” نسبت داده می شود، بدین معنا که مقدار مربوطه تا چه حد در این مجموعه عضو می باشد.

مجموعه های فازی و زبان طبیعی

لازم به ذکر است، در مجموعه های قطعی، یک شیء قطعاً ، یا عضو مجموعه، است یا نیست:

اگر xعضو مجموعه A باشد
اگر X عضو مجموعه A نباشد

اما در مجموعه های فازی، یک شیء می تواند تا حدودی به یک مجموعه متعلق باشد:

که در این حالت تابع عضویت، یک عدد حقیقی است:

بدین معنا که شیء مورد نظر به طور نسبی در یک مجموعه وجود دارد. همچنین مقدار جزئی تابع عضویت، درجه عضویت نامیده می شود.
از سوی دیگر در نظر داشته باشید: مفاهیم ومجموعه های فازی ،عموماً در زبان طبیعی بکار می روند نظیر:
” جان قد بلند است.”
” هوا گرم است.”

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

پایین

قدری

تقریباً

متوسط

کم

بین

بالا

زیاد

به مقدار زیاد

خیلی

بیشتر

اصلاً

بیشترین

کم و بیش

در حدود

دراین تئوری، عضویت اعضای مجموعه از طریق تابع U ( X) مشخص می شود که X نمایانگر یک عضو مشخص و U تابعی فازی است که درجه عضویت X در مجموعه مربوطه را تعیین می کند و مقدار آن بین صفر و یک است:

همچنین به عنوان یک مجموعه متناهی از عناصر، برای عبارت بلند قد می توان زیر مجموعه فازی ذیل را تعریف کرد:
{ ( 8،1 )، ( 1، 705 )، ( 1، 7 )، (875،65 )، ( 05، 6 )،( 0125، 55 )،(0 ، 5 )}= بلند قد
در این مجموعه فازی، علامت “، ” درجه عضویت را از اعداد مربوطه به قد افراد جدا می سازد.

متغیرهای زبانی

” متغیرهای زبانی، متغیرهایی هستند که مقادیرشان اعداد نیستند،بلکه لغات یا جملات یک زبان طبیعی یا ساختگی هستند.”
به طورکلی، متغیرها به 2 دسته تقسیم می شوند:
زبانی: مانند کلمات و عبارات مربوطه به یک زبان طبیعی می باشد.
عددی: که متغیرها دارای مقادیرعددی هستند.

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

درعین حال متغیرهای زبانی می توانند از الحاق تشکیل شوند که هر کدام از uiها، عباتی تجزیه ناپذیر است. مانند ” تا حدی سرد “، که در مجموع به 4 دسته زیر تقسیم می شود:
عبارات اصلی: که به عنوان برچسب هایی برای مجموعه های فازی در نظر گرفته می شوند و مانند ” سرد” در عبارات بالا، یا عباراتی از قبیل : کوتاه، بلند و … که هر کدام تابع عضویت مخصوص خود را دارند.

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

متغیر زبانی

متغیر قابل پذیرش

ارتفاع قد
تعداد
مراحل زندگی
رنگ
روشنی
دسر

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

اما چگونه منطق فازی به کار گرفته می شود؟

منطق فازی معمولاً از قوانین ” اگر و آنگاه” ( IF/THEN) استفاده می کند، اما این بررسی ،به صورت بررسی مقادیر خشک منطق کلاسیک نمی باشد، بلکه این بررسی توسط متغیرهای معنایی صورت می گیرد.این قوانین معمولاً به شکل زیر بیان می شود:
اگر( متغیر ) ( حالت ) است، آنگاه ( عملکرد ).

برای مثال ،یک دستگاه تنظیم کننده درجه حرارت را در نظر بگیرید که قانون منطق فازی را می توان اینگونه برایش تعریف کرد:
● اگر ( درجه حرارات) ( بسیار سرد) است، آنگاه ( فن را متوقف کن ).
● اگر درجه حرارت سرد است، آنگاه سرعت فن را کم کن.
● اگر درجه حرارت متعادل است، آنگاه همین سرعت فن را حفظ کن.
به طورکلی روش کار منطق فازی را می توان به شکل زیر نشان داد:

منطق کلاسیک

کاربرد هوش مصنوعی

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

قاعده Soft Computing

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

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

زمینه های کاربرد منطق فازی درهوش مصنوعی

● هوش مصنوعی رویداد گرا: در این نوع، سیستم بر اساس هر رویدادی که انجام می شود، یک واکنش هوشمندانه انجام می دهد. در این حالت با استفاده از قواعد IF/THEN فازی، می توان برای حالات و رویدادهای جزء شده و طبقه بندی شده ،عکس العمل مناسبی تعیین کرد.
● هوش مصنوعی هدف گرا: این نوع هوش مصنوعی،هدف با ارزش بیشتر را بر می گزیند و آن را با تقسیم به زیرهدفهای کوچکتر، پردازش می کند.
در این نوع هوش نیز با کمک منطق فازی می توان با توجه به درجه عضویت، هدف مورد نظر را انتخاب کرد.

نمونه هایی از کاربرد عملی منطق فازی در هوش مصنوعی

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

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

نتیجه

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

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

منبع

بینایی کامپیوتری (Computer vision) چیست؟

 بینایی کامپیوتری (Computer vision) یا بینایی ماشین (Machine vision) یکی از شاخه‌های علوم کامپیوتر است که شامل روش‌های مربوط به دستیابی تصاویر، پردازش، آنالیز و درک محتوای آن‌ها است. معمولاً این پردازش‌ها تصاویر تولید شده در دنیای واقعی را به عنوان ورودی دریافت و داده‌هایی عددی یا سمبلیک را به عنوان خروجی تولید می‌کنند، مانند در شکل‌هایی از تصمیم‌گیری. یکی رویه‌های توسعهٔ این شاخه بر اساس شبیه‌سازی توانایی بینایی انسان در رایانه می باشدنرم.

تصویر هنری از مریخ نورد NASA بر روی سطح سیاره مریخ. مثالی از خودروهای زمینی بدون سرنشین

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

کاوش در داده‌ها

بینایی ماشینی را می‌توان یکی از مصادیق و نمونه‌های بارز زمینهٔ مادر و اصلی‌تر کاوش‌های ماشینی داده‌ها به‌حساب آورد که در آن داده‌ها تصاویر دوبعدی یا سه‌بعدی هستند، که آن‌ها را با استفاده از هوش مصنوعی آنالیز می‌کنند.

وظایف اصلی در بینایی رایانه‌ای(بینایی کامپیوتری)

تشخیص شیء

تشخیص حضور و/یا حالت شیء در یک تصویر. به عنوان مثال:

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

پیگیری

پیگیری اشیاء شناخته شده در میان تعدادی تصویر پشت سر هم. به عنوان مثال:

  • پیگیری یک شخص هنگامی که در یک مرکز خرید راه می‌رود.

تفسیر منظره

ساختن یک مدل از یک تصویر/تصویر متحرک. به‌عنوان مثال:

  • ساختن یک مدل از ناحیهٔ پیرامونی به کمک تصاویری که از دوربین نصب شده بر روی یک ربات گرفته می‌شوند.

خودمکان‌یابی

مشحص کردن مکان و حرکت خود دوربین به عنوان عضو بینایی رایانه. به‌عنوان مثال:

  • مسیریابی یک ربات درون یک موزه.

سامانه‌های بینایی رایانه‌ای یا بینایی کامپیوتری

یک سامانهٔ نوعی بینایی رایانه‌ای را می‌توان به زیرسامانه‌های زیر تقسیم کرد:

تصویربرداری

تصویر یا دنباله تصاویر با یک سامانه تصویربرداری(دوربین، رادار، لیدار، سامانه توموگرافی) برداشته می‌شود. معمولاً سامانه تصویربرداری باید پیش از استفاده تنظیم شود.

پیش‌پردازش

در گام پیش‌پردازش، تصویر در معرض اَعمال «سطح پایین» قرار می‌گیرد. هدف این گام کاهش نوفه (کاهش نویز – جدا کردن سیگنال از نویز) و کم‌کردن مقدار کلی داده‌ها است. این کار نوعاً با به‌کارگیری روش‌های گوناگون پردازش تصویر(دیجیتال) انجام می‌شود. مانند:

  • زیرنمونه‌گیری تصویر.
  • اعمال فیلترهای دیجیتال.
    • پیچشها.
    • همبستگیها یا فیلترهای خطی لغزش‌نابسته.
      • عملگر سوبل.
      • محاسبهٔ گرادیان x و y(و احتمالاً گرادیان زمانی).
  • تقطیع تصویر.
    • آستانه‌گیری پیکسلی.
  • انجام یک ویژه‌تبدیل بر تصویر.
    • تبدیل فوریه.
  • انجام تخمین حرکت برای ناحیه‌های محلی تصویرکه به نام تخمین شارش نوری هم شناخته می‌شود.
  • تخمین ناهمسانی در تصاویر برجسته‌بینی.
  • تحلیل چنددقتی.

استخراج ویژگی

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

  • انجام آشکارسازی لبه.
  • استخراج ویژگی‌های گوشه ای.
  • استخراج تصاویر چرخش از نقشه‌های ژرفا.
  • بدست آوردن خطوط تراز و احتمالاً گذر از صفرهای خمش.

ثبت

هدف گام ثبت برقراری تناظر میان ویژگی‌های مجموعه برداشت شده و ویژگی‌های اجسام شناخته‌شده در یک پایگاه داده‌های مدل و/یا ویژگی‌های تصویر قبلی است. در گام ثبت باید به یکفرضیه نهایی رسید. چند روش این کار عبارت‌اند از:

  • تخمین کمترین مربعات.
  • تبدیل هاگ در انواع گوناگون.
  • درهم‌سازی هندسی.
  • پالودن ذره‌ای.

بینایی و تفسیر تصاویر در انسان‌ها

lز آنجایی که هدف نهایی computer vision ساخت مفسر قدرتمند اجسام 3D , رنگ‌ها و عمق تصاویر هست. دانستن این موضوع که چگونه مغز موجودات، بینایی و دیدن را تفسیر می‌کند و اینکه چند درصد نورون‌های کل مغز در گیر این پروسه هستند نسبتاً اهمیت پیدا می‌کند. مقاله زیر می‌تواند یک نگاه کلی از این روند پیچیده بدهد.

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

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

جریان dorsal بصری (سبز رنگ در تصویر) و جریان ventral(بنفش) در تصویر مشخص شده. قسمت‌های بسیار زیادی ازcerebral cortex در پروسه بینایی نقش دارند.

سلولهای مخروطی (Cone cells) در یک منطقه مرکزی شبکیه متمرکز به نام گودال متمرکز شده‌اند که فرورفتگی (یا fovea) هم نام دارد. آنها مسئول وظایف سنگین و دقیقی مثل خواندن هستند. سلول‌های Cone بسته به اینکه به نور آبی، قرمز، سبز چگونه واکنش می‌دهند به سه دسته تقسیم می‌شوند، و در مجموع این سه نوع از Cone ما را قادر به درک رنگ‌ها می‌کنند. سیگنال‌ها از سلول‌های گیرنده نوری (photoreceptor cells) از طریق شبکه ای از interneuronsها در لایه دوم شبکیه چشم به سلول‌های ganglion در لایه سوم منتقل می‌شوند. نورون‌های موجود در این دو لایه از شبکیه زمینه پذیرای پیچیده ای که آنها را قادر به تشخیص تضادهای تغییراتی در یک تصویر می‌کند را ارائه می‌دهند: این تغییرات ممکن است لبه‌ها یا سایه‌ها را نشان دهند. سلول‌های Ganglion این اطلاعات را به همراه دیگر اطلاعات در مورد رنگ جمع‌آوری می‌کنند و خروجی خود را به مغز از طریق عصب بینایی ارسال می‌کنند. عصب یا Nerve بینایی در درجه اول اطلاعات را از طریق thalamus به قشاء مغزی (cerebral cortex) ارسال می‌کند. پس از ارسال اطلاعات در قسمت cerebral cortex ادراک بصری انسان به وقوع می‌پیوندد. اما در عین حال این عصب (Nerve) حامل اطلاعات مورد نیاز برای مکانیک دید نیز هست که به دو قسمت از ساقه مغز (brainstem) این اطلاعات را منتقل می‌کند. اولین قسمت از brainstem گروهی از سلول‌های هسته هستند که pretectum نام دارند که کنترل غیرارادی اندازه مردمک در پاسخ به شدت نور را بر عهده دارند. اطلاعات مربوط به اهداف متحرک و اطلاعات ساکن اسکن شده توسط چشم نیز به قسمت دوم در brainstem منتقل می‌شود، یک هسته که با نام superior colliculus شناخته می‌شود مسئول حرکات چشم در پرش‌های کوتاه هست. بخش دیگر از این دو قسمت saccades هست که به مغز اجازه درک یک اسکن هموار را با کمک چسباندن یک سری از تصاویر نسبتاً ثابت می‌دهد. Saccadic eye movement مشکل تاری شدید- که می‌تواند برای تصویر پیش بیاید – را حل می‌کند. چشم می‌تواند به صورت یکنواخت در سراسر چشم‌انداز بصری حرکت کند؛ saccadesها در بعضی از وضعیت‌ها تجربه بصری را ممکن و آسان می‌کنند مانند مشاهده چشم فرد دیگری برای شما، در حالی که آن فرد در تلاش برای نگاه کردن سرتاسر اتاق هست.

محل دقیق قسمت thalamus(تالاموس) در عمق مغز در تصویر سه بعدی

بسیاری از تصاویر از شبکیه چشم (retina) از طریق عصب بینایی به بخشی از thalamus که به نام (lateral geniculate nucleus) شناخته شده است و در اختصار (LGN) هم کفته می‌شود منتقل می‌شوند، thalamus در عمق مرکز مغز قرار گرفته. LGN ورودی شبکیه (retinal) را به جریان‌های موازی ای مورد جداسازی قرار می‌دهد که یکی حاوی رنگ و ساختار ثابت و دیگری حاوی تضادها (contrast) و حرکات هست. سلول‌هایی که پردازش رنگ و ساختار را انجام می‌دهند چهار لایه بالایی از شش لایه LGN را تشکیل می‌دهند. این چهار لایه به علت کوچکی سلول‌ها، parvocellular نامیده می‌شوند. سلول‌هایی که پردازش حرکات و تضادهای تصویر را انجام می‌دهند دو لایه پایینی LGN رو تشکیل می‌دهند و به علت بزرگی سلول‌های این قسمت، لایه magnocellular نامیده می‌شوند.

سلول‌های لایه‌های magnocellular و parvocellular همه راه‌ها را به بخش‌های پشت مغز و به سمت قشر بینایی اولیه (Visual cortex _ V1) طرح‌ریزی می‌کنند. سلول‌ها در V1 در چندین مسیر مرتب شده‌اند که این مسئله اجازه می‌دهد سیستم بینایی محل اشیاء را در فضا محاسبه کند. در ابتدا سلول‌های V1 به صورت retinotopically یا موضعی سازمان یافته‌اند، که به معنای این است که نقطه به نقطه روی نقشه بین شبکیه و قشر بینایی اولیه وجود دارد و مناطق همجوار در شبکیه چشم با مناطق همجوار در V1 مطابقت دارد؛ که این به V1 اجازه می‌دهد که موقعیت اشیا را در دو بعد از جهان بصری که افقی و عمودی (مختصات (x , y)) تعیین کند. بعد سوم و عمق نیز با مقایسه سیگنال‌های دو چشم توسط V1 نقشه‌برداری و تعیین می‌شود. این سیگنال‌ها در پشته سلولها که ستون ocular dominance نامیده می‌شوند پردازش می‌شوند، که یک الگوی شطرنجی اتصالات متناوب بین سمت چپ و چشم راست است. اختلافی جزئی در موقعیت یک شی نسبت به هر چشم وجود دارد که اجازه می‌دهد تا عمق توسط مثلث محاسبه شود.

در نهایت، V1 به ستون‌های جهت گیری سازمان یافته است، پشته از سلول‌ها که به شدت توسط خطوط یک جهت گیری داده شده، فعال می‌شوند. ستون‌های جهت امکان تشخیص لبه‌های اشیاء در جهان بصری را برایV1 را فراهم می‌سازند، و به طوری که آنها کار پیچیده ای از تشخیص بصری را شروع می‌کنند. سازمان ستونی از قشر بینایی اولیه برای اولین بار توسط David Hubel و Torsten Wiesel توصیف شده است، که در نتیجه بخاطر این موضوع جایزه نوبل ۱۹۸۱ را دریافت کرده‌اند.

جالب توجه است که این الگوی شطرنجی، سازمان ستونی V1 در هنگام تولد بسیار مبهم است. قشر بینایی یک نوزاد تازه متولد شده رشد بیش از حد (hypertrophy) , یا اتصالات اتفاقی دارد که باید به دقت و بر اساس تجربه بصری در بلند مدت هرس شوند، و در نهایت به ستون‌های جداگانه تعریف شده تبدیل شوند- این در واقع یک کاهش در تعداد اتصالات و نه افزایش اتصالات خواهد بود -که در نهایت توانایی نوزاد برای دیدن جزئیات ریز و به رسمیت شناختن اشکال و الگوها را بهبود می‌بخشد.

primary visual cortex (V1)

این نوع از پالایش وابسته، به فعالیت به V1 محدود نمی‌شود و در بسیاری از مناطق سراسر قشر مغز (cerebral cortex) رخ می‌دهد. در همان زمان که توانایی تبعیض خطوط و لبه در قشر بینایی اولیه بهبود می‌یابد، سلول‌ها را در قشر بینایی ثانویه (secondary visual cortex V2) , توانایی خود را برای تفسیر رنگ پالایش می‌کنند. V2 تا حد زیادی مسئول پدیده ثبات رنگ است؛ و این حقیقت را توضیح می‌دهد که واقعیت یک گل سرخ تحت تأثیر بسیاری از رنگ‌های مختلف نور توسط ما هنوز هم به رنگ سرخ به نظر می‌رسد. این طور گمان می‌شود که ثبات رنگ وقتی رخ می‌دهد که V2 می‌تواند یک شیء و نور محیط را مقایسه کند و می‌تواند برآورد رنگ روشنایی را کاهش دهد. با اینحال این پروسه با توجه به اینکه بیننده انتظار دارد که شیء بخصوص به چه رنگی داشته باشد، به شدت تحت تأثیر قرار می‌گیرد.

در حقیقت، تقریباً تمام ویژگی‌های مرتبه بالاتر از بینایی و منظره توسط انتظارات بر اساس تجربه گذشته تحت تأثیر قرار می‌گیرد. این ویژگی به گسترش رنگ و درک فرم موجود در V3 و V4، به چهره و تشخیص شیء در لوب temporal (جایی که تصویر ذهنی سه بعدی از آنچه که می‌بینیم در نهایت تشکیل می‌شود) و به حرکت و آگاهی از فضای موجود در لوب parietal می‌انجامد. هرچند چنین روش و تأثیراتی گاهی اجازه می‌دهد مغز تحت تأثیر تصورات نادرست فریب بخورد، برای مثال در مواقع خطای دید در برخی از تصاویر، ولی این روش پردازش به ما توانایی دیدن و پاسخ سریع به جهان بصری را داده است. از تشخیص روشنایی و تاریکی در شبکیه چشم (retina) تا خطوط انتزاعی در V1 تا تفسیر اشیا و روابط فضاییشان در ناحیه‌های بصری بالاتر، هر وظیفه ای در ادراک بصری کارایی و قدرت سیستم بینایی انسان را نشان می‌دهد.

موارد حال حاضر استفاده از تکنولوژی computer vision

  • کاربردهای غیرنظامی
    1. سرچ پیدا کردن تصاویر مشابه در سرویس‌های Google یا Bing
    2. سرویس‌های شناختی Microsoft
      1. پیدا کردن افراد یکسان در تصاویر حتی در صورتی که آنها تغییر فیافه داده باشند
      2. سرویس تشخیص احساسات لحظه ای افراد مبتنی بر تصاویر
      3. سرویس تشخیص سن افراد و جنسیت و . . . در تصاویر
      4. سرویس PhotoDNA
      5. سرویس قدرتمند تبدیل نوشته‌های موجود در تصاویر به متن
      6. تشخیص چهره در ویدئو به صورت real time
      7. تبدیل گفتار به متن
      8. تشخیص لحن گفتار بر پایه متن
      9. سرویس پیدا کردن مفاهیم بر پایه محتویات متنی
      10. سرویس‌های تشخیص زبان‌های طبیعی
      11. سرویس توصیف تصاویر
      12. ربات‌های چت پیشرفته (از جمله این ربات‌ها می شه به Tay در twitter اشاره کرد)
      13. و سرویس‌های دیگر . . . .
    3. سرویس‌های شناختی IBM
      1. تشخیص احساسات بر پایه تصاویر
      2. سرویس اپن سورس توصیف تصاویر با node.js (سورس code)
      3. توصیف محتواهای متنی
      4. سرویس شناختی آنالیز شبکه‌های اجتماعی
      5. ربات‌های خودکار پاسخ دهنده هوشمند به کاربران
      6. تشخیص احساسات بر پایهٔ محتوای متنی
      7. سرویس گراف‌های شناختی از داده‌های تاریک
      8. کسب و کارهای شناختی
      9. تشخیص real time ایتم‌های مختلف با تراشه SyNAPSE
      10. و سرویس‌های دیگر . . . .
    4. خودروهای خودران Google و بقیه شرکت‌ها
    5. استفاده برای تشخیص چهره درگرفتن عکس در تلفن‌های همراه همچنین استفاده در سرویس شبکه اجتماعی فیسبوک جهت نوشتن نام‌ها بر روی تصاویر
    6. استفاده در فروشگاه‌ها برای دنبال کردن سلایق بازدید کننده گان
    7. استفاده در تشخیص پلاک خودرو
    8. درمان بیماری‌ها و تومورها و سرطان با Nanobots های که انرژی خود را از برخورد اتفاقی با سلول‌ها به دست می آورند

 

ناو ACTUV

تصویری از رونمایی کشتی جنگی بدون سرنشین ضد زیر دریایی با قابلیت ردیابی ممتد یا به اختصار (ACTUV)

  • کاربردهای نظامی
    • تشخیص و شناسایی چهره افراد در فرودگاها و مراکز حساس دیگر
    • وسایل حرکتی بدون سرنشین _ مستقل (Uncrewed vehicle)
      1. خودروهای زمینی بدون سرنشین نظامی چند منظوره با قابلیت‌های استفاده موتوریزه و انتقال نیروها و تجهیزات . . . (Unmanned ground vehicle)
      2. زیردریایی بدون سرنشین: زیردریایی شرکت بوئینگ (Boeing submarine) که قابلیت ماه‌ها ماندن در زیر دریا و بررسی و ارسال اطلاعات به طور کاملاً مستقل را قادر می‌باشند
      3. ناوهای بدون سرنشین: ناوهای ضد زیردریایی ACTUV ساخت DARPA (سازمان پروژه‌های تحقیقاتی پیشرفتهٔ دفاعی)
      4. هواپیماهای بدون سرنشین و پهپادها با کنترل مستقل (Unmanned aerial vehicle)
      5. سیستم دفاع موشکی هوش مصنوعی (Artificially Intelligent Missile Defense System)
      6. فضاپیمای بدون سرنشین (Unmanned spacecraft)
      7. ربات‌های Humanoid (پروژه Atlas robot)
      8. Nanobots

منبع

مطالب مرتبط :

تفاوت بینایی ماشین و بینایی کامپیوتر

آشنایی با ماشین بینایی

آشنایی با بینایی ماشین و بینایی رایانه ای

بسياري از محصولات شركت هاي توليدي، در سراسر دنيا قابل فروش هستند. با توجه به اين مسئله وجود باركدهاي منحصر به فردي كه آنها را از يكديگر متمايز سازد ضروري به نظر مي رسد.تبديل اعداد به باركد خواندن باركد نياز به استاندارد مشخصي دارد. در حال حاضر در دنيا چند استاندارد براي توليد و استفاده از باركد وجود دارد كه معتبرترين آنها استاندارد EAN/UCC است كه103 كشور در دنيا از آن تبعيت مي كنند و حدود90 درصد تجارت دنيا را پوشش مي دهد.

در ايران به علت ضرورتي كه بنا به توسعه صدور كالاهاي غيرنفتي ايران به بازارهاي جهاني به وجود آمد در سال1374 سازماني با عنوان »مركز ملي شماره گذاري كالا و خدمات« زير نظر موسسه مطالعات و پژوهش هاي بازرگاني تاسيس شد و پس از انجام مطالعات لازم با انتخاب استاندارد EAN/UCC كشور ما به عضويت موسسه بين المللي EAN International درآمد. تاكنون بيش از5 هزار شركت- كه بيشتر آنها شركت هاي توليدكننده محصولات غذايي و شيميايي هستند- به عضويت اين موسسه درآمده و براي كالاها و محصولات خود باركد دريافت كرده اند.
باركد محصولات،12 رقمي است. البته در برخي از كشورها به دلايل مختلف باركد13 رقمي نيز وجود دارد.12 رقم باركد به شرح زير معني دار مي شود:

سه رقم اول نمايانگر كد كشور(626= كد ايران)،5 رقم بعدي كد شركت سازنده،4 رقم بعدي كد كالاي مربوطه و در نهايت1 رقم آخر كد كنترل توسط رايانه به منظور كنترل صحت كد مورد نظر است.
براي مثال باركد زير مربوط به دستمال كاغذي200 برگي يكي از شركت هاي توليدي است به طور حتم تا به حال در هنگام خريد يا پس از خريد كالا به علامت باركد چاپ شده در روي بسته بندي آن توجه كرده ايد و اين سئوال برايتان پيش آمده كه اين خطوط چه هستند و چه كارآيي دارند.

عامه مردم درباره باركد، نظرات متفاوتي دارند. خيلي ها فكر مي كنند باركد نمايانگر قيمت كالاست. برخي ديگر نيز باركد را علامت استاندارد و عده اي باركد را شماره مجوز كالا مي دانند.
باركد شامل يك سري عدد و تعدادي خطوط موازي سياه رنگ با ضخامت هاي مختلف در زمينه سفيد بوده كه از طريق دستگاه پويشگر (Scanner) توسط امواج مادون قرمز قابل خواندن و انتقال به رايانه است. هر يك از اين ميله ها مانند يك بيت ارزشي، معادل صفر و يك دارند.
هر يك از اين كدها در بانك اطلاعاتي مربوط، داراي اطلاعات كاملي شامل شرح، مشخصات دقيق و فني، موجودي، اطلاعات ورود و خروج براي استفاده كنندگان ذي ربط هستند.

استفاده از باركد فقط به محصولات توليدي شركت ها محدود نمي شود. در كارخانه ها و موسسات توليدي به منظور رديابي مداوم اطلاعات كالاهاي توليدي در خطوط مختلف توليد قطعات مصرفي موجود در انبارها، باركدهاي منحصر به فردي ايجاد و با اين سيستم رديابي مي شود. سيستم باركد كمك مي كند تا تغيير اطلاعات را توسط سيستم باركد به بانك هاي اطلاعاتي منتقل كرده و همواره اطلاعات موجودي هاي خود را به روز نگه داريد. در واقع باركد به عنوان يك ترمينال ورودي كمك مي كند تا تغيير يا ثبت اطلاعات با حداقل خطاي اطلاعاتي به رايانه منتقل شود.

در فروشگاه هاي بزرگي كه روزانه مقدار زيادي كالاي ريز و درشت به آنها وارد و يا خارج مي شود و مسئولين براي كنترل موجودي هاي خود همواره به اطلاعات سطوح موجودي نياز دارند استفاده از باركد بسيار ضروري است. در غير اين صورت بايد هرازگاهي با تعطيلي فروشگاه اقدام به شمارش و كنترل موجودي كرد. اين كار نه تنها بسيار دشوار و طاقت فرساست بلكه امكان بروز اشتباه در آن نيز زياد است.

در حال حاضر در كشور ما از باركد براي جمع آوري و ثبت اطلاعات مختلف استفاده هاي متنوعي مي شود. از كارت هاي حضور و غياب پرسنلي گرفته تا قبوض آب و برق و تلفن، اطلاعات خطوط توليد و ردياب محصولات، موجودي هاي انبار، كتب جهت ثبت شماره استاندارد بين المللي كتاب (شابك) و از همه بيشتر براي كالاهاي توليدي شركت ها كه در فروشگاهها ارائه مي گردد و …
براي راه اندازي سيستم هاي مبتني بر باركد، نياز به تجهيزاتي مانند نرم افزار توليد باركد، چاپگر چاپ باركد، پويشگر (Scanner) و برچسب هاي ويژه داريم.
البته توسعه و پيشرفت در زمينه باركد نيز مانند ساير علوم و فن آوريها به سرعت در حال وقوع است.

منبع


بارکد تقریبا در تمام بخشهای زندگی ما وجود دارد , در سوپر مارکتها , بیمارستانها زندانها و حتی در خانه خودمان !

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

مطمئن باشید فقط شما نیستید که دوست دارید سر از راز این خطوط و فضاهای میان آنها دربیاورید خطوطی که هر روز حد اقل بر روی برچسبهای مواد غذائی یا نامه های پستی خود می بینید . همه آنها به نظر یکسان می آیند اما ي نیست زیرا هر صنعتی روش کدگذاری مخصوص به خود را دارد و از آن به عنوان استاندارد استفاده میکند که در بخشهای بعدی این روشها را توضیح خواهیم داد . اگر در فکر بکارگیری تکنولوژی بارکد در شغل خود هستید موارد مهمی است که باید در نظر بگیرید تا این تکنولوژی بر تمام مشکلات شما غلبه کرده و کار شما را سهولت ببخشد .

انواع مختلف روشهای کدگذاری

بارکد در شکلهای مختلف ارائه میشود که ساده ترین نوع آن را حتما در فروشگاهها و یا سوپر مارکتها دیده اید . اما استانداردهای دیگر بارکد هم وجود دارد که در صنایع مختلف استفاده می شود مثل : مراکز درمانی , کارخانه های صنعتی و … که تمام اینها نحوه کدگذاری (Symbology) منحصر به فرد برای خود را دارند که غیر قابل تغییر هستند. حال این سوال پیش می آید که چرا اینهمه کدهای متفاوت وجود دارد ؟ این سوال به سادگی قابل جوابگوئی است چرا که Symbology های مختلف برای حل مشکلات صنایع گوناگون به وجود آمده اند .

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

UPC/EAN
این نوع کدگذاری برای کنترل خروجی ( کنترل نهائی ) به کار برده میشود . کد UPC با طول ثابت میباشد و به طور خاص در فروشگاهها و کارخانجات تولید کننده مواد غذائی کاربرد دارد . این کد برای سوپرها و این چنین مواردی در نظر گرفته شده است که با استفاده از 12 رقم فضای مناسبی برای تعریف محصولات در اختیار ما قرار میدهد .

Code 39
این روش کد گذاری به این دلیل ایجاد شد تا در صنایعی که احتیاج به استفاده از حروف نیز در کنار ارقام دارند به کار برده شود . این روش کدگذاری عمومی ترین روش کدگذاری است که از قدیم به کار برده میشود . این نوع کدگذاری معمول درا تمام صنایع – به استثناء تولید کنندگان موادغذائی – به کار گرفته میشود اما با توجه به اینکه بارکد دارای طول زیادی خواهد بود برای مواردی که اندازه برچسب روی اقلام تولیدی گزینه ای قابل توجه باشد پیشنهاد نمی شود.

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

Interleaved 2 of 5
از دیگر روشهای کدگذاری معمول در صنایع حمل و نقل است که در کنار آن کاربرد بسیاری در انبارها و شرکتهای عمده فروش می باشد . این کدها هم به صورت فشرده و کم جا هستند .

PDF417
این روش کدگذاری به عنوان روش دو-بعدی ( 2D ) شناخته شده است که به صورت خطی نبوده و بیشتر شما را به یاد جدول روزنامه ها می اندازد اما تفاوت این کد با سایر کدهائی که در بالا توضیح داده شد این است که PDF417 واقعا یک فایل داده های سیار ( Portable Data File ) است که مثلا میتواند شامل : اسم , آدرس , شماره تلفن منزل , شماره گواهینامه رانندگی و عکس و حتی خلاصه سوابق رانندگی شما باشد !

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

بارکدها چگونه خوانده میشوند :

بارکدها با کشیده شدن تابش کوچکی از نور روی کد چاپ شده قابل خواندن هستند . چشمان شما تنها خط قرمزی از نور را میبیند که از بارکد خوان تابیده میشود اما چه اتفاقی در تابش و بازتاب آن نور قرمز در میان این خطوط تیره و روشن می افتد ؟ قطعه ای در بارکدخوان بازتاب نور را دریافت کرده و آنرا به سیگنالهای الکتریکی تبدیل میکند . منبع تابش لیزر شروع به خواندن فضای خالی قبل از اولین خط مشکی میکند و این کار را تا انتهای کد انجام میدهد – اگر بارکد دارای این فضای خالی معین در ابتدا و انتهای خود نباشد قابل خواندن نیست که به این فضا ها Quiet Zone می گوئیم – هر چه کد ما طولانی تر باشد تعداد نوارهای ما نیز بیشتر خواهد بود و هر چه تعداد نوارهای ما بیشتر باشد باید ارتفاع نوارها نیز بیشتر شود تا کد به راحتی قابل خواندن باشد .

بارکد خوانها:

به طور کلی سه مدل بارکد خوان وجود دارد : ثابت , بارکدخوانهای سیار دسته ای و بارکدخوانهای سیار بی سیم

1 – بارکدخوانهای ثابت :

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

2 – بارکدخوانهای سیار دسته ای :

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

قرار گرفتن روی دست (Handheld)    قرار گرفتن در کیف (Wearable)        قرار گرفتن در ماشین (Truck)

3 – بارکدخوانهای سیار بی سیم :

این نوع از بارکدخوانها هم اطلاعات را در حافظه نگهداری میکنند اما انتقال اطلاعات به صورت بلادرنگ انجام میشود این مدل از بارکدخوانها در مواردی که دسترسی اطلاعات برای تصمیمات مهم است استفاده میشود . . این دستگاهها شامل یک اسکن کننده بارکد , یک صفحه نمایش برای انجام کار مورد نظر و یک صفحه کلید کوچک برای وارد کردن داده های مورد نظر مثل تعداد کالا و … هستند . ضمن اینکه یک پایه (Cradle) نیز برای انتقال اطلاعات به کامپیوتر حتما باید تهیه شود. وقتی شما احتیاج به انتقال سریع اطلاعات دارید این دستگاههای بی سیم هستند که کار شما را عملی میکنند . این دستگاهها به صورتهای زیر استفاده میشوند که برنامه شما تعیین میکند که به کدام صورت استفاده شود :

قرار گرفتن روی دست (Handheld)      قرار گرفتن در کیف (Wearable)       قرار گرفتن در ماشین (Truck)

اسکنر چکونه کار میکند :

پایه هر دستگاه بارکد خوان یک اسکن کننده , یک رمزگشاینده و یک کابل ارتباطی میان کامپیوتر و دستگاه بارکد خوان میباشد . وظیفه اسکن کننده این است که کد را اسکن کرده و داده های خروجی الکتریکی ایجاد نماید که داده ها با نوارهای مشکی و فاصله بین آنها مرتبط است . این داده های الکتریکی سپس توسط رمز گشا آنالیز شده و بر اساس نوع کدگذاری و محتوی کد به صورت متعارف کامپیوتری ( شامل حروف – اعداد و یا علامتهای دیگر استاندارد مثل ” – ” و ” . ” و … ) نمایش داده می شود .

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

این روش اسکن شدن بیشتر در بارکدخوانهای سیار به کار برده میشود .

کدام بارکدخوان برای کار و نرم افزار شما مناسب است ؟

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

* – دستگاهها در چه محیطی به کار میروند ؟ در یک محیط کاملا سخت صنعتی یا در یک فروشگاه معمولی !

* – استفاده از دستگاه برای مدت مشخصی می باشد یا به طور دائم از آن استفاده خواهد شد ؟

* – آیا به قابلیت سیار بودن دستگاه احتیاج دارید ؟

* – آیا خواندن کدها در نزدیکی کالاها می باشد یا در فاصله دورتر قرار دارند ؟

*- دستگاه چگونه به کامپیوتر متصل میشود ؟

*- آیا اطلاعات خوانده شده باید سریعا منتقل شوند یا خیر ؟

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

آیا دستگاه بارکد خوان با کامپیوتر من سازگار است ؟

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

چاپ بارکد :

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

استفاده از بارکد در هر کجا !

تمام صنایع میتوانند از مزیتهای تکنولوژی بارکد سود ببرند . در زیر برخی از موارد کاربردی بارکدها را ذکر میکنیم :

کارخانجات :
کارخانجات بزرگ و کوچک , انبارها میتوانند از مزایای سهولت استفاده از بارکد استفاده کنند که این سیستم با تمام روشهای مدیریتی مثل MRP , WMS و MES سازگار است .

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

فروشگاهها :
با استفاده از بارکد در فروشگاهها میتوان کنترل دقیقی روی ورود و خروج کالاها , موجودی انبار و قیمت جنسها در لحظه داشت ضمن اینکه با استفاده از ارتباط بی سیم میتوان به راحتی در لحظه سفارش مشتری را ثبت و خرید را انجام داد .

مراکز درمانی :
استفاده از سیستم بارکد در مراکز درمانی باعث میشود تا مدیریت اطلاعات مهمی نظیر : پیشینه پزشکی بیمار , نوع بیمه و سایر اطلاعات به دست آورد.


بررسی اجمالی استانداردهای رایج برای بارکد و حروف و کاراکترهایی که پشتیبانی می کنند.

استانداردهای رایج برای بارکد

پسورد فایل : behsanandish.com

بارکد چیست؟ قسمت 1
بارکد چیست؟ قسمت 2

بارکد چیست؟

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

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

ضرورت استفاده از بارکد

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

همین طور که فروشگاهها، بزرگ و بزرگتر شدند تا به فروشگاههاى زنجیره اى امروزى رسیدند، کار مشکل و مشکل تر شد. نخست مجبور شدند در فروشگاهها را هرچند وقت یکبار ببندند و تمام کیسه ها و بسته ها و کنسروها را شمارش کنند. کار بسیار دشوارى بود.
این کار سخت و هزینه بردار بیش از یک بار در سال انجام نمى شد (انبارگردانى)، بنابراین مدیران فروشگاهها مجبور بودند بیشتر کارهایشان را بر اساس حدس و گمان انجام دهند و در نهایت این نیاز مادر اختراع شد!

سیستم بارکدگذارى چگونه آغاز شد؟

در سالذ۱۹۳۲ گروهى از دانشجویان رشته مدیریت بازرگانى دانشگاه هاروارد، تصمیم گرفتند روشى را انتخاب کنند تا بر اساس آن مشتریان کالاى مورد نظرشان را از درون کاتالوگى پیدا کنند و سپس با برداشتن کارت هاى خاص چسبانده شده در کنار نام هر کالا و تحویل به مسؤول کنترل و قرار دادن آن در دستگاه کارت خوان و پانچ، مستقیماً کالا را از طریق انبار به باجه کنترل انتقال دهند و صورتحساب کامل را دریافت کنند و مهم تر از همه صاحبان فروشگاه از موجودى انبار خود اطلاعات به روزى داشته باشند. البته ایده سیستم «بارکدینگ» مدرن و پیشرفته از سال ۱۹۴۸ وارد سیستم تجارى شد.

سیستم بارکد امروزى چگونه شروع به کار کرد؟

سال ۱۹۴۸ بود که رئیس یک فروشگاه مواد غذایى در آمریکا از کار کند و بى دقت کارکنان فروشگاه به ستوه آمد و براى پیدا کردن راه حل به مسؤولان دانشگاه (Drexel) مراجعه کرد تا تقاضاى ساخت سیستم کنترل خودکارى را داشته باشد، اما مسؤولان دانشگاه از این نظریه استقبال نکردند.

یکى از دانشجویان فارغ التحصیل این دانشگاه به نام باب سیلور «Bob Silver» این گفت و گو را شنید و آن را با یکى از دوستانش Norman Joseph Woodland در میان گذاشت و تصمیم گرفتند براى ساخت چنین سیستمى شروع به کار کنند. آنها در شروع از رمز و الفباى سیستم مورس الهام گرفتند و سعى کردند با چاپ و طراحى میله هاى پهن و باریک این شیوه را راه اندازى کنند و مدتى بعد هم به فکر سیستم بارکد نقطه اى و دایره اى افتادند.

سال ۱۹۴۹ بود که توانستند اختراع خود را ثبت کنند و در سال ۱۹۵۲ نخستین سیستم بارکدخوان را ساختند. «وودلند» که از سال۱۹۵۱در شرکت IBM مشغول به کار شده بود، توانست با استفاده از موقعیتهایى که در آنجا برایش ایجاد مى شد، به کمک دوستش در سال ۱۹۵۲ دستگاهى به بزرگى یک میز تحریر بسازد و ۲ جزء اصلى در آن تعبیه کرد:

۱- یک حباب (لامپ) ۵۰۰ واتى به عنوان منبع نور.

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

بعداً متوجه شدند لامپ ۵۰۰ واتى میزان الکتریسیته اى زیادتر از آنچه آنها نیاز داشتند، تولید مى کند و میزان اضافى، علاوه بر بالا بردن هزینه ها، گرماى اضافى هم تولید مى کرد و از طرفى نگاه کردن به آن باعث آسیب چشم مى شد، بنابراین به فکر استفاده از منبعى افتادند که تمام نور مورد نیاز آنها را در فضاى کوچکى متمرکز کند. همان کارى که امروزه «لیزر» انجام مى دهد، اما در سال ۱۹۵۲ لیزر موجود نبود!

بعدها با گسترش و تولید لیزر «Laser» توانستند دستگاههاى بارکدخوان ارزان ترى تولید کنند. گرچه «باب سیلور» فرصت استفاده درست از دانش خود را در شرایط آسان تر نیافت و در ۳۸سالگى فوت کرد، اما همکارش کار را ادامه داد.

در سال ۱۹۷۲ سیستم بارکد نقطه اى نیز در عمل مورد استفاده قرار گرفت، اما این روش چندان موفق نبود (زیرا حین چاپ براحتى مغشوش مى شد.)

در سال ۱۹۷۴ وودلند در IMB سیستم بارکد خطى را گسترش داد و نخستین محصول خرده فروشى (محصولاتى چون آب میوه و آدامس) به این طریق فروخته شد. (و جالب اینکه در حال حاضر یک بسته از آن آدامس در موزه اى در آمریکا نگهدارى مى شود).
و سرانجام آقاى وود در سال ۱۹۹۲ توانست مدال ملى تکنولوژى را بابت به کارگیرى سیستم بارکد دریافت کند. (تنها به خاطر استراق سمع دوستش آقاى سیلور!) خلاصه آنکه، بارکدها و سایر برچسب هاى خوانا در جایى که نیاز به خوانده شدن اطلاعات با پردازش توسط کامپیوتر وجود دارد، استفاده مى شوند و کاربرها به عوض تایپ کردن رشته اى طویل از داده ها، تنها بارکد مورد نظر را جلوى دستگاه بارکدخوان قرار مى دهند و پردازش بدون نیاز به نیروى انسانى به طور کاملاً خودکار انجام مى شود. بنابراین بارکد شیوه شناسایى و تعیین هویت خودکار داده ها است.

رقمى که توسط بارکد تولید مى شود، عموماً محصول خاصى را نشان مى دهد. سیستم بارکدینگ به طور معکوس هم کار مى کند، یعنى قادر است با دریافت رقم مربوط به یک محصول، بارکد مورد نظر را ایجاد بکند و در واقع نوعى خود شناسایى انجام مى شود.
فواید بارکد کردن
۱- مصون بودن از خطاپذیرى به علت کاهش دخالت نیروى انسانى و وارد نشدن دستى اطلاعات.
۲- دسته بندى دقیق اطلاعات.
۳- سرعت بالا به همراه صحت ۱۰۰درصد.
۴- دسترسى آسان به اطلاعات واقعى و حقیقى (در جریان روند مدیریت) البته اگر: با دقت تمام کالاها در فروشگاهها بارکدگذارى شوند تا مراجعه کنندگان دچار دردسرهایى که ما با آن خوب آشنایى داریم، نشوند

منبع


كد 128 امكان كد گذاري همه ی 128 حرف مربوط به مجموعه كاراكترهاي كد اسكي را ارائه مي كند. اين كد با استفاده از خطوط و فضاهاي خالي با 4 پهناي مختلف ، به بيشترين فشردگي ممكن سمبل ها نسبت به روش هاي قديمي تر خود كه از خطوط و فضاهاي خالي با 2 ضخامت مختلف استفاده مي كردند ، رسيده است.

كد 128 ممكن است به صورت دو طرفه (از هر دو جهت ) اسكن شود و محدوديتي هم براي تعداد كاراكترها در هر باركد وجود ندارد. هر چند ممكن است طول باركد با توجه به نوع اسكنر مورد استفاده و يا مكان مورد نظر براي چاپ باركد محدود شود . اما اين روش محدوديتي براي طول باركد ايجاد شده ندارد.

كد 128 سه مجموعه كاراكتري متفاوت دارد كه در جدول مشخصات باركد به نام هاي Code Set a و Code Set B و Code Set C مشخص شده است .هر كدام از اين سه مجموعه كد مي تواند با كاراكتر شروع مربوط به خودش مورد انتخاب واقع شود. كاراكتر خاص `shift` در هر مجموعه به شما امكان مي دهد تا بتوانيد در بين يك كد ست از كد ست هاي ديگر هم استفاده كنيد با اين توصيف امكان استفاده ازچند كد ست در يك بار كد وجود دارد. با استفاده از اين روش طول باركد چاپ شده مي تواند به كمترين حد ممكن خود برسد.

در صورتي كه داده ها فقط شامل اعداد باشد استفاده از مجموعه كد C باعث مي شود تا طول باركد چاپ شده به كمترين حد ممكن تقليل پيدا كند . البته بايد اين نكته را در نظر داشته باشيد كه براي استفاده از Code Set C بايستي تعداد ارقام رشته اي كه مي خواهيد باركد آن را چاپ كنيد زوج بوده و حداقل 4 رقم و يا بيشتر طول داشته باشد.
هر كدام از مجموعه كدهاي a,B,C يك يا چند كاراكتر براي توابع خاص رزرو كرده اند
از ويژگي هاي كد 128 استفاده از رقم كنترل براي بررسي صحت باركد خوانده شده توسط دستگاه اسكنر باركد مي باشد.

ساختار باركد 128 به صورت زير است
• يك فضاي يكنواخت و يا خالي در سمت چپ خطوط باركد
• كاراكتر شروع
• تعداد نامحدودي از داده ها
• رقم كنترل صحت
• كاراكتر خاتمه
• يك فضاي يكنواخت و يا خالي در سمت راست خطوط باركد
پهناي فضاي يكنواخت و يا خالي حداقل بايد 10 برابر پهناي نازكترين خط / نازكترين فاصله خالي در باركد باشد.

هر كاراكتر در باركد 128 تركيبي از 3 خط و 3 فاصله است . (كاراكتر خاتمه داراي 4 خط و 3 فاصله مي باشد ) .هر خط / فاصله خالي مي تواند يكي از 4 واحد پهناي مختلف را داشته باشد . نازكترين خط / فاصله خالي بايد يك چهارم پهن ترين خط/ فاصله خالي باشد. جدول مشخصات باركد پهناي خط/ فاصله خالي براي همه مجموعه كاراكترهاي مربوط به كد 128 را نشان مي دهد. دقت كنيد كه مجموع پهناي خطوط در هر يك از كاراكتر ها عددي زوج و مجموع فواصل خالي براي هر كدام از كاراكترها عددي فرد است. اولين ستون در جدول با عنوان « value » حاوي عددي است كه براي محاسبه رقم كنترل بكار مي رود.

بارکد چیست؟ قسمت 1
بارکد چیست؟ قسمت 2

مقدمه :

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

تاریخچه الگوریتم کلونی مورچه ها :

به‌کارگیری سیستم مورچگان اولین بار (الگوریتم مورچگان) توسط Dorgio و همکاران . به عنوان یک نگرش با چندین عامل برای حل مسائل بهینه‌سازی ترکیبی یا راه‌حل چندعامله (multi Agent) مشکل، مانند مسئله فروشنده دوره گرد یا (TSP) (Traveling Sales Person)  و مسئله تخصیص منابع یا QAP پیشنهاد و ارائه شد.

الگوریتم بهینه سازی کلونی مورچه ها یا Ant Colony

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

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

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

1. اجتماعی بودن:

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

1. باعث می‌شود مسیر جذابیت کمتری برای مورچه‌های بعدی داشته باشد. از آنجا که یک مورچه در زمان دراز راه‌های کوتاه‌تر را بیش تر می‌پیماید و تقویت می‌کند هر راهی بین خانه و غذا که کوتاه‌تر(بهتر) باشد بیشتر تقویت می‌شود و آنکه دورتر است کمتر.

2. اگر فرومون اصلاً تبخیر نمی‌شد، مسیرهایی که چند بار طی می‌شدند، چنان بیش از حد جذّاب می‌شدند که جستجوی تصادفی برای غذا را بسیار محدود می‌کردند.

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

2.هوشمندی توده‌ای: هوش جمعی (swarmIntelligence)

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

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

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

مسیریابی با الهام از کلونی مورچه ها

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

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

  •   Stigmergy  :  ایده اصلی در تعاملات ارتباط با واسطه محیط  لانه سازی موریانه ها  ترشح اسید فرمیک توسط مورچه هامزایایی که هوش جمعی از آن بهره می برند
  • مقیاس پذیری(scalability): تعاملات توزیع شده موجودات
  • خطا پذیری(Fault tolerance)
  • عدم وجود کنترل متمرکز
  • قابلیت تطبیق پذیری عاملها
  • سرعت انتقال تغییر
  • تفکیک پذیری (modularity)
  • خودکار بودن سیستم : نیاز به نظارت انسان نیست
  • کارکرد موازی

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

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

ویژگیهای الگوریتم کلونی مورچه ها:

الگوریتم مورچگان:

1. چندمنظوره میباشد: می‌تواند برای انواع مشابه یک مسأله به کار رود.

2قوی می باشد:یعنی با کمترین تغییرات برای دیگر مسائل بهینه‌سازی ترکیبی به کار برده می‌شود

3.یک روش مبتنی بر جمعیت می‌باشد.

 مزیت های ACO :

1. ایجاد انعطاف در حل هرگونه مسئله بهینه‌سازی

2. پسخورد مثبت (پسخورد مثبت، منجر به کشف سریع جوابهاب خوب می‌شود)

3. محاسبات توزیع شده (محاسبات توزیع شده از همگرایی زودرس وبی‌موقع جلوگیری می‌کند)

4. هیوریستیک آزمند سازنده (به کشف جوابهای قابل قبول در مراحل اولیه جستجو کمک می‌کند).

کاربردهای الگوریتم کلونی مورچه ها:

از کاربردهای الگوریتم (ACO) می‌توان به بهینه کردن هر مسئله‌ای که نیاز به یافتن کوتاهترین مسیر دارد استفاده می شود:

  • مسیریابی داخل شهری و بین شهری
  • مسیریابی بین پست‌های شبکه‌های توزیع برق ولتاژ بالا
  • مسیریابی شبکه‌های کامپیوتری
  • مسیر یابی تامین مواد اولیه جهت تولید به هنگام
  • برنامه ریزی دروس دانشگاهی
  • توازن بار ترافیک شبکه ومسیریابی مبتنی برمهندسی ترافیک
  • کاوش استفاده از وب با استفاده از کلونی مورچه ها
  • مسئله زمان بندی حرکت قطار ها
  • برنامه ریزی پرواز
  • بهینه سازی سکوهای دریا
  • مسیریابی شبکه های کامپیوتری
  • مسأله راهیابی در شبکه های مخابرات راه دور

 

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

پروسه پیدا کردن کوتاه‌ترین مسیر توسط مورچه ها، ویژگی‌های بسیار جالبی دارد، اول از همه قابلیت تعمیم زیاد و خود- سازمانده بودن آن است. در ضمن هیچ مکانیزم کنترل مرکزی ای وجود ندارد. ویژگی دوم قدرت زیاد آن است. سیستم شامل تعداد زیادی از عواملی است که به تنهایی بی اهمیت هستند بنابراین حتی تلفات یک عامل مهم، تاثیر زیادی روی کارآیی سیستم ندارد. سومین ویژگی این است که، پروسه یک فرآیند تطبیقی است. از آنجا که رفتار هیچ کدام از مورچه ها معین نیست و تعدادی از مورچه ها همچنان مسیر طولانی تر را انتخاب میکنند، سیستم می تواند خود را با تغییرات محیط منطبق کند و ویژگی آخر اینکه این پروسه قابل توسعه است و می تواند به اندازهٔ دلخواه بزرگ شود.
همین ویژگی‌ها الهام بخش طراحی الگوریتم هایی شده اند که در مسائلی که نیازمند این ویژگی‌ها هستند کاربرد دارند. اولین الگوریتمی که بر این اساس معرفی شد،الگوریتم ABC بود. چند نمونه دیگر از این الگوریتم‌ها عبارتند از: Ant Net،ARA،PERA، Ant Hot Net

نرم‌افزارهای کاربردی در الگوریتم کلونی مورچه ها:

 در برنامه‌های کامپیوتری الگوریتم از زبان برنامه‌نویسی  (Borland C ++5.02,C) نیز استفاده می‌شود مدلهای ریاضی که دراین الگوریتم استفاده می‌شود جوابهای آن بااستفاده از نرم‌افزار LINGO بدست می‌آید.

جمع‌بندی و نتیجه‌گیری:

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

منبع


منابع

http://fa.wikipedia.org

http://www.asriran.com

http://www.radoo.ir/

http://rayanehmag.net

http://farhanian.blogsky.com

الگوریتم کلونی مورچه ها قسمت 1
الگوریتم کلونی مورچه ها قسمت 2
الگوریتم کلونی مورچه ها قسمت 3

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

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

الگوریتم کلونی مورچگان یا (ACO) در رتبه دوم از نظر مصرف قرار دارد. بهتر است ساختار آن را با تشریح مدل بیولوژیکی آغاز کنیم.

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

رفتار جستجو گرانه مورچه‌ها

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

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

شاید جالب باشد بدانید که بعضی از مورچه‌ها در واقع جوانان اکتشاف‌گری هستند که توجهی به میزان فرومون نمی‌کنند و اهمیتی برای‌شان ندارد که دیگران از چه مسیری رفتند. البته شاید این اتفاق ناشی از هوش کم‌شان باشد.

 

الگوريتم های بهینه سازی کلونی مورچگان

تفاوت مورچه‌های واقعی و مورچه‌های مصنوعی

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

مدل تصادفی:

احتمال اینکه مورچه بعدی مسیر A را انتخاب کند:

 

 

 

nA(t) و nB(t) تعداد مورچه هایی که در زمان t در مسیر A و B قرار دارند.

c: درجه جذب برای یک مسیر ناشناخته هر چه c بزرگتر باشد به معنی مقدار فرومون بیشتر برای عدم انتخاب مسیر تصادفی است.

a: بایاس به سمت فرومون به جا مانده در روند تصمیم گیری.

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

SACO: Simple Ant Colony Optimization

ACOA: Ant Colony Optimization Algorithms

AS: Ant System

Elitist AS: Elitist Ant System

ACS: Ant Colony System

Max-Min AS

و …

منبع


الگوریتم کلونی مورچه ها در هوش مصنوعی

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

بهینه سازی کلونی مورچه ها یا Ant Colony Optimization و به اختصار (ACO)، که در سال ۱۹۹۲ توسط مارکو دوریگو (Marco Dorigo) و در رساله دکتری وی مطرح شد، یکی از بارزترین نمونه ها برای روش های هوش جمعی است. این الگوریتم از روی رفتار جمعی مورچه ها الهام گرفته شده است. مورچه ها با همکاری یکدیگر، کوتاه ترین مسیر را میان لانه و منابع غذایی پیدا می کنند تا بتوانند در کمترین زمان مواد غذایی را به لانه منتقل کنند. هیچ کدام از مورچه ها، به تنهایی قادر به انجام چنین کاری نیستند، اما با همکاری و پیروی از چند اصل ساده، بهترین راه را پیدا می کنند. الگوریتم مورچه ها، یک مثال بارز از هوش جمعی هستند که در آن عامل هایی که قابلیت چندان بالایی ندارند، در کنار هم و با همکاری یکدیگر می توانند نتایج بسیار خوبی به دست بیاورند.

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

برای هر مورچه کارهای زیر باید انجام شود:

۱- قانون حرکت احتمالی: براساس این قانون مورچه را در فضای جستجو حرکت داده به این ترتیب راه حل مسئله ایجاد می شود
۲- ارزیابی بهترین: باید بهترین راه حلی که توسط این مورچه ایجاد شده را ارزیابی کرد
۳- به روز کردن فرمن: فرمن هر ضلع را با استفاده از تقویت یک راه حل خوب به روز می کنیم
۴-  دوباره به مرحله دوم برگشته و این کار را ادامه می دهیم تا به میزان فرمن دلخواه برسیم
يک رفتار پايه اي ساده در مورچه ها وجود دارد : آنها هنگام انتخاب بين دو مسير بصورت احتمالاتي (Statistical) مسيري را انتخاب مي کنند که فرمن بيشتري داشته باشد يا بعبارت ديگر مورچه هاي بيشتري  قبلا از آن عبور کرده باشند. حال می بینیم که همين تمهيد ساده چگونه منجر به پيدا کردن کوتاهترين مسير خواهد شد :
همانطور که در شکل مي بينيم مورچه ها روي مسير در حرکت اند (در دو جهت مخالف)
اگر در مسير مورچه ها مانعي قرار دهیم مورچه ها دو راه براي انتخاب کردن دارند.
اولين مورچه از A مي آيد و به C مي رسد، در مسير هيچ فرمني نمي بيند بنابراين براي مسير چپ و راست احتمال يکسان مي دهد و بطورتصادفي و احتمالاتي مسير CED  را انتخاب مي کند.
مورچه ها در حال برگشت و به مرور زمان يک اثر بيشتر فرمن را روي CED حس مي کنند و آنرا بطور احتمالي و تصادفي ( نه حتما و قطعا)  انتخاب مي کنند. در نهايت مسير CED  بعنوان مسير کوتاهتر برگزيده مي شود. در حقيقت چون طول مسير CED  کوتاهتر است زمان رفت و برگشت از آن هم کمتر مي شود و در نتيجه مورچه هاي بيشتري نسبت به مسير ديگر آنرا طي خواهند کرد چون فرمن بيشتري در آن وجود دارد.
نکته ديگر مسئله تبخير شدن فرمن بر جاي گذاشته شده است. برفرض اگر مانع در مسيرAB  برداشته شود و فرمن تبخير نشود مورچه ها همان مسير قبلي را طي خواهند کرد. ولي در حقيقت اين طور نيست. تبخير شدن فرمن و احتمال به مورچه ها امکان پيدا کردن مسير کوتاهتر جديد را مي دهند. تبخیر فرمون از ۳ جهت مفید است:

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

۲) اگر فرمن اصلاً تبخیر نمی شد، مسیرهایی که چند بار طی می‌شدند، چنان بیش از حد جذاب می‌شدند که جستجوی تصادفی برای غذا را بسیار محدود می‌کردند،

۳) وقتی غذای انتهای یک مسیر جذاب تمام می‌شد رد باقی می‌ماند.

حل مسئله ی فروشنده دوره گرد با الگوریتم کلونی مورچه ها

همانطور که مي دانيم مسئله يافتن کوتاهترين مسير، يک مسئله بهينه سازيست که گاه حل آن بسيار دشوار است و گاه نيز بسيار زمانبر. بعنوان مثال مسئله فروشنده دوره گردTSP)) ، در اين مسئله فروشنده دوره گرد بايد از يک شهر شروع کرده، به شهرهاي ديگر برود و سپس به شهر مبدا بازگردد بطوريکه از هر شهر فقط يکبار عبور کند و کوتاهترين مسير را نيز طي کرده باشد. برای حل مسئله فروشنده سیار که باید از n شهر دیدن کند و از هر کدام فقط یکبار عبورکند نیز می توان از الگوریتم ACO استفاده کرد. مثلا اگر زوج مرتب (N,E) را در نظر بگیریم که N تعداد شهرها و E اضلاع گراف باشند و di,j فاصله اقلیدسی بین شهرهای i و j باشد و  b تعداد مورچه ها در شهر i و در زمان t، هریک از مورچه ها باید مراحل زیر را انجام دهد:

بصورت احتمالی به یکی از شهرها برود که این احتمال تابع فاصله تا شهر و میزان فرمن موجود در مسیر است. برای اینکه سفر مورچه معتبر باشد حق دیدن شهر را ندارد. وقتی سفر مورچه تمام شد از خود ماده ای دفع می کند. در هر n بار تکرار الگوریتم که به آن حلقه می گویند هر مورچه یک سفر کامل را انجام می دهد. فرمن بجا مانده از مورچه ها بزودي تبخير مي شود ولي در کوتاه مدت بعنوان رد  مورچه بر سطح زمين باقي مي ماند. همانطور که گفته شد «تبخير شدن فرمن» و «احتمال-تصادف» به مورچه ها امکان پيدا کردن کوتاهترين مسير را مي دهند. اين دو ويژگي باعث ايجاد انعطاف در حل هرگونه مسئله بهينه سازي مي شوند. مثلا در گراف شهرهاي مسئله فروشنده دوره گرد، اگر يکي از يالها (يا گره ها) حذف شود الگوريتم اين توانايي را دارد تا به سرعت مسير بهينه را با توجه به شرايط جديد پيدا کند. به اين ترتيب که اگر يال (يا گره اي) حذف شود ديگر لازم نيست که الگوريتم از ابتدا مسئله را حل کند بلکه از جايي که مسئله حل  شده تا محل حذف يال (يا گره) هنوز بهترين مسير را داريم، از اين به بعد مورچه ها مي توانند پس از مدت کوتاهي مسير بهينه(کوتاهترين) را بيابند.

کاربردهای الگوریتم کلونی مورچه ها

از کاربردهايACO  مي توان به بهينه کردن هر مسئله اي که نياز به يافتن کوتاهترين مسير دارد ، اشاره نمود مانند :
۱٫ مسير يابي داخل شهري و بين شهري
۲٫  مسير يابي بين پست هاي شبکه هاي توزيع برق ولتاژ بالا
۳٫ مسير يابي شبکه هاي کامپيوتري

برخی از کاربردهای الگوریتم کلونی مورچه ها

مسيريابي شبکه‌هاي کامپيوتري با استفاده از ACO:

اطلاعات بر روي شبکه بصورت بسته هاي اطلاعاتي کوچکي (Packet) منتقل مي شوند. هر يک از اين بسته ها بر روي شبکه در طي مسير از مبدا تا مقصد بايد از گره هاي زيادي که مسيرياب (Router) نام دارند عبور مي کنند. در داخل هر مسيرياب جدولي قرار دارد تا بهترين و کوتاهترين مسير بعدي تا مقصد از طريق آن مشخص مي شود، بنابر اين بسته هاي اطلاعاتي حين گذر از مسيرياب ها با توجه به محتويات اين جداول عبور داده مي شوند. روش ACR : Ant Colony Routering پيشنهاد شده که بر اساس ايده کلونی مورچه به بهينه سازي جداول مي‌پردازد و در واقع به هر مسيري با توجه به بهينگي آن امتياز مي دهد. استفاده از ACR به اين منظور داراي برتري نسبت به ساير روش هاست که با طبيعت ديناميک شبکه سازگاري دارد، زيرا به عنوان مثال ممکن است مسيري پر ترافيک شود يا حتي مسير يابي (Router) از کار افتاده باشد و بدليل انعطاف پذيري که ACO در برابر اين تغييرات دارد همواره بهترين راه حل بعدي را در دسترس قرار مي دهد.

استفاده پژوهشگران از الگوي کلونی مورچه ها جهت اداره ترافيک

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

حل مسائل زمانبندي پروژه ها با منابع محدود با استفاده از الگوريتم مورچگان

مساله زمانبندي پروژه ها با منابع محدود (RCPSP) درگير يافتن توالي مناسبي براي انجام فعاليتهاي يك پروژه است به نحوي كه محدوديت هاي تقدم و و تاخر شبكه پروژه و انواع مختلف محدوديتهاي منبعي موجود در پروژه به طور همزمان ارضاء شوند و معيار سنجش معيني از جمله زمان انجام پروژه، هزينه انجام، تعداد فعاليتهاي تاخيردار و غيره بهينه گردند. RCPSP  مساله اي NP-hard به شمار مي آيد و اهميت اين مساله در ابعاد تئوري و عملي باعث شده است كه تاكنون رويكردهاي ابتكاري و يا فراابتكاري جهت حل اين مساله ارائه شود. رويكردي بر اساس بهينه سازي توسط كلوني مورچگان براي حل مساله زمانبندي پروژه ها با منابع محدود ارائه شده است . از جمله تفاوتهاي اصلي رويكرد ارائه شده  با این شیوه قانون انتخاب احتمالات به صورت نوين، تغيير پارامترهاي الگوريتم به صورت پويا، جلوگيري از بروز رفتارهاي نامناسب الگوريتم در تكرارهاي بالا و تعيين رفتار كلي الگوريتم در تكرارهاي بالا می باشد.

كاربرد الگوريتم مورچه در بهينه سازي شبكه هاي توزيع آب

بكارگيري الگوريتم مورچه همانند ساير روشهاي بهينه سازي تكاملي، نيازمند تعدادي پارامتر كنترل كننده ميباشد. اين پارامترها كه اغلب به كمك آناليز حساسيت تعيين مي شوند، نقش تعيين كننده اي در عملكرد روش دارند. علاوه بر اين پارامترها بايد از ضريب جريمه نيز براي مسايل بهينه سازي مقيد استفاده كرد. در اين کاربرد از الگوريتم مورچه اي با كمترين تعداد پارامترهاي كنترل كننده، براي بهينه سازي شبكه هاي توزيع آب استفاده شده است.

الگوريتم مورچه اي براي طراحي مسير حركت باربران خودكار در سيستم تك حلقه

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

استفاده از الگوريتمaco  درطراحي شبكه هاي توزيع شعاعي

در اینجا از الگوريتم کلونی مورچه ها در طراحي بهينه شبكه هاي توزيع شعاعي كه در آنها مسير تغذيه مشخص است، استفاده مي شود. اين الگوريتم ضمن ارائه ميزان نفوذ هر يك از سطوح ولتاژ در شبكه مورد مطالعه، ظرفيت بهينه ترانسفورماتور ها و سطح مقطع بهينه فيدرها را در هر يك از سطوح ولتاژي ارائه مي نمايد. الگوريتم فوق بر روي يك شبكه نمونه اجرا شده و نتايج آن نشانه برتري روش ارائه شده نسبت به روش الگوريتم pso و الگوريتم سطح تغذيه است. نقطه قوت اين الگوريتم سرعت بالا، يعني بيشتر از ۲۴۰ برابر الگوريتم تعيين سطح تغذيه و بيش از ۱۸ برابر الگوريتم pso و همچنين كاهش۱۰ درصدي (بطور متوسط) قيمت نهايي در مقايسه با ديگر الگوريتم هاي موجود به سبب اضافه كردن ظرفيت ترانسفورماتور ها به عنوان متغير فضاي جستجو مي باشد.

ارايه يک مدل ابتکاري مبتني بر سيستم اجتماع مورچه ها براي حل مسئله زمان بندي حركت قطار

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

بررسی پارامترهای الگوریتم AntNet

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

الگوریتم کلونی مورچه ها قسمت 1
الگوریتم کلونی مورچه ها قسمت 2
الگوریتم کلونی مورچه ها قسمت 3

ارتباط ربات ها با بیکاری

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

به‌عنوان مثالی جدید، در سال 2011، شرکت تایوانی Foxconn که در عرصه فنّاوری فعالیت می کند اعلام کرد قصد دارد در طی طرحی سه ساله، ربات‌ها بیشتری را جایگزین انسان‌ها کند. در حال حاضر این شرکت از ده هزار ربات استفاده می کند اما در انتهای این طرح سه ساله، تعداد این ربات‌ها به یک میلیون افزایش خواهد یافت.

حقوق دانان معتقدند رواج استفاده از ربات‌ها در محل های کار، نیاز به بازبینی قوانین مربوط به تعدیل نیرو را افزایش خواهد داد. Kevin J. Delaney در این رابطه می گوید:” ربات‌ها در حال گرفتن شغل انسان‌ها هستند. بیل گیتس معتقد است دولت ها باید از شرکت هایی که از ربات استفاده می کنند، مالیات ویژه ای بگیرد تا با این کار، حداقل سرعت گسترش اتوماسیون کاهش یابد و همچنین بودجه لازم برای ایجاد شغل های دیگر تامین شود.”

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

کاربردهای فعلی ربات

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

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

ربات‌های خودگردان با کاربرد عمومی

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

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

ربات مشهور به Knightscope یک ربات با کاربرد عمومی می باشد که در طول روز به‌عنوان راهنما و شب‌ها به‌ عنوان نیروی امنیتی عمل می کند

ربات مشهور به Knightscope یک ربات با کاربرد عمومی می باشد که در طول روز به‌عنوان راهنما و شب‌ها به‌ عنوان نیروی امنیتی عمل می کند

ربات‌های کارخانه ای

ربات ها در صنعت خودروسازی خودروسازی

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

ربات جوشکار مفصل دار در یک کارخانه – یکی از اتواع ربات‌های صنعتی

ربات جوشکار مفصل دار در یک کارخانه – یکی از اتواع ربات‌های صنعتی

ربات ها در بسته بندی

همچنین از ربات‌های صنعتی برای انبار کردن و بسته بندی کالا های تولید شده استفاده می شود. برای نمونه یک ربات کارتن های نوشیدنی را از انتهای نوار نقاله بر می دارد و آن‌ها را به طور مرتب در جعبه هایی می چیند.

الکترونیک

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

ارابه ها و وسایل نقلیه خود راهنما (AGVs)

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

وسایل نقلیه یا ارابه های خود راهنمای اولیه

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

ارابه های خود راهنمای معمولی

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

ارابه های خود راهنمای هوشمند

ربات‌هایی مانند  SmartLoader، SpeciMinder، ADAM، Tug، Eskorta و MT 400 برای محیط های کاری که انسان نیز در آن وجود دارد طراحی شده‌اند. آن‌ها با شناسایی ویژگی های محیطی جابجا می‌شوند. اسکنر های سه بعدی یا سایر روش‌های تشخیص محیط به‌صورت دو بعدی یا سه بعدی، به حذف خطاهای تجمعی، در محاسبات مربوط به ناوبری کور، در موقعیت فعلی AGV ها کمک می کنند. برخی از AGV ها می‌توانند با استفاده از لیزر و یا با استفاده از مکان یابی و نقشه برداری همزمان(SLAM)، نقشه هایی از محیط اطرافشان تهیه کنند و از این نقشه ها در کنار سایر الگوریتم های برنامه ریزی مسیر و جلوگیری از برخورد با موانع برای طراحی مسیر بهینه استفاده کنند. این دسته از AGV ها قادرند در محیط های پیچیده فعالیت کنند و کار های غیرتکراری و غیر متوالی مختلفی مانند جابجایی فتوماسک ها در آزمایشگاه های نیمه رسانا، نمونه های مختلف در بیمارستآن‌ها و کالا های مختلف در انبار ها را انجام دهند. برای محیط های پویا تر، مثلا انبار هایی که پر از پالت های مختلف کالا هستند، AGV های به استراتژی های بهتری، مثلا استفاده از سنسورهای سه بعدی مانند دوربین های مدت پرواز(ToF) یا دوربین های استریوویژن، نیاز دارند تا بتوانند مسیر خود را در محیط پیدا کنند.

کار های کثیف، خطرناک، خسته کننده و یا غیرقابل دسترسی

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

یک ربات جراحی لاپاراسکوپی

یک ربات جراحی لاپاراسکوپی

کاوشگر های فضایی

تقریباً همه کاوشگر های فضایی بدون سرنشینی که تاکنون به فضا پرتاب شده‌اند، ربات بوده اند. برخی از آن‌ها در دهه 60 میلادی و با قابلیت‌های بسیار محدود به فضا پرتاب شدند اما توانایی آن‌ها در پرواز و فرود آمدن(مثل Luna 9) آن‌ها را در دسته ربات‌ها قرار می دهد. کاوشگر های دیگر مانند Voyager ها و کاوشگر های Galileo نیز در این دسته قرار می‌گیرند.

تله­ ربات‌ها

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

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

استفاده از هواپیما های رباتی کنترل از راه دور مانند پهباد های شکارچی (UAV ) در امور نظامی نیز بسیار متداول است. این پهباد های بدون خلبان، می‌توانند سطح زمین را جستجو کنند و به اهداف مختلف شلیک کنند. صد­ها ربات مانند  Packbot مربوط به شرکت iRobot و یا TALON ساخت شرکت  Foster-Miller، توسط ارتش آمریکا برای خنثی کردن بمب های کنار جاده ای در عراق و افغانستان مورداستفاده قرار گرفته اند.

ماشین‌های خودکار برداشت محصول

از ربات‌ها به منظور برداشت میوه در باغ ها با هزینه ای کمتر نسبت به نیروی انسانی، استفاده می شود.

ربات‌های خانگی

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

ربات‌های نظامی

ربات‌های نظامی شامل ربات  SWORDS ساخته شرکت Foster-Miller است که امروزه در نبرد های زمینی مورداستفاده قرار می‌گیرد. این ربات می‌تواند از اسلحه های مختلفی استفاده کند. همچنین در حال حاضر صحبت هایی نیز در مورد دادن درجه ای از خودگردانی به این ربات در شرایط جنگی مطرح‌شده است. پهباد های جنگی  (UCAV)، نوعی پهباد (UAV) هستند که قادر به حمل مهمات جنگی می باشند. این پهبادها توانایی انجام ماموریت های مختلفی از قبیل نبرد هوا به زمین، دارند. در حال حاضر، UCAV هایی در حال طراحی و ساخت هستند که می‌توانند به‌صورت خودگردان پرواز کرده و مسیر و هدفشان را انتخاب کنند و بیشتر تصمیم های ضروری را به‌صورت مستقل، اتخاذ کنند. به‌عنوان نمونه از این دسته از ربات‌ها می‌توان به BAE Taranis ساخت بریتانیا اشاره کرد که می‌تواند بدون نیاز به خلبان، بر روی قاره های مختلف پرواز کند و از ابزار های جدیدی برای جلوگیری از شناسایی شدن بهره می برد. پرواز های آزمایشی این پهباد نظامی از سال 2011 آغاز شده است.

انجمن پیشبرد هوش مصنوعی(AAAI) این موضوع را با جزئیات فراوان بررسی کرده است و رئیس این انجمن، تحقیق جدیدی را برای بررسی های بیشتر در این زمینه تصویب کرده است.

ربات SWORDS ساخته شرکت Foster-Miller

ربات SWORDS ساخته شرکت Foster-Miller

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

ربات‌های معدنی

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

برخی از تولید کنندگان وسایل نقلیه، قطار ها، کامیون ها و لودر های خودگردانی را ارائه می کنند که می‌تواند بدون دخالت انسان، مواد معدنی را بارگیری کرده، آن‌ها را از محل معدن به مقصد منتقل کند و در آنجا آن‌ها را تخلیه کند. یکی از بزرگترین شرکت های معدنی دنیا به نام Rio Tinto اخیرا ناوگان کامیون های خودگردان خود را به بزرگترین ناوگان معدنی خودگردان جهان تبدیل کرده است. این ناوگان شامل 150 کامیون خودگردان ساخت شرکت Komatsu است و در بخش غربی استرالیا فعالیت می کند. به طور مشابه، شرکت BHP نیز گسترش ناوگان دستگاه‌های حفاری خودگردان خود به بزرگترین ناوگان دستگاه‌های حفاری خودگردان تایید کرده است. در این ناوگان از 21 دستگاه حفاری خودگردان ساخت شرکت Atlas Capco استفاده شده است.

در حال حاضر دستگاه‌های حفاری، دستگاه‌های جبهه کار طولانی و دستگاه‌های سنگ شکن به‌صورت ربات‌های خودگردان موجود هستند. سیستم کنترل دکل حفاری، محصول شرکت Atlas Capco می‌تواند به‌صورت خودکار برنامه حفاری را بر روی یک دکل حفاری اجرا کند. در این سیستم، دستگاه با استفاده از GPS به محل مورد نظر منتقل می شود، دکل حفاری آماده می شود و عملیات حفاری تا عمق مورد نظر انجام می‌گیرد. به طور مشابه، سیستم Rocklogic که توسط شرکت Transmin ساخته‌شده، می‌تواند به‌صورت خودکار مسیر سنگ شکن را تا رسیدن مقصد مورد نظر انتخاب کند. چنین سیستم‌هایی ایمنی و بازدهی عملیات معدنکاری را به طرز چشمگیری افزایش می‌دهند.

ربات چیست؟ قسمت 1
ربات چیست؟ قسمت 2
ربات چیست؟ قسمت 3
ربات چیست؟ قسمت 4
ربات چیست؟ قسمت 5
ربات چیست؟ قسمت 6
ربات چیست؟ قسمت 7
ربات چیست؟ قسمت 8

ربات (که تهدیدی قطعی علیه بشریت است) یک دستگاه الکترو-مکانیکی یا یک نرم‌افزار هوشمند برای جایگزینی با انسان به هدف انجام وظایف گوناگون است.یک ماشین که می‌تواند برای عمل به دستورهای گوناگون برنامه‌ریزی گردد یا یک سری کارهای ویژه انجام دهد. به ویژه آن دسته از کارها که فراتر از توانایی‌های طبیعی و سرشتی بشر باشند. این ماشین‌های مکانیکی برای بهتر به انجام رساندن کارهایی چون احساس کردن، دریافت نمودن و جابجایی اشیا یا کارهای تکراری مانند جوشکاری فراوری می‌شوند.

آسیمو، یک روبات انسان‌نما، ساختهٔ شرکت هوندا.

 آسیمو، یک روبات انسان‌نما، ساختهٔ شرکت هوندا.

 تاریخچه

در سال ۱۹۲۳ میلادی کارل چاپک نویسنده اهل کشور چک برای اولین بار از کلمه ربات در نمایش‌نامه خود به‌عنوان آدم مصنوعی استفاده کرد. کلمه روبات گرفته شده از واژه Robota در زبان چک و به‌معنی برده و کارگر است. (مستنداتی از این کلمه پیدا نشد) در سال۱۹۴۰ شرکت وستینگهاوس سگی به نام اسپارکو ساخت که برای نخستین بار در ساخت آن، هم از قطعات مکانیکی و هم از قطعات الکتریکی استفاده شده بود.
دردهه ۱۹۵۰ میلادی با پیشرفت فناوری رایانه، صنعت کنترل متحول شد. یکی از اولین روبات‌ها، روبات‌های Hidden Mafia ساختهٔ جورج دوول و جو انگلبرگر در دهه‌های ۱۹۵۰ و ۱۹۶۰ بودند. انگلبرگر اولین شرکت روباتیک را با نام «RoboBand» بنیان نهاد و خود وی نیز امروزه پدر علم روباتیک لقب گرفته‌است.
در ژانویه ۲۰۱۳ چین اعلام کرد که در خصوص تولید و توسعه فناوری ساخت روبات‌های صنعتی پیشرفت چشمگیری داشته‌است. مقام‌های این کشور نرخ پیشرفت این صنعت را ۱۰٪ در یک سال گزارش کرده‌اند.

از انواع ربات می‌توان به

  • روبات‌های پرنده
  • روبات‌های خزنده
  • روبات‌های ماهی
  • روبات‌های جنگجو
  • روبات‌های فوتبالیست
  • روبات انسان‌نما
  • روبات مین یاب
  • روبات مسیریاب
  • روبات خانه‌دار

اشاره کرد.

ساختار ربات

یک ربات معمولاً یک سیستم الکترومکانیکی می‌باشد که با حرکت یا ظاهرش مفهومی از خود یا از ارباب خود را انتقال می‌دهد. از جایی‌که واژهٔ «ربات» هم به ربات‌های فیزیکی و هم به ربات‌های مجازی اطلاق می‌شود، برای ربات‌های مجازی لفظ «بات» بکار برده می‌شود که معمولاً به صورت نمایندگان نرم‌افزاری می‌باشند.

نمونه

روبات های صنعتی

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

روبات راه رونده با چاپگر سه بعدی

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

روبات جنگجو یا آدمکش

روبات کشنده یک اسلحه کاملاً خودکار است که بدون دخالت انسان می‌تواند هدف را برگزیده و با آن وارد نبرد شود. آنها ابزارهای کشنده خودکار هستند. یک چنین ماشین‌هایی در حال حاضر وجود ندارند ولی به خاطر پیشرفت‌های سریع در رشته روباتیک ساخت آنها به واقعیت نزدیک تر شده‌است. روش‌های فراوانی وجود دارد که این امکان را به روبات‌ها می‌دهد تا قوی‌تر، مؤثرتر و مستقل‌تر رفتار کنند، مانند روبات‌هایی که در صورت آسیب دیدن باز هم کار می‌کنند (مانند روبات شش پایی که پس از آسیب با استفاده از روش «آزمون و خطای هوشمندانه»، می‌تواند در کمتر از ۲ دقیقه بیاموزد که چگونه دوباره راه برود و سپس با استفاده از این روش بهترین راه را برای ادامه گام برداشتن می‌یابد). یا روبات‌هایی که در محیط‌های نامطمئن و بی‌برنامه، بتوانند تطبیق پیدا کنند و در شرایط دشوار و متفاوت همچنان به حرکت خود ادامه داده و جابه‌جا شوند (مانند روبات سگ بزرگ (Big Dog)). در حال حاضر مهندسان روی روبات‌های خودآموز متمرکزند، دیگران در حال ساخت روبات‌ها و موادی هستند که می‌توانند در صورت خرابی «خوددرمانگر» باشند.

نخستین گفتگوی مستقل روبات با انسان

روز آدینه، ۲۹ آذر ۱۳۹۲ (۲۰ دسامبر ۲۰۱۳)، سازندگان یک روبات فضانورد ژاپنی (به نام کایروبو) متن گفتگوی از پیش برنامه‌ریزی نشده این دستگاه با یک فضانورد ژاپنی (کوئیچی واکاتا) را منتشر کردند که نخستین مورد ثبت شده از گفتگوی ارادی، ابتکاری و مستقل یک ماشین ساخت انسان است. این روبات در ماه اوت با یک سفینه حامل تدارکات برای ایستگاه بین‌المللی فضایی به فضاپرتاب شد و روز ۱۰ اوت به این ایستگاه رسید. کایروبو و واکاتا در مورد هدیه کریسمس و بی‌وزنی گفتگو کردند.

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

پرسش و پاسخ
  • فرمانده ژاپنی از روبات می‌پرسد: “کایروبو، تو از بابا نوئل چه هدیه‌ای خواهی خواست” و روبات پاسخ می‌دهد “بیایید از بابا نوئل یک سفینه اسباب بازی بخواهیم.”
  • روبات در پاسخ به این پرسش که سفر در سفینه به سوی ایستگاه فضایی چه طور بود، می‌گوید: “مهیج بود!”
  • کایروبو در پاسخ به این پرسش که در مورد وضعیت بی‌وزنی چه فکر می‌کند هم گفت: “بهش عادت کرده‌ام، اصلاً مشکلی ندارم.”

گفتگوی کایروبو با فضانورد ژاپنی در درون ایستگاه فضایی بین‌المللی چند دقیقه به طول می‌انجامد و در طول آن، این روبات به ابراز «نظر کلی» در مورد موضوعات گوناگون می‌پردازد.

روبات‌های انسان‌نمای ایرانی

ایران توانسته روبات‌های انسان‌نمایی با نام‌های سورنا۱ و سورنا۲ و سورنا۳ بسازد. سورنا۳ از دو روبات قبلی پیشرفته‌تر است و ارتقایافتهٔ همان دو روبات قبلی است. از قابلیت‌ها و توانایی‌های این روبات می‌توان به بالا رفتن از پله، حفظ تعادل روی یک پا، بیشتر شدن سرعت نسبت به نمونه‌های قبلی، شناسایی چهره و… را نام برد. سورنا۱ در سال ۱۳۸۷ رونمایی شد.

Puma Robotic Arm - GPN-2000-001817.jpg Asimo look new design.jpg PlaceC5.jpg Roomba original.jpg 2005-11-14 ShadowLeg Finished medium.jpg
2005-11-14 ShadowLeg Finished medium.jpg Shadow Hand Bulb large.jpg Robosnakes.jpg Kismet robot 20051016.jpg SwarmRobot org.jpg

ربات و رباتیک چیست؟

ربات چیست

ربات چیست

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

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

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

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

ایده ساخت ربات از کجا می آید؟

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

ربات‌ها چه کارهایی انجام می‌دهند؟

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

ربات‌ها از چه ساخته می‌شوند؟

ربات‌ها دارای سه قسمت اصلی هستند:
مغز که معمولاً یک کامپیوتر است.
محرک و بخش مکانیکی شامل موتور، پیستون، تسمه، چرخ‌ها، چرخ دنده‌ها و …
سنسور که می‌تواند از انواع بینایی، صوتی، تعیین دما، تشخیص نور، تماسی یا حرکتی باشد.
با این سه قسمت، یک ربات می‌تواند با اثرپذیری و اثرگذاری در محیط کاربردی‌تر شود.

رباتیک

تأثیر رباتیک در جامعه

علم رباتیک در اصل در صنعت به‌کار می‌رود و ما تأثیر آن را در محصولاتی که هر روزه استفاده می‌کنیم، می‌بینیم. که این تأثیرات معمولاً در محصولات ارزان‌تر دیده می‌‌شود.

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

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

البته مشکلاتی هم هست. یک ربات مانند هر ماشین دیگری، می‌تواند بشکند یا به هر علتی خراب شود. ضمناً آن‌ها ماشین‌های قدرتمندی هستند که به ما اجازه می‌دهند کارهای معینی را کنترل کنیم.

خوشبختانه خرابی ربات‌ها بسیار نادر است زیرا سیستم رباتیک با مشخصه‌های امنیتی زیادی طراحی می‌شود که می‌تواند آسیب‌ آن‌ها را محدود ‌کند.

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

رباتیک

 مزایای رباتیک

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

تاثیرات شغلی

بسیاری از مردم از اینکه ربات‌ها تعداد شغل‌ها را کاهش دهد و افراد زیادی شغل خود را از دست دهند، نگرانند. این تقریباً هرگز قضیه‌ای بر خلاف تکنولوژی جدید نیست. در حقیقت اثر پیشرفت‌ تکنولوژی مانند ربات‌ها (اتومبیل و دستگاه کپی و…) بر جوامع ، آن است که انسان بهره‌ورتر می‌شود.

آینده رباتیک

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

منبع


کلمه ربات توسط Karel Capek  نویسنده نمایشنامه R.U.R  (روبات‌های جهانی روسیه) در سال 1921 ابداع شد. ریشه این کلمه، کلمه چک اسلواکی(robotnic) به معنی کارگر می‌باشد.
در نمایشنامه وی نمونه ماشین، بعد از انسان بدون دارا بودن نقاط ضعف معمولی او، بیشترین قدرت را داشت و در پایان نمایش این ماشین برای مبارزه علیه سازندگان خود استفاده شد.
البته پیش از آن یونانیان مجسمه متحرکی ساخته بودند که نمونه اولیه چیزی بوده که ما امروزه ربات می‌نامیم.
امروزه معمولاً کلمه ربات به معنی هر ماشین ساخت بشر که بتواند کار یا عملی که به‌طور طبیعی توسط انسان انجام می‌شود را انجام دهد، استفاده می‌شود.

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

ربات یک ماشین الکترومکانیکی هوشمند است با خصوصیات زیر:

  می توان آن را مکرراً برنامه ریزی کرد.
*  چند کاره است.
*  کارآمد و مناسب برای محیط است.

  قانون رباتیک مطرح شده توسط آسیموف:

1- ربات ها نباید هیچگاه به انسانها صدمه بزنند.
2- رباتهاباید دستورات انسانها را بدون سرپیجی از قانون اوّل اجرا کنند.
3- رباتها باید بدون نقض قانون اوّل و دوم از خود محافظت کنند.

ربات‌ها دارای سه قسمت اصلی هستند:

مغز که معمولاً یک کامپیوتر است.
محرک و بخش مکانیکی شامل موتور، پیستون، تسمه، چرخ‌ها، چرخ دنده‌ها و …
سنسور که می‌تواند از انواع بینایی، صوتی، تعیین دما، تشخیص نور، تماسی یا حرکتی باشد.
با این سه قسمت، یک ربات می‌تواند با اثرپذیری  و اثرگذاری در محیط کاربردی‌تر شود.

 اجزاي يك ربات با ديدي ريزتر :

 *  وسایل مکانیکی و الکتریکی شامل :
 شاسی، موتورها، منبع تغذیه،
  حسگرها (برای شناسایی محیط):
  دوربین ها، سنسورهای sonar، سنسورهای ultrasound، …
  عملکردها (برای انجام اعمال لازم)
  بازوی ربات، چرخها، پاها، …
  قسمت تصمیم گیری (برنامه ای برای تعیین اعمال لازم):
  حرکت در یک جهت خاص، دوری از موانع، برداشتن اجسام، …
  قسمت کنترل (برای راه اندازی و بررسی حرکات روبات):
*  نیروها و گشتاورهای موتورها برای سرعت مورد نظر، جهت مورد نظر، کنترل مسیر، …

مزایای ربات ها:

 1- رباتیک و اتوماسیون در بسیاری از موارد می توانند ایمنی، میزان تولید، بهره و کیفیت محصولات را افزایش دهند.
2-  رباتها می توانند در موقعیت های خطرناک کار کنند و با این کار جان هزاران انسان را نجات دهند.
3-  رباتها به راحتی محیط اطراف خود توجه ندارند و نیازهای انسانی برای آنها مفهومی ندارد. رباتها هیچگاه خسته نمی شوند.
4-  دقت رباتها خیلی بیشتر از انسانها است آنها در حد میلی یا حتی میکرو اینچ دقت دارند.
5-  رباتها می توانند در یک لحظه چند کار را با هم انجام دهند ولی انسانها در یک لحظه تنها یک کار انجام می دهند.

 معایب ربات ها:

1-  رباتها در موقعیتهای اضطراری توانایی پاسخگویی مناسب ندارند که این مطلب می تواند بسیار خطرناک باشد.
2-  رباتها هزینه بر هستند.
3-  قابلیت های محدود دارند یعنی فقط کاری که برای آن ساخته شده اند را انجام می دهند.

برای مثال امروزه برای بررسی وضعیت داخلی رآکتورها از ربات استفاده می شود تا تشعشعات رادیواکتیو به انسانها صدمه نزند.

تأثیر رباتیک در جامعه:

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

 مشکلات رباتیک:

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

مزایای رباتیک:

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

 تاثیرات شغلی:

بسیاری از مردم از اینکه ربات‌ها تعداد شغل‌ها را کاهش دهد و افراد زیادی شغل خود را از دست دهند، نگرانند. این تقریباً هرگز قضیه‌ای بر خلاف تکنولوژی جدید نیست. در حقیقت اثر پیشرفت‌ تکنولوژی مانند ربات‌ها (اتومبیل و دستگاه کپی و…) بر جوامع ، آن است که انسان بهره‌ورتر می‌شود.

آینده رباتیک:

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

ربات چیست؟ قسمت 1
ربات چیست؟ قسمت 2
ربات چیست؟ قسمت 3
ربات چیست؟ قسمت 4
ربات چیست؟ قسمت 5
ربات چیست؟ قسمت 6
ربات چیست؟ قسمت 7
ربات چیست؟ قسمت 8

الگوریتم کلونی زنبور عسل مصنوعی Artificial Bee Colony (ABC) Algorithm

الگوریتم جستجوی جدیدی مبتنی بر جمعیت به نام الگوریتم زنبور عسل (BA) ارایه شده است . الگوریتم  کلونی زنبور عسل رفتار جست و جوی غذای گروه زنبورهای عسل را تقلید می کند . در مدل پایه ای آن الگوریتم نوعی از جستجوی همسایگی ترکیب شده با جستجوی تصادفی را انجام می دهد و می تواند برای هر دوی بهینه سازی ترکیبی یا بهینه سازی تابعی مورد استفاده قرار گیرد.

مقدمه

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

1. الگوریتم کلونی زنبورهای مصنوعی

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

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

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

1- مقدار دهی اولیه به موقعیت های منابع غذایی
2- هر زنبور کارگر یک منبع غذایی جدید در مکان منبع غذایی خود تولید می کند و منبع بهتر را استخراج می کند .
3- هر زنبور دیده ور یک منبع را وابسته به کیفیت راه حلش انتخاب می کند و یک منبع غذایی جدید رادر مکان منبع غذایی انتخاب شده تولید می کند و منبع بهتر را استخراج می کند.
4- تعیین منبعی که باید متروک شود و تخصیص زنبورهای کارگر آن به عنوان دیده ور برای جستجوی منابع غذایی جدید.
5- بخاطر سپردن بهترین منبع غذایی پیدا شده تا کنون.
6- تکرار مرحله های 2 – 5 تا زمانی که معیار توقف مقتضی شود.

در مرحله اول الگوریتم ، xi (i = 1, . . . , SN) راه حل ها به صورت تصادفی تولید می شوند که در آن SN تعداد منابع غذایی است . در مرحله دوم الگوریتم ، برای هر زنبور کارگر ، که تعداد کل آنها برابر با نصف تعداد منابع غذایی است ، یک منبع جدید بوسیله رابطه زیر تولید می شود:

vij = xij + φij (xij – xkj) (1

φij یک عدد تصادفی بطور یکنواخت توزیع شده در بازه [-1,1] است که تولید موقعیت منابع غذایی همسایه را در اطراف xij کنترل می کند، K شاخص راه حل است که به صورت تصادفی از کلونی انتخاب شده است (K=int(rand ∗ SN) + 1), j = 1, . . .,D و D ابعاد مسئله است . بعد از تولید vi این راه حل جدید با xi مقایسه می شود و زنبور کارگر منبع بهتر را استخراج می کند . در مرحله سوم الگوریتم ، یک زنبور ناظر یک منبع غذایی را با احتمال (2) انتخاب می کند و منبع جدیدی را در مکان منبع غذایی انتخاب شده توسط (1) تولید می کند و به همان شکل روش زنبور کارگر، منبع بهتر برای استخراج شدن مورد تصمیم گیری قرار می گیرد.

Fiti میزان شایستگی راه حل xi است.

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

بوسیله رابطه (3) xij = xj min + (xj max – xjmin )*rand

منبع : http://www.ecg-pnum.ir


2. الگوریتم زنبور عسل

2.1. زنبورها در طبیعت

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

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

هنگامی که زنبورها به کندو باز می گردند، آن زنبورهای دیده وری که قطعه زمینی آنها در درجه بالایی از یک حد آستانه معین ارزیابی شده اند (به عنوان ترکیبی از چند جزء اصلی،مثل ظرفیت شکر اندازه گیری شده است) شهد و گرده های خود را ذخیره کرده و به سالن رقص می روند تا رقصی را که به عنوان «رقص چرخشی» شناخته می شود انجام دهند.

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

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

زنبورهای پیرو بیشتری به قطعه زمین هایی با امید بخشی بیشتر فرستاده می شود این موضوع به کلونی اجازه می دهد تا غذا را سریعتر و کارآمدتر جمع آوری کند.

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

2.2. الگوریتم زنبور عسل معرفی شده

همان طور که اشاره شد، الگوریتم زنبور عسل یک الگوریتم بهینه سازی است که از رفتار کاوشی طبیعی زنبورهای عسل برای پیدا کردن راه حل بهینه الهام شده است. شکل 1 شبهه کد الگوریتم را در ساده ترین حالت آن نشان می دهد. این الگوریتم نیازمند تنظیم تعدادی پارامتر است: تعداد زنبورهای دیده ور (n)، تعداد مکانهای انتخاب شده از مکانهای بازدید شده (m)، تعداد بهترین مکان ها از مکانهای انتخاب شده (e)، تعداد زنبورهای تازه نفس استخدام شده برای بهترین مکانهای e (nep)، تعداد زنبورهای استخدام شده برای سایر (m-e) مکان های انتخاب شده (nsp)، اندازه اولیه قطعه زمینها (ngh) که شامل مکان و همسایه های آن می شود و معیار توقف الگوریتم.

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

1- مقدار دهی اولیه جمعیت با راه حلهای تصادفی
2- ارزیابی تابع شایستگی جمعیت
3- تا زمانی که (شرط توقف ملاقات نشده است)
// تشکیل جمعیت جدید.
4- انتخاب مکان هایی برای جستجوی همسایه ها
5- استخدام زنبورها برای مکانهای جدید (زنبورهای بیشتر برای بهترین مکان های e)
6- انتخاب مناسب ترین زنبور از هر قطعه زمین گل
7- تخصیص زنبورهای باقی مانده برای جستجوی تصادفی و ارزیابی شایستگی های آنها
8- پایان حلقه

در مرحله 4 زنبورهایی که بالاترین شایستگی را دارند به عنوان “زنبورهای انتخاب شده” انتخاب می شوند و مکان های ملاقات شده توسط آنها برای جستجوی همسایگی انتخاب می شود. سپس، در مرحله های 5 و 6، الگوریتم جستجوها را در همسایگی های مکانهای انتخاب شده هدایت می کند، و زنبورهای بیشتری را نزدیک بهترین مکانهای e تخصیص می دهد. زنبورها می توانند مستقیماً بر اساس شایستگی مکان هایی که آنها ملاقاتش کرده اند انتخاب شوند. متناوباً ، مقادیر شایستگی برای تعیین احتمال اینکه کدام زنبورها انتخاب خواهند شد استفاده می شوند.

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

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

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

منبع


شرح الگوریتم زنبور عسل

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

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

الگوریتم زنبور عسل هر نقطه را در فضای پارامتری – متشکل از پاسخ‌های ممکن- به عنوان منبع غذا تحت بررسی قرار می‌دهد. زنبورهای دیده‌بان – کارگزاران شبیه‌سازی شده – به صورت تصادفی فضای پاسخ­ها را ساده می­کنند و به وسیله­ی تابع شایستگی کیفیت موقعیت­های بازدید شده را گزارش می­دهند. جواب‌های ساده شده رتبه بندی می‌شوند و دیگر زنبورها نیروهای تازه­ای هستند که فضای پاسخ‌ها را در پیرامون خود برای یافتن بالاترین رتبه محل‌ها جستجو می‌کنند که گلزار نامیده می‌شود. الگوریتم به صورت گزینشی دیگر گلزارها را برای یافتن نقطه­ی بیشینه­ی تابع شایستگی جستجو می‌کند

کاربردها 

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

* آموزش شبکه عصبی برای الگو شناسی

* زمان بندی کارها برای ماشین‌های تولیدی

* دسته‌بندی اطلاعات

* بهینه‌سازی طراحی اجزای مکانیکی

* بهینه‌سازی چند گانه

* میزان کردن کنترل کننده‌های منطق فازی برای ربات‌های ورزشکار

هم چنبن نوشته ای با عنوان مقاله های الگوریتم کلونی زنبور عسل (Artificial Bee Colony (ABC) Algorithm) و کاربردهای آن شامل مقالات داخلی و خارجی در همین سایت قرار داده شده است.

الگوریتم زنبور شامل گروهی مبتنی بر الگوریتم جستجو است که اولین بار در سال 2005 توسعه یافت ؛ این الگوریتم شبیه سازی رفتار جستجوی غذای گروههای زنبور عسل است. در نسخه ابتدایی این الگوریتم، الگوریتم نوعی از جستجوی محلی انجام می دهد که با جستجوی کتره ای (Random) ترکیب شده و می تواند برای بهینه سازی ترکیبی {زمانی که بخواهیم چند متغیر را همزمان بهینه کنیم.}یا بهینه سازی تابعی به کار رود.

جستجوی غذا در طبیعت

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

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

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

الگوریتم

الگوریتم زنبور هر نقطه را در فضای پارامتری_ متشکل از پاسخ های ممکن_به عنوان منبع غذا تحت بررسی قرار می دهد.”زنبور های دیده بان”_ کارگزاران شبیه سازی شده _به صورت کتره ای (Random) فضای پاسخ ها را ساده می کنند و به وسیله ی تابع شایستگی کیفیت موقعیت های بازدید شده را گزار ش می دهند. جواب های ساده شده رتبه بندی می شوند، و دیگر “زنبورها” نیروهای تازه ای هستند که فضای پاسخ ها را در پیرامون خود برای یافتن بالا ترین رتبه محل ها جستجو می کنند(که “گلزار” نامیده می شود) الگوریتم به صورت گزینشی دیگر گلزار ها را برای یافتن نقطه ی بیشینه ی تابع شایستگی جستجو می کند.

الگوريتم زنبور عسل

الگوریتم زنبور شامل گروهی مبتنی بر الگوریتم جستجو است که اولین بار در سال 2005 توسعه یافت ؛ این الگوریتم شبیه سازی رفتار جستجوی غذای گروه های زنبور عسل است. در نسخه ابتدایی این الگوریتم نوعی از جستجوی محلی انجام می دهد که با جستجوی کتره ای{Random } ترکیب شده و می تواند برای بهینه سازی ترکیبی {زمانی که بخواهیم چند متغیر را همزمان بهینه کنیم.}یا بهینه سازی تابعی به کار رود.

جستجوی غذا در طبیعت

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

قطعات گلدار با مقادیر زیادی نکتار و گرده که با تلاشی کم قابل جمع آوری است،به وسیله ی تعداد زیادی زنبور بازدید می شود؛ به طوری که قطعاتی از زمین که گرده یا نکتار کمتری دارد، تعداد کمتری زنبور را جلب می کند.

پروسه ی جستجوی غذای یک کلونی به وسیله ی زنبورهای دیده بان آغاز می شود که برای جستجوی گلزار های امید بخش {دارای امید بالا برای وجود نکتار یا گرده}فرستاده می شوند. زنبورهای دیده بان به صورت کتره ای{Random } از گلزاری به گلزار دیگر حرکت می کنند.
در طول فصل برداشت محصول{گل دهی}، کلونی با آماده نگه داشتن تعدادی از جمعیت کلونی به عنوان زنبور دیده بان به جستجوی خود ادامه می دهند. هنگامی که جستجوی تمام گلزار ها پایان یافت، هر زنبور دیده -بان ، بالای گلزاری که اندوخته ی کیفی مطمئنی از نکتار و گرده دارد، رقص خاصی را اجرا می کند.
این رقص که به نام “رقص چرخشی”{حرکتی مانند حرکت قرقره} شناخته می شود، اطلاعات مربوط به جهت تکه گلزار{نسبت به کندو}، فاصله تا گلزار و کیفیت گلزار را به زنبور های دیگر انتقال می دهد. این اطلاعات زنبور های اضافی و پیرو را به سوی گلزار می فرستد.
بیشتر زنبور های پیرو به سوی گلزار هایی میروند که امید بخش تر هستند و امید بیشتری برای یافتن نکتار و گرده در آنها، وجود دارد.
وقتی همه ی زنبور ها به سمت ناحیه ای مشابه بروند، دوباره به صورت کتره ای {Random } و به علت محدوده ی رقصشان در پیرامون گلزار پراکنده می شوند تا به موجب این کار سرانجام نه یک گلزار ، بلکه بهترین گل های موجود درون آن تعیین موقعیت شوند.

الگوریتم زنبور هر نقطه را در فضای پارامتری- متشکل از پاسخ های ممکن- به عنوان منبع غذا تحت بررسی قرار می دهد.”زنبور های دیده بان”- کارگزاران شبیه سازی شده – به صورت کتره ای{Random } فضای پاسخ ها را ساده می کنند و به وسیله ی تابع شایستگی کیفیت موقعیت های بازدید شده را گزار ش می دهند. جوابهای ساده شده رتبه بندی می شوند، و دیگر “زنبورها” نیروهای تازه ای هستند که فضای پاسخ ها را در پیرامون خود برای یافتن بالا ترین رتبه محل ها جستجو می کنند{که “گلزار” نامیده می شود} الگوریتم به صورت گزینشی دیگر گلزار ها را برای یافتن نقطه ی بیشینه ی تابع شایستگی جستجو می کند.

حال در ادامه با دو الگوريتم از الگويتم های کلونی زنبورها آشنا خواهيم شد. اولين الگوريتم، الگوريتم کلونی زنبورهای مصنوعی است که کاربرد اصلی آن در بهينه سازی می باشد. الگوريتم دوم الگوريتم کاوش زنبورهای عسل میباشد که آن نيز در بهينه سازی کاربرد دارد.

منبع: http://faraebtekari.ir


الگوریتم های الهام گرفته شده از کلونی زنبورها

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

به علاوه آنها يک مدل کمينه از از رفتار کاوشگرانه زنبورها ارائه داند. اين مدل شامل سه مولفه مهم میباشد: 1)منبع غذايي ۲(زنبورهای کارگر ۳(زنبورهای غيرکارگر. اين مدل دو نوع رفتار را دربرمیگيرد: سربازگيری برای يک منبع شهد و ترک منبع. Teodorovic پيشنهاد داد تا از هوش جمعی زنبورها در توسعه و بهبود سيستمهای مصنوعی با هدف حل مسائل پيچيده در حمل و نقل و ترافيک استفاده شود، همچنين او الگوريتم BCO (Bee Colony Optimization)را ارائه کرد که قادر است مسائل ترکيبی قطعی را همانند مسائل ترکيبی به خوبی حل نمايد. Drias يک روش هوشمندانه جديد را معرفی نمود با نام BSO که الهام گرفته از زنبورهای واقعی است. Wedde يک الگوريتم مسيريابی جديد با نام BeeHive ارائه کرد که الهام گرفته از متدهای ارتباطی و ارزيابی و همچنين رفتار زنبورهای عسل میباشد. در اين الگوريتم عاملها در منطقه شبکه که محدودهی کاوش ناميده میشود، در طول مسيرشان اطلاعات وضعيتی شبکه را به منظور بهنگام سازی جدول مسيريابی محلی جمع آوری می کنند.

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

الگوریتم زنبور عسل

الگوریتم کلونی زنبور عسل مانند سایر الگوریتم های هوش ازدحامی مرتبط بر رفتار تصادفی المان های آن است و برای حل مسائل بهینه سازی کاربرد دارد. بسیاری از الگوریتم های هوش ازدحامی با الهام گرفتن از طبیعت ایجاد شده اند مانند الگوریتم کلونی مورچگان، الگوریتم پرندگان، الگوریتم فاخته و الگوریتم کلونی زنبور عسل یا Artificial bee colony algorithm که به صورت مخفف BCO نامیده میشود (Bee Colony Optimization) .

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

یکی دیگر از روش های حل مسائل بهینه سازی الگوریتم های هوش ازدحامی است که الگوریتم زنبور عسل از جمله این الگوریتم ها است. الگوریتم زنبور (Bee Algorithm) یک الگوریتم گروهی مبتنی بر جستجو است که در سال ۲۰۰۵ میلادی ابداع شده است.این الگوریتم شبیه‌ سازی رفتار جستجوی غذای گروه‌های زنبور عسل است. در نسخه ابتدایی این الگوریتم، الگوریتم نوعی از جستجوی محلی انجام می‌دهد که با جستجوی تصادفی کتره­­ا ترکیب شده و می‌تواند برای بهینه سازی ترکیبی یا بهینه‌ سازی تابعی استفاده شود.

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

منبع: http://faraebtekari.ir


الگوریتم کلونی زنبور عسل (ABC)

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

اگر یک الگوریتم یک قانون احتمالی را برای بهبود راه حل بکار بگیرد سپس آن را احتمال یا اتفاقی نامیده میشود. یکی دیگر از طبقه بندی را می توان بسته به ماهیت پدیده توسط الگوریتم شبیه سازی کرد.این نوع طبقه بندی ، عمدتا دارای دو گروه مهم از الگوریتم جمعیت هستند که براساس : الگوریتم های تکاملی (EA) و الگوریتم های مبتنی بر هوش جمعی. از محبوب ترین الگوریتم های تکاملی الگوریتم ژنتیک(GA) است. درGA تلاش شده است تکامل طبیعی یک پدیده شبیه سازی شود. در تکامل طبیعی ، هر گونه جستجو برای سازگاری سودمند در یک محیط در حال تغییر است. به عنوان یک گونه تکامل یافته ، ویژگی های جدیدی در کروموزوم های فردی کد گذاری می شوند.

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

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

کاربرد های پردازش تصویر در دنیای امروز

چکيده

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

كليد واژه- پردازش تصویر(Image processing)، بینایی ماشین(Machine vision)، کاربرد

1- مقدمه

امروزه با گسترش روز افزون روش های مختلف اخذ اطلاعات گسسته مانند پویشگرها و دوربین های دیجیتالی، پردازش تصویر کاربرد فراوانی یافته است. تصاویر حاصله از این اطلاعات همواره کم و بیش همراه مقداری نویز بوده و در مواردی نیز دارای مشکل محوشدگی مرزهای نمونه های داخل تصویر می باشند که موجب کاهش وضوح تصویر دریافتی می گردند. مجموعه عملیات و روش هایی که به منظور کاهش عیوب و افزایش کیفیت ظاهری تصویر مورد استفاده قرار میگیرد، پردازش تصویر نامیده می شود. اگرچه حوزه های کار با تصویر بسیار وسیع است ولی عموماً محدوده مورد توجه در چهار زمینه ی بهبود کیفیت ظاهری(Enhancement)، بازسازی تصاویر مختل شده(Restoration)، فشرده گی و رمزگذاری تصویر (Compression and Coding) و درک تصویر توسط ماشین (Understanding) متمرکز می گردد.
بهبود تصاویر شامل روش هایی مثل استفاده از فــ….یـــ……لـــ……تـــ…. …ر محو کننده و افزایش تضاد برای بهتر کردن کیفیت دیداری تصاویر و اطمینان از نمایش درست آن ها در محیط مقصد است. بینایی ماشین به روش هایی می پردازد که به کمک آن ها می توان معنی و محتوای تصاویر را درک کرد تا از آن ها در کارهایی چون رباتیک و محور تصاویر استفاده شود. پردازش تصویر از هر دو جنبه نظری و عملی پیشرفت های چشمگیری داشته است و بسیاری از علوم به آن وابسته اند.

2- کاربردهای پردازش تصویر

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

2-1-صنعت

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

2-2- هواشناسی

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

2-3-شهرسازی

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

2-4- کشاورزی

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

2-5-علوم نظامی و امنیتی

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

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

2-6-نجوم و فضا نوردی

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

پردازش تصویر در فضانوردی هم کاربرد زیادی دارد. در تصاویر دور می توان سطح سیارات و همچنین سطح قمرها را اسکن کرده و اطلاعات بسیار ریزی از آنها استخراج کنیم.
کاربرد دیگر پردازش تصویر در فــ….یـــ……لـــ……تـــ…. …ر کردن عکس هایی است که توسط تلسکوپ های فضایی مختلف از جمله هابل (Hubble Space Telescope)، از فضا گرفته می شود.
کاربرد دیگر آن حذف گرد و خاک و جو سیاره ها از تصاویر به کمک تصویربرداری IR و X-RAY به صورت همزمان و ترکیب این تصاویر است.
در تصاویر نزدیک هم کاربرد دارد، از جمله هدایت مریخ نوردها، فرود فضاپیماهای بدون سرنشین و الصاق تجهیزات جدید به ایستگاههای فضایی به صورت خودکار.
از امکانات سایت گوگل، امکاناتی است به نام Google Mars که این برنامه دقیقاً مانند Google Earth عمل می کند با این تفاوت که Google Earth سطح زمین را در هر زمان که بخواهید و در هر نقطه ای از زمین و از ارتفاع های بسیار پائین هم نشان می دهد ولی Google Mars دقیقاً همین کار را برای سطح سیاره مریخ انجام می دهد.

2-7-پزشکی

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

2-8-فناوری های علمی

پردازش تصویر در افزایش سرعت پیشرفت های علمی تأثیر فوق العاده داشته است. اولین و مشخص ترین تأثیر آن را می توان در علم عکاسی یا هنر دید. شکار لحظه های شگفت آوری که در کسری از ثانیه اتفاق می افتد، بالا بردن وضوح عکس های گرفته شده و ایجاد افکت های خیره کننده، از دستاوردهای پردازش تصویر است.
همچنین در توسعه تکنولوژی پیشرفته (gps (Global Positioning Systems کمک زیادی داشته و تهیه نقشه های سه بعدی از جاده ها در تمام نقاط جهان، از کاربردهای دیگر آن است. با به وجود آمدن این علم، مسابقات ربات های فوتبالیست به صورت جدی دنبال شد.
این علم در پیشرفت علوم پایه فیزیک ، شیمی و مخصوصاً تحقیقات فیزیکی و مکانیکی، کمک فراوانی کرده است. به عنوان مثال وسیله ای برای حمل و نقل کالاها در مسیرهای صعب العبور ساخته شده است. قبل از ساخت آن، رفتار چهارپایان در حالت های مختلف توسط کامپیوتر تحلیل و عیناً به دستگاه آموزش داده شده است.در کل پردازش تصاویر به علت سرعت زیاد آن، در ساخت وسایل مکانیکی پر سرعت، کاربرد زیادی دارد. وسیله ای وجود دارد که قادر است ، توپی که با سرعت بسیار زیاد به سمت پائین می آید را مهار کند.

2-9-باستان شناسی

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

2-10-تبلیغات

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

2-11-سینما

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

2-12-اقتصاد

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

2-13-روانشناسی

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

2-14-زمین شناسی‌

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

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

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

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

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

——————–
صنايع چوب يكي از پر كاربرد ترين صنايع در عصر حاضر است.
اين صنعت قديمي روز به روز در حال پيشرفت در زمينه هاي مختلف آن مي باشد.
اكنون ديگر صنايع چوب به يك صنعت آميخته با هنر تبديل شده است.
همان طور كه مي دانيم برش و حالت دهي از جمله مهمترين و كليدي ترين كار هاي صنعت چوب مي باشد.
اما هميشه يك مشكل اساسي در برش صحيح چوب وجود داشت و آن هم اين بود كه چگونه چوب به حالتي برش شود كه كمترين ميزان اتلاف چوب را داشته باشد و نيز بعد از برش چگونه مي توان صحيح بودن برش را كنترل كرد.
اين مشكل نيز به راحتي توسط پردازش تصوير قابل حل است.
بعد از اين كه برش يك قسمت از چوب تمام شد ، با استفاده از يك دوربين آن قسمت را كنترل مي كنيم تا نقصي از لحاظ برش وجود نداشته باشد.

——————–
بحث شمارش، جزء لاينفك بسته بندي كالاهاي مختلف مي باشد.
زماني كه تعداد بسته بندي ها بالا رود ، اين كار يك كار خسته كننده و طاقت فرسا براي انسان به نظر مي آيد.
اما شايد ساده ترين كار در بحث پردازش تصوير ، شمارش باشد.
شمارش تعداد به خودي خود شامل چندين موضوع مي شود؛ از جمله : شمارش اجزاي داخل بسته بندي ، شمارش اجزاي روي نوار نقاله و … .

——————–
تشخیص شماره پلاک خودرو
نرم افزار شمارش خودروهای عبوری از عرض خیابان

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

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

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

1. اندازه گیری و کالیبراسیون
2. جداسازی پینهای معیوب
3. بازرسی لیبل و خواندن بارکد
4. بازرسی عیوب چوب
5. بازرسی قرص
6. بازرسی و دسته بندی زعفران
7. درجه بندی و دسته بندی کاشی
8. بازرسی میوه
———————-
اتوماسیون صنعتی

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

* افزایش سرعت و کیفیت تولی
* کاهش ضایعات
* اصلاح روند تولید
* گسترش کنترل کیفیت

———————
نمونه ای از کاربردهای پردازش تصویر در زمینه رهگیری (tracking):

نمونه ای از کاربردهای پردازش تصویر در زمینه رهگیری (tracking)

نمونه ای از کاربردهای پردازش تصویر در زمینه رهگیری (tracking)

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