هوش مصنوعی

قسمت، یک ربات با مهارت‌های ابتدایی اجتماعی
هوش مصنوعی، هوش صناعی یا هوش ماشینی به هوشی که یک ماشین در شرایط مختلف از خود نشان می‌دهد، گفته می‌شود. به عبارت دیگر هوش مصنوعی به سیستم‌هایی گفته می‌شود که می‌توانند واکنش‌هایی مشابه رفتارهای هوشمند انسانی از جمله درک شرایط پیچیده، شبیه‌سازی فرایندهای تفکری و شیوه‌های استدلالی انسانی و پاسخ موفق به آنها، یادگیری و توانایی کسب دانش و استدلال برای حل مسایل را داشته باشند. بیشتر نوشته‌ها و مقاله‌های مربوط به هوش مصنوعی، آن را به عنوان «دانش شناخت و طراحی عامل‌های هوشمند» تعریف کرده‌اند.
هوش مصنوعی را باید عرصه پهناور تلاقی و ملاقات بسیاری از دانش‌ها، علوم، و فنون قدیم و جدید دانست. ریشه‌ها و ایده‌های اصلی آن را باید در فلسفه، زبان‌شناسی، ریاضیات، روان‌شناسی، عصب‌شناسی، فیزیولوژی، تئوری کنترل، احتمالات و بهینه‌سازی جستجو کرد و کاربردهای گوناگون و فراوانی در علوم رایانه، علوم مهندسی، علوم زیست‌شناسی و پزشکی، علوم اجتماعی و بسیاری از علوم دیگر دارد.
از زبان‌های برنامه‌نویسی هوش مصنوعی می‌توان به لیسپ، پرولوگ، کلیپس و ویپی اکسپرت اشاره کرد.
یک «عامل هوشمند» سیستمی است که با شناخت محیط اطراف خود، شانس موفقیت خود را پس از تحلیل و بررسی افزایش می‌دهد. جان مکارتی که واژه هوش مصنوعی را در سال ۱۹۵۶ استفاده نمود، آن را «دانش و مهندسی ساخت ماشین‌های هوشمند» تعریف کرده‌است.
هوش مصنوعی در علم پزشکی امروزه به دلیل گسترش دانش و پیچیده‌تر شدن فرایند تصمیم‌گیری، استفاده از سیستم‌های اطلاعاتی به خصوص سیستم‌های هوش مصنوعی در تصمیم‌گیری، اهمیت بیشتری یافته‌است. هوش مصنوعی گسترش دانش در حوزه پزشکی و پیچیدگی تصمیمات مرتبط با تشخیص و درمان - به عبارتی حیات انسان - توجه متخصصین را به استفاده از سیستم‌های پشتیبان تصمیم‌گیری در امور پزشکی جلب نموده‌است. به همین دلیل، استفاده از انواع مختلف سیستم‌های هوشمند در پزشکی رو به افزایش است، به گونه‌ای که امروزه تاثیر انواع سیستم‌های هوشمند در پزشکی مورد مطالعه قرار گرفته‌است.
تاریخچه
نمونه‌ای از مدل شبکه عصبی مصنوعی
هوش مصنوعی توسط فلاسفه و ریاضی‌دانانی نظیر جرج بول که اقدام به ارائه قوانین و نظریه‌هایی در مورد منطق نمودند، مطرح شده بود. با اختراع رایانه‌های الکترونیکی در سال ۱۹۴۳، هوش مصنوعی، دانشمندان آن زمان را به چالشی بزرگ فراخواند. در این شرایط، چنین به‌نظر می‌رسید که این فناوری قادر به شبیه‌سازی رفتارهای هوشمندانه خواهد بود.
با وجود مخالفت گروهی از متفکرین با هوش مصنوعی که با تردید به کارآمدی آن می‌نگریستند تنها پس از چهار دهه، شاهد تولد ماشینهای شطرنج باز و دیگر سامانه‌های هوشمند در صنایع گوناگون شدیم.
نام هوش مصنوعی در سال ۱۹۶۵ میلادی به عنوان یک دانش جدید ابداع گردید. البته فعالیت در این زمینه از سال ۱۹۶۰ میلادی شروع شد. (مرجع۱)
بیشتر کارهای پژوهشی اولیه در هوش مصنوعی بر روی انجام ماشینی بازی‌ها و نیز اثبات قضیه‌های ریاضی با کمک رایانه‌ها بود. در آغاز چنین به نظر می‌آمد که رایانه‌ها قادر خواهند بود چنین فعالیت‌هایی را تنها با بهره گرفتن از تعداد بسیار زیادی کشف و جستجو برای مسیرهای حل مسئله و سپس انتخاب بهترین روش برای حل آن‌ها به انجام رسانند.
اصطلاح هوش مصنوعی برای اولین بار توسط جان مکارتی (که از آن به‌عنوان پدر علم و دانش تولید ماشین‌های هوشمند یاد می‌شود) استفاده شد. وی مخترع یکی از زبان‌های برنامه‌نویسی هوش مصنوعی به نام لیسپ است. با این عنوان می‌توان به هویت رفتارهای هوشمندانه یک ابزار مصنوعی پی برد. (ساخته دست بشر، غیرطبیعی، مصنوعی) حال آنکه هوش مصنوعی به عنوان یک اصطلاح عمومی پذیرفته شده که شامل محاسبات هوشمندانه و ترکیبی (مرکب از مواد مصنوعی) است.
از اصطلاح "Strong and Weak AI" می‌توان تا حدودی برای معرفی رده‌بندی سیستم‌ها استفاده کرد.
کاربردها
کاربردهای هوش مصنوعی چنان گسترده و فراگیر شده‌اند که بسیاری از این کاربردها دیگر با نام هوش مصنوعی شناخته نمی‌شوند و نام تخصصی خود را دارند. تاثیر هوش مصنوعی را اکنون می‌توان در همه جهات و نقاط زندگی مردم دید. آیفونی که قادر به تشخیص اعضای خانه است یا تلویزیونی که نور صفحه نمایش دلخواه را با تعداد افراد تنظیم می‌کند، همه و همه کاربردهای هوش مصنوعی هستند.
کاربردهای عملی آن دسته از کاربردهای هوش مصنوعی هستند که عملیات خاصی را انجام داده و عمل یا تاثیر آن به وضوح توسط کاربر احساس خواهد شد. برای مثال جستجوی خودکار گوگل که از الگوریتم‌ها و متدهای پیچیده هوش مصنوعی استفاده می‌کند، پس از انجام یک عملیات پرهزینه و البته سریع نتایج مرتبط را به شما نشان خواهد داد. ماشین‌هایی که قادر هستند خودشان را کنترل کنند. ربات‌های پرنده یا قایق‌های هوشمند نمونه‌ای بارز و موفق از این نوع کاربردها هستند.
نیاز به تحلیل و استخراج الگو از داده‌های ترافیک شهری، دریافتی کارکنان و جابه جایی پول در یک بانک برای جلوگیری از اختلاس یک عملیات نیست و تاثیر یا خود عمل به وضوح توسط کاربر لمس نخواهد شد؛ اما در مقابل یک تحلیل هوشمند و خودکار است که کاربرد تحلیلی هوش مصنوعی به حساب می‌آید.
آزمون تورینگ
آزمون تورینگ آزمونی است که توسط آلن تورینگ در سال ۱۹۵۰ در نوشته‌ای به نام «محاسبات ماشینی و هوشمندی» مطرح شد. در این آزمون شرایطی فراهم می‌شود که شخصی با ماشینی تعامل برقرار کند و پرسش‌های کافی برای بررسی اقدامات هوشمندانه ماشین، از آن بپرسد. چنانچه در پایان آزمایش نتواند تشخیص دهد که با انسان یا با ماشین در تعامل بوده‌است، آزمون با موفقیت انجام شده‌است. تاکنون هیچ ماشینی از این آزمون با موفقیت بیرون نیامده است. کوشش این آزمون برای تشخیص درستی هوشمندی یک سیستم است که سعی در شبیه‌سازی انسان دارد.
تعریف و طبیعت هوش مصنوعی
هنوز تعریف دقیقی برای هوش مصنوعی که مورد توافق دانشمندان این علم باشد ارائه نشده‌است و این به هیچ وجه مایه تعجب نیست. چرا که مقوله مادر و اساسی‌تر از آن، یعنی خود هوش هم هنوز بطور همه‌جانبه و فراگیر تن به تعریف نداده‌است. در واقع می‌توان نسل‌هایی از دانشمندان را سراغ گرفت که تمام دوران زندگی خود را صرف مطالعه و تلاش در راه یافتن جوابی به این سوال عمده نموده‌اند که: هوش چیست؟
اما اکثر تعریف‌هایی که در این زمینه ارائه شده‌اند بر پایه یکی از ۴ باور زیر قرار می‌گیرند:
سیستم‌هایی که به‌طور منطقی فکر می‌کنند
سیستم‌هایی که به‌طور منطقی عمل می‌کنند
سیستم‌هایی که مانند انسان فکر می‌کنند
سیستم‌هایی که مانند انسان عمل می‌کنند (مرجع۱)
شاید بتوان هوش مصنوعی را این‌گونه توصیف کرد: «هوش مصنوعی عبارت است از مطالعه این که چگونه کامپیوترها را می‌توان وادار به کارهایی کرد که در حال حاضر انسان‌ها آن‌ها را صحیح یا بهتر انجام می‌دهند» (مرجع۲). هوش مصنوعی به هوشی که یک ماشین از خود نشان می‌دهد یا به دانشی در کامپیوتر که سعی در ایجاد آن دارد گفته می‌شود. بیشتر نوشته‌ها و مقاله‌های مربوط به هوش مصنوعی آن را «دانش شناخت و طراحی عامل‌های هوشمند» تعریف کرده‌اند. یک عامل هوشمند، سیستمی است که با شناخت محیط اطراف خود، شانس موفقیت خود را بالا می‌برد.
اینکه هوش مصنوعی چیست و چه تعریفی می‌توان از آن بیان نمود؟ مبحثی است که تاکنون دانشمندان به یک تعریف جامع در آن نرسیده‌اند و هریک تعریفی را ارائه نموده‌اند که در زیر نمونه‌ای از این تعاریف آمده‌است.
هنر ایجاد ماشینهایی که وظایفی را انجام می‌دهند که انجام آن‌ها توسط انسان‌ها نیاز به هوش دارد (کورزویل- ۱۹۹۰)
مطالعه استعدادهای ذهنی از طریق مدل‌های محاسباتی (کارنیاک و مک درموت - ۱۹۸۵)
مطالعه اینکه چگونه کامپیوترها را قادر به انجام اعمالی کنیم که در حال حاضر، انسان آن اعمال را بهتر انجام می‌دهد. (ریچ و نایت -۱۹۹۱)
خودکارسازی فعالیت‌هایی که ما آن‌ها را به تفکر انسانی نسبت می‌دهیم. فعالیت‌هایی مثل تصمیم‌گیری، حل مسئله، یادگیری و … (بلمن -۱۹۷۸)
تلاشی نو و مهیج برای اینکه کامپیوترها را قادر به فکر کردن کنیم. ماشین‌هایی با فکر و حس تشخیص واقعی (هاگلند-۱۹۸۵)
یک زمینه تخصصی که به دنبال توضیح و شبیه‌سازی رفتار هوشمندانه بوسیله فرایندهای کامپیوتری است. (شالکوف -۱۹۹۰)
مطالعه محاسباتی که درک، استدلال و عمل کردن را توسط ماشین‌ها را ممکن می‌سازد. (وینستون - ۱۹۹۲)
توانایی دست یافتن به کارایی در حد انسان در همه امور شناختی توسط رایانه (آلن تورینگ – ۱۹۵۰)
هوش مصنوعی دانش و مهندسی ساخت ماشین‌های هوشمند و به خصوص برنامه‌های رایانه‌ای هوشمند است. هوش مصنوعی با وظیفه مشابه استفاده از کامپیوترها برای فهم چگونگی هوش انسان مرتبط است، اما مجبور نیست خودش را به روش‌هایی محدود کند که بیولوژیکی باشند. (جان مک‌کارتی – ۱۹۸۰)
هوشمندی مفهومی نسبی دارد و نمی‌توان محدوده صحیحی را برای ارائه تعریف از آن مشخص نمود. رفتاری که از نظر یک فرد هوشمند به نظر می‌رسد؛ ممکن است برای یک فرد دیگر این‌گونه به نظر نرسد. اما در مجموع خصوصیات زیر قابلیت‌های ضروری برای هوشمندی است:
پاسخ به موقعیت‌های از قبل تعریف نشده با انعطاف بسیار بالا و بر اساس بانک دانش
معنا دادن به پیام‌های نادرست یا مبهم
درک تمایزها و شباهت‌ها
تجزیه و تحلیل اطلاعات و نتیجه‌گیری
توانمندی آموختن و یادگرفتن
برقراری ارتباط دوطرفه
به فرض اینکه تعاریف بالا را از هوشمندی بپذیریم، موارد زیر فهرستی است از وظایفی که از یک سیستم هوشمند انتظار می‌رود و تقریبا اکثر دانشمندان هوش مصنوعی بر آن توافق نظر دارند به شرح زیر است:
تولید گفتار
تشخیص و درک گفتار (پردازش زبان طبیعی انسان)
دستورپذیری و قابلیت انجام اعمال فیزیکی در محیط طبیعی و مجازی
استنتاج و استدلال
تشخیص الگو و بازشناسی الگو برای پاسخ گویی به مسائل بر اساس دانش قبلی
شمایلی گرافیکی یا فیزیکی جهت ابراز احساسات و عکس العمل‌های ظریف
سرعت عکس العمل بالا
فلسفه هوش مصنوعی
بطور کلی ماهیت وجودی هوش به مفهوم جمع‌آوری اطلاعات، استقراء و تحلیل تجربیات به منظور رسیدن به دانش یا ارائه تصمیم است. در واقع هوش به مفهوم به‌کارگیری تجربه به منظور حل مسائل دریافت شده تلقی می‌شود. هوش مصنوعی علم و مهندسی ایجاد ماشین‌هایی هوشمند با به‌کارگیری از کامپیوتر و الگوگیری از درک هوش انسانی یا حیوانی و نهایتا دستیابی به مکانیزم هوش مصنوعی در سطح هوش انسانی است.
در مقایسه هوش مصنوعی با هوش انسانی می‌توان گفت که انسان قادر به مشاهده و تجزیه و تحلیل مسایل در جهت قضاوت و اخذ تصمیم است در حالی که هوش مصنوعی مبتنی بر قوانین و رویه‌هایی از قبل تعبیه شده بر روی کامپیوتر است. در نتیجه علی‌رغم وجود کامپیوترهای بسیار کارا و قوی در عصر حاضر ما هنوز قادر به پیاده کردن هوشی نزدیک به هوش انسان در ایجاد هوش‌های مصنوعی نبوده‌ایم.
بطور کلی، هوش مصنوعی را می‌توان از زوایای متفاوتی مورد بررسی و مطالعه قرار داد. مابین هوش مصنوعی به عنوان یک هدف، هوش مصنوعی به عنوان یک رشته تحصیلی دانشگاهی، یا هوش مصنوعی به عنوان مجموعه فنون و راه کارهایی که توسط مراکز علمی مختلف و صنایع گوناگون تنظیم و توسعه یافته‌است باید تفاوت قائل بود.
اتاق چینی
اتاق چینی بحثی است که توسط جان سیرل در ۱۹۸۰ مطرح شد در این راستا که یک ماشین نمادگرا هرگز نمی‌تواند دارای ویژگی‌هایی مانند مغز یا فهمیدن باشد. صرف نظر از اینکه چقدر از خود هوشمندی نشان دهد.
مدیریت پیچیدگی
ایجاد و ابداع فنون و تکنیک‌های لازم برای مدیریت پیچیدگی را باید به عنوان هسته بنیادین تلاش‌های علمی و پژوهشی گذشته، حال و آینده در تمامی زمینه‌های علوم رایانه و به ویژه در هوش مصنوعی معرفی کرد. شیوه‌ها و تکنیک‌های هوش مصنوعی در واقع، برای حل آن دسته از مسائل به وجود آمده‌است که به‌طور سهل و آسان توسط برنامه‌نویسی تابعی یا شیوه‌های ریاضی قابل حل نبوده‌اند.
در بسیاری از موارد، با پوشانیدن و پنهان ساختن جزئیات فاقد اهمیت است که بر پیچیدگی فائق می‌آییم و می‌توانیم بر روی بخش‌هایی از مسئله متمرکز شویم که مهم‌تر است. تلاش اصلی در واقع، ایجاد و دستیابی به لایه‌ها و ترازهای بالاتر از هوشمندی انتزاع را نشانه می‌رود تا آنجا که سرانجام، برنامه‌های کامپیوتری درست در همان سطحی کار خواهند کرد که خود انسان‌ها رسیده‌اند.
به یاری پژوهش‌های گسترده دانشمندان علوم مرتبط، هوش مصنوعی تاکنون راه بسیاری پیموده‌است. در این راستا، تحقیقاتی که بر روی توانایی آموختن زبان‌ها انجام گرفت و همچنین درک عمیق از احساسات، دانشمندان را در پیشبرد این دانش کمک زیادی کرده‌است. یکی از اهداف متخصصین، تولید ماشینهایی است که دارای احساسات بوده و دست کم نسبت به وجود خود و احساسات خود آگاه باشند. این ماشین باید توانایی تعمیم تجربیات قدیمی خود در شرایط مشابه جدید را داشته و به این ترتیب اقدام به گسترش دامنه دانش و تجربیاتش کند.
برای نمونه ربات هوشمندی که بتواند اعضای بدن خود را به حرکت درآورد، نسبت به این حرکت خود آگاه بوده و با آزمون و خطا، دامنه حرکت خود را گسترش می‌دهد و با هر حرکت موفقیت‌آمیز یا اشتباه، دامنه تجربیات خود را وسعت بخشیده و سر انجام راه رفته یا حتی می‌دود یا به روشی برای جابجا شدن دست می‌یابد که سازندگانش برای او متصور نبوده‌اند.
هر چند نمونه بالا ممکن است کمی آرمانی به نظر برسد، ولی به هیچ عنوان دور از دسترس نیست. دانشمندان عموما برای تولید چنین ماشینهایی از وجود مدل‌های زنده‌ای که در طبیعت وجود به ویژه آدمی نیز سود برده‌اند.
هوش مصنوعی اکنون در خدمت توسعه علوم رایانه نیز هست. زبان‌های برنامه‌نویسی پیشرفته، که توسعه ابزارهای هوشمند را ممکن ساخته‌اند، پایگاه‌های داده‌ای پیشرفته، موتورهای جستجو، و بسیاری نرم‌افزارها و ماشین‌ها از نتایج پژوهش‌هایی در راستای هوش مصنوعی بوده‌اند.
از زبان‌های برنامه‌نویسی هوش مصنوعی می‌توان به لیسپ، پرولوگ، کلیپس و ویپی اکسپرت اشاره کرد.
تکنیک‌ها و زبان‌های برنامه‌نویسی هوش مصنوعی
عملکرد اولیه برنامه‌نویسی هوش مصنوعی ایجاد ساختار کنترلی مورد لزوم برای محاسبه سمبولیک است. زبان‌های برنامه‌نویسی لیسپ و پرولوگ علاوه بر اینکه از مهم‌ترین زبان‌های مورد استفاده در هوش مصنوعی هستند خصوصیات نحوی و معنایی آن‌ها باعث شده که آن‌ها شیوه‌ها و راه حل‌های قوی برای حل مسئله ارائه کنند. تاثیر قابل توجه این زبان‌ها بر روی توسعه هوش مصنوعی از جمله توانایی‌های آن‌ها به عنوان ابزارهای فکر کردن است. در حقیقت همان‌طور که هوش مصنوعی مراحل رشد خود را طی می‌کند، زبان‌های لیسپ و پرولوگ بیشتر مطرح می‌شوند که این زبان‌ها کار خود را در محدوده توسعه سیستم‌های هوش مصنوعی در صنعت و دانشگاه‌ها دنبال می‌کنند و طبیعتا اطلاعات در مورد این زبان‌ها به عنوان بخشی از مهارت هر برنامه‌نویس هوش مصنوعی است.
پرولوگ: یک زبان برنامه‌نویسی منطقی است. یک برنامه منطقی دارای یک سری ویژگی‌های قانون و منطق است. در حقیقت خود این نام از برنامه‌نویسی PRO در LOGIC می‌آید. در این زبان یک مفسر برنامه را بر اساس یک منطق می‌نویسد. ایده استفاده توصیفی محاسبه اولیه برای بیان خصوصیات حل مسئله یکی از محوریت‌های پرولوگ است که برای علم کامپیوتر به‌طور کلی و بطور جزئی برای زبان برنامه‌نویسی هوشمند مورد استفاده قرار می‌گیرند.
لیسپ: اصولا یک زبان کامل است که دارای عملکردها و لیست‌های لازمه برای توصیف عملکردهای جدید، تشخیص تناسب و ارزیابی معانی است. لیسپ به برنامه‌نویس قدرت کامل برای اتصال به ساختارهای اطلاعاتی را می‌دهد. گر چه لیسپ یکی از قدیمی‌ترین زبان‌های محاسباتی است که هنوز فعال است ولی دقت کافی در برنامه‌نویسی و طراحی توسعه باعث شده‌است که این یک زبان برنامه‌نویسی فعال باقی بماند. در حقیقت این مدل برنامه‌نویسی طوری موثر بوده‌است که تعدادی از دیگر زبان‌ها مانند اف پی، ام‌ال و اسکیم براساس عملکرد برنامه‌نویسی آن بنا شده‌اند. یکی از مهم‌ترین برنامه‌های مرتبط با لیسپ برنامه اسکیم است که یک تفکر دوباره در باره زبان در آن وجود دارد که بوسیله توسعه هوش مصنوعی و برای آموزش و اصول علم کامپیوتر مورد استفاده قرار می‌گیرد.
عامل‌های هوشمند
عامل‌ها (Agents) قادر به شناسایی الگوها و تصمیم‌گیری بر اساس قوانین فکر کردن خود هستند. قوانین و چگونگی فکر کردن هر عامل در راستای دستیابی به هدفش، تعریف می‌شود. این سیستم‌ها بر اساس قوانین خاص خود فکر کرده و کار خود را به درستی انجام می‌دهند. پس عاقلانه رفتار می‌کنند، هر چند الزاما مانند انسان فکر نمی‌کنند.
در بحث هوشمندی اصطلاح پیس سرنام واژه‌های "کارایی (Performance)"، "محیط (Environment)"، "اقدام گر (Agent)" و "حسگر (Sensor)" است.
سیستم‌های خبره
سیستم‌های خبره زمینه‌ای پرکاربرد در هوش مصنوعی و مهندسی دانش است که با توجه به نیاز روزافزون جوامع بر اتخاذ راه حل‌ها و تصمیمات سریع در مواردی که دانش‌های پیچیده و چندگانه انسانی مورد نیاز است و بر اهمیت نقش آن‌ها نیز افزوده می‌شود. سیستم‌های خبره به حل مسائلی می‌پردازند که به‌طور معمول نیازمند تخصص‌های کاردانان و متخصصان انسانی است. به منظور توانایی بر حل مسائل در چنین سطحی (ترازی)، دسترسی هرچه بیشتر این‌گونه سامانه‌ها به دانش موجود در آن زمینه خاص ضروری می‌گردد.
علوم اعصاب شناختی
پردازش زبان‌های طبیعی
هوش مصنوعی (بازی‌های ویدئویی)
علم داده‌ها
فلسفه ذهن
بیوانفورماتیک
یادگیری ماشینی
کاوش‌های ماشینی در داده‌ها
شبکه‌های عصبی