هوش مصنوعی به هوشی که یک ماشین از خود نشان میدهد و یا به دانشی در کامپیوتر که سعی در ایجاد آن دارد گفته میشود. بیشتر نوشتهها و مقالههای مربوط به هوش مصنوعی آن را "دانش شناخت و طراحی عامل های هوشمند" تعریف کردهاند. یک عامل هوشمند سیستمی است که با شناخت محیط اطراف خود, شانس موفقیت خود را بالا میبرد. جان مکارتی که واژه هوش مصنوعی را در سال ۱۹۵۶ استفاده نمود, آن را «دانش و مهندسی ساخت ماشینهای هوشمند» تعریف کردهاست. تحقیقات و جستجوهایی انجام شده برای رسیدن به ساخت چنین ماشینهایی مرتبط با بسیاری از رشتههای علمی دیگر میباشد، مانند علوم رایانه، روانشناسی، فلسفه، عصب شناسی، علوم ادراکی، تئوری کنترل، احتمالات، بهینه سازی و منطق.
تاریخچه
هوش مصنوعی پیش از بوجود آمدن علوم الکترونیک، توسط فلاسفه و ریاضی دانانی نظیر بول ( Boole ) که اقدام به ارائه قوانین و نظریههایی در باب منطق نمودند، مطرح شده بود. در سال ۱۹۴۳، با اختراع رایانههای الکترونیکی، هوش مصنوعی، دانشمندان را به چالشی بزرگ فراخواند. بنظر میرسید، فناوری در نهایت قادر به شبیهسازی رفتارهای هوشمندانه خواهد بود.
با وجود مخالفت گروهی از متفکرین با هوش مصنوعی که با دیده تردید به کارآمدی آن مینگریستند تنها پس از چهار دهه، شاهد تولد ماشینهای شطرنج باز و دیگر سامانههای هوشمند در صنایع گوناگون هستیم.
نام هوش مصنوعی در سال ۱۹۶۵ میلادی به عنوان یک دانش جدید ابداع گردید. البته فعالیت درزمینه این علم از سال ۱۹۶۰ میلادی شروع شدهبود.
بیشتر کارهای پژوهشی اولیه در هوش مصنوعی بر روی انجام ماشینی بازیها و نیز اثبات قضیههای ریاضی با کمک رایانهها بود. در آغاز چنین به نظر میآمد که رایانهها قادر خواهند بود چنین اموری را تنها با بهره گرفتن از تعداد بسیار زیادی کشف و جستجو برای مسیرهای حل مسئله و سپس انتخاب بهترین آنها به انجام رسانند.
این اصطلاح ( هوش مصنوعی ) برای اولین بار توسط جان مکارتی ( John Mccorthy ) که از آن بهعنوان پدر « علم و دانش تولید ماشینهای هوشمند » یاد میشود استفاده شد. با این عنوان میتوان به هویت هوشمند یک ابزار مصنوعی اشاره کرد. ( ساختهٔ دست بشر، غیر طبیعی، مصنوعی )
حال آنکه AI به عنوان یک اصطلاح عمومی پذیرفته شده که شامل محاسبات هوشمندانه و ترکیبی ( مرکب از مواد مصنوعی ) میباشد.
از اصطلاح strong and weak AI میتوان تا حدودی برای معرفی ردهبندی سیستمها استفاده کرد. AI ها در رشتههای مشترکی چون علم کامپیوتر، روانشناسی و فلسفه مورد مطالعه قرار میگیرند، که مطابق آن باعث ایجاد یک رفتار هوشمندانه، یادگیری و سازش میشود و معمولاً نوع پیشرفتهٔ آن در ماشینها و کامپیوترها استفاده میشود.
محققین هوش مصنوعی علاقهمند به تولید ماشینی هستند که دستورات مورد نیاز را به صورت هوشمندانه انجام دهد. به عنوان مثال قابلیت کنترل، برنامهریزی و زمانبندی، توانایی تشخیص جواب به سوال مصرف کننده،دست نویسها، زبان شناسی، سخنرانی و شناسایی چهره را داشته باشد. مطالعه بر روی یک AI دارد به یک رشتهٔ مهندسی تبدیل میشود که کانون مشروط است بر حل مشکلات زندگی واقعی، علم معدن کاری، نرم افزارهای کاربردی، استراتژی بازیها مثل بازی شطرنج و بازیهای ویدئویی یکی از بزرگترین مشکلات ( سختیها ) با AIها، قوهٔ درک آنها است.
تاحدی دستگاههای تولیدشده میتوانند شگفتانگیز باشند، اما کارشناسان هوش مصنوعی ادعا میکنند که ماشینهای هوشمند ساختهشده دارای درک واقعی و حقیقی نیستند.
آزمون تیورینگ
آزمون تیورینگ یا تیورینگ تست (Turing test), آزمونی است که توسط آلن تیورینگ در سال 1950 در نوشته ای به نام "محاسبات ماشینی و هوشمندی" مطرح شد. کوشش این آزمون برای تشخیص درستی هوشمندی یک سیستم که سعی در شبیه سازی انسان دارد میباشد.
تعریف و طبیعت هوش مصنوعی
هنوز تعریف دقیقی که مورد قبول همهٔ دانشمندان این علم باشد برای هوش مصنوعی ارائه نشدهاست، و این امر، به هیچ وجه مایهٔ تعجّب نیست. چرا که مقولهٔ مادر و اساسیتر از آن، یعنی خود هوش هم هنوز بطور همهجانبه و فراگیر تن به تعریف ندادهاست. در واقع، میتوان نسلهایی از دانشمندان را سراغ گرفت که تمام دوران زندگی خود را صرف مطالعه و تلاش در راه یافتن جوابی به این سؤال عمده نمودهاند که: هوش چیست؟
اما اکثر تعریفهایی که در این زمینه ارایه شدهاند بر پایه یکی از ۴ باور زیر قرار میگیرند:
1. سیستمهایی که به طور منطقی فکر میکنند
2. سیستمهایی که به طور منطقی عمل میکنند
3. سیستمهایی که مانند انسان فکر میکنند
4. سیستمهایی که مانند انسان عمل میکنند(مرجع۱)
شاید بتوان هوش مصنوعی را این گونه توصیف کرد:«هوش مصنوعی عبارت است از مطالعه این که چگونه کامپیوترها را میتوان وادار به کارهایی کرد که در حال حاضر انسانها آنها رابهتر انجام میدهند»(مرجع۲).
فلسفهٔ هوش مصنوعی
بطور کلی ماهیت وجودی هوش به مفهوم جمع آوری اطلاعات، استقرا و تحلیل تجربیات به منظور رسیدن به دانش و یا ارایه تصمیم میباشد. در واقع هوش به مفهوم به کارگیری تجربه به منظور حل مسائل دریافت شده تلقی میشود. هوش مصنوعی علم و مهندسی ایجاد ماشینهایی با هوش با به کارگیری از کامپیوتر و الگوگیری از درک هوش انسانی و یا حیوانی و نهایتاً دستیابی به مکانیزم هوش مصنوعی در سطح هوش انسانی میباشد.
در مقایسه هوش مصنوعی با هوش انسانی میتوان گفت که انسان قادر به مشاهده و تجزیه و تحلیل مسایل در جهت قضاوت و اخذ تصمیم میباشد در حالی که هوش مصنوعی مبتنی بر قوانین و رویههایی از قبل تعبیه شده بر روی کامپیوتر میباشد. در نتیجه علی رغم وجود کامپیوترهای بسیار کارا و قوی در عصر حاضر ما هنوز قادر به پیاده کردن هوشی نزدیک به هوش انسان در ایجاد هوشهای مصنوعی نبودهایم.
بطور کلّی، هوش مصنوعی را میتوان از زوایای متفاوتی مورد بررسی و مطالعه قرار داد. مابین هوش مصنوعی به عنوان یک هدف، هوش مصنوعی به عنوان یک رشته تحصیلی دانشگاهی، و یا هوش مصنوعی به عنوان مجموعهٔ فنون و راه کارهایی که توسط مراکز علمی مختلف و صنایع گوناگون تنظیم و توسعه یافتهاست باید تفاوت قائل بود.
هوش مصنوعی و هوش انسانی
برای شناخت هوش مصنوعی شایسته است تا تفاوت آن را با هوشانسانی به خوبی بدانیم. مغز انسان از میلیاردها سلول یا رشته عصبیدرست شده است و این سلولها به صورت پیچیدهای به یکدیگرمتصلاند. شبیهسازی مغز انسان میتواند از طریق سختافزار یا نرمافزارانجام گیرد. تحقیقات اولیه نشان داده است شبیهسازی مغز، کاریمکانیکی و ساده میباشد. برای مثال، یک کرم دارای چند شبکه عصبیاست. یک حشره حدود یک میلیون رشته عصبی دارد و مغز انسان ازهزار میلیارد رشته عصبی درست شده است. با تمرکز و اتصال رشتههایعصبی مصنوعی میتوان واحد هوش مصنوعی را درست کرد.
هوش انسانی بسیار پیچیدهتر و گستردهتر از سیستمهای رایانهایاست و توانمندیهای برجستهای مانند: استدلال، رفتار، مقایسه، آفرینشو بکار بستن مفهومها را دارد.
هوش انسانی توان ایجاد ارتباط میان موضوعها و قیاس ونمونه سازیهای تازه را دارد. انسان همواره قانونهای تازهای میسازد و یاقانون پیشین را در موارد تازه بکار میگیرد. توانایی بشر در ایجادمفهومهای گوناگون در دنیای پیرامون خود، از ویژگیهای دیگر اوست.مفهومهای گستردهای همچون روابط علت و معلولی، رمان و یامفهومهای سادهتری مانند گزینش وعدههای خوراک (صبحانه، ناهار وشام) را انسان ایجاد کرده است. اندیشیدن در این مفهومها و بکاربستنآنها، ویژه رفتار هوشمندانه انسان است.
هوش مصنوعی در پی ساخت دستگاههایی است که بتوانندتوانمندهای یاد شده (استدلال، رفتار، مقایسه و مفهوم آفرینی) را از خودبروز دهند. آنچه تاکنون ساخته شده نتوانسته است خود را به این پایهبرساند، هر چند سودمندیهای فراوانی به بار آورده است.
نکته آخر اینکه، یکی از علل رویارویی با مقوله هوش مصنوعی،ناشی از نامگذاری نامناسب آن میباشد. چنانچه جان مککارتی در سال1956 میلادی آن را چیزی مانند «برنامهریزی پیشرفته» نامیده بود شاید جنگ و جدلی در پیرامون آن رخ نمیداد.
اطاق چینی
اطاق چینی بحثی است که توسط "جان سیرل" در 1980 مطرح شد در این راستا که یک ماشین سمبل گرا هرگز نمیتواند دارای ویژگی هایی مانند "مغز" و یا "فهمیدن" باشد, صرف نظر از اینکه چقدر از خود هوشمندی نشان دهد.
مدیریت پیچیدگی
ایجاد و ابداع فنون و تکنیکهای لازم برای مدیریّت پیچیدگی را باید به عنوان هستهٔ بنیادین تلاشهای علمی و پژوهشی گذشته، حال، و آینده، در تمامی زمینههای علوم رایانه، و به ویژه، در هوش مصنوعی معرّفی کرد. شیوهها و تکنیکهای هوش مصنوعی، در واقع، برای حلّ آن دسته از مسائل به وجود آمدهاست که به طور سهل و آسان توسط برنامهنویسی تابعی (Functional programming)، یا شیوههای ریاضی قابل حلّ نبودهاند.
در بسیاری از موارد، با پوشانیدن و پنهان ساختن جزئیّات فاقد اهمّیّت است که بر پیچیدگی فائق میآییم و میتوانیم بر روی بخشهایی از مسئله متمرکز شویم که مهمتر است. تلاش اصلی در واقع، ایجاد و دستیابی به لایهها و ترازهای بالاتر از هوشمندی تجرید را نشانه میرود، تا آنجا که، سرانجام برنامههای کامپوتری درست در همان سطحی کار خواهند کرد که خود انسانها رسیده اند.
به یاری پژوهشهای گسترده دانشمندان علوم مرتبط، هوش مصنوعی تاکنون راه بسیاری پیمودهاست. در این راستا، تحقیقاتی که بر روی توانایی آموختن زبانها انجام گرفت و همچنین درک عمیق از احساسات، دانشمندان را در پیشبرد این دانش کمک زیادی کردهاست. یکی از اهداف متخصصین، تولید ماشینهایی است که دارای احساسات بوده و دست کم نسبت به وجود خود و احساسات خود آگاه باشند. این ماشین باید توانایی تعمیم تجربیات قدیمی خود در شرایط مشابه جدید را داشته و به این ترتیب اقدام به گسترش دامنه دانش و تجربیاتش کند.
برای نمونه روباتیی هوشمند که بتواند اعضای بدن خود را به حرکت درآورد، این روبات نسبت به این حرکت خود آگاه بوده و با آزمون و خطا، دامنه حرکت خود را گسترش میدهد و با هر حرکت موفقیت آمیز یا اشتباه، دامنه تجربیات خود را وسعت بخشیده و سر انجام راه رفته و یا حتی میدود و یا به روشی برای جابجا شدن دست مییابد، که سازندگانش برای او متصور نبودهاند.
هر چند نمونه بالا ممکن است کمی آرمانی به نگر برسد، ولی به هیچ عنوان دور از دسترس نمیباشد. دانشمندان, عموماً برای تولید چنین ماشینهایی، از وجود مدلهای زنده ای که در طبیعت وجود، به ویژه آدمی نیز سود برده اند.
هوش مصنوعی اکنون در خدمت توسعه علوم رایانه نیز میباشد. زبانهای برنامه نویسی پیشرفته، که توسعه ابزارهای هوشمند را ممکن ساخته اند, پایگاههای دادهای پیشرفته، موتورهای جستجو، و بسیاری نرمافزارها و ماشینها از نتایج پژوهش هایی در راستای هوش مصنوعی بوده اند.
تکنیکها وزبانهای برنامه نویسی هوش مصنوعی
عملکرد اولیه برنامه نویسی هوش مصنوعی ایجاد ساختار کنترلی مورد لزوم برای محاسبه سمبولیک است زبانهای برنامه نویسی LISP,PROLOG علاوه بر اینکه از مهمترین زبانهای مورد استفاده در هوش مصنوعی هستند خصوصیات نحوی ومعنایی انها باعث شده که انها شیوه ها وراه حل های قوی برای حل مسئله ارایه کنند. تاثیر قابل توجه این زبانها بر روی توسعه AI از جمله توانایی های انها بعنوان"ابزارهای فکرکردن"می باشد . در حقیقت همانطور که هوش مصنوعی مراحل رشد خود را طی می کند زبانهای LISP,PROLOGبیشتر مطرح می شوند این زبانها کار خود را در محدوده توسعه سیستم های AIدر صنعت ودانشگاه ها دنبال می کنند وطبیعتا" اطلاعات در مورد این زبانها بعنوان بخشی از مهارت هر برنامه نویس AIمیباشد. PROLOGیک زبان برنامه نویسی منطقی است .یک برنامه منطقی دارای یک سری ویژگیهای قانون ومنطق است . در حقیقت خود این نام از برنامه نویسی PROدر LOGIC میآید . در این زبان یک مفسر برنامه را بر اساس یک منطق می نویسد .ایده استفاده توصیفی محاسبه ی اولیه برای بیان خصوصیات حل مسئله یکی از محوریتهای مشارکت PROLOGمی باشد که برای علم کامپیوتر بطورکلی وبطور اخص برای زبان برنامه نویسی هوشمند مورد استفاده قرار می گیرند . LISP اصولا" LISP یک زبان کامل است که دارای عملکردها ولیست های لازمه برای توصیف عملکردهای جدید, تشخیص تناسب وارزیابی معانی می باشد LISP به برنامه نویس قدرت کامل برای اتصال به ساختارهای اطلاعاتی را می دهد گر چه LISP یکی از قدیمی ترین ترین زبانهای محاسباتی است که هنوز فعال است ولی دقت کافی در برنامه نویسی وطراحی توسعه باعث شده که این یک زبان برنامه نویسی فعال باقی بماند . در حقیقت این مدل برنامه نویسی طوری موثر بوده است که تعدادی از دیگر زبانها براساس عملکرد برنامه نویسی آن بنا شده اند :مثل . FP,ML, SCHEME یکی از مهمترین برنامه های مرتبط با LISP برنامه SCHEME می باشد که یک تفکر دوباره در باره زبان در آن وجود دارد که بوسیله توسعه AI وبرای آموزش واصول علم کامپیوتر مورد استفاده قرار می گیرد.
عاملهای هوشمند
عاملها (Agents) قادر به شناسایی الگوها، و تصمیم گیری بر اساس قوانین فکر کردن خود میباشند. قوانین و چگونگی فکر کردن هر عامل در راستای دستیابی به هدفش، تعریف میشود. این سیستمها بر اساس قوانین خاص خود فکر کرده و کار خودرا به درستی انجام میدهند. پس عاقلانه رفتار میکنند، هر چند الزاما مانند انسان فکر نمیکنند.
سیستمهای خبره
سیستمهای خبره زمینهای پرکاربرد در هوش مصنوعی و مهندسی دانش است که با توجّه به نیاز روز افزون جوامع بر اتخاذ راه حلها و تصمیمات سریع در مواردی که دانشهای پیچیده و چندگانهٔ انسانی مورد نیاز است، بر اهمیت نقش آنها افزوده هم میشود. سیستمهای خبره به حل مسائلی میپردازند که به طور معمول نیازمند تخصّصهای کاردانان و متخصّصان انسانیست. به منظور توانایی بر حل مسائل در چنین سطحی (ترازی)، دسترسی هرچه بیشتر اینگونه سامانهها به دانش موجود در آن زمینه خاص ضروری میگردد.متن پررنگ
سیستمهای خبره، برنامههای کامیپوتری هوشمندی هستند که دانشو روشهای استنباط و استنتاج را بکار میگیرند تا مسائلی را حل کنند کهبرای حل آنها به مهارت انسانی نیاز است.
سیستمهای خبره کاربر را قادر به مشاوره با سیستمهای کامپیوتریدر مورد یک مسئله و یافتن دلایل بروز مسئله و راهحلهای آن میکند.در این حالات مجموعه سختافزار و نرمافزار تشکیل دهنده سیستمخبره، مانند فرد خبره اقدام به طرح سئوالات مختلف و دریافتپاسخهای کاربر، مراجعه به پایگاه دانش (تجربیات قبلی) و استفاده ازیک روش منطقی برای نتیجهگیری و نهایتا ارائه راهحل مینماید.همچنین سیستم خبره قادر به شرح مراحل نتیجهگیری خود تا رسیدن بههدف)چگونگی نتیجهگیری(و دلیل مطرح شدن یک سئوال اجرایی)روش حرکت تا رسیدن به هدف(خواهد بود.
سیستمهای خبره برخلاف سیستمهای اطلاعاتی که بر روی دادهها(Data) عمل میکنند، بر دانش (Knowledge) متمرکز شده است. همچنین دریک فرآیند نتیجهگیری، قادر به استفاده از انواع مختلف دادهها )عددیDigital، نمادی Symbolic و مقایسهای Analoge( میباشند. یکی دیگر ازمشخصات این سیستمها استفاده از روشهای ابتکاری (Heuristic) به جایروشهای الگوریتمی میباشد. این توانایی باعث قرار گرفتن محدودوسیعی از کاربردها در برد عملیاتی سیستمهای خبره میشود. فرآیندنتیجهگیری در سیستمهای خبره بر روشهای استقرایی و قیاسی پایهگذاریشده است. از طرف دیگر این سیستمها میتوانند دلایل خود در رسیدنبه یک نتیجهگیری خاص و یا جهت و مسیر حرکت خود به سوی هدفرا شرح دهند. با توجه به توانایی این سیستمها در کار در شرایط فقداناطلاعات کامل و یا درجات مختلف اطمینان در پاسخ به سئوالات مطرحشده، سیستمهای خبره نماد مناسبی برای کار در شرایط عدم اطمینان(Uncertainty) و یا محیطهای چند وجهی میباشن6+50+د.
مزایای سیستمهای خبره
مزایای سیستمهای خبره را میتوان به صورت زیر دستهبندی کرد:
1- افزایش قابلیت دسترسی: تجربیات بسیاری از طریق کامپیوتر دراختیار قرار میگیرد و به طور سادهتر میتوان گفت یک سیستم خبره،تولید انبوه تجربیات است.
2- کاهشهزینه:هزینهکسبتجربهبرایکاربربهطورزیادیکاهشمییابد.
3- کاهش خطر: سیستم خبره میتواند در محیطهایی که ممکن استبرای انسان سخت و خطرناک باشد نیز بکار رود.
4- دائمی بودن: سیستمهای خبره دائمی و پایدار هستند. بعبارتی مانندانسانها نمیمیرند و فنا ناپذیرند.
5- تجربیات چندگانه: یک سیستم خبره میتواند مجموع تجربیات وآگاهیهای چندین فرد خبره باشد.
6- افزایش قابلیت اطمینان: سیستمهای خبره هیچ وقت خسته وبیمار نمیشوند، اعتصاب نمیکنند و یا علیه مدیرشان توطئه نمیکنند، درصورتی که اغلب در افراد خبره چنین حالاتی پدید میآید.
7- قدرت تبیین (Explanation): یک سیستم خبره میتواند مسیر و مراحلاستدلالی منتهی شده به نتیجهگیری را تشریح نماید. اما افراد خبره اغلباوقات بدلایل مختلف (خستگی، عدم تمایل و…) نمیتوانند این عمل رادر زمانهای تصمیمگیری انجام دهند. این قابلیت، اطمینان شما را در موردصحیح بودن تصمیمگیری افزایش میدهد.
8- پاسخدهیسریع:سیستمهایخبره،سریعودراسرعوقتجوابمیدهند.
9- پاسخدهی در همه حالات: در مواقع اضطراری و مورد نیاز،ممکن است یک فرد خبره بخاطر فشار روحی و یا عوامل دیگر، صحیحتصمیمگیری نکند ولی سیستم خبره این معایب را ندارد.
10- پایگاه تجربه: سیستم خبره میتواند همانند یک پایگاه تجربهعمل کند وانبوهی از تجربیات را در دسترس قرار دهد.
11- آموزش کاربر: سیستم خبره میتواند همانند یک خودآموز هوش(Intelligent Tutor) عمل کند. بدین صورت که مثالهایی را به سیستم خبرهمیدهند و روش استدلال سیستم را از آن میخواهند.
12- سهولت انتقال دانش: یکی از مهمترین مزایای سیستم خبره،سهولت انتقال آن به مکانهای جغرافیایی گوناگون است. این امر برایتوسعهکشورهاییکه استطاعت خرید دانش متخصصانراندارند،مهماست.