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

شناسایی حروف توسط شبکه های عصبی

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

سوال : به نظر میرسه باید توی مثال هامون به کامپیوتر بگیم مثلا این A هست و این B هست!
جواب : اون هم نوعی یادگیری هست که بهش اصطلاحا Supervised می گن. اما توی این مثال حالت جالب تر یعنی Unsupervised رو می خوایم بررسی کنیم. به این صورت که فقط به کامپیوتر می گیم ۳ دسته وجود داره و براش چندین مثال می زنیم و خودش مثال ها رو توی ۳ دسته قرار می ده! در نهایت ما مثلا می تونیم بگیم همه ی مثال هایی که در دسته ی دوم قرار گرفتن A هستند.
شاید جالب باشه بدونید گوگل هم برای دسته بندی اطلاعات از همچین روشی استفاده می کنه! البته کمی پیشرفته تر. مثلا ۱۰۰ متن اقتصادی و ۱۰۰ متن ورزشی به کامپیوتر میده و از کامپیوتر می خواد اونها رو به ۲ بخش تقسیم بندی بکنه! ورودی لغت های اون متن ها هستند. “

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

  1. در مورد هوش مصنوعی و شبکه های عصبی یکم اطلاعات داشته باشید.
  2. برنامه ای برای تولید الگو که ورودی شبکه ی عصبی ما خواهد بود. این برنامه رو میتونید از اینجا تهیه کنید.
  3. نرم افزار JOONE Editor. عبارت JOONE مخفف Java Object Oriented Neural Engine هست. که یک ابزار قدرت مند برای بوجود آوردن و آموزش انواع شبکه های عصبی در Java هست. توی این آموزش ما از ویرایشگر این ابزار استفاده می کنیم که محیطی گرافیکی برای تولید شبکه های عصبی داره و کار با اون بسیار ساده هست. این ابزار از اینجا قابل دریافت هست. بدیهیه که برای نصب این ابزار ابتدا باید جاوا روی کامپیوتر شما نصب باشه.
  4. کمی پشتکار و حوصله.

لینک جایگزین برای دانلود JOONE Editor:
https://sourceforge.net/projects/joone/files/

حالا می خوایم یک سری الگو تولید کنیم. الگو همون مثال هایی هست که گفتیم برای کامپیوتر می زنیم تا بتونه یاد بگیره.
برای این کار از برنامه ای که در شماره ی ۲ ابزارها معرفی کردم استفاده می کنیم. این برنامه خیلی ساده کار می کنه و فقط الگو ها رو از حالت تصویری به ۰ و ۱ تبدیل می کنه.
روش کار به این صورت هست که اول تصویر رو به یک ماتریس ۸ در ۸ تقسیم می کنه. یعنی ۶۴ قسمت. وقتی دکمه ی سمت چپ ماوس پایینه در صورتی که ماوس از هر کدوم از اون ۶۴ بخش رد بشه اون بخش رو داخل ماتریس علامت گذاری می کنه (مقدار اون قسمت رو True می کنه). وقتی دکمه ی Learn زده می شه برنامه مقدار تمام قسمت ها رو از بالا به پایین داخل یک فایل ذخیره می کنه. مقدار هر قسمت می تونه ۰ یا False و ۱ یا True باشه. ”
در صورتی که سورس این برنامرو خواستید کافیه توی بخش نظرات بگید تا براتون میل کنم.
کار با این برنامه خیلی آسون هست همونطور که توی شکل مشخصه.

کافیه الگویی که دوست دارید رو داخل فضای سفید بکشید و دکمه ی Learn رو بزنید. Textbox پایینی برای تغییر دادن آدرس فایلی هست که اطلاعات توی اون ذخیره میشه. و Textbox بالایی برای اینه که بگید این الگو چه حرفی هست که توی این مطلب نیازی به پر کردن اون نیست چون ما بحثمون یادگیری Unsupervised هست. توی مطالب بعدی برای یادگیری Supervised به این فیلد نیاز خواهیم داشت.
خوب من برای اینکه مثال پیچیده نشه ۳ حرف رو می خوام به کامپیوتر یاد بدم. A و C و Z!
برای این کار برای هر کدوم از حروف چهار مثال وارد می کنم و دکمه ی Learn رو می زنم. توی شکل زیر می تونید هر ۱۲ الگو رو ببینید.

فایل خروجی مربوط به این الگوهای مثال از اینجا قابل دریافت هست.همونطور که می بینید هر ردیف به نظر من و شما عین هم هستند. اما اگر کمی بیشتر دقت کنیم می بینیم جای مربع های مشکی با هم فرق دارن. به نظر شما کامپیوتر هم خواهد فهمید هر ردیف نشاندهنده ی یک حرف مجزا هست؟
تشکیل شبکه ی عصبیخوب! حالا می خواهیم ساختار شبکه ی عصبی رو طراحی کنیم. برای این کار از JOONE Editor کمک می گیریم.
صفحه ی اول این نرم افزار به این شکل هست:

توی این مثال ما از یک لایه ی ورودی خطی ۶۴ نورونی استفاده می کنیم که هر نورون یک قسمت از ماتریسی که در بخش قبل گفتیم رو به عنوان ورودی می گیره. به عنوان خروجی هم از یک لایه ی ۳ نورونی WinnerTakeAll استفاده می کنیم. در این نوع خروجی یکی از نورون ها ۱ و بقیه ۰ خواهند بود که برای تقسیم بندی بسیار مناسب هست.

برای شروع ابتدا یک لایه ی FileInput ایجاد می کنیم. توسط این ابزار می تونیم یک فایل رو به عنوان ورودی به شبکه بدیم.
روی FileInput کلیک راست کرده و در Properties اون فایل درست شده در مرحله ی قبلی رو به عنوان fileName انتخاب می کنیم و به عنوان Advanced Column Selector مقدار 1-64 رو وارد می کنیم تا برنامه متوجه بشه باید از ستون های ۱ تا ۶۴ به عنوان ورودی استفاده کنه.

ایجاد یک لایه ی خطی:

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

همونطور که می بینید تعداد ردیف ها ۶۴ مقداردهی شده که دلیلش این هست که ۶۴ ورودی داریم.
حالا با انتخاب FileInput و کشیدن نقطه ی آبی رنگ سمت راست اون روی Linear Layer خروجی FileInput یعنی اطلاعات فایل رو به عنوان ورودی Linear Layer انتخاب می کنیم.
تا این لحظه ما یک لایه ی ۶۴ نورونه داریم که ورودی اون مقادیر مثال های تولید شده در مرحله ی قبل هست.

ایجاد لایه ی WinnerTakeAll :

خوب توی این مرحله لایه ی خروجی که یک لایه ی WinnerTakeAll هست رو تولید می کنیم. Properties این لایه باید به شکل زیر تغییر پیدا کنه تا اطمینان پیدا کنیم الگوها به سه دسته تقسیم میشن:

حالا باید بین لایه ی خطی و لایه ی WinnerTakeAll ارتباط برقرار کنیم. برای این کار باید از Kohonen Synapse استفاده کنیم و Full Synapse جواب نخواهد داد. پس روی دکمه ی Kohonen Synapse کلیک کرده و بین لایه ی خطی و لایه ی WinnerTakeAll ارتباط ایجاد می کنیم.
در آموزش های بعدی فرق انواع سیناپس ها رو بررسی خواهیم کرد.آموزش شبکه

تا این لحظه شبکه باید به این شکل باشه. حالا می تونیم آموزش شبکرو شروع کنیم. برای این کار در منوی Tools بخش Control Panel رو انتخاب می کنیم. و در صفحه ی جدید learningRating و epochs و training pattern و learning رو به شکل زیر تغییر می دیم.

epochs تعداد دفعاتی که مرحله ی آموزش تکرار میشرو تعیین می کنه.
learningRate ضریبی هست که در یادگیری از اون استفاده می شه. بزرگ بودن اون باعث میشه میزان تغییر وزن نورون ها در هر مرحله بیشتر بشه و سرعت رسیدن به حالت مطلوب رو زیاد می کنه اما اگر مقدار اون خیلی زیاد شه شبکه واگرا خواهد شد.
training patterns هم تعداد الگو هایی که برای آموزش استفاده می شن رو نشون می ده که در این مثال ۱۲ عدد بود.
بعد از اینکه تمام تغییرات رو ایجاد کردیم دکمه ی Run رو می زنیم و منتظر می شیم تا ۱۰۰۰۰ بار عملیات یادگیری انجام بشه.

تبریک می گم! شما الان به کامپیوتر سه حرف A و C و Z رو یاد دادید!
اما خوب حالا باید ببینید کامپیوتر واقعا یاد گرفته یا نه.
برای این کار از یک لایه ی FileOutput استفاده می کنیم تا خروجی شبکرو داخل یک فایل ذخیره کنیم.
Properties لایه ی FileOutput باید بصورت زیر باشه:

همونطور که می بینید به عنوان fileName مقدار c:\output.txt رو دادیم. یعنی خروجی شبکه در این فایل ذخیره میشه.
حالا کافیه لایه ی WinnerTakeAll رو به لایه ی FileOutput متصل کنیم.
بعد از متصل کردن این دو لایه شکل کلی باید بصورت زیر باشه:

برای اینکه فایل خروجی ساخته بشه باید یک بار این شبکرو اجرا کنیم. برای این کار مجددا در منوی Tools بخش Control Panel رو انتخاب می کنیم و در اون learning رو False و epochs رو ۱ می کنیم تا شبکه فقط یک بار اجرا شه. پس از تغییرات این صفحه باید به شکل زیر باشه:

حالا با توجه به اینکه من اول چهار مثال A رو وارد کردم و بعد به ترتیب چهار مثال C و چهار مثال Z رو ببینیم خروجی این شبکه به چه شکل شده.
باور کردنی نیست! خروجی به این شکل در اومده:

1.0;0.0;0.0
1.0;0.0;0.0
1.0;0.0;0.0
1.0;0.0;0.0
0.0;1.0;0.0
0.0;1.0;0.0
0.0;1.0;0.0
0.0;1.0;0.0
0.0;0.0;1.0
0.0;0.0;1.0
0.0;0.0;1.0
0.0;0.0;1.0

همونطور که می بینید ۴ خط اول که مربوط به A هستن ستون اولشون ۱ هست و در چهار خط دوم ستون دوم و در چهار خط سوم ستون سوم!
این یعنی کامپیوتر بدون اینکه کسی به اون بگه کدوم مثال ها کدوم حرف هست خودش فهمیده و اون ها رو دسته بندی کرده.
سوال :  ممکنه چون پشت هم دادید مثال هر حرف رو اینطوری نشده؟
جواب : نه! کامپیوتر که نمی دونسته من می خوام مثال های هر حرف رو پشت سر هم بدم! من برای راحتی خودم این کار رو کردم. شما می تونی ورودی هاتو غیر مرتب بدی!
سوال : دلیل خاصی داره که در A ستون اول ۱ هست و …
جواب : نه! ممکن بود برای A ستون دوم ۱ بشه و یا هر حالت دیگه. شما اگر امتحان کنید ممکنه تفاوت پیدا کنه. اما مهم اینه در تمام A ها یک ستون خاص مقدارش ۱ و بقیه ی ستون ها مقدارشون صفر می شه. پس یعنی کامپیوتر تونسته به خوبی تقسیم بندی کنه.

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

برای جذابیت علاوه بر این سه مثال ۲ مثال دیگه هم که حروف خاصی نیستند گذاشتم!

فایل خروجی این مثال ها از اینجا قابل دریافت هست.

خوب حالا بگذارید ببینیم کامپیوتر چه جوابی می ده. با توجه به اینکه اول مثال C بعد مثال Z و بعد مثال A رو وارد کردم. دو مثال بعدی هم به ترتیب مثال بد خط سمت چپ و مثال بد خط سمت راست هستند. و اما جواب:

0.0;1.0;0.0
0.0;0.0;1.0
1.0;0.0;0.0
0.0;0.0;1.0
0.0;1.0;0.0

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

سامانه توصیه گر

سیستم توصیه گر (به انگلیسی: Recommender System) یا سامانه پیشنهادگر (واژه سیستم یا سامانه گاهی با پلتفرم یا موتور جایگزین می‌شود)، با تحلیل رفتار کاربر خود، اقدام به پیشنهاد مناسب‌ترین اقلام (داده، اطلاعات، کالا و…)می‌نماید. این سیستم رویکردی است که برای مواجهه با مشکلات ناشی از حجم فراوان و رو به رشد اطلاعات ارائه شده‌است و به کاربر خود کمک می‌کند تا در میان حجم عظیم اطلاعات سریع‌تر به هدف خود نزدیک شوند. برخی سامانه پیشنهادگر را معادل پالایش گروهی (به انگلیسی: Collaborative filtering) می‌دانند.

مقدمه

پیش بینی می‌شد که تا اوایل سال ۲۰۰۷ میلادی در سایت دانشنامه اینترنتی ویکی‌پدیا چیزی حدود ۵٫۱ میلیون مقاله به ثبت رسیده باشد یا سایت مدیریت و به اشتراک‌گذاری تصاویر فلیکر بالغ بر ۲۵۰ میلیون تصویر را در خود جای دهد. از این رو، می‌توان گفت که ما در میان حجم عظیمی از داده و اطلاعات قرار گرفته‌ایم که بدون راهنمایی و ناوبری درست ممکن است انتخاب‌هایی غلط یا غیر بهینه از میان آن‌ها داشته باشیم. سیستم‌های توصیه‌گر سیستم‌های تأثیرگذار در راهنمایی و هدایت کاربر، در میان حجم عظیمی از انتخاب‌های ممکن، برای رسیدن به گزینه مفید و مورد علاقه وی هستند، به گونه‌ای که این فرایند برای همان کاربر شخصی‌سازی شده باشد.

تعاریف متفاوتی برای سیستم‌های توصیه‌گر ارائه شده‌است. از آن جمله، تعریف کلی‌نگر و خلاصه آقای Ting-peng liang در سال ۲۰۰۷ است که RS را زیرمجموعه‌ای از DSSها می‌داند و آن‌ها راسیستم‌های اطلاعاتی تعریف می‌کند که، توانایی تحلیل رفتارهای گذشته و ارائه توصیه‌هایی برای مسائل جاری را دارا هستند. به زبان ساده‌تر در سیستم‌های توصیه‌گر تلاش بر این است تا با حدس زدن شیوه تفکر کاربر (به کمک اطلاعاتی که از نحوه رفتار وی یا کاربران مشابه وی و نظرات آن‌ها داریم) به وی مناسب‌ترین و نزدیک‌ترین کالا به سلیقه او را شناسایی و پیشنهاد کنیم. این سیستم‌ها در حقیقت همان فرایندی که ما در زندگی روزمره خود به کار می‌بریم و طی آن تلاش می‌کنیم تا افرادی با سلایق نزدیک به خود را پیدا کرده و از آنها در مورد انتخاب‌هایمان نظر بخواهیم. توصیه‌هایی که از سوی سیستم‌های توصیه‌گر ارائه می‌شوند به طور کلی می‌توانند دو نتیجه دربرداشته باشند:

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

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

مزایا و پیشرفت‌ها

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

تاریخچه

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

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

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

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

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

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

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

جعبه ابزار تکنیک‌های توصیه گر به چیزی بیش از پالایش مشارکتی گسترش یافته‌اند و شامل رویکردهای محتوامحور(Content-Based) بر اساس متدهای بازیابی اطلاعات، استنتاج بیزی (Bayesian Inference) و استدلال مورد محور (Case-Based Reasonong) می‌باشد. این متدها بجای یا درعوض الگوهای نمره دهی کاربران، محتوا یا ویژگی‌های اصلی آیتم‌هایی که قرار است توصیه شود را درنظر می‌گیرند. با به بلوغ رسیدن استراتژی‌های توصیه مختلف، سامانه‌های توصیه‌گر ترکیبی (Hybrid Recommender Systems) نیز ظهور یافته‌اند و الگوریتم‌های مختلفی را در سیستم‌های مرکبی ترکیب کرده‌اند که بر اساس قدرت الگوریتم‌های تشکیل‌دهنده‌شان ایجاد شده‌اند. البته در کنار رویکردهای محتوا محور، پالایش مشارکتی، هم روش تکی و هم ترکیب‌شده‌اش به عنوان روشی مؤثر همچنان مطرح هستند.

زمانی که Netflix جایزه Netflix Prize را در سال ۲۰۰۶ به منظور بهبود بخشیدن وضعیت توصیه‌های فیلمش برقرار کرد، تحقیق بر روی الگوریتم‌های سامانه‌های توصیه‌گر توجه بسیاری را به خودش جلب کرد. هدف این رقابت ساختن یک الگوریتم توصیه‌گری بود که بتواند الگوریتم CineMatch که متعلق به خود Netflix بود را با ۱۰٪ بهبود در آزمایشات آفلاین شکست دهد. این امر موجب ایجاد خروشی از اقدامات شد، هم در بین محیط آکادمیک و هم در بین سایر علاقمندان. جایزه یک میلیون دلاری ارزشی را که فروشندگان برای دقت توصیه‌ها قائل هستند نشان می‌دهد[۱].

کاربردها

سیستم‌های توصیه‌گر کاربردهای فراوانی دارند که برخی از زمینه‌های کاربردی آن به شرح زیر است:

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

مقایسه سامانه‌های توصیه گر و سامانه‌های تصمیم‌یار کلاسیک

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

تعاریف و اصطلاحات عمده

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

  • در سیستم‌های توصیه گر به کاربری که توصیه جاری در سیستم، برای وی در حال پردازش و آماده شدن است، کاربر فعال یا کاربر هدف می‌گویند.
  • الگوریتم‌های به کار رفته در این سیستم‌ها، از ماتریسی به نام ماتریس رتبه‌ها استفاده می‌کنند؛ اصطلاحات رایج برای این ماتریس Rating Database و Preference Database نیز هستند.
  • از فعل مصرف کردن در سیستم‌های توصیه‌گر، زمانی استفاده می‌کنند که کاربر توصیه ارائه شده را می‌پذیرد. به عبارتی وقتی کاربری پیشنهادی را که توسط سیستم به وی شده می‌پذیرد، می‌گوییم کاربر آن پیشنهاد را مصرف کرده، این پذیرش می‌تواند به شکل‌های مختلفی باشد، مثلاً کاربر، کتاب پیشنهادی را می‌خرد، سایت پیشنهادی را مرور می‌کند یا به شرکت خدماتی ای که به او پیشنهاد شده مراجعه می‌کند. ساختار ماتریس رتبه‌ها بدین گونه‌است که در آن، هر سطر ماتریس نمایانگر یک کاربر و هر ستون آن معرف کالایی (شئای) خاص است.

حال با مفهوم تابع سودمندی آشنا خواهیم شد که قصد داریم به کمک آن یک مدل کلی ریاضی از سیستم‌های توصیه‌گر را نیز ارائه دهیم. در واقع یک سیستم توصیه‌گر را می‌توان با این نگاشت همسان دانست و مدل کرد: {\displaystyle u:C*S->R}{\displaystyle u:C*S->R}

فرض کنید C مجموعه تمامی کاربران و S مجموعه اقلام در دسترس باشند. تابعی را که میزان مفید و متناسب بودن کالای S برای کاربر C را محاسبه می‌کند با u نشان می‌دهیم، که در آن R مجموعه‌ای است کاملاً مرتب (براساس میزان اهمیت). هرکدام از عناصر S را می‌توان با مجموعه‌ای از خصوصیات، مشخص کرد. برای مثال، محصولی مثل فیلم را می‌توان با مشخصه‌هایی چون عنوان فیلم، کارگردان، طول زمانی فیلم، تاریخ تولید و … ثبت کرد. همچنین عناصر مجموعه C را نیز می‌توان بر اساس ویژگی‌های مثل سن، جنسیت و … ثبت کرد. (باید توجه داشت که u روی تمام فضای مجموعه آغازین S×C تعریف شده نیست؛ از این رو باید برون‌یابی شود)

سیستم توصیه گر (Recommender System) قسمت 1
سیستم توصیه گر (Recommender System) قسمت 2
سیستم توصیه گر (Recommender System) قسمت 3

آزمون‌تورینگ

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

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

 

آزمون استاندارد تورینگ

آزمون استاندارد تورینگ، که در آن بازیکن C به عنوان قاضی سعی دارد تشخصی دهد کدام یک از A یا B انسان است.

آزمون تورینگ

تست تورینگ یک تست از توانایی ماشین است برای نمایش دادن رفتاری هوشمندانه شبیه به انسان. آزمون تورینگ در سال ۱۹۵۰ توسط آلن تورینگ،ریاضیدان انگلیسی مطرح گردید. از نظر تورینگ، پرسش «آیا ماشین‌ها می‌توانند تفکر کنند» بی‌معنی‌تر از آن بود که بتوان پاسخ روشنی به آن داد. چرا که نمی‌توان تعریف مشخصی برای تفکر ارائه داد. بنابراین تورینگ پرسش را به این گونه مطرح نمود: آیا می‌توان ماشینی ساخت که آزمون تورینگ را پشت سر بگذارد؟

هم اکنون دو نسخهٔ مختلف از این آزمون وجود دارد: آزمون استاندارد تورینگ، و آزمون تقلید.

آزمون تقلید

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

تورینگ نقش بازیکن فریبکار را به ماشین سپرد، و در صورتی که این ماشین موفق شود که قاضی را بفریبد، از آزمون موفق بیرون آمده است و می‌توان آن را ماشین هوشمند نامید.

مشکلات آزمون تورینگ

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

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

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

تورینگ پیشنهاد داده است که ماشین می‌تواند به صورت اتفاقی در خروجی خود اشتباهاتی را وارد کند، یا مدت زمان زیادی را صرف محاسبات کرده و در انتها پاسخی اشتباه دهد که قاضی را بفریبد، تا «بازیکن» بهتری باشد.

منبع


آزمون تورینگ؛ غایتی که در گنجه خاک می‌خورد

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

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

آزمون تورینگ چیست؟

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

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

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

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

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

تلاش‌های نیمه تمام

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

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

کنت کولبی در 1972 نمونه‌ای جدیدتر از الیزا را با عنوان «پری» (PARRY) معرفی کرد که در واقع پیاده‌سازی رفتار یک بیمار شیزوفرنیک پارانویا بود. کمی بعد از معرفی پری، این ماشین در یک آزمایش واقعی قرار داده شد تا قدرت آن در گذراندن آزمون تورینگ مشخص شود. در این آزمایش گروهی از روانکاوان باتجربه ترکیبی از بیماران واقعی و نسخه‌های برنامه پری را از طریق یک تله پرینتر مورد بررسی قرار دادند. سپس از یک گروه روانکاو دیگر خواسته شد تا با مشاهده ریز مکالمات مشخص کنند که کدام مورد، مکالمه با ماشین و کدام یک مکالمه با انسان بوده است. در نهایت، روانکاوان گروه دوم تنها در 48 درصد موارد توانستند درست حدس بزنند؛ نتيجه‌اي که تقریباً مشابه سکه انداختن برای تعیین ماشین یا انسان بودن طرف مکالمه است!  توسعه برنامه‌هایی مانند الیزا و پری که در دسته کلی چت بات‌ها قرار می‌گیرند هنوز هم در جای جای دنیا ادامه دارد. چنین برنامه‌هایی که صرفاً قصد شبیه‌سازی یک مکالمه هوشمند را دارند عموماً از دانش خاصی برخوردار نیستند بلکه سعی می‌کنند تا با تکنیک‌های زبانی و البته الگوریتم‌های پیچیده، مکالمه را به شیوه‌ای قابل قبول پیش ببرند؛ مکالمه‌ای که لزوماً خروجی مفیدی برای کاربر ندارد.

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

آیا این هوشمندی است؟

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

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

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

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

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

وقتی انسان آن‌قدرها هم جذاب نیست

استیون لوی در سال 2010 در مقاله‌ای با عنوان «انقلاب هوش مصنوعی آغاز شده است» نگاه متفاوتی را نسبت به دنیای هوش مصنوعی در روزگار نوین ارائه می‌دهد. نگاهی که البته لوی با بسیاری از صاحب‌نظران دیگر به اشتراک می‌گذارد. وی در ابتدا به سیستم اداره انبار Diapers.com که به صورت کامل توسط روبات‌ها انجام می‌شود اشاره مختصری کرده و متذکر می‌شود که اداره این سیستم با سازماندهی فعلی برای انسان‌ها تقریباً غیرممکن است. سپس ادامه می‌دهد «روبات‌های به کار گرفته شده در این انبار خیلی باهوش نیستند. آن‌ها توانایی حتی نزدیک به هوش انسانی را نیز در اختیار نداشته و به‌طور قطعی نمی‌توانند آزمون تورینگ را با موفقیت پشت سر بگذارند. اما آن‌ها نمایانگر نگاه جدیدی در حوزه هوش مصنوعی هستند. هوش مصنوعی امروز تلاش نمی‌کند تا مغز را بازسازی کند. بلکه در مقابل این حوزه، از یادگیری ماشین، دیتاست‌های عظیم، حسگرهاي پیشرفته و الگوریتم‌های پیچیده استفاده کرده تا کارهای گسسته را به نحو احسن انجام دهد. مثال‌های این امر در همه حوزه‌ها مشهود است. ماشین‌های گوگل پرس‌وجو‌های پیچیده انسانی را تفسیر می‌کنند. شرکت‌های کارت اعتباری از هوش مصنوعی برای تشخیص کلاه‌برداری سود می‌برند. نت فلیکس با استفاده از آن،‌ سعی می‌کند ذائقه مشترکانش را حدس زده و فیلم‌های مورد علاقه‌شان را به آنان پیشنهاد کند و سرانجام، سیستم مالی از هوش مصنوعی برای مدیریت میلیاردها داد و ستد استفاده می‌کند (که تنها گه‌گاهی از هم می‌پاشد!).»

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

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

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

آزمون تورینگ چیست؟ قسمت 1
آزمون تورینگ چیست؟ قسمت 2

یک مدل چرخه حیات تفصیلی

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

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

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

طراحی

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

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

جدول ۲-۶ وظایف مرحله طراحی

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

تعریف دانش

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

شناسایی و انتخاب منابع دانش.

کسب دانش و تحلیل و استخراج آن

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

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

وظایف مربوط به کسب دانش و تحلیل و استخراج آن در جدول ۴-۶ تشریح شده اند.

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

جدول ۴-۶ وظایف مربوط به کسب دانش و تحلیل و استخراج آن

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

طراحی دانش

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

تعریف دانش

طرح تفصیلی

جدول ۵-۶ وظایف مربوط به تعریف دانش را تشریح کرده است.

درباره ساختار داخلی وقایع که در جدول ۵-۶ مطرح شده مراجعه به متون مربوط به نرم افزار CLIPS ضروری است. ایده اصلی تعیین ساختار وقایع، انطباق با سبک مناسب است. به عنوان مثال یک واقعیت مثل «۱۰» به تنهایی چندان معنی دار نیست. «۱۰» به تنهایی چه چیز را نشان می دهد؟ اگر اطلاعات بیشتری همراه این واقعیت باشد مثلا «قیمت ۱۰» و یا جمله کاملتر باشد مثل «قیمت طلا ۱۰» در آن صورت معنی دار خواهد بود. توجه کنید که این نحوه بیان «واقعیت» به صورت سه تایی شیء – مشخصه – ارزش متداول بوده، و بنابراین خواندن و درک آن برای مردم آسان است. CLIPS از چنین ساختاری برای قواعد و همچنین اشیاء پشتیبانی می کند.

جدول ۵-۶ وظایف تعریف دانش

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

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

جدول ۶-۶ وظایف طراحی تفصیلی دانش

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

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

جدول ۷-۶ وظایف کدنویسی و آزمون

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

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

تصدیق بر دانش

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

آزمونهای رسمی

تحلیل آزمون

جدول ۸-۶ وظایف مربوط به آزمون رسمی را در مرحله تصدیق دانش تشریح می کند.

جدول ۸-۶ وظایف آزمون رسمی در مرحله بررسی دانش

وظیفه هدف
رویه های آزمون رویه های آزمون رسمی را اجرا می کند.
گزارشهای آزمون نتایج آزمون را مستند می کند.

جدول ۹-۶ وظایف تحلیل آزمون را نشان می دهد.

جدول ۹-۶ وظایف تحلیل آزمون

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

در مرحله تحلیل آزمون مشکلات عمده زیر پیگیری می شود.

پاسخهای نادرس

پاسخهای ناقص

پاسخهای غیر منطقی و ناسازگار

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

ارزیابی سیستم

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

جدول ۱۰-۶ وظایف مرحله ارزیابی سیستم

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

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

خلاصه

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

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


منابع

  1. fa.wikipedia.org
  2. http://itresearches.ir
  3. www.ihoosh.ir
  4. http://zagra.co

 

 

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

سیستم خبره چیست؟

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

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

هوش مصنوعی شامل چندین زیر مجموعه است. زیر مجموعه سیستمهای خبره یکی از موفق ترین راه حلهای تقریبی برای مسائل کلاسیک هوش مصنوعی است. پروفسور فیگن بام از دانشگاه استانفورد یکی از پیشکسوتان تکنولوژی سیستم های خبره، تعریفی در مورد سیستمهای خبره دارد : « … یک برنامه کامپیوتری هوشمند که از دانش و روشهای استنتاج برای حل مسائلی استفاده می کند که به دلیل مشکل بودن، نیاز به تجربه و مهارت انسان » (Feigenbaum 82 ). بنابراین سیستم خبره یک سیستم کامپیوتری است که از قابلیت تصمیم گیری افراد خبره، تقلید می نماید. لغت تقلید به این معناست که سیستم خبره سعی دارد در تمام جنبه ها شبیه فرد خبره عمل  کند. عمل تقلید از شبیه سازی قوی تر است چون در شبیه سازی تنها در بعضی موارد شبیه چیزهای واقعی عمل می شود.

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

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

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

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

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

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

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

طراحی سیستمهای خبره

انتخاب مسئله مناسب

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

انتخاب الگوی مناسب

چرا ما یک سیستم خبره می سازیم؟

عواید سیستم

سیستم خبره چه عوایدی دارد؟

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

ابزارها

چه ابزارهایی برای ساخت سیستم در دسترس داریم؟

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

این ارتقا، فقط به ابزارهای نرم افزاری محدود نمی شود. بسیاری از ابزارهای دارای جدیدترین فن آوریها که در اواسط دهه ۱۹۸۰ فقط بر روی ماشینهای لیسپ ۰۰۰/۵۰ دلاری کار می کرد بعدها برای اجرا بر روی ریز کامپیوترها و ریزپردازنده های سفارشی بازنویسی گردید. این موضوع باعث شد قیمت سخت افزارهای بکار گیرنده این ابزارها بسیار کاهش یابد. بهترین راهنمایی برای انتخاب ابزار، بررسی مقالات روز و گفتگو با سازندگان سیستمهای خبره است.

هزینه

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

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

سیستم خبره قسمت 1
سیستم خبره قسمت 2
سیستم خبره قسمت 3
سیستم خبره قسمت 4
سیستم خبره قسمت 5
سیستم خبره قسمت 6

مدل سیستم خبره

یک مدل سیستم خبره مشتمل بر چهار بخش اصلی است:

پایگاه دانش (Knowledge Base)

    1. موتور استنتاج (Inference Engine)
    2. امکانات توضیح (Explanation Facilities)
    3. رابط کاربر (User Interface)

پایگاه دانش (Knowledge Base)

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

— شیء (Object): منظور از شیء در اینجا نتیجه‌ای است که با توجه به قوانین مربوط به آن تعریف می‌گردد.
— شاخص (Attribute): منظور از شاخص یا «صفت» یک کیفیت ویژه است که با توجه به قوانینی که برای آن در نظر گرفته شده است به شما در تعریف شیء یاری می‌دهد.

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

شیء قانون شاخص
سیب دارد روی درخت رشد می‌کند.
دارد گرد است
دارد رنگ قرمز یا زرد است
ندارد در کویر رشد می‌کند

بانک ساده شده بالا، تنها با استفاده از قانون <<دارد>>:

شیء شاخص‌هایی که دارد
سیب رشد روی درخت
سیب گرد بودن
سیب رنگ قرمز یا زرد
سیب رشد نکردن در کویر

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

فریمها(Minsky(1975، و پس از آن هستان شناسی‌ها از روشهای مدرن جهت ارائه دانش در سیستم‌های خبره‌اند.

موتور استنتاج (Inference Engine)

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

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

امکانات توضیح (Explanation Facilities)

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

رابط کاربر

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

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

مزایای یک سیستم خبره چیست؟

میزان مطلوب بودن یک سیستم خبره اصولاً به میزان قابلیت دسترسی به آن و میزان سهولت کار با آن بستگی دارد.

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

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

مثال‌هایی از سیستم‌های خبره تجاری:

    • MYCIN : اولین سیستم متخصص موفق جهان بود که در سال ۱۹۷۰ در دانشگاه استنفورد طراحی شد. هدف از ساخت این سیستم کمک به پزشکان در تشخیص بیماری‌های ناشی از باکتری بود. مشکل عمده در تشخیص بیماری برای یک پزشک آن است که تشخیص سریع و قاطع یک بیماری با توجه به تعداد بسیار زیاد بیماری موجود، عملی دشوار است.MYCIN با تشخیص دادن قاطع بیماری‌ها توانست که این نیاز را برآورده سازد.
    • PROSPECTOR: یک متخصص در امر زمین‌شناسی است که احتمال وجود رسوبات معدنی در یک ناحیه بخصوص را پیش بینی می‌کند. این سیستم در سال ۱۹۸۷ توسط «ریچارد دودا» و «پیتر هارد» و «رنه ربو» ساخته شد.

در اوایل دهه ۸۰ سیستم‌های متخصص به بازار عرضه شد که می‌توانستند مشورت‌های مالیاتی، توصیه‌های بیمه‌ای یا قانونی را به استفاده کنندگان خود ارائه دهند.

مشخصه‌های سیستم خبره

    1. جداسازی دانش از کنترل – یک سطح پایین‌تر این مبحث، در پایگاه داده قابل مشاهده است. در پایگاه داده سعی بر این است که داده‌ها از رویه‌های پیاده‌سازی شونده روی داده‌ها، مجزا باشند. مزیت این جداسازی این است که تعمیم یافتگی در سیستم، افزایش می‌یابد.
    2. برخورداری از دانش خبره و تخصصی
    3. تمرکز بر روی تخصص‌های خاص و ویژه
    4. استدلال با نمادها
    5. استدلال هیوریستیک و تجربی – استدلالی که بر اثر تجربه به دست می‌آید.
    6. قابلیت استدلال نادقیق – یعنی با قوانین احتمالی هم استدلال نماید. سیستم خبره باید بتواند در محیط‌هایی که اطلاعات نادقیق است(کامل نیست) استدلال کند. این استدلال می‌تواند اشتباه باشد چون اطلاعات کامل نیست. مثلاً پزشکی را در نظر بگیرید که تجربه داردو تازه‌کار هم نیست، ولی زمانی که وضعیت بحرانی پیش می‌آید بااید بتواند با اطلاعات کم، بهترین تصمیم را بگیرد.
    7. محدودیت نسبت به مسائل قابل حل – تنها مسائل قابل حل، توسط سیستم‌های خبره، قابل پیاده‌سازی باشد. تا مسئله‌ای حل نشده باشد، سیستم خبره نمی‌تواند به آن پاسخ دهد. باید یک فرد خبره‌ای باشد که اطلاعات از او گرفته شده و در سیستم قرار داده شود.
    8. مناسب بودن سیستم خبره از نظر پیچیدگی – مسائل سیستم خبره نباید خیلی سخت و نه خیلی راحت باشد.
    9. احتمال اشتباه – ممکن است سیستم خبره در تعیین راه‌حل دچار مشکل شود.

منبع


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

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

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

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

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

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

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

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

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

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

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

سیستم‌های پشتیبانی تصمیم (DSS Design Support System)

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

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

اجزای سیستم­های خبره

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

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

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

پایگاه داده؛ مجموع داده‌هایی درباره موضوع‌ها و وقایعی است که در پایگاه دانش، به‌منظور دست‌یابی به‌نتایج مورد نظر به‌کار خواهد رفت.

پایگاه دانش؛ مشتمل بر دانش متخصص و شیوه‌های داد و ستد با پایگاه داده برای دست‌یابی به نتایج مورد نظر است.

موتور استنتاج؛ امکان استنتاج و نتیجه‌گیری از ارتباط بین پایگاه داده و پایگاه دانش را فراهم می‌کند.

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

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

مزایا و محدودیت­های سیستم­های خبره

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

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

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

مشکلات استقرار سیستم­های خبره

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

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

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

منبع

سیستم خبره قسمت 1
سیستم خبره قسمت 2
سیستم خبره قسمت 3
سیستم خبره قسمت 4
سیستم خبره قسمت 5
سیستم خبره قسمت 6

سیستم خبره

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

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

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

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

پیشگفتار

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

تاریخچه

تا ابتدای دههٔ ۱۹۸۰ (م) کار چندانی در زمینهٔ ساخت و ایجاد سیستم های خِبره توسط پژوهش گران هوش مصنوعی صورت نگرفته بود. از آن زمان به بعد، کارهای زیادی در این راستا و در دو حوزهٔ متفاوت ولی مرتبط سیستم های کوچک خبره و نیز سیستم های بزرگ خبره انجام شده است.

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

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

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

مباحث کاربردی و مهم در تحقق یک سیستم هوش مصنوعی:

حوزه‌های کاربرد

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

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

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

کاربرد سیستم های خبره در خدمات کتابداری و اطلاع‌رسانی

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

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

کاربرد سیستم های خبره در حسابداری و امور مالی

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

کاربردهای مختلفی از سیستم های خبره در سه زمینه حسابداری، حسابداری مدیریت و امور مالیاتی به شرح ذیل می‌باشد:

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

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

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

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

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

    1. کمک به کسب بینش یا بینش آفرین Insight facilitaing
    2. آسان سازی تصمیم‌گیری Decision facilitating
    3. تصمیم سازی Decision Making

سیستم های خبره بینش آفرین

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

سیستم های خبره آسان کننده تصمیم‌گیری

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

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

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

— متخصص: آیا میوه سبز است؟

— استفاده کننده: خیر.

— متخصص: آیا میوه قرمز است؟

— استفاده کننده: بله.

— متخصص: آیا این میوه روی درخت رشد می‌کند؟

— استفاده کننده: خیر.

— متخصص: آیا این میوه روی یک بوته رشد می‌کند؟

— استفاده کننده: بله.

— متخصص: آیا این بوته تیغ دارد؟

— استفاده کننده: بله.

— متخصص: این میوه تمشک است!

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

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

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

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

تفاوت سیستم های خبره با سایر سیستم های اطلاعاتی

سیستم های خبره برخلاف سیستم های اطلاعاتی که بر روی داده‌ها(Data) عمل می‌کنند، بر دانش (Knowledge) متمرکز شده است. همچنین دریک فرایند نتیجه‌گیری، قادر به استفاده از انواع مختلف داده‌ها عددی(Digital)، نمادی Symbolic و مقایسه‌ای (Analog) می‌باشند. یکی دیگر از مشخصات این سیستم‌ها استفاده از روشهای ابتکاری (Heuristic) به جای روشهای الگوریتمی می‌باشد. این توانایی باعث قرار گرفتن دامنهٔ گسترده‌ای از کاربردها در برد عملیاتی سیستم های خبره می‌شود. فرایند نتیجه‌گیری در سیستم های خبره بر روشهای استقرایی و قیاسی پایه‌گذاری شده است. از طرف دیگر این سیستم ها می‌توانند دلایل خود در رسیدن به یک نتیجه‌گیری خاص یا جهت و مسیر حرکت خود به سوی هدف را شرح دهند. با توجه به توانایی این سیستم‌ها در کار در شرایط فقدان اطلاعات کامل یا درجات مختلف اطمینان در پاسخ به پرسشهای مطرح‌شده، سیستم های خبره نماد مناسبی برای کار در شرایط عدم اطمینان(Uncertainty) یا محیطهای چند وجهی می‌باشند.

سیستم خبره قسمت 1
سیستم خبره قسمت 2
سیستم خبره قسمت 3
سیستم خبره قسمت 4
سیستم خبره قسمت 5
سیستم خبره قسمت 6

تاریخچه

(آنالیز موجک) ایده ی نمایش یک تابع برحسب مجموعه ی کاملی از توابع اولین بار توسط ژوزف فوریه، ریاضیدان و فیزیکدان بین سال های ۱۸۰۶-۱۸۰۲ طی رساله ای در آکادمی علوم راجع به انتشار حرارت، برای نمایش توابع بکار گرفته شد. در واقع برای آنکه یک تابع(f(x به شیوه ای ساده و فشرده نمایش داده شود فوریه اساسا ثابت کرد که می توان از محور هایی استفاده کرد که بکمک مجموعه ایی نامتناهی از توابع سینوس وار ساخته می شوند. بعبارت دیگر فوریه نشان داد که یک تابع (f(x را می توان بوسیله ی حاصل جمع بی نهایت تابع سینوسی و کسینوسی به شکل (sin(ax و (cos(ax نمایش داد. پایه های فوریه بصورت ابزار هایی اساسی، با کاربردهای فوق العاده متواتر در علوم، در آمده اند، زیرا برای نمایش انواع متعددی از توابع و در نتیجه کمین های فیزیکی فراوان بکار می روند.
با گذشت زمان ضعف پایه های فوریه نمایان شد مثلا دانشمندان پی بردند پایه های فوریه و نمایش توابع سینوس وار در مورد سیگنال های پیچیده نظری تصاویر، نه تنها ایده آل نیستند بلکه از شرایط مطلوب دورند، بعنوان مثال به شکل کارآمدی قادر به نمایش ساختارهای گذرا نظیر مرزهای موجود در تصاویر نیستند. همچین آنها متوجه شدند تبدیل فوریه فقط برای توابع پایه مورد استفاده قرار می گیرد و برای توابع غیر پایه کار آمد نیست.(البته در سال ۱۹۴۶ با استفاده از توابع پنجره ای، که منجر به تبدیل فوریه ی پنجره ای شداین مشکل حل شد.)
در سال ۱۹۰۹ هار اولین کسی بود که به موجک ها اشاره کرد. در سال های ۱۹۳۰ ریاضیدانان به قصد تحلیل ساختارهای تکین موضوعی به فکر اصلاح پایه های فوریه افتادند. و بعد از آن در سال ۱۹۷۰ یک ژئوفیزیکدان فرانسوی به نام ژان مورله متوجه شد که پایه های فوریه بهترین ابزار ممکن در اکتشافات زیر زمین نیستند، این موضوع در آزمایشگاهی متعلق به الف آکیلن منجر به یکی از اکتشافات تبدیل به موجک ها گردید.
در سال ۱۹۸۰ ایومیر ریاضیدان فرانسوی، نخستین پایه های موجکی متعامد را کشف کرد(تعامد نوعی از ویژگی ها را بیان می کند که موجب تسهیلات فراوانی در استدلال و محاسبه می شود، پایه های فوریه نیز متعامدند.) در همین سال ها مورله مفهوم موجک و تبدیل موجک را بعنوان یک ابزار برای آنالیز سیگنال زمین لزره وارد کرد و گراسمن فیزیکدان نظری فرانسه نیز فرمول وارونی را برای تبدیل موجک بدست آورد.
در سال ۱۹۷۶ میرو و مالت از پایه های موجک متعامد توانسنتد آنالیز چند تفکیکی را بسازند و مالت تجزیه موجک ها و الگوریتم های بازسازی را با بکار بردن آنالیز چند تفکیکی بوجود آورد. در سال ۱۹۹۰ مورنزی همراه با آنتوان موجک ها را به دو بعد و سپس به فضاهایی با ابعد دیگر گسترش دادند و بدین ترتیب بود که آنالیز موجکی پایه گذاری گردید.

 آشنایی

آنالیز موجک (Wavelet Analysis) یکی از دستاوردهای نسبتا جدید و هیجان انگیز ریاضیات محض که مبتنی بر چندین دهه پژوهش در آنالیز همساز است، امروزه کاربردهای مهمی در بسیاری از رشته های علوم و مهندسی یافته و امکانات جدیدی برای درک جنبه های ریاضی آن و نیز افزایش کاربردهایش فراهم شده است.
در آنالیز موجک هم مانند آنالیز فوریه با بسط تابع ها سروکار داریم ولی این بسط برحسب «موجک ها» انجام می شود.
موجک تابع مشخص مفروضی با میانگین صفر است و بسط برحسب انتقالها و اتساعهای این تابع انجام می گیرد، بر خلاف چند جمله ای های مثلثاتی، موجک ها در فضا بصورت موضعی بررسی می شوند و به این ترتیب ارتباط نزدیکتری بین بعضی توابع و ضرایب آن ها امکان پذیر می شود و پایداری عددی بیشتری در باز سازی و محاسبات فراهم می گردد. هر کاربردی را که مبتنی بر تبدیل سریع فوریه است می توان با استفاده از موجک ها فومول بندی کرد و اطلاعات فضایی (یا زمانی) موضعی بیشتری بدست آورد. بطور کلی، این موضوع بر پردازش سیگنال و تصویر و الگوریتم های عددی سریع برای محاسبه ی عملگرهای انتگرالی اثر می گذارد.
آنالیز موجک حاصل ۵۰ سال کار ریاضی (نظریه ی لیتلوود – پیلی و کالدرون – زیگموند) است که طی آن، با توجه به مشکلاتی که در پاسخ دادن به ساده ترین پرسش های مربوط به تبدیل فوریه وجود داشت، جانشینهای انعطاف پذیر ساده تری از طریق آنالیز همساز ارائه شدند. مستقل از این نظریه که درون ریاضیات محض جای دارد، صورتهای مختلفی از این رهیافت چند مقیاسی (multi Scale) را در طی دهه ی گذشته در پردازش تصویر، آکوستیک، کدگذاری(به شکل فیلترهای آیینه ای متعامد و الگوریتمهای هرمی)، و استخراج نفت دیده ایم.

 کاربردها

آنالیز موجک همراه با تبدیل سریع فوریه در تحلیل سیگنالهای گذرایی که سریعا تغییر می کنند، صدا و سیگنالهای صوتی، جریان های الکتریکی در مغز، صداهای زیر آبی ضربه ای و داده های طیف نمایی NMR، و در کنترل نیروگاههای برق از طریق صفحه ی نمایش کامپیوتر بکار رفته است. و نیز بعنوان ابزاری علمی، برای روشن ساختن ساختارهای پیچیده ای که در تلاطم ظاهر می شوند، جریان های جوی، و در بررسی ساختارهای ستاره ای از آن استفاده شده است. این آنالیز به عنوان یک ابزار عددی می تواند مانند تبدیل سریع فوریه تا حد زیادی از پیچیدگی محاسبات بزرگ مقیاس بکاهد، بدین ترتیب که با تغییر هموار ضریب، ماتریس های متراکم را به شکل تنکی که به سرعت قابل محاسبه باشد در آورد. راحتی و سادگی این آنالیز باعث ساختن تراشه هایی شده است که قادر به کدگذاری به نحوی بسیار کارا، و فشرده سازی سیگنالها و تصاویرند.
آنالیز موجک امروزه کاربردهای فراوانی پیدا کرده است که از آن جمله می توان به کاربرد آن در تصویر برداری پزشکی (MRI) و سی تی اسکن (CAT)، جداسازی بافت های مغزی از تصاویر تشدید مغناطیس، تشخیص خودکار خوشه های میکروکلسیفیکاسیون، تحلیل تصاویر طیفی تشدید مغناطیسی (MR Spectrorscopy) و عملکردهای تشدید مغناطیسی (F MRI) اشاره کرد.

منبع


موجک

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

مِیِر

مورله

کلاه مکزیکی

تبدیل‌های موجک

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

  • تبدیل موجک پیوسته (Continuous wavelet transform (CWT
  • تبدیل موجک گسسته (Discrete wavelet transform (DWT
  • تبدیل سریع موجک (Fast wavelet transform (FWT
  • Lifting scheme
  • تجزیه بسته‌های موجک(Wavelet packet decomposition (WPD
  • تبدیل موجک ساکن (Stationary wavelet transform (SWT

موجک‌ها و معادلات اتساع
موجک‌ها بر مبنای دو عمل اصلی قرار دارند:

  • انتقال (Translation)

[عکس: 34b5ae95f23a0378679d434d7cea3360.png]

  • اتساع (Dilation)

[عکس: a9be4f8956d1bb85c9e932c584196743.png]

مقایسه با تبدیل فوریه

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

تاریخچه

در تاریخ ریاضیات مبادی و ریشه‌های متعددی را می‌توان برای موجک‌ها سراغ گرفت.

کارهای قبل از ۱۹۳۰
مربوط به قبل از ۱۹۳۰ (م) می‌توان به آنالیز فرکانس‌ها اشاره کرد، که به وسیلهٔ فوریه شروع شد.
استفاده از واژهٔ موجک‌ها، برای اولین بار، در یکی از ضمیمه‌های تز آلفرد هار (۱۹۰۹ م) ظاهر شد. امروزه هم، این موجک‌ها به همان نام یعنی به موجک‌های هار معروف اند. موجک‌های هار دارای دامنهٔ تعریف فشرده (compact) بوده، و غیر مشتق‌پذیر به صورت پیوسته هستند.

کارهای مربوط به دهه ۱۹۳۰
در این دهه چند گروه پیرامون موضوع نمایش توابع با به کارگیری پایه‌های با مقیاس متغیر برای تنیدن فضاهای توابع تحقیق می‌نمودند.

موجک‌های متعامد

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

موجک هار

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

منبع

هوش‌ازدحامی

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

هوش ازدحامی

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

مقدمه

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

این یک نمونه ساده از رفتار جمعی و گروهی یا Swarm behavior است که افراد برای رسیدن به یک هدف نهایی همکاری می‌کنند. این روش کاراتر از زمانی است که افراد جداگانه کنش کنند. Swarm را می‌توان به صورت مجموعه‌ای سازمان یافته از گماشته (agent)ها یا موجوداتی تعریف کرد که با یکدیگر همکاری می‌کنند. در کاربردهای محاسباتی هوش ازدحامی و گروهی (Swarm Intelligence) از موجودات یا گماشته‌هایی مانند مورچه‌ها، زنبورها، موریانه‌ها، ماهی‌ها، پرندگان، یا حتی چکه‌های آب در رودخانه الگو برداری می‌شود. در این نوع اجتماعات هر یک از موجودات یا گماشته‌ها ساختار نستباً ساده‌ای دارند ولی رفتار گروهی آنها پیچیده به نظر می‌رسد. برای نمونه، در کولونی مورچه‌ها، هر یک از مورچه‌ها یک کار سادهٔ ویژه‌ای را انجام می‌دهد ولی به طور گروهی، کردار و رفتار مورچه‌ها؛ ساختن لانه، نگهبانی از ملکه و نوزادان، پاکداری لانه، یافتن بهترین منابع خوراکی و بهینه‌سازی راهبرد جنگی را تضمین می‌کند. رفتار کلی یک Swarm به گونهٔ غیر خطی از همآمیختگی رفتارهای تک تک اجتماع بدست می‌آید. یا به زبانی دیگر، یک رابطهٔ بسیار پیچیده میان رفتار گروهی و رفتار فردی یک اجتماع وجود دارد.

رفتار گروهی، تنها وابسته به رفتار فردی گماشته‌ها و افراد اجتماع نیست بلکه به چگونگی همکنشی (interaction) و تعامل میان افراد نیز وابسته است. همکنشی بین افراد، تجربهٔ افراد دربارهٔ پیرامون (environment) را افزایش می‌دهد و مایه پیشرفت اجتماع می‌شود. ساختار اجتماعی Swarm بین افراد مجموعه کانالهای ارتباطی ایجاد می‌کند که طی آن افراد می‌توانند به داد و ستد تجربه‌های شخصی بپردازند. مدل‌سازی محاسباتی Swarmها کاربردهای امیدبخش و بسیاری را به ویژه در زمینه بهینه‌سازی (optimization) در پی داشته است. الگوریتهای فزاینده‌ای از بررسی Swarmهای گوناگون پیشنهاد شده‌اند. از این رده، می‌توان به کولونی مورچه‌ها (Ant Colony) و دستهٔ پرندگان (Bird Flocks) اشاره نمود. با اینکه دانش Swarm intelligence، دانشی نو می‌باشد؛ هم اکنون، کاربردهای رو به گسترشی از آن شناخته شده است. با این رشد روزافزون، Swarm intelligence می‌تواند نقش ارزنده‌ای را در دانشهای گوناگون بر دوش بگیرد.

الگوریتمهای هوش ازدحامی

الگوریتم مورچه‌ها

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

شایان یادآوری است که گزینش گذرگاه دارای بیشترین فرومن، قطعی نیست و احتمالی است. به همین سبب، امکان یافتن بهترین گشایش (solution) وجود دارد. روش ACO، نوعی فرااکتشافی است که برای یافتن گشایشهای تقریبی برای مسائل بهینه‌سازی آمیختاری (Combinatiorial Optimization) سودمند است. روش ACO، مورچه‌های ساختگی به‌وسیلهٔ حرکت بر روی گرافِ مسئله و با وانهادن (deposit) نشانه‌هایی بر روی گراف، همچون مورچه‌های واقعی که در گذرگاه خود نشانه‌های به جا می‌گذارند، سبب می‌شوند که مورچه‌های ساختگی بعدی بتوانند گشایشهای بهتری را برای مسئله فراهم کنند.

الگوریتم مورچه هاالگوریتم مورچه ها

بهینه‌سازی گروهی ذره

روش بهینه‌سازی ازدحام ذرات (Particle swarm optimization) یک الگوریتم جستجوی اجتماعی است که از روی رفتار اجتماعی دسته‌های پرندگان مدل شده است. در ابتدا این الگوریتم به منظور کشف الگوهای حاکم بر پرواز همزمان پرندگان و تغییر ناگهانی مسیر آنها و تغییر شکل بهینهٔ دسته به کار گرفته شد. در PSO، particleها در فضای جستجو جاری می‌شوند. تغییر مکان particleها در فضای جستجو تحت تأثیر تجربه و دانایی خودشان و همسایگانشان است. بنابراین موقعیت دیگر particleهای Swarm روی چگونگی جستجوی یک particle اثر می‌گذارد. نتیجهٔ مدل‌سازی این رفتار اجتماعی فرایند جستجویی است که particleها به سمت نواحی موفق میل می‌کنند. Particleها در Swarm از یکدیگر می‌آموزند و بر مبنای دانایی بدست آمده به سمت بهترین همسایگان خود می‌روند. Particle swarm Optimization Algorithm اساس کار PSO بر این اصل استوار است که در هر لحظه هر particle مکان خود را در فضای جستجو با توجه به بهترین مکانی که تاکنون در آن قرار گرفته است و بهترین مکانی که در کل همسایگی‌اش وجود دارد، تنظیم می‌کند.

فرض کنید می‌خواهیم زوج مرتب [x،y] را طوری بدست آوریم که تابع F(x،y)=x۲+y۲، مینیمم شود. ابتدا نقاطی را به صورت تصادفی در فضای جستجو، روی صفحهٔ x-y انتخاب می‌کنیم. فرض کنید این Swarm را به ۳ همسایگی تقسیم کنیم که در هر همسایگی نقاط موجود با یکدیگر تعامل دارند. در هر همسایگی هر یک از نقاط به سمت بهترین نقطه در آن همسایگی و بهترین مکانی که آن نقطه تاکنون در آن قرار داشته است، حرکت می‌کند. برای حل یک مسئله چند متغیر بهینه‌سازی می‌توان از چند Swarm استفاده کرد که هر یک از Swarmها کار مخصوصی را انجام می‌دهند. این همان ایده‌ای است که Ant colony از آن ریشه می‌گیرد. روش PSO یک الگوریتم روش جستجوی سراسری (global search algorithm) است که با بهری گیری از آن می‌توان با مسائلی که پاسخ آنها یک نقطه یا سطح در فضای n بعدی می‌باشد، برخورد نمود. در اینچنین فضایی، فرضیاتی مطرح می‌شود و یک سرعت ابتدایی به آنها اختصاص داده می‌شود، همچنین کانال‌های ارتباطی بین ذرات درنظر گرفته می‌شود. سپس این ذرات در فضای پاسخ حرکت می‌کنند، و نتایج حاصله بر مبنای یک «ملاک شایستگی» پس از هر بازهٔ زمانی محاسبه می‌شود.

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

بهینه‌سازی ازدحام ذراتبهینه‌سازی ازدحام ذرات

سامانه ایمنی ساختگی (هُنردادار)

این روش (به انگلیسی: Artificial Immune System) از سامانه ایمنی پرهامی (طبیعی) برگرفته شده و با مدل کردن برخی یاخته‌های این سامانه می‌کوشد تا از اینگونه سامانه‌ها در راستای بهینه‌سازی یا یادگیری دستگاه (Machine Learning) بهره بگیرد.

الگوریتمهای بر پایه زنبور

چندین الگوریتم در زمینه الگوبرداری از رفتار گروهی زنبورها در کندو یا بیرون آن به ویژه رفتار آنها در خوراکجویی (foraging) برای بهینه‌سازی پیوسته (continuous optimization) پیشنهاد شده‌اند.

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

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

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

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

کاربردها

گیرایی هوش ازدحامی در فناوری اطلاعات

همگونی‌هایی بین مسائل متفاوت در حوزهٔ فناوری اطلاعات و رفتارهای حشرات اجتماعی وجود دارد:

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

گامهای طراحی یک سامانه

گامهای طراحی یک سامانه با کاربردهای فناوری اطلاعات بر پایه هوش مصنوعی گروهی فرآیندی در سه گام است:

  • شناسایی همسانی‌ها: در سامانه‌های IT و طبیعت.
  • فهم: مدلسازی رایانه‌ای روش گروهی طبیعی به شکل واقع‌گرا.
  • مهندسی: ساده‌سازی مدل و تنظیم آن برای کاربردهای IT.

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

  • مسیریابی در شبکه.
  • سامانه‌های توزیع‌شدهٔ رایانامهای.
  • اختصاص منابع به شکل بهینه.
  • زمان‌بندی وظایف.
  • بهینه‌سازی ترکیبیاتی.
  • روباتیک:
    • بررسی سیستم‌های لوله‌کشی.
    • تعمیرات و نگهداری ماهواره‌ها و کشتی‌ها.
    • روبوت‌های خود-مونتاژ.

منبع


مطالب مرتبط:

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

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

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

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


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

 

شامل سرفصل های :

1- الگوریتم کلونی زنبورعسل مصنوعی

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

3- الگوریتم کلونی زنبورعسل مصنوعی موازی

4- الگوریتم کلونی زنبورعسل مصنوعی برای مسائل بهینه سازی دودویی

فایل Power Point – در 40 اسلاید – نویسنده : ناشناس

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

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


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

چكيده : در این تحقیق برای حل مسئله ی تخصیص سلول به سوئیچ (CTSAP) ، از الگوریتم فراابتکاری کلونی زنبور عسل مصنوعی (ABC) استفاده شده است. هدف مسئله، تخصیص بهینه سلولها به سوئیچها با حداقل هزینه است. در این تحقیق هزینه از دو جزء تشکیل یافته است. یکی هزینه ی تعویضها که مربوط به دو سوئیچ است و دیگری هزینه ی اتصال میباشد. ظرفیت پاسخگویی تماس هر سوئیچ نیز محدود است و فرض میشود همه ی سوئیچها ظرفیت برابری داشته باشند. در مدل این پژوهش هر سلول باید فقط و فقط تنها به یک سوئیچ متصل گردد(single homed).مدل ریاضی این تحقیق، غیرخطی صفر و یک است.  کد رایانه ای الگوریتم با نرم افزار MATLAB 7.8.0 نوشته شده است. پس از تعیین مقادیر پارامترهای مدل و تأیید صحت عملکرد کد و تنظیم پارامترهای کنترل، کارایی الگوریتم با ایجاد مسائل آزمایشی، با یکی از بهترین الگوریتمهای CTSAP یعنی الگوریتم بهینه سازی کلونی مورچگان (ACO) مقایسه شده است و نتایج نشان می دهد که الگوریتم ABC در قیاس با ACO عملکرد رضایت بخشی دارد.
واژگان کليدی: مسئله تخصیص سلول به سوئیچ، الگوریتم فراابتکاری، شبکههای تلفن همراه، الگوریتم کلونی زنبور عسل مصنوعی
فایل PDF – در 24 صفحه- نویسندگان : سيد محمد علی خاتمی فيروزآبادی , امين وفادار نيكجو
دانلود
پسورد فایل : behsanandish.com


ﮐﻠﻮﻧﯽ زﻧﺒﻮرﻫﺎي ﻣﺼﻨﻮﻋﯽ ﺳﻠﻮﻟﯽ

ﭼﮑﯿﺪه: در اﯾﻦ ﻣﻘﺎﻟﻪ دو ﻣﺪل ﺗﺮﮐﯿﺒﯽ ﮐﻪ از ﺗﺮﮐﯿﺐ ﮐﻠﻮﻧﯽ زﻧﺒﻮرﻫـﺎ و اﺗﻮﻣﺎﺗﺎي ﺳﻠﻮﻟﯽ ﺣﺎﺻﻞ ﺷﺪه اﺳﺖ ﺑﻪ ﻣﻨﻈﻮر ﺑﻬﯿﻨﻪ ﺳﺎزي ﭘﯿﺸﻨﻬﺎد ﻣﯽﮔﺮدد . اﺗﻮﻣﺎﺗـﺎي ﺳـﻠﻮﻟﯽ وﻇﯿﻔـﻪ ﮐـﺎﻫﺶ آﻧﺘﺮوﭘـﯽ و اﻓـﺰاﯾﺶ ﺳـﺮﻋﺖ ﻫﻤﮕﺮاﯾﯽ را ﺑﻪ ﻋﻬﺪه دارد . در ﻣـﺪل ﭘﯿﺸـﻨﻬﺎدي در اول ﻫـﺮ ﺳـﻠﻮل از اﺗﻮﻣﺎﺗﺎي ﯾﺎدﮔﯿﺮ ﺳﻠﻮﻟﯽ ﯾﮏ ﮐﻠﻮﻧﯽ از زﻧﺒﻮرﻫـﺎ ﻗـﺮار داده ﻣـﯽ ﺷـﻮد . ﺑـﻪ ﺑﺪﺗﺮﯾﻦ ﻫﺮﺳﻠﻮل ، ﻣﻨﻈﻮر ﺑﻬﺒﻮد ﺟﺴﺘﺠﻮي ﺳﺮاﺳﺮي و ﻫﻤﮕﺮاﯾﯽ ﺳﺮﯾﻌﺘﺮ ﺑﺎ ﺑﻬﺘﺮﯾﻦ ﻫﻤﺴﺎﯾﮕﺎن ﺑﻪ روش ﺣﺮﯾﺼﺎﻧﻪ ﺟﺎﯾﮕﺰﯾﻦ ﻣﯽ گردد. در ﻣﺮﺣﻠـﻪ دوم در ﻫﺮ ﺳﻠﻮل ﯾﮏ زﻧﺒﻮر ﻗﺮار ﻣـﯽ ﮔﯿـﺮد .ﻧﺘـﺎﯾﺞ آزﻣﺎﯾﺸـﻬﺎ ﺑـﺮ روي ﻣﺴﺎیل ﻧﻤﻮنه ﻧﺸﺎن ﻣﯿﺪﻫﺪ ﮐﻪ روش ﻫﺎی اراﺋﻪ ﺷﺪه از ﻋﻤﻠﮑﺮد ﺑﻬﺘـﺮي در ﻣﻘﺎﯾﺴﻪ ﺑﺎ ﻣﺪل ﮐﻠﻮﻧﯽ زﻧﺒﻮرﻫﺎي ﻣﺼﻨﻮعی اﺳﺘﺎﻧﺪارد ﺑﺮﺧﻮردار می باشد.
واژه ﻫﺎي ﮐﻠﯿﺪی : کلونی زنبور، اﺗﻮﻣﺎﺗﺎي ﺳﻠﻮﻟﯽ، بهینه سازی
فایل PDF – در 4 صفحه- نویسندگان : زهرا گل میرزایی ، محمدرضا میبدی
دانلود
پسورد فایل : behsanandish.com


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

A comprehensive survey: artificial bee colony (ABC) algorithm and applications

Abstract : Swarm intelligence (SI) is briefly defined as the collective behaviour of decentralized
and self-organized swarms. The well known examples for these swarms are bird
flocks, fish schools and the colony of social insects such as termites, ants and bees. In 1990s,
especially two approaches based on ant colony and on fish schooling/bird flocking introduced
have highly attracted the interest of researchers. Although the self-organization features are
required by SI are strongly and clearly seen in honey bee colonies, unfortunately the researchers
have recently started to be interested in the behaviour of these swarm systems to describe
new intelligent approaches, especially from the beginning of 2000s. During a decade, several
algorithms have been developed depending on different intelligent behaviours of honey bee
swarms. Among those, artificial bee colony (ABC) is the one which has been most widely
studied on and applied to solve the real world problems, so far. Day by day the number of
researchers being interested in ABC algorithm increases rapidly. This work presents a comprehensive
survey of the advances with ABC and its applications. It is hoped that this survey
would be very beneficial for the researchers studying on SI, particularly ABC algorithm.
,Keywords : Swarm intelligence
,Bee swarm intelligence
Artificial bee colony algorithm

فایل Power Point - در 37 صفحه - نویسندگان: Dervis Karaboga , Beyza Gorkemli , Celal Ozturk , Nurhan Karaboga
A comprehensive survey- artificial bee colony (ABC)
پسورد فایل : behsanandish.com


الگوریتم جستجوی کلونی زنبور عسل مصنوعی جهانی برای بهینه سازی تابع عددی

Global Artificial Bee Colony Search Algorithm for Numerical Function Optimization

Abstract—The standard artificial bee colony (ABC) algorithm as a relatively new swarm optimization method is often trapped in local optima in global optimization. In this paper, a novel search strategy of main three procedures of the ABC algorithm is presented. The solutions of the whole swarm are exploited based on the neighbor information by employed bees and onlookers in the ABC algorithm. According to incorporating all employed bees’ historical best position information of food source into the solution search equation, the improved algorithm that is called global artificial bee colony search algorithm has great advantages of convergence property and solution quality. Some experiments are made on a set of benchmark problems, and the results demonstrate that the proposed algorithm is more effective than other population based optimization algorithms. Keywords—Artificial bee colony, Search strategy, Particle swarm optimization, Function optimization فایل PDF – در 4 صفحه – نویسندگان : Guo Peng, Cheng Wenming, Liang Jian Global Artificial Bee Colony Search Algorithm for Numerical Function Optimization پسورد فایل : behsanandish.com


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

A modified Artificial Bee Colony (ABC) algorithm for constrained optimization problems

Abstract : Artificial Bee Colony (ABC) algorithm was firstly proposed for unconstrained optimization problems on where that ABC algorithm showed superior performance. This paper describes a modified ABC algorithm for constrained optimization problems and compares the performance of the modified ABC algorithm against those of state-of-the-art algorithms for a set of constrained test problems. For constraint handling, ABC algorithm uses Deb’s rules consisting of three simple heuristic rules and a probabilistic selection scheme for feasible solutions based on their fitness values and infeasible solutions based on their viola- tion values. ABC algorithm is tested on thirteen well-known test problems and the results obtained are compared to those of the state-of-the-art algorithms and discussed. Moreover, a statistical parameter analysis of the modified ABC algorithm is conducted and appropriate values for each control parameter are obtained using analysis of the variance (ANOVA) and analysis of mean (ANOM) statistics. Keywords: Swarm intelligence Modified Artificial Bee Colony algorithm Constrained optimization فایل PDF – در 37 صفحه – نویسندگان : Dervis Karaboga , Bahriye Akay A modified Artificial Bee Colony (ABC) algorithm for constrained optimization1 پسورد فایل : behsanandish.com


 یک الگوریتم کلونی زنبور عسل مصنوعی جدید-بر اساس فاصله داده های سریال با استفاده گرام های سیگما
ABC-SG: A New Artificial Bee Colony Algorithm-Based Distance of Sequential Data Using Sigma Grams

Abstract 
The problem of similarity search is one of the main
problems in computer science. This problem has many
applications in text-retrieval, web search, computational
biology, bioinformatics and others. Similarity between
two data objects can be depicted using a similarity
measure or a distance metric. There are numerous
distance metrics in the literature, some are used for a
particular data type, and others are more general. In this
paper we present a new distance metric for sequential data
which is based on the sum of n-grams. The novelty of our
distance is that these n-grams are weighted using artificial
bee colony; a recent optimization algorithm based on the
collective intelligence of a swarm of bees on their search
for nectar. This algorithm has been used in optimizing a
large number of numerical problems. We validate the new
distance experimentally.
Keywords:  Artificial Bee Colony, Extended Edit
Distance, Sequential Data, Distance Metric, n-grams. 
فایل PDF – در 7 صفحه – نویسنده :Muhammad Marwan Muhammad Fuad
پسورد فایل : behsanandish.com

کاربرد الگوریتم کلونی زنبور عسل مصنوعی در جستجوی آزادسازی بهینه سد بزرگ آسوان

Application of artificial bee colony (ABC) algorithm in search of optimal release of Aswan High Dam

Abstract. The paper presents a study on developing an optimum reservoir release policy by using ABC algorithm. The decision maker of a reservoir system always needs a guideline to operate the reservoir in an optimal way. Release curves have developed for high, medium and low inflow category that can answer how much water need to be release for a month by observing the reservoir level (storage condition). The Aswan high dam of Egypt has considered as the case study. 18 years of historical inflow data has used for simulation purpose and the general system performance measuring indices has measured. The application procedure and problem formulation of ABC is very simple and can be used in optimizing reservoir system. After using the actual historical inflow, the release policy succeeded in meeting demand for about 98% of total time period. فایل PDF – در 8 صفحه – نویسندگان : Md S Hossain and A El-shafie  Application of artificial bee colony (ABC) algorithm پسورد فایل : behsanandish.com


الگوریتم بهینه سازی کلونی زنبور عسل مصنوعی برای حل مشکلات بهینه سازی محدود

Artificial Bee Colony (ABC) Optimization Algorithm for Solving Constrained Optimization Problems

Abstract. This paper presents the comparison results on the performance of the Artificial Bee Colony (ABC) algorithm for constrained optimization problems. The ABC algorithm has been firstly proposed for unconstrained optimization problems and showed that it has superior performance on these kind of problems. In this paper, the ABC algorithm has been extended for solving constrained optimization problems and applied to a set of constrained problems . فایل PDF – در 10 صفحه – نویسندگان : Dervis Karaboga and Bahriye Basturk Artificial Bee Colony (ABC) Optimization پسورد فایل : behsanandish.com


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

Artificial Bee Colony Algorithm and Its Application to Generalized Assignment Problem

فایل PDF – در 32 صفحه – نویسندگان : Adil Baykasoùlu, Lale Özbakır and Pınar Tapkan Artificial Bee Colony Algorithm and Its پسورد فایل : behsanandish.com


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

Contents 
• Swarm Intelligence – an Introduction 
• Behavior of Honey Bee Swarm 
 • ABC algorithm
 • Simulation Results 
• Conclusion 
فایل PDF از یک فایل Power Point – در 22 اسلاید- نویسنده : ناشناس
پسورد فایل : behsanandish.com

بهینه سازی کلونی زنبور عسل پارت 1: مرور الگوریتم

BEE COLONY OPTIMIZATION PART I: THE ALGORITHM OVERVIEW

,Abstract: This paper is an extensive survey of the Bee Colony Optimization (BCO) algorithm proposed for the first time in 2001. BCO and its numerous variants belong to a class of nature-inspired meta–heuristic methods, based on the foraging habits of honeybees. Our main goal is to promote it among the wide operations research community. BCO is a simple, but ecient meta–heuristic technique that has been successfully applied to many optimization problems, mostly in transport, location and scheduling fields. Firstly, we shall give a brief overview of the meta–heuristics inspired by bees’ foraging principles, pointing out the dierences between them. Then, we shall provide the detailed description of the BCO algorithm and its modifications, including the strategies for BCO parallelization, and give the preliminary results regarding its convergence. The application survey is elaborated in Part II of our paper. Keywords: Meta–heuristics, Swarm Intelligence, Foraging of Honey Bees فایل PDF- در24 صفحه – نویسندگان : Tatjana DAVIDOVI´ C , Duˇsan TEODOROVI´ C , Milica ˇSELMI´ C BEE COLONY OPTIMIZATION PART I پسورد فایل : behsanandish.com