کاربرد هوش مصنوعی در زندگی انسان ها
آنچه در این مقاله میخوانید
کاربرد هوش مصنوعی در زندگی انسان ها
هوش مصنوعی پدیدهای جذاب و مهیج است که در آن از تواناییهای انسان در زمینههای یادگیری، سازگاری، درک خودآگاهی، احساس، تعامل و الگوبرداری میشود. امروزه انواع عاملهای هوشمند به دلیل دارا بودن جنبههای مختلف هوش مانند هوش منطقی، کالمی، اندامی، دیداری و ارتباطی در حوزههای مختلف شغلی از قبیل فرهنگی، اجتماعی، آموزشی، سرگرمی و بازیهای رایانهای به کار میروند. در این مقاله با ویژگیهای عوامل هوشمند، برخی الگوریتمهای هوش مصنوعی و کاربرد آنها، کاربرد پردازش تصویر در حوزههای صنعت، پزشکی، امنیت و کشاورزی و همچنین شبکه عصبی مصنوعی و مباحث نظریه فازی و هوش گروهی و کاربردهایش آشنا میشوید.
شایستگیهایی که در این مقاله کسب میکنید: – تحلیل تحویلت انواع هوش مصنوعی
– ایجاد تفکر الگوریتمی مبتنی بر هوش مصنوعی
هوش مصنوعی
در مهرومومهای اخیر تولیدکنندگان کاملها و محصولات سختافزاری و نرمافزاری، در نامگذاری برخی از محصولات خود از واژۀ هوشمند مانند: تلویزیون هوشمند، تلفن همراه هوشمند، لوازمخانگی هوشمند یا برنامه هوشمند حسابداری استفاده میکنند. آنها ادعا میکنند در ساخت این نوع محصولات از هوش مصنوعی استفادهشده است. برخی از لوازمخانگی هوشمند بهوسیله حسگرها اطلاعات محیط را میگیرند و بهطور خودکار اعمال مختلفی را انجام میدهند. ممکن است با برخی بازیهای رایانهای نسل جدید آشنا باشید، در این بازیها با رقیبان رایانهای که هوش مصنوعی دارند به رقابت پرداخته و مشاهده میکنیم چه عملکرد هوشمندانهای نسبت به بازیهای قدیمی دارند.
شاید این سؤال برای شما پیشآمده باشد که بهراستی هوش مصنوعی چیست؟
برای پاسخ به این سؤال، بهتر است ابتدا با تواناییهای منحصربهفرد و جنبههای هوش انسان بهعنوان باهوشترین موجود خلقت آشنا شد. طی دهههای گذشته بشر با توجه به خودشناسی و ماهیت کنجکاوی و کمالگرایی که داشت، در آرزوی خلق موجودی همسان و بهمراتب باهوشتر از خود بود. در این راستا قرار است در مسابقات بینالمللی روبوکاپ سال 2050 ،گروه فوتبال رباتهای انساننما با قهرمان جام جهانی فوتبال به رقابت بپردازند.
برخی افراد فکر میکنند هوشمندی در یادگیری سریع و حل مسائل ریاضی است؛ اما هوش مفهوم گستردهای دارد و به تمام ابعاد مختلف زندگی انسانها مربوط میشود. هنگامیکه از هوش یک نفر سخن گفته میشود درواقع به رفتار، کردار و تواناییهای او در موارد گوناگون توجه میشود.به عبارتی ساده میتوان گفت هوش انسانی ترکیبی از تواناییهای اوست. از مهمترین این تواناییها میتوان به توانایی یادگیری Learning و سازگاری Adaptation انسان اشاره کرد.
بشر درگذشته باهوش منطقی و ریاضی توانست به محاسبه بپردازد. این هوش به توانایی ذهنی او در تفکر منطقی و حل مسئله برمیگردد. در ادامه سعی کرد ماشینی بسازد که با سرعتی بیشتر و دقتی بالاتر بهجای او، ً نام این ماشین را میدانید. بله درست حدس زدهاید: »رایانه«. محاسبات ریاضی و حل مسئله را انجام دهد. حتماً اما بشر به همین مورد اکتفا نکرد، بلکه سعی در تکمیل این ماشین داشت تا آن را هوشمند سازد. به همین منظور جنبههای دیگری از هوش خود را شناسایی کرد تا بتواند آن را شبیهسازی کند. او بهتدریج توانست دستگاههای هوشمند را ارتقا ببخشد و از دستگاههایی که فقط دریکی از جنبههای هوش مهارت داشتند به دستگاههایی برسد که جنبههای مختلفی از هوشمندی را از خود نشان میدهند و با استفاده از حسگرها، محیط پیرامون خود را درک میکنند و در آن محیط اقدامی خاص انجام میدهند. دستگاههای هوشمند وظایف خود را به کمک مفهومی به نام عامل Agent انجام میدهند که این عامل میتواند یک شخص، یک ماشین و یا حتی یک نرمافزار باشد. عاملهای هوشمند دارای سطوح هوشمندی و ویژگیهای متفاوت هستند.
تصور کنید در مهدکودک و یا پیشدبستانی تصویر زیر را به کودکی نشان میدهند و از او میخواهند مسیر درست را در مارپیچ Maze بیابد. آیا بچهها در مقطع پیشدبستانی میتوانند این مسیر را بیابند؟ آیا آموزش خاصی دیدهاند؟ اگر آنها حل یک نمونه را مشاهده کنند، پسازآن میتوانند مسیرهای مارپیچ پیچیدهتری را حل کنند. در اینجا کودک یک عامل یادگیرنده هوشمند است. ً یک عامل یادگیرنده هوشمند بانام DeepCube توانست بدون دخالت انسان و فقط پس از 44 ساعت اخیراً بررسی حرکتهای موفق قبلی و با سعی و خطا برای خود یک الگوریتم حل مکعب روبیک را ابداع کند. این الگوریتم قادر است حداکثر با 30 حرکت، مکعب روبیک را حل کند. این عامل نیز در سطح بالایی از هوشمندی قرار دارد.
دریکی از تقسیمبندیها برای هوش انسان، 9 جنبه مختلف معرفیشده است. با شناخت این جنبههای مختلف هوش، انسان توانست عاملهای هوشمندی بسازد که بیشتر شبیه خودش باشد هر یک از جنبههای هوش ویژگیهای متفاوتی دارند.
شر به دنبال شبیهسازی مدلی هوشمند از خود بوده است و این کار را بهمرور با شناخت خود تا حدی به سرانجام رسانده است.
ز ابتدای پیدایش رایانهها این سؤالات مطرحشده است که چه ماشینی را میتوان هوشمند نامید و برای سنجش میزان هوشمندی ماشین از چه روشی میتوان استفاده کرد؟ دانشمندان علوم رایانه در شاخۀ هوش مصنوعی مواردی از این قبیل که انسان چگونه فکر میکند، نحوۀ یادگیری و تصمیمگیری در انسان چگونه رخ میدهد را مطالعه کردهاند و نتایج این مطالعات را بهعنوان پایهای برای توسعه نرمافزارها و دستگاههای هوشمند قرار داده و به این نتیجه رسیدهاند که باید آن ماشین در جنبههای مختلف هوش، مانند انسان باشد و بتواند تواناییهای انسان هوشمند را تقلید کند و برای سنجش میزان هوشمندی یک ماشین، آزمونی پیشنهاد کردند. آزمون به این صورت انجام میگیرد که یک شخص بهعنوان قاضیC با یک ماشین A و یک انسانB گفتوگو میکند، بهنحویکه قاضی، انسان و ماشین را نمیبیند و سعی در تشخیص ماشین از انسان دارد. درصورتیکه ماشین بتواند پس از گفتوگو با قاضی، وی را بهگونهای فریب دهد که در قضاوت خود دچار اشتباه شود و او را بهعنوان انسان شناسایی کند، توانسته است آزمون را با موفقیت پشت سر بگذارد. برای آسانتر و استاندارد کردن شرایط برگزاری آزمون و پرهیز از پیچیدگیهای اضافی، آزمون به محاوره روی کاغذ محدود شود تا مشکلاتی مانند تبدیل متن به گفتار شفاهی و تنظیم تُن صدا و لهجه در کار نباشد.
حال و آینده هوش مصنوعی در زندگی
در دهههای گذشته، هوش مصنوعی فقط بر مسئله و شرایط خاصی تمرکز داشت و در یک حوزه خاص میتوانست کاری را انجام دهد. به این سطح هوش مصنوعی محدود Intelligence Artificial Narrow یا هوش مصنوعی ضعیف ArtificialIntelligence Weak میگویند. هوش مصنوعی که مهرومومها قبل توانست در بازی شطرنج، استاد بزرگ و قهرمان جهان را شکست دهد، یکی از همین نمونههاست. تعداد زیادی از تارنماها به مشتریان خود امکان گفتوگو با یک ربات پشتیبانی از مشتری را میدهند. این رباتهای نرمافزاری دارای هوش مصنوعی محدود و قادر به استخراج مطالعات از تارنما و نمایش آنها به مشتری هستند.
دانشمندان علوم رایانه سعی دارند در ادامه پیشرفتهای خود به یک سطح بالاتر از هوش مصنوعی یعنی هوش مصنوعی عمومی Intelligence Artificial General یا هوش مصنوعی قوی Intelligence Artificial Strongدست یابند که در سطح انسان باشد. این نوع هوش مصنوعی، باید توانایی دلیل آوردن، حل مشکل، فکر کردن، درک ایدههای پیچیده، فراگیری سریع و کسب تجربه را داشته باشد تا همانند انسان استنتاج کرده و رفتار او را تقلید کند. اگرچه ساخت این نوع هوش مصنوعی کار دشواری است ولی پیشبینی میشود حدود بیست سال دیگر به این سطح از هوش برسند.
یک سطح بالاتر از هوش مصنوعی، فراموش Intelligence Super است که در تمام زمینهها ازجمله خالقت علمی، هوش عمومی و مهارتهای اجتماعی از باهوشترین انسانها، بسیار برتر است. ویژگیهای این سطح از هوش هنوز بهطور کامل مشخص نیست و اینکه پس از رسیدن به این سطح چه اتفاقاتی خواهد افتاد هیچکس نمیداند. در حال حاضر، جهان مملو از هوش مصنوعی محدود است. پژوهشگران حوزه هوش مصنوعی اکنون در مرحله انتقال از هوش مصنوعی محدود به هوش مصنوعی عمومی هستند. آنها سعی دارند با تقلید از مغز انسان، هوشی مصنوعی طراحی کنند که همسطح هوش انسان باشد. بااینحال این علم هنوز در اول راه خود قرار دارد.
کاربرد هوش مصنوعی در زندگی انسان ها
به خاطر گستردگی تأثیر هوش مصنوعی بر جنبههای مختلف زندگی بشر، در این پودمان نمیتوان تمامی آنها را بررسی و یا حتی معرفی کرد اما انتظار میرود در پایان این بخش آگاهی و تفکر شما تا حدی افزایش پیدا کند و بتوانید به سایر جنبههایی که اشاره نشده است نیز بیندیشید. در برخی از حوزههای کاربردی و تأثیرات هوش مصنوعی معرفیشده است. حال به بررسی برخی از موارد فوق میپردازیم.
– حوزه شغلی
یکی از جنبههای مهمی که هوش مصنوعی بر آن تأثیر بسزایی خواهد داشت، حوزه شغلی است. طبق پیشبینیهای صورت گرفته طی مهرومومهای آینده، میلیونها شغل از بین خواهند رفت و برخی نیز اهمیت خود را به میزان زیادی از دست خواهند داد؛ اما بعد از یک دوره گذار و یا بهطور همزمان هوش مصنوعی میتواند میلیونها شغل جدید در سراسر دنیا ایجاد کند. توجه کنید میلیونها شغل، نه میلیونها شاغل! تعداد مشاغلی که در صنایع مختلف به هوش مصنوعی وابستهاند، متفاوت است. انتظار میرود در مهرومومهای آینده بخشهای بهداشت و درمان، خدمات عمومی و آموزش بیشترین میزان افزایش تقاضا برای این مشاغل را داشته باشند. درواقع هوش مصنوعی در بسیاری از مشاغل، ضمن کاهش یا حذف شغلهایی که مناسب انسان نیستند، شغلهای ردهبالاتر و با بازدهی بهتری ایجاد میکند که به مهارتهای خاصی نیاز دارند و حتی ممکن است از انسان وقت کمتری بگیرند.
شغلهای خطرناک
رباتها از پیشرفتهترین فناوریهای هوش مصنوعی بهره میبرند. امروزه رباتها کارهای بسیار سخت و خطرناکی را انجام میدهند. محققان معتقدند فهرست بزرگی از کارهای خطرناک وجود دارند که اگرچه انسانها قادر به انجام آنها نیستند؛ اما نسل جدید رباتها در نقش یک ابرقهرمان ظاهر میشوند و بهراحتی از عهده انجام آنها برمیآیند. برای نمونه میتوان به حضور این رباتها در عملیات آتشنشانی و تالش برای خاموش کردن آتشسوزیها در جنگل، خنثی کردن بمب و نجات انسانها از زیر آوار اشاره کرد. شغل جوشکاری به تولید مواد سمی، گرمای شدید و سروصدا شناختهشده است، رباتها در بسیاری از موارد میتوانند به افراد در این شغل کمک کنند.
– حملونقل
استفاده از هوش مصنوعی به میزان زیادی سبب کاهش سفرها خواهد شد و جنبههای مختلفی از حوزه حملونقل را تحت تأثیر قرار خواهد داد. یکی از مهمترین آنها حملونقل خودکار و خودروهای خودران است.
– ربات دوست مصنوعی
ما دانشمندان و متخصصان رباتیک مدعی شدند بهزودی یک ربات هوشمند، مفهوم فلسفی عشق، علاقه و دوستی را درک خواهد کرد. این رباتها با دسترسی به شبکههای اجتماعی، پایگاههای داده، ثبت و طبقهبندی صحبتها و انتخابهای ما، خواهند توانست به دوستی ارزشمند برای ما تبدیل شوند. آنها میتوانند با دریافت مطالعات بیشتر از رسانههای اجتماعی و با دسترسی به موتورهای جستوجو در اینترنت، اظهارنظر کرده، مانند یک شخصیت زنده در مکالمات شرکت کنند. با این اوصاف و با نزدیکی بیشتر بین انسان و ربات بهعنوان دوست، باید کمی نگران روابط اجتماعی و خانوادگی بود؛ اما اگر فناوری در جهت مثبت خود به کار گرفته شود، میتواند تأثیرات بسیار مفیدی بر زندگی انسان بگذارد. پس تصمیم نهایی با انسان است که چگونه از آن بهرهمند شود.
– حوزه فرهنگی، اجتماعی و آموزشی
با توجه به وسعت این حوزه، گوشهای از آن در قالب دو سؤال و پاسخ به آنها بیان میشود و بررسی و کنکاش در سایر قسمتها به ذهن پرسشگر شما سپرده خواهد شد. – آیا میتوان برای حل برخی معضلات اجتماعی مانند مشکل تخصیص شغل به افراد بیکار از هوش مصنوعی استفاده کرد؟ این کار را میتوان با ثبت مطالعات شهروندی افراد در طول زندگی آنها در یک سیستم امن تحت مدیریت برنامههای هوش مصنوعی اجرایی کرد. همچنین یک بانک مطالعاتی از مشاغل فعال و نیازمند به افراد تشکیل شود تا هنگامیکه افراد مختلف جامعه برای دریافت یک شغل خاص اقدام میکنند، همۀ آنها بر اساس معیارهای متفاوت دستهبندی شوند و دیگر تحصیلات و یا رابطه، تنها مالک برای اخذ شغل نباشد. در اینجا هوش مصنوعی قادر به شناسایی شغل مناسب برای هر شهروند است و آن را بر اساس سابقه کاری فرد، مهارتها و ترجیحات شخص پیشنهاد خواهد کرد.
– آیا میتوان برای مصالح روش پذیرش دانشگاهها بهجای آزمون سراسر از هوش مصنوعی استفاده کرد؟ پذیرش دانشگاهها را میتوان به یک سیستم هوش مصنوعی سپرد تا رشته دانشگاهی متناسب بااستعداد و علاقه دانشآموز را بر اساس عملکرد کل دوران تحصیل و علاقهمندیهای دانشآموز به وی پیشنهاد کند. هوش مصنوعی در راستای هدایت تحصیلی و دادن مشاوره به دانش آموزان و والدین میتواند بسیار مفید باشد.
زبانهای برنامهنویسی هوش مصنوعی اکنون ممکن است این سؤال ذهن شمارا به خود مشغول کند که آیا روش برنامهنویسی هوش مصنوعی با برنامهنویسی عادی تفاوت دارد؟ برای پاسخ به این سؤال، به مسئلههای زیر و چگونگی نوشتن برنامه آنها توجه کنید. – برنامهای بنویسید که روی صفحهنمایش عبارت world hello را چاپ کند. – برنامهای بنویسید که ده عدد صحیح از کاربر گرفته، بزرگترین آنها را تعیین کند. – برنامهای برای ثبت و سازماندهی شجرهنامه خانوادگی بنویسید که بتواند روابط خانوادگی بین افراد را از برنامه استخراج کند. – برنامهای برای سیستم نظارت ویدیویی بنویسید که در مناطق حفاظتشده بتواند حرکت شکارچیان غیرمجاز را از حرکت حیوانات بهصورت برخط تشخیص داده، پیام الفم را به اداره حفاظت از محیطزیست بفرستد. در برنامه world hello فقط یک خروجی ساده، روی صفحهنمایش چاپ میشود و به دلیل همین سادگی، این کار را میتوان با بیشتر زبانهای برنامهنویسی انجام داد. در برنامه یافتن بزرگترین عدد، ورودی و خروجی چیست؟ ورودی ده عدد صحیح و خروجی نیز یک عدد صحیح است. این برنامه باوجودآنکه ماهیت الگوریتمی پیچیدهتری نسبت به برنامه اول دارد، ولی در صورت داشتن الگوریتم مناسب، با بیشتر زبانهای برنامهنویسی قابل پیادهسازی است. در این برنامه، ورودی و خروجی از یک نوع هستند و عملیات پردازشی رویدادههای ورودی سخت نیست. چنین مسئلههایی را میتوان در نوع برنامههای تابعی طبقهبندی کرد. ورودیها و خروجیهای برنامه شجرهنامه خانوادگی از چه نوعی هستند )شکل9)؟ چه پردازشی روی مطالعات صورت میگیرد؟ آیا میتوانید زبان برنامهنویسی مناسب برای این برنامه را تعیین کنید؟ با توجه به نوع ورودیهای متفاوت و نوع پردازش منطقی، برنامه شجرهنامه خانوادگی را میتوان از نوع برنامههای منطقی طبقهبندی کرد. عملیات پردازشی که روی ورودیها صورت میگیرد پیچیدگی منطقی خاصی دارد بنابراین زبانهای برنامهنویسی رایج نمیتوانند بهراحتی از عهده آنها برآیند.
ورودی برنامه نظارت ویدیویی، تصاویر زنده ویدیویی است. چه پردازشی روی این تصاویر انجام میگیرد؟ آیا میتوانید زبان برنامهنویسی مناسب برای این برنامه را تعیین کنید؟ برای این مورد نیز با زبانهای برنامهنویسی رایج نمیتوان بهراحتی برنامهنویسی کرد. برای حل اینگونه مسائل بهتر است از زبانهای مخصوص برنامهنویسی هوش مصنوعی مانند لیسپ )Lisp )و پرولوگ )Prolog )استفاده کرد.
برای شناخت بهتر زبانهای برنامهنویسی هوش مصنوعی لازم است با نوع ورودیها، خروجیها و دستگاههای ورودی مناسب آنها آشنا شوید.
خروجی حاصل از اجرای برنامههای هوش مصنوعی نیز مانند داده ورودی، متفاوت هستند
در برنامهنویسی هوش مصنوعی برنامه تولیدشده میتواند به سؤالات کلی مرتبط با کاربرد آن برنامه و حتی سؤالاتی که از قبل پیشبینینشدهاند، پاسخ دهد؛ اما برنامههای نوشتهشده بدون هوش مصنوعی فقط میتوانند به سؤالات خاصی که از قبل پیشبینیشدهاند پاسخ دهند.
به مثال واقعی زیر توجه کنید. یکی از رباتهای دستیار صوتی توانسته است با تماس تلفنی با یک آرایشگاه ضمن گفتوگو با مسئول اخیراً پذیرش، یکوقت برای کوتاه کردن مو بگیرد. همچنین زمانی که با یک رستوران برای رزرو میز، تماس میگیرد میتواند بهراحتی با مسئول رزرو صحبت کرده، مفهوم صحبتهای او که با سرعت صحبت میکند را نیز درک کند. همه اینها در حالی است که طرف مقابل متوجه نمیشود که در حال صحبت با یک دستیار دیجیتالی هوشمند است.
توجه کنید که این دستیار صوتی دیجیتالی باید بتواند به تمام پرسشهایی که از او پرسیده میشود، پاسخ دهد. با این مثال، کدام مطلب از درسهای گذشته یادآوری میشود؟ اکنون میبینید که چگونه یک برنامه هوشمند میتواند انسانها را فریب دهد.
در برنامهنویسی هوش مصنوعی میتوان قوانین و حقایق را مستقیم برای برنامه تعریف کرد، یا برنامه طوری نوشته شود که خودش قوانین را از میان حجم زیادی از مطالعات استخراج کند و این زمینه یکی از مهمترین زیرشاخههای هوش مصنوعی بانام یادگیری ماشین )Learning Machine )است.
ساختار برنامهنویسی هوش مصنوعی تفاوت چشمگیری با سایر زبانها دارد و دیگر از ساختارهای رایج زبانهایی مانند سی شارپ خبری نیست.
زبان برنامهنویسی پرولوگ )Prolog)
با استفاده از زبان برنامهنویسی پرولوگ، میتوان در یک سطح خالصِ و نزدیک به مشخصات مسئله برنامهنویسی کرد. این زبان، باوجود قدمتش هنوز هم مهمترین زبان برنامهنویسی منطقی است و در بیشتر زمینههای هوش مصنوعی مانند دستگاههای خبره، پردازش زبان طبیعی و دستگاههای مدیریت پایگاه داده بهطور موفقیتآمیزی استفادهشده است.
مسئلهها در پرولوگ بهصورت حقایق )Fact )و قواعد )Rule )منطقی، برای استنباط حقایق جدید بیان میشوند. در قسمت بیان حقایق، باید خواص اشیا و روابط صریح بین اشیا با دقت توصیف شوند، برای بیان قواعد، روابط ضمنی بین اشیا بیان میشود و درنهایت در قسمت پرسوجو، سؤالاتی در مورد این روابط پرسیده خواهد شد، سپس مفسر پرولوگ نتایج یا پاسخها را بر اساس حقایق و قواعد ارائه میکند. برای روشن شدن مطلب به مثال ساده زیر توجه کنید: برنامه پرولوگ زیر، یکی از سادهترین برنامههاست که شامل دو حقیقت و یک قاعده است. برنامه در دو خط این حقیقت را بیان میکند که بوعلی و فارابی دانشمند هستند. همچنین قاعدهای فرضی تعریف میکند که بر پایه آن رابطه بین منتقدان و دانشمند بیانشده است.
جمله اول و دوم حقایق برنامه و جمله سوم از نوع قاعده است. برای آزمودن این برنامه باید عبارات پرسوجو یا قضایایی را مشخص کرد که پرولوگ سعی میکند با استفاده از برنامه به آنها جواب دهد. چهارمین جمله، پرسوجویی بسیار ساده است که خروجی True را چاپ میکند یعنی بوعلی دانشمند است.
پنجمین جمله یک پرسوجو است و خروجی آن نام دانشمندان ایران یعنی buali و farabi است که در قسمت حقایق بیانشده است؛ اما ششمین جمله دیگر یک پرسوجوی ساده نیست بلکه با استفاده از قواعد و حقایق موجود برنامه میتواند تشخیص دهد که فارابی یک منتقدان است. توجه کنید هیچگاه در قسمت حقایق بهطور مستقیم گفته نشده است که فارابی منتقدان است؛ اما برنامه میتواند این نتیجهگیری را انجام دهد. همچنین وقتی در هفتمین جمله پرسیده میشود چه کسانی منتقدان هستند، برنامه میتواند اینگونه فرض کند که تمام دانشمندان، منتقدان هستند و درنتیجه اسامی آنها را چاپ کند. تذکر: هنگام برنامهنویسی به حروف بزرگ و کوچک دقت شود.
برای حل مسائل مربوط به روابط خانوادگی یا شجرهنامه خانوادگی، میتوان بهآسانی از پرولوگ استفاده کرد. برای آشنایی بیشتر، میتوانید نمونههای بیشماری از برنامههای نوشتهشده برای این مسئله و یا مسائل مرتبط باهوش مصنوعی را از اینترنت دریافت کنید.
تأثیر هوش مصنوعی دربازیهای رایانهای
یکی از گفتوگوهای دانا با عموی خود در مورد بازیهای رایانهای است. دیدوبازدید عید زمان مناسبی بود که دانا در مورد بازیهای سال گذشته با عموی خود صحبت کند. در این گفتوگو، عموی دانا از بازیهای قدیمی و زمان جوانی خود نام برد و گفت بازیهای قدیمی اگرچه تک نفرِ یا دونفره بودند و رقبای رایانهای نقش خاصی در آن نداشتند و همچنین ازنظر گرافیکی و عملکرد بسیار ضعیف بودند ولی بازی با آنها لذتبخش و هیجانانگیز بود.
دانا: درست است، ولی در حال حاضر علاوه بر بازیکنان واقعی، تعدادی بازیکن رایانهای باهوش مصنوعی خوب نیز در برخی بازیها وجود دارند که بازی را جذابتر میکنند. برای مثال دربازیهای ورزشی مانند FIFA که در هرلحظه نمیتوان همه بازیکنان را کنترل کرد، وقتی کنترل یکی از بازیکنان را در اختیار میگیرم، بازیکنان دیگر بهوسیله برنامه به بهترین وجه در کنار من بازی میکنند همچنین دربازیهای استراتژیک نیز شخصیتهای رایانهای بازی، اغلب بهوسیله خود برنامه هدایت میشوند و من در هرلحظه فقط کنترل یک یا چند بازیکن را بر عهدهدارم. جالب است که برخی شخصیتهای رایانهای بازی مثل سربازها هنگام احساس خطر به هجای حمله یا دفاع، از دشمن فرار میکنند، درحالیکه برخی مواقع کارگرها وظیفه صلی خود یعنی تأمین منابع را هنگام حمله دشمن رها میکنند و به دفاع در برابر دشمن میپردازند و این فرار و دفاع هر دو برای رسیدن به پیروزی است.
عموی دانا: از ویژگیهای بازیهای جدید، گرافیک سهبعدی و کنترل بازی به بهترین شکل است. هوشمندی بازیکنان حریف بهقدری ارتقا یافته است که نمیتوان برخلاف گذشته بهراحتی در برابر بازیکنان رایانهای پیروز شد. امروزه با استفاده از هوش مصنوعی رویداد گرا، رقبای رایانهای به کوچکترین جزئیات بازی حساس هستند و از این جزئیات علیه شما استفاده میکنند.
برای مثال در برخی بازیهای جنگی، دشمن نسبت به صدای پای شما حساس است و میتواند صدای دویدن شمارا هم بشنود و با آگاهی از نزدیک شدن شما بسته به موقعیت خود در بازی، به آهستگی پنهان شود یا ضمن عقبنشینی استراتژیک از راه دیگری بهسوی شما آمده، شلیک کند. همچنین به لطف هوش مصنوعی هدفگرا، برنامه بازی با دانستن وضعیت جاری و مطالعات هدف Goal با برنامهریزی Planning دقیق اما منعطف به دنبال راهی برای غلبه بر شما میگردد و حتی میتواند در صورت تغییر شرایط و یا تغییر هدف، ضمن برنامهریزی جدید با روشی جدید به پیروزی دست یابد.
دانا: با توجه به مطالبی که شما گفتید، برنامهنویسی این بازیها باید نسبت به گذشته تغییراتی کرده باشد. هوش مصنوعی در ساخت و برنامهنویسی بازیهای رایانهای جدید چه نقشی دارد؟ عموی دانا: هوش مصنوعی در ساخت محتوای بازی و یا نقشه بازی، نقشی اساسی دارد بهطوریکه دربازیهای راهبردیstrategic نقشه بازی بهصورت تصادفی تولید میشود و برنامهنویسان لازم نیست نقشههای بازی را از قبل طراحی کنند.
در مدلسازی شخصیتها و باورپذیر کردن آنها و درنهایت در بهینهسازی فرایند بازی مانند کنترل بهتر بازی از روشهای نوین هوش مصنوعی استفاده میشود. برای مثال در برخی بازیها برای تیراندازی قابلیت هدفگیری خودکار اضافهشده است. برای افزایش جذابیت در برخی بازیها حتی شرایط آب و هوایی در محیط بازی نیز تغییر میکند. درمجموع استفاده از هوش مصنوعی در صنعت بازیسازی به برنامهنویسان بازیها کمک میکند تا در زمان کوتاهتر و به سهولت بازیهایی جذاب و جدید بسازند.
در مهرومومهای اخیر برنامهنویسان کشور ما موفق به ساخت بازیهای زیادی شدند که از فناوریهای هوش مصنوعی بهره میبرند. تولید و صادرات بازیهای رایانهای نهتنها برای تولیدکنندگان آن درآمد قابلتوجهی فراهم میکند، بلکه برای کمک به اقتصاد کشور نیز بسیار مفید است. تولید و رواج بازیهای بومی میتواند از فرهنگ کشور ما در برابر آسیبهای بازیهای خارجی پاسداری کند. دانا: با توجه به مطالبی که گفتید در صنعت بازیسازی شاهد رشدی سریع هستیم. در چند سال آینده، بازیهای رایانهای چه تفاوتی میکنند؟
عموی دانا: با رواج بازیهای واقعیت مجازی Reality Virtual بازیهایی با بازیهای جذابتری معرفی خواهند شد و احتمال ترکیب محیط واقعی و محتوای شبیهسازیشده که به آنها واقعیت افزوده Reality Augmented گفته میشود، رواج بیشتری خواهند یافت و شاید در آینده شاهدبازیهایی باشیم که ما را به تحرک بیشتری وادارد. همچنین بازیهای تلفن همراه رشد چشمگیری خواهند داشت.
انسان با شناخت تواناییهای خود در راستای رسیدن به هوش مصنوعی حوزههایی از علوم جدید را ابداع کرد.
برای آشنایی بیشتر با حیطه پردازش تصویر، چند مورد از عملیاتی که روی تصاویر صورت میگیرد، معرفی میشود.
– تبدیل یک تصویر رنگی به سیاهوسفید و یا خاکستری پردازش سطح پایین( برای مثال روزنامههایی که غیر رنگی چاپ میشوند باید تصاویر رنگی را به رنگ سیاهوسفید و یا مقیاس خاکستری )مقیاس/Gray )تبدیل کنند
– اعمال جلوههای ویژه به تصاویر)پردازش سطح پایین( مانند شفاف کردن، مات کردن، تغییر مقیاس، افزایش و یا کاهش تضاد )Contrast – حذف نویز از تصاویر پردازش سطح پایین( برای مثال، گاهی نقاط کوچک و نقصهای بصری در تصاویر دیده میشوند و بیشتر میتوان آنها را بهطور خودکار حذف کرد
– تشخیص ویژگیهای تصویر مانند چهرهها و یا متن پردازش سطح میانیبسیاری از دوربینهای دیجیتال و یا گوشیهای همراه هوشمند یک نرمافزار تشخیص چهره دارند که یک کادر را در اطراف چهرهها قرار میدهد.
– قطعهبندی تصاویر Segmentation Imageپردازش سطح میانی تصویر را به نواحی و اشیای مختلف تقسیمبندی میکند، برای مثال محل یک متن در تصویر را مشخص میکند. – تشخیص تصویر پردازش سطح بالااشیا را در یک تصویر تشخیص دهد تا بتواند نام آن اشیا را گزارش کند که این مورد یکی از بالاترین سطحهای فرایند پردازش تصویر است. مانند برچسبگذاری خودکار نام افراد در برخی دوربینهای عکاسی و یا نرمافزارهای پردازش تصویر.
مثال: فرض کنید در یک اردوی علمی تعدادی عکس دستهجمعی انداختهاید و میخواهید اسامی افراد داخل عکس را برچسبگذاری کنید یعنی با بردن اشارهگر ماوس روی تصویر هر شخص یک برچسب متنی دربرگیرنده نام آن شخص ظاهر شود. این کار چنانچه بخواهد بهصورت دستی صورت گیرد، بسیار وقتگیر است؛ اما نرمافزارهای هوشمند تشخیص تصویر میتوانند با استفاده از مطالعات قبلی شما و یا دسترسی به پایگاههای داده موجود در شبکههای اجتماعی، بهصورت خودکار اسامی افراد را تشخیص داده، برچسبگذاری را انجام دهند.
کاربردهای بینایی ماشین و پردازش تصویر پردازش تصویر و بینایی ماشین در حوزهها و علوم مختلف کاربرد دارد. به نمونههای زیر توجه کنید:
حوزه صنعت
امروزه بخشی از خط تولید کارخانههای پیشرفته بهوسیله برنامههای هوشمند بینایی ماشین کنترل میشوند. خطای بسیار کم، سرعت زیاد، هزینه نگهداری بسیار پایین، بینیاز به حضور ۲۴ ساعته اپراتور و مزایای دیگری باعث شده است که صنایع و کارخانهها بهسرعت به سمت پردازش تصویر و بینایی ماشین روی بیاورند. برای مثال در خطوط تولید، محصولات معیوب با دستگاههای هوشمند بینایی ماشین شناسایی و از خط تولید خارج میشوند و در صنعت تولید نان ماشینی دستگاهی ساخته میشود که قادر است نانهای پخته را از نانهایی که نیاز به پخت مجدد دارند، تشخیص دهد و آنها را بهصورت خودکار به بستهبندی بفرستد و نانهایی را که نیاز به پخت دارند دوباره برای پختن بفرستد. همچنین در بستهبندی محصولات کشاورزی از دستگاههای مرتبسازی میوهها بر اساس اندازه sorting استفاده میشود که این دستگاهها از برنامههای هوشمند بینایی ماشین بهره میبرند.
حوزه پزشکی
پردازش تصویر کاربردهای وسیعی در زمینههای مختلف پزشکی پیداکرده است. در زیر به چند مورداشاره شده است
. – افزایش کیفیت تصاویر MRI یا Ray-X ازآنجاییکه چینیجاهای مختلف دارای مشخصات مختلف ازجمله نفوذپذیری متفاوت هستند، میتوان با فنهای بخشبندی تصویر، چینیجاهای مختلف را در تصویر تشخیص داد.
ازجمله میتوان چینیجاهای سرطانی یا محل دقیق تومورهای مغزی را تشخیص داد.
-ساخت تصویر سهبعدی از یکی از اعضای بدن مدل دوبعدی یا سهبعدی بافت یا عضوی که قرار است جراحی شود مانند تصویر سهبعدی کلیه یا دیگر اعضای داخلی بدن با فنهای پردازش تصویر بهدستآمده، جراح را در طول عمل راهنمایی میکند.
حوزه امنیت بینایی ماشین در این حوزه نقش چشمگیری دارد. از دستگاههای امنیتی میتوان، سیستم خودکار تشخیص اثرانگشت را نام برد. به گوشیها و رایانههای قابلحمل جدید قابلیت print finger اضافهشده است که میتوانند صاحب خود را بهوسیله اثرانگشت شناسایی کنند. کد امنیتی دیگری که همیشه همراه انسان حمل میشود، چشم انسان است. دانشمندان ثابت کردهاند که الگوی چینیجاهای موجود در عنبیه چشم هر انسان منحصربهفرد است و الگوهای بافتی عنبیه چشم هیچ دو فردی در دنیا دقیقاً مثل هم نیست. از همین روش برای شناخت افراد و دستگاههای امنیتی استفاده میشود.
حوزه راهنمایی و رانندگی – با تشخیص باک خودروها هنگام بنزین زدن و پارک خودرو در پارکینگها دیگر نیازی به پرداخت پول نقد و یا حتی استفاده از کارت اعتباری نیست.
-با استفاده از پردازش ویدیویی تصاویر دوربینهای مداربسته در خیابانها بهصورت خودکار، خودروهای سرقت شده شناسایی میشود.
با پردازش تصاویر دوربینهای نصبشده در تقاطعها میتوان زمان، سرعت، جهت حرکت و پالک خودروها را به دست آورد و بدین ترتیب تخلفات متنوعی ازجمله عبور از چراغقرمز، توقف روی خط عابر پیاده و تخطی از سرعت مجاز هنگام عبور از تقاطع را ثبت و اعمال قانون کرد.
حوزه تشخیص چهره Recognition Face
– باز شدن درهای امنیتی در ورودی ساختمانها بهصورت خودکار –
باز شدن قفل گوشی تلفن همراه –
بینیازی به کارت اعتباری در فروشگاهها برای پرداخت پول –
شناسایی مجرمین در حال تردد در خیابانها، ایستگاههای قطار، اتوبوس و فرودگاهها بهصورت خودکار.
حوزه کشاورزی
کشاورزان میتوانند با استفاده از تصاویر ماهوارهای یا تصاویری که با استفاده از پهپادها یا کوادکوپترهای کنترلی از مزرعه خود میگیرند و پردازش این تصاویر با یک برنامه نرمافزاری بهراحتی وجود آفت، نیاز به آبیاری و رسیدگی در قسمتی از مزرعه و یا باغات را تشخیص دهند همچنین با این فناوری میتوان محل علفهای هرز را در مزرعه تشخیص داد و از بین برد و با پهپاد های مخصوص کشاورزی که به تازگی تولید شده اند به سم پاشی نیز پرداخت.
رشتۀ عددی مقابل از چه رقمهایی تشکیلشده است؟
این رقمها با شکلها و قلمهای مختلفی نوشتهشدهاند. بااینکه هر قلم برای نمایش یک رقم، الگوی خاصی دارد، اما بهاحتمالزیاد همۀ افراد میتوانند تکتک ارقام را تشخیص دهند. برخی از قلمهای این رشتۀ عددی را درگذشته دیدهاید و با آنها آشنا هستید و برخی را امروز برای اولین بار میبینید، بااینوجود مشکلی در تشخیص ارقام نوشتهشده با قلمهای جدید ندارید. چگونه این امر برای انسانها ممکن شده است؟ چگونه می ً توان الگوهایی که قبال دیده نشده است را شناسایی ً انسانها چگونه یاد میگیرند؟ کرد و اینکه اساساً اینها پرسشهایی است که مهرومومها فکر دانشمندان را به خود مشغول کرده بود و درنهایت برای آنها پاسخهای تقریبی یافتند. آنها در تحقیقات خود به این نتیجه رسیدند که مغز انسان از حدود 100 میلیارد سلول ً عصبی به نام نورون تشکیلشده است که هر یک تقریباً با 10000 نورون دیگر در ارتباط است.
آنها بهمرور دریافتند که ارتباط بین نورونها چگونه است و مغز انسان با استفاده از آنها چگونه یاد میگیرد، به خاطر میآورد، فراموش میکند و محاسبه میکند. به دنبال این شناخت نسبی سعی شد تا با شبیهسازی مغز انسان بهوسیلۀ رایانه، شبکه عصبی مصنوعی Network Neural Artificial ساخته شود. شبکههای عصبی مصنوعی را میتوان تا حدودی، مشابه ساختار عصبی مغز انسان فرض کرد و هدف از ایجاد آن، شبیهسازی سلولهای مغزی بهوسیله رایانه است تا بتواند یادگیری، شناسایی الگوها و تصمیم گیری انسان گونه را انجام دهد.
کودکی را تصور کنید که اگر یک گربه را ببیند و به او بگوییم نام این حیوان گربه است، اولین یادگیری او اتفاق میافتد؛ ولی اگرچند روز بعد سگی را ببیند، چون هنوز آموزش او کامل نشده است، آن حیوان را گربه صدا میزند. وقتی به او میگوییم نه این گربه نیست بلکه یک سگ است، بیدرنگ تفاوتها و شباهتهای این دو موجود را در نظر گرفته، به خاطر میسپرد.
برای کامل شدن یادگیری او کافی است چند گربه و یا تصویر آنها ً هر نوع گربهای را شناسایی کند. یادگیری در انسانها به را به او نشان دهیم. ازآنپس او قادر است تقریباً همین راحتی و با مشاهده مثال اتفاق میافتد. باوجوداین پیادهسازی فرایند یادگیری، حتی در پیشرفتهترین دستگاههای رایانهای میتواند بسیار سخت باشد. آیا ما میتوانیم در بازی شطرنج تمام حالت ممکن ً این کار شدنی را برای رایانه برنامهریزی کنیم؟
مسلم است، به جای این کار ما فقط الگوهای اولیه و قوانین ابتدایی بازی را برای رایانه معرفی میکنیم، سپس به رایانه اجازه میدهیم خودش بازی کند و بهمرور حرکات مناسب را بیابد و با دریافت و مشاهده بازیهایی که ً قبال انجامشده است، با استفاده از شبکههای عصبی مصنوعی، یاد بگیرد که در آینده چگونه بازی کند.
اگر کمی فکر کنیم میبینیم که ما انسانها نیز به همین صورت یاد میگیریم. لازم است بدانیم شبکهٔ عصبی مصنوعی، خود یکی از روشهای معروف در حوزه یادگیری ماشین Learning Machine است.
شبکهٔ عصبی نمونه برای انتخاب اغذیهفروشی دانا برای انتخاب اغذیهفروشی شرایط را بررسی میکند. هرکدام از این شرایط برای شبکۀ عصبی مغز او بهعنوان یک ورودی است و بر اساس این ورودیها و ارزشی که به آنها میدهد، تصمیم خواهد گرفت آن اغذیهفروشی را انتخاب کند یا نه. – اولین شرط تمیزی ظاهری محیط است که X1 را برای آن در نظر میگیرد.
– برای شرط قیمت مناسب، ورودی X2 را در نظر میگیرد
. – برای داشتن سلفسرویس، ورودی X3 را در نظر میگیرد
. – ورودی X4 نیز برای بررسی این موضوع است که اغذیهفروشی شبکۀ عصبی نمونه برای انتخاب اغذیهفروشی فقط غذای فوری داشته باشد.
. همه ورودیهای فوق میتواند صفر و یا یک باشد. حال نوبت ارزشگذاری هر یک از ورودیها است. – به تمیزی رستوران X1 ارزش یا وزن 3 میدهد. – به قیمت مناسب X2 ارزش یا وزن 2 میدهد. – چون برای او داشتن سلفسرویس X3 خیلی مهم است به آن ارزش 6 میدهد. – اما برای او داشتن غذاهای سنتی خیلی مهم است و دوست ندارد غذا فوری بخورد؛ بنابراین اگر اغذیهفروشی فقط غذای فوری داشته باشد به آن ارزش منفی پنج 5 -میدهد.
توجه کنید که این ورودی ارزش منفی دارد و چنانچه اغذیهفروشی غذای سنتی نداشته باشد ارزش کل کاهش خواهد یافت. ً تمیز است، حال دانا میخواهد این شبکه عصبی فرضی را امتحان کند. او یک اغذیهفروشی پیدا کرد که نسبتاً سلفسرویس باقیمتی مناسب دارد و علاوه بر غذاهای فوری، غذاهای سنتی نیز دارد.
مطابق جدول زیر امتیاز را محاسبه کرد. در این مثال نمره Xها برای سه مورد اول یک است یعنی شرط برقرار است؛ اما چون شرط آخر برقرار نیست برای آن نمره صفر میگذارد.
ستون آخر از حاصلضرب وزنها در نمرات به دست میآید و برابر عدد 11 میشود. دانا با داشتن این عدد باید تصمیم بگیرد که رستوران را انتخاب کند یکی رستوران را انتخاب نکند صفر به عبارتی خروجی باید دودویی باشد.
در این مثال میبینید که عدد به دست آمده یعنی 11 برای دانا به معنی انتخاب آن اغذیهفروشی است؛ اما اگر شرایط تغییر کند، چه میشود. فرض کنید دانا یک اغذیهفروشی دیگری پیدا کند که خیلی تمیز نیست، سلفسرویس باقیمتی مناسب دارد و فقط غذای فوری دارد.
دقت کنید که چون اغذیهفروشی فقط غذای آماده دارد نمره شرایط برای X4 یک میشود. دانا با توجه به پایین بودن این عدد تصمیم میگیرد که این اغذیهفروشی را انتخاب نکند.
پس از بررسی نتایج فعالیت فوق، احتمال به عددی رسیدهاید که اگر حاصل، کمتر از آن عدد باشد خروجی صفر را تولید میکند و به معنی انتخاب نکردن اغذیهفروشی است و اگر نتایجۀ حاصل، عددی بزرگتر از آن باشد خروجی یک را تولید میکند و به معنی انتخاب اغذیهفروشی است.
البته ممکن است دانا بهمرور وزنها را عوض کند و برای مثال اهمیت داشتن سلفسرویسW3 برای او کمتر شود و وزن 6 را به 3 تغییر دهد؛ و یا در شرایط گرسنگی شدید وزن آخرین شرط را کمتر در نظر بگیرد. بدین ترتیب شبکۀ عصبی یاد میگیرد که در شرایط مختلف خودش را با تجربیات جدید هماهنگ کند. پس میتوان گفت یادگیری همان تغییر وزن است.
مثال بالا یک پیادهسازی ساده از شبکۀ عصبی است که به آن شبکۀ عصبی پرسپترون Perceptron میگویند. که نمایشی از این نوع شبکه است، Xها همان ورودیهای الگوریتم و Wها وزن هر ورودی هستند. هر ورودی در وزن خودش ضرب خواهد شد. عنصر بعدی در شبکه عصبی، تابع جمع )سیگما( است که حاصلضرب Xها درWها را باهم جمع میکند. عنصر بعدی یک تابع فعال ً سازی است که فعال به دلیل سادهسازی مطلب به آن پرداخته نشده است.
آخرین عنصر نیز خروجی شبکه عصبی است که درواقع نتیجه این شبکه را مشخص میکند. در شبکه پرسپترون ورودیها و خروجی میتوانند از نوع دودویی یعنی صفر و یک باشند. هنگامیکه خروجی یک میشود به معنی فعال شدن شبکه پرسپترون است. شما میتوانید با مراجعه به کتب معتبر و مراجع اینترنتی در خصوص شبکههای عصبی مصنوعی اطلاعات کاملتر و دقیقتری به دست آورید.
حوزههای کاربردی شبکههای عصبی مصنوعی بسیار وسیع است.
خلبان خودکار یک هواپیما برای هدایت خودکار، کنترل فرایند تولید در خطوط تولید کارخانهها، شناسایی و گزارش معاملات برخط بانکی مشکوک به کلاهبرداری، شناسایی دستخط روی صفحۀ لمسی تلفنهای هوشمند، نرمافزارهای تشخیص صدا و برنامههای خودکار شناسایی رایانامههای تبلیغاتی جهت فیلتر کردن نامههای ناخواسته نمونههایی از کاربرد شبکۀ عصبی مصنوعی هستند. درمجموع شبکههای عصبی مصنوعی، رایانهها را نسبت به گذشته مفیدتر و کارآمدتر کردهاند.
هوش گروهی بسیاری از پیشرفتهایی که در زمینۀ هوش مصنوعی بوده است، نتیجهٔ الگویابی از هوش انسان و یا تقلید از تواناییهای انسان است و دانشمندان علوم رایانه با شبیهسازی مغز انسان، سعی در ساخت شبکۀ عصبی مصنوعی دارند. در ادامه پیشرفتها با شناخت خلقت موجودات زنده و الگو گیری از رفتار آنها، حوزههای جدیدی از شبیهسازی هوش مصنوعی به وجود آمد و الگوریتمهای جدیدی ابداع شد.
این الگوریتمها به رفتارهای گروهی و هوش جمعی خلبان خودکار یک هواپیما برای هدایت خودکار، کنترل فرایند تولید در خطوط تولید کارخانهها، شناسایی و گزارش معاملات برخط بانکی مشکوک به کالهبرداری، شناسایی دستخط روی صفحه لمسی تلفنهای هوشمند، نرمافزارهای تشخیص صدا و برنامههای خودکار شناسایی رایانامههای تبلیغاتی جهت فیلتر کردن نامههای ناخواسته نمونههایی از کاربرد شبکۀ عصبی مصنوعی هستند. درمجموع شبکههای عصبی مصنوعی، رایانهها را نسبت به گذشته مفیدتر و کارآمدتر کردهاند.
فیلم »کاربرد یادگیری ماشین« یک مجموعه از موجودات میپردازد که بانام الگوریتمهای هوش ازدحامی و یا هوش گروهی Swarm Intelligence شناخته میشوند. در مهرومومهای اخیر مبحث مهم منطق فازی Logic Fuzzy نیز مطرحشده است تا بتوان بهجای استفاده از منطق دودویی در رایانهها، از منطق فازی استفاده کرد. با استفاده از منطق فازی میتوان هوش مصنوعی را بیشتر به هوش انسانی و یا هوش جمعی موجودات شبیه کرد.
احتمال در فصل مهاجرت پرندگان مشاهده کردهاید که دستههایی بزرگ از پرندگان هنگام رسیدن به نواحی شهری روی درختان استراحت میکنند و یا در نواحی جلگهای و دریاچههای مختلف فرود میآیند تا ضمن تغذیه و استراحت برای ادامه مهاجرت آماده شوند. اگر کمی دقت کنید، میبینید که نظم و هماهنگی خاصی در پرواز این پرندگان وجود دارد.
تاکنون این سؤال را از خود پرسیدهاید که چرا پرندگان در دستههای بزرگ مهاجرت میکنند؟ برای پاسخ به این سؤال میتوان علتهای زیادی را برشمرد. یکی از دلیل مهم آن است که هر یک از پرندگان موجود در گروه، بهتنهایی به دنبال بهترین محل استراحت و یا بهترین نقطه برای تغذیه میگردد و اطلاعات بهدستآمده را در گروه به اشتراک میگذارد تا گروه بتواند از بین اطلاعات دریافتی بهترین گزینهها را انتخاب کند.
حتی برای فرار از دست شکارچیها نیز این حرکت گروهی و فرار گروهی میتواند باعث کمک قابلتوجهی به گروه شود. با الگو گیری از رفتار پرندگان در جستوجو، الگوریتم بهینهسازی ازدحام ذرات یا بهاختصار روش Optimization Swarm Particle PSO به وجود آمد. در اینجا، از هوش ازدحامی و گروهی موجوداتی مانند مورچهها، زنبورها، موریانهها، ماهیها و پرندگان برای ً رمزهای کاربردهای محاسبات الگوبرداری میشود.
در این نوع اجتماعات هر یک از موجودات ساختار نسبتاً دارند ولی رفتار گروهی آنها پیچیده به نظر میرسد. برای نمونه در کلونی مورچهها، هر یک از مورچهها یک کار ساده ویژهای را انجام میدهد؛ اما بهطور گروهی اعمال و رفتار مورچهها، ساختن النه، نگهبانی از ملکه و نوزادان، پاکسازی النه، یافتن بهترین منابع خوراکی و بهینهسازی راهبرد جنگی را تضمین میکند.
الگوریتم بهینهسازی کلونی مورچه Optimization Colony Ant
مورچهها مانند پرندگان و زنبورعسل، برای پیدا کردن غذا بهصورت گروهی حرکت میکنند. مورچهها موجوداتی نابینا، بی حافظه و بسیار کمهوش هستند؛ بااینحال همیشه بهینهترین و کوتاهترین مسیر از لانه تا محل غذا را پیدا میکنند. مورچهها ابتدا بهطور تصادفی برای پیداکردن غذا به اینسو و آنسو میروند، سپس به لانه برمیگردند و ردی از فرومان Pheromone به جا میگذارند.
مورچههای دیگر هنگامیکه این مسیر را مییابند، پرسه زدن را رها کرده، آن را دنبال میکنند. اگر به غذا برسند به خانه برمیگردند و رد دیگری از خود در کنار رد قبل میگذارند و به عبارتی رد فرومان مسیر قبل را تقویت میکنند.
یکی از ویژگیهای مهم فرومان آن است که بهمرور تبخیر میشود ولی اگر در یک مسیر تعدادی مورچه بین النه و منبع غذایی حرکت کنند، میزان معینی فرومان برای ادامه فعالیت مورچهها باقی مِهماند و چنانچه منبع غذایی نوبتم باکم شدن رفتوآمد مورچهها بهمرور فرومان موجود در مسیر تبخیر شده، دیگر مورچهها به آن مسیر بازنخواهند گشت. در صورت وجود راههای متعدد بین النه و منبع غذایی مسیری که کوتاهتر است و درنتیجه فرومان قویتری دارد انتخاب میشود.
اگر فرومان اصول تبخیر نمیشد، مسیرهایی که چند بار طی میشدند، چنان بیشازحد جذاب میشدند که جستجوی تصادفی برای غذا را بسیار محدود میکردند.
شناخت این روشها، سبب پیدایش الگوریتم بهینهسازی کلونی مورچه شد. این الگوریتم در رتبه دوم پراهمیتترین الگوریتمها و در دسته الگوریتمهای تکاملی قرار میگیرد. از کاربردهای آن میتوان به موارد زیر اشاره کرد:
مسیریابی درونشهری و بینشهری
بین پستهای شبکههای توزیع برق ولتاژ بالا
شبکههای رایانهای
شبکههای مخابراتی
منطق فازی )Logic Fuzzy) دنیای رایانه بر اساس منطق دودویی شکلگرفته است. یعنی همهچیز را بهصورت صفر و یک میبیند؛ اما دنیای واقعی متفاوت از این دیدگاه است و به دلیل همین تفاوت ماهیت، گاهی برای پیادهسازی دستگاههای طبیعی در رایانه مشکلات خاصی ایجاد میشود. برای مثال شیر آبی را تجسم کنید که دارای تنظیم آب سرد و گرم است.
اگر ما بخواهیم بر اساس تفکر دودویی آن را باز و دمای آب خروجی را تنظیم کنیم باید عقیده داشته باشیم که دمای آب فقط میتواند سرد یا گرم باشد.
درصورتیکه ما برای بیان دمای آب از اصطلاحاتی مانند خیلی داغ، داغ، گرم، ولرم، خنک، سرد، خیلی سرد و یخ استفاده میکنیم. وقتی هنگام استحمام در حال تنظیم آب سرد و گرم هستیم، منطق دودویی دیگر به کار نمیآید، بلکه ما با استفاده از منطق دیگری! در حال تنظیم دمای آب به میزان دلخواه هستیم این در حالی است که دمای مطلوب آب برای هر شخص و در شرایط فصلی مختلف میتواند متفاوت باشد.
حال اگر بخواهیم دستگاهی رایانهای طراحی کنیم که دمای آب خروجی را تنظیم کند و فقط بتوانیم با یک کلید، آب را سرد یا گرمکنیم این کار شدنی نیست؛ اما اگر بخواهیم دمای مناسب خود را با عباراتی به زبان ساده توصیف کنیم، سیستم رایانهای تنظیم دما قادر خواهد بود کارش را به نحو بهتری انجام دهد. همانگونه که ما انسانها هنگام تنظیم دمای آب با استفاده از تنظیم میزان خروجی آب گرم و سرد میتوانیم به دمای مناسب برسیم.
در مثالی دیگر، فرض کنید یک مربی برای انتخاب اعضای گروه خود بخواهد افراد قدبلند را انتخاب کند. این کار را چگونه انجام میدهد؟ ازنظر او شخص قدبلند چه کسی است؟ آیا آن مربی در کشوری که غالب افراد، کوتاهقد هستند و کشوری که اغلب افراد، قدبلند هستند یک مالک را در نظر میگیرد؟
اگر بخواهیم برای بلندقد بودن یک شخص مالکی داشته باشیم، در دستگاههای دودویی فقط میتوانیم بگوییم یک شخص قدبلند است یا نه. اما در دنیای واقعی برای بیان قدبلندی، ما از اصطلاحات زبانی خاصی استفاده ً قدبلند، کمی قدبلند؛ اما اگر بخواهیم مدلی ریاضی برای آن بیابیم درمیکنیم مانند خیلی قدبلند، نسبتاً منطق دودویی این کار بهراحتی امکانپذیر نیست.
برای حل این مشکل، دانشمند ایرانی دانشآموخته دانشگاه تهران پروفسور لطفی زاده در حدود 50 سال پیش نظریه منطق فازی را مطرح کرد. وی منطق دودویی را بسط داد و فضای نامحدود عددی بین صفر و یک را در منطق و استدلال خود مطرح کرد.
برای درک بیشتر منطق فازی، مشکل مربی بسکتبال را با استفاده از آن حل خواهیم کرد: در شکل 22 قرار است ارزش قدبلندی هر یک از افراد با شمارههای یک تا پنج را با منطق فازی بهسادگی بیان کنیم. نفر شماره یک با قد 150 سانتیمتر به میزان ٢/0 به دسته افراد قدبلند تعلق دارد و نفر شماره پنج با قد 205 سانتیمتر به میزان 1 ،یعنی بهطور کامل به دسته افراد قدبلند تعلق دارد.
همانطور که میبینید باوجود کوتاه بودن قد نفر شماره یک، به او نیز ارزشی بیش از صفر تعلقگرفته و بدین معنی است که او نیز تا حدودی به دسته افراد قدبلند تعلق دارد اما نه بهاندازه دیگر افراد قدبلندتر از خود.
به یاد داشته باشید که میزان عضویتها و تقسیمبندیهای جدول بالا، بر اساس یک قرارداد از پیش تعیینشده نیست. برای مثال ممکن است در یک کشور که میانگین قد افراد خیلی کوتاه است شخصی با قد 170 سانتیمتر دارای میزان عضویت 1 یعنی قدبلند کامل باشد. اما در کشوری دیگر همین شخص را بهعنوان یک شخص با قد متوسط و میزان عضویت 5/0 در نظر بگیرند.
– منطق فازی راهحلی معتبر برای اغلب مسائل پیچیده است؛ چراکه شبیه فرایند تصمیمگیری و استدلال انسان است. – مفاهیم ریاضی را میتوان بهسادگی با این منطق بیان کرد. – ساخت و درک دستگاههای مبتنی بر این منطق بسیار راحت است.
کاربردهای منطق فازی در زندگی روزمره و اطراف ما به فراوانی مشاهده میشوند. بهطور خالصِ میتوان به چند مورد از کاربردها اشاره کرد: دستگاههای کنترلی – دستگاههای کنترلی خودرو : ترمز ABS خودرو، گیربکسهای خودکار لوازم برقی آشپزخانه: پلوپز، ماشین لباسشویی – آسانسور، جرثقیل – خلبان خودکار، خودروهای خودران – کنترل تأسیسات سیتیاسکن،CCU و ICU دستگاه ضربانساز قلب پردازش تصویر – دوربینهای عکاسی و فیلمبرداری – پردازش تصویر پزشکی کنترلکنندههای محیطی – دستگاههای تهویه هوا – مرطوب کنندههای محیط ، فقط گوشۀ کوچکی از کاربردهای دنیای منطق فازی بود.
منطق فازی و پژوهشهای پروفسور لطفی زاده آغازگر موج جدیدی از تحقیقات در این زمینه شد که هزاران مقاله و اختراع را در کشورهای مختلف جهان در پی داشت. منطق فازی بیان پیچیدگیهای دنیای انسان به زبان ریاضی و به شکلی ساده است. این علم پیشرفتی عجیب در پایههای هوش مصنوعی ایجاد کرده است.