X
تبلیغات
الگوریتم های هوش مصنوعی

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

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

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

انواع کامپیوتر :

 ابر کامپیوترSUPER COMPUTER   2 – کامپیوتر بزرگ  MAIN 3 – کامپیوتر کوچک MINI 4 – کامپیوتر شخصی (ریز کامپیوتر ها )PC-MICRO

ابر کامپیوتر ها (SUPER  COMPUTER  ) :

این کامپیوتر ها بزرگ و گران هستند . مراکز تحقیقاتی شرکت های بزرگ از آنها استفاده می کنند . 24 ساعت شبانه روز و 365 روز سال فعال و کار  می کنند . قابلیت پردازش محاسبات پیچیده را دارند .(سازمان ناسا – هدایت ماهواره )

میکرو کامپیوتر ها: pc (کامپیوتر های شخصی ) Personal  computer  - micro computer  

کامپیوتر هایی که اکثر مردم استفاده می کنند از این دسته هستند . دارای دو نوع رومیزی و کیفی است. کامپیوتر کیفی (laptop ) : سبک – گران – و صفحه نمایش آن کریستال مایع ) LCD ) مسطح است . PDA : دستیاران دیجیتالی شخصی – کامپیوتر های کوچکی که شبیه PC  هستند و ابعاد آن در حد جیبی است .

مزیت کامپیوتر نسبت به انسان : دقت بالا – اطمینان و سرعت بالا – عدم خستگی و اتلاف وقت كامپيوترها فاقد هوش و استعداد هستند . – سرعت کامپیوترها بر حسب تعداد عملیات در مقیاس ميليارد  در یک ثانیه اندازه گیری می شود .

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

 کامپیوتر های شخصی (PC ). یک مگاهرتز معادل یک میلیون نوسان در ثانیه است .یک گیگا هرتز معادل یک میلیارد نوسان در ثانیه است .کامپیوتر های امروزی حداقل 200 بار سریعتر از کامپیوتر های اولیه هستند .

چند نکته :

از ویژگی های نسل اول (1946-1959)کامپیوتر ها لامپ خلاء-بزرگی آن - مصرف بالاي انر‍‍ژي – دشواری کار و کار یک گروه با آن بود . 

در نسل دوم ویژگی  ترانزیستور  باعث کم حجم شدن و افزایش سرعت  کامپیوتر ها  شد .کامپیوتر های IBM جزء این نسل هستند .

در نسل سوم تراشه IC (مدار الکتریکی )کاربرد داشت و اینترنت نیز در این نسل شروع بکار کرد .

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

نسل پنجم (کامپیوتر هوشمند )  : از سال 1990 شروع شده-  هوش مصنوعی  مانند رباتها

نسل ششم : شبیه سازی و الگو برداری – در حال طراحی می باشد و مغز انسان را شبیه سازی می کنند .

ICDL : گواهینامه بین المللی مهارت کامپیوتر INTERNATIONAL  COMPUTER DRIVING  LICENCE

 IT  : INFORMATION    TECHNOLOGY فناوری اطلاعات

ICT  : تکنولوژِی بین فناوری اطلاعات  و ارتباطات

کامپیوتر دارای 3 بخش اصلی است : 1 – بخش ورودی   2 – بخش پردازش (محاسبه )   3 – بخش خروجی

ورودی داده ها

        خروجی     ( اطلاعات )                          محاسبه   - پردازش                                   

 

بخش ورودی : داده ها را دریافت و وارد سیستم به صورت اعداد و کد(0و1 )می کند . می تواند  متن – مساله ریاضی – اعداد – تصاویر و ... باشد .

به داده های پردازش شده  اطلاعات گفته می شود .

سیستم های کامپیوتر دارای دو بخش اصلی  هستند : الف – سخت افزار   ب- نرم افزار ج – ميان افزار

سخت افزار :Hard wareتمامی بخش های فیزیکی سیستم کامپیوتر – قطعات الکترونیکی – قابل لمس

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

ميان افزار : سخت افزاري كه برنامه ريزي شده باشد مثل حافظه ROM

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

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

*مادر بورد (برد اصلی ) MB : یکی از قطعات مهم سیستم می باشد . که داخل کیس قرار دارد . رده بندی سیستم بر اساس این قطعه است .قطعاتی مانند CPUوکارت گرافیک – مودم و RAM بر روی آن قرار می گیرد .

پردازشگر :CPU (CENTRAL  PROSESSING  UNIT  ) واحد پردازش مرکزی سیستم – دو شرکت اصلی سازنده CPU  : AMD-INTEL

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

دارای  4 بخش می باشد :

1 – واحد محاسبه و منطق ALU  2 – واحد کنترل CU   3- ثبات یا رجیستر(حافظه کوچک – موقت )  4 – حافظه داخلی پنهان کم ظرفیت و موقتی   CACHE

سرعت CPU  بر حسب مگا هرتز یا گیگاهرتز سنجیده می شود . هر چه این عدد بزرگتر باشد سرعت سیتم بالاتر است .

CPU  با سرعت 3 گیگاهرتز از یک CPU  با سرعت 100 مگاهرتز قوی تر است .

گیگا  هرتز معال میلیارد محاسبه در ثانیه است .  مگاهرتز : معادل میلیون محاسبه در ثانیه است .

حافظه CACHE : حافظه موقت و پنهان در سی پی یو است . دارای حجم کمی است . ولی دارای سرعت زیادی است و گران و می تواند بر سرعت و کارایی CPU  تاثیر فراوان داشته باشد.اصول کار و مبنای سیستم ها بر حسب 0 و 1 (دیجیتال ) می باشد .

مبنای دودویی یا باینری (0و1 ) نیز نامیده می شود . یعنی سیستم بطور اتوماتیک تمامی داده های دریافتی را هر چه که باشد (متن – کلمه –تصویر و .. ) را بصورت کدبندی 0 و 1 وارد سیستم می کند .

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

دو نوع حافظه شامل  1 – اصلی 2 – جانبی (ثانویه – کمکی ) وجود دارد .

ظرفیت حافظه بر حسب بایت اندازه گیری می شود . هر بایت Byte از 8 بیت bit تشکیل شده است .

نکته :کوچکترین واحد حافظه که قابل آدرس دهی باشد بایت است و اگر قابل آدرس دهی نباشد بیت خواهد بود .

کوچکترین واحد حافظه که بصورت 0 و 1 باینری باشد بیت است .به 2 بایت یا 16 بیت حافظه، کلمه یا word  گفته می شود.

واحد حافظه بشرح ذیل می باشد ؟

کیلوبایت :KB معادل 1024 بایت است .   مگابایت MB : معادل 1024 کیلوبایت است .

گیگابایت GB : معادل 1024 مگابایت است .

1 byte  =  8  bit

1  KB = 1024 byte

1  MB = 1024 KB=1024 * 1024 BYTE

1  GB = 1024 MB = 1024 * 1024 * 1024  BYTE=230

TB=240 : هر 1024 گیگابایت برابر 1 ترابایت است .

حافظه های اصلی : شامل 1 – RAM   2 – ROM  می باشد .

RAM  :Random  access  memory  :حافظه ای با دسترسی تصادفی (اتفاقی ) – دسترسی مستقیم به اطلاعات ذخیره شده – R =RANDOM به معنای تصادفی است .

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

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

حافظه ROM  (READ ONLY  MEMORY ) : حافظه اصلی – فقط خواندنی – یکبار توسط شرکت برنامه ریزی شده است – قابل پاک شدن نیست(قابل ویرایش و تغییرات حافظه آن وجود ندارد ) و دائمی است .  اولین برنامه هایی که در اول روشن شدن سیستم به زبان لاتین مشاهده می شود از طریق حافظه ROM  اجرا می شود .در افزایش سرعت سیستم هیچ تاثیری ندارد . PROM , EPROM  دو نوع دیگر از ROM  هستند . EPROM  قابل برنامه ریزی است (با استفاده از اشعه ماوراءبنفش محتوي آن پاك مي شود ) .

حافظه های جانبی (کمکی ) :

هارد دیسک : دیسک سخت HARD DISK  : جنس آن از آلومینیم – سرامیک است .

مهمترین حافظه جانبی سیستم است  . بالاترین گنجایش و ظرفیت را بین همه حافظه ها دارد . حافظه ای است دائمی – اطلاعات داخل آن بصورت مغناطیسی ذخیره می شود . روش خواندن یا نوشتن اطلاعات روی دیسک مکانیکی است . دیسک در حال چرخش است و خواندن یا نوشتن به وسیله هد صورت می گیرد و به دلیل متحرک بودن قطعات آن امکان خرابی بیشتری نسبت به RAM  وجود دارد .  سرعت خواندن و نوشتن اطلاعات در هارد از CD – F.DDVD بیشتر ولی از   CPUوRAM کمتر است . ظرفیت حافظه هارد دیسک بر حسب گیگا بایت GB اندازه گیری می شود .80 GB – 160 GB  - 250 GB  و ..

به دلیل بالابودن ظرفیت ، آنرا به چند بخش تقسیم (پارتیشن بندی ) می کنند که شامل بخش های (درایو های ) C-D-E-F-G-,… است .دیسکت : دیسک نرم – فلاپی دیسکت :F.D : دارای گنجایش و ظرفیت پایینی است معادل 1.44 مگابایت – حافظه ای است دائمی – خواندنی و نوشتنی

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

 CD –ROM: به این حافظه  نوری (لیزری )یا OPTICAL  گفته می شود .

CD-ROM : حافظه ای است دائمی و خواندنی – فقط یکبار می توان بر روی آن نوشت دارای ظرفیت 700 MB می باشد . 486 برابر یک فلاپی دیسکت ظرفیت دارد .دارای سرعت های مختلفی مانند 40 X-52 X می باشد .

40X  : یعنی 40 برابر یک دستگاه ویدئو سی دی صوتی سرعت خواندن دارد .

نوعی دیگر از این CD –ROM  ها قابلیت دوباره نویسی را دارند که به آن رایتر CD RW(cd rewritable) ) گفته می شود .

این نوع cd rw قابلیت چندین بار نوشتن و پاک شدن را دارند – خواندنی و نوشتنی است .

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

Dvd  : دی وی دی :

دیسک ویدوئی دیجیتالی – تحت تاثیر میدان مغناطیسی قرار نمی گیرند – دارای کیفیت بالا هستند . شبیه cd  هستند و قابلیت ذخیره سازی بیشتر اطلاعات را دارند . حدود 4.5 GB   ظرفیت - 5/6 برابر یک سی دی اطلاعات ذخیره می کند . خواندن اطلاعات در آن توسط اشعه لیزر(نوری ) صورت می گیرد .

حافظه فلش :FLASH MEMORY : دارای گنجایش های مختلفی ذخیره سازی اطلاعات است . است – هم ورودی و خروجی است – دارای سرعت بیشتری نسبت به هارد دیسک و سی دی است . ونسبت  به RAM  سرعت پایین تری دارد .

نواز مغناطیسی :TAPE  :   ساختاری مانند نوار کاست دارد . دسترسی اطلاعات در آن بصورت ترتیبی است .

دارای 4 الی 100 گیگابایت حافظه است . امروزه کمتر مورد استفاده قرار می گیرد .

Zip disk : دیسک فشرده -نوعی دیسکت با ظرفیت بالا – مناسب برای تهیه نسخه پشتیبان – ظرفیت حدود 100 تا 250 مگابایت داردند . از فناوری مغناطیسی و بعضی از فناوری لیزری استفاده مشود .

افزایش سرعت تبادل و خواندن  اطلاعات در حافظه ها

Cache>Ram>Flash memory>hard disk >DVD>cd>floppy disket

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

صفحه کلید (کیبورد KB ) : واحدی ورودی جهت ورود داده ها است .

 صفحه نمایش  مانیتور : مهمترین واحد خروجی در کامپیوتر محسوب می شود . دو نوع 1 - مانیتور کاتدی شبیه لامپ تصویر تلویزیون دارد  (و 2 -مانتیور LCD (از جنس کریستال مایع ) که دارای مصرف برق کمتر و اشعه زیان بار کمتری تولید می کند .

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

گوی شیاری : Track ball : مانند ماوی وارونه است . برای میزهایی با فضای محدود مناسب است .

جوی استیک و کنترل کننده بازی کامپیوتری : joystick  مخصوص بازیهای رایانه ای است . با کارت صدا در ارتباط است.

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

قلم نوری : light pen  : شبیه قلم است – واحدی ورودی – طراحی و کنترل نشانه ها

صفحه نمایش لمسی : touch  screen  : با لمس این صفحه نمایش می توان تصاویر روی آن را کنترل کرد . هم ورودی و هم خروجی است .

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

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

چاپگر ها : به سه دسته تقسیم می شوند : printer – خروجی محسوب می گردند .

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

2 – چاپگر جوهر افشان : معمولا رنگی – کارتریج جوهر دار- کم صدا – کیفیت چاپ عالی – سرعت پایین

3 – چاپگر ماتریس سوزنی (نقطه ای ) : دارای سر و صدای بالا – سرعت پایین چاپ – کیفیت معمولی – از ریبون استفاده می شود . (قبض برق و اّ ب توسط این چاپگر انجام می شود . امروزه کمتر مورد استفاده قرار می گیرد .

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

نکاتی درباره خرید چاپگر : 1 – سرعت خروجی  2 – قیمت کارتریج جوهر رنگی گران است .یا پودر تونر مصرفی  مناسب باشد . 3 - قیمت  نهایی

مودم : جهت ارتباط با شبکه تلفن و اینترنت استفاده می شود . قابلیت فاکس و تلفن منشی را هم دارد .

دو نوع مودم داریم : داخلی internal  خارجی : external  خارج از سیستم کامپیوتر قراردارد .

اسکنر : دستگاهی جهت دریافت تصاویر و متون و تبدیل آن به 0 و 1 جهت ورود به سیستم کامپیوتر و ذخیره آن- واحدی ورودی است .دقت آن شناخت نوری کاراکتر OCR OPTICAL  CHARACTER  RECOGNITION  گفته می شود .

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

کارت صدا :SOUND CARD جهت پردازش صدا استفاده می شود .معمولا بصورت ONBOARD  روی مادربورد (برد اصلی قرار دارد ).

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

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

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

انواع نرم افزار : 1 – نرم افزار سیستمی : شامل الف – سیستم عامل ب – مترجم ها  ج – کمکی

سیستم عامل operating system: مهمترین بخش نرم افزار سیستمی را تشکیل می دهد . اداره کننده کامپیوتر می باشد . سیستم عامل تمام برنامه ها را کنترل و اجرا و سخت افزار را قابل استفاده می کند و به کاربر اجازه بهره گیری از سخت افزا رو نرم افزار ها را می دهد .

مانند ویندوز 98-xp-vista-dos-linux

سیستم عامل dos  : اولین سیستم عامل ارائه شده مایکروسافت – تک کاربره – تک منظوره – رابط گرافیکی(GUI ) ندارد .

سیستم عامل ویندوز دارای رابط گرافیکی است و می تواند تمامی منابع اطلاعاتی را به صورت تصویر کوچک یا نماد نشانهicon نمایش دهد .تک کاربرهsingle user – چند منظور است .سیستم عامل linux  چند کاربره است .multi  user  نرم افزار کمکی : مانند ویروس کش ها – Nu – nc  

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

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

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

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

Hang  : زمانیکه کامپیوتر به اصطلاح قفل می کند و هیچ فرمانی اجرا نمی شود اطلاق می شود . ابتدا باید همزمان سه دکمه alt+ctrl+del را اجرا کنیم و در غیر اینصورت باید دکمه reset  روی کیس را فشار دهیم تا کامپیوتر راه اندازی مجدد گردد .

داده ها : باارزش ترین بخش سیستم کامپیوتری را تشکیل می دهند . داده ها در فایل file  ها ذخیره می شود و در شاخه ها folder  ها قرار می گیرد و سازماندهی می گردد .

شبکه : دو یا چند کامپیوتر که به طریقی به هم متصل شده اند .

مزایای شبکه : 1 – اشتراک گذاری سخت افزار (چاپگر و اسکنر و .. 2 – اشتراک گذاری فایل  3 – پست الکترونیکی  4 – تبادل داده ها  

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

انواع شبکه : 1 – شبکه محلی :LAN –local area   network  : کامپیوتر های یک دفتر – ساختمان یا مجاور هم  را شامل می شود .

2 – شبکه شهری MAN  : محدوه بزرگتری را در بر می گیرد . مانند تمامی مدارس کشور – تمام بانک های ملی ایران

3 – شبکه گسترده جهانی : همان اینترنت است – WAN :wide  area network  

دسترسی خصوصی به شبکه :private access   دسترسی عمومی به شبکه : public  access  

سرور : server  : کامپیوتر های بسیار بزرگ قوی که بطور همزمان به  درخواست های متقاضیان پاسخ می دهند . (سرويس دهنده )

سیستم متقاضی :client  : هنگامی که به اینترنت متصل شدیم از سیستم سرور اطلاعات دریافت می کنیم .(سرويس گيرنده )

تبدیل سیگنالهای دیجیتال به آالوگ ( مدوله )و تبدیل سیگنالهای آنالوگ به دیجیتال (دمودله ) گویند .

سرعت مودم ها بر حسب بیت بر ثانیه است .BPS) ) - بالاترین سرعت مودم های امروزی 56 kbps است . (برابر 56000 بیت برثانیه )

شبکه خدمات مجتمع دیجیتال :ISDN  سرعت آن حدود 128 KBPS است .

جایگزین استفاده از مودم و شبکه تلفن معمولی است .- عدم نیاز به مودم – عدم اشغال خط – جهت مکالکات تلفنی – ویدئو کنفرانس DATAکاربرد دارد . شبکه مبتنی بر سیگنالهای دیجیتال است . برای تبادل اطلاعات با حجم بالا کاربرد دارد . هزینه آن نسبت به گذشته کمتر شده است . دارای دو کانال هر یک با سرعت 64kbps است که جمعا 128 kbps می شود .

خطوط دیجیتال مشترک : DSL  :فناوری که امکان استفاده از پهنای باند(band width )بیشتری را به ما می دهد . سرعت ارتباطی آن بیش از 15mbps  بیست بار سریعتر از سریعترین مودم هاست . از مزایای آن ارتباط دایم با اینترنت است ( همیشه در اینترنت هستیم )

Download  : دانلود – دریافت اطلاعات – فایلها از اینترنت و ذخیره آن در کامپیوتر خودمان

Upload  : فرستادن فایل از کامپیوتر خودمان در اینترنت

پست الکترونیکی : E-mail

تبادل پیام ها و نامه ها را در شبکه و اینترنت گویند . نرم افزار  outlook  express جهت ارسال و دریافت نامه الکترونیکی کاربرد دارد .

وسایل لازم : 1 – کامپیوتر شخصی 2 – مودم 3 – خط تلفن 4 – کارت  اینترنت isp  

Isp  : شرکت خدمات دهنده اینترنتی ( شرکتی که بعنوان واسطه بین کاربران و اینترنت عمل می کند )

کارت اینترنتی متعلق به این شرکت هاست .اینترنت : یک شبکه جهانی شامل میلیون های کامپیوتر متصل به هم است .

بطور غیر متمرکز عمل می کند (راههای ارتباطی متعددی وجود دارد )- دارای قوانین مشترکی در کل دنیا است .

شبکه جهانی وب : www:World wide  web  :

از صفحات وب بسیاری تشکیل شده است(اسناد وب ) که به یکدیگر متصل هستند و در ارتباط اند .(link )

دسترسی آسان به صفحات وب و پیوند ها hyper link  گفته می شود . به اسنادی که با بهره گیری از hyper link ساخته می شوند hyper text  و به تصاویر گرافیکی و صداها که دربرگیرنده hyper link  هستند hyper media  گفته می شود .

کاوشگر : مرورگر browser  : برنامه ای که می تواند صفحات وب را نمایش و بین صفحات و اسنادوب گردش و حرکت کند .

موتور جستجو گر : search engine  :وظیفه جستجوی اطللاعات مورد نیاز ما را در اینترنتو سایتها بر عهده دارند .

مانند سایت www.google.com

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

شبکه خارجی exteranet : زمانیکه اشخاصی(مدیریت و پشتیبانی )امکان اجازه استفاده از اطلاعات

را از بیرون داشته باشند .

کاربردهای کامپیوتر :

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

کار از راه دور و در منزل را  teleworking  گویند .آموزش از راه دو با کامپیوتر(آموزش مجاز ی – تحصیل در دانشگاه مجازی – e-learning  

ادارات – سازمانها – دولت الکترونیک e-police-به خرید و فروش اینترنتی online- shoping می گویند .

تجارت الکترونیکی : e-commerce

************************

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

برای حفاظت داده ها باید از کلمه عبورpassword و برنامه  های امنیتی استفاده کرد ..

با توجه به اینکه داده ها ممکن است به هر دلیلی از بین رود بهتر است از آنها بطور مرتب ذخیره سازی و یا پشتیبانی (رایت روی سی دی یا دی وی دی ) تهیه کنیم .

ویروس ها : برنامه های مخرب هستند که انواع مختلفی دارند و توانایی آسیب رساندن به سیستم – حافظها و داده ها و سرقت اطلاعات را دارا می باشند .(VIRUS )از راههای گوناگون می توانند به سیستم ما وارد بشوند . از طریق اینترنت و پست الکترونیکی – سی دی های یا فلاپی های آلوده به ویروس .ویروس کش ها : anti virus  برنامه های کمکی هستند که توانایی شناسایی و نابود کردن انواع ویروس ها را دارا می باشند .

ولی نکته مهم اینست که ویروس کش ها باید به روز باشند .up to date  باشند تا توانایی شناسایی ویروس های جدید را نیز دارا شوند ..

برخی از مهمترین ویروس کش های دنیا : 1- macafee  2 – bitdefender  3 – kasper sky 4 – nod 32  

        تست مباني ICDL2 :

1 – راههاي مقابله با ويروس ها؟

: الف – استفاده از ويروس كش ها  2 – استفاده از سخت افزار ضد ويروس و كنترل كننده   ج – استفاده از سيستم عامل dos د – الف و ب

2 – اين حافظه فقط خواندني و در زمان راه اندازي سيستم عمل مي كند و دائمي است ؟ الف – RAM ب- ROM ج – HARD د – CPU

3 – سرعت كدام يك از حافظه هاي زير  بيشتر است ؟‌الف – HARD  ب- RAM  ج – DVD  د- CD

4 – كدام گزينه جهت پردازش تصاوير به كار گرفته مي شود ؟ الف – مودم   ب- اسكنر ج – كارت گرافيك  د – كارت صدا

5 – واحد اندازه گيري سرعت پردازش CPU را چه مي گويند ؟‌الف – DPI  ب- بايت   ج – گيگاهرتز   د – گيگا بايت

6 – كدام يك از سيستم عامل  زير فاقد رابط گرافيكي مي باشد ؟ الف – WINDOWS XP ب – WIN 98  ج – LINUX د – DOS

7 – به كوچكترين واحد حافظه كه قسمت قابل آدرسي در كامپيوتر باشد گويند ؟الف – بايت   ب- بيت   ج – كيلوبايت   د – سكتور

8 – كدام واحد زير فقط خروجي است ؟ الف – دسته بازي   ب- فلاپي ديسكت  ب- هارد ديسك  د – رسام

9 – شبكه هاي مرتبط در يك ساختمان از چه نوعي است ؟ شبكه محلي  ب- شبكه MAN ج – شبكه LAN  ج – الف و ج

10 – هر 1024 مگابايت برابر 1 .............است و حافظه ............. موقتي و ناپايدار است و با قطع برق اطلاعات آن از بين مي رود .

الف – ترابايت –RAM  ب- گيگابايت – RAM  ج – 1024گيگابايت – RAM  د – GBROM

11 – كدام گزينه جزء اجزاي CPU نيست ؟ الف – ALU  ب- CU  ج – CO د – ثبات

12 – حافظه اي پنهان در CPU ......... نام دارد . و واحد تشكيل دهنده تصاوير را ..................گويند ؟

الف – RAM-PIXELS  ب- CACHE-PIXELS   ج – PIXELS-CAXHE د – هيچكدام

13 – از مزاياي شبكه كردن كامپيوتر ها ؟ الف – به اشتراك گذاري سخت افزار  ب- تبادل داده ها و فايلها ج – كاهش هزينه  د – همه موارد

14 – واحد محاسبه و منطق را .....................گويند ؟الف – CU  ب- ALU ج – CACHE د – رجيستر

15 – اين نوع حافظه فقط خواندني براي نوشتن مجدد بر روي آن بايد با اشعه فرابنفش اطلاعات آن پاك گردد؟

الف – EPROM ب- PROM ج- RAM د – ROM

+ نوشته شده در  شنبه نهم شهریور 1387ساعت 15:34  توسط موسی رجبی  | 

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

آموزش خصوصی کامپیوتر (( برنامه نویسی ، برنامه های کاربردی ، جهت اخذ دیپلم))

توسط مهندس رجبی

تلفن : ۰۹۳۶۴۴۷۰۶۱۶

+ نوشته شده در  یکشنبه بیست و ششم خرداد 1387ساعت 14:18  توسط موسی رجبی  | 

::..::••:: زمينه هاي کاري و تحقيقاتي رشته مهندسي کامپيوتر ( مهندسی نرم افزار )

+ نوشته شده در  چهارشنبه هفدهم بهمن 1386ساعت 12:33  توسط موسی رجبی  | 

هوش مصنوعی

این مقاله از سایت http://www.flazx.com  گرفته و ترجمه و خلاصه شده است. از همه خوانندگان تقاضا می شود نظرات و اطلاعات خود را در این زمینه بیان کنند (به دلیل اینکه این اولین ترجمه من است حتما غلط زیاد دارد.) و احیاناً اگر وب سایتی را در زمینه اخبار مربوط به هوش مصنوعی و یا تاریخچه آن می دانند، در قسمت نظرات ارائه دهند. نظرات شما بازدیدکنندگان بلافاصله پس از بازبینی جهت اطلاع دیگران بر روی وبلاگ قرار خواهد گرفت.

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

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

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

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

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

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

*Alan Turing
*Golden
*Roger Penrose
*Hubert Dreyfus
*"somewhat intelligent"

+ نوشته شده در  چهارشنبه هفدهم بهمن 1386ساعت 12:3  توسط موسی رجبی  | 

هوش مصنوعی

این مقاله از سایت http://www.flazx.com  گرفته و ترجمه و خلاصه شده است. از همه خوانندگان تقاضا می شود نظرات و اطلاعات خود را در این زمینه بیان کنند (به دلیل اینکه این اولین ترجمه من است حتما غلط زیاد دارد.) و احیاناً اگر وب سایتی را در زمینه اخبار مربوط به هوش مصنوعی و یا تاریخچه آن می دانند، در قسمت نظرات ارائه دهند. نظرات شما بازدیدکنندگان بلافاصله پس از بازبینی جهت اطلاع دیگران بر روی وبلاگ قرار خواهد گرفت.

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

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

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

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

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

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

*Alan Turing
*Golden
*Roger Penrose
*Hubert Dreyfus
*"somewhat intelligent"

+ نوشته شده در  چهارشنبه هفدهم بهمن 1386ساعت 12:3  توسط موسی رجبی  | 

کامپیوتر :: سایر خدمات

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

لیست دوره ها و سمینارهای آموزشی
شرکت تولیدی فناوری های راهبردی آریاز به عنوان یکی از مجموعه های تولیدی و خدماتی در سطح ایران، جهت اعتلای دانش صنعتگران و دانش پژوهان، اقدام به برگزاری دوره ها و سمینارهای آموزشی در زمینه های جدید و تخصصی نموده است.
مهم ترین هدف از برگزاری این دوره ها، آشنایی مسئولان، مدیران و صاحب نظران با مفاهیم جدید به صورت علمی و به دور از مسائل مربوط به بازاریابی محصولات مرتبط و بررسی عمیق و تکنیکی موضوعات می باشد. در همین راستا در ادامه لیست مهم ترین دوره ها و سمینارهای آموزشی را جهت استحضار تقدیم می دارد.
نحوه برگزاری این دوره ها و سمینارها در محل سازمان ها و شرکت ها و بر اساس زمان مورد توافق طرفین می باشد.
جهت اطلاع از نحوه برگزاری دوره ها و دریافت مطالب و عناوینی که در هر دوره بیان می گردد، می توانید با شرکت تماس حاصل فرمایید.
لازم به ذکر است کلیه دوره های آموزشی به صورت سمینار یک جلسه ای جهت آشنایی بهتر مدیران با مفاهیم مرتبط به صورت رایگان برگزار می گردد.
لیست دوره های آموزشی:
1. ساختمان های هوشمند، سیستم های امنیتی، حفاظتی ساختمان و اتوماسیون ساختمانی (BMS، BAS)
در این دوره مفاهیم مرتبط با انواع سیستم های امنیتی و حفاظتی ساختمان و پیرامون آن همانند سنسورهای تشخیص ورود غیر مجاز، سیستم های کنترل دسترسی،‌ سیستم های حضور و غیاب، سیستم های نظارت تصویری، گشت و نگهبانی، کارت های هوشمند، RFID، مفهوم اتوماسیون ساختمانی، بهینه سازی مصرف انرژی در ساختمان، مدیریت ساختمان و ... تدریس می گردد.
2. سیستم های نظارت تصویری
در این دوره انواع سیستم های نظارت تصویری، مفاهیم پایه و پیشرفته با دیدگاه کاربردی و در مقیاس پروژه های بزرگ مورد بررسی و توجه قرار می گیرد.
3. RFID ( Radio Frequency Identification)
با توجه به قابلیت های بسیار RFID‌ و کاربردهای متنوع آن، در این دوره ضمن معرفی این تکنولوژی، اجزای سخت افزاری، کاربردها، مزیت ها و معایب، استانداردها، امنیت و رمز نگاری و سایر مباحث کاربردی در این زمینه، ارائه می گردد.
4. Voice Over IP
امروزه با گسترش شبکه اینترنت و نیز ظهور و کاربردی شدن مراکز تلفن Voice Over IP، می توان در بحث مراکز تلفن از قابلیت های بسیار بالای این سیستم استفاده نمود. با توجه به نو بودن این مساله در کشورمان، در این دوره مفهوم ارسال صوت از طریق IP، مشکلات و مزیت ها، انواع سرویس ها، نحوه پیاده سازی سیستم، استانداردها و برخی از محصولات معتبر مورد بررسی و تجزیه و تحلیل قرار می گیرد.
5. شبکه های بیسیم بدون ساختار Adhoc
با توجه به گسترش روز افزون سیستم های ارتباط بیسیم، در این دوره دسته بسیار مهمی از شبکه های ارتباط بیسیم که به سرعت برپا گردیده و نیاز به هیچ زیرساختی ندارند، معرفی می گردد. مواردی همانند کاربردها، سیگنالینگ، مسیریابی و غیره از جمله عناوین این دوره محسوب می گردد.
6. شبکه های Wireless Mesh Network
جهت پوشش دادن منطقه وسیعی توسط چتر بیسیم با قابلیت های بسیار بالا همانند اتصال پیوسته به شبکه، استفاده از شبکه های مش، به عنوان یک گزینه ایده آل مطرح می باشد. در همین راستا در این دوره ضمن معرفی ساختار و مفهوم این نوع از شبکه ها، به مواردی همانند کاربردها، معماری، مزیت ها و معایب، مقایسه آن با سایر سیستم های مشابه، مدولاسیون، Roaming و سایر اجزای مرتبط نیز پرداخته می شود.
7. مدیریت پروژه و مایکروسافت پروژه
در این دوره مفاهیم اصلی و مهم در مدیریت پروژه، برنامه ریزی پروژه، منابع انسانی و مالی به همراه اجرای کامل مفاهیم فوق در نرم افزار Microsoft Project تدریس می گردد.
8. کنترل کیفیت
هدف از این دوره آشنا شدن با استانداردها و روش های مختلف در حوزه کنترل کیفیت همانند کایزن، ایزو، EFQM و موارد مشابه می باشد.
9. برنامه ریزی استراتژیک
در این دوره، مفاهیم، روش ها، مدل ها و دیدگاه های برنامه ریزی و مدیریت استراتژیک با پر رنگ نمودن جنبه کاربردی، تدریس می گردد.
10. اسکادا ( Supervisory Control and Data Acquisition) و کنترل توزیع شده (Distributed Control System)
در این دوره مفاهیم اصلی همانند تاریخچه تکامل سیستم های اتوماسیون، معرفی سیستم های اسکادا و کنترل توزیع شده، بررسی روشهای انتقال اطلاعات در سطح فیلد، بررسی انواع کنترلرها، مقدمه ای بر شبکه های صنعتی، بررسی اجزا و لایه های مختلف یک سیستم DCS، بررسی اجزای سیستم اسکادا و موارد دیگر، آموزش داده خواهد شد.
11. نرم افزار Labview
نرم افزار Labview به عنوان یک نرم افزار بسیار قوی در سطح کنترل، اتوماسیون و جمع آوری داده مطرح می باشد. در این دوره مفاهیم مختلفی جهت آشنایی مطلوب با این نرم افزار همانند Creating, Editing, and Debugging a VI، Creating a SubVi، Local and Global Variables and Clusters، Repetition and Loops، Arrays and Graphs، Case and Sequence Structures، VI Customization، Data Acquisition، Instrument Control و موارد دیگر آموزش داده خواهد شد.
12. شبکه های کامپیوتری صنعتی
هدف از این دوره آشنایی با شبکه های صنعتی مختلف می باشد. از جمله مهم ترین مفاهیمی که به آنها پرداخته خواهد شد می توان به مواردی همانند معرفی شبکه های کامپیوتری، تفاوت شبکه های کامپیوتری با صنعتی و بررسی انواع مختلف شبکه های کامپیوتری اشاره نمود. از جمله شبکه هایی که در این دوره مورد بررسی قرار می گیرد می توان به استانداردهایی همانند DNP3، PRofiBus، Foundation Field Bus، CanBus، Modbus‌ اشاره نمود.
13. روباتیک کاربردی
در این دوره مفاهیمی همانند تاریخچه روباتیک، انواع روبات ها و کاربردهای آن، سیستم کنترل حرکت، سنسورهای مختلف مورد استفاده، منابع تغذیه، سیستم ارتباطی، سیستم بینایی، مسیریابی و راهبری، هوش مصنوعی و ... مورد بررسی و تجزیه و تحلیل قرار می گیرد.
14. روبات های همکار و سیستم های چند عاملی
در این دوره به معرفی مفاهیم مرتبط با روبات های همکار و سیستم های چند عاملی همانند تعاریف، کاربردها، یادگیری گروهی، هم تکاملی، کلونی مورچه ها، هوش گروهی، یادگیری تقویتی و موارد مشابه پرداخته می گردد.
15. شبکه های عصبی مصنوعی، سیستم های فازی، الگوریتم های ژنتیک
این دوره در برگیرنده مفاهیم مرتبط با شبکه های عصبی مصنوعی، سیستم های فازی، الگوریتم های ژنتیک و سیستم های ترکیبی و نیز کاربردهای عملی آنها در صنعت می باشد.
16. اتوماسیون صنعتی
هدف از این دوره معرفی مفاهیم بنیادین در بحث اتوماسیون صنعتی و در نهایت معرفی پیشرفت ها و آخرین تکنولوژی های روز دنیا در زمینه اتوماسیون صنعتی و ترسیم وضعیت آینده آن می باشد. مفاهیمی همانند سیستم های کنترلی، انواع نگرش ها به خطوط تولید، شبکه های صنعتی، نرم افزارهای مدیریتی، سنسورها و عملگرها، سیستم های ارتباطی و غیره در این دوره مورد بررسی قرار خواهند گرفت.
17. سنسورها و عملگرها
در این دوره به صورت خاص به بررسی انواع سنسورها و عملگرهای رایج در صنعت و نیز شبکه بندی و انواع هوشمند آنها پرداخته می شود.


ارسال آگهی: ‪یکشنبه، ۱۳ آبان ۱۳۸۶‬

مشخصات آگهی

نام: فناوری های راهبردی آریاز
ایمیل:
تلفن: 09153178711
انقضا: ‪پنجشنبه، ۱۳ دی ۱۳۸۶‬
موقعیت:
آدرس:
+ نوشته شده در  چهارشنبه هفدهم بهمن 1386ساعت 11:58  توسط موسی رجبی  | 

سامانه‌های خبره

از ویکی‌پدیا، دانشنامهٔ آزاد.

پرش به: ناوبری, جستجو

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

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

فهرست مندرجات

[مخفی شود]

[ویرایش] حوزه‌های کاربرد

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

[ویرایش] نکات تاریخی

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

هوش مصنوعي: هوش مصنوعي روشي است در جهت هوشمند کردن کامپيوتر تا قادر باشد در هر لحظه تصميم گيري کرده و اقدام به بررسي يک مسئله نمايد. هوش مصنوعي، کامپيوتر را قادر به تفکر مي کند و روش آموختن انسان را تقليد مي نمايد. بنابراين اقدام به جذب اطلاعات جديد جهت بکارگيري مراحل بعدي مي پردازد. مغز انسان به بخش هايي تقسيم شده است که هر بخش وظيفه خاص خود را جدا از بقيه انجام مي دهد. اختلال در کار يک بخش تاثيري در ديگر قسمت هاي مغز نخواهد گذاشت. در برنامه هاي هوش مصنوعي نيز اين مسئله رعايت می‌شود درحالي که در برنامه هاي غير هوش مصنوعي مثل C يا Pascal تغيير در برنامه روي ساير قسمت هاي برنامه و اطلاعات تاثير دارد. مباحث کاربردي و مهم در تحقق يک سيستم هوش مصنوعي : 1- سيستم هاي خبره(Expert Systems) 2- شبکه هاي عصبي(Neural Network) 3- الگوريتم هاي ژنتيک(Genetic Algorithms) 4- سيستم هاي منطق فازي(Fuzzy Logic Systems)

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

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

مثال هايي از سيستم هاي متخصص تجاري: MYCIN اولين سيستم متخصص موفق جهان بود که در سال 1970 در دانشگاه استنفورد طراحي شد. هدف از ساخت اين سيستم کمک به پزشکان در تشخيص بيماري هاي ناشي از باکتري بود. مشکل عمده در تشخيص بيماري براي يک پزشک آن است که تشخيص سريع و قاطع يک بيماري با توجه به تعداد بسيار زياد بيماري موجود، عملي دشوار است.MYCIN با تشخيص دادن قاطع بيماري‌ها توانست که اين نياز را برآورده سازد. PROSPECTOR يک متخصص در امر زمين شناسي است که احتمال وجود رسوبات معدني در يک ناحيه بخصوص را پيش بيني مي کند. اين سيستم در سال 1987 توسط «ريچارد دودا» و «پيتر هارد» و «رنه ربو» ساخته شد. در اوايل دهه 80 سيستم هاي متخصص به بازار عرضه شد که مي توانستند مشورت هاي مالياتي، توصيه هاي بيمه اي و يا قانوني را به استفاده کنندگان خود ارائه دهند.

سيستم هاي متخصص چگونه کار مي کنند؟ هر سيستم متخصص از دو بخش تشکيل می‌شود: - بانک اطلاعاتي - توليد کننده مکالمه

بانک اطلاعاتي : منظور از بانک اطلاعاتي در اينجا مکانيسم نگهداري اطلاعات و قوانين ويژه اي در مورد يک موضوع بخصوص مي باشد. با اين توصيف دو اصطلاح زير تعريف می‌شود: - شيء(Object): منظور از شيء در اينجا نتيجه اي است که با توجه به قوانين مربوط به آن تعريف مي گردد. - شاخص(Attribute): منظور از شاخص يا «صفت» يک کيفيت ويژه است که با توجه به قوانيني که براي آن در نظر گرفته شده است به شما در تعريف شيء ياري مي دهد. بنابراين مي توان بانک اطلاعاتي را بصورت ليستي از اشياء که در آن قوانين و شاخص هاي مربوط به هر شيء نيز ذکر شده است در نظر گرفته شود. در ساده ترين حالت(که در اکثر کاربردها نيز همين حالت بکار مي رود) قانوني که به يک شاخص اعمال می‌شود اين مطلب را بيان مي کند که آيا شيء مورد نظر شاخص دارد يا ندارد؟ يک سيستم متخصص که انواع مختلف ميوه را شناسايي مي کند احتمالاً داراي بانک اطلاعاتي به صورت زير خواهد بود: شيء قانون شاخص سيب دارد روي درخت رشد مي کند. دارد گرد است دارد رنگ قرمز يا زرد است ندارد در کوير رشد مي کند انگور ----- ------------------- بانک ساده شده بالا با تنها استفاده از قانون دارد:

      شيء           شاخص هايي که دارد
      سيب           رشد روي درخت

گرد بودن رنگ قرمز يا زرد رشد نکردن در کوير

توليد کننده مکالمه: آن بخش از سيستم متخصص است که سعي مي کند از اطلاعاتي که شما ذخيره کرده ايد جهت يافتن يک شيء منطبق با خواسته شما استفاده نمايد. دو نوع عمده از توليد کننده هاي مکالمه وجود دارد : - قطعي - احتمالي برخي قوانين قطعي هستند. به عنوان مثال يک شيميدان مي تواند با قطعيت و يقين اعلام کند که اگر اتم مورد نظر داراي 2 الکترون باشد آنگاه اين اتم به عنصر هليم تعلق دارد. اکثر قوانين قطعي نيستند بلکه با يک درصد مشخص، احتمال وقوع آن‌ها مي رود. با اين وجود در بسياري از اينگونه موارد عامل عدم قطعيت از نظر آماري اهميت چنداني ندارد و از اين رو شما مي توانيد با اين قوانين بصورت قوانين جبري برخورد کنيد. در رابطه با اين دو گروه عمده(يعني قطعي و عدم قطعي) سه روش اساسي براي ساخت «توليد کننده مکالمه» وجود دارد: - استدلال پيشرو Forward Chaining - زنجيره سازي پسرو Backward Chaining - ارزشيابي Rule-Value تفاوت بين اين سه روش به شيوه اي که «توليد کننده مکالمه» توسط آن سعي مي کند به هدف خود برسد بستگي دارد.

[ویرایش] پیوندهای بیرونی

[ویرایش] منابع

  • Durkin, John. Expert Systems: Design and Development.
  • Nisenfeld, A. E., Artificial Intelligence Handbook: Principles, Instrument Society of America, 1989. ISBN: 1 - 55617 - 133 - 1

    [ویرایش] جستارهای وابسته

+ نوشته شده در  چهارشنبه هفدهم بهمن 1386ساعت 11:55  توسط موسی رجبی  | 

دات نت سطح متوسط

بازی دوز یکنفره با کامپیوتر، دونفره و 0 نفره .... حتما بگیریدش.. - هوش مصنوعی کامپیوتر در حد یک جوون 17 یا 18 ساله من چند وقتیه سرعت کانکشنم خیلی افت کرده نتونستم فایل رو اینجا بذارم، ولی توی آدرس زیر تونستم بذازمش..اگه مشکلی نداشته باشه برای دریافت برنامه به این لینکد برید : http://barnamenevis.org/forum/showthread.php?t=60464

تصوير نمونه
سلام به همه.. اگه بازی دوز می خواین این یکی واقعا بازی کاملیه (تقریبا)، از دستش ندید. برنامه (بازی) TicTacToe نسخه 1.0.3 : - امکان بازی بصورت 2دو نفره (بازیکن با بازیکن) - امکان بازی بصورت 1یکنفره (بازیکن با کامپیوتر)، هوش مصنوعی مناسب - امکان بازی 0 صفر نفره (کامپیوتر با کامپیوتر) صرفا جهت آشنایی با نحوه بازی - هوش مصنوعی کامپیوتر در حد یک جوون 17 یا 18 ساله (البته در بعضی موارد دخترونه) - ضریب دقت بالا در تصمیم گیری برای انتخاب حرکات مناسب چه هنگام دفاع در برابر حرکت حریف، و چه هنگام حمله کامپیوتر - پیش فرض بازی (برای برنده شدن) بصورت یک ردیف 5-تایی می باشد. که البته برای دونفره بازی کردن این پیش فرض قابل تغییر است - اینترفیس (رابط گرافیکی) ساده و مناسب - ... و .... بقیش هم دیگه خودتون بازی کنید ببینید... اگه جالب بود و یا سوالی، پیشنهادی، انتقادی ... داشتین همینجا مطرح کنید.. خوشحال می شم با هم بیشتر در موردش صحبت کنیم. این برنامه در Microsoft Visual C# 2005 Express Eddition نوشته شده. برای اجرا باید روی سیستمتون dotNet FrameWork 2 رو نصب داشته باشید.در این برنامه از کامپوننت Windows Media Player برای پخش موزیک در پس زمینه استفاده شده است. (کتابخانه ویندوز مدیا پلیر WMPLib) یک پیش نمایش از صفحه بازی : http://img2.freeimagehosting.net/uploads/10c5739437.jpg حجم سورس با Resources حدود 900 KB من چند وقتیه سرعت کانکشنم خیلی افت کرده نتونستم فایل رو اینجا بذارم، ولی توی آدرس زیر تونستم بذازمش..اگه مشکلی نداشته باشه برای دریافت برنامه به این لینکد برید : http://barnamenevis.org/forum/showthread.php?t=60464 امیدوارم پیروز باشید. با تشکر ... RED-C0DE
+ نوشته شده در  چهارشنبه هفدهم بهمن 1386ساعت 11:44  توسط موسی رجبی  | 

عناوين:

  • چكيده‌:
  • ـ هدف‌ از اين‌ مقاله‌ آشنائي‌ با هوش‌ مصنوعي‌ به‌ عنوان‌ سمبل‌ ونماد دوران‌ فراصنعتي‌ و نقش‌ و كاربرد آن‌ در صنايع‌ و مؤسسات‌توليدي‌ مي‌باشد. بدين‌ منظور، اين‌ موضوع‌ در قالب‌ دو مقاله‌ جداگانه‌و يا دو بخش‌ ارائه‌ مي‌شود. در (بخش‌ اول‌) هوش‌ مصنوعي‌ موردمطالعه‌ قرار مي‌گيرد و سئوالاتي‌ نظير اين‌ كه‌ هوش‌ مصنوعي‌چيست‌؟ تفاوت‌ هوش‌مصنوعي‌ و هوش‌ طبيعي‌ (انساني‌) درچيست‌؟ شاخه‌هاي‌ عمده‌ هوش‌ مصنوعي‌ كدامند؟ و نهايتأ، اجزاي‌هوش‌ مصنوعي‌ نيز تشريح‌ مي‌شود. در بخش‌ دوم‌،كاربردهاي‌ هوش‌ مصنوعي‌در صنايع‌ و مؤسسات‌توليدي‌، بخصوص‌ در زمينه‌سيستم‌هاي‌ خبره‌ وآدمواره‌ها مورد مطالعه‌ وتجزيه‌ و تحليل‌ قرارمي‌گيرد.

    دهه‌هاي‌ آغازين‌ سده‌ بيستم‌ ميلادي‌ و دوران‌ پيشرفت‌ شگرف‌صنعتي‌، همراه‌ با توليد خودرو بود كه‌ انقلاب‌ همه‌ جانبه‌اين‌ درترابري‌، افزايش‌ شتاب‌ جابجايي‌ و صدها كار و پيشه‌ جديد دررشته‌ها بازرگاني‌ بوجود آورده‌ است‌.

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

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

    از سوي‌ ديگر، منتقدين‌ هوش‌ مصنوعي‌ چنين‌ استدلال‌ مي‌كنندكه‌ صرف‌ زمان‌ و منابع‌ ارزشمندديگر در راه‌ ساخت‌ فراورده‌اي‌ كه‌پر از نقص‌ و كاستي‌ ودست‌آوردهاي‌ مثبت‌ اندكي‌ است‌،مايه‌ بدنام‌ كردن‌ و زير پا گذاشتن‌توانمندي‌ها و هوشمندي‌هاي‌انسان‌ مي‌باشد. تلخ‌ترين‌ انتقادهابر اين‌ باور است‌ كه‌ هوش‌مصنوعي‌، توهين‌ آشكار به‌ گوهر طبيعت‌ و نقش‌ انسان‌ است‌.
     

    تلاش‌ در راه‌ برخوردار نمودن‌ رايانه‌ از توانائيهاي‌ شناخت‌ وتقليد جنبه‌هاي‌ هوشي‌ انسان‌ از دهه‌ 1950 ميلادي‌ آغاز شده‌ است‌.در سال‌ 1956 ميلادي‌، گروهي‌ از دانشمندان‌ از جمله‌ ماروين‌مينسكي‌(2) (از دانشگاه‌ فني‌ ماساچوست‌)، كلود شانن(3) (ازآزمايشگاه‌ نامدار بل‌) و جان‌ مك‌كارتي‌(4) (از دانشگاه‌ دارت‌موت‌(همايش‌ در دارت‌ موت‌ (5)كانادا برگزار نمودند تا در اين‌زمينه‌ به‌ گفتگو بپردازند. جان‌ مك‌ كارتي‌ دانشيار كرسي‌ رياضي‌دانشگاه‌ و ميزبان‌ همايش‌، عنوان‌ پهوش‌ مصنوعي‌) را بر اين‌ نشست‌نهاد.از آن‌ زمان‌ تاكنون‌ ميان‌ دانشمندان‌ و خبرگان‌ آگاه‌ همچنان‌بحث‌ در مفهوم‌ هوش‌ مصنوعي‌ جريان‌ دارد.

    هوش‌ مصنوعي‌ را كوششهايي‌ تعريف‌ مي‌كنند كه‌ در پي‌ ساختن‌نظامهاي‌ رايانه‌اي‌ )سخت‌افزار و نرم‌افزار) است‌ كه‌ رفتاري‌ انسان‌ وارداشته‌ باشند. چنين‌ نظامهايي‌ توان‌ يادگيري‌ زبانهاي‌ طبيعي‌، انجام‌وظيفه‌هاي‌ انساني‌ به‌ صورت‌ آدمواره‌ (ربات‌) و رقابت‌ با خبرگي‌ و توان‌تصميم‌گيري‌ انسان‌ را دارند.

    يك‌ سيستم‌ هوش‌ مصنوعي‌ به‌ راستي‌ (نه‌ مصنوعي‌ (و )نه‌هوشمند (است‌. بلكه‌ دستگاهي‌ است‌ هدف‌گرا كه‌ مشكل‌ را به‌ روش‌ مصنوعي‌ حل‌مي‌كند اين‌ سيستم‌ها بر پايه‌ دانش‌، تجربه‌ و الگوهاي‌ استدلايي‌ انسان‌بوجود آمده‌اند.

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

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

    هوش‌ انساني‌ بسيار پيچيده‌تر و گسترده‌تر از سيستم‌هاي‌ رايانه‌اي‌است‌ و توانمنديهاي‌ برجسته‌اي‌ مانند: استدلال‌، رفتار، مقايسه‌، آفرينش‌و بكار بستن‌ مفهومها را دارد.

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

    هوش‌ مصنوعي‌ در پي‌ ساخت‌ دستگاههايي‌ است‌ كه‌ بتوانندتوانمندهاي‌ ياد شده‌ (استدلال‌، رفتار، مقايسه‌ و مفهوم‌ آفريني‌) را از خودبروز دهند. آنچه‌ تاكنون‌ ساخته‌ شده‌ نتوانسته‌ است‌ خود را به‌ اين‌ پايه‌برساند، هر چند سودمندي‌هاي‌ فراواني‌ به‌ بار آورده‌ است‌.

    نكته‌ آخر اينكه‌، يكي‌ از علل‌ رويارويي‌ با مقوله‌ هوش‌ مصنوعي‌،ناشي‌ از نام‌گذاري‌ نامناسب‌ آن‌ مي‌باشد. چنانچه‌ جان‌ مك‌كارتي‌ در سال‌1956 ميلادي‌ آن‌ را چيزي‌ مانند «برنامه‌ريزي‌ پيشرفته‌» ناميده‌ بود شايد جنگ‌ و جدلي‌ در پيرامون‌ آن‌ رخ‌ نمي‌داد.
     

    هوش‌ مصنوعي‌ به‌ تعدادي‌ ميدانهاي‌ فرعي‌ تقسيم‌ شده‌ است‌ و سعي‌دارد تا سيستم‌ها و روشهايي‌ را ايجاد كند كه‌ بطور تقليدي‌ مانند هوش‌ ومنطق‌ تصميم‌گيرندگان‌ عمل‌ نمايد.

    سه‌ شاخه‌ اصلي‌ هوش‌ مصنوعي‌ عبارتند از: سيستم‌هاي‌خبره‌(ES)(6)، آدمواره‌ها(7) و پردازش‌ زبان‌ طبيعي‌ (8) كه‌ در زير به‌صورت‌ تصويري‌ نشان‌ داده‌ شده‌ است‌.

    هوش‌ مصنوعي‌ در يك‌ نگاه‌

     

    سيستم‌هاي‌ خبره‌، برنامه‌هاي‌ كاميپوتري‌ هوشمندي‌ هستند كه‌ دانش‌و روشهاي‌ استنباط و استنتاج‌ را بكار مي‌گيرند تا مسائلي‌ را حل‌ كنند كه‌براي‌ حل‌ آن‌ها به‌ مهارت‌ انساني‌ نياز است‌.

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

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

     

    مزاياي‌ سيستم‌هاي‌ خبره‌ را مي‌توان‌ به‌ صورت‌ زير دسته‌بندي‌ كرد:

    1-افزايش قابليت‌ دسترسي‌: تجربيات‌ بسياري‌ از طريق‌ كامپيوتر دراختيار قرار مي‌گيرد و به‌ طور ساده‌تر مي‌توان‌ گفت‌ يك‌ سيستم‌ خبره‌،توليد انبوه‌ تجربيات‌ است‌.

    2-كاهش‌هزينه‌:هزينه‌كسب‌تجربه‌براي‌كاربربه‌طورزيادي‌كاهش‌مي‌يابد.

    3-كاهش‌ خطر: سيستم‌ خبره‌ مي‌تواند در محيطهايي‌ كه‌ ممكن‌ است‌براي‌ انسان‌ سخت‌ و خطرناك‌ باشد نيز بكار رود.

    4-دائمي‌ بودن‌: سيستم‌هاي‌ خبره‌ دائمي‌ و پايدار هستند. بعبارتي‌ مانندانسان‌ها نمي‌ميرند و فنا ناپذيرند.

    5-تجربيات‌ چندگانه‌: يك‌ سيستم‌ خبره‌ مي‌تواند مجموع‌ تجربيات‌ وآگاهي‌هاي‌ چندين‌ فرد خبره‌ باشد.

    6-افزايش‌ قابليت‌ اطمينان‌: سيستم‌هاي‌ خبره‌ هيچ‌ وقت‌ خسته‌ وبيمار نمي‌شوند، اعتصاب‌ نمي‌كنند و يا عليه‌ مديرشان‌ توطئه‌ نمي‌كنند، درصورتي‌ كه‌ اغلب‌ در افراد خبره‌ چنين‌ حالاتي‌ پديد مي‌آيد.

    7-قدرت‌ تبيين‌ (Explanation): يك‌ سيستم‌ خبره‌ مي‌تواند مسير و مراحل‌استدلالي‌ منتهي‌ شده‌ به‌ نتيجه‌گيري‌ را تشريح‌ نمايد. اما افراد خبره‌ اغلب‌اوقات‌ بدلايل‌ مختلف‌ (خستگي‌، عدم‌ تمايل‌ و…) نمي‌توانند اين‌ عمل‌ رادر زمانهاي‌ تصميم‌گيري‌ انجام‌ دهند. اين‌ قابليت‌، اطمينان‌ شما را در موردصحيح‌ بودن‌ تصميم‌گيري‌ افزايش‌ مي‌دهد.

    8-پاسخ‌دهي‌سريع‌:سيستم‌هاي‌خبره‌،سريع‌ودراسرع‌وقت‌جواب‌مي‌دهند.

    9-پاسخ‌دهي‌ در همه‌ حالات‌: در مواقع‌ اضطراري‌ و مورد نياز،ممكن‌ است‌ يك‌ فرد خبره‌ بخاطر فشار روحي‌ و يا عوامل‌ ديگر، صحيح‌تصميم‌گيري‌ نكند ولي‌ سيستم‌ خبره‌ اين‌ معايب‌ را ندارد.

    10-پايگاه‌ تجربه‌: سيستم‌ خبره‌ مي‌تواند همانند يك‌ پايگاه‌ تجربه‌عمل‌ كند وانبوهي‌ از تجربيات‌ را در دسترس‌ قرار دهد.

    11-آموزش‌ كاربر: سيستم‌ خبره‌ مي‌تواند همانند يك‌ خودآموز هوش‌(Intelligent Tutor) عمل‌ كند. بدين‌ صورت‌ كه‌ مثالهايي‌ را به‌ سيستم‌ خبره‌مي‌دهند و روش‌ استدلال‌ سيستم‌ را از آن‌ مي‌خواهند.

    12-سهولت‌ انتقال‌ دانش‌: يكي‌ از مهمترين‌ مزاياي‌ سيستم‌ خبره‌،سهولت‌ انتقال‌ آن‌ به‌ مكان‌هاي‌ جغرافيايي‌ گوناگون‌ است‌. اين‌ امر براي‌توسعه‌كشورهايي‌كه‌ استطاعت‌ خريد دانش‌ متخصصان‌راندارند،مهم‌است‌.
     

    كلمه‌ آدمواره‌ (ربات)بعد از به‌ صحنه‌ درآمدن‌ يك‌ نمايش‌ در سال‌1920 ميلادي‌ در فرانسه‌ متداول‌ و مشهور گرديد. در اين‌ نمايش‌ كه‌ اثر«كارل‌ كپك‌» بود، موجودات‌ مصنوعي‌ شبيه‌ انسان‌، وابستگي‌ شديدي‌نسبت‌ به‌ اربابان‌ خويش‌ از خود نشان‌ مي‌دادند. اين‌ موجودات‌ مصنوعي‌شبيه‌ انسان‌ در آن‌ نمايش‌، آدمواره‌ نام‌ داشتند(9).

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

    آدمواره‌ها عموماً داراي‌ ابزار و آلاتي‌ هستند كه‌ به‌ وسيله‌ آنهامي‌توانند شرايط محيط را دريابند.اين‌ آلات‌ و ابزار «حس‌ كننده‌»(10)نام‌ دارند، آدمواره‌ها مي‌توانند در چارچوب‌ برنامه‌ اصلي‌ خود، برنامه‌هاي‌جديد عملياتي‌ توليد نمايند. اين‌ آدمواره‌ها داراي‌ سيستم‌هاي‌ كنترل‌ وهدايت‌ خودكار هستند.

    آدمواره‌هاي‌ صنايع‌ علاوه‌ بر اين‌ كه‌ داراي‌ راندمان‌، سرعت‌، دقت‌ وكيفيت‌ بالاي‌ عملياتي‌ مي‌باشند، از ويژگي‌هاي‌ زير نيز برخوردارند:

    1-بسياري‌ از عمليات‌ طاقت‌ فرسا و غيرقابل‌ انجام‌ توسط متصديان‌ رامي‌توانند انجام‌ دهند.

    2-آنها، برخلاف‌ عامل‌ انساني‌ يعني‌ متصدي‌ خط توليد، قادر هستند سه‌شيفت‌ به‌ كار بپردازند و در اين‌ خصوص‌ نه‌ منع‌ قانوني‌ وجود دارد و نه‌محدوديت‌هاي‌ فيزيولوژيكي‌ نيروي‌ كار.

    3-هزينه‌هاي‌ مربوط به‌ جلوگيري‌ از آلودگي‌ صوتي‌، تعديل‌ هوا و فراهم‌آوردن‌ روشنايي‌ لازم‌ براي‌ خط توليد، ديگر بر واحد توليد تحميل‌نخواهد شد.

    4-براي‌ اضافه‌ كاري‌ اين‌ آدمواره‌ها، هزينه‌ اضافي‌ پرداخت‌ نمي‌شود.حق‌ بيمه‌، حق‌ مسكن‌ و هزينه‌ اياب‌ و ذهاب‌ پرداخت‌ نمي‌شود. احتياج‌ به‌افزايش‌ حقوق‌ ندارند و هزينه‌اين‌ نيز از بابت‌ بهداشت‌ و درمان‌ بر واحدتوليدي‌ تحميل‌ نمي‌كنند.

    ويژگي‌هاي‌ ذكر شده‌ سبب‌ مي‌شوند كه‌ سهم‌ هزينه‌ كار مستقيم‌ نيروي‌انساني‌ در هزينه‌ محصولات‌ توليدي‌، واحدهاي‌ توليدي‌ كاهش‌ پيداكند.(11)

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

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

    بدين‌ ترتيب‌ سئوالاتي‌ نظير اينكه‌ هوش‌ مصنوعي‌ چيست‌، تفاوت‌هوش‌ مصنوعي‌ و هوش‌ طبيعي‌ (انساني‌) در چيست‌، شاخه‌هاي‌ عمده‌هوش‌ مصنوعي‌ كدامند؟ و نهايتاً جزاي‌ هوش‌ مصنوعي‌ مشخص‌ شد. دربخش‌ دوم‌، مي‌توان‌ كاربردهاي‌ هوش‌ مصنوعي‌ در صنايع‌ و مؤسسات‌توليدي‌، بخصوص‌ در زمينه‌ سيستم‌هاي‌ خبره‌ و آدمواره‌ها را مورد مطالعه‌و تجزيه‌ و تحليل‌ قرار داد.


    منابع‌ و مأخذ:


    1.Phlippe coiffet, "Robots technology" volume 1, Prentice - Hall Inc. , 1983. P.ll.

    2. Derrek Kelley , " A Loyman, S., "Introduction to Rabaties," New Jersey, 1986.

    3. Martin A. Fischer Oscar Firschern,"Questions, Intelligence and IntelligentBehavior," Computer and people, Vol., 36, Nos, 5.6, May 1987.

    4. Lotfizadeh A., "The calculeus of Fuzzy If / Then Pulls All Expert, " March 1992.

    5. Povl William, " Silicon Babies, " Scientific American, Dec. 1991.

    1 - Artifcial Intelligence

    2 - Marvin Minsky

    3 - Glaude Shannon

    4 - John MeCarthy

    5 - Dartmouth

    6 - Expert Systems

    7 - Robatic Machines

    8 - Natural Language Processing

    9 - Phillippe coiffet, "Robots Techonology", Volume 1, Prentice - Hall Inco,1983, p,11

    10 - Sensor

    11 - Derrek Kelley, "A L ayman, S. "Introduction to Robotics" New Jersey, 1986
     

    منبع : بلاگ با من باش

    + نوشته شده در  چهارشنبه هفدهم بهمن 1386ساعت 11:39  توسط موسی رجبی  | 

    سلام به دوستان گلم

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

    + نوشته شده در  چهارشنبه هفدهم بهمن 1386ساعت 11:30  توسط موسی رجبی  | 


    همانطور که اشاره شد ریشه اصلی سیستم های خبره یا سیستم های مبتنی بر دانش (KBS) به حوزه مطالعاتی به نام هوش مصنوعی (AI) برمیگردد وسیستم های خبره موجودیت خود را مدیون هوش مصنوعی هستند یکی از بزرگان هوش مصنوعی- ماروین مینسکی- آن را چنین تعریف می کند:

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

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

    يكي از پر استفاده ترين برنامه هاي كاربردي هوش مصنوعي، سيستمهاي خبره ميباشد. يك KBIS[2] يك پايگاه دانش را به اجزاي اصلي شناخته شده  در انواع ديگر سيستمهاي اطلاعاتي كامپيوتري اضافه ميكند. يك ES يك سيستم اطلاعاتي مبتني بر دانش(KBIS ) است كه دانش خود را در يك حوزه كاربردي پيچيده و خاص بكار ميبرد و به عنوان يك مشاور متخصص براي كاربر نهايي عمل ميكند. سيستمهاي خبره به سوالاتي در زمينه مشكلات و مسائل خاص بوسيله استنباطي نظير استنباط انسان در حوزه دانشي كه در آن متخصص است، جواب ميدهد. سيستمهاي خبره بايد قادر باشند كه فرايند استدلال و نتيجه گيري خود را براي كاربر نهايي توضيح دهند.( O`Brien, 2000 ).

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

    سيستم خبره يك برنامه كامپيوتري مبتني بر دانش است كه تخصص انساني را در حوزه اي محدود كسب ميكند.(Lauden & Lauden,2000 ).



    بعضی از تعاریف سیستم های خبره:

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

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

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

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

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

    بعد از سال های 1950 میلادی ، محققین هوش مصنوعی سعی نمودند روش هایی برای حل مسئله بر اساس استدلال های بشر،ارائه نمایند . چنین پروژه ای در سال 1976به وسیله نوول و سایمون توسعه یافت که به عنوان الگوریتم های حل مسائل عمومی یا GPS شناخته شد.

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

    سیستم DENDRAL اولین سیستم در این دسته بود که ساخته شد . کار روی این سیستم در سال 1965 میلادی با مدیریت ادوارد فیگن باوم شروع شد.این سیستم به این دلیل به کار گرفته شد تا ساختارهای شیمیایی ذرات ناشناخته را معین کند.این سیستم ها برای حل مسائلی به کار برده شدند که نیاز به سرویس دهی یک خبره داشتند بنابراین به عنوان سیستم های خبره شناخته شدند.همچنین این سیستم ها به عنوان سیستم های مبتنی بر دانش یا سیستم های دانش، شناخته می شوند.



    --------------------------------------------------------------------------------

    [1] Expert systems

    [2] Knowledge based information system
    _________________
    Yesterday was history, Future will be Mystery, and today is gift, because of this we say today is Present
    + نوشته شده در  چهارشنبه هفدهم بهمن 1386ساعت 11:29  توسط موسی رجبی  | 

    سلام دوستان گلم :

    این بار یک مطلب در مورد شبکه های عصبی مصنوعی دارم. این مطلب خیلی به کار دوستان رشته کامپیوتر و مهندسی پزشکی بخصوص دانشجویان رشته هوش مصنوعی میاد. اميدوارم كه دانلودش كنيد و از استفاده كردنش لذت ببريد .

    + نوشته شده در  چهارشنبه هفدهم بهمن 1386ساعت 11:27  توسط موسی رجبی  | 

    سلام دوستان

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

     

    چکیده مطلب :

     

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

    الگوریتم کلونی مورچه برای اولین بار توسط دوریگو(Dorigo) و همکارانش به عنوان یک راه حل چند عامله (Multi Agent) برای مسائل مشکل مثل فروشنده دوره گرد(TSP) ارائه شده است(Traveling Sales Person).

    + نوشته شده در  چهارشنبه هفدهم بهمن 1386ساعت 11:25  توسط موسی رجبی  | 

     

    قانون انتخاب طبيعي بدين صورت اس

    مقدمه

         هنگامي كه لغت تنازع بقا به كار مي‌رود اغلب بار ارزشي منفي آن به ذهن مي‌آيد. شايد همزمان قانون جنگل به ذهن برسد و حكم بقاي قوي‌تر!

       البته براي آنكه خيالتان راحت شود مي‌توانيد فكر كنيد كه هميشه هم قوي‌ترين‌ها برنده نبوده‌اند. مثلا دايناسورها با وجود جثه عظيم و قوي‌تر بودن در طي روندي كاملا طبيعي بازي بقا و ادامه نسل را واگذار كردند در حالي كه موجوداتي بسيار ضعيف‌تر از آنها حيات خويش را ادامه دادند. ظاهرا طبيعت بهترين‌ها را تنها بر اساس هيكل انتخاب نمي‌كند! در واقع درست‌تر آن است كه بگوييم طبيعت مناسب ترين‌ ها را انتخاب مي‌كند ( Fittest ) نه بهترين‌ها.ت كه تنها گونه‌هايي از يك جمعيت ادامه نسل مي‌دهند كه بهترين خصوصيات را داشته باشند و آنهايي كه اين خصوصيات را نداشته باشند به تدريج و در طي زمان از بين مي‌روند.

    + نوشته شده در  چهارشنبه هفدهم بهمن 1386ساعت 11:23  توسط موسی رجبی  | 

    چکیده

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

     
    مختصراً گفته مي شود که الگوريتم ژنتيک (يا GA) يک تکنيک برنامه نويسي است که از تکامل ژنتيکي به عنوان يک الگوي حل نمسئله استفاده مي کند.مسئله اي که بايد حل شود ورودي است و راه حلها طبق يک الگو کد گذاري مي شودومتريک که تابع fitness هم نام دارد هر راه حل کانديد را ارزيابي مي کندکه اکثر آنها به صورت تصادفي انتخاب مي شوند.
     

    کلاً اين الگوريتم ها از بخش هاي زير تشکيل مي شوند :

    تابع برازش  - نمايش – انتخاب – تغيير

    + نوشته شده در  چهارشنبه هفدهم بهمن 1386ساعت 11:21  توسط موسی رجبی  | 

    سيستمهاي هوشمند يکي از ملزومات و نياز فرداي دنيا پيش روي ما مي باشد . حرکتهايي که در اين راستا در کشورهاي متــــــــرقي صورت گرفته زير مجموعه هاي بسياري براي اين زمينه بوجود آورده است که کارهاي فوق العاده اي نيز در آن زمينه ها صـــــورت گرفته است (باعث خرسندي خواهد بود که دولتمردان ما نيز نگاهي به اين سمت داشته باشند تا بتوانند آينده را در دست گرفته و خود را با آينده همراه کنند.). با توجه به جهت گيري شرکت در اين راستا و دانش موجود در مجموعه و فعاليتهاي صورت گرفته ، زمينه هاي زير از اين بخش در ليست فعاليتهاي شرکت قرار گرفته است.
    1.1. کاربرد سيستمها و الگوريتمهاي هوشمند در ساير سيستمها
    اين قسمت مي تواند يکي از مهمترين بحثهاي سيستمهاي هوشمند باشد ، به دليل ارتباط با دنياي اطلاعاتي که ساير سيستمها مسئوليت گردآوري آن را داشته اند ، چه در زمينه قابل استفاده کردن اين اطلاعات و چه در زمينه کمک به جمع آوري اطلاعات به بهترين و راحتترين روش . بنابراين وظايف زير را در رابطه با ساير سيستمها انجام مي دهد
    1.1.1. آناليز و تحليل اطلاعات
    که به دليل وسعت اين بخش خود بخش مستقلي با عنوان سيستمهاي مديريتي را به خود اختصاص داده است .
    1.1.2. افزايش کارايي (Performance)
    هر کسي که دستي در توليد نرم افزار دارد ، به خوبي مي داند که تا زماني که سيستمي زير بار اطلاعات نرود به هيچ وجه سيستمي قابل اطمينان نخواهد بود و براي کارفرمايان نيز پيمانکاري که تجربه اجرايي داشته باشد اعتبار خاصي دارد و اين خود بيانگر اين است که سيستمها براي اجرايي شدن نياز به هوشمندي (Expert) دارند که در هر قسمتي ، بايد خود را به شکلي و در قالب يکي از تکنولوژيهاي موجود نشان دهند . که در اين زمينه ما با ايجاد ابزارهايي که اين قدرت را در دل خود دارند و استفاده از آنها در دل سيستمهاي ديگر اين توان و قدرت را به ساير سيستمها منتقل مي کنيم.
    1.2. پردازش Processing
    دراين زمينه تنهاسه دسته از پردازشهاي موجود در زمينه ها ي فعاليت قرار گرفته است که به شرح زير مي باشند
    1.2.1. پردازش تصاوير Image Processing
    بينايي در بين حسهاي پنجگانه به عنوان مهمترين حس که بيشترين اطلاعات از طريق آن صورت مي گيرد شناخته مي شود. اگر بخواهيم ساده ترين موجودي که بتواند بصورت مستقل در اين دنيا عمل کند را بوجود آوريم اين حداقل ترين امکاني است که به پشتوانه دانش (مغز) پشت صحنه به موجود ما قابليت فعل و انفعال را ميدهد . در اولين گامي که به اين سو برداشته مي شود فراهم کردن امکان OCR (تبديل تصوير به متن) مي باشد که امروزه براي براقراري ارتباط بين دنياي کتابهاي موجود (که بار سنگين علوم گذشته و امروز را به دوش مي کشند) و دنياي اطلاعات ديجيتالي مورد نياز مي باشد.
    1.2.2. پردازش صوت Speech Recognition
    شنوايي به عنوان حسي که از طريق گويايي ديگران مي تواند تجربيات و اطلاعات سايرين را در اختيار ما قرار دهد داراي اهميت خاصي مي باشد ، بدين صورت که با همراهي گويايي ما را از دنياي انفعالي خودمان خارج و امکان ارتباطات را فراهم مي کند . در دنياي کامپيوتر خوشبختانه پروتکلهاي ارتباط بين کامپيوتر ها به خوبي وجود دارد اما اگر يک سيستم کامپيوتري بخواهد با نوع بشري ارتباط برقرار کند و از تجربيات انسانها (نه به روشي که خود مي خواهد بلکه به روشي که در بين انسانها مرسوم است مثل کسي که به کشور ديگري سفر مي کند زبان آن کشور را ياد مي گيرد ) استفاده کند اين قابليت را بايد دارا باشد.
    1.2.3. پردازش موازي Parallel Processing
    تقسيم کارهاي بزرگ بين انسانها از همان اعصار اوليه بين انسانها مرسوم بوده که يک کار را بصورت دسته جمعي که هر کسي مسئوليت يک قسمت از کار را به عهده گيرد انجام دهند. که اين تکنولوژي نيز امروزه براي استفاده از سيستمهاي (فعلا سيستمهاي سخت افزاري ) سايرين و تقسيم بندي کار بين آنها به سرعت در حال توسعه مي باشد . ومعمولا براي انجام کارهايي که به زمان زياد و يا پردازشگرهاي بسيار قوي نياز دارند صورت مي گيرد.
    1.3. پايگاه دانش Knowledge-Base?
    مغز به عنوان مرکزي که اطلاعات جمع آوري شده از تمامي حسهاي پنجگانه را جمع آوري و ذخيره مي کند و آنگاه مهمترين اتفاق رخ مي دهد ، يعني بر اساس اطلاعات گذشته ، بر اساس تجربيات به دست آمده تحليلي صورت مي گيرد که حال بايد چه کار کرد و بعد از اتخاذ تصميم دستور به اعضاي حرکتي صادر مي شود . اين بخش به عنوان مهمترين بخش در سيستمهاي هوشمند مطرح بوده و الگوريتمهاي فراواني براي لااقل شبيه سازي اين بخش ايجاد شده اند که از آن جمله مي توان به الگوريتمهاي شبکه هاي عصبي (Neural Network) يا سيستمهاي فازي (Fuzzy Systems) و ... اشاره کرد. که هر کدام از روشها سعي در نزديکي هر چه بيشتر به واقعيت موجود را دارند. و فعاليتهاي گسترده اي هم در زمينه استفاده از اين الگوريتمها در ساخت سيستمهايي با ويژگي تصميم گيري و ارائه راه حل در زمينه هاي خاص صورت گرفته است که مي توان به انواع سيستمهاي خبره اي که در زمينه پزشکي ويا علوم ديگر ايجاد شده است اشاره کرد.
    1.4. روبوتيک Robotics
    دستها و پاها به عنوان اندام حرکتي موجودات را قادر به فعل و انفعال در محيط مي کنند ، يعني در نهايت بعد از اينکه موجود از طريق حسهايش ورودي و اطلاعات بيروني را دريافت کرد و اين اطلاعات بر اساس غرايز و تجربيات قبلي تحليل و تصميم نهايي گرفته شد ، دستوري توليد و به اندام حرکتي ارسال مي شود ، تا تراکنشي با محيط صورت گيرد . در اين قسمت فعاليتهاي ملموسي ( اکثرا کل کار را بصورت خلاصه شده در اين بخش تصور مي کنند) در اين بخش صورت گرفته که سعي در هر چه بيشتر انعطاف پذير کردن حرکات ابزار هاي مکانيکي و استفاده از الگوهاي حرکتي موجوداتي چون حشرات و حيوانات و ... را دارند . البته گسترش در اين زمينه خدمات شاياني را به بخش صنعت در اتوماتيک کردن کارها و سرعت بخشيدن به روند اجرايي دارد که نبايد از آن نيز غافل ماند.
    + نوشته شده در  چهارشنبه هفدهم بهمن 1386ساعت 11:18  توسط موسی رجبی  | 

    هوش مصنوعی چیست؟
    فکر کنم جواب دادن به این سوال یه مقدار سخت باشه. چون در حال حاضر ما حتی تعریف دقیقی برای هوش نداریم!
    واژه ی هوش مصنوعی (Artificial Intelligence) اولین بار توسط شخصی به نام John McCarthy استفاده شد با این تعریف: "علم و مهندسی ساخت ماشین های هوشمند".
    اینم یه تعریف دیگه از هوش مصنوعی که تو خیلی از منابع بکار رفته:
    " هوش مصنوعی عبارت است از مطالعه ی این که چگونه کامپیوترها را میی توان وادار به کارهایی کرد که در حال حاضر انسان‌ها آنها رابهتر انجام می‌دهند "
    خوب من کلا زیاد از تعریف خوشم نمی یاد، در نتیجه این قسمت رو همینجا خاتمه میدم، با مثال فکر کنم بهتر بشه مفاهیم رو نشون داد! در آخر اگر دوست داشتین تعریفی که خودتون از هوش مصنوعی پیدا کردینو بگید!

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

    میشه گفت مبحث هوش مصنوعی و پیشرفتش از سال 1950 شروع شد! توی این سال شخصی بنام آلن تورینگ (Alen Turing) تستی بنام تورینگ تست رو معرفی کرد و گفت که هر ماشینی که بتونه از این تست سربلند بیرون بیاد رو میشه یه ماشین هوشمند شمرد. تا الان هیچ ماشینی نتونسته این تست رو با موفقیت پشت سر بگذاره، که خیلی هم عجیب نیست چون برای یه ماشین تست خیلی سختیه! جالب اینه که تقریبا هر انسان سالمی می تونه به راحتی تو این تست قبول بشه حتی یه بچه ی 5-6 ساله!
    Question level 3 بابا کشتی مارو! حالا بگو اصلا موضوع تسته چیه!
    Answer " خوب اگه اجازه بدی الان میگم! "
    Question level 2 من اجازه نمیدم!
    Answer " مهم نیس! "
    خوب می ریم سراغ اینکه این تست موضوعش چی بوده.
    توی این تست جناب آقای تورینگ گفته بودند که بهترین معیار برای اینکه به یه ماشین بشه گفت هوشمند، اینه که از دو صفحه ی تایپ استفاده کنیم (یا در حال حاضر کیبورد کامپیوتر) و پشت یکیشون یک آدم بشینه و پشت اون یکی ماشین مد نظر! اگر ماشین بتونه طرفش رو متقاعد کنه (یا به عبارتی گول بزنه) که داره با یه آدم مکاتبه می کنه نه یه ماشین، تست رو با موفقیت رد کرده!
    همونطور که میبینید پشت سر گذاشتنش این تست برای یه ماشین خیلی سخته! نکته ی جالب دیگه اینه که این تست حالت فیزیکی دو طرف رو کنار گذاشته و فقط طرز فکر دو طرف مهمه!
    هر ساله یه مسابقه ی جهانی در این رابطه وجود داره که اولا به ماشینی که شبیه ترین رفتار رو به انسان داشته باشه ، ثانیا به ماشینی که بتونه تست تورینگ رو با موفقیت پشت سر بگذاره جایزه میدن! که البته جایزه ی دوم رو هنوز هیچ کی نتونسته بگیره!
    Question level 2 من یه ماشین بی ام و دارم، فکر کنی اون بتونه این تست رو پشت سر بگذاره؟
    Answer " وااای!!! منظور از ماشین یه پاسخ گو هست! می تونه یه برنامه کامپیوتری باشه مثلا! "
    Question level 4 Question level 2 ببخشید شماره تلفن شمارو می تونم داشته باشم!
    Answer " لطفا فاصله رو رعایت کنین آقا! اسلام رو زیر سوال نبرین... "
    Question level 4 ای بابا، من دیدم ایشونم مثل من بی ام و دارن گفتم با هم تفاهم داریم خواستم یکم بیشتر آشتا شیم!
    Answer " لطفا بعدا آشنا شین! "
    بعد از تستی که جناب آقای تورینگ (روحشون شاد) معرفی کردند هوش مصنوعی خیلی پیشرفتای دیگری داشت. مثلا اولین برنامه ی هوش مصنوعی توی دانشگاه منچستر نوشته شد که شطرنج بازی میکرد!
    تو سال 1958 آقای John McCarthy زبان برنامه نویسی Lisp رو اختراع کردند! که احتمال داره خیلی از شما اسمشو شنیده باشید!
    زبان برنامه نویسی Prolog هم تو همین دوره در سال 1972 بوجود اومد که الان هم یه زبون قوی در زمینه ی منطق حساب میشه!
    تو سال 1997 دیپ بلو (Deep Blue) که یه ماشین شطرنج باز بود، تونست قهرمان جهان "گری کاسپارف" رو شکست بده! که این یه موفقیت بزرگ بود توی جهان هوش مصنوعی! می تونید بازی ششم رو که کاسپارف می بازه تو اینجا ببینید!
    گری کاسپارف در مقابل دیپ بلو
    البته باید اینم ذکر کنیم که بار ها قبل از این بازی هم کاسپارف با ماشین های مختلفی بازی کرده بود و همشونو شکست داده بود!
    در سال 1999 شرکت سونی اولین روبات خونگی پیشرفته که در قالب یک سگ بود رو با نام AIBO معرفی کرد! این روبات واقعا یک شاهکار بود و البته هست! می تونید اطلاعات بیشتری رو درباره ی این ربات اینجا ببینید.
    یادم رفت بگم! من از تاریخ هم بدم میاد! هیچ وقت نمره ی خوبی ازش نتونستم بگیرم! همیشه مجبور بودم با استاد یا معلم تاریخ صمیمی شم که بتونم درسش رو پاس کنم! در هر صورت دیگه تاریخ بسه. احتمالا شما هم زجر کشیدین تا به اینجا برسین! هوش مصنوعی خیلی جالب تر از این چیزاییه که تا اینجا نوشتم! قول میدم، باور کنید خیلی جالب تره.

    موارد استفاده ی هوش مصنوعی

    این روزا واقعا نمی شه رشته ای رو نام برد که نشه توش از هوش مصنوعی استفاده کرد! از پیش بینی وضعیت آب و هوا گرفته تا شناختن صورت آدم یا فهمیدن دست خط انسان ها! دیگه چه رشته هایی بگم که جالب باشه... آهان تو اقتصاد، رباتیک، تشخیص صدا، انواع نرم افزارای کامپیوتر و ... حتی تو بازی های کامپیوتری! آره همون جنرالز، کانتر یا وار کرفتی که بازی می کنین! تو همشون مقدار زیادی هوش مصنوعی بکار رفته!
    Question level 2 تو نید فور اسپیدم بکار رفته؟
    Answer " تو هر بازی، که کامپیوتر به خودی خودش بازی می کنه هوش مصنوعی بکار رفته! "
    Question level 2 من نمیدونم توی نید فور اسپید کامپیوتر هم بازی می کنه یا نه! فقط تا یه جاییش رسیدم که وقتی رو پلی می زدم یه صدا میومد بد می گف سیدی نید فور اسپید رو بگذاربد تو کامپیوتر! جالب اینه سیدی تو کامپیوتر بود! احتمالا هوش مصنوعیش ضعیف بوده که نمی فهمیده، یا شاید اینم جزو بازیش بوده.
    Question level 4 بابا باید کرکشو نصب می کردی، بیا من شمارمو میدم بزنگ بهت میگم چیکارش کنی!
    Answer " بابا این کارارو بگذارین برا بعد!!! بسه! ادامه میدیم! "
    یه نکته ی جالبی که الان یادم اومد اینه که علم هوش مصنوعی مثل خیلی از علمای دیگه اول فقط برای برآورد سازی نیاز های نظامی بوده! درسته جنگ خیلی چیز بدیه اما کلی از پیشرفت های علمی رو به همین جنگ ها مدیونیم!
    Question level 5 میشه یه مثال دیگه در این مورد بزنید؟
    Answer " البته! یه مثال جالب! همین اینترنتی که شما الان تو خونه استفاده می کنی اولش برای ایجاد شبکه های هماهنگی برای ارتش بوده! که بعد ها گسترش یافته تا به اینجا رسیده!
    یا مثلا GPS! نگاه نکنید الان هر کسی می تونه یه GPS تهیه کنه! این سیستم در ابتدا توی ارتش آمریکای جهان خوار استفاده می شده برای پیدا کردن موقعیت و مختصات جغرافیایی سرباز ها! "

    چند مبحث از هوش مصنوعی

    هوش مصنوعی خیییلییییی وسیعه! خیلی بیشتر از اونی که فکر می کنید! از اینجا به بعد می رسیم به جاهایی که قولشو داده بودم که جالب باشن.
    من نمیتونم همه ی مباحث رو درباره ی هوش مصنوعی بگم! چون اولا خیلی بی سواد تر از اونیم که بخوام در باره ی اونا حرف بزنم دوما انقدر زیادن که اگه فرض کنیم یه آدم که خیییلییی در این رابطه می دونه، صبح تا شب هم دربارش حرف بزنه براتون نه سن شما قد می ده نه سن اون! البته انقدر جذاب هست که هم اون تا آخر عمرش حرف بزنه هم شما گوش بدین!
    Question level 1 اگه همش حرف بزنه کی غذا بخوره؟ کی بخوابه؟
    Answer " ... "
    من تو این نوشته فقط درباره سه تا از مباحثی که به نظرم خیلی جالب هستن صحبت می کنم! بازم می گم من زیاد با سواد نیستم، پس لطفا اگه جایی ایرادی دیدین یا بنظرتون اومد حرفی که زدم غلطه لطفا بگید! البته سعی کردم بدون منبع معتبر حرفی نزنم!
    سه مبحثی که در ادامه ی این نوشته میگم این ها هستند:
    1. شبکه ی عصبی (Neural Network)
    2. الگوریتم ژنتیک (Genetic Algorithm)
    3. منطق فازی (Fuzzy Logic)

    شبکه ی عصبی

    شبکه ی عصبی یا Neural Network یکی از مباحثیه که تو هوش مصنوعی این روزا خیلی خوب داره پیشرفت میکنه و خیلیم روش کار میشه!
    حالا اصلا چی هست؟
    با چند تا سوال شروع می کنم.
    تا حالا به این فکر کردی که مثلا تو یه آدمیو 10 سال قبل دیدی، بعد اتفاقا امروز دوباره اونو بعد از 10 سال می بینی! همه چی کلی تغییر کرده، صورتش، مقدار موش، صداش، قدش و خیلی چیزای دیگه. اما تو باز میشناسیش! خیلی جالبه ها! آخه از کجا؟؟؟ چطوری؟؟؟ مغز آدم خیلی انعطاف پذیری داره توی تغییرات یا خطا ها، همین مغز آدم رو خیلی جالب و پیچیده می کنه!
    Question level 2 من یه مثال دیگه الان در این باره به ذهنم رسید، بگم؟
    Answer " بله حتما، خیلی خوبه که فعال باشی! "
    Question level 2 مثلا من دوستامو امروز می بینم! بعد فردا میبینم بازم میشناسمشون!
    Question level 3 خوب این که هنر نیس!
    Question level 2 هنر نیس؟؟؟ تو که دوستای منو ندیدی هر روز میرن آرایشگاه، یه روز موهاشون آبیه یه روز زرد یه روز نارنجی! تازه صورتشونو که نگوووو.
    Question level 3 آهان از اون لحاظ!
    Question level 4 منم یه مثال بزنم؟
    Answer " بله، چه خوب که انقدر فعال شدین! "
    Question level 4 امممم، آهان، مثلا من میام به این خانوم با شخصیتی می گم شماره موبایلم 0912...
    Answer " عزیز من! بابا چند بار بگم این کارارو بگذارید بعدا! آخه کلاس که جای شماره دادن نیس! "
    خوب یه مثال دیگه می زنم بعد یکم بیشتر وارد میشیم!
    شما نوشتن و خوندن رو یاد گرفتین! تا حالا به این فکر کردید که دست خط هر کسی با اون یکی فرق داره اما شما همه ی اونا رو می تونید بخونید؟ این دوباره منعطف بودن مغز آدم رو می رسونه! یا یه نکته ی دیگه، شما هر چقدر بیشتر تمرین کنید دست خطتون بهتر میشه! اینم نشون میده مغز آدم خودشو در طی تمرین به یه معیاری که به نظرش بهتره نزدیک تر می کنه!
    اما چطوری؟ مغز آدم چجوری کار میکنه؟ تا حالا از خودتون پرسیدید چجوری یه چیز جدید یاد می گیرید یا چطوری فکر می کنید؟ هر آدمی باید اینو بدونه بنظر من! لا اقل باید یکم خودمونو بشناسیم.
    مغز آدم از یه سری سلول عصبی (Neuron) تشکیل شده که هر کدوم سیگنال هایی برای هم میفرستند! جالبه بدونید این سلول های عصبی کاری که می کنن خیلییی سادست مثلا مثل حمع دو تا عدده اما چیزی که باعث میشه بتونن این کارای پیچیدرو انجام بدن اینه که تعداد این سلول ها خیلییی زیاده! مغز آدم حدود 10 به توان 11 تا از این سلول ها داره! تصور این عدد خیلی آسون نیست!
    هر نورون تعدادی axom داره که مثل خروجی عمل می کنن و تعداد خیلی زیادی هم dendrite که به عنوان ورودی عمل می کنن. نورون ها یه مقدار مشخصی قدرت سیگنال نیاز دارن تا فعال شن، وقتی فعال شدن یه سیگنال الکتریکی برای سایر نورون ها میفرستن! هر چقدر نورون ها بیشتر استفاده بشن ارتباط بینشون (axonها و dendriteها) قوی تر میشه.
    حالا ما همین سیستم رو سعی می کنیم کوچیکترش رو توی کامپیوتر شبیه سازی کنیم. کامپیوتر هایی که الان به اونا دسترسی داریم حتی قدرت پردازش 20 بیلیون نورون رو هم ندارن، ولی با تعداد کمی نورون هم می شه پاسخ های مناسبی از شبکه ی عصبی گرفت.
    خوب حالا تو کامپیوتر چطوری نورون ها رو سازمان می دیم؟
    نورون ها همونطوری که تو عکس می بینین توی لایه های مختلف قرار می گیرن، لایه ی اول رو لایه ی ورودی (Input Layer) می گن که ورودی ها رو میگیره و بر حسب قدرت ارتباطش با هر نورون توی لایه ی بعدی سیگنال ورودی رو به لایه ی بعد میفرسته! از این به بعد به قدرت ارتباط هر نورون با نورون دیگه وزن (Weight) اون نورون می گیم. مقدار هر نورون توی هر لایه به وزن و مقدار نورون های لایه ی قبلش بستگی داره. در نهایت ما یه لایه ی خروجی داریم که توی این شکل دو تا نورون توشه! لایه های میانی تعدادشون می تونه هر اندازه ای باشه، و تعداد نورون هاشم مثل بقیه ی لایه ها می تونه هر چقدر که بخوایم باشه. بعدا اشاره می کنیم که چطوری انتخاب کنیم تعداد لایه ها و نورون های هر لایه رو.
    یک شبکه ی عصبی ساده
    حالا اینو ما درست کردیم، به چه دردی می خوره؟
    یه شبکه ی عصبی مثل یه تابع عمل می کنه که به تعداد نورون های ورودی، ورودی می گیره و به تعداد نورون های خروجی هم خروجی میده! مثلا این شبکه عصبی که تو شکل می بینید به این صورته:
    1. f(x1, x2, x3, x4, x5) = y1 , y2
    حالا این تابع چه تابعیه؟ اینجاس که قدرت شبکه ی عصبی معلوم میشه!
    ما میایم و به این تابع 100 تا مثال که جوابشو می دونیم میگیم و هر بار عملیات بازپخشانی (Back propagating) رو انجام میدیم! بازپخشانی یه عملیاتیه که طی اون وزن نورون ها رو طوری تغییر میدیم که جواب های شبکه به جواب هایی که انتظار داشتیم نزدیک تر بشن! یعنی ما در اصل یه تابع می سازیم که خودمون نمیدونیم اون تابع چی هست و فقط چند تا مثال از اون رو داریم!
    بگذارید یه مثال بزنم. مثلا شما چطوری جمع کردن رو یاد گرفتین؟ بهتون گفتن 2+2 میشه 4، 2+3 میشه 5 و ... انقدر مثال دیدید تا فهمیدید آهان پس جمع یعنی این!
    دقیقا میتونیم همین رو به کامپیوتر یاد بدیم! یعنی یه شبکه عصبی با دو نورون ورودی طراحی می کنیم و یه لایه ی میانی با 3 تا نورون و در نهایت یه لایه ی خروجی با یه نورون (چون تابع جمع دو تا ورودی داره و یک خروجی)
    بعد برای کامپیوتر چند تا جواب معلوم رو میگیم! مثلا میگیم 2 و 2 باید بده 4، 2 و 3 باید بده 5 و براش 1000 تا مثال میزنیم! در نهایت ازش میپرسیم حالا بگو 100 و 23 چی میشه؟ (اعدادی که تا بحال برای شبکه عصبیمون مثال نزدیم). و جواب میگیریم مثلا 123.0223! تعجب نکنید شبکه عصبی همیشه قرار نیست جواب قطعی بده، در نهایت می تونیم به یه روشی اونو به جواب قطعی تبدیل کنیم، مثلا توی این مثال روند کردن جواب میده!
    Question level 5 ببخشید، چرا تعداد نورون های لایه ی میانی رو گفتین 3 تا؟
    Answer " سوال خوبیه! تعداد نورون های لایه های میانی می تونه هر چیزی باشه به جای 3، اما باید توجه داشته باشین هر نورونی که اضافه می کنیم از یه طرف گپ خطا رو کمتر می کنی اما از طرف دیگه زمان بیشتری برای پردازش می گیره و چون تعداد نورون ها زیاد شده تعداد خطا های کوچک هم زیاد تر می شن و یه خطای بزرگ رو ایجاد می کنن! پس باید با روش های مختلف بهترین حالت رو انتخاب کنیم. توی این مثال با آزمایش و خطا به این نتیجه رسیدیم که 3 تا بهترین نتیجرو به ما میده! "
    به اون پروسه ای که طی اون مثال میزنیم و عملیات بازپخشانی رو انجام میدیم پروسه ی تعلیم یا Training می گن!
    پس بطور خلاصه ما اول یه شبکه ی عصبی طراحی می کنیم که در ابتدا می تونه هر نورونش وزن تصادفی داشته باشه، بعد شبکه ی عصبیمونو تعلیم میدیم با ورودی هایی که جوابشو داریم و بعد از تعلیم دادن به اون ورودی میدیم و ازش جواب می خوایم!
    مثلا توی مسابقات شبیه سازی فوتبال خیلی وقت ها تیم ها بازی های دوستانه با هم میگذارن! هدف چیه؟ اینه که Agent ها شبکه ی عصبیشون تعلیم ببینه! جالب نیس؟ این یعنی کامپیوتر میتونه یاد بگیره و طی یادگیریاش تصمیم بگیره! بدون اینکه مغز داشته باشه.
    انشاالله در آینده یه مثال از استفاده ی شبکه های عصبی توی هوش مصنوعی یه بازی می زنم چون بدون مثال هم فهمش یکم سخته هم باور کردنش!

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

    الگوریتم ژنتیک یا Genetic Algorithm (GA) در واقع شبیه سازی بقای انسان هست! تا حالا پیش خودتون فکر کردین این همه سال گذشته چطوری انسان ها از بین نرفتن و نسلشون پا برجاس؟ فکر می کنید رمز موفقیتشون چیه؟
    Question level 1 فکر کنم 183462130973.347928374261010000001 باشه!
    Answer " ... "
    انسان ها بقا دارن چون با یه قانون خاصی پیش میرن که واضحه که موفق بوده!
    حالا همین قانون رو توی کامپیوتر میشه شبیه سازی کرد! اما چجوری؟
    فکر کنید میخوایم جواب این تابع رو بدست بیاریم:
    1. A^2 + e^B + 3*sin(C) + int(-D^E) / F = 12
    بنظر خیلی پیچیده میاد! شاید با روش های تحلیلی حل نشه و نیاز به محاسبات عددی باشه! یکی از راه ها الگوریتم ژنتیک هست که بعضی اوقات به شکل باور نکردنی سریع به جواب میرسه.
    خوب پس من با یه مقدمه ازش شروع می کنم:
    چرخه ی الگوریتم ژنتیک
    اولین مرحله اینه که ما یک سری کرومزوم به عنوان جمعیت اولیه بصورت تصادف انتخاب می کنیم. هر کرومزوم یه عدد هست در مبنای دو.
    مثلا این کرومزوم هارو به عنوان جمعیت اولیه در نظر می گیریم:
    1. 00001011
    2. 00100010
    3. 01000000
    4. 11100001
    5. 01101100
    6. 00000111
    7. 11001010
    8. 11110000
    9. 00010101
    10. 10000000
    11. 11100100
    بعد از اینکه جمعیت اولیه معلوم شد این کرومزوم ها توی تابع Fitness امتحان میشن و بر حسب اینکه به جواب مورد نظر نزدیکن یا نه یه عدد بین صفر تا یک بهشون اختصاص داده میشه که صفر یعنی اصلا بدرد نمی خوره و یک یعنی عالیه!
    بر حسب سلامتی کرومزوم ها چند تا از اون ها به عنوان والدین نسل بعدی انتخاب میشن! مرحله ی بعدی مرحله ی Breed هست که طبق فرایند Crossover کرومزوم ها با هم ازدواج می کنن و بچه دار میشن!
    Question level 2 وااای مگه یه مشت صفرو یکم می تونن با هم ازدواج کنن!
    Answer " یکم صبر کنی میبینی که می تونن! "
    خوب حالا فرآیند Crossover چطور انجام میشه؟
    از کرومزوم های برگزیده دوتا دوتا انتخاب میشن و فرایند Crossover روی هر زوج بصورت زیر انجام میشه:
    1. First pair:
    2. 00001|011
    3. 00100|010
    4.  
    5. After crossover:
    6. 00001010
    7. 00100011
    در بالا فرآیند Crossover رو برای زوج اول می بینید! همونطور که مشخصه اول هر کزومزوم از بیت 5ام به دو قسمت تقسیم شدن و 5 بیت اول کرومزوم اول با 3 بیت دوم کرومزوم دوم ترکیب شده و برعکس. به این ترتیب دو فرزند جدید بوجود اومد.
    همین کار برای بقیه ی کرومزوم ها هم انجام میشه، ممکنه یک کرومزوم دو یا چند بار در فرآیند Crossover بکار برده شه، احتمال شرکت کرومزوم هایی که سلامت بهتری دارند توی فرآیند Crossover بیشتره!
    بعد از فرآیند Crossover یک مرحله داریم که احتمال وقوعش خیلی کم هست به نام جهش یا Mutation. توی این فرآیند یک بیت تصادفی از یه کرومزوم تصادفی رو عوض می کنند. مثلا اگر بیت چهارم یک کرومزوم انتخاب بشه در صورتی که صفر باشه اونو یک می کنند یا بلعکس.
    1. First chromosome:
    2. 00001011
    3.  
    4. After mutation:
    5. 00011011
    این فرایند تو واقعیت هم وجود داره مثلا در یک آدم جهشی به وجود میاد و نابغه میشه یا در یه آدم دیگه جهش بوجود میاد و ناقص میشه! در الگوریتم ژنتیک هم همینطوره، یک جهش ممکنه کاملا مفید یا کاملا مضر باشه.
    بعد از این مرحله دوباره کرومزوم های جدید به جمعیت اولیه برای نسل بعد بر می گردند و این فرآیند ها تکرار میشه تا با یک تلورانسی به جوابی که می خوایم نزدیک شیم! این روش در مقایسه با بقیه ی روش های آزمایش و خطا خیلی پیشرفته تره و خیلی وقت ها بسیار سریعتر به نتیجه ی مطلوب میرسه!
    انشاالله در آینده ی نه چندان دور یک مثال هم برای این مبحث از هوش مصنوعی رو بررسی می کنیم.

    منطق فازی

    منطق فازی یا Fuzzy Logic در سال 1965 توسط دکتر لطفی زاده معرفی شد.
    منطق فازی در واقع میگه که یه گزاره لزومی نداری یا درست باشه یا غلط (صفر باشه یا یک) ممکنه مثلا یه گزاره 0.7 درست باشه!
    درکش یه مقدار در ابتدا سخته! بگذارید یه مثال بزنم، شما از دوستتون می پرسید بنظرت حسین بلنده یا نه؟ دوستتون جواب میده ایییی، بلند نیست اما کوتاه هم نمیشه بهش گفت! اما در منطق باینری (یا منطقی که اکثر ما باهاش تو کامپیوتر آشنا هستیم) هیچ وقت برای یه گزاره همچین جوابی نمیده.
    توی منطق باینری ما میگیم اگه قد مساوی یا بلند تر از 175 بود بگو بلند اگه کوتاه تر بود بگو کوتاه! اما آدم اینطوری نیست منطقش مثل مثال قبلی که زدم.
    حالا این سوال پیش میاد که ما در حال حاضر از همین منطق باینری جواب های خیلی خوبی میگیریم، فازی به چه دردی میخوره؟
    برای جواب به این سوال یه مثال دیگه میزنم! مثلا یه شرکت می خواد یه کارخونه بزنه در فاصله ی ماکزیمم 200 کیلومتری تهران، که به تولید کننده ی یه مدل مواد اولیه نزدیک تر از 10 کیلومتر باشه و قیمت زمین هم اونجا هر چی کمتر باشه بهتر.اول یه بار با منطق باینری میریم پیش، اولین نمونه فاصلش با تهران 190 هست و با مواد اولیه هم 9 کیلومتر فاصله داره و قیمت زمین هم اونجا 2000 واحد هست، چندین تا نمونه دیگه هم برسی میشن که دو شرط اول رو ندارن، در آخر هم یه نمونه پیدا میشه که فاصلش تا تهران 201 کیلومتر هست و فاصلش با مواد اولیه 3 کیلومتره و قیمتش هم 1000 واحده! طبق منطق باینری این نمونه رد میشه چون فاصلش 201 هست و بیشتر از 200! اما حالا فرض کنید خود شما دارین تصمییم میگیرین، می یاین می بینید دو شرط آخر این مورد خیلی بهتر از اولین نمونس و تنها مشکل شرط اوله که 1 کیلومتر بیشتر از اون چیزیه که میخواین، با خودتون میگید خوب 1 کیلومتر در مقابل اون شرایط خوب که چیزی نیس و این مورد آخر رو انتخاب می کنید!
    منطق فازی دقیقا همینو میگه! یعنی مثل منطق باینری که کاملا سخت گیرانه شرایط رو چک میکنه عمل نمی کنه بلکه مثل مغز آدم انعطاف پذیره.
    این روزا تو خیلی چیزها از منطق فازی استفاده میشه، مثلا چند تاشون که شاید جالب باشن اینان:
    • ترمز های ABS و سیستم کروز.
    • دوربین ها
    • ماشین ظرف شویی
    • آسانسور ها
    • ماشین لباس شویی
    • بازی های رایانه ای
    • شناخت الگو ها
    • سیستم های تهویه
    فکر کنم تقریبا فایده ی منطق فازی جا افتاده باشه. برای شروع استفاده از منطق فازی باید یه سری مفاهیم اولیه رو یاد بگیریم.
    ببینید منطق فازی در واقع یه راه ساده برای رسیدن به یه نتیجه ی قطعی هستش بر اساس ورودی های ناقص، خطادار یا مبهم! از یه سری قانون خیلی ساده هم پیروی می کنه:
    1. IF x AND y THEN z
    2. IF a OR b THEN c
    همونطور که می دونید if در زبان برنامه نویسی چیز جدیدی نیست! اما با یه مثال ساده شاید بشه فرقش رو نشون داد.
    در نظر بگیرید دارید یه سیستم تهویه طراحی می کنید، توی سیستم های فازی بجای استفاده از شرط هایی مثل temprature>60C یا 30C
    1. IF temperature IS very cold THEN stop fan
    2. IF temperature IS cold THEN turn down fan
    3. IF temperature IS normal THEN maintain level
    4. IF temperature IS hot THEN speed up fan
    دقیقا مثل وقتی که شما توی ماشین نشستین، می بینید هوا خیلی گرمه بدون اینکه دمای دقیق توی ماشین رو بدونید کولر ماشین رو روشن می کنید و روی دمای کم میگذارید!
    اگر دقت کنید هیچ ELSEای وجود نداره، چون دما می تونه هم سرد باشه هم متوسط با درجه های مختلف!
    اپراتور های AND، OR و NOT که باهاشون توی منطق باینری آشنا هستیم توی منطق فازی هم وجود دارن.
    قبل از تعریف این عملگر ها باید بدونیم مجموعه های فازی یا Fuzzy sets به چه معنی هستند. همونطور که گفتیم توی منطق فازی درجه ی درستی لزوما نباید 0 یا 1 باشه و یه گزاره می تونه مثلا 0.3 درست باشه.
    بعد گفتیم که تو منطق فازی می تونیم از هوای گرم یا قد بلند صحبت کنیم، اما باید اول اونارو برای سیستم فازیمون تعریف کنیم! هر کدوم از این دسته ها یه مجموعه ی فازی رو تشکیل میدن.
    در واقع یه مجموعه ی فازی یه جفت (A, m) هست که A یه مجموعه هست و m یه تابع با دامنه ی A و برد [0,1]. به ازای هر x عضو A، m(x) درجه ی عضویت یا درستی x رو نشون میده!
    می دونم یه کلمه از چند تا جمله ی قبل نفهمیدین الان بصورت نمودار میبینیدشون و می فهمید که چیز خیلی پیچیده ای نیست!
    Question level 1 اتفاقا من می خواستم همین الان بگم که هیچی نفهمیدم
    Answer " اون که 100 البته. اما عجیبه فقط شما می خواستید اینو بگید. "
    Question level 2 Question level 4 ...
    Answer " عزیزان من، بابا اگه با هم کاری دارید برید بیرون حرفاتونو بزنید، انقدم به هم نچسبین... "
    Question level 4 ببخشید، مربوط به درس بود حرفمون!
    Answer " میشه بگین چی بوده بقیه هم استفاده کنن؟ "
    Question level 4 امممم... بله، ازم پرسیدن عینکمو چن خریدم، منم با توجه به منطق فازی گفتم زیاااااد!
    Answer " باز جوابت کمی امیدوار کننده بود. "
    خوب حالا که تعریف فازی ست هارو فهمیدیم میریم که اونارو توی نمودار ببینیم و عملگر هارو هم از روی شکل و با توجه به تعریفشون بررسی کنیم:
    به عنوان مثال این شکل مجموعه ی فازی جوان رو نشون میده، شما وقتی از دوستتون می پرسین بنظرت علی جوونه؟
    دوستتون اگه علی 17 سالش باشه میگه آره، اگه 25 سالش باشه میگه اییی، آره هنوز میشه بهش گفت جوونه، اگه 28 سالش باشه میگه خیلی جوون نیس و اگه 50 سالش باشه میگه نه!
    این مجموعه ی فازی هم در واقع همین رو میگه! همونطور که میبینید قبل از 20 سال m(B) یک هست، یعنی 0 تا 20 کاملا عضو مجموعه ی جوان هست، هر چی که میریم جلوتر عضویت توی مجموعه ی جوانی کمتر شده، توی 25 سالگی درجه ی عضویت یا درستی 0.5 هست و توی 28 سالگی 0.2 و بعد از 30 سالگی 0 که یعنی از این سن به بعد اصلا جوان نیست!
    بنظرم الان یکم بهتر مطلب جا افتاده باشه! حالا فرض کنید دو تا مجموعه ی فازی زیر رو داشته باشیم:
    مجموعه ی اول رو در ابتدا در نظر میگیریم. تعریف NOT توی شکل بصورت زیره:
    یا به عبارتی:
    1. NOT A = (1 - m(A))
    خوب حالا دو مجموعرو که بالاتر نمودارشون هست رو در نظر بگیرین، تعریف AND روی اون دو مجموعه بصورت زیره:
    یا به عبارتی:
    1. A AND B = minimum(m(A), m(B))
    OR هم قاعدتا تا الان حدس زدید به چه صورت خواهد بود:
    1. A OR B = maximum(m(A), m(B))
    خوووووب! اینم مقدماتی بود از منطق فازی. البته اینا مفاهیم خیلی اولیه ی منطق فازی بودن، اما توی کار از همین مفاهیم خیلی ساده و ترکیبشون میشه نتایج خیلی عاقلانه ای گرفت.
    ما تا اینجا فقط به پروسه ی Fuzzification پرداختیم! بعد از اینکه عملیات فازی روی سیستم انجام شد در نهایت یه جواب قطعی می خوایم. برای رسیدن به یه جواب قطعی از پروسه ی Defuzzification استفاده میشه.
    برای اینکه این فرایند ها رو قشنگ متوجه شید باید حتما یه مثال عملی ببینید! در آینده ی خیلی نزدیک یه مثال از منطق فازی رو با هم می بینیم.

    خلاصه

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

    خسته نباشید

    میدونم این متن خیلی طولانی شد، ببخشید دیگه. در هر صورت اگه تحمل و صبر اینو داشتین که کلشو بخونید خسته نباشید! اگر سوال یا نظری هم دارید می تونید همین پایین بپرسید.

    لینک های داخلی

    لینک های خارجی

    References

    تگ ها

    tutorials, fuzzy logic, genetic algorithm, neural network, AI, artificial intelligence

    نظرها

    + نوشته شده در  چهارشنبه هفدهم بهمن 1386ساعت 11:16  توسط موسی رجبی  | 

    سلام به همه..
    اگه بازی TicTacToe می خواین این یکی واقعا بازی کاملیه (تقریبا)، از دستش ندید.

    برنامه (بازی) TicTacToe نسخه 1.0.3 :
    - امکان بازی بصورت 2دو نفره (بازیکن با بازیکن)
    - امکان بازی بصورت 1یکنفره (بازیکن با کامپیوتر)، هوش مصنوعی مناسب
    - امکان بازی 0 صفر نفره (کامپیوتر با کامپیوتر) صرفا جهت آشنایی با نحوه بازی
    - هوش مصنوعی کامپیوتر در حد یک جوون 17 یا 18 ساله (البته در بعضی موارد دخترونه)
    - ضریب دقت بالا در تصمیم گیری برای انتخاب حرکات مناسب چه هنگام دفاع در برابر حرکت حریف، و چه هنگام حمله کامپیوتر
    - پیش فرض بازی (برای برنده شدن) بصورت یک ردیف 5-تایی می باشد. که البته قابل تغییر است
    - اینترفیس (رابط گرافیکی) ساده و مناسب
    - ...
    و .... بقیش هم دیگه خودتون بازی کنید ببینید...
    اگه جالب بود و یا سوالی، پیشنهادی، انتقادی ... داشتین همینجا مطرح کنید.. خوشحال می شم با هم بیشتر در موردش صحبت کنیم.

    این برنامه در Microsoft Visual C# 2005 Express Eddition نوشته شده. برای اجرا باید روی سیستمتون dotNet FrameWork 2 رو نصب داشته باشید.در این برنامه از کامپوننت Windows Media Player برای پخش موزیک در پس زمینه استفاده شده است. (کتابخانه ویندوز مدیا پلیر WMPLib)

    یک پیش نمایش از صفحه بازی :



    حجم سورس با Resources حدود 650 KB

    در ضمن در این بازی از الگوریتمهای هوش مصنوعی هم استفاده نشده.
    امیدوارم پیروز باشید.
    با تشکر ... RED-C0DE

    + نوشته شده در  چهارشنبه هفدهم بهمن 1386ساعت 11:13  توسط موسی رجبی  | 

    تشخیص تهاجم فازی

    From دانش‌نامه هوش مصنوعی

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

    + نوشته شده در  چهارشنبه هفدهم بهمن 1386ساعت 11:11  توسط موسی رجبی  | 

    الگوریتم فشرده سازی هافمن را دیوید هافمن پروفسور دانشگاه MIT (Massachusetts Institute of
    Technology) آمریکا اختراع کرد. روش فشرده سازی هافمن الگوریتمی است که برای فشرده سازی
    متن مناسب می باشد.
    الگوریتم هافمن جزو خانوادهء الگوریتم هایی است که طول کد متغییری دارند. این به آن معناست که
    نماد های مجزا (برای نمونه کاراکترهایی در یک فایل متنی) با رشته بیت هایی که طول های
    مختلفی دارند تعویض می شود. بنابراین نماد هایی که زیاد در یک فایل تکرار می شوند یک رشته
    بیت کوتاه می گیرند در حالی که نمادهای دیگر که به ندرت دیده می شوند رشته بیت طولانی تری را
    می گیرند.

    یک مثال کاربردی اجزای کار را به شما نشان می دهد.

    فرض کنید می خواهید تکه اطلاعات زیر رافشرده کنید:
    ACDABA

    از آنجایی که 6 کاراکتر داریم، این متن 6 بایت یا 48 بیت می باشد. با رمز گزاری هافمن، فایل برای
    بیشترین تکرار ظاهر شدن نمادها (در این مثال نماد A سه بار تکرار می شود) جستجو می شود و
    سپس یک درخت ساخته می شود که نماد ها را با رشته بیت های کوتاه تر جایگزین می کند. در این
    حالت خاص الگوریتم از جدول جایگزینی زیر استفاده می کند:
    A=0 , B=10 , C=110 , D=111.

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

    این به این معنی است که 11 بیت به جای 48 بیت مصرف شد. در این مثال خاص نسبت فشرده
    سازی 4 به 1 می باشد.
    رمزگزاری هافمن به دو روش مختلف می تواند بهینه تر شود:
    1. کد هافمن انطباقی (Adaptive Huffman code) به صورت پویا کلمات کد را با توجه به تغییر احتمال
    وقوع نماد ها تغییر می دهد.
    2. فشرده سازی گستردهء هافمن (Extended Huffman Compression) می تواند گروهی از نماد ها را
    نسبت به یک نماد رمز گزاری کند.

    این روش می تواند بین 20% تا 90% اطلاعات را فشرده کند.

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

    + نوشته شده در  چهارشنبه هفدهم بهمن 1386ساعت 11:9  توسط موسی رجبی  | 

    مهندسی کامپیوتر (رایانه)

    از ویکی‌پدیا، دانشنامهٔ آزاد.

    پرش به: ناوبری, جستجو

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

    فهرست مندرجات

    [مخفی شود]

    [ویرایش] مهندسی کامپیوتر به عنوان رشته دانشگاهی (ایران)

    این رشته در ابتدا تحت پوشش رشته‌ای به نام انفورماتیک و تحت نظر دانشکده‌های ریاضی تدریس میشد. هم اکنون این رشته در اکثر دانشگاه‌ها با عنوان مهندسی کامپیوتر و تحت نظر دانشکده فنی (یا مهندسی) ارائه می‌گردد.

    [ویرایش] گرایشهای مهندسی کامپیوتر (مقطع لیسانس)

    [ویرایش] گرایشهای مهندسی کامپیوتر (مقطع فوق لیسانس)

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

    برای ورود به دوره ی کارشناسی ارشد باید مثل همه ی مقاطع در ایران از سد کنکور گذشت ، در کنکور دانشگاه های دولتی از مباحث زیر برای هر گرایش سؤال مطرح می شود: 1- زبان عمومی وتخصصی با ضریب 1


    2-ریاضیات:( ریاضی مهندسی،آمارواحتمالات، محاسبات عددی ، ساختمان های گسسته) با ضریب 2


    3- دروس مشترک:( ساختمان داده ها، نظریه ی زبان ها و ماشین ها، مدارهای منطقی، معماری کامپیوتر، سیستم عامل) با ضریب 4


    4- الف) دروس تخصصی معماری کامپیوتر:(مدارهای الکتریکی، VLSI، الکترونیک دیجیتال ، انتقال داده)

    ب) دروس تخصصی هوش مصنوعی: (مدارهای الکتریکی، طراحی الگوریتم ها، هوش مصنوعی)

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

    باضریب 2


    و در مقطع دکترا از دروس زیر برای سه گرایش سؤال مطرح می شود:

    1- مهندسی کامپیوتر _ نرم افزار

    الف) مواد امتحان عمومی : 1-پایگاه داده2- نظریه ی زبان ها و ماشین ها3- ساختمان داده ها4- طراحی الگوریتم ها 5- کامپایلر 6- طراحی وپیاده سازی زبان های برنامه سازی7- سیستم عامل(40%)

    ب) مواد امتحان اختصاصی: 1- سیستم عامل پیشرفته 2- پایگاه داده ی پیشرفته3- الگوریتم های موازی (60%)

    2- مهندسی کامپیوتر_ معماری کامپیوتر

    الف) مواد امتحان عمومی: 1- معماری کامپیوتر2- الکترونیک دیجیتال3- انتقال داده ها4- شبکه های کامپیوتری5- سیستم عامل 6- VLSI (40%)

    ب) مواد امتحان اختصاصی:1- معماری کامپیوتر پیشرفته 2- شبکه های کامپیوتری پیشرفته3- مدل سازی سخت افزار و متد های طراحی آن (60%)

    3- مهندسی کامپیوتر _ هوش مصنوعی

    الف) مواد امتحان عمومی:1- مدار منطقی 2- نظریه ی زبان ها و ماشین ها3- ساختمان داده ها 4- طراحی الگوریتمها 5- هوش مصنوعی 6-سیگنال ها وسیستم ها(40%)

    ب-) مواد امتحان اختصاصی: 1- سیستم های خبره(50%) و منطق فازی (50%)2- شناسایی آماری الگو 3- شبکه های عصبی 4- پردازش تکاملی 5- یکی از دروس پردازش و شناسایی گفتار، تصویر پردازی رقمی (60%)


    + نوشته شده در  چهارشنبه هفدهم بهمن 1386ساعت 11:6  توسط موسی رجبی  | 

    جمعه، 23 اسفند، 1381

    خود را بيازماييد(۲)
    جواب سوال قبل رو هفته بعد مینویسم اما عجالتا این مساله رو هم داشته باشین:
    الف:
    12 تا سکه مثل هم داریم که یکی از اونها تقلبیه و وزنش بیشتر از بقیه است.
    چجوری با فقط سه بار وزن کردن سکه تقلبی رو تشخیص بدیم؟

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

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

    سه شنبه، 20 اسفند، 1381

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

    و اما مساله:
    1- در یک خیابون 5 خونه وجود داره که با پنج رنگ متفاوت رنگ شدن.
    2- تو هر خونه یه نفر با ملیت متفاوت با بقیه زندگی میکنه.
    3- هر کدوم از 5 صابخونه یه نوشیدنی متفاوت, یه مارک سیگار متفاوت دوست داره و یه حیوون متفاوت تو خونه نگهداری میکنه

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

    1- انگلیسه خونه اش قرمزه
    2- سوئدیه تو خونه سگ نگه میداره
    3- دانمارکیه چای دوست داره
    4- خونه سبز رنگ سمت چپ خونه سفیده
    5- صاحب خونه ی سبز رنگ قهوه دوست داره
    6- کسی که سیگار پالمال میکشه پرنده نگهداری میکنه
    7- صاحب خونه زرد رنگ سیگار دانهیل میکشه
    8- مردی که تو خونه وسطی زندگی میکنه شیر دوست داره از نوشیدنی ها(نه حیوونا)
    9- نروژیه تو اولین خونه زندگی میکنه
    10- مردی که بلندز میکشه همسایه اونیه که گربه نگهداری میکنه
    11- مردی که اسب نگهداری میکنه همسایه مردیه که دانهیل میکشه
    12- مردی که بلو مستر میکشه آبجو دوست داره(ببخشید ماءالشعیر)
    13- آلمانیه سیگار پرنس میکشه
    14- نروژیه همسایه اونیه که خونه اش آبیه
    15- مردی که بلندز میکشه همسایه ای داره که آب دوست داره بین نوشیدنیها

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

    سه شنبه، 20 اسفند، 1381

    انواع ربات

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


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



    رباتهای متحرک به دسته های زیر تقسیم بندی میشوند:
    1-رباتهای چرخ دار
    با انواع چرخ عادی


    و یا شنی تانک


    و با پیکربندی های مختلف یک, دو یا چند قسمتی


    2-رباتهای پادار مثل سگ اسباب بازیAIBO ساخت سونی که در شکل بالا نشان داده شد یا ربات ASIMO ساخت شرکت هوندا


    3-رباتهای پرنده


    4-رباتهای چند گانه(هایبرید) که ترکیبی از رباتهای بالا یا ترکیب با جابجاگرها هستند



    سه شنبه، 20 اسفند، 1381

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

    دمتان گرم سرتان سلامت.
    + نوشته شده در  چهارشنبه هفدهم بهمن 1386ساعت 11:5  توسط موسی رجبی  | 

    الگوریتم ژنتیک ( Genetic Algorithm )

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

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


    نحوه نمایش
    برای استفاده از الگوریتم ژنتیک در حل مسائل باید روشی برای نشان دادن جواب مساله داشته باشیم . در بیشتر مواقع از رشته های بیتی یا آرایه ها استفاده می کنیم . به عنوان مثال برای نشان دادن یک تور در مساله فروشنده دوره گرد می توان از یک آرایه یک بعدی استفاده کرد . بدین صورت که آرایه به تعداد شهرها دارای عنصر خواهد بود . مقادیر موجود در آرایه بیانگر ترتیب شهر ها خواهد بود .
    برای انتخاب ، ترکیب و ایجاد جهش در کروموزوم ها عملگرهای مختلفی وجود دارد اما غالبا الگوریتم های ژنتیک از چهار عملگر زیر برای حل مسائل استفاده می کنند :
    1. Fitness  (برازش )
    2. Selection (  انتخاب)
    3. Crossover (ادغام)
    4. (جهش)    Mutation

     برازش 

    با استفاده از این عملگر ، میزان بهینگی هر کروموزوم را تعیین می کنیم . به عنوان مثال در مسئله فروشنده دوره گرد ، تورهای با مسافت کمتر بهینه تر هستند . و یا در مسئله n-وزیر تعداد برخوردهای کمتر باعث بهینگی بیشتر کروموزوم می شود . بنابراین می توان نتیجه گرفت که عملگر Fitness برای هر کروموزوم احتمالی را نسبت می دهد که این احتمال ، همان احتمال ترکیب شدن کروموزم برای تولید نسل های آینده را نشان می دهد . بدیهی است که کروموزوم های بهینه تر شانس بیشتری برای ترکیب با دیگر کروموزوم ها خواهند داشت . بنابراین احتمالی که به آنها نیز نسبت می دهیم باید بیشتر باشد 

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

     ادغام

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

    ادغام تک نقطه ای

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

    ادغام دو نقطه ای

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

    ادغام توسط ماسک

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

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

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


    Population = GeneratePopulation(K) 
    For I = 1 to MaxIterations
     Fitness(Population)
     If any of chromosomes is optimal Then
      Break
     Offspring =  Crossover(Population)
     Mutate(Offspring)

    EndFor


    توابع Fitness ، Crossover و Mutate نیز با توجه به روش های شرح داده شده پیاده سازی می شوند .



     

    + نوشته شده در  چهارشنبه هفدهم بهمن 1386ساعت 11:2  توسط موسی رجبی  | 

    همه ما زمانی‌‌ را به خاطر مى‌‌‌آوريم كه تصوير ذهنى‌‌‌مان از كامپيوتر ، تصور ماشينى‌‌ هوشمند و پيچيده بود؛ ماشينى‌‌ كه پاسخ بسيارى‌‌ از سئوالات را مى‌‌‌داند و آنچه را كه نمى‌‌‌داند نيز مى‌‌‌آموزد. اين ماشين هوشمند، گاه مشاورﻯ همه‌چيزدان بود كه در تمامى‌‌ مسائل، بهتر از ما تصميم مى‌‌‌گرفت(تنها با اين اشكال كه كمى‌‌ بى‌‌‌احساس بود!)، گاه محاسبه‌گرﻯ توانا كه دقيق‌‌ترين و ظريف‌‌ترين نكات علمى‌‌ را درمى‌‌‌يافت، و گاه بيگانه‌اﻯ خشن، وتنها هدفش نابودﻯ نوع بشر.

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

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

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

         آنچه محل پرسش و تأمل جد است اين كه آيا در نهايت ماشين‌هايى‌ خواهيم داشت كه چون انسان بينديشند؟، و مهم‌تر آن كه اگر اساساً چنين هدفى‌ قابل دستيابى‌ است، اينك علم و تكنولوژ در كجا اين مسير هستند؟ و اگر دستيابى‌ به آن مقدور نيست، سمت و سو آينده هوش مصنوعى‌ به كجاست؟

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

         روزی كه ديپ بلو  [1] ، كاسپاروف را شكست داد، سال‌ها از افسانه هوش مصنوعی سپری شده بود؛    ديگر هيچ كس بر اين باور نبود كه برای هوشمند بودن حتماً بايد كاسپاروف وار شطرنج بازی كرد! يا اقليدس گونه به اثبات قضايای هندسی پرداخت. خيلی پيش از اين مسائل، بايد پاسخ به پرسش‌هايی را يافت كه در گذشته ای نزديك، ابتدايی و پيش پاافتاده به نظر مى‌رسيدند.

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

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

    " "

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

    " "

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

         اما آنچه در بالا به صورت بسيار ناقص و مجمل گفته شد، طرحی بود برای ايجاد سئوال و افزايش ابهام؛ اين كه هوش مصنوعی چيست؟

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

    برای دستيابی به اين هدف مراحل زير را طی خواهيم كرد:

    1. بررسی علوم دخيل در هوش مصنوعی

         تا بدان جايی كه هوش مصنوعی تنها به بررسی روش های حل مسائل رياضی و مجرد توسط كامپيوتر مى‌پرداخت، مى‌توانستيم قطعاً آن را يكی از زير شاخه های علوم كامپيوتر بدانيم؛ اما امروزه با اضافه شدن ملاحظات جديدی كه در فوق اشاره ای بدان رفت، ديگر نمى‌توان با اين قطعيت قضاوت كرد. علومی از قبيل: معرفت شناسی كه در فلسفه ذهن (Epistemology) مطرح است ، عصب شناسی شناختی(Cognitive Neuro Science) و نيز روانشناسی شناخت (Cognitive Psychology) به همراه هوش مصنوعی مجموعه ای تحت عنوان علوم شناختی (Cognitive Science) را تشكيل مى‌دهند. از ديگر سو، رباتيك به عنوان همبسته تكنولوژيك هوش مصنوعی، خود دانشی است كه داده های علوم مكانيك و كامپيوتر و كنترل را يك جا مى‌طلبد.

    2. بررسی هوشمندی

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

    3.آشنايی با روش های هوشمند و كاربرد آنها در تكنولوژی

         آنچه كه باعث شده تا هوش مصنوعی امروزه به عنوان يك رشته مهندسی مطرح باشد اين است كه طيف وسيعی از كاربردهای آن، از رباتيك گرفته تا روش های هوشمند كنترلی مقبوليت وسيعی در صنعت يافته اند. روش هايی همچون منطق فازی [2] ، استرا  [3]تژی تکاملی، الگوريتم ژنتيك، شبكه های عصبی مصنوعی ... همگی روش هايی هستند كه با الهام از طبيعت و برای دستيابی به هوشمندی طبيعی طراحی شده اند اما كاربرد عظيمی در مهندسی و صنعت يافته اند. كاربردی كه تا حدود يك دهه قبل حتی گمان آن نيز نمى‌رفت. رباتيك نيز چه در غالب روش های جابجايی بازوهای مكانيكی، و چه در شكل ربات های متحرك(Mobile Robots) در اين بحث جايگاه ويژه ای را به خود اختصاص داده است.

    4. بررسی هوش مصنوعی گسترده (Distributed Artificial Intelligence)

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

         قانون طلايی در اينجا اين است كه پيچيدگی يك اجتماع، حاصلضرب پيچيدگی تك تك عناصر آن است(تئوری پيچيدگی يا Complexity Theory) ، بنابراين يك اجتماع با عناصر بسيار ساده هم ممكن است به صورت كاملاً پيچيده و هوشمند عمل كند.

         بحث های هوش مصنوعی گسترده(DAI) كه اغلب عجين با مبحث عامل های هوشمند(Artificial Agents)است و نيز مباحث زندگی مصنوعی(Artificial Life) به عنوان جديد‌ترين مباحث هوش مصنوعی اينك چه در دنيای رباتيك و چه در دنيای نرم افزارهای كامپيوتری طرفداران زيادی پيدا كرده است (شركت های بزرگی همچون IBM و[4] نيز نهادهای نظامی كشورهای پيشرفته سرمايه گذاری های كلانی در اين زمينه كرده اند). همانگونه كه گفته شد، هدف از اين مقاله در ابتدا آشنايی اجمالی با مسائل هوش مصنوعی و معرفی برخی گرايش های موجود و مهم در آن، و سپس معرفی مباحث جديد در اين زمينه به علاقه مندان علوم اطلاعات و ارتباطات مى‌باشد. علاوه بر اين سعی خواهد شد تا حد مقدور به بررسی كارها و فعاليت های انجام شده در ايران و يا توسط ايرانيان در زمينه هوش مصنوعی نيز بپردازيم.

     

    پی نوشت ها:
    [1]  اDeep Blue : كامپيوتری كه توسط IBM تنها برای شكست كاسپاروف ساخته شد و سپس به موزه سپرده شد.
    Fuzzy Logic [2]يا منطق شولا: منطقی كه به جای پاسخ درست يا غلط (دو ارزشی) طيفی از پاسخ‌های درست يا غلط را پيشنهاد می‌كند. اين منطق در دهه 60 توسط پروفسور  لطفی‌زاده(ايرانی‌تبار) پيشنهاد شد و امروزه دارای كاربرد وسيعی در زمينه های مختلف كنترلی است.
    Evolutional Algorithms  
    [3] : روشی كه برای بهينه‌سازی عبارات رياضی از منطقی شبيه به تكامل داروينی استفاده می‌كند.
    [4]   IBM Agent Builder و نيز Mobile Aglets  نمونه چنين تلاش هايی هستند.

    + نوشته شده در  چهارشنبه هفدهم بهمن 1386ساعت 10:59  توسط موسی رجبی  | 

    همه ما زمانی‌‌ را به خاطر مى‌‌‌آوريم كه تصوير ذهنى‌‌‌مان از كامپيوتر ، تصور ماشينى‌‌ هوشمند و پيچيده بود؛ ماشينى‌‌ كه پاسخ بسيارى‌‌ از سئوالات را مى‌‌‌داند و آنچه را كه نمى‌‌‌داند نيز مى‌‌‌آموزد. اين ماشين هوشمند، گاه مشاورﻯ همه‌چيزدان بود كه در تمامى‌‌ مسائل، بهتر از ما تصميم مى‌‌‌گرفت(تنها با اين اشكال كه كمى‌‌ بى‌‌‌احساس بود!)، گاه محاسبه‌گرﻯ توانا كه دقيق‌‌ترين و ظريف‌‌ترين نكات علمى‌‌ را درمى‌‌‌يافت، و گاه بيگانه‌اﻯ خشن، وتنها هدفش نابودﻯ نوع بشر.

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

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

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

         آنچه محل پرسش و تأمل جد است اين كه آيا در نهايت ماشين‌هايى‌ خواهيم داشت كه چون انسان بينديشند؟، و مهم‌تر آن كه اگر اساساً چنين هدفى‌ قابل دستيابى‌ است، اينك علم و تكنولوژ در كجا اين مسير هستند؟ و اگر دستيابى‌ به آن مقدور نيست، سمت و سو آينده هوش مصنوعى‌ به كجاست؟

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

         روزی كه ديپ بلو  [1] ، كاسپاروف را شكست داد، سال‌ها از افسانه هوش مصنوعی سپری شده بود؛    ديگر هيچ كس بر اين باور نبود كه برای هوشمند بودن حتماً بايد كاسپاروف وار شطرنج بازی كرد! يا اقليدس گونه به اثبات قضايای هندسی پرداخت. خيلی پيش از اين مسائل، بايد پاسخ به پرسش‌هايی را يافت كه در گذشته ای نزديك، ابتدايی و پيش پاافتاده به نظر مى‌رسيدند.

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

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

    " "

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

    " "

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

         اما آنچه در بالا به صورت بسيار ناقص و مجمل گفته شد، طرحی بود برای ايجاد سئوال و افزايش ابهام؛ اين كه هوش مصنوعی چيست؟

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

    برای دستيابی به اين هدف مراحل زير را طی خواهيم كرد:

    1. بررسی علوم دخيل در هوش مصنوعی

         تا بدان جايی كه هوش مصنوعی تنها به بررسی روش های حل مسائل رياضی و مجرد توسط كامپيوتر مى‌پرداخت، مى‌توانستيم قطعاً آن را يكی از زير شاخه های علوم كامپيوتر بدانيم؛ اما امروزه با اضافه شدن ملاحظات جديدی كه در فوق اشاره ای بدان رفت، ديگر نمى‌توان با اين قطعيت قضاوت كرد. علومی از قبيل: معرفت شناسی كه در فلسفه ذهن (Epistemology) مطرح است ، عصب شناسی شناختی(Cognitive Neuro Science) و نيز روانشناسی شناخت (Cognitive Psychology) به همراه هوش مصنوعی مجموعه ای تحت عنوان علوم شناختی (Cognitive Science) را تشكيل مى‌دهند. از ديگر سو، رباتيك به عنوان همبسته تكنولوژيك هوش مصنوعی، خود دانشی است كه داده های علوم مكانيك و كامپيوتر و كنترل را يك جا مى‌طلبد.

    2. بررسی هوشمندی

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

    3.آشنايی با روش های هوشمند و كاربرد آنها در تكنولوژی

         آنچه كه باعث شده تا هوش مصنوعی امروزه به عنوان يك رشته مهندسی مطرح باشد اين است كه طيف وسيعی از كاربردهای آن، از رباتيك گرفته تا روش های هوشمند كنترلی مقبوليت وسيعی در صنعت يافته اند. روش هايی همچون منطق فازی [2] ، استرا  [3]تژی تکاملی، الگوريتم ژنتيك، شبكه های عصبی مصنوعی ... همگی روش هايی هستند كه با الهام از طبيعت و برای دستيابی به هوشمندی طبيعی طراحی شده اند اما كاربرد عظيمی در مهندسی و صنعت يافته اند. كاربردی كه تا حدود يك دهه قبل حتی گمان آن نيز نمى‌رفت. رباتيك نيز چه در غالب روش های جابجايی بازوهای مكانيكی، و چه در شكل ربات های متحرك(Mobile Robots) در اين بحث جايگاه ويژه ای را به خود اختصاص داده است.

    4. بررسی هوش مصنوعی گسترده (Distributed Artificial Intelligence)

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

         قانون طلايی در اينجا اين است كه پيچيدگی يك اجتماع، حاصلضرب پيچيدگی تك تك عناصر آن است(تئوری پيچيدگی يا Complexity Theory) ، بنابراين يك اجتماع با عناصر بسيار ساده هم ممكن است به صورت كاملاً پيچيده و هوشمند عمل كند.

         بحث های هوش مصنوعی گسترده(DAI) كه اغلب عجين با مبحث عامل های هوشمند(Artificial Agents)است و نيز مباحث زندگی مصنوعی(Artificial Life) به عنوان جديد‌ترين مباحث هوش مصنوعی اينك چه در دنيای رباتيك و چه در دنيای نرم افزارهای كامپيوتری طرفداران زيادی پيدا كرده است (شركت های بزرگی همچون IBM و[4] نيز نهادهای نظامی كشورهای پيشرفته سرمايه گذاری های كلانی در اين زمينه كرده اند). همانگونه كه گفته شد، هدف از اين مقاله در ابتدا آشنايی اجمالی با مسائل هوش مصنوعی و معرفی برخی گرايش های موجود و مهم در آن، و سپس معرفی مباحث جديد در اين زمينه به علاقه مندان علوم اطلاعات و ارتباطات مى‌باشد. علاوه بر اين سعی خواهد شد تا حد مقدور به بررسی كارها و فعاليت های انجام شده در ايران و يا توسط ايرانيان در زمينه هوش مصنوعی نيز بپردازيم.

     

    پی نوشت ها:
    [1]  اDeep Blue : كامپيوتری كه توسط IBM تنها برای شكست كاسپاروف ساخته شد و سپس به موزه سپرده شد.
    Fuzzy Logic [2]يا منطق شولا: منطقی كه به جای پاسخ درست يا غلط (دو ارزشی) طيفی از پاسخ‌های درست يا غلط را پيشنهاد می‌كند. اين منطق در دهه 60 توسط پروفسور  لطفی‌زاده(ايرانی‌تبار) پيشنهاد شد و امروزه دارای كاربرد وسيعی در زمينه های مختلف كنترلی است.
    Evolutional Algorithms  
    [3] : روشی كه برای بهينه‌سازی عبارات رياضی از منطقی شبيه به تكامل داروينی استفاده می‌كند.
    [4]   IBM Agent Builder و نيز Mobile Aglets  نمونه چنين تلاش هايی هستند.

    + نوشته شده در  چهارشنبه هفدهم بهمن 1386ساعت 10:58  توسط موسی رجبی  | 

    عنوان مقاله: شبكه های عصبی و الگوریتم های ژنتیك در تجارت
    نویسنده: دكتر حمید رضا جعفریه - نگارمعتمدی - الهه ملایی
    منبع: تدبیر - شماره 177 - 1385


    چكیده

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

    مقدمه
    توجه به كاربرد تكنیك های هوش مصنوعی و ابزارهای مدل سازی در حوزه كسب و كار به طور فزاینده ای در حال افزایش است. در این راستا سیستم های خبره جایگاه ویژه ای یافته اند. در چند دهه گذشته دو عنوان شبكه های عصبی و الگوریتم های ژنتیك از موضوعاتی بوده اند كه توجه بسیاری از دانشگاهیان را به خود جلب كرده اند . این دو به عنوان ابزاری نیرومند در حل مسائلی كه دیگر توسط متدلوژی ها و روش های سنتی گذشته قابل حل نبودند، شناخته شده و مورد استفاده قرارگرفته اند. این روزها استفاده از آنها به زندگی اجتماعی ما نیز تسری یافته تا جایی كه كاربرد آنها در تصمیم گیری ها نقش حیاتی یافته است . این مقاله شواهدی را مبتنی برامكان استفاده اخلاقی از شبكه های عصبی و الگوریتم ها ی ژنتیك كه به منجر به تصمیم گیریهای موفقیت آمیز در ارتباط با مسائل مرتبط با كسب و كار می شود ارائه می كند . برای این منظور لازم است كه بررسی تطبیقی ای در رابطه با تلاشهای دیگر محققان در قالب ادبیات موضوع صورت گیرد . به همین دلیل ، در تحقیق ما بر نقش محققان عملیاتی در حوزه كاربرد شبكه های عصبی و الگوریتم های ژنتیك تأكید شده است . همچنین در كنار ایجاد چنین پایگاهی برای محققان ، به سوالات اساسی زیر نیز پاسخ داده شده است :
    -1 آیا كاربردهای سیستم های مبتنی بر هوش مصنوعی می تواند از فرایندهای تصمیم گیری شركت شما پشتیبانی كند ؟
    -2 آیا اسناد ودلایل و مدارك معتبری برای اثبات این ادعا وجود دارد ؟
    -3 آیا اینها تنها یك تئوری و ایده دانشگاهی است یا دارای قابلیت كاربرد و تعمیم نیز هست؟
    به عبارت دیگر ، با درنظر گرفتن مطالعات مشابه در رابطه با استفاده از سیستم های خبره در كسب و كار، نویسندگان و محققان در آرزوی دستیابی به فرصتی جهت بحث مقایسه ای در باره این سه متدلوژی هوشمند هستند (متاكسیوس و پساراس 2003 ) . یكی از مهم ترین و بحث‌برانگیزترین تحقیقات ، بررسی صورت گرفته توسط لایبوتز (2001) است كه نتیجه آن تحت عنوان «سیستمهای خبره و كاربرد آنها» مطرح شد.
    ساختار این مقاله به صورت زیر است‌: در ابتدا مروری بر پایه و اساس شبكه های عصبی و الگوریتم های ژنتیك خواهیم داشت و سپس به بازنگری جامعی بر كاربرد شبكه های عصبی و الگوریتم های ژنتیك در حوزه كسب و كار خواهیم پرداخت و نهایتا آن را با نتایج و پیشنهاداتی برای تحقیقات كاربردی آینده به پایان خواهیم رساند .

    فناوری شبكه عصبی
    شبكه های عصبی یك تكنیك پردازش اطلاعات مبتنی بر روش سیستم های عصبی بیولوژیكی مانند مغز و پردازش اطلاعات است. مفهوم بنیادی شبكه های عصبی ، ساختار سیستم پردازش اطلاعات است كه از تعداد زیادی واحدهای پردازشی (نورون‌) مرتبط با شبكه ها تشكیل شده اند‌. سلول عصبی بیولوژیكی یا نورون، واحد سازنده سیستم عصبی در انسان است. یك نورون ازبخشهای اصلی زیر تشكیل شده است :
    1) بدنه سلولی كه هسته در آن است و سایر قسمتهای سلولی از آن منشأ گرفته است.
    2) هسته
    3) آكسون كه وظیفه آن انتقال اطلاعات از سلول عصبی است.
    4) دندریت كه وظیفه آن انتقال اطلاعات از سلول های دیگر به سلول عصبی است
    یك سیستم شبكه عصبی از تكنیك‌های مورد استفاده انسان در یادگیری از طریق استناد به مثالهایی از حل مسائل استفاده می‌كند (هایكین ،1994 ) . هر نورون ورودیهای متعددی را پذیراست كه با یكدیگر به طریقی جمع می شوند . اگر در یك لحظه تعداد ورودی های فعال نرون به حد كفایت برسد نرون نیز فعال شده و آتش می كند . در غیر این‌صورت نورون به صورت غیر فعال و آرام باقی می ماند .فعالیت هر نورون از مجموعه ای از یك یا چند ورودی ، عملیات و وظیفه خروجی برای محاسبه خروجیهایش تشكیل شده است . عملكرد اساسی این مدل مبتنی بر جمع كردن ورودیها و به دنبال آن به وجود آمدن یك خروجی است . ورودیهای نورون از طریق دندریت ها كه به خروجی نورون های دیگر از طریق سیناپس متصل شده اند وارد می شوند . بدنه سلولی كلیه این ورودیها را دریافت می كند و چنانچه جمع این مقادیراز مقداری كه به آن آستانه گفته می شود بیشتر شود در اصطلاح بر انگیخته شده یا آتش می كند و درغیر این صورت خروجی نورون روشن یا خاموش خواهد شد. مدل پایه ای نورون به صورت شكل 1 تعریف می گردد .

    امروزه شبكه های عصبی در كاربردهای مختلفی از قبیل طبقه بندی داده ها و تشخیص الگو از طریق فرایند یادگیری كه خود شامل مسائلی مانند تشخیص خط و شناسایی گفتار وپردازش تصویر است به كار می روند .به مثابه سیستم های بیولوژیكی ، آموزش شامل تنظیم پیوندهای بین سیناپس‌ها كه درهر نورون وجود دارند است. به عبارت دیگر‌، اطلاعات آموخته شده به شكل ارزشهای عددی به‌نام «وزن» كه به هر واحد پردازش شبكه اختصاص داده می‌شود ، ذخیره می شوند .به طور كلی ، شبكه های عصبی می توانند بین :
    روشهای اتصال نورون ها، انواع روشهای ویژه محاسبه عملیات نورون ها، روش انتقال الگوی عملیات از خلال شبكه و روشهای یادگیری آنها كه شامل نرخ یادگیری است، تمایز قائل شوند . با در نظر گرفتن ارتباطات بین نورون ها ، می توان بین شبكه های لایه دار و بدون لایه تمایز قایل شد . شبكه های لایه دار گروهی ازنورون ها هستند كه در لایه هایی مجتمع گردیده اند كه بین لایه ورودی و خروجی - كه تنها پیوند خارجی دارند - یك یا چند لایه پنهان وجود دارد . داده های ورودی از لایه ورودی به وسیله لایه های پنهان (لایه میانی ) به لایه خروجی منتقل می‌شوند . سیگنالها ی جاری در شبكه های لایه دار به سمت جلو حركت می كنند كه در اصطلاح فنی به آنها پیش خور گفته می شود در حالی كه شبكه های بدون لایه دارای گره های اضافی بازخور هستند كه از تقسیمات درست لایه ها جلوگیری می كنند .
    ساختار پیوندها و تماسها و تعداد لایه‌ها و نورون ها تعیین كننده معماری شبكه است كه بایستی قبل از استفاده از شبكه‌های عصبی تنظیم شود . همان طور كه در شكل 2 نمایش داده شده است ، اگرچه در موارد مشخصی می توان با موفقیت از شبكه های عصبی تك لایه استفاده كرد اما رسم بر این است كه شبكه های عصبی حداقل دارای 3 لایه باشند ( لایه ورودی ،لایه پنهان یا لایه میانی و لایه خروجی ) .
    قبل از آنكه شبكه آموزش داده شود‌، اوزان اختصاصی كوچك و به صورت تصادفی ارزش گذاری می شوند . در خلال روند آموزش ، اوزان شبكه به شكل تدریجی تعدیل می شود تا جایی كه محرز شود كه كاملاً روابط فرا گرفته شده است . این شكل از یادگیری ، یادگیری با سرپرست نامیده می شود . وقتی یك الگو در لایه ورودی به‌كار گرفته می شود تا آن جا جلو می رود كه ستانده نهایی در لایه خروجی محاسبه شود . ستانده شبكه با نتایج مطلوب مورد انتظار مدل مقایسه و خطاهای موجود محاسبه می‌شود .این خطاها مجدداً به عنوان بازخورد به شبكه بازمی گردد تا تغییرات لازم در اوزان پیوندها برای كاهش خطا صورت گیرد .مجموعه ای از مثالهای آموزشی داده _ ستانده مكرراً ارائه می شود. تا جایی كه مجموع امتیازات خطا به سطح قابل قبولی كاهش یابد . در این جایگاه م‌ توان آن شبكه را به عنوان شبكه ای آموزش دیده در نظر گرفت . اما در روش دیگری كه یادگیری بدون سرپرست نامیده می شود‌، شبكه عصبی باید بدون كمك گرفتن از جهان ، بتوانند كار آموزش را انجام دهد . واقعیت آن است كه در عمل ازروش یادگیری باسرپرست و یا حداكثر از روشهای تركیبی استفاده می شود و فرایند آموزش بدون سرپرست به شكل خالص تنها وعده‌ای است كه شاید بتواند در آینده تحقق یابد . در حال حاضر و در كاربردهای پیشرفته ، از روش آموزش بدون سرپرست برای ایجاد تنظیمات اولیه برروی سیگنال های ورودی شبكه های عصبی استفاده می شود و باقی مراحل آموزش به روش با سرپرست ادامه می یابد .

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

    فناوری الگوریتم ژنتیك
    الگوریتم های ژنتیك روش قدرتمندی را برای توسعه اكتشافی مسائل بهینه سازی تركیبی مقیاس بزرگ فراهم آورده است . انگیزه اصلی مطرح كردن الگوریتم ژنتیك می تواند این گونه عنوان شودكه «تكامل تدریجی» به شكل قابل ملاحظه ای در توسعه انواع وگونه های پیچیده از طریق مكانیزم های نسبتاً ساده تكمیلی نمود یافته است . حال سوال اساسی این است : پذیرش كدام ایده از تئوری تكامل تدریجی می تواند به ما در حل مسائل این قلمرو كمك كند ؟ این سوال با توجه به غنای پدیده تكامل تدریجی جوابهای متفاوتی دارد. هالند و دی جانگ (1975) از نخستین كسانی هستندكه با معرفی مفهوم الگوریتم ژنتیك به عنوان یك تكنیك جستجوی عمومی - كه از تكامل تدریجی بیولوژیك در قالب بقای افراد اصلح و مبادله ساختارمند و تصادفی اطلاعات الگوبرداری می كند- درصدد پاسخگویی به این سوال برآمدند .
    یك الگوریتم ژنتیك مسئله را به صورت مجموعه ای از رشته ها كه شامل ذرات ریزهستند كد گذاری می كند ، سپس برای تحریك فرایند تكامل تدریجی ،تغییراتی را بر روی رشته ها ا عمال می‌دارد. در مقایسه با الگوریتم های جستجوی محلی ، در جستجوی عمومی كه تنها یك راه حل قابل قبول وجود دارد ، الگوریتم های ژنتیك جامعه ای از افراد را در نظر می‌گیرند . كـــار با مجموعه ای از افراد، امكان مطالعه ساختارها و ویژگیهای اصلی افراد متفاوت را كه منجر به شناسایی و كشف راه حلهای كارآمد تر می شود، فراهم می‌سازد . در طی مطالعه ، الگوریتم ژنتیك رشته های متناسب با ارزش را برمی گزیند و آن دسته از رشته‌هایی را كه تنــاسب كمتری با جمعیت مورد بررسی دارند حذف می‌كنند .

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

    بازاریابی
    «انجمن بازاریابی آمریكا» از دیدگاه مدیریتی، بازاریابی را بدین گونه تعریف می كند : بازاریابی یك فرایند اجتماعی و مدیریتی است كه به‌وسیله آن، افراد و گروهها ، نیازها و خواسته ها ی خود را از طریق تولید ، عرضه و مبادله كالاهای مفید و با ارزش با دیگران ، تأمین می كنند . به طور كلی ، بازاریابی دانشی ناشناخته است كه با ویژگیهایی از قبیل عدم اطمینان بالا ، ساختار گمشده علّـی ودانشی ناكامل و گسترده قابل شناسایی است .بسیاری از وظایف تصمیم گیری و حل مسـئله به صورت بدون ساختار یا نیمه ساختار یافته انجام می شود . به همین دلایل توسعه كاربرد شبكه های عصبی و الگوریتم های ژنتیك در بازاریابی نسبت به سایر حوزه های علم دشوارتر است .
    در سال 1991 ، كاری و ماتین هو به بحث در رابطه با نقش هوش مصنوعی در بازاریابی پرداختند و جایگاه یابی رقابتی را به‌وسیله متدلوژی هدف گرا مورد تجزیه و تحلیل قرار دادند . الیس و همكارانش در سال 1991 گزارشی از پیشرفتهای كاربرد مدل های شبكه عصبی در مواجهه با استراتژی قیمت گذاری كششی ارائه كردند در حالی‌كه پراكتر در سال 1992 چگونگی كاربرد تكنولوژی شبكه های عصبی در یادگیری مدل های داده بازاریابی و نقش آنها را در ساختن سیستم های پشتیبانی از تصمیمات بازاریابی به نمایش گذاشت . در سال 1993 كاری و ماتین هو از تكنولوژی شبكه های عصبی در مدل سازی واكنش مصرف كننده به محرك تبلیغات استفاده كردند . رای و همكارانش در سال 1994 شبكه های عصبی را در كمّی سازی فاكتورهای موثر در كیفیت روابط خریدارو فروشنده مورد استفاده قرار دادند . برای این منظور شبكه ای با دو عنصر خروجی كیفیت روابط (رضایت از روابط و اعتماد ) و پنج ورودی ( گرایش فروش فروشنده ، مشتری گرایی ، تخصص، اخلاقیات ، و دوام روابط ) شكل گرفت . در مقایسه با رگرسیون های چند متغیره، تكنیك شبكه های عصبی به نتایج آماری قابل قبول تری دست یافت .
    از سوی دیگر ، هارلی و همكاران (1994) استفاده از الگوریتم های ژنتیك را در حل مسائل بهینه سازی بازاریابی مورد آزمایش قرار دادند . بر اساس مطالعه آنها ، كاربردهای بالقوه الگوریتم های ژنتیك در بازاریابی می تواند شامل موارد زیر باشد :
    1) رفتار مصرف كننده
    _ یادگیری مدل های انتخاب مصرف كننده
    _ پردازش اطلاعات مصرف كننده
    _ تاثیر گروههای مرجع

    2) بخش بندی،انتخاب بازار هدف، جایگاه یابی
    _ بهینه سازی ساختارهای محصول – بازار
    _ تجزیه و تحلیل فاكتورهای كلیدی خرید
    _ جایگاه یابی محصول

    3) مدیریت عناصر آمیخته بازاریابی
    _ بهینه سازی چرخه حیات محصول
    _ طراحی محصول
    _ استراتژی تبلیغات و برنامه ریزی رسانه‌ای
    _ مدیریت فروش
    گرین و اسمیت (1987) یك سیستم ژنتیك را برای یادگیری مدل های انتخاب مصرف كننده مطرح ساختند و تنگ و هولاك (1992 ) چارچوبی مفهومی را در پیوند مفاهیم بازاریابی با مكانیزم تكامل تدریجی داروین ارائه كردند . در سال 1992 بالاك ریشمن و جاكوب یك الگوریتم ژنتیك مبتنی بر سیستم پشتیبانی از تصمیم گیری برای طراحی محصول ارائه كردند . از سوی دیگرو در حركتی نوین وناگوپال و بیتز (1994) ازاشتراك شبكه های عصبی و تكنیكهای آماری در تحقیقات بازاریابی استفاده كردند. درنهایت ، می توان گزارشی از پیشرفتهای موجود در این زمینه رابه شكل زیر ارائه كرد :
    _ STRATEX _ یك سیستم دانشی با هدف پشتیبانی از انتخاب بخشهای بازار (بورچ و هارتویگسن ، 1991)
    _ ADDUCE _ سیستمی در توجیه واكنش مصرف كننده به تبلیغات (بارك ، 1991)
    _ COMSTRAT _ سیستمی برای تصمیمات استراتژیك بازاریابی با تاكید ویژه بر جایگـاه یابی رقابتی ( ماتین هو و همكاران 1993‌)
    _ MARSTRA _ سیستم هوش شبكه ای برای توسعه استراتژی های بازاریابی و ارزیابی فاكتورهای بازاریابی استراتژیك (‌لی، 2000)
    _ GLOSTRA _ سیستم هوش شبكه ای برای توسعه و بهبود استراتژی های بازاریابی جهانی و بازاریابی اینترنتی ( لی و دیویس‌، 2001 )



    بانكداری و حوزه های مالی
    از كاربردهای مهم و مطرح شبكه های عصبی و الگوریتم های ژنتیك در بانكداری و حوزه مسائل مالی می توان به این موارد اشاره كرد : كاربردهای اعتباری ، تجزیه و تحلیل های مالی ، سرمایه گذاری مالی ، و تجزیه و تحلیل بازار مبادله سهام . محققان بسیاری به بررسی كاربردهای شبكه های عصبی و الگوریتم های ژنتیك در بانكداری و مالی پرداخته اند . ازآن جمله ، در سال 1993 ، تفتی و نیكبخت به بحث در ارتباط با استفاده از شبكه های عصبی توسط سازمانها وشركتهای مالی در جهت اهداف متفاوت امتیازبندی اعتباری پرداختند .تان و دی هاردجو (2001) از طریق افزایش زمان و دوره پیش بینی مدل به توسعه یك تحقیق ابتدایی در استفاده از شبكه های عصبی برای پیش بینی استرس های مالی در اتحادیه های اعتباری استرالیا پرداختند . دستاورد حاصل شده در مقایسه با نتایج به دست آمده از متوسط انحراف از میانگین، نتایج قابل قبولی بود . همچنین دیویس و همكاران نیز در 1996 به بررسی نگرشهای سیستم‌های خودپرداز براساس تجزیه و تحلیل شبكه‌های عصبی پرداختند .
    ازسوی دیگر، شناسایی كاربردهای متنوع الگوریتم های ژنتیك از سوی افراد مختلف به صورت زیر ارائه شده است : انتخاب استراتژی های بازار انحصاری چند جانبه ( ماركز ، 1989 ) ، توسعه استراتژی‌های سرمایه گذاری مالی (باور‌‌، 1994 ) ،جستجو برای یافتن قوانین تكنیكی برای اعمال آنها در بازارسرمایه ( كارجالایننن‌، 1994 ) ، تجزیه و تحلیل ریسك در بانكداری ( وارتو ،1998 ) . علاوه بر این، در سال 1999 كارجالایننن و آلن از الگوریتم‌های ژنتیك در پیدا كردن قوانین تكنیكی تجاری استفاده كردند. در همین زمان نیز آندرا و همكارانش (1999) از الگوریتم های ژنتیك در تجــزیه و تحلیل فنی در بازار سهام مادرید استفاده كردند .
    از دیگر سیستمهای مالی مبتنی بر شبكه‌های عصبی و الگوریتم های ژنتیك می توان به موارد زیر اشاره كرد :
    _ KABAL _ سیستم دانشی برای تجزیه و تحلیل مالی در بانكداری (هارت ویگسن ، 1990 )
    _ CREDEX _ سیستمی برای ارزیابی اعتبارات ( پینسون ، 1990 )
    _ FINEVA _ سیستم دانشی چند معیاری پشتیبانی از تصمیم گیری برای ارزیابی عملكرد و قابلیت حیات شركت ( زوپونی دیس ، 1996 )

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

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

    مزایای استفاده از این فناوریهای هوش مصنوعی
    با بررسی اجماعی نظریات و تحقیقات موجود می توان مزایای استفاده از فناوریهای هوش مصنوعی و الگوریتم های ژنتیك را در قالب گزاره های زیر خلاصه كرد :
    _ ارائه خدمات بهتر به مشتری
    _ تقلیل زمان انجام وتكمیل وظایف
    _ افزایش تولید
    _ استفاده اثربخش تر از منابع
    _ سازگاری و ثبات بیشتر در تصمیم گیری

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

    منابع

    -1 جكسون . تی و بیل . آر . آشنایی با شبكه‌های عصبی ، ترجمه دكتر محمود البرزی – تهران : موسسة انتشارات علمی دانشگاه صنعتی شریف ، چاپ دوم ، 1383
    -2 كاتلر ، فیلیپ . مدیریت بازاریابی ، ترجمه بهمن فروزنده – تهران : آتروپات ،1382
    -3 قمی ، علیرضا " شبكه های عصبی مصنوعی "‌، نشریه دنیای كامپیوتر و ارتباطات – شماره 12 ، صفحات 66 تا 69
    -4 سعیدی ، مسعود " شبكه های عصبی (2) " ، نشریه شبكه _ شماره 52 ، اسفند 1383 ، صفحه 210 تا 211
    -5 ممانی ، حامد ، نرگس پور اصغری حقی و ساعد علی ضمیر ، " شبكه های عصبی و كاربرد آن در بهینه سازی " ، نشریه صنایع _ شماره 30
    -6 نورزاد ، غلامرضا " بیولوژی سلولی مولکولی " ،انتشارات نوردانش ، تهران ، 1376 ، چاپ اول

    7- Metaxiotis , Kostas & John Psarras (2004) "The Contribution of Neural networks and genetic algoritms to business decision support "Management decision , vol 42 ,no .2, Emerald group publishing limited , pp. 229.242

    8- Curry , B & L. Moutinho (1993) "Neural Network in marketing : Modelling consumer Responses to Advertising Stimuli "European Journal of marketing , vol 27 , no . 7 , MCB university press , pp 5. 20

    9- Wray , B , A. palmer & D. Bejou (1994) " Using Neural Network Analysis to evaluate Buyer – Seller Relationships " European Journal of Marketing , vol 28 , no. 10 , MCB university press , pp 32.48

    10- Venugopal .V & W. Beats ( 1994 ) " Neural networks and Statistical Techniques in marketing research " Marketing intelligence & planning , vol 12 , no. 7 , MCB university press , pp 30 . 38

    11- Davies , F , L . Moutinho & B . Curry (‌‌1996 ) " ATM user attitudes : a neural network analysis " , marketing intelligence & planning , vol 14 , no . 2 , MCB university press , pp 26 . 32

    _ دكتر حمیدرضا جعفریه: دكترای حرفه ای از دانشگاه علوم پزشكی یزد
    _ _ نگار معتمدی: دانشجوی كارشناسی ارشد بازاریابی دانشگاه آزاد اسلامی واحد علوم و تحقیقات تهران
    _ _ _ الهه ملایی: دانشجوی كارشناسی ارشد بازاریابی دانشگاه آزاد اسلامی واحد علوم و تحقیقات تهران
    + نوشته شده در  چهارشنبه هفدهم بهمن 1386ساعت 10:57  توسط موسی رجبی  | 

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

    هوش مصنوعی (Artificial Intelligence) كه به اختصار AIخوانده می شود ، یكی از جذاب ترین شاخه های تحقیقاتی فلسفی است.

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

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

    در هوش مصنوعی برای شروع كار ، تعریفی عملی از هوش ارائه می شود. معمولا فلاسفه به تعاریف مفهومی بیشتر رغبت دارند و دوست دارند مفهوم هوش و عقل و غیره را روشن كنند. اما بنا به دلایلی ، متخصصان هوش مصنوعی تعریف عملی را برگزیده اند.

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

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

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

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

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

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

    این ناآگاهی تا حدی به ناخودآگاهانه بودن این حركتها برمی گردد و البته در برخی موارد هم بازیكنان از روی عمد منطق خود را آشكار نمی كنند.هربرت دریفوس یكی از مخالفان هوش مصنوعی با توجه به نكته فوق ادعا كرده است كه هیچ برنامه ای برای رسیدن به سطح یك بازیگر خوب شطرنج وجود ندارد. اما ظهور برنامه های پیشرفته شطرنج از سال ۱۹۸۵ به بعد خطای ادعای دریفوس را روشن ساخت.

    روزنامه ابرار

    منبع : آفتاب

    + نوشته شده در  چهارشنبه هفدهم بهمن 1386ساعت 10:54  توسط موسی رجبی  | 

    معرفي الگوريتم هاي ژنتيكي

    معرفي الگوريتم ژنتيكي

    در آغاز الگوريتم، تعدادی از افراد1 - جمعيت اوليه2- به صورت تصادفی ساخته شده و تابع هدف برای تک‏تک آنها ارزيابي مي‌شود. اگر شرط رسيدن به جواب برقرار نباشد( به جواب بهينه نرسيده ‌باشيم )، نسل بعدي با انتخاب والدين براساس ميزان تناسبشان توليد مي‌شوند و فرزندان با احتمالي ثابت دچار جهش مي‌شوند. سپس ميزان تناسب فرزندان جديد محاسبه شده و جمعيت جديد، از جايگزيني فرزندان با والدين ايجاد مي‌شود و اين فرآيند تا برقرار شدن شرط خاتمه تكرار مي‌شود.

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

    همانطور كه گفته شد الگوريتم‌‌ژنتيكي از تعدادي عملگر استفاده مي‌كند که هر يك داراي انواع مختلفي بوده و با روشهاي متفاوتي قابل پياده‌سازي مي‌باشد. برخي از اين عملگرها عبارتند لز:

    الف) انتخاب3 : در انتخاب افرادی که نسل جديد را توليد خواهند كرد(والدها) تعيين می‏شوند. اولين قدم در اين راه تعيين شايستگي تك‌تك افراد جمعيت، مي‌باشد كه دو روش براي آن وجود دارد : - تعيين شايستگي متناسب با تابع هدف، تعيين مقدار شايستگي متناسب با رتبة فرد در جمعيت.

    در روش رتبه بندي ميزان شايستگي نسبت داده شده به هرفرد تنها به موقعيت او در رتبه‌بندي بستگي دارد و نه مقدار واقعي تابع هدف. اين روش، بسياري از مشكلات موجود در روش شايستگي نسبي را رفع كرده و فشار انتخاب را بسادگي قابل كنترل مي‌سازد. گام بعدي انتخاب افراد بر اساس شايستگي بدست آمده خواهد بود.

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

    ب) بازتركيبي : عملگر بازترکيبي، افراد جديدی ( فرزندان) را با استفاده از اطلاعات موجود در والدين توليد می‏کند. بسته به نحوه نمايش ژنها، الگوريتمهايي براي بازتركيبي مقادير صحيح و گسسته وجود دارند. به عمل بازتركيبي در حالت گسسته، كه ژنها به‌صورت زنجيره‌اي از آلل‌ها5 هستند، Crossover گفته مي‏شود.

    -crossover تک نقطه‏ای6 :در crossover تک‏نقطه‏اي، يک نقطه k از ميان [1,2,..,Nvar-1] به طور تصادفی و يکنواخت انتخاب می‏شود.(Nvar تعداد متغييرها در هر ژن است ) عمل تركيب با تعويض متغييرها در دوطرف اين نقطه ميان دو والد صورت مي‌پذيرد.( شكل 1- بالا )

    -crossover چند نقطه‏ای7 :در اين روش، m نقطه از ميان [1,2,..,Nvar-1] به‌طور تصادفي، بدون تکرار و به صورت صعودی انتخاب می‏شوند. سپس متغييرهای ميان هر دو نقطه متوالی، يكي‌درميان جابجا مي‌شوند. اولين بخش جابجا نخواهد شد. ( شكل 1- پايين )


    شكل 1- corossorver تك نقطه‌اي(بالا) و چند نقطه‌اي(پايين)

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

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

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

    1 Individuals

    2 Initial Population

    3 Selection

    4 Roulette-wheel Selection

    5 اجزاء يك ژن كه مي‌تواند يك عدد دودويي يا طبيعي باشد.

    6 Single-Point Crossover

    7 Multipoint Crossover

    8 Mutation

    9 Reinsertion

    + نوشته شده در  چهارشنبه هفدهم بهمن 1386ساعت 10:51  توسط موسی رجبی  | 

       شبكههای عصبی مصنوعی(ANN: Artificial Neural Networks) درواقع از ساختار درهم و تودهای مغز پستانداران الهام گرفته شده است، كه در آن ميليونها سلول عصبی (نورون) از طريق ارتباطاتی كه با يكديگر دارند (سيناپسها)، به حل مسائل يا ذخيرهسازی اطلاعات میپردازند. اين شبكهها مجموعهای از مدلهای متفاوتند كه توسط رياضيدانان و مهندسين برای شبيهسازی بخشی از عملكرد مغز پيشنهاد شدهاند. ساختار اصلی شبكههای عصبی مصنوعی بر اساس دو جزء اصلی گرهها (نورونها) و ارتباطات وزندار(سيناپسها) میباشد(شكل 1).

        يادگيری در سيستمهای طبيعی به صورت تطبيقی اتفاق میافتد. بدين معنی كه در اثر يادگيري، در سيناپسها تغييراتی رخ میدهد. عين همين مسئله نيز در مورد شبكههای عصبی مصنوعی نيز صادق است. در اين شبكهها يادگيری از طريق مثال انجام میشود(Learning By Example). بدين معنی كه اغلب(و نه همواره) مجموعهای از ورودی و خروجیهای درست به شبكه عصبی داده میشود و شبكه عصبی با استفاده ازين مثالها، وزن(Weight) ارتباطات خود را به گونهای تغيير میدهد كه در صورت دادن ورودیهای جديد پاسخهای درستی را توليد كند. در واقع دانش شبكه عصبی در وزن ارتباطات آن ذخيره میشود.

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

       امروزه شبكههای عصبی در كاربردهای مختلفی نظير مسائل تشخيص الگو(Pattern Recognition) كه خود شامل مسائلی مانند تشخيص خط(Character Recognition)، شناسايی گفتار(Speech Recognition)، پردازش تصوير(Image Processing) و مسائلی ازاين دست میشود و نيز مسائل دستهبندي(Classification) مانند دستهبندی(Classification Problems) متون و يا تصاوير، به كار میروند. در كنترل يا مدلسازی سيستمهايی كه ساختار داخلی ناشناخته يا بسيار پيچيدهای دارند نيز به صورت روز افزون از شبكههای عصبی مصنوعی استفاده میشود. به عنوان مثال میتوان در كنترل ورودی يك موتور از يك ANN استفاده نمود كه در اين صورت شبكه عصبی خود تابع كنترل را ياد خواهد گرفت.

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

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

       در حال حاضر تعداد بسيار زيادی از انواع مختلف شبكههای عصبی مصنوعی وجود دارند كه به صورت خلاصه عبارتند از: شبكههای پرسپترون چند لايه (Multi Layer Perceptron)، كوهونن، هاپفيلد... كه اين شبكهها نيز خود با روشهای مختلفی آموزش میبينند مانند روش پسخورد خطا (Error Back propagation).

       میتوان شبكههای عصبی را بر اساس شيوه پردازش اطلاعات در آنها، به دو گروه شبكههای Feed Forward و نيز شبكههای Recurrent (كه در آنها از فيدبك خروجی استفاده شده است) تقسيم كرد.

       نوع يادگيری در اين شبكههای نيز میتواند يك معيار برای دستهبندی آنها باشد. يادگيری در برخی ازين شبكهها با نظارت(Supervised) میباشد و در برخی ديگر به صورت متكی به خود(Self Organizing). در ادامه به شرح هر يك ازين مفاهيم خواهيم پرداخت.

    ايده اصلی شبكههای عصبی

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

       اما به سازوكار همين عمل در ذهن انسان دقت كنيد. با ديدن يك تصوير ناقص اغلب بلافاصله كامل آنرا به خاطر میآوريد يا با ديدن تصوير يك شخص سريعا نام او را میگوييد، يا با خواندن يك متن سريعا تمامی مطالب مربوط به آن را به ذهن میآوريد. در واقع ذهن انسان يك نوع حافظه آدرسدهی شده بر اساس محتواست (Content Addressable Memory). همانگونه كه از اين نام مشخص است در اين نوع حافظه، با دادن محتوای يك خانه حافظه، بلافاصله آدرس آن به عنوان خروجی داده میشود.

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

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

    حال ببينيم كه ايده اصلی عملكرد اين شبكهها چگونه است؟

       هاپفيلد (HopField) در 1982 طرح اصلی حافظهای را ارائه كرد كه دارای خصوصيات فوقالذكر باشد. اين حافظه يا شبكه عصبی دارای دو عنصر گره و يال میباشد. هر گره دارای دو وضعيت فعال و غيرفعال است(صفر يا يك) و هر يال نيز دارای يك وزن میباشد (شكل 2). يالهای با وزن مثبت بين دو گره تا گره فعال ديگری را تحريك میكنند و يالهای با وزن منفی بين دو گره، گره فعال ديگری را غير فعال میسازند.

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

       نكته در اينجا است كه اين شبكه بيش از چهار حالت پايدار ندارد (شكل 3). يعنی از هر حالت ابتدايی كه شروع كنيم نهايتا شبكه به يكی از اين چهار حالت ميل خواهد كرد. تز اصلی هاپفيلد نيز در واقع همين بود كه از هر حالت ابتدايی و با هر وزنی از يالها كه شروع كنيم، شبكه در نهايت به حالت پايدار خواهد رسيد.

    -شکل شماره 2

     

    - شکل شماره 3

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

       شكل 4 نشان میدهد كه اين شبكه در صورتی كه از الگوی ناقص سمت چپ شروع به كار كند در نهايت به الگوی كامل سمت راست خواهد رسيد(به خاطر داريد كه هدف ما يافتن روشی بود كه ما را از شكل پر اغتشاش حرف "A" به خود آن حرف برساند).

                                                              

    -شکل شماره 4

    منبع:  عليرضا قمي
    ghomi@ccwmagazine.com


    + نوشته شده در  چهارشنبه هفدهم بهمن 1386ساعت 10:50  توسط موسی رجبی  | 

    تكنولوژي هوشمند


    دو سناريوي رفتار جمعي

    يكي از انواع هوشمندي، هوشمندي توده‌ايست كه جديداً مورد توجه قرار گرفته است. بايد در همين آغاز كار تفاوت هوشمندي توده‌اي را با هوشمندي اجتماعي روشن كنيم. سعي خواهيم‌كرد تا اين قضيه را با دو مثال روشن‌كنيم.

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

    اين‌است كه تمام كارگران جامعه كوچك مورد نظر ما (جامعه كوچكي كه در حال ساخت يك خانه هستند) حداقلي از هوشمندي را دارا هستند. نكته‌اي ديگر كه بسيار با اهميت است مسئله تفاوت افراد اين جامعه نمونه است. اين تفاوت هم به لحاظ هوشمندي به‌كار گرفته شده و هم به لحاظ وظايف است. مثلاً هوشمندي مورد نياز براي وظيفه معماري تفاوت دارد با وظيفه سركارگري و يا بنايي و يا كارگري. در واقع جامعه كوچك ما به شدت يك جامعه سلسله مراتبي و هرم گونه است.

    مثال دوم فرايند ساخت لانه(خانه؟!) توسط موريانه‌‌هاست كه مورد توجه دانشمندي فرانسوي به نام گرس قرارگرفت.

    موريانه‌ها براي ساخت لانه سه فعاليت مشخص از خود بروز مي‌دهند:

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

    پس ازاين ، همين تپه‌هاي مينياتوري باعث مي‌شوند تا موريانه‌ها رفتار ديگري از خود بروز دهند. در واقع اين تپه‌ها به صورت نوعي نشانه براي موريانه ها عمل مي‌كنند. هر موريانه به محض رسيدن به اين تپه‌ها با انرژي بسيار بالايي شروع به توليد گلوله‌هاي خاكي با بزاق مي‌كند. اين‌كار باعث تبديل شدن تپه‌هاي مينياتوري به نوعي ستون مي‌شود.

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

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

    هوشمندي توده‌اي(Swarm Intelligence)

    يك توده(Swarm) عبارت است از مجموعه‌اي از عامل‌ها(موجودات) كه با يكديگر يا به صورت مستقيم (كلمات، سيگنال‌ها، علائم...) يا به صورت غير مستقيم (از طريق تاثيرگذاري در محيط ) در تماس‌اند و همگي يك مسئله را به صورت گسترده حل مي‌كنند.

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

    بهينه‌سازي مسائل رياضي به روش مورچه‌ها(ACO)

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

    يكي از جالب‌ترين سيستم‌هاي مورد مطالعه تا كنون، كه كاربردهايي هم در مهندسي يافته‌است كولوني مورچه‌هاست. در واقع مورچه‌ها قادر به يافتن كوتاه‌ترين مسير از لانه به منبع غذا هستند. كساني كه با علوم مهندسي(مشخصاً رباتيك) يا رياضي به صورت اعم سرو كار دارند به خوبي با اين صورت مسئله آشنا هستند و مي‌دانند كه يافتن كوتاه‌ترين مسير يك مسئله بهينه‌سازيست (Optimization) كه گاه حل آن بسيار دشوار است و گاه نيز بسيار زمان‌بر. بنابراين اين سؤال براي دانشمندان مطرح شد كه مورچه‌ها چگونه اين مسئله را حل‌كرده‌اند؟

    در واقع راه‌حل مورچه‌ها كه يك راه‌حل توده‌اي‌است بسيار ساده است. مورچه‌ها هنگام راه رفتن از خود ردي از فرمون (pheromone) به جا مي‌گذارند. البته اين فرمون به زودي تبخير مي‌شود اما در كوتاه‌مدت به عنوان رد مورچه بر سطح زمين باقي مي‌ماند. يك رفتار بسيار ساده پايه‌اي در مورچه‌ها وجود دارد: آنها هنگام انتخاب بين دو مسير به صورت احتمالاتي(Statistical) مسيري را انتخاب مي‌كنند كه فرمون بيشتري داشته باشد يا به عبارت ديگر مورچه‌هاي بيشتري قبلا از آن عبور كرده‌باشند. حال دقت كنيد كه همين يك تمهيد ساده چگونه منجر به پيدا كردن كوتاه‌ترين مسير خواهد شد:

    فرض كنيد در مسير شكل 1 يك مانع قرارگرفته و مورچه‌هاي ديگر به سادگي قادر به دستيابي به منبع غذا نباشند. همانگونه كه مشخص است اينك دو راه براي دستيابي به غذا وجود دارد راه بالا كه كوتاه‌تر و راه پايين كه طولاني‌تر است.حال مورچه‌ها بر اساس همان رفتار پايه‌اي كه گفتيم به تصادف يكي از دو راه بالا يا پايين را انتخاب مي‌كنند. فرض كنيد نيمي از راه بالايي و نيمي از راه پايين حركت كنند و البته در دو جهت يعني هم به سمت منبع غذا و هم به سمت لانه.

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

    بايد توجه كرد كه هرچند احتمال انتخاب مسير پر فرمون‌تر توسط مورچه‌ها بيشتر است اما اين كماكان احتمال است و قطعيت نيست. به عبارتي اگر مسير A پرفرمون‌تر از مسير B باشد به‌هيچ‌وجه نمي‌توان نتيجه‌گرفت كه همه مورچه‌ها از مسير A حركت خواهندكرد بلكه تنها مي‌توان گفت كه مثلاً به احتمال 90% هر مورچه مسير A را انتخاب خواهد كرد.

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

    نكته ديگري كه بايد در نظر داشت مسئله تبخير و از بين رفتن فرمون يا رد مورچه‌هاست(Evaporation). فرض كنيد كه مانع موجود در شكل برداشته شود. اگر فرمون‌ها تبخير نشوند ، مورچه‌ها اساساً همان مسير پر فرمون قبلي را دنبال مي‌كنند و به حالت اوليه(شكل 1) كه كوتاه‌ترين مسير بود باز نمي‌گردند. ولي با در نظر گرفتن مسئله تبخير فرمون، بعد از برداشتن مانع، پس از چندي مورچه‌ها بازهم كوتاه‌ترين مسير را پيدا خواهندكرد.

    (Ant Colony Optimization)ACO و (Traveling Sales Man)TSP: استفاده از بهينه‌سازي كولوني مورچه‌ها در مسئله فروشنده دوره‌گرد

    يكي از مسائل كلاسيك تئوري گراف در رياضيات مسئله فروشنده دوره‌گرد است كه البته كاربردهاي بسيار زيادي در علوم مهندسي دارد. صورت مسئله ازاين قرار است. يك فروشنده دوره گرد مي‌خواهد از شهر خودش شروع به حركت كرده و پس از گذر از N شهر به شهر خود بازگردد. منتها شرط اين‌است كه اولاً از هر شهر فقط يك بار عبور كند و دوماً كوتاه‌ترين مسير را در مجموع طي كند. در واقع مسئله يافتن كوتاه‌ترين مسيريست كه N گره يك گراف را به هم متصل مي‌كند.

    براي اين مسئله تاكنون راه حل‌هاي زيادي ارائه شده است كه اكنون مي‌توان گفت روش ACO در ليست بهترين اين راه حل‌ها مي‌باشد. براي استفاده از ACO در TSP مي‌توان متا الگوريتم زير را پيشنهاد داد:

    تعداد زيادي عامل هوشمند در نظر مي‌گيريم كه قرار است از N نود يك گراف(N شهر) عبور كنند. اين عامل‌هاي هوشمند شهر بعدي را به تناسب ميزان فرمون موجود در مسير انتخاب مي‌كنند(با در نظر گرفتن عامل تصادف). اين فرمون در كامپيوتر مثلاً مي‌تواند توسط يك عدد يا وزن به هر يال گراف(هر جاده) اختصاص يابد. مثلا مسير شهر A به شهر B داراي وزن 7/0 است، به اين معني كه ميزان فرمون موجود در مسير 7/0 است.







    بدين ترتيب براي يك مسئله پيچيده رياضي يك راه حل Meta Heuristic ساده يافته‌ايم كه در زمان نسبتاً معقولي نيز به جواب مي‌رسد.

    علاوه بر همه اينها ACO بر ساير روش‌ها يك مزيت مهم ديگر نيز دارد. بقيه روش‌ها فقط كوتاه‌ترين مسير را مي‌يابند و اگر يكي از جاده‌ها يا يال‌ها حذف‌شود مسئله بايد از ابتدا حل شود. اما در ACO بعد از حذف يك يال مي‌توان به سادگي مسيري را پيدا كرد كه نسبت به مسير قبلي فرمون كمتر و نسبت به مابقي مسيرها فرمون بيشتري دارد و به اين ترتيب نيازي به حل مجدد مسئله نيست.

    بهينه‌سازي شبكه‌هاي كامپيوتري با الهام از كولوني مورچه‌ها

    از جمله مسائل مهم ديگري كه ايده AS(Ant System)مي‌تواند در آنها مورد استفاده قرار گيرد مسئله مسيريابي در شبكه‌هاي كامپيوتري Routing است.

    يكي از خصلت‌هاي مهم كولوني مورچه‌ها هوشمندي توده‌اي‌است كه در ابتداي مقاله به آن اشاره كرديم، بدين معني كه كولوني مورچه‌ها نه بر اساس هوشمندي يك مغز مركزي بلكه بر اساس توده‌اي از عامل‌هاي هوشمند (در اينجا مورچه‌ها كه البته هوشمندي بسيار اندكي دارند)، و رابطه بين آنها، عمل مي‌كند. همين ويژگي سبب مي‌شود كه بتوان از اين ايده در بهينه‌سازي عمل مسيريابي Routing در شبكه‌هاي كامپيوتري سود جست.

    اطلاعات بر روي شبكه اينترنت به صورت بسته‌هاي اطلاعاتي كوچك (Packet) منتقل مي‌شود. هر يك از اين بسته‌ها در طي مسير از مبدا تا مقصد بايد از گره‌هاي زيادي كه همان مسيرياب‌ها (Router ) باشند عبور كند. در داخل هر مسيرياب جدولي قرار دارد كه بهترين مسير بعدي را تا مقصد مي‌توان از طريق آن شناسايي كرد. بنابراين بسته‌هاي اطلاعاتي حين گذر از مسيرياب‌هاي مابين راه با توجه به محتويات اين جداول عبور داده مي‌شوند.

    روشي به نام ACR(Ant Colony Routing) پيشنهاد شده كه بر اساس ايده كولوني مورچه‌ها به بهينه‌سازي اين جداول مسير يابي مي‌پردازد و در واقع به هر مسيري با توجه به بهينگي آن امتياز مي‌دهد. استفاده از ACR به اين منظور داراي اين برتري به ساير روش‌هاست كه بسيار با طبيعت ديناميك شبكه اينترنت سازگار است. زيرا به عنوان مثال ممكن است مسيري كه تا به حال خلوت بوده و كمترين تاخير را داشته ، اكنون به دلايلي شلوغ باشد و يا در مسيري، يك مسيرياب از كار افتاده باشد و ... كه همه اين‌ها به شبكه اينترنت خصلتي پويا همانند خصلت دنياي واقعي مسيريابي مورچه‌ها مي‌دهد. با توجه به آنچه در انتهاي بخش قبل گفته‌شد ، بعد از از كار افتادن هر مسير همواره بهترين راه حل بعدي توسط اين روش در دسترس است.

    افق آينده

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

    بنابراين مي‌توان تصوركرد كه در سال‌هاي آينده روش‌هاي زياد ديگري جهت بهينه‌سازي و نيز كنترل هوشمند با استفاده از سيستم‌هاي طبيعي پيشنهاد شوند . تا به حال به كرات به مزاياي اين نوع هوشمندي اشاره كرده‌ايم اما اكنون بار ديگر تاكيد مي‌كنيم كه اين نوع از هوشمندي علاوه بر تمامي مزاياي مهندسي، يك مزيت عمده و اصلي دارد: تمامي اين روش‌ها قابليت تعمق زيستي دارند(Biologicaly plusible) به اين معني كه طبيعت آنها را در طي ميليون‌ها سال به عنوان روش بهينه انتخاب كرده است. پس اين سؤال پيش مي‌آيد كه آيا ما مي‌توانيم روشي بهتر از روش‌هاي طبيعت ارائه دهيم؟

    منبغ: عليرضا
    قمي

     ghomi@ccwmagazine.com


    + نوشته شده در  چهارشنبه هفدهم بهمن 1386ساعت 10:49  توسط موسی رجبی  |