هوش مصنوعی آزاد:مفاهیم اولیه
محتویات
مقدمه
در این صفحه قرار است، مفاهیم اولیهٔ دانش هوش مصنوعی نوشته شود. و مطالب مربوط به سرفصلهای هوش مصنوعی هر کدام در صفحهٔ اختصاصی خود نوشته میشوند که در این جا تنها لینک آنها قرار میگیرد.
اصطلاح هوش مصنوعی برای اولین بار توسط جان مکارتی (John McCorthy) -که از آن بهعنوان پدر «علم و دانش تولید ماشینهای هوشمند» یاد میشود- استفاده شد. آقای جان مکارتی مخترع یکی از زبانهای برنامه نویسی هوش مصنوعی به نام لیسپ ( lisp) نیز هستند. با این عنوان میتوان به هویت رفتارهای هوشمندانه یک ابزار مصنوعی پی برد. (ساختهٔ دست بشر، غیر طبیعی، مصنوعی) حال آنکه AI به عنوان یک اصطلاح عمومی پذیرفته شده که شامل محاسبات هوشمندانه و ترکیبی (مرکب از مواد مصنوعی) است. تاریخچهٔ کوتاهی از هوش مصنوعی در ویکیپدیا موجود است.
هنوز تعریف دقیقی برای هوش مصنوعی که مورد توافق دانشمندانه این علم باشد ارائه نشدهاست، و این به هیچ وجه مایهٔ تعجّب نیست. چرا که مقولهٔ مادر و اساسیتر از آن، یعنی خود هوش هم هنوز بطور همهجانبه و فراگیر تن به تعریف ندادهاست. در واقع، میتوان نسلهایی از دانشمندان را سراغ گرفت که تمام دوران زندگی خود را صرف مطالعه و تلاش در راه یافتن جوابی به این سؤال عمده نمودهاند که: هوش چیست؟
اما اکثر تعریفهایی که در این زمینه ارایه شدهاند بر پایه یکی از ۴ باور زیر قرار میگیرند:
- سیستمهایی که به طور منطقی فکر میکنند.
- سیستمهایی که به طور منطقی عمل میکنند.
- سیستمهایی که مانند انسان فکر میکنند.
- سیستمهایی که مانند انسان عمل میکنند.
شاید بتوان هوش مصنوعی را این گونه توصیف کرد: «هوش مصنوعی عبارت است از مطالعه این که چگونه کامپیوترها را میتوان وادار به کارهایی کرد که در حال حاضر انسانها آنها را صحیح یا بهتر انجام میدهند». هوش مصنوعی به هوشی که یک ماشین از خود نشان میدهد و یا به دانشی در کامپیوتر که سعی در ایجاد آن دارد گفته میشود. بیشتر نوشتهها و مقالههای مربوط به هوش مصنوعی آن را «دانش شناخت و طراحی عاملهای هوشمند » تعریف کردهاند. یک عامل هوشمند سیستمی است که با شناخت محیط اطراف خود، شانس موفقیت خود را بالا میبرد. جان مکارتی که واژه هوش مصنوعی را در سال ۱۹۵۶ استفاده نمود، آن را «دانش و مهندسی ساخت ماشینهای هوشمند» تعریف کردهاست.
سایر تعریفها در بخش توضیحات وارد شده است.
توضیحات
فهرستی از تعاریف هوش مصنوعی
در قسمت مقدمه تعاریفی را از هوش مصنوعی ارائه دادیم و مشاهده کردیم که سوال «هوش مصنوعی چیست و چه تعریفی میتوان از آن بیان نمود؟» مبحثی است که تاکنون دانشمندان به یک تعریف جامع در آن نرسیدهاند و هریک تعریفی را ارائه نمودهاند که در زیر نمونهای از این تعاریف آمدهاست.
- هنر ایجاد ماشینهایی که وظایفی را انجام میدهندکه انجام آنها توسط انسانها نیاز به هوش دارد (کورزویل- ۱۹۹۰)
- مطالعه استعدادهای ذهنی از طیق مدلهای محاسباتی (کارنیاک و مک درموت - ۱۹۸۵)
- مطالعه اینکه چگونه کامپیوترها را قادر به انجام اعمالی کنیم که در حال حاضر، انسان آن اعمال را بهتر انجام میدهد.(ریچ و نایت -۱۹۹۱)
- خودکارسازی فعالیتهایی که ما آنها را به تفکر انسانی نسبت میدهیم. فعالیتهایی مثل تصمیم گیری، حل مسئله، یادگیری و... (بلمن -۱۹۷۸)
- تلاشی نو و مهیج برای اینکه کامپیوترها را قادر به فکر کردن کنیم. ماشینهایی با فکر و حس تشخیص واقعی (هاگلند-۱۹۸۵)
- یک زمینه تخصصی که به دنبال توضیح و شبیه سازی رفتار هوشمندانه بوسیله فرایندهای کامپیوتری است.(شالکوف -۱۹۹۰)
- مطالعه محاسباتی که درک، استدلال و عمل کردن را توسط ماشینها را ممکن میسازد. (وینستون - ۱۹۹۲)
- توانایی دست یافتن به کارایی در حد انسان در همه امور شناختی توسط رایانه (آلن تورینگ – ۱۹۵۰)
- هوش مصنوعی دانش و مهندسی ساخت ماشینهای هوشمند و به خصوص برنامههای رایانهای هوشمند است. هوش مصنوعی با وظیفه مشابه استفاده از کامپیوترها برای فهم چگونگی هوش انسان مرتبط است، اما مجبور نیست خودش را به روشهایی محدود کند که بیولوژیکی باشند. (جان مک کارتی – ۱۹۸۰)
- هوش مصنوعی علم طراحی سیستمهایی رایانهای ویا الکترونیکی است که تلاش مینماید تا رفتار انسان گونه را بازسازی نماید." به عبارت دیگر: هوش مصنوعی علم و مهندسی ایجاد ماشینهایی با هوش با به کارگیری از کامپیوتر و الگوگیری از درک هوش انسانی و یا حیوانی و نهایتاً دستیابی به مکانیزم هوش مصنوعی در سطح هوش انسانی میباشد. (مسعود مولوی-۲۰۰۶)
همانطور که مشاهده مینمایید تعاریف بسیار متفاوتی از هوش مصنوعی ارائه شدهاست. همه تعریفهای ارائه شده درباره هوش مصنوعی تا کنون بر پایه یکی از چهار تعریف زیر استوار هستند که:
- سیستمی که عقلانی فکر میکند. – سیستمی که مثل انسانها فکر میکند. - سیستمی که عقلانی رفتار میکند. – سیستمی که همانند انسانها عمل میکند.
هر دانشمند و محققی در این زمینهها، عقیده متفاوتی را از عملکرد و نحوه کارکرد یک سیستم هوشمند دارد. اما براستی چرا این چنین است؟ برای پاسخ به این سوال میبایست در ابتدا مفهوم هوشمندی را برای خود تعریف کنیم.
هوشمندی مفهومی نسبی دارد و نمیتوان محدوده صحیحی را برای ارائه تعریف از آن مشخص نمود. رفتاری که از نظر یک فرد هوشمند به نظر میرسد؛ ممکن است برای یک فرد دیگر اینگونه به نظر نرسد. اما در مجموع خصوصیات زیر قابلیتهای ضروری برای هوشمندی است:
- پاسخ به موقعیتهای از قبل تعریف نشده با انعطاف بسیار بالا و بر اساس بانک دانش
- معنا دادن به پیامهای نادرست یا مبهم
- درک تمایزها و شباهتها
- تجزیه و تحلیل اطلاعات و نتیجه گیری
- توانمندی آموختن و یادگرفتن
- برقراری ارتباط دوطرفه
- و...
به فرض اینکه تعاریف بالا را از هوشمندی بپذیریم، موارد زیر فهرستی است از وظایفی که از یک سیستم هوشمند انتظار میرود و تقریباً اکثر دانشمندان هوش مصنوعی بر آن توافق نظردارند به شرح زیر است:
- تولید گفتار
- تشخیص و درک گفتار (پردازش زبان طبیعی انسان)
- دستور پذیری و قابلیت انجام اعمال فیزیکی در محیط طبیعی و مجازی
- استنتاج و استدلال
- تشخیص الگو و بازشناسی الگو برای پاسخ گویی به مسائل بر اساس دانش قبلی
- شمایلی گرافیکی و یا فیزیکی جهت ابراز احساسات و عکس العملهای ظریف
- سرعت عکس العمل بالا
آزمون تورینگ
آزمون تورینگ روشی برای سنجش میزان هوشمندی ماشین است. آزمون به این صورت انجام میگیرد که یک شخص به عنوان قاضی، با یک ماشین و یک انسان به گفتگو مینشیند، و سعی در تشخیص ماشین از انسان دارد. در صورتی که ماشین بتواند قاضی را به گونهای بفریبد که در قضاوت خود دچار اشتباه شود، توانسته است آزمون را با موفقیت پشت سر بگذارد.
برای اینکه تمرکز آزمون بر روی هوشمندی ماشین باشد، و نه توانایی آن در تقلید صدای انسان، مکالمه تنها از طریق متن و صفحه کلید و نمایشگر کامپیوتر صورت میگیرد.
آزمون تورینگ در سال ۱۹۵۰ توسط آلن تورینگ، ریاضیدان انگلیسی مطرح گردید. از نظر تورینگ، پرسش «آیا ماشینها میتوانند تفکر کنند» بیمعنیتر از آن بود که بتوان پاسخ روشنی به آن داد. چرا که نمیتوان تعریف مشخصی برای تفکر ارائه داد. بنابراین تورینگ پرسش را به این گونه مطرح نمود: آیا میتوان ماشینی ساخت که آزمون تورینگ را پشت سر بگذارد؟
عامل هوشمند
عامل هوشمند ( Intelligent agent)، در مبحث هوش مصنوعی به موجودی گفته میشود که در یک محیط، اطراف خود را شناخته و اعمالی را روی محیط انجام میدهد و کلیه اعمالی که انجام میدهد در جهت نیل به اهدافش میباشد. این سیستمها امکان یادگیری دارند و سپس از دانش اکتسابی خود برای انجام اهداف خود استفاده میکنند. این کنشگرها ممکن است بسیار ساده یا پیچیده باشند. بطور مثال ماشینهای کوکی که با برخورد به دیوار، راه خود را عوض میکنند نمونهای از عاملهای هوشمند هستند.
تعریف عامل: عامل هر چیزی است که میتواند محیطش را از طریق حسگرها درک کند و بر روی محیطش از طریق عمل کنندهها تاثیر گذارد. یک عامل انسانی دارای حس کننده هایی از قبیل چشم، گوش، لامسه و امثال آن میباشد. و میتوان از دست، پا، صحبت کردن و اعمال ارادی به عنوان عمل کنندهها نام برد. ورودی یک عامل نرمافزاری میتوانند چندین متغیر باشد که مقدار آنها را عامل میخواند سپس بر اساس مکانیزم تصمیم گیری یک تصمیم اخذ میکند و عملگرهای آن میتوانند دستورهای مقداردهی چند متغیر دیگر باشد. به عنوان مثال فرض کنید یک عامل قرار است متغیر x را بخواند و توان دوم آن را حساب کند و در y قرار دهد. این عامل x را میخوانند و سپس توان دوم آن را حساب میکند و در y قرار میدهد. یک عامل ربات نیز دارای سنسورهایی است که کار حس کردن را برای ربات انجام میدهند.
نحوهٔ کار عامل: یک عامل چگونه باید بفهمد که بهترین عمل ممکن چیست؟ عمل درست عملی است که باعث شود عامل موفقترین باشد. این امر ما را با مساله تصمیم گیری در مورد چگونگی و زمان ارزیابی کردن موفقیت عامل روبرو میکند. اصطلاح میزان کارایی برای موفقیت عامل را تعریف میکنیم. گفتنی است که میزان کارایی برای عاملهای مختلف متفاوت میباشد. نکته خیلی مهم این است که میزان کارایی یک عامل باید بر اساس محیط تعریف شود
انواع محیط
- قابل مشاهده و غیرقابل مشاهده: اگر عامل به کل محیط دسترسی داشته باشد و بتواند آنرا حس کند میگوییم محیط قابل مشاهده است، در غیر این صورت آنرا غیر قابل مشاهده یا تا حدودی قابل مشاهده مینامیم. مثلا در محیط عامل شطرنجباز کل محیط قابل مشاهده است. طبیعی است که یک مساله با محیط قابل مشاهده برای طراحان عاملها مطلوب تر میباشد
- قطعی و غیرقطعی: اگر بتوان حالت بعدی را از حالت فعلی، عمل فعلی و کنشهایی که تا کنون انجام شده به دست بیاوریم، میگوییم که محیط قطعی است. بازهم میتوان از بازی شطرنج برای محیط قطعی مثال زد، چون با محیط فعلی و حرکت فعلی میشود حالت بعدی را به صورت دقیق یافت. قابل توجه است که بدانیم اگر محیط کاملا قابل مشاهده نباشد آنگاه قطعی نخواهد بود. اما اگر با یک حرکت ممکن باشد به چندین حالت برویم محیط غیر قطعی است. شبیهسازی فوتبال نمونهای از محیط غیرقطعی است.
- دوره ای یا غیر دوره ای: اگر هر دوره از دورههای دیگر مستقل باشد میگوییم محیط دوره ای است. مانند دورههای مختلف در مذاکرات چند عامله. محیطهای غیر دوره ای به عنوان محیطهای ترتیبی نیز یاد میشوند.
ایستا و پویا: اگر محیط در زمان تصمیم گیری عامل تغییر کند آنگاه محیط پویا است. و در غیر آن صورت محیط ایستا است. اما اگر محیط در زمان تصمیم گیری ثابت بماند اما زمان، کارایی عامل را کاهش دهد، محیط را نیمه پویا مینامیم
- گسسته و پیوسته: اگر مشاهدات و اعمال مختلف مجزا و تعریف شده باشند، محیط پیوسته است. مانند شطرنج. اما یک عامل بهینهساز معادلات در محیط پیوسته کار میکند.
ساختار عاملهای هوشمند
مهمترین کار طراحی برنامهٔ عامل است. برنامهٔ عامل تابعی است که ادراکات را به یک عملها نگاشت میکند. معماری عامل ساختاری است که برنامه محاسباتی عامل روی آن پیاده سازی میشود. پس در کل معماری از طریق حسگرها ورودی را میگیرد، توسط برنامه تصمیم میگیرد و در نهایت با عملگرها عمل میکند و روی محیط تاثیر میگذارد.
فلسفهٔ هوش مصنوعی
بطور کلی ماهیت وجودی هوش به مفهوم جمع آوری اطلاعات، استقرا و تحلیل تجربیات به منظور رسیدن به دانش و یا ارایه تصمیم است. در واقع هوش به مفهوم به کارگیری تجربه به منظور حل مسائل دریافت شده تلقی میشود. هوش مصنوعی علم و مهندسی ایجاد ماشینهایی هوشمند با به کارگیری از کامپیوتر و الگوگیری از درک هوش انسانی و یا حیوانی و نهایتاً دستیابی به مکانیزم هوش مصنوعی در سطح هوش انسانی است.
در مقایسه هوش مصنوعی با هوش انسانی میتوان گفت که انسان قادر به مشاهده و تجزیه و تحلیل مسایل در جهت قضاوت و اخذ تصمیم است در حالی که هوش مصنوعی مبتنی بر قوانین و رویههایی از قبل تعبیه شده بر روی کامپیوتر است. در نتیجه علیرغم وجود کامپیوترهای بسیار کارا و قوی در عصر حاضر ما هنوز قادر به پیاده کردن هوشی نزدیک به هوش انسان در ایجاد هوشهای مصنوعی نبودهایم.
بطور کلّی، هوش مصنوعی را میتوان از زوایای متفاوتی مورد بررسی و مطالعه قرار داد. مابین هوش مصنوعی به عنوان یک هدف، هوش مصنوعی به عنوان یک رشته تحصیلی دانشگاهی، و یا هوش مصنوعی به عنوان مجموعهٔ فنون و راه کارهایی که توسط مراکز علمی مختلف و صنایع گوناگون تنظیم و توسعه یافتهاست باید تفاوت قائل بود.
مباحث و سرفصلهای هوش مصنوعی
مباحث و سرفصلهای مختلفی در هوش مصنوعی وجود دارد، که قصد داریم در پروژهٔ هوش مصنوعی آزاد، مطالب این دانش را با مشارکت آموزشی افراد در اختیار همهٔ افراد قرار دهیم. و با تعریف پروژههای آزاد در زمینهٔ هوش مصنوعی به روش دانش آزاد فعالیت داشته باشیم.
فهرست سرفصلهای هوش مصنوعی و نیازمند مشارکت آموزشی
موارد کاربرد
کاربردهای کلی هوش مصنوعی:
- اولین تلاشهایی که در زمینهٔ هوش مصنوعی صورت گرفت در دو زمینهٔ بازیهای فکری نظیر شطرنج و اثبات خودکار قضایای ریاضی بود.
- ردهٔ دیگری از مسائل به «استدلال روزمره» موسوم است. موضوع این شاخه، برنامهریزی در انجام امور روزمره است.
- ادراک زمینهٔ دیگری از هوش مصنوعی میباشد. بینایی و گفتار دو موضوع مهم در این زمینه هستند.
- یکی دیگر از شاخههای هوش مصنوعی درک زبان طبیعی است.
- به جز مواردی که در بالا ذکر شد، شبیهسازی خبرگی و تخصصهای ویژهٔ انسانی نظیر طراحی مهندسی، تشخیص و درمان بیماریها زمینههای کاربردی مهم دیگری از هوش مصنوعی است.
- کاربرد دیگر هوش مصنوعی در دانش رباتیک میباشد.
- هوش مصنوعی کاربردهای زیادی دارد که به صورتی جزئی در صفحهٔ اختصاصی هر سرفصل به آنها اشاره شده است.
پروژههای مورد استفاده
ایدههای مرتبط با این زمینه
منابع آموزشی
صفحات وب
کتابها
غیر قابل دانلود
- Artificial intelligence handbook
- فارسی: ایلین ریچ، هوش مصنوعی (وتکنیکها)، ترجمه آزاد از دکتر مهرداد فهیمی، نشر جلوه، ۱۳۷۵،
قابل دانلود
مقالات
- کاربردهای هوش مصنوعی (فارسی،۹۵ صفحه)