همانگونه که از تعریف فوق-که توسط یکی از بنیانگذاران هوش مصنوعی ارائه شده است- برمیآید،حداقل به دو سؤال باید پاسخ داد:
1 هوشمندی چیست؟
2 برنامههای هوشمند، چه نوعی از برنامهها هستند؟
تعریف دیگری که از هوش مصنوعی میتوان ارائه داد به قرار زیر است:
« هوش مصنوعی، شاخهایست از علم کامپیوتر که ملزومات محاسباتی اعمالی همچون ادراک (Perception)، استدلال(reasoning) و یادگیری(learning) را بررسی کرده و سیستمی جهت انجام چنین اعمالی ارائه میدهد.»
و در نهایت تعریف سوم هوش مصنوعی از قرار زیر است:
«هوش مصنوعی، مطالعه روشهایی است برای تبدیل کامپیوتر به ماشینی که بتواند اعمال انجام شده توسط انسان را انجام دهد.»
به این ترتیب میتوان دید که دو تعریف آخر کاملاً دو چیز را در تعریف نخست واضح کردهاند.
1 منظور از موجود یا ماشین هوشمند چیزی است شبیه انسان.
2 ابزار یا ماشینی که قرار است محمل هوشمندی باشد یا به انسان شبیه شود، کامپیوتر است.
هر دوی این نکات کماکان مبهم و قابل پرسشند.
آیا تنها این نکته که هوشمندترین موجودی که میشناسیم، انسان است کافی است تا هوشمندی را به تمامی اعمال انسان نسبت دهیم؟
حداقل این نکته کاملاً واضح است که بعضی جنبههای ادراک انسان همچون دیدن و شنیدن کاملاً ضعیفتر از موجودات دیگر است.
علاوه بر این، کامپیوترهای امروزی با روشهایی کاملاً مکانیکی(منطقی) توانستهاند در برخی جنبههای استدلال، فراتر از تواناییهای انسان عمل کنند.
بدین ترتیب، آیا میتوان در همین نقطه ادعا کرد که هوش مصنوعی تنها نوعی دغدغه علمی یا کنجکاوی دانشمندانه است و قابلیت تعمق مهندسی ندارد؟(زیرا اگر مهندسی، یافتن روشهای بهینه انجام امور باشد، به هیچ رو مشخص نیست که انسان اعمال خویش را به گونهای بهینه انجام میدهد).
به این نکته نیز باز خواهیم گشت.
اما همین سؤال را میتوان از سویی دیگر نیز مطرح ساخت، چگونه میتوان یقین حاصل کرد که کامپیوترهای امروزین، بهترین ابزارهای پیادهسازی هوشمندی هستند؟
رؤیای طراحان اولیه کامپیوتر از بابیج تا تورینگ، ساختن ماشینی بود که قادر به حل تمامی مسائل باشد، البته ماشینی که در نهایت ساخته شد(کامپیوتر) به جز دسته ای خاص از مسائل قادر به حل تمامی مسائل بود.
اما نکته در اینجاست که این «تمامی مسائل» چیست؟
طبیعتاً چون طراحان اولیه کامپیوتر، منطقدانان و ریاضیدانان بودند، منظورشان تمامی مسائل منطقی یا محاسباتی بود.
بدین ترتیب عجیب نیست، هنگامی که فوننیومان سازنده اولین کامپیوتر، در حال طراحی این ماشین بود، کماکان اعتقاد داشت برای داشتن هوشمندی شبیه به انسان، کلید اصلی، منطق(از نوع به کار رفته در کامپیوتر) نیست، بلکه احتمالاً چیزی خواهد بود شبیه ترمودینامیک!
به هرحال، کامپیوتر تا به حال به چنان درجهای از پیشرفت رسیده و چنان سرمایهگذاری عظیمی برروی این ماشین انجام شده است که به فرض این که بهترین انتخاب نباشد هم، حداقل سهلالوصولترین و ارزانترین و عمومیترین انتخاب برای پیادهسازی هوشمندیست.
بنابراین ظاهراً به نظر میرسد به جای سرمایهگذاری برای ساخت ماشینهای دیگر هوشمند، میتوان از کامپیوترهای موجود برای پیادهسازی برنامههای هوشمند استفاده کرد و اگر چنین شود، باید گفت که طبیعت هوشمندی ایجاد شده حداقل از لحاظ پیادهسازی، کاملاً با طبیعت هوشمندی انسانی متناسب خواهد بود، زیرا هوشمندی انسانی، نوعی هوشمندی بیولوژیک است که با استفاده از مکانیسمهای طبیعی ایجاد شده، و نه استفاده از عناصر و مدارهای منطقی.
فون نیومن آلن تورینگ
در برابر تمامی استدلالات فوق می توان این نکته را مورد تاُمل و پرسش قرار داد که هوشمندی طبیعی تا بدان جایی که ما سراغ داریم، تنها برمحمل طبیعی و با استفاده از روش های طبیعت ایجاد شده است.
طرفداران این دیدگاه تا بدانجا پیش رفتهاند که حتی ماده ایجاد کننده هوشمندی را مورد پرسش قرار داده اند، کامپیوتر از سیلیکون استفاده می کند، در حالی که طبیعت همه جا از کربن سود برده است.
مهم تر از همه، این نکته است که در کامپیوتر، یک واحد کاملاً پیچیده مسئولیت انجام کلیه اعمال هوشمندانه را بعهده دارد، در حالی که طبیعت در سمت و سویی کاملاً مخالف حرکت کرده است.
تعداد بسیار زیادی از واحدهای کاملاً ساده (بعنوان مثال از نورونهای شبکه عصبی) با عملکرد همزمان خود (موازی) رفتار هوشمند را سبب می شوند.
بنابراین تقابل هوشمندی مصنوعی و هوشمندی طبیعی حداقل در حال حاضر تقابل پیچیدگی فوق العاده و سادگی فوق العاده است.
این مساُله هم اکنون کاملاً به صورت یک جنجال(debate) علمی در جریان است.
در هر حال حتی اگر بپذیریم که کامپیوتر در نهایت ماشین هوشمند مورد نظر ما نیست، مجبوریم برای شبیهسازی هر روش یا ماشین دیگری از آن سود بجوییم.
تاریخ هوش مصنوعی
هوش مصنوعی به خودی خود علمی است کاملاً جوان.
در واقع بسیاری شروع هوش مصنوعی را 1950 می دانند زمانی که آلن تورینگ مقاله دورانساز خود را در باب چگونگی ساخت ماشین هوشمند نوشت (آنچه بعدها به تست تورینگ مشهور شد) تورینگ درآن مقاله یک روش را برای تشخیص هوشمندی پیشنهاد میکرد.
این روش بیشتر به یک بازی شبیه بود.
فرض کنید شما در یک سمت یک دیوار (پرده یا هر مانع دیگر) هستید و به صورت تله تایپ باآن سوی دیوار ارتباط دارید و شخصی از آن سوی دیوار از این طریق با شما در تماس است.
طبیعتاً یک مکالمه بین شما و شخص آن سوی دیوار میتواند صورت پذیرد.
حال اگر پس از پایان این مکالمه، به شما گفته شود که آن سوی دیوار نه یک شخص بلکه (شما کاملاً از هویت شخص آن سوی دیوار بیخبرید) یک ماشین بوده که پاسخ شما را میداده، آن ماشین یک ماشین هوشمند خواهد بود، در غیر این صورت(یعنی در صورتی که شما در وسط مکالمه به مصنوعی بودن پاسخ پی ببرید) ماشین آن سوی دیوار هوشمند نیست و موفق به گذراندن تست تورینگ نشده است.
باید دقت کرد که تورینگ به دو دلیل کاملاً مهم این نوع از ارتباط(ارتباط متنی به جای صوت) را انتخاب کرد.
اول این که موضوع ادراکی صوت را کاملاً از صورت مساُله حذف کند و این تست هوشمندی را درگیر مباحث مربوط به دریافت و پردازش صوت نکند و دوم این که بر جهت دیگری هوش مصنوعی به سمت نوعی از پردازش زبان طبیعی تاکید کند.
در هر حال هر چند تاکنون تلاشهای متعددی در جهت پیاده سازی تست تورینگ صورت گرفته مانند برنامه Eliza و یا AIML (زبانی برای نوشتن برنامههایی که قادر به chat کردن اتوماتیک باشند) اما هنوز هیچ ماشینی موفق به گذر از چنین تستی نشده است.
در هر حال هر چند تاکنون تلاشهای متعددی در جهت پیاده سازی تست تورینگ صورت گرفته مانند برنامه Eliza و یا AIML (زبانی برای نوشتن برنامههایی که قادر به chat کردن اتوماتیک باشند) اما هنوز هیچ ماشینی موفق به گذر از چنین تستی نشده است.
همانگونه که مشخص است، این تست نیز کماکان دو پیش فرض اساسی را در بردارد: 1ـ نمونه کامل هوشمندی انسان است.
2ـ مهمترین مشخصه هوشمندی توانایی پردازش و درک زبان طبیعی است.
درباره نکته اول به تفصیل تا بدین جا سخن گفته ایم؛ اما نکته دوم نیز به خودی خود باید مورد بررسی قرارگیرد.
این که توانایی درک زبان نشانه هوشمندی است تاریخی به قدمت تاریخ فلسفه دارد.
از نخستین روزهایی که به فلسفه(Epistemology) پرداخته شده زبان همیشه در جایگاه نخست فعالیتهای شناختی قرار داشته است.
از یونانیان باستان که لوگوس را به عنوان زبان و حقیقت یکجا به کار میبردند تا فیلسوفان امروزین که یا زبان را خانه وجود میدانند، یا آن را ریشه مسائل فلسفی میخوانند؛ زبان، همواره شاُن خود را به عنوان ممتازترین توانایی هوشمندترین موجودات حفظ کرده است.
با این ملاحظات میتوان درک کرد که چرا آلن تورینگ تنها گذر از این تست متظاهرانه زبانی را شرط دستیابی به هوشمندی میداند.
تست تورینگ اندکی کمتر از نیمقرن هوش مصنوعی را تحت تاُثیر قرار داد اما شاید تنها در اواخر قرن گذشته بود که این مسئله بیش از هر زمان دیگری آشکار شد که متخصصین هوش مصنوعی به جای حل این مسئله باشکوه ابتدا باید مسائل کماهمیتتری همچون درک تصویر (بینایی ماشین) درک صوت و… را حل کنند.
به این ترتیب با به محاق رفتن آن هدف اولیه، اینک گرایشهای جدیدتری در هوش مصنوعی ایجاد شدهاند.
در سالهای آغازین AI تمرکز کاملاً برروی توسعه سیستمهایی بود که بتوانند فعالیتهای هوشمندانه(البته به زعم آن روز) انسان را مدل کنند، و چون چنین فعالیتهایی را در زمینههای کاملاً خاصی مانند بازیهای فکری، انجام فعالیتهای تخصصی حرفهای، درک زبان طبیعی، و….
میدانستند طبیعتاً به چنین زمینههایی بیشتر پرداخته شد.
در زمینه توسعه بازیها، تا حدی به بازی شطرنج پرداخته شد که غالباً عدهای هوش مصنوعی را با شطرنج همزمان به خاطر میآورند.
مککارتی که پیشتر اشاره شد، از بنیانگذاران هوش مصنوعی است این روند را آنقدر اغراقآمیز میداند که میگوید: «محدود کردن هوش مصنوعی به شطرنج مانند این است که علم ژنتیک را از زمان داروین تا کنون تنها محدود به پرورش لوبیا کنیم.» به هر حال دستاورد تلاش مهندسین و دانشمندان در طی دهههای نخست را میتوان توسعه تعداد بسیار زیادی سیستمهای خبره در زمینههای مختلف مانند پزشکی عمومی، اورژانس، دندانپزشکی، تعمیرات ماشین،…..
توسعه بازیهای هوشمند، ایجاد مدلهای شناختی ذهن انسان، توسعه سیستمهای یادگیری،….
دانست.
دستاوردی که به نظر میرسد برای علمی با کمتر از نیم قرن سابقه قابل قبول به نظر میرسد.
AIهای متخصص: این نمونه از نرم افزارها برای انجام یکسری کارهای تخصصی طراحی شده اند و به طبع از قابلیتهای بالایی نیز برخودار میباشند.
اینگونه برنامه ها معمولاً به یک بانک اطلاعاتی بسیار وسیع مجهز میباشند که آنها را قادر به پاسخگویی به سوالات کاربران میسازد.
در حقیقت این برنامه ها برای رشته هایی مانند پزشکی، مهندسی و...
طراحی شده اند و وظیفه آنها ذخیره سازی اطلاعات مفیدی است که به خاطر سپردن آنها توسط انسان بسار دشوار میباشد اینگونه برنامه هاازیک اشکال پایه ای رنج میبرند.
تا زمانی که سوال مطرح شده توسط کاربر در محدوده اطاعات ذخیره شده در آنهاست هیچ مشکلی پیش نخواهد آمد اما ضعف آنها هنگامی پدیدار میشود که سوال مطرح شده کمی خارج از حوزه اطلاعاتی آنها قرار گیرد که در این صورت اینگونه برنامه ها به کلی از پاسخ گویی به سوال درمانده خواهند بود.
این ناتوانی از آنجا ناشی میشود که این دسته از برنامه ها توانایی generalization یا عمومیت دادن را ندارند.
منظور از generalization و یا عمومیت دادن چیست؟
منظور از generalization توانایی خلق کردن اطلاعات جدید بر اساس اطلاعات قدیمی است.
تمامی انسان ها از این توانایی برخوردار هستند اگرچه ماشین ها به طور کامل و همانند انسان چنین توانایی را ندارند.
برای درک بهتر موضوع به این مثال ساده توجه کنید: جان در یک کمپانی کار میکند.
در محل کار او کابلهایی وجود دارد که توسط یکسری اشکال خواص علامت گذاری شده اند و نشانگر این موضوع هستند که این کابل ها حامل برق میباشند.
جان در محل دیگری یکسری کابل با علائم مشابه را مشاهده میکند و نتیجه میگیرد که این کابل ها نیز حاوی جریان برق هستند.
تکنیک ها وزبانهای برنامه نویسی هوش مصنوعی ما در عصری زندگی می کنیم که جامعه شناسان آن را عصر انقلاب کامپیوتر نام نهاده اند و مانند هر انقلاب واقعی دیگر، انقلابی است گسترده و فراگیر و تأثیر پایداری برجامعه خواهد داشت.
این انقلاب در اقتصاد امروز و نظم جامعه، به همان میزان انقلاب صنعتی در قرن 19 تأثیر دارداین تحولات قادر است الگوی فکری و فرم زندگی هر فرد را تغییر دهد.
انقلاب کامپیوتر توان ذهنی ما را گسترش می دهد.
عملکرد اولیه برنامه نویسی هوش مصنوعی (AI) ایجاد ساختار کنترلی مورد لزوم برای محاسبه سمبولیک است خصوصیات این ساختارها به مقدار زیادی موجب تشخیص خصوصیاتی می شود که یک زبان کاربردی می بایستی فراهم کند.
در این مقدمه به یک سری خصوصیات مورد نظر برای زبان برنامه نویسی سمبولیک می پردازیم و زبانهای برنامه نویسی LISP و PROLOG را معرفی خواهیم کرد.
این دو زبان علاوه بر این که از مهمترین زبانهای مورد استفاده در هوش مصنوعی هستند، خصوصیات semantic و syntactic آنها نیز باعث شده که آنها شیوه ها و راه حل های قوی برای حل مسئله ارئه کنند.
تأثیر قابل توجه این زبانها بر روی توسعه AI از جمله توانائی آنها به عنوان «ابزارهای فکر کردن» می باشد که از جمله نقاط قوت آنها در زبانهای برنامه نویسی می باشد.
همان طور که هوش مصنوعی مراحل رشد خود را طی می کند زبانهای LISP و PROLOG بیشتر مطرح می شوند.
این زبانها کار خود را در محدوده توسعه و prototype سازی سیستم های AI در صنعت و دانشگاهها دنبال می کنند.
اطلاعات در مورد این زبانها به عنوان بخشی از مهارت هر برنامه نویس AI می باشد ما به بررسی این دو زبان در هوش مصنوعی می پردازیم.
آنــــچه را کـــه نمی دانیم موجب دردسر و گرفتاری ما نخواهد شد، بلکه دردسرها از دانسته ها سرچشمه می گیرند.
زبان ، شناخت و خلاصه پردازی توانایی شکل گیری خلاصه برداری از تجربیات از توانمند ترین و اساسی ترین توانائی های ذهن انسان است خلاصه پردازی