هوش مصنوعی یا هوش ماشینی را باید عرصه پهناور تلاقی و ملاقات بسیاری از دانشها، علوم، و فنون قدیم و جدید دانست که کاربردهای گوناگون و فراوانی در علوم رایانه، علوم مهندسی، علوم زیستشناسی و پزشکی، علوم ارتباطات و بسیاری از علوم دیگر دارد.
هوش مصنوعی به سیستمهایی گفته میشود که میتواند واکنشهایی مشابه رفتارهای هوشمند انسانی از جمله درک شرایط پیچیده، شبیه سازی فرایندهای تفکری و شیوههای استدلالی انسانی و پاسخ موفق به آنها، یادگیری و توانایی کسب دانش و استدلال برای حل مسایل را داشته باشند.
گسترش دانش در حوزهٔ پزشکی و پیچیدگی تصمیمات مرتبط با تشخیص و درمان - به عبارتی حیات انسان - توجه متخصصین را به استفاده از سیستمهای پشتیبان تصمیم گیری در امور پزشکی جلب نموده است.
به همین دلیل، استفاده از انواع مختلف سیستمهای هوشمند در پزشکی رو به افزایش است، به گونه اى که امروزه تأثیر انواع سیستمهای هوشمند در پزشکی مورد مطالعه قرار گرفته است.
هوش مصنوعی به هوشی که یک ماشین در شرایط مختلف از خود نشان میدهد، گفته میشود. بیشتر نوشتهها و مقالههای مربوط به هوش مصنوعی، آن را به عنوان «دانش شناخت و طراحی عاملهای هوشمند» تعریف کردهاند.
یک عامل هوشمند، سیستمی است که با شناخت محیط اطراف خود، شانس موفقیت خود را پس از تحلیل و بررسی افزایش میدهد.
جان مکارتی که واژه هوش مصنوعی را در سال ۱۹۵۶ استفاده نمود، آن را «دانش و مهندسی ساخت ماشینهای هوشمند» تعریف کرده است. تحقیقات و جستجوهایی انجام شده برای رسیدن به ساخت چنین ماشینهایی با بسیاری از رشتههای علمی در ارتباط و همکاری است، مانند علوم رایانه، روانشناسی، فلسفه، عصبشناسی، علوم ادراکی، تئوری کنترل، احتمالات، بهینهسازی و منطق.
هوش مصنوعی توسط فلاسفه و ریاضیدانانی نظیر بول که اقدام به ارائهٔ قوانین و نظریههایی در مورد منطق نمودند، مطرح شده بود. با اختراع رایانههای الکترونیکی در سال ۱۹۴۳، هوش مصنوعی، دانشمندان آن زمان را به چالشی بزرگ فراخواند. در این شرایط، چنین به نظر میرسید که این فنّاوری قادر به شبیهسازی رفتارهای هوشمندانه خواهد بود.
با وجود مخالفت گروهی از متفکرین با هوش مصنوعی که با تردید به کارآمدی آن مینگریستند تنها پس از چهار دهه، شاهد تولد ماشینهای شطرنج باز و دیگر سامانههای هوشمند در صنایع گوناگون شدیم. نام هوش مصنوعی در سال ۱۹۶۵ میلادی به عنوان یک دانش جدید ابداع گردید.
البته فعالیت در این زمینه از سال ۱۹۶۰ میلادی شروع شد. بیشتر کارهای پژوهشی اولیه در هوش مصنوعی بر روی انجام ماشینی بازیها و نیز اثبات قضیههای ریاضی با کمک رایانهها بود. در آغاز چنین به نظر میآمد که رایانهها قادر خواهند بود چنین فعالیتهایی را تنها با بهره گرفتن از تعداد بسیار زیادی کشف و جستجو برای مسیرهای حل مسئله و سپس انتخاب بهترین روش برای حل آنها به انجام رسانند.
این اصطلاح (هوش مصنوعی) برای اولین بار توسط جان مکارتی (John McCorthy) -که از آن به عنوان پدر «علم و دانش تولید ماشینهای هوشمند» یاد میشود، استفاده شد. آقای جان مکارتی مخترع یکی از زبانهای برنامه نویسی هوش مصنوعی به نام لیسپ (به انگلیسی: lisp) نیز هستند. با این عنوان میتوان به هویت رفتارهای هوشمندانه یک ابزار مصنوعی پی برد.
(ساختهٔ دست بشر، غیر طبیعی، مصنوعی) حال آنکه AI به عنوان یک اصطلاح عمومی پذیرفته شده که شامل محاسبات هوشمندانه و ترکیبی (مرکب از مواد مصنوعی) است. از اصطلاح «strong and weak AI» میتوان تا حدودی برای معرفی ردهبندی سیستمها استفاده کرد. AIها در رشتههای مشترکی چون علم کامپیوتر، روانشناسی و فلسفه مورد مطالعه قرار میگیرند، که مطابق آن باعث ایجاد یک رفتار هوشمندانه، یادگیری و سازش میشود و معمولاً نوع پیشرفتهٔ آن در ماشینها و کامپیوترها استفاده میشود. زبانهای برنامه نویسی هوش مصنوعی lisp، Prolog، clips، VP-Expert میباشد.
آزمون تورینگ
آزمون تورینگ آزمونی است که توسط آلن تورینگ در سال ۱۹۵۰ در نوشتهای به نام «محاسبات ماشینی و هوشمندی» مطرح شد. در این آزمون شرایطی فراهم میشود که شخصی با ماشینی تعامل برقرار کند و پرسشهای کافی برای بررسی اقدامات هوشمندانهٔ ماشین، از آن بپرسد. چنانچه در پایان آزمایش نتواند تشخیص دهد که با انسان و یا با ماشین در تعامل بوده است، تست تورینگ با موفقیت انجام شده است. تا کنون هیچ ماشینی از این آزمون با موفقیت بیرون نیامده است. کوشش این آزمون برای تشخیص درستی هوشمندی یک سیستم است که سعی در شبیه سازی انسان دارد.
آزمون استاندارد تورینگ، که در آن بازیکن C به عنوان قاضی سعی دارد تشخصی دهد کدام یک از A یا B انسان است.
اتاق چینی
اتاق چینی بحثی است که توسط «جان سیرل» در ۱۹۸۰ مطرح شد در این راستا که یک ماشین سمبل گرا هرگز نمیتواند دارای ویژگیهایی مانند «مغز» و یا «فهمیدن» باشد، صرف نظر از اینکه چقدر از خود هوشمندی نشان دهد.
مدیریت پیچیدگی
ایجاد و ابداع فنون و تکنیکهای لازم برای مدیریت پیچیدگی را باید به عنوان هستهٔ بنیادین تلاشهای علمی و پژوهشی گذشته، حال، و آینده، در تمامی زمینههای علوم رایانه، و به ویژه، در هوش مصنوعی معرفی کرد. شیوهها و تکنیکهای هوش مصنوعی، در واقع، برای حل آن دسته از مسائل به وجود آمده است که به طور سهل و آسان توسط برنامهنویسی تابعی (Functional programming)، یا شیوههای ریاضی قابل حلّ نبودهاند.
در بسیاری از موارد، با پوشانیدن و پنهان ساختن جزئیات فاقد اهمیت است که بر پیچیدگی فائق میآییم و میتوانیم بر روی بخشهایی از مسئله متمرکز شویم که مهمتر است. تلاش اصلی در واقع، ایجاد و دستیابی به لایهها و ترازهای بالاتر از هوشمندی تجرید را نشانه میرود، تا آنجا که، سرانجام برنامههای کامپیوتری درست در همان سطحی کار خواهند کرد که خود انسانها رسیدهاند.
به یاری پژوهشهای گسترده دانشمندان علوم مرتبط، هوش مصنوعی تاکنون راه بسیاری پیموده است. در این راستا، تحقیقاتی که بر روی توانایی آموختن زبانها انجام گرفت و همچنین درک عمیق از احساسات، دانشمندان را در پیشبرد این دانش کمک زیادی کرده است. یکی از اهداف متخصصین، تولید ماشینهایی است که دارای احساسات بوده و دست کم نسبت به وجود خود و احساسات خود آگاه باشند. این ماشین باید توانایی تعمیم تجربیات قدیمی خود در شرایط مشابه جدید را داشته و به این ترتیب اقدام به گسترش دامنه دانش و تجربیاتش کند.
هوش مصنوعی اکنون در خدمت توسعه علوم رایانه نیز است. زبانهای برنامه نویسی پیشرفته، که توسعه ابزارهای هوشمند را ممکن ساختهاند، پایگاههای دادهای پیشرفته، موتورهای جستجو، و بسیاری نرمافزارها و ماشینها از نتایج پژوهشهایی در راستای هوش مصنوعی بودهاند.
تکنیکها و زبانهای برنامه نویسی هوش مصنوعی
عملکرد اولیه برنامه نویسی هوش مصنوعی ایجاد ساختار کنترلی مورد لزوم برای محاسبه سمبولیک است زبانهای برنامه نویسی LISP، PROLOG علاوه بر اینکه از مهمترین زبانهای مورد استفاده در هوش مصنوعی هستند خصوصیات نحوی و معنایی آنها باعث شده که آنها شیوهها و راه حلهای قوی برای حل مسئله ارایه کنند. تاثیر قابل توجه این زبانها بر روی توسعه AI از جمله تواناییهای آنها به عنوان «ابزارهای فکرکردن» است. در حقیقت همان طور که هوش مصنوعی مراحل رشد خود را طی میکند، زبانهای LISP، PROLOG بیشتر مطرح میشوند که این زبانها کار خود را در محدوده توسعه سیستمهای AI در صنعت و دانشگاهها دنبال میکنند و طبیعتاً اطلاعات در مورد این زبانها به عنوان بخشی از مهارت هر برنامه نویس AI است.
PROLOG: یک زبان برنامه نویسی منطقی است. یک برنامه منطقی دارای یک سری ویژگیهای قانون و منطق است. در حقیقت خود این نام از برنامه نویسی PRO در LOGIC میآید. در این زبان یک مفسر برنامه را بر اساس یک منطق مینویسد. ایده استفاده توصیفی محاسبهٔ اولیه برای بیان خصوصیات حل مسئله یکی از محوریتهای مشارکت PROLOG است که برای علم کامپیوتر به طور کلی و بطور جزئی برای زبان برنامه نویسی هوشمند مورد استفاده قرار میگیرند.
LISP: اصولاً LISP یک زبان کامل است که دارای عملکردها و لیستهای لازمه برای توصیف عملکردهای جدید، تشخیص تناسب و ارزیابی معانی است. LISP به برنامه نویس قدرت کامل برای اتصال به ساختارهای اطلاعاتی را میدهد گر چه LISP یکی از قدیمیترینترین زبانهای محاسباتی است که هنوز فعال است ولی دقت کافی در برنامه نویسی وطراحی توسعه باعث شده است که این یک زبان برنامه نویسی فعال باقی بماند.
در حقیقت این مدل برنامه نویسی طوری موثر بوده است که تعدادی از دیگر زبانها براساس عملکرد برنامه نویسی آن بنا شدهاند: مثل FP، ML، SCHEME
یکی از مهمترین برنامههای مرتبط با LISP برنامه SCHEME است که یک تفکر دوباره در باره زبان در آن وجود دارد که بوسیله توسعه AI و برای آموزش و اصول علم کامپیوتر مورد استفاده قرار میگیرد.
عاملهای هوشمند
سیستمهای خبره
سیستمهای خبره زمینهای پرکاربرد در هوش مصنوعی و مهندسی دانش است که با توجه به نیاز روزافزون جوامع بر اتخاذ راه حلها و تصمیمات سریع در مواردی که دانشهای پیچیده و چندگانهٔ انسانی مورد نیاز است، بر اهمیت نقش آنها افزوده هم میشود. سیستمهای خبره به حل مسائلی میپردازند که به طور معمول نیازمند تخصّصهای کاردانان و متخصّصان انسانی است. به منظور توانایی بر حل مسائل در چنین سطحی (ترازی)، دسترسی هرچه بیشتر اینگونه سامانهها به دانش موجود در آن زمینه خاص ضروری میگردد.