هوش مصنوعی یا Artificial Intelligence شاخه ای از علوم رایانه است که هدف اصلی آن تولید ماشینهای هوشمندی است که توانایی انجام وظایفی که نیازمند به هوش انسانی است را داشته باشد. هوش مصنوعی در حقیقت نوعی شبیه سازی هوش انسانی برای کامپیوتر است و منظور از هوش مصنوعی در واقع ماشینی است که به گونه ای برنامه نویسی شده که همانند انسان فکر کند و توانایی تقلید از رفتار انسان را داشته باشد. این تعریف می تواند به تمامی ماشین هایی اطلاق شود که بگونهای همانند ذهن انسان عمل میکنند و میتوانند کارهایی مانند حل مسئله و یادگیری داشته باشند.
تاریخچه هوش مصنوعی به سال های جنگ جهانی دوم بر میگردد. زمانی که نیروهای آلمانی برای رمز نگاری و ارسال ایمن پیام ها از ماشین enigma استفاده می کردند و دانشمند انگلیسی، آلن تورینگ در تلاش برای شکست این کدها برآمد. تورینگ به همراه تیمش ماشین bombe را ساختند که enigma را رمز گشایی می کرد. هر دو ماشین enigma و bombe پایه های یادگیری ماشینی (machine learning) هستند که یکی از شاخه های هوش مصنوعی یا همان Artificial intelligence میباشد. تورینگ ماشینی را هوشمند میدانست که بدون اینکه به انسان حس صحبت با ماشین را بدهد، با او ارتباط برقرار کند و این مسئله پایه علم هوش مصنوعی است یعنی ساخت ماشینی که همانند انسان فکر، تصمیم گیری و عمل کند.
برنامه نویسی نقش بسیار مهم و پررنگی در پیادهسازی کارکردها و عملکردهای هوش مصنوعی دارد. برنامه نویسی هوش مصنوعی میتواند معنیهای مختلفی داشته باشد. از ایجاد برنامههایی برای اجرای عملیات تشخیص الگو (با استفاده از یادگیری ماشین) گرفته تا «سیستمهای خبره» که حوزهای بسیار تخصصی است همگی جز برنامه نویسی هوش مصنوعی به حساب میآیند. معمولاً برنامه نویسی هوش مصنوعی شامل برنامه نویسی کارکردهایی نظیر جستجو در فضای جواب، استفاده از برخی روشها (ساده یا پیچیده) و سایر مواردی میشود که برای رسیدن به پاسخی که با برخی از شرطهای خاص مطابقت دارد مورد استفاده قرار میگیرد.
درست مثل توسعه و ساخت نرمافزارهای سفارشی، در برنامه نویسی هوش مصنوعی هم انواع زبانهای مختلفی مورد استفاده قرار میگیرد. اما هیچ چیزی با عنوان بهترین زبان برای برنامه نویسی هوش مصنوعی وجود ندارد. در واقع فرایند توسعه به قابلیتهای عملکردی هوش مصنوعی بستگی دارد که مورد نیاز هستند و باید پیادهسازی شوند.
با استفاده از هوش مصنوعی میتوان قابلیتهای زیادی را اجرا کرد و مثلاً هوش زیستسنجشی (بیومتریک)، کنترل خودروهای خودران و بسیاری از موارد دیگر را میتوان در این خصوص نام برد. برای هر یک از این قابلیتهای مختلف نیاز به زبانهای برنامه نویسی هوش مصنوعی متفاوتی برای پروژه توسعه آنها وجود دارد. در ادامه برخی از محبوبترین و پراستفادهترین زبانهای برنامه نویسی هوش مصنوعی فهرست شدهاند:
- پایتون
- R
- جولیا (Julia)
- Haskell
- LISP
- PROLOG
- اسکالا
- متلب