تبلیغات
مقالات آموزشی برنامه نویسی و شبکه - مطالب آموزش شبکه های عصبی

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

سایت نت نیک

نام کتاب :  هوش مصنوعی

نویسنده : استوارت راسل

زبان کتاب :  فارسی است

تعداد صفحه :  ۲۷۷

قالب کتاب : PDF

حجم فایل :  ۲,۳۶۰   کیلوبایت

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

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

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

نوشته شده در تاریخ جمعه 1 اردیبهشت 1391    | توسط: ح.م    | طبقه بندی: آموزش شبکه های عصبی،     | نظرات()


آموزش برنامه نویسی به زبان پرولوگ


پرولوگ

 

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

نویسنده : سید ناصر رضوی

زبان کتاب :  پارسی

تعداد صفحه : 139

قالب کتاب : PDF  

حجم فایل :  2,800  Kb

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

سایت نت نیک

نوشته شده در تاریخ یکشنبه 8 آبان 1390    | توسط: ح.م    | طبقه بندی: مباحث تخصصی رشته کامپیوتر، آموزش شبکه های عصبی،     | نظرات()


الگوریتم ژنتیک

سایت نت نیک

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

 (توضیحات اولیه جهت آشنایی شما با الگوریتمهای ژنتیک)

دانلود فایل آموزشی


کار با جعبه ابزار الگوریتم ژنتیک  در نرم افزار مطلب

سایت نت نیک

دانلود فایل آموزشی

نوشته شده در تاریخ یکشنبه 13 دی 1388    | توسط: ح.م    | طبقه بندی: آموزش نرم افزار Matlab، آموزش شبکه های عصبی،     | نظرات()


شبکه های عصبی , الگوریتم ژنتیک و الگوریتم مورچگان

شبکه های عصبی , الگوریتم ژنتیک و الگوریتم مورچگان

شبکه عصبی چیست؟

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

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

سابقه تاریخی

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

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

اولین سلول عصبی مصنوعی در سال 1943 بوسیله یک neurophysiologist به نلمWarren McCulloch ویک منطق دان به نام Walter Pits ساخته شد . اما محدودیتهای تکنولوژی  در آن زمان اجازه کار بیشتر به آنها نداد.

شبکه های عصبی در مقابل کامپیوتر های معمولی

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

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

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

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

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

چرا از شبکه های عصبی استفاده می کنیم؟

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

مزیتهای دیگر آن شامل موارد زیر می شود :

1.       یادگیری انطباق پذیر: قابلیت یاد گیری نحوه انجام وظایف بر پایه اطلاعات داده شده برای تمرین وتجربه های مقدماتی .

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

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

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

تفاوت‌های شبكه‌های عصبی با روش‌های محاسباتی متداول و سیستم‌های خبره


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

مشخصه

روش محاسباتی متداول
)
شامل سیستم‌های خبره(

شبكه‌های عصبی مصنوعی

روش پردازش

ترتیبی

موازی

توابع

منطقی (left brained)

estault (right brained)

روش فراگیری

به كمك قواعد (didactically)

با مثال (Socratically)

كاربرد

حسابداری، واژه پردازی، ریاضیات،
 
ارتباطات دیجیتال

پردازش حسگرها، تشخیص گفتار، نوشتار، الگو

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

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

ادامه مبحث در ارسال بعدی ( صفحه پایین)

نوشته شده در تاریخ یکشنبه 15 دی 1387    | توسط: ح.م    | طبقه بندی: آموزش شبکه های عصبی،     | نظرات()


شبکه های عصبی , الگوریتم ژنتیک و الگوریتم مورچگان

ادامه از بالا :

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

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

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

*      ایجاد و نگهداری اتصال مسیرهای اولیه و پشتیبانی از هم گسیخته .

*      حل مسایل مربوط به پیدا کردن و نگهداری مسیرهای مجازی در یک شبکه ارتباطات با تغییر شرایط.

*      ساختار اتوماتیک سایتهای پرتال در وب .

*       استفاده در مسیریاب های نرم افزاری و عاملهای موبایل ( مثال زیر ) .

مثال :

مورچگان بین منبع غذا و لانه یک مسیر را حفظ می کنند.

نکات کلی :

*       لانه مورچه در کامپیوتر میزبان است.

*       مورچگان عاملهای موبایل هستند.

*       هدف : جلوگیری از بکارگیری اتصالات متراکم .

*       پاکتهای داده در هر مسیریاب , مسیریابی می شوند.

مسیریاب :

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

*      کد مورچه در Java VM  اجرا می شود.

*      دو زیر سیستم اطلاعاتشان مورد نیازشان را با هم رد و بدل  می کنند.

میزبانان :

*      مورچگان و تست ترافیک تولید می شوند .

*      آمار نرخ پاکتها برای هر اتصال .

تست انطباق :

*      تمام اتصالات بین مسیریابها دارای ظرفیت 50 پاکت در ثانیه اند.

*      ابتدا , دو اتصال بدون ترافیک ایجاد می شود.

*      پس از مدتی , اتصال 1 شروع به فرستادن ترافیک  CBR تقویت شده با نرخ 40 پاکت در ثانیه می کند.

نتیجه اتصال 2 :

*      در ابتدا , کوتاهترین مسیر ترجیح داده می شود.

*      ترافیک ناشی از اتصال 1 منجر به افزایش هزینه می شود.

*      اکنون مسیر دیگری کمترین هزینه را خواهد داشت.

*      سیستم به مسیر منتخب سویچ می کند.

ارزیابی :

*     این الگوریتم برای پیاده سازی مسیریابهای نرم افزاری و عاملهای موبایل موجه است.

*     عملکرد محدود است.

*     پیاده سازی بر پایه سیستم عامل موبایل است.

*      برای اجرای سیستم در شبکه بزرگتر , عملکرد باید بهبود یابد.

نوشته شده در تاریخ یکشنبه 15 دی 1387    | توسط: ح.م    | طبقه بندی: آموزش شبکه های عصبی،     | نظرات()