• درخواست دمو
  • ۰۳۱-۹۱۰۰۱۸۸۱
بهسان اندیش
  • صفحه اصلی
  • محصولات
    • نرم افزار پلاک خوان
      • نرم افزار ثبت تردد جاده ای
      • نرم افزار مدیریت پارکینگ
      • نرم افزار تعمیرگاه ، کارواش و تعویض روغن
    • نرم افزار باسکول
    • راهکارهای سازمانی
      • نرم افزارانبار و حساب داری
    • محصولات جانبی
      • دوربین پلاک خوان
      • ماژول رله کنترل راهبند
  • نمونه کارها
    • سامانه جامع پلاکخوان خودرو
    • سامانه جامع مدیریت باسکول
    • سامانه قرائت فرم های چند گزینه ای
  • وبلاگ
  • ارتباط با ما
    • تماس با ما
    • درباره ما
    • دعوت به همکاری
  • جستجو
  • منو منو

محاسبه نرم (soft computing)

آموزش های عمومی هوش مصنوعی

محاسبات نرم

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

نکته‌ها و چرایی‌های فلسفی

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

محاسبات نرم با تقبل نادقیق بودن و با محور قراردادن ذهن انسان به‌پیش می‌رود. اصل هدایت‌کنندهٔ محاسبات نرم بهره‌برداری از خاصیت عدم دقیق‌بودن جهت مهارکردن مسئله و پایین‌آوردن هزینهٔ راه‌حل است.

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

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

یکی از بزرگ‌ترین زمینه‌های کاربرد محاسبات نرم در ایجاد و گسترش وب معنی‌گرا خواهد بود.

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

منبع

 


تعریف محاسبات نرم

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

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

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

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

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

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

منابع

  1. https://fa.wikipedia.org
  2. http://mohammadisite.ir
مارس 24, 2020/0 دیدگاه /توسط daliri
https://behsanandish.com/wp-content/uploads/2018/04/r_2764_151207121647.jpg 256 256 daliri https://behsanandish.com/wp-content/uploads/2020/09/logo-farsi-englisi-300x195-1.png daliri2020-03-24 10:00:422020-03-24 10:00:42محاسبه نرم (soft computing)

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

آموزش های عمومی هوش مصنوعی

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

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

ربات چيست؟

ربات يك ماشين الكترومكانيكي هوشمند است با خصوصيات زير:
– مي توان آن را مكرراً برنامه ريزي كرد.
– چند كاره است.
– كارآمد و مناسب براي محيط است.

اجزاي يك ربات

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

تاريخچه رباتيك:

– 270 ق م : زماني كه يونانيان به ساخت مجسمه هاي متحرك ميپرداختند.
– حدود سال 1250 م: بيشاپ آلبرتوس ماگنوس (Bishop Albertus Magnus) ضيافتي ترتيب داد كه درآن، ميزبانان آهني از مهمانان پذيرايي مي كردند. با ديدن اين روبات، سنت توماس آكويناس (Thomas Aquinas) برآشفته شد، ميزبان آهني را تكه تكه كرد و بيشاب را ساحر و جادوگر خواند.
– سال 1640 م: دكارت ماشين خودكاري به صورت يك خانم ساخت و آن را Ma fille Francine ” مي ناميد.اين ماشين كه دكارت را در يك سفر دريايي همراهي مي كرد، توسط كاپيتان كشتي به آب پرتاب شد چرا كه وي تصور مي كرد اين موجود ساخته شيطان است.
– سال 1738 م: ژاك دواكانسن (Jacques de Vaucanson) يك اردك مكانيكي ساخت كه از بيش از 4000 قطعه تشكيل شده بود. اين اردك مي توانست از خود صدا توليد كند، شنا كند، آب بنوشد، دانه بخورد و آن را هضم و سپس دفع كند. امروزه در مورد محل نگهداري اين اردك اطلاعي در دست نيست.
– سال 1805 م: عروسكي توسط ميلاردت (Maillardet) ساخته شد كه مي توانست به زبان انگليسي و فرانسوي بنويسد و مناظري را نقاشي كند.
– سال 1923 م: كارل چاپك (Karel Capek) براي اولين بار از كلمه روبات (robot) در نمايشنامه خود به عنوان آدم مصنوعي استفاده كرد. كلمه روبات از كلمه چك robota گرفته شده است كه به معني برده و كارگر مزدور است. موضوع نمايشنامه چاپك، كنترل انسانها توسط روباتها بود، ولي او هرگونه امكان جايگزيني انسان با روبات و يا اينكه روباتها از احساس برخوردار شوند، عاشق شوند، يا تنفر پيدا كنند را رد مي كرد.
– سال 1940 م: شركت وستينگهاوس (Westinghouse Co.) سگي به نام اسپاركو (Sparko) ساخت كه هم از قطعات مكانيكي و هم الكتريكي در ساخب آن استفاده شده بود. اين اولين باري بود كه از قطعات الكتريكي نيز همراه با قطعات مكانيكي استفاده مي شد.
– سال 1942 م: كلمه روباتيك (robatics) اولين بار توسط ايزاك آسيموف در يك داستان كوتاه ارائه شد. ايزاك آسيموف (1920-1992) نويسنده كتابهاي توصيفي درباره علوم و داستانهاي علمي تخيلي است.
– دهه 1950 م: تكنولوژي كامپيوتر پيشرفت كرد و صنعت كنترل متحول شد. سؤلاتي مطرح شدند. مثلاً: آيا كامپيوتر يك روبات غير متحرك است؟
– سال 1954 م: عصر روبات ها با ارائه اولين روبات آدم نما توسط جرج دوول (George Devol) شروع شد.
– سال 1956 م: پس از توسعه فعاليتهاي تكنولوژي يك كه بعد از جنگ جهاني دوم، يك ملاقات تاريخي بين جورج سي.دوول(George C.Devol) مخترع و كارآفرين صاحب نام، و ژوزف اف.انگلبرگر (Joseph F.Engelberger) كه يك مهندس با سابقه بود، صورت گرفت. در اين ملاقات آنها به بحث در مورد داستان آسيموف پرداختند. ايشان سپس به موفقيتهاي اساسي در توليد روباتها دست يافتند و با تأسيس شركتهاي تجاري، به توليد روبات مشغول شدند. انگلبرگر شركت Unimate برگرفته از Universal Automation را براي توليد روبات پايه گذاري كرد. نخستين روباتهاي اين شركت در كارخانه جنرال موتورز (General Motors) براي انجام كارهاي دشوار در خودروسازي به كار گرفته شد. انگلبرگر را “پدر روباتيك” ناميده اند.
– دهه 1960 م: روباتهاي صنعتي زيادي ساخته شدند. انجمن صنايع روباتيك اين تعريف را براي روبات صنعتي ارائه كرد:
“روبات صنعتي يك وسيلة چند كاره و با قابليت برنامه ريزي چند باره است كه براي جابجايي قطعات، مواد، ابزارها يا وسايل خاص بوسيلة حركات برنامه ريزي شده، براي انجام كارهاي متنوع استفاده مي شود.”
– سال 1962 م: شركت خودروسازي جنرال موتورز نخستين روبات Unimate را در خط مونتاژ خود به كار گرفت.
– سال 1967 م: رالف موزر (Ralph Moser) از شركت جنرال الكتريك (General Electeric) نخستين روبات چهارپا را اختراع كرد.
– سال 1983 م: شركت Odetics يك روبات شش پا ارائه كرد كه مي توانست از موانع عبور كند و بارهاي سنگيني را نيز با خود حمل كند.
– سال 1985 م: نخستين روباتي كه به تنهايي توانايي راه رفتن داشت در دانشگاه ايالتي اهايو (Ohio State Uneversity) ساخته شد.
– سال 1996 م: شركت ژاپني هندا (Honda) نخستين روبات انسان نما را ارائه كرد كه با دو دست و دو پا طوري طراحي شده بود كه مي توانست راه برود، از پله بالا برود، روي صندلي بنشيند و بلند شود و بارهايي به وزن 5 كيلوگرم را حمل كند
روباتها روز به روز هوشمندتر مي شوند تا هرچه بيشتر در كارهاي سخت و پر خطر به ياري انسانها بيايند.
امروزه، 90% روباتها، روباتهاي صنعتي هستند، يعني روباتهايي كه در كارخانه ها، آزمايشگاهها، انبارها، نيروگاهها، بيمارستانها، و بخشهاي مشابه به كارگرفته مي شوند.در سالهاي قبل، اكثر روباتهاي صنعتي در كارخانه هاي خودروسازي به كارگرفته مي شدند، ولي امروزه تنها حدود نيمي از روباتهاي موجود در دنيا در كارخانه هاي خودروسازي به كار گرفته مي شوند.مصارف روباتها در همه ابعاد زندگي انسان به سرعت در حال گسترش است تا كارهاي سخت و خطرناك را به جاي انسان انجام دهند.براي مثال امروزه براي بررسي وضعيت داخلي رآكتورها از روبات استفاده مي شود تا تشعشعات راديواكتيو به انسانها صدمه نزند.

3 قانون روباتيك مطرح شده توسط آسيموف:

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

انواع ربات ها :

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

رباتهاي متحرك به دسته هاي زير تقسيم بندي ميشوند:

1-رباتهاي چرخ دار
با انواع چرخ عادي
و يا شني تانك
و با پيكربندي هاي مختلف يك, دو يا چند قسمتي
2-رباتهاي پادار مثل سگ اسباب بازيAIBO ساخت سوني كه در شكل بالا نشان داده شد يا ربات ASIMO ساخت شركت هوندا
3-رباتهاي پرنده
4-رباتهاي چند گانه(هايبريد) كه تركيبي از رباتهاي بالا يا تركيب با جابجاگرها هستند
و …

مزاياي روباتها:

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

معايب روباتها:

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

 

منبع

 


کلمه ربات توسط Karel Capek نویسنده نمایشنامه ( R.U.R  عقل ربات های جهانی) در سال 1920 ابداع شد. ریشه این کلمه، کلمه چک اسلواکی (robotnic) به معنی کارگر می‌باشد.

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

رباتیک چیست ؟

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

 

رباتیک چیست

 

منظور از ربات های صنعتی چیست ؟

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

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

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

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

رباتیک چیست2

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

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

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

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

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

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

قوانین سه‌گانه رباتیک

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

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

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

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

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

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

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

 

رباتیک چیست

نرم افزارهای حوزه ی رباتیک

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

EASY-ROB : EASY-ROB  یک نرم افزار کاربردی در زمینه ی شبیه سازی بازو های رباتیک است که کاربران با استفاده از آن میتوانند ضمن مشاهده ی رفتار دقیق بازو، اطلاعات مربوط به ساخت آن را نیز از نرم افزار استخراج نمایید.

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

Microsoft Robotics Developer Studio : این نرم افزار یکی از نرم افزارهای قوی در زمینه شبیه سازی ربات ها است.شما با استفاده از این نرم افزار، می توانید به راحتی بخش مکانیک ربات خود را شبیه سازی نمایید.

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

تاثیرات شغلی رباتیک

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

آینده رباتیک

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

منبع

 


منابع

1.fa.wikipedia.org

2. www.enline.ir

3.http://rasekhoon.net

4.http://mediasoft.ir

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

مارس 22, 2020/0 دیدگاه /توسط hgadmin
https://behsanandish.com/wp-content/uploads/2019/08/RPA-April-2014-2-1.jpg 256 256 hgadmin https://behsanandish.com/wp-content/uploads/2020/09/logo-farsi-englisi-300x195-1.png hgadmin2020-03-22 10:00:072020-03-22 10:00:07رباتیک چیست؟ قسمت 2

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

آموزش های عمومی هوش مصنوعی

رباتیک

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

برای آشنایی بیشتر با ربات میتوانید به نوشته ربات چیست مراجعه نمایید.

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

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

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

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

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

ریشه شناسی

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

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

منبع


رباتیک، علمی با هدف راحتی انسان

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

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

برای آشنایی بیشتر با هوش مصنوعی میتوانید به نوشته هوش مصنوعی چیست مراجعه نمایید.

 

رباتیک-تکنولوژی

 

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

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

رباتیک دقیقا یعنی چه؟

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

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

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

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

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

انواع ربات‌ها

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

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

ربات‌ها همانند کامپیوترها قابلیت برنامه ریزی دارند.بسته به نوع برنامه‌ای که شما به آن‌ها می‌دهید، کارها وحرکات مختلفی را انجام می‌دهند. رشته‌ی دانشگاهی نیز تحت عنوان رباتیک وجود دارد که به مسائلی از قبیل: “سنسورها، مدارات ، فیدبک‌ها،پردازش اطلاعات و بست و توسعه ربات‌ها” می‌پردازد.ربات‌ها انواع مختلفی دارند از قبیل: “روبات‌های شمشیر باز، ربات دنبال کننده خط یا مسیریاب، کشتی گیر، فوتبالیست، ربات‌های پرنده و ربات‌های خیلی ریز تحت عنوان «میکرو ربات‌ها» و «نانو ربات‌ها»  نیز وجود دارند. ربات‌ها برای انجام کارهای سخت و دشواری  که بعضی مواقع انسان‌ها از انجام آن‌ها عاجز یا انجام آن‌ها برای انسان خطرناک هستند; مثل: “ربات‌هایی که در نیروگاه‌های هسته‌ای وجود دارند” ،استفاده می‌شوند.کاری که ربات‌ها انجام می‌دهند، توسط میکرپروسسورها (microprocessors) و میکرو کنترل‌ها(microcontroller) کنترل می‌شود.

شما با تسلط در برنامه نویسی میکرو پروسسورها و میکروکنترل‌ها، می‌توانید دقیقا به ربات بگویید همان کاری را که انتظار دارید، انجام دهد.

 

رباتیک-ربات فوتبالیست

 

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

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

۱. مغز که معمولا یک کامپیوتر است.

۲. محرک و بخش مکانیکی شامل موتور، پیستون، تسمه، چرخ‌ها، چرخ‌دنده‌ها و …

۳. سنسور که می‌تواند از انواع بینایی، صوتی، تعیین دما، تشخیص نور و تماسی یا حرکتی باشد.

 

رباتیک-ربات های خط تولید

 

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

 

رباتیک-ربات شبه انسان

 

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

 

مکاترونیک-ربات صنعتی

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

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

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

 

رباتیک-ربات‌جوشکار

 

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

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

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

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

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

 

رباتیک-بیو‌مکاترونیک

آینده شغلی مهندس رباتیک

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

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

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

رباتیک-مسابقات

 

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

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

جالب است بدانید که میزان متوسط درآمد سالیانه‌ی یک مهندس رباتیک در آمریکا در سال ۲۰۱۳، حدود ۷۱.۰۰۰ دلار آمریکا و در انگلستان حدود ۵۸.۷۰۰ دلار آمریکا اعلام شده است .

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

 

مهارت در نرم‌افزارهای تخصصی مهندسی رباتیک 

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

مهم‌ترین نرم‌افزارهای تخصصی و کاربردی مهندسی رباتیک

  • Webots
  • RobotWorks
  • Microsoft Robotics
  •  Solidworks
  •  Catia
  • ADAMS
  • Ansys
  • Cosmos
  • Matlab
  • Proteus
  •  Protel
  • Orcad
  • LabVIEW
  • PicBasic
  • bascom
  • wincc

منبع

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

مارس 21, 2020/0 دیدگاه /توسط daliri
https://behsanandish.com/wp-content/uploads/2018/02/RPA-April-2014-2.jpg 256 256 daliri https://behsanandish.com/wp-content/uploads/2020/09/logo-farsi-englisi-300x195-1.png daliri2020-03-21 10:00:342020-03-21 10:00:34رباتیک چیست؟ قسمت 1

عامل های هوشمند قسمت 5

آموزش های عمومی هوش مصنوعی

عامل های هوشمند در هوش مصنوعی

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

عامل ها و محیط ها

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

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

تأکید میکنیم که فرضیه ی عامل، ابزاری برای تحلیل سیسیتم هاست، نه یک ویژگی خاص برای تقسیم دنیا به عامل و غیر عامل ها. ماشین حساب را میتوان عاملی در نظر گرفت که با توجه به “دنباله ادراک” ، “=2+2” نماد “4” را نمایش میدهد. اما این تحلیل منجر به درک ماشین حساب نمیشود. از جهاتی تمام حوزه های مهندسی را می توان طراحی کننده ی محصولات مصنوعی دانست که با دنیا تعامل دارند؛ AI (از نظر مؤلفین) در انتهای این طیف واقع است، که در آنجا، محصولات مصنوعی، منابع محاسباتی ارزشمندی دارند و محیط کار ، نیازمند تصمیم گیری مهم است.

رفتار خوب : مفهوم خردمندی یا عقلانیت

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

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

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

• خردمندی یا عقلانیت (rationality)

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

1. معیار کارایی که ملاک های موفقیت را تعریف می کند.

2. دانش قبلی عامل نسبت به محیط.

3. فعالیتهایی که عامل میتواند انجام دهد.

4. دنباله ی ادراک عامل در این زمان.

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

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

• همه چیزدانی، یادگیری و خود مختاری

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

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

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

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

منبع


منابع

1.https://fa.wikipedia.org

2.http://retro-code.ir

3.http://www.sourcecodes.ir

 

 

مارس 16, 2020/0 دیدگاه /توسط hgadmin
https://behsanandish.com/wp-content/uploads/2019/08/sensorseniv-300x129-Copy-1.png 256 256 hgadmin https://behsanandish.com/wp-content/uploads/2020/09/logo-farsi-englisi-300x195-1.png hgadmin2020-03-16 10:00:252020-03-16 10:00:25عامل های هوشمند قسمت 5

عامل های هوشمند قسمت 4

آموزش های عمومی هوش مصنوعی

♦ عامل های مبتنی بر هدف (goal-based agents)

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

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

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

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

♦ عامل های مبتنی بر سودمندی (utility-based agents)

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

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

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

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

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

ماهیت محیط های عامل های هوشمند

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

تعیین کردن محیط کار

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

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

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

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

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

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

خواص محیط های کار (task environment)

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

• “کاملا قابل مشاهده” در مقابل “پاره ای قابل مشاهده” (Fully observable vs. partially observable) :

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

• تک عاملی در برابر چند عاملی (Single agent vs. multiagent) :

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

• قطعی در مقابل اتفاقی (Deterministic vs. stochastic) :

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

• مرحله ای در مقابل ترتیبی (Episodic vs. sequential) :

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

• ایستا در مقابل پویا (Static vs. dynamic) :

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

• گسسته در مقابل پیوسته (Discrete vs. continuous) :

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

• شناخته شده در مقابل ناشناخته (Known vs. unknown) :

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

 

مارس 15, 2020/0 دیدگاه /توسط hgadmin
https://behsanandish.com/wp-content/uploads/2019/08/sensorseniv-300x129-Copy-1.png 256 256 hgadmin https://behsanandish.com/wp-content/uploads/2020/09/logo-farsi-englisi-300x195-1.png hgadmin2020-03-15 10:00:202020-03-15 10:00:20عامل های هوشمند قسمت 4

عامل های هوشمند قسمت 3

آموزش های عمومی هوش مصنوعی

عامل های هدف گرا

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

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

برای مثال فرض کنید که راننده هوشمند قصد دارد تا مسیری را از میان خیابان های تو در تو یک شهر بزرگ برای رسیدن به مقصد  انتخاب نماید. (Google Map یک مثال کاربردی آن میباشد) آیا این کار به سادگی انتخاب یک واکنش خواهد بود؟! نکته ی مهمی که باید به آن توجه داشت این است که در عامل های هدف گرا مکانیزم تصمیم گیری شباهتی به مکانیزم استراتژی واکنشی ساده ندارد. در این عامل ها باید همواره به این دو سوال جواب داد.

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

عامل های مبتنی بر سودمندی

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

تنها موردی که برای عامل اهمپیت دارد رسیدن به هدف است! بدین ترتیب در این مثال سفر 5 ساعته ما به 50 ساعت افزایش پیدا خواهد کرد و عملا هوشمندی عامل مورد نظر شکست خورده و فاقد ارزش میباشد. (در مطالبی که مرتبط با الگورتیم های جستجوی هدف میباشند این مشکل را به وضوح مشاهده خواهید کرد.) پس میتوان نتیجه گیری نمود که  در مسئله فوق عواملی جز هدف وجود دارند که در استراتژی انتخاب واکنش ها تتاثیر چشم گیری میگذارند.

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

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

منبع : http://retro-code.ir


ساختار عامل های هوشمند

کار AI طراحی برنامه ی عامل است که “تابع عامل” را پیاده سازی می کند. تابع عامل، ادراکات را به فعالیت ها نگاشت می کند. فرض میکنیم این برنامه بر روی یک دستگاه محاسباتی با حسگرها و محرک های فیزیکی، یعنی معماری اجرا می شود: برنامه + معماری = عامل

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

♦ برنامه های عامل  (agent programs)

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

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

function TABLE-DRIVEN-AGENT (percept) returns an action
  presistent: percepts, a sequence, initially empty table, a table of actions, indexed by percept sequences, initially fully specified
    
  append percept to end of percepts
  action  < - -  LOOKUP(percepts,table)
  return action
 

برای هر درک جدید فراخوانی می شود و هر بار فعالیتی را بر می گرداند. با استفاده از برنامه TABLE-DRIVEN-AGENT ساختمان داده های خود، دنباله ادراک را ردیابی می کند.
برنامه TABLE-DRIVEN-AGENT  تابع عامل مطلوب را پیاده سازی میکند. چالش مهم AI، چگونگی نوشتن برنامه ای است که با استفاده از یک کد کوچک (به جای جدول بزرگ)، رفتار عقلایی را انجام دهد. مثال های زیادی داریم که نشان می دهد، این کار امکان پذیر است. به عنوان مثال، جدول های بزرگ ریشه دوم که قبل از دهه 1970 توسط مهندسین و دانش آموزان مورد استفاده قرار گرفت، جای خود را به یک برنامه  5 خطی داده است که از روش نیوتن استفاده میکند و در ماشین حساب های الکترونیکی قابل استفاده است. AI همان کاری را انجام می دهد که نیوتن برای ریشه دوم انجام میدهد.

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

♦ عامل های واکنشی ساده (simple reflex agents)

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

انسان نیز  چنین اتصالاتی دارد، که بعضی از آنها پاسخ های آموخته شده هستند (مثل رانندگی) و بعضی دیگر غریزی هستند (مثل بستن چشم هنگام نزدیک شدن شی ء ای به آن). روش کلی و قابل انعطاف این است که یک مفسر همه منظوره برای قوانین شرط فعالیت ساخته شود و سپس مجموعه ای از قوانین برای محیط های کار خاص ایجاد گردد. در شکل زیر، برنامه ی عامل نشان داده شده است که خیلی ساده است. تابع INTERPRET-INPUT با استفاده از ادراک، یک توصیف انتزاعی از حالت فعلی ایجاد میکند، و تابع RULE-MATCH اولین قانون موجود در مجموعه ای از قوانین را بر می گرداند که با توصیف حالت خاص مطابقت دارد:

function  SIMPLE-REFLEX-AGENT (percept) returns an action
  presistent: ruless, a set of condition-action rules
    
  state  <  - - INTEERPRET-INPUT (percept)
  rule  < - -  RULE-MATCH (state,rules)
  action  <  - -  rule.ACTION
  return action
 

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

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

♦ عامل های واکنشی مبتنی بر مدل (model-based reflex  agents)

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

تغییر این اطلاعات داخلی با مرور زمان، مستلزم دو نوع دانش است که باید در برنامه عامل کدنویسی شود. اولا باید بدانیم که دنیا چگونه مستقل از عامل تکامل می یابد. ثانیا، باید بدانیم که فعالیت های عامل، چه تاثیری در دنیا دارد. این دانش درباره ی “چگونگی عملکرد جهان” چه به صورت مدارهای منطقی ساده پیاده سازی شود یا به صورت تئوری های علمی، مدلی از دنیا نام دارد. عاملی که از چنین مدلی استفاده میکند، عامل مبتنی بر مدل نام دارد. برنامه عامل در شکل زیر نشان داده شده است. بخش جالب، تابع UPDATE-STATE است که مسئول ایجاد توصیف جدیدی از حالت داخلی است. جزئیات چگونگی نمایش مدل ها و حالت ها، به نوع محیط و فناوری استفاده شده در طراحی عامل بستگی دارد.

function  MODEL-BASED-REFLEX-AGENT (percept) returns an action
  presistent: state, the agent's current conception of the world state
              model, a description of how the next state depends on current state and action
              rules, a set of condition-action rules 
              action, the most recent action, initially none
  
  state  < -- UPDATE-STATE (state, action, peercept, model)
  rule  < -- RULE-MATCH (state,rules)
  action  < -- rule.ACTION
  return action
 

عامل واکنشی مبتنی بر مدل، حالت فعلی دنیا را با یک مدل داخلی ردیابی، و همانند عامل واکنشی ساده، فعالیتی را انتخاب میکند.

عامل های هوشمند قسمت 1
عامل های هوشمند قسمت 2
عامل های هوشمند قسمت 3
عامل های هوشمند قسمت 4
عامل های هوشمند قسمت 5

مارس 14, 2020/0 دیدگاه /توسط hgadmin
https://behsanandish.com/wp-content/uploads/2019/08/sensorseniv-300x129-Copy-1.png 256 256 hgadmin https://behsanandish.com/wp-content/uploads/2020/09/logo-farsi-englisi-300x195-1.png hgadmin2020-03-14 10:00:152020-03-14 10:00:15عامل های هوشمند قسمت 3

عامل های هوشمند قسمت 1

آموزش های عمومی هوش مصنوعی

عامل‌ های هوشمند

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

تعریف عامل:

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

نحوه کار عامل:

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

عامل خود مختار

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

انواع محیط ها

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

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

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

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

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

ساختار عامل های هوشمند

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

عامل های واکنشی ساده

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

منبع


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

ساختار یک عامل

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

عامل هوشمند (Rational Agent)

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

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

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

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

تفاوت ِعقلانیت و علم لایتناهی

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

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

سوالی که پیش می آید این است که تصمیم شما برای عبور از خیابان یک تصمیم اشتباه و غیر هوشمندانه بوده است؟ آیا از عمل شما به عنوان یک عمل غیر عقلانی یاد خواهد شد؟

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

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

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

عامل هوشمند ایده آل

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

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

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

نگاشت ایده آل، از توالی مشاهدات به عمل

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

به چنین جدولی، جدول “نگاشت مشاهدات به عمل” میگویند. در اصول میتوان با تست اینکه چه عملی برای مشاهدات مناسب است این جدول را تکمیل نمود. باید توجه نمود که اگر میتوانیم از روی نگاشت، عامل هوشمند داشته باشیم از روی نگاشت ایده آل نیز میتوان به عامل هوشمند ایده آل رسید.

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

 

مارس 12, 2020/0 دیدگاه /توسط daliri
https://behsanandish.com/wp-content/uploads/2018/03/sensorseniv-300x129-Copy.png 256 256 daliri https://behsanandish.com/wp-content/uploads/2020/09/logo-farsi-englisi-300x195-1.png daliri2020-03-12 10:00:062020-03-12 10:00:06عامل های هوشمند قسمت 1

مسئله فروشنده دوره گرد؟

آموزش های عمومی هوش مصنوعی

مسئله فروشنده دوره‌گرد

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

مسئله فروشنده دوره گرد (به انگلیسی: Travelling salesman problem، به‌اختصار: TSP) مسئله‌ای مشهور است که ابتدا در سده ۱۸مسائل مربوط به آن توسط ویلیام همیلتون و توماس کرکمن مطرح شد و سپس در دهه ۱۹۳۰ شکل عمومی آن به وسیله ریاضیدانانی مثلکارل منگر از دانشگاه هاروارد و هاسلر ویتنی از دانشگاه پرینستون مورد مطالعه قرار گرفت.

شرح مسئله بدین شکل است:

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

 

مسئله فروشنده دوره گرد

تعداد جواب‌های شدنی مسئله، برابر است با {\displaystyle {\frac {1}{2}}(n-1)!}{\displaystyle {\frac {1}{2}}(n-1)!} برای n>۲ که n تعداد شهرها می‌باشد. در واقع این عدد برابر است با تعداددورهای همیلتونی در یک گراف کامل با n رأس.

مسئله‌های مرتبط

مسئله فروشنده دوره گرد یا Traveling Salesman Problem (به اختصار TSP)، یکی از مسائل بسیار مهم و پرکاربرد در علوم کامپیوتر و تحقیق در عملیات است.

سه روش کلی برای کد کردن راه حل‌های مسئله TSP ارائه شده‌است که در الگوریتم‌های مختلفی قابل استفاده هستند. راه حل‌های سه گاه عبارتند از:

الف) نمایش جواب به صورت رشته گسسته جایگشتی که در الگوریتم‌های زیر قابل استفاده است: الگوریتم ژنتیک یا Genetic Algorithms (به اختصار GA) شبیه‌سازی تبرید یا Simulated Annealing (به اختصار SA) جستجوی ممنوعه یا Tabu Search (به اختصار TS) جستجوی همسایگی متغیر یا Variable Neighborhood Search (به اختصار VNS) بهینه‌سازی کلونی مورچگان یا Ant Colony Optimization (به اختصار ACO) جستجوی هارمونی یا Harmony Search (به اختصار HS) و سایر الگوریتم‌های بهینه‌سازی گسسته

ب) نمایش جواب به صورت کلیدهای تصادفی یا Random Key که در الگوریتم‌های زیر قابل استفاده است: الگوریتم ژنتیک یا Genetic Algorithms (به اختصار GA) بهینه‌سازی ازدحام ذرات یا Particle Swarm Optimization (به اختصار PSO) الگوریتم رقابت استعماری یا Imperialist Competitive Algorithm (به اختصار ICA) تکامل تفاضلی یا Differential Evolution (به اختصار DE) بهینه‌سازی مبتنی بر جغرافیای زیستی یا Bio-geography Based Optimization (به اختصار BBO) استراتژی‌های تکاملی یا Evolution Strategies (به اختصار ES) برنامه‌ریزی تکاملی یا Evolutionary Programming (به اختصار EP) و سایر الگوریتم‌های بهینه‌سازی پیوسته

پ) نمایش جواب به شکل ماتریس‌های شبیه فرومون که توسط تمامی الگوریتم‌های اشاره شده در مورد (ب) قابل استفاده می‌باشد.

  • مسئله معادل در نظریه گراف به این صورت است که یک گراف وزن‌دار کامل داریم که می‌خواهیم کم‌وزن‌ترین دور همیلتونی را پیدا کنیم.
  • مسئله تنگراه فروشنده دوره‌گرد (به انگلیسی: Bottleneck traveling salesman problem، به‌اختصار: bottleneck TSP) مسئله‌ای بسیار کاربردی است که در یک گراف وزن‌دار کم‌وزن‌ترین دور همیلتونی را می‌خواهد که شامل سنگین‌ترین یال باشد.
  • تعمیم‌یافته مسئله فروشنده دوره‌گرد دارای ایالت‌هایی است که هر کدام حداقل یک شهر دارند و فروشنده باید از هر ایالت دقیقاً از یک شهر عبور کند. این مسئله به «مسئله سیاست‌مدار مسافر» نیز شهرت دارد.

الگوریتم‌ها

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

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

الگوریتم‌های دقیق

سرراست‌ترین راه حل امتحان کردن تمامی جایگشتهای ممکن برای پیدا کردن ارزان‌ترین مسیر است که چون تعداد جایگشت‌ها !n است، این راه حل غیرعملی می‌شود. با استفاده از برنامه‌نویسی پویا مسئله می‌تواند با مرتبه زمانی{\displaystyle n^{2}2^{n}}{\displaystyle n^{2}2^{n}} حل شود. راه‌های دیگر استفاده از الگوریتم‌های انشعاب و تحدید برای ۴۰ تا ۶۰ شهر، استفاده از برنامه‌نویسی خطی برای کوچکتر از ۲۰۰ شهر و استفاده از روش برش-صفحه برای اندازه‌های بزرگ است.

الگوریتم‌های مکاشفه‌ای

الگوریتم‌های تقریبی متنوعی وجود دارند که خیلی سریع جواب‌های درست را با احتمال بالا به‌دست می‌دهند که می‌توان آن‌ها را به صورت زیر دسته‌بندی کرد:

  • مکاشفه‌ای سازنده
  • بهبود تکراری
    • مبادله دوبه‌دو
    • مکاشفه‌ای k-opt
    • مکاشفه‌ای V-opt
  • بهبود تصادفی

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

این الگوریتم بطور مستقیم در مرتبه زمانی(!O(n حل می‌شود اما اگر به روش برنامه‌نویسی پویا برای حل آن استفاده کنیم مرتبه زمانی آن (O(n^2*2^n خواهد شد که جز مرتبه‌های نمایی است. باید توجه داشت علی‌رغم آنکه مرتبه نمایی مذکور زمان بسیار بدی است اما همچنان بسیار بهتر از مرتبه فاکتوریل می‌باشد. شبه کد الگوریتم فوق به صورت زیر است که در آن تعداد زیر مجموعه‌های یک مجموعه n عضوی ۲ به توان n می‌باشد و for اول یک ضریب n را نیز حاصل می‌شود که به ازای تمام شهرهای غیر مبدأ می‌باشد و حاصل (n*(2^n را پدیدمی‌آورد؛ بنابراین برای جستجوی کمترین مقدار نیاز به یک عملیات خطی از مرتبه n داریم که در زمان فوق نیز ضرب می‌شود و در نهایت زمان (n^2)*(2^n) را برای این الگوریتم حاصل می‌کند.

 

C({1},1) = 0
  for (S=2 to n)
  for All Subsets S subset of {1,2,3,...} of size S and containing1
  C(S,1) = &
  for All J member of S , J<>1
  C (S , J) = min { C (S - { J } , i) + D i,J: i member of S , i <> J }
 return min j C ({1 . . . n}, J) + D J,1

 

شبه کد مسئله فروشنده دوره گرد

مسئله:یک تور بهینه برای یک گراف وزن دار و جهت دار مشخص نمایید. وزن‌ها اعدادی غیر منفی هستند

ورودی:یک گراف وزن دار و جهت دار و n تعداد گره‌های گراف. گراف با یک ارائه دو بعدی w مشخص می‌شود که سطرها و ستون‌هایش از ۱ تا n شاخص دهی شده‌اند و در ان [w[i][j معرف وزن لبه از گره iام به گره jام است.۴

خروجی:یک متغیر minlength که مقدار ان طول تور بهینه است و یک ارائه دو بعدی p که یک تور بهینه را از روی ان می‌توان ساخت . سطرهای p از ۱ تا n و ستونهای ان با تمامی زیر مجموعه‌های {v-{v1 شاخص دهی شده‌اند . [P[i][A شاخص اولین گره بعد از vi بر روی کوتاهترین مسیر از viتاvj است که از تمام گره‌های A دقیقاً یکبار می‌گذرد.

 

* Void travel ( int n ,
 *              const number W[][],
 * index p[][],
 * number&minlength
* )
* {
* Index i, j, k;
* number D[1..n][subset of V-{vi}];
* for (i= 2 ; i<=n;i++)
* D[i][∅} = w[i][1];
* for(k=1; k<=n-2 ; k++)
* for (all subsets A v-{v1} containing k vertices
* for (i such that j≠1 and vi is not in A){
* D[i][A] = minimum (W[i][j]+ D[vj][A-{vj}]);
* P[i][A]= value of j that gave the minimum
* }
* D[1][v-{vi}]= minimum (W[1][j]+ D[vj][V-{v1}];
* P[1][V-{v1}]= value of j that gave the minimum ;
* Minlength = D[1][V-{v1}];
* }

 

الگوریتم جستجوی ممنوعه یا Tabu Search یا به اختصار TS، یکی از قوی‌ترین الگوریتم‌ها در زمینه حل مسائل بهینه‌سازی، به خصوص مسائل بهینه‌سازی مبتنی بر گراف و مسائل بهینه‌سازی ترکیباتی (Combinatorial Optimization) است. این الگوریتم در اواخر دهه ۱۹۸۰ و توسط گلووِر (Glover) و همکارانش ارائه گردید. غالباً یکی از مسائلی که برای حل آن‌ها از الگوریتم TS استفاده می‌شود، مسئله فروشنده دوره گرد یا TSP است. این الگوریتم پاسخ‌های بسیار مناسبی را برای انواع مسائل گسسته به خصوص مسئله TSP ارائه می‌کند!

منبع


 

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

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

 

به صورت کلی مسئله فروشنده دوره گرد دارای 3 حالت زیر می باشد.

1-    فروشنده دوره گرد متقارن

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

2-   فروشنده دوره گرد نامتقارن

مسأله ­ي فروشنده ­ي دوره­ گرد نامتقارن, یک TSP است که فاصله بين رئوس آن, متقارن نيست. ATSP بسيار مشکل­تر از TSP است، در حقيقت در حالي که TSP متقارن, حتي در گراف­هاي با چندين هزار  رأس, به طور بهينه, قابل حل است, تنها نمونه­هاي خاصي ازATSP را که ماتريس فاصله­ي آنها, تقريباً متقارن است, تنها در گراف­هاي داراي چندين دوجين رأس, مي­توان به طور بهينه حل کرد. به کاربردن هوش مصنوعی  براي ATSP, راحت­ و سر راست است. چون هيچ تغييراتي در الگوريتم اصلي, لازم ندارد. پيچيدگي محاسباتي در حلقه­ي الگوريتم, برنامه­ي کاربردي TSP, يکسان است, زيرا تنها تفاوت آنها در فاصله­ها و ماتريس­هاي ردپا است که در اينجا ديگر متقارن نيستند.

3-   فروشنده دوره گرد با پنجره های زمانی

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

 

فوریه 20, 2020/0 دیدگاه /توسط daliri
https://behsanandish.com/wp-content/uploads/2018/03/download-1.png 256 256 daliri https://behsanandish.com/wp-content/uploads/2020/09/logo-farsi-englisi-300x195-1.png daliri2020-02-20 10:00:392020-02-20 10:00:39مسئله فروشنده دوره گرد؟

تشخیص الگو و انواع الگوریتم ها

آموزش عمومی پردازش تصویر و بینایی ماشین, آموزش های عمومی هوش مصنوعی, تشخیص نوری کاراکتر و تشخیص دست خط, تشخیص هویت زیست سنجی

بازشناخت الگو

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

تشخیص خودکار چهره شخص با استفاده از الگوریتم‌های تشخیص الگو

تشخیص خودکار چهره شخص با استفاده از الگوریتم‌های تشخیص الگو

انواع تشخیص الگو

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

تشخیص آیتم‌های واقعی

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

تشخیص الگوهای زمانی و فضایی

این فرایند تشخیص، شناسایی و دسته‌بندی الگوهای فضایی و الگوهای زمانی را در بر می‌گیرد. مثال‌هایی از الگوهای فضایی کارکترها، اثر انگشت‌ها، اشیاء فیزیکی و تصاویر هستند. الگوهای زمانی شامل فرم‌های موجی گفتار، سری‌های زمانی و … است.

الگوها و کلاس‌های الگوها

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

مسائل اساسی در طراحی سیستم تشخیص الگو

به طور کلی طراحی یک سیستم تشخیص الگو چندین مسئلهٔ اصلی را در بر می‌گیرد: ۱)طریقه نمایش داده‌ها ۲)استخراج ویژگی ۳)تعیین رویه تصمیم بهینه

طریقه نمایش داده‌ها

اول از همه، ما بایستی در مورد نمایش داده‌های ورودی تصمیم بگیریم.

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

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

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

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

یادگیری و تمرین دادن

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

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

تشخیص الگوی نظارت شده و بدون نظارت

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

کلیات یک سیستم تشخیص الگو

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

الگوریتم‌ها

الگوریتم انتخابی برای تشخیص الگو، به نوع خروجی، آموزش با ناظر یا بدون ناظر و پویا یا ایستا بودن طبیعت الگوریتم بستگی دارد. الگوریتم‌های ایستا به دو دسته generative وdiscriminative تقسیم می‌شوند.

الگوریتم‌های کلاس بندی (الگوریتم‌های با ناظر پیشگو)

  • درخت تصمیم و لیست تصمیم
  • ماشین‌های بردار پشتیبانی
  • شبکه‌های عصبی
  • پرسپترونن
  • k-نزدیکترین همسایگی

الگوریتم‌های خوشه ساری (الگوریتم‌های بدون ناظر پیشگو)

  • مدل‌های دسته‌بندی ترکیبی
  • خوشه سازی سلسله مراتبی
  • Kernel PCA

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

با ناظر

  • رگرسیون خطی
  • شبکه‌های عصبی
  • Gaussian process regression

بدون ناظر

  • Principal Components Analysis= PCA
  • LCA

کاربردها

  • تشخیص حروف پلاک خودرو
  • تشخیص صدا
  • تشخیص چهره
  • تشخیص اثر انگشت
  • تشخیص امضا
  • تشخیص دی ان ای
  • تشخیص شبکه چشم
  • تشخیص مردمک چشم
  • تشخیص دست خط
  • دسته‌بندی متون به گروه‌های مختلف (به عنوان نمونه، نامه‌های الکترونیکی شامل هرزنامه و بدون هرزنامه)
  • تشخیص خودکار کدهای پستی دست‌نویس روی پاکت‌های نامه
  • تشخیص خودکار چهره افراد

منبع

فوریه 18, 2020/0 دیدگاه /توسط daliri
https://behsanandish.com/wp-content/uploads/2018/01/patternrecognition.jpg 256 256 daliri https://behsanandish.com/wp-content/uploads/2020/09/logo-farsi-englisi-300x195-1.png daliri2020-02-18 10:00:292020-02-18 10:00:29تشخیص الگو و انواع الگوریتم ها

پردازش سیگنال و کاربردها

آموزش عمومی پردازش تصویر و بینایی ماشین, آموزش های عمومی هوش مصنوعی

پردازش سیگنال چیست؟

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

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

تاریخچه

با توجه به الن وی. اوپنهایم و رنالد شافر ،اصول اولیه پردازش سیگنال در روش های آنالیز عددی کلاسیک در قرن 17 یافت می شود. اوپنهایم و شافر اشاره کرده اند که “دیجیتالی ساختن” یا پالایش دیجیتالی این روش ها درسیستم های کنترلی در سال های 1940 و 1950 می توان یافت.

 

زمینه های کاربرد

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

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

  • مدل اتصال متقابل سامانه های باز، 1 در هفت لایه مدل OSI ، لایه فیزیکی (مدولاسیون،برابر سازی ، هم تافتنو غیره.);
  • OSI لایه 2 لایه پیوند داده ای ;
  • OSI 6، لایه لایه نمایش ( برنامه نویسی از جمله تبدیل آنالوگ به دیجیتالو فشرده سازی سیگنال).

 

دستگاه های معمولی

  • فیلتر – برای مثال آنالوگ (منفعل یا فعال) یا دیجیتال (FIRهای IIR, دامنه فرکانسی یا کنترل تصادفی و غیره.)
  • نمونه برداری و مبدل سیگنال های آنالوگ به دیجیتال برای فراگیری سیگنالها و بازسازی آن ها، که شامل اندازه گیری فیزیکی سیگنال ها،ذخیره سازی یا انتقال آن را به عنوان سیگنال دیجیتال و بازسازی سیگنال اصلی یا تقریبی آن در کاربرد های احتمالی بعدی.
  • فشرده سازی داده ها
  • پردازشگر سیگنال دیجیتال سیگنال دیجیتال (DSPs)

 

روش های ریاضی کاربردی

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

 

دسته بندی ها

پردازش سیگنال آنالوگ

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

 

پردازش سیگنال های پیوسته در زمان

پردازش سیگنال های پیوسته در زمان برای سیگنال های است که با تغییرات پیوسته دامنه تغییر می کنند(بدون در نظر گرفتن بعضی نقاط منقطع)

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

 

پردازش سیگنال های گسسته در زمان

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

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

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

 

پردازش سیگنال دیجیتال

پردازش سیگنال های دیجیتال پردازش نمونه های سیگنال در زمان های گسسته می باشد. پردازش توسط , رایانه ها یا با مدارهای دیجیتال همچون ASIC ها ، field-FPGA ها ،یا پردازنده های سیگنال دیجیتال ها انجام می گیرد . عملیات های معمول ریاضی شامل نمایش نقطه ثابت ، ممیز شناور ، مقدار حقیقی یا مختلط اعداد ، ضرب و جمع از این جمله می باشند. بعضی دیگر از عملیات های معمول توسط دایره بافر و جدول های look-up توسط سخت افزار پشتیبانی می شوند. مثال های از این الگوریتم ها تبدیل فوریه سریع (FFT) ، فیلتر های FIR ، فیلتر های IIR ، و فیلتر تطبیقیمی باشند.

 

غیر خطی پردازش سیگنال های غیرخطی

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

منبع


پردازش سیگنال چیست؟ (Signal processing)

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

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

 

مثال ها

شکل زیر سیگنال صوتی را نشان می‌دهد که هنگام فشار دادن کلید ۱ بر روی تلفن تولید می‌شود:

 

شکل 1-سیگنال پیوسته

 

شکل 2-سیگنال گسسته

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

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

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

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

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

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

 

تبدیل آنالوگ به دیجیتال

دیجیتال کردن سیگنال بر روی سیستم‌های کامپیوتری امروزی توسط کارت‌های صوتی انجام می‌پذیرد. یک سیگنال آنالوگ از لحظه ورود تا دیجیتال شدن مراحل زیر را به ترتیب طی می‌کند:

• آماده کردن سیگنال ورودی
• فیلتر کردن سیگنال ورودی
• نمونه برداری
• چندی کردن
شماتیک زیر نیز فرآیند تبدیل سیگنال آنالوگ به دیجیتال را نشان می‌دهد:

 

آماده کردن سیگنال ورودی

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

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

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

 

فیلتر کردن سیگنال

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

 

 طراحی فیلترها

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

 

نمونه برداری کردن

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

 

چندی کردن سیگنال

در  مرحله نمونه برداری دیدیم که یک نمونه از سیگنال به شکل ولتاژ نمونه برداری  شد. در  این مرحله ولتاز نمونه برداری شده باید به شکل دیجیتالی ( عدد باینری )  تبدیل شود.  برای این منظور نیز از مبدل‌های آنالوگ به دیجیتال استفاده می‌کنیم. به  عنوان مثال  یک مبدل انالوگ به دیجیتال 8 بیتی به ازای ورودی خود عددی بین 0 تا 255  تولید می‌ کند. فرض کنید ورودی مبدل در بازه 0 تا 5 ولت باشد. این بدان معناست که به  ازای ورودی 0 ولت ، خروجی مبدل عدد باینری 0 و به ازای ورودی 5 ولت خروجی مبدل  عدد باینری 255 خواهد بود. بدیهی است که افزایش تعداد بیت‌های مبدل موجب افزایش  دقت چندی  شدن خواهد شد.

 

فوریه 16, 2020/0 دیدگاه /توسط daliri
https://behsanandish.com/wp-content/uploads/2018/01/123.jpg 243 301 daliri https://behsanandish.com/wp-content/uploads/2020/09/logo-farsi-englisi-300x195-1.png daliri2020-02-16 10:00:052020-02-16 10:00:05پردازش سیگنال و کاربردها
صفحه 1 از 7123›»

صفحات

  • #9096 (بدون عنوان)
  • #12541 (بدون عنوان)
  • 990729
  • home
  • product-mahdi
  • slider1
  • slider2
  • slider3
  • slider4
  • Video Test
  • آموزش
  • آموزش پردازش تصویر در نرم افزار متلب (Matlab)
  • آموزش های زبان برنامه نویسی سی شارپ (#C)
  • آموزش های زبان سی پلاس پلاس (++C)
  • آموزش های عمومی برنامه نویسی
  • آموزش های عمومی پردازش تصویر و بینایی ماشین
  • آموزش های عمومی هوش مصنوعی
  • ابزار و محصولات جانبی
  • ارتباط با ما
  • استخدام برنامه نویس
  • استخدام برنامه نویس
  • برگه نمونه
  • برگه نمونه
  • برنامه نویسی
  • بینایی ماشین (Machine Vision) و بینایی کامپیوتر
  • پردازش تصویر با کتابخانه متن باز OpenCV
  • پردازش تصویر و بینایی ماشین
  • پروژه ها و سورس کدهای پردازش تصویر و بینایی ماشین
  • پروژه ها و سورس کدهای هوش مصنوعی
  • تست اسلایدر
  • تشخيص پلاک خودرو(Car Plate Recognition)
  • تشخیص نوری کاراکتر و تشخیص دست خط (OCR/HCR)
  • تشخیص هویت زیست سنجی (Biometrics Identification)
  • تماس با ما
  • دانلود نسخه دمو سامانه کنترل تردد بهسان
  • درباره ما
  • درخواست دمو
  • دعوت به همکاری
  • دوربین و ابزارهای تصویربرداری (camera)
  • سامانه جامع پلاکخوان خودرو(کنترل تردد بهسان)
  • سامانه جامع مدیریت باسکول (بهسان توزین)
  • سامانه قرائت فرم های چند گزینه ای
  • سامانه قرائت فرم های چند گزینه ای
  • صفحه اصلی
  • فرم درخواست همکاری
  • محصولات
  • محصولات جانبی
  • مقالات ، سمینارها و کنفرانس های پردازش تصویر
  • مقالات، سمینارها و کنفرانس های هوش مصنوعی
  • نرم افزار باسکول
  • نرم افزار ثبت تردد جاده ای
  • نرم افزار مدیریت تعمیرگاه ، کارواش و تعویض روغن بهسان
  • نرم افزارانبار و حساب داری بهسان اندیش
  • نمونه کارها
  • نمونه کارهای سامانه جامع پلاکخوان خودرو
  • هوش محاسباتی (Computational Intelligence)
  • هوش مصنوعی
  • وبلاگ

دسته ها

  • آموزش پردازش تصویر در نرم افزار متلب (Matlab)
  • آموزش عمومی پردازش تصویر و بینایی ماشین
  • آموزش های زبان برنامه نویسی سی شارپ
  • آموزش های عمومی هوش مصنوعی
  • اخبار
  • بینایی ماشین (Machine Vision) و بینایی کامپیوتر
  • پردازش تصویر با کتابخانه متن باز OpenCV
  • پروژه ها و سورس کدهای پردازش تصویر و بینایی ماشین
  • پروژه ها و سورس کدهای هوش مصنوعی
  • تشخيص پلاک خودرو
  • تشخیص نوری کاراکتر و تشخیص دست خط
  • تشخیص هویت زیست سنجی
  • دسته‌بندی نشده
  • دوربین (camera)
  • مقالات
  • مقالات ، سمینارها و کنفرانس های پردازش تصویر
  • مقالات، سمینارها و کنفرانس های هوش مصنوعی
  • هوش محاسباتی
  • وبلاگ

بایگانی

  • آوریل 2022
  • مارس 2022
  • دسامبر 2021
  • نوامبر 2021
  • سپتامبر 2021
  • جولای 2021
  • می 2021
  • مارس 2021
  • فوریه 2021
  • آوریل 2020
  • مارس 2020
  • فوریه 2020
  • ژانویه 2020
  • دسامبر 2019
  • نوامبر 2019
  • اکتبر 2019
  • سپتامبر 2019
  • آگوست 2019
  • مارس 2019
  • ژانویه 2018
  • دسامبر 2017

تلفن های تماس:

تلفن: ۹۱۰۰۱۸۸۱(۰۳۱)
بازرگانی و فروش:۰۹۱۳۶۵۳۱۸۸۱
پشتیبانی: ۰۹۱۱۷۶۱۰۲۷۵

ساعات کاری

از شنبه تا چهارشنبه : ۰۹:۰۰ تا ۱۷:۰۰

پنچ شنبه ها : از ۰۹:۰۰ تا ۱۳:۳۰

پیوند ها :

  • درخواست دمو
  • مطالب و آموزش ها
  • همکاری با بهسان اندیش
  • درباره ما

 

محصولات :

  • پلاک خوان
  • نرم افزار ثبت تردد جاده ای
  • نرم افزار مدیریت پارکینگ
  • نرم افزار مدیریت کارواش
  • نرم افزار تعمیرگاه خودرو
  • نرم افزار جامع مدیریت باسکول
  • ماژول رله کنترل راهبند
  •  

 

تمامی حقوق مالکیت معنوی این ‌سایت برای شرکت بهسان اندیش سپهر، محفوظ است.
  • Instagram
  • Facebook
  • Youtube
  • LinkedIn
  • Mail
رفتن به بالا