هوش مصنوعي
تلاش در راه برخوردار نمودن رایانه از توانائیهای شناخت وتقلید جنبههای هوشی انسان از دهه 1950 میلادی آغاز شده است.در سال 1956 میلادی، گروهی از دانشمندان از جمله ماروینمینسکی (از دانشگاه فنی ماساچوست)، کلود شانن (ازآزمایشگاه نامدار بل) و جان مککارتی (از دانشگاه دارتموت)همایش در دارت موت کانادا برگزار نمودند تا در اینزمینه به گفتگو بپردازند. جان مک کارتی دانشیار کرسی ریاضیدانشگاه و میزبان همایش، عنوان پهوش مصنوعی) را بر این نشستنهاد.از آن زمان تاکنون میان دانشمندان و خبرگان آگاه همچنانبحث در مفهوم هوش مصنوعی جریان دارد.
هوش مصنوعی را کوششهایی تعریف میکنند که در پی ساختننظامهای رایانهای (سختافزار و نرمافزار) است که رفتاری انسان وارداشته باشند. چنین نظامهایی توان یادگیری زبانهای طبیعی، انجاموظیفههای انسانی به صورت آدمواره (ربات) و رقابت با خبرگی و توانتصمیمگیری انسان را دارند.
یک سیستم هوش مصنوعی به راستی (نه مصنوعی )و (نههوشمند)است. بلکه دستگاهی است هدفگرا که مشکل را به روش مصنوعی حلمیکند این سیستمها بر پایه دانش، تجربه و الگوهای استدلایی انسانبوجود آمدهاند.
سیستمهای هوش مصنوعی مانند کتاب با دیگر آثار فکری انسانمیباشند، تا زمانی که نوشته نشوند معلوماتی در خود ندارند. پس از آمادهشدن نیز نمیتوانند چیزی تازه بسازند و یا راهحل نوینی ابداع کنند.سیستمهای هوشمند، تنها و تواناییهای کارشناسان را بالا میبرند وهرگز نمیتوانند جانشین آنها شوند. این سیستمها فاقد عقل سلیم هستند.
برای شناخت هوش مصنوعی شایسته است تا تفاوت آن را با هوشانسانی به خوبی بدانیم. مغز انسان از میلیاردها سلول یا رشته عصبیدرست شده است و این سلولها به صورت پیچیدهای به یکدیگرمتصلاند. شبیهسازی مغز انسان میتواند از طریق سختافزار یا نرمافزارانجام گیرد. تحقیقات اولیه نشان داده است شبیهسازی مغز، کاریمکانیکی و ساده میباشد. برای مثال، یک کرم دارای چند شبکه عصبیاست. یک حشره حدود یک میلیون رشته عصبی دارد و مغز انسان ازهزار میلیارد رشته عصبی درست شده است. با تمرکز و اتصال رشتههایعصبی مصنوعی میتوان واحد هوش مصنوعی را درست کرد.
هوش انسانی بسیار پیچیدهتر و گستردهتر از سیستمهای رایانهایاست و توانمندیهای برجستهای مانند: استدلال، رفتار، مقایسه، آفرینشو بکار بستن مفهومها را دارد.
هوش انسانی توان ایجاد ارتباط میان موضوعها و قیاس ونمونه سازیهای تازه را دارد. انسان همواره قانونهای تازهای میسازد و یاقانون پیشین را در موارد تازه بکار میگیرد. توانایی بشر در ایجادمفهومهای گوناگون در دنیای پیرامون خود، از ویژگیهای دیگر اوست.مفهومهای گستردهای همچون روابط علت و معلولی، رمان و یامفهومهای سادهتری مانند گزینش وعدههای خوراک (صبحانه، ناهار وشام) را انسان ایجاد کرده است. اندیشیدن در این مفهومها و بکاربستنآنها، ویژه رفتار هوشمندانه انسان است.
هوش مصنوعی در پی ساخت دستگاههایی است که بتوانندتوانمندهای یاد شده (استدلال، رفتار، مقایسه و مفهوم آفرینی) را از خودبروز دهند. آنچه تاکنون ساخته شده نتوانسته است خود را به این پایهبرساند، هر چند سودمندیهای فراوانی به بار آورده است.
نکته آخر اینکه، یکی از علل رویارویی با مقوله هوش مصنوعی،ناشی از نامگذاری نامناسب آن میباشد. چنانچه جان مککارتی در سال1956 میلادی آن را چیزی مانند «برنامهریزی پیشرفته» نامیده بود شاید جنگ و جدلی در پیرامون آن رخ نمیداد.
هوش مصنوعی به تعدادی میدانهای فرعی تقسیم شده است و سعیدارد تا سیستمها و روشهایی را ایجاد کند که بطور تقلیدی مانند هوش ومنطق تصمیمگیرندگان عمل نماید.
سه شاخه اصلی هوش مصنوعی عبارتند از: سیستمهایخبره(ES)، آدموارهها و پردازش زبان طبیعی.
سیستمهای خبره، برنامههای کامیپوتری هوشمندی هستند که دانشو روشهای استنباط و استنتاج را بکار میگیرند تا مسائلی را حل کنند کهبرای حل آنها به مهارت انسانی نیاز است.
سیستمهای خبره کاربر را قادر به مشاوره با سیستمهای کامپیوتریدر مورد یک مسئله و یافتن دلایل بروز مسئله و راهحلهای آن میکند.در این حالات مجموعه سختافزار و نرمافزار تشکیل دهنده سیستمخبره، مانند فرد خبره اقدام به طرح سئوالات مختلف و دریافتپاسخهای کاربر، مراجعه به پایگاه دانش (تجربیات قبلی) و استفاده ازیک روش منطقی برای نتیجهگیری و نهایتا ارائه راهحل مینماید.همچنین سیستم خبره قادر به شرح مراحل نتیجهگیری خود تا رسیدن بههدف)چگونگی نتیجهگیری(و دلیل مطرح شدن یک سئوال اجرایی)روش حرکت تا رسیدن به هدف(خواهد بود.
سیستمهای خبره برخلاف سیستمهای اطلاعاتی که بر روی دادهها(Data) عمل میکنند، بر دانش (Knowledge) متمرکز شده است. همچنین دریک فرآیند نتیجهگیری، قادر به استفاده از انواع مختلف دادهها )عددیDigital، نمادی Symbolic و مقایسهای Analoge( میباشند. یکی دیگر ازمشخصات این سیستمها استفاده از روشهای ابتکاری (Heuristic) به جایروشهای الگوریتمی میباشد. این توانایی باعث قرار گرفتن محدودوسیعی از کاربردها در برد عملیاتی سیستمهای خبره میشود. فرآیندنتیجهگیری در سیستمهای خبره بر روشهای استقرایی و قیاسی پایهگذاریشده است. از طرف دیگر این سیستمها میتوانند دلایل خود در رسیدنبه یک نتیجهگیری خاص و یا جهت و مسیر حرکت خود به سوی هدفرا شرح دهند. با توجه به توانایی این سیستمها در کار در شرایط فقداناطلاعات کامل و یا درجات مختلف اطمینان در پاسخ به سئوالات مطرحشده، سیستمهای خبره نماد مناسبی برای کار در شرایط عدم اطمینان(Uncertainty) و یا محیطهای چند وجهی میباشند.
مزایای سیستمهای خبره را میتوان به صورت زیر دستهبندی کرد:
1. افزایش قابلیت دسترسی: تجربیات بسیاری از طریق کامپیوتر دراختیار قرار میگیرد و به طور سادهتر میتوان گفت یک سیستم خبره،تولید انبوه تجربیات است.
2. کاهشهزینه:هزینهکسبتجربهبرایکاربربهطورزیادیکاهشمییابد.
3. کاهش خطر: سیستم خبره میتواند در محیطهایی که ممکن استبرای انسان سخت و خطرناک باشد نیز بکار رود.
4. دائمی بودن: سیستمهای خبره دائمی و پایدار هستند. بعبارتی مانندانسانها نمیمیرند و فنا ناپذیرند.
5. تجربیات چندگانه: یک سیستم خبره میتواند مجموع تجربیات وآگاهیهای چندین فرد خبره باشد.
6. افزایش قابلیت اطمینان: سیستمهای خبره هیچ وقت خسته وبیمار نمیشوند، اعتصاب نمیکنند و یا علیه مدیرشان توطئه نمیکنند، درصورتی که اغلب در افراد خبره چنین حالاتی پدید میآید.
7. قدرت تبیین (Explanation): یک سیستم خبره میتواند مسیر و مراحلاستدلالی منتهی شده به نتیجهگیری را تشریح نماید. اما افراد خبره اغلباوقات بدلایل مختلف (خستگی، عدم تمایل و…) نمیتوانند این عمل رادر زمانهای تصمیمگیری انجام دهند. این قابلیت، اطمینان شما را در موردصحیح بودن تصمیمگیری افزایش میدهد.
8. پاسخدهیسریع:سیستمهایخبره،سریعودراسرعوقتجوابمیدهند.
9. پاسخدهی در همه حالات: در مواقع اضطراری و مورد نیاز،ممکن است یک فرد خبره بخاطر فشار روحی و یا عوامل دیگر، صحیحتصمیمگیری نکند ولی سیستم خبره این معایب را ندارد.
10. پایگاه تجربه: سیستم خبره میتواند همانند یک پایگاه تجربهعمل کند وانبوهی از تجربیات را در دسترس قرار دهد.
11. آموزش کاربر: سیستم خبره میتواند همانند یک خودآموز هوش(Intelligent Tutor) عمل کند. بدین صورت که مثالهایی را به سیستم خبرهمیدهند و روش استدلال سیستم را از آن میخواهند.
12. سهولت انتقال دانش: یکی از مهمترین مزایای سیستم خبره،سهولت انتقال آن به مکانهای جغرافیایی گوناگون است. این امر برایتوسعهکشورهاییکه استطاعت خرید دانش متخصصانراندارند،مهماست.
کلمه آدمواره (ربات)بعد از به صحنه درآمدن یک نمایش در سال1920 میلادی در فرانسه متداول و مشهور گردید. در این نمایش که اثر«کارل کپک» بود، موجودات مصنوعی شبیه انسان، وابستگی شدیدینسبت به اربابان خویش از خود نشان میدادند. این موجودات مصنوعیشبیه انسان در آن نمایش، آدمواره نام داشتند.
در حال حاضر آدموارههایی را که در شاخههای مختلف صنایع مورداستفاده میباشند، میتوان به عنوان «ماشینهای مدرن، خودکار، قابلهدایت و برنامهریزی»تعریف کرد. این آدموارهها قادرند در محلهایمتفاوت خطوط تولید، به طور خودکار، وظایف گوناگون تولیدی را تحتیک برنامه از پیش نوشته شده انجام دهند. گاهی ممکن است یکآدمواره، جای اپراتور در خط تولید بگیرد و زمانی این امکان هم وجوددار که یک کار مشکل و یا خطرناک به عهده آدمواره واگذار شود.همانطور که یک آدمواره میتواند به صورت منفرد یا مستقل به کاربپردازد، این احتمال نیز وجود دارد که چند آدمواره به صورت جمعی و بهشکل رایانهای در خط تولید به کار گرفته شوند.
آدموارهها عموماً دارای ابزار و آلاتی هستند که به وسیله آنهامیتوانند شرایط محیط را دریابند.این آلات و ابزار «حس کننده»نام دارند، آدموارهها میتوانند در چارچوب برنامه اصلی خود، برنامههایجدید عملیاتی تولید نمایند. این آدموارهها دارای سیستمهای کنترل وهدایت خودکار هستند.
آدموارههای صنایع علاوه بر این که دارای راندمان، سرعت، دقت وکیفیت بالای عملیاتی میباشند، از ویژگیهای زیر نیز برخوردارند:
1. بسیاری از عملیات طاقت فرسا و غیرقابل انجام توسط متصدیان رامیتوانند انجام دهند.
2. آنها، برخلاف عامل انسانی یعنی متصدی خط تولید، قادر هستند سهشیفت به کار بپردازند و در این خصوص نه منع قانونی وجود دارد و نهمحدودیتهای فیزیولوژیکی نیروی کار.
3. هزینههای مربوط به جلوگیری از آلودگی صوتی، تعدیل هوا و فراهمآوردن روشنایی لازم برای خط تولید، دیگر بر واحد تولید تحمیلنخواهد شد.
4. برای اضافه کاری این آدموارهها، هزینه اضافی پرداخت نمیشود.حق بیمه، حق مسکن و هزینه ایاب و ذهاب پرداخت نمیشود. احتیاج بهافزایش حقوق ندارند و هزینهاین نیز از بابت بهداشت و درمان بر واحدتولیدی تحمیل نمیکنند.
ویژگیهای ذکر شده سبب میشوند که سهم هزینه کار مستقیم نیرویانسانی در هزینه محصولات تولیدی، واحدهای تولیدی کاهش پیداکند.
پردازش زبانهای طبیعی بعنوان زیرمجموعهای از هوش مصنوعی،میتواند توصیهها و بیانات را با استفاده از زبانی که شما به طور طبیعی درمکالمات روزمره بکار میبرید، بفهمد و مورد پردازش قرار دهد. به طورکلی نحوه کار این شاخه از هوش مصنوعی این است که زبانهای طبیعیانسان را تقلید میکند. در این میان، پیچیدگی انسان از بعد روانشناسی برروی ارتباط متعامل تاثیر میگذارد.
در پردازش زبانهای طبیعی، انسان و کامپیوتر ارتباطی کاملا نزدیکبا یکدیگر دارند. کامپیوتراز لحاظ روانی در مغز انسان جای داده می شود. بدین ترتیب یک سیستم خلاق شکل می گیرد که انسان نقش سازمان دهنده اصلی آن را برعهاده دارد. اگر چه هنوز موانع روانشناختی و زبانشناختی بسیاری بر سر راه سبستمهای محاوره ای وجود دارد. اما چشم اندهزهای پیشرفت آنها یقیناً نویدبخش است. در حقیقت، توقعات یکسان از محاوره انسان- ماشنی و محاوره انسان- انسان، معقول نیست.
بدین ترتیب سئوالاتی نظیر اینکه هوش مصنوعی چیست، تفاوتهوش مصنوعی و هوش طبیعی (انسانی) در چیست، شاخههای عمدههوش مصنوعی کدامند؟ و نهایتاً جزای هوش مصنوعی مشخص شد. دربخش دوم، میتوان کاربردهای هوش مصنوعی در صنایع و مؤسساتتولیدی، بخصوص در زمینه سیستمهای خبره و آدموارهها را مورد مطالعهو تجزیه و تحلیل قرار داد.
« هوش مصنوعی، دانش ساختن ماشین ها یا برنامههای هوشمند است. ».
همانگونه که از تعریف فوق-که توسط یکی از بنیانگذاران هوش مصنوعی ارائه شده است- برمیآید،حداقل به دو سؤال باید پاسخ داد:
1. هوشمندی چیست؟
2. برنامههای هوشمند، چه نوعی از برنامهها هستند؟
تعریف دیگری که از هوش مصنوعی میتوان ارائه داد به قرار زیر است:
« هوش مصنوعی، شاخهایست از علم کامپیوتر که ملزومات محاسباتی
اعمالی همچون ادراک (Perception)،استدلال(reasoning) و
یادگیری(learning) را بررسی کرده و سیستمی جهت انجام چنین اعمالی ارائه میدهد.»
و در نهایت تعریف سوم هوش مصنوعی از قرار زیر است:
«هوش مصنوعی، مطالعه روشهایی است برای تبدیل کامپیوتر به ماشینی که بتواند
اعمال انجام شده توسط انسان را انجام دهد.»
به این ترتیب میتوان دید که دو تعریف آخر کاملاً دو چیز را در تعریف نخست واضح کردهاند.
1. منظور از موجود یا ماشین هوشمند چیزی است شبیه انسان.
2. ابزار یا ماشینی که قرار است محمل هوشمندی باشد یا به انسان شبیه شود، کامپیوتر است.
هر دوی این نکات کماکان مبهم و قابل پرسشند. آیا تنها این نکته که هوشمندترین موجودی که میشناسیم، انسان است کافی است تا هوشمندی را به تمامی اعمال انسان نسبت دهیم؟ حداقل این نکته کاملاً واضح است که بعضی جنبههای ادراک انسان همچون دیدن و شنیدن کاملاً ضعیفتر از موجودات دیگر است.
علاوه بر این، کامپیوترهای امروزی با روشهایی کاملاً مکانیکی(منطقی) توانستهاند در برخی جنبههای استدلال، فراتر از تواناییهای انسان عمل کنند.
بدین ترتیب، آیا میتوان در همین نقطه ادعا کرد که هوش مصنوعی تنها نوعی دغدغه علمی یا کنجکاوی دانشمندانه است و قابلیت تعمق مهندسی ندارد؟(زیرا اگر مهندسی، یافتن روشهای بهینه انجام امور باشد، به هیچ رو مشخص نیست که انسان اعمال خویش را به گونهای بهینه انجام میدهد). به این نکته نیز باز خواهیم گشت.
اما همین سؤال را میتوان از سویی دیگر نیز مطرح ساخت، چگونه میتوان یقین حاصل کرد که کامپیوترهای امروزین، بهترین ابزارهای پیادهسازی هوشمندی هستند؟
رؤیای طراحان اولیه کامپیوتر از بابیج تا تورینگ، ساختن ماشینی بود که قادر به حل تمامی مسائل باشد، البته ماشینی که در نهایت ساخته شد(کامپیوتر) به جز دسته ای خاص از مسائل قادر به حل تمامی مسائل بود. اما نکته در اینجاست که این «تمامی مسائل» چیست؟ طبیعتاً چون طراحان اولیه کامپیوتر، منطقدانان و ریاضیدانان بودند، منظورشان تمامی مسائل منطقی یا محاسباتی بود. بدین ترتیب عجیب نیست، هنگامی که فوننیومان سازنده اولین کامپیوتر، در حال طراحی این ماشین بود، کماکان اعتقاد داشت برای داشتن هوشمندی شبیه به انسان، کلید اصلی، منطق(از نوع به کار رفته در کامپیوتر) نیست، بلکه احتمالاً چیزی خواهد بود شبیه ترمودینامیک!
به هرحال، کامپیوتر تا به حال به چنان درجهای از پیشرفت رسیده و چنان سرمایهگذاری عظیمی برروی این ماشین انجام شده است که به فرض این که بهترین انتخاب نباشد هم، حداقل سهلالوصولترین و ارزانترین و عمومیترین انتخاب برای پیادهسازی هوشمندیست.
بنابراین ظاهراً به نظر میرسد به جای سرمایهگذاری برای ساخت ماشینهای دیگر هوشمند، میتوان از کامپیوترهای موجود برای پیادهسازی برنامههای هوشمند استفاده کرد و اگر چنین شود، باید گفت که طبیعت هوشمندی ایجاد شده حداقل از لحاظ پیادهسازی، کاملاً با طبیعت هوشمندی انسانی متناسب خواهد بود، زیرا هوشمندی انسانی، نوعی هوشمندی بیولوژیک است که با استفاده از مکانیسمهای طبیعی ایجاد شده، و نه استفاده از عناصر و مدارهای منطقی.
در برابر تمامی استدلالات فوق می توان این نکته را مورد تاُمل و پرسش قرار داد که هوشمندی طبیعی تا بدان جایی که ما سراغ داریم، تنها برمحمل طبیعی و با استفاده از روش های طبیعت ایجاد شده است. طرفداران این دیدگاه تا بدانجا پیش رفتهاند که حتی ماده ایجاد کننده هوشمندی را مورد پرسش قرار داده اند، کامپیوتر از سیلیکون استفاده می کند، در حالی که طبیعت همه جا از کربن سود برده است.
مهم تر از همه، این نکته است که در کامپیوتر، یک واحد کاملاً پیچیده مسئولیت انجام کلیه اعمال هوشمندانه را بعهده دارد، در حالی که طبیعت در سمت و سویی کاملاً مخالف حرکت کرده است. تعداد بسیار زیادی از واحدهای کاملاً ساده (بعنوان مثال از نورونهای شبکه عصبی) با عملکرد همزمان خود (موازی) رفتار هوشمند را سبب می شوند. بنابراین تقابل هوشمندی مصنوعی و هوشمندی طبیعی حداقل در حال حاضر تقابل پیچیدگی فوق العاده و سادگی فوق العاده است. این مساُله هم اکنون کاملاً به صورت یک جنجال(debate) علمی در جریان است.
در هر حال حتی اگر بپذیریم که کامپیوتر در نهایت ماشین هوشمند مورد نظر ما نیست، مجبوریم برای شبیهسازی هر روش یا ماشین دیگری از آن سود بجوییم.
هوش مصنوعی به خودی خود علمی است کاملاً جوان. در واقع بسیاری شروع هوش مصنوعی را 1950 می دانند زمانی که آلن تورینگ مقاله دورانساز خود را در باب چگونگی ساخت ماشین هوشمند نوشت (آنچه بعدها به تست تورینگ مشهور شد) تورینگ درآن مقاله یک روش را برای تشخیص هوشمندی پیشنهاد میکرد. این روش بیشتر به یک بازی شبیه بود.
فرض کنید شما در یک سمت یک دیوار (پرده یا هر مانع دیگر) هستید و به صورت تله تایپ باآن سوی دیوار ارتباط دارید و شخصی از آن سوی دیوار از این طریق با شما در تماس است. طبیعتاً یک مکالمه بین شما و شخص آن سوی دیوار میتواند صورت پذیرد. حال اگر پس از پایان این مکالمه، به شما گفته شود که آن سوی دیوار نه یک شخص بلکه (شما کاملاً از هویت شخص آن سوی دیوار بیخبرید) یک ماشین بوده که پاسخ شما را میداده، آن ماشین یک ماشین هوشمند خواهد بود، در غیر این صورت(یعنی در صورتی که شما در وسط مکالمه به مصنوعی بودن پاسخ پی ببرید) ماشین آن سوی دیوار هوشمند نیست و موفق به گذراندن تست تورینگ نشده است.
باید دقت کرد که تورینگ به دو دلیل کاملاً مهم این نوع از ارتباط(ارتباط متنی به جای صوت) را انتخاب کرد. اول این که موضوع ادراکی صوت را کاملاً از صورت مساُله حذف کند و این تست هوشمندی را درگیر مباحث مربوط به دریافت و پردازش صوت نکند و دوم این که بر جهت دیگری هوش مصنوعی به سمت نوعی از پردازش زبان طبیعی تاکید کند.
در هر حال هر چند تاکنون تلاشهای متعددی در جهت پیاده سازی تست تورینگ صورت گرفته مانند برنامه Eliza و یا AIML (زبانی برای نوشتن برنامههایی که قادر به chat کردن اتوماتیک باشند) اما هنوز هیچ ماشینی موفق به گذر از چنین تستی نشده است.
همانگونه که مشخص است، این تست نیز کماکان دو پیش فرض اساسی را در بردارد:
1. نمونه کامل هوشمندی انسان است.
2. مهمترین مشخصه هوشمندی توانایی پردازش و درک زبان طبیعی است.
درباره نکته اول به تفصیل تا بدین جا سخن گفته ایم؛ اما نکته دوم نیز به خودی خود باید مورد بررسی قرارگیرد. این که توانایی درک زبان نشانه هوشمندی است تاریخی به قدمت تاریخ فلسفه دارد. از نخستین روزهایی که به فلسفه(Epistemology) پرداخته شده زبان همیشه در جایگاه نخست فعالیتهای شناختی قرار داشته است. از یونانیان باستان که لوگوس را به عنوان زبان و حقیقت یکجا به کار میبردند تا فیلسوفان امروزین که یا زبان را خانه وجود میدانند، یا آن را ریشه مسائل فلسفی میخوانند؛ زبان، همواره شاُن خود را به عنوان ممتازترین توانایی هوشمندترین موجودات حفظ کرده است.
با این ملاحظات میتوان درک کرد که چرا آلن تورینگ تنها گذر از این تست متظاهرانه زبانی را شرط دستیابی به هوشمندی میداند.
تست تورینگ اندکی کمتر از نیمقرن هوش مصنوعی را تحت تاُثیر قرار داد اما شاید تنها در اواخر قرن گذشته بود که این مسئله بیش از هر زمان دیگری آشکار شد که متخصصین هوش مصنوعی به جای حل این مسئله باشکوه ابتدا باید مسائل کماهمیتتری همچون درک تصویر (بینایی ماشین) درک صوت و… را حل کنند.
به این ترتیب با به محاق رفتن آن هدف اولیه، اینک گرایشهای جدیدتری در هوش مصنوعی ایجاد شدهاند.
در سالهای آغازین AI تمرکز کاملاً برروی توسعه سیستمهایی بود که بتوانند فعالیتهای هوشمندانه(البته به زعم آن روز) انسان را مدل کنند، و چون چنین فعالیتهایی را در زمینههای کاملاً خاصی مانند بازیهای فکری، انجام فعالیتهای تخصصی حرفهای، درک زبان طبیعی، و…. میدانستند طبیعتاً به چنین زمینههایی بیشتر پرداخته شد.
در زمینه توسعه بازیها، تا حدی به بازی شطرنج پرداخته شد که غالباً عدهای هوش مصنوعی را با شطرنج همزمان به خاطر میآورند. مککارتی که پیشتر اشاره شد، از بنیانگذاران هوش مصنوعی است این روند را آنقدر اغراقآمیز میداند که میگوید: «محدود کردن هوش مصنوعی به شطرنج مانند این است که علم ژنتیک را از زمان داروین تا کنون تنها محدود به پرورش لوبیا کنیم.» به هر حال دستاورد تلاش مهندسین و دانشمندان در طی دهههای نخست را میتوان توسعه تعداد بسیار زیادی سیستمهای خبره در زمینههای مختلف مانند پزشکی عمومی، اورژانس، دندانپزشکی، تعمیرات ماشین،….. توسعه بازیهای هوشمند، ایجاد مدلهای شناختی ذهن انسان، توسعه سیستمهای یادگیری،…. دانست. دستاوردی که به نظر میرسد برای علمی با کمتر از نیم قرن سابقه قابل قبول به نظر میرسد.
در 1943،Mcclutch (روانشناس، فیلسوف و شاعر) و Pitts (ریاضیدان) طی مقالهای، دیدههای آن روزگار درباره محاسبات، منطق و روانشناسی عصبی را ترکیب کردند. ایده اصلی آن مقاله چگونگی انجام اعمال منطقی به وسیله اجزای ساده شبکه عصبی بود. اجزای بسیار ساده (نورونها) این شبکه فقط از این طریق سیگنال های تحریک (exitory) و توقیف (inhibitory) با هم درتماس بودند. این همان چیزی بود که بعدها دانشمندان کامپیوتر آن را مدارهای (And) و (OR) نامیدند و طراحی اولین کامپیوتر در 1947 توسط فون نیومان عمیقاً از آن الهام میگرفت.
امروز پس از گذشته نیمقرن از کار Mcclutch و Pitts شاید بتوان گفت که این کار الهام بخش گرایشی کاملاً پویا و نوین در هوش مصنوعی است.
پیوندگرایی (Connectionism) هوشمندی را تنها حاصل کار موازی و همزمان و در عین حال تعامل تعداد بسیار زیادی اجزای کاملاً ساده به هم مرتبط میداند.
شبکههای عصبی که از مدل شبکه عصبی ذهن انسان الهام گرفتهاند امروزه دارای کاربردهای کاملاً علمی و گسترده تکنولوژیک شدهاند و کاربرد آن در زمینههای متنوعی مانند سیستمهای کنترلی، رباتیک، تشخیص متون، پردازش تصویر،… مورد بررسی قرار گرفته است.
علاوه بر این کار بر روی توسعه سیستمهای هوشمند با الهام از طبیعت (هوشمندیهای ـ غیر از هوشمندی انسان) اکنون از زمینههای کاملاً پرطرفدار در هوش مصنوعی است.
الگوریتم ژنیتک که با استفاده از ایده تکامل داروینی و انتخاب طبیعی پیشنهاد شده روش بسیار خوبی برای یافتن پاسخ به مسائل بهینه سازیست. به همین ترتیب روشهای دیگری نیز مانند استراتژیهای تکاملی نیز (Evolutionary Algorithms) در این زمینه پیشنهاد شده اند.
دراین زمینه هر گوشهای از سازو کار طبیعت که پاسخ بهینهای را برای مسائل یافته است مورد پژوهش قرار میگیرد. زمینههایی چون سیستم امنیتی بدن انسان (Immun System) که در آن بیشمار الگوی ویروسهای مهاجم به صورتی هوشمندانه ذخیره میشوند و یا روش پیدا کردن کوتاهترین راه به منابع غذا توسط مورچگان (Ant Colony) همگی بیانگر گوشههایی از هوشمندی بیولوژیک هستند.
گرایش دیگر هوش مصنوعی بیشتر بر مدل سازی اعمال شناختی تاُکید دارد (مدل سازی نمادین یا سمبولیک) این گرایش چندان خود را به قابلیت تعمق بیولوژیک سیستمهای ارائه شده مقید نمیکند.
CASE-BASED REASONING یکی از گرایشهای فعال در این شاخه میباشد. بعنوان مثال روند استدلال توسط یک پزشک هنگام تشخیص یک بیماری کاملاً شبیه به CBR است به این ترتیب که پزشک در ذهن خود تعداد بسیار زیادی از شواهد بیماریهای شناخته شده را دارد و تنها باید مشاهدات خود را با نمونههای موجود در ذهن خویش تطبیق داده، شبیهترین نمونه را به عنوان بیماری بیابد.
به این ترتیب مشخصات، نیازمندیها و تواناییهای CBR به عنوان یک چارچوب کلی پژوهش در هوش مصنوعی مورد توجه قرارگرفته است.
البته هنگامی که از گرایشهای آینده سخن میگوییم، هرگز نباید از گرایشهای ترکیبی غفلت کنیم. گرایشهایی که خود را به حرکت در چارچوب شناختی یا بیولوژیک یا منطقی محدود نکرده و به ترکیبی از آنها میاندیشند. شاید بتوان پیشبینی کرد که چنین گرایشهایی فرا ساختارهای (Meta –Structure) روانی را براساس عناصر ساده بیولوژیک بنا خواهند کرد.
به طور ابتدایی میتوان هوش مصنوعی (Artificial Intelligence) را به این ترتیب تعریف کرد: هوش مصنوعی تلاشی است که انجام آن باعث میشود عملکرد ماشینهای دنیای واقعی، مشابه عملکرد ماشینهای هوشمند نمایش یافته در فیلمها شود. این تعریف، اشارهای مختصر به وسعتی است که تحقیقات هوش مصنوعی به آن میپردازد، اما به جنبههای مهم.A.I. ، به خصوص در موارد علمی اشارهای نمیکند . حال سعی می کنیم هوش مصنوعی را به صورت علمی تر بررسی کنیم .
در روانشناسی ، هوش انسان چنین تعریف می شود : قابلیت عمومی درک و استدلال یا به بیان دیگر کل قابلیت یک فرد برای فعالیت هدفمند، تفکر منطقی و برخورد کارآمد با محیط .
اصطلاح هوش مصنوعی در سال 1956 توسط جان مک کارتی (John McCarthy) ابداع شد . او هوش مصنوعی را چنین تعریف کرد: توانایی است که به ماشین ، هوشمندی نوع انسان یا حیوان را می دهد، به نحوی که ماشین به اهدافش برسد. یا به صورت دقیق تر می توان آن را چنین بیان کرد : هوش مصنوعی شاخه ای از علم کامپیوتراست که ملزومات محاسباتی مورد نیاز را برای اعمالی مانند ادراک، مشاهده، استدلال و یادگیری، مورد بررسی قرار داده و سیستمهایی را پیادهسازی می کند که در این زمینه ها مورد بهره برداری قرار می گیرند.
هوش مصنوعی گاهی مشابه سازی هوش انسان است، اما همیشه چنین نیست، چرا که محققان هوش مصنوعی می توانند هم از روشهایی استفاده کنند که در انسان دیده شده و هم روشهایی را به کار ببرند که جزو کارکردهای انسان نبوده و یا انسان قادر به انجام آن نیست.درقسمت زیر تعاریف دیگری از هوش مصنوعی بیان شده است:
علم و مهندسی ساخت ماشین های هوشمند٬ خصوصا برنامه های کامپیوتری هوشمند . جان مک کارتی (استنفورد)
هوش مصنوعی عموما بعنوان زیر شاخه ای از کامپیوتر محسوب شده و ارتباط تنگاتنگی با عصب شناسیُ٬ علوم شناختی٬ روانشناسی شناختی٬ منطق ریاضی و مهندسی است.(پژوهشکده IBM)
هوش مصنوعی عبارتست از ایجاد ظرفیت برای انجام وظایفی که عموما بعنوان ویژگی های انسان شناخته می شود در کامپیوتر. این ظرفیتها شامل: استدلال٬ اکتشاف مفهوم٬ تعمیم٬ یادگیری و ... می باشد. هربرت سیمون (کارنگی ملون)
مغز مصنوعی٬ مغز رباتی است که یاد می گیرد و رفتاری شبیه مغز انسان از خود نشان می دهد. با این تفاوت که بصورت ااکترونیکی ساخته شده و نه بیولوژیکی. Intelligent) Systems and Their Societies)
در اینجا هوشمندی به وسیله مشابه سازی انواع اتصالات فیزیکی که در مغز حیوانات اتفاق می افتد، عملی می شود.
در این شاخه، کامپیوترها برای فهم زبان انسان برنامهیزی می شوند.
در این حوزه سعی می شود، روباتها به طور هوشمند عمل کنند.به عنوان مثال تواناییهای هوشمندانه ای مثل دیدن، شنیدن و عکس العمل نشان دادن به محرکهای طبیعی .
در اینجا کامپیوترها برای شرکت در مسابقاتی مثل شطرنج برنامه ریزی می شوند.
در این شاخه ، کامپیوترها برای تصمیم گیری در شرایط واقعی زندگی برنامه ریزی می شوند.به عنوان مثال سیستم هوشمندی را در نظر بگیرید که توانایی تشخیص مشکلات اعصاب و روان بیماران را دارد.برای این منظور به صورت زیر عمل می شود:اطلاعات یک یا چند متخصص به اضافه اطلاعات گرفته شده از خود مراجعان ، به کامپیوتر داده می شود.حال هر مراجعه کننده به سوالاتی که کامپیوتر مطرح می کند پاسخ داده ، سپس کامپیوتر نوع بیماری مراجعه کننده را با استفاده از اطلاعات تخصصی که در اختیار دارد و اطلاعاتی که از مراجعه کننده گرفته ، مشخص می کند. چنین کامپیوتری ، یک سیستم خبره است.اما این سیستم، علاوه بر آنچه به آن داده شده ، اطلاعاتی به دست نمی آورد.
اغلب، هوش مصنوعی به دو طبقه تقسیم می شود، هوش مصنوعی قوی (Strong A.I.) وهوش مصنوعی ضعیف .
( A.I Weak)
هوش مصنوعی قوی ادعا می کند که کامپیوترها می توانند به نحوی کارگذاری شوند که حداقل تا سطح انسان فکر کنند وتواناییهای او را داشته باشند.
هوش مصنوعی ضعیف به سادگی چنین اظهار می کند که تعدادی از ویژگیهای انسان مانند فکرکردن، می توانند به کامپیوترها اضافه شوند، به نحوی که آنها کاراتر شده و بتوانند به عنوان مثال تشخیص انسان را مشابه سازی کنند.به عبارت دیگر به نحوی کار کنند که بتوان به آنها سیستمهای هوشمند اطلاق کرد .این نوع هوش مصنوعی مدتی است که عملی شده و مثال آن نرم افزاری است که گفتار را تشخیص می دهد.
سرعت و حافظه کامپیوتر نسبت به انسان خیلی بیشتر است ، اما میزان تواناییهای آن بستگی به کارآیی مکانیزمهای هوشمندی دارد که طراحان برنامه در طراحی به کار گرفته اند.اگر طراحان مکانیزمهای مورد نظرشان را کاملا دریافته باشند و به خوبی بتوانند آنها را در برنامه هایی به زبان ماشین بیان کنند، میزان توانایی ماشین مطلوب خواهد بود و اگر چنین نباشد، ماشین کارایی خوبی نخواهد داشت. نابراین هوشمندی ماشینها نیز مانند انسان ، انواع و درجات مختلفی دارد.
بعضی از مردم فکر می کنند با نوشتن تعداد زیادی برنامه و با استفاده از زبانهایی که هم اکنون برای بیان اطلاعات به کامپیوتر استفاده می شوند، کامپیوترها می توانند به هوشمندی نوع انسان برسند .اما محققان هوش مصنوعی معتقدند برای این منظور، ایده های اساسی جدیدی لازم است و بنابراین نمی توان پیش بینی کرد که چه زمانی کامپیوترها به این هدف می رسند.
گروهی از محققان در پی این اندیشه بوده اند که ماشینی غیر از کامپیوتر را برای هوشمند شدن به وجود آورده و به کار گیرند .این گروه ماشینهایی ساختند و امیدوار بودند که بتوانند این ماشینها را به همان صورتی که برنامه های کامپیوتری را هوشمند می سازند، هوشمند کنند.با وجود این ، آنها معمولا ماشینهای اختراعی خود را روی کامپیوتر مدل سازی می کردند. نها به این گمان می رسیدند که ساخت ماشینهای جدید بسیار گران تمام می شود، چون برای افزایش سرعت کامپیوترها هزینه بسیار زیادی صرف می شود و بنابراین نوع دیگر ماشین باید خیلی سریع باشد که در مدل سازی ، بهتر از کامپیوتر عمل کند.
گاهی این سوال پیش می آید که آیا هدف از هوش مصنوعی ، گذاردن اندیشه انسان در کامپیوتر است ‚ بعضی از محققان همین هدف را دنبال می کنند.اما اندیشه انسان مشخصه های بسیار زیادی دارد وتا کنون کسی به طور جدی از تقلید همه آنها در کامپیوتر صحبتی نکرده است . محققان معتقدند زمانی که انسان در انجام بعضی از امور بهتر از ماشین عمل کند و یا آنگاه که کامپیوترها برای داشتن کارکردی مشابه انسان ، ناچار به استفاده از تعداد بسیار زیادی محاسبه باشند، در آن صورت طراحان برنامه های هوشمندی ماشین در درک مکانیزمهای هوشمندی و بیان آنها به زبان ماشین موفق نبوده اند، بنابراین لازم است برنامه هایی با کارایی بیشتر طراحی شود.
بعضی از مردم فکر می کنند برای هوشمند شدن کامپیوترها، سرعت بیشتری لازم است.اما از نظر محققان اگر تسلط کاملی بر طراحی برنامه های هوشمندی وجود داشت ، کامپیوترهای 30 سال قبل نیز برای هوشمند شدن سرعت کافی داشتند!
بعد از جنگ جهانی دوم ، افرادی بدون ارتباط با یکدیگرشروع به کار در زمینه ماشینهای هوشمند کردند .در سال1947 ، تورینگ یک سخنرانی در همین زمینه ارائه کرد، او احتمالا اولین کسی است که ادعا کرد بهترین تحقیقات در این زمینه براساس برنامه نویسی کامپیوتر انجام می شود و نه ساخت ماشین.
پس از شکل گیری هوش مصنوعی ، مک کارتی یک کارگاه دو ماهه در کالج Dart Mouth تشکیل داد .این کارگاه هیچ چیز تازه ای به دنبال نداشت ، اما همه بنیانگذاران هوش مصنوعی را گردهم آورد و باعث شد پایه ای برای تحقیقات بعدی گذارده شود .به دنبال آن موج شدیدی از تحقیقات در این زمینه پدید آمد و مراکز تحقیقات هوش مصنوعی در دانشگاههایی مثل MIT و Carnegie Mellon شکل گرفت.
مک کارتی فعالیتهای زیادی در این زمینه انجام داد .او در سال 1958 یک زبان برنامه نویسی سطح بالا به نام لیسپ (LISP) را نوشت که هنوز یکی از برجسته ترین زبانهای برنامه نویسی هوش مصنوعی است.
در آن زمان محققان MIT نشان دادند که اگر کار به یک موضوع اصلی محدود و منحصر شود، برنامه های کامپیوتری می توانند مسائل فضایی و همچنین مسائل منطقی را نیز حل کنند.
در دهه 70 میلادی ، حوزه های کاری هوش مصنوعی تخصصی تر شد.حوزه هایی مثل سیستمهای هوشمند، بررسی تکلم و بینایی کامپیوتر و غیره به وجود آمد که این امر باعث تحکیم بیشتر تئوریهای مربوطه شد.
در دهه 80 میلادی ، هوش مصنوعی با گامهای سریع تری به پیش رفت .همچنانکه کامپیوترهای شخصی جای بیشتری بین مردم پیدا کردند و فروش سخت افزار در این زمینه افزایش یافت ، مردم با علم و تکنیک مانوس تر شدند.
در اوایل دهه 90 میلادی، در جنگ خلیج فارس هوش مصنوعی مورد آزمایش قرار گرفت. ین آزمایش هم در کارهای ساده ای مثل تجهیز هواپیماهای باربری و هم در کارهای پیچیده تر مثل زمان بندی و هماهنگی عملیات طوفان صحرا انجام گرفت.همچنین سلاحهای پیشرفته تر مثل موشک کروز به فناوریهایی در زمینه هوش مصنوعی مثل روباتیک یا بینایی ماشین ، مجهز شدند .
نزدیک به ده سال پیش ، دپارتمان تجاری ، ارزیابی تکنولوژیکی بازار هوشمندی مصنوعی در U.S را مورد بحث قرار داد.محققان ، AI را به عنوان سیستمی که می تواند به سازمان در مدیریت دانش آن کمک نماید و در رابطه با بعد پیچیدگی ، یاری کننده متخصصان در تحلیل مشکل و طراحی ابزار جدید باشد ، معرفی نموده اند.
در سال 1993 بازار هوش مصنوعی شامل تکنولوژی هایی نظیر سیستم خبره ،شبکه های عصبی ، منطق فازی ، رباتها و.... می شد که حدود 900 میلیون دلار را به خود اختصاص می داد و U.S در توسعه چنین سیستم هایی در راس سایر کشور ها قرار داشت.
بعد از آن سرمایه گذاری های وسیعی از طرف دولت و ارتش روی سیستم های هوشمند گردید و کاربرد های وسیعی از آن ایجاد شدو اکنون در قرن بیست و یکم شاهد ورود تدریجی هوش مصنوعی به زندگی مردم هستیم ، به خصوص که علاقه به کامپیوتر و بازیهای کامپیوتری روزبه روز بیشتر می شود در سال 2002 سهم این بازاربه چیزی بالغ بر 11.9 بیلیون دلار رسید و پیش بینی می شود تا سال 2007 به 21 بیلیون دلار خواهد رسید . پیشرفتهای نوین در این زمینه به طور روزافزون در دسترس مردم قرار می گیرد و چه کسی می داند آینده به همراه خود چه به ارمغان خواهد آورد.
برای شناخت هوش مصنوعی شایسته است تا تفاوت آن را با هوشانسانی به خوبی بدانیم . مغز انسان از میلیاردها سلول یا رشته عصبیدرست شده است و این سلولها به صورت پیچیدهای به یکدیگر متصلاند . شبیهسازی مغز انسان میتواند از طریق سختافزار یا نرمافزارانجام گیرد. تحقیقات اولیه نشان داده است شبیهسازی مغز، کاریمکانیکی و ساده میباشد. برای مثال، یک کرم دارای چند شبکه عصبیاست . یک حشره حدود یک میلیون رشته عصبی دارد و مغز انسان ازهزار میلیارد رشته عصبی درست شده است . با تمرکز و اتصال رشتههایعصبی مصنوعی میتوان واحد هوش مصنوعی را درست کرد.
هوش انسانی بسیار پیچیدهتر و گستردهتر از سیستمهای رایانهایاست و توانمندیهای برجستهای مانند: استدلال، رفتار، مقایسه، آفرینشو بکار بستن مفهومها را دارد.
هوش انسانی توان ایجاد ارتباط میان موضوعها و قیاس ونمونه سازیهای تازه را دارد. انسان همواره قانونهای تازهای میسازد و یاقانون پیشین را در موارد تازه بکار میگیرد . توانایی بشر در ایجاد مفهومهای گوناگون در دنیای پیرامون خود ، از ویژگیهای دیگر اوست . مفهومهای گستردهای همچون روابط علت و معلولی، رمان و یا مفهومهای سادهتری مانند گزینش وعدههای خوراک (صبحانه، ناهار وشام) را انسان ایجاد کرده است. اندیشیدن در این مفهومها و بکاربستنآنها، ویژه رفتار هوشمندانه انسان است.
هوش مصنوعی در پی ساخت دستگاههایی است که بتوانندتوانمندهای یاد شده (استدلال، رفتار، مقایسه و مفهوم آفرینی) را از خود بروز دهند. آنچه تاکنون ساخته شده نتوانسته است خود را به این پایه برساند ، هر چند سودمندیهای فراوانی به بار آورده است. نکته آخر اینکه، یکی از علل رویارویی با مقوله هوش مصنوعی ، ناشی از نامگذاری نامناسب آن میباشد. چنانچه جان مککارتی در سال1956 میلادی آن را چیزی مانند «برنامهریزی پیشرفته» نامیده بود شاید جنگ و جدلی در پیرامون آن رخ نمیداد.
در ذیل هوش مصنوعی و هوش طبیعی را فهرست وار مقایسه می کنیم :

هوش مصنوعی (artificial
intelligence) را باید
عرصهٔ پهناور تلاقی و ملاقات بسیاری از دانشها، علوم، و فنون قدیم و جدید دانست.
ریشهها و ایدههای اصلی آن را باید در فلسفه، زبانشناسی، ریاضیات، روانشناسی،
نورولوژی، و فیزیولوژی نشان گرفت و شاخهها، فروع، و کاربردهای گونهگونه و فراوان
آن را در علوم رایانه، علوم مهندسی، علوم زیستشناسی و پزشکی، علوم ارتباطات و
زمینههای بسیار دیگر. .
هدف هوش مصنوعی بطور کلی ساخت ماشینی است که بتواند «فکر» کند. اما برای دسته بندی
و تعریف ماشینهای متفکر، میبایست به تعریف «هوش» پرداخت. همچنین به تعاریفی برای
«آگاهی» و «درک» نیز نیازمندیم و در نهایت به معیاری برای سنجش هوش یک ماشین
نیازمندیم.
.با وجودی که برآورده سازی
نیازهای صنایع نظامی، مهمترین عامل توسعه و رشد هوش مصنوعی بودهاست، هم اکنون از
فراوردههای این شاخه از علوم در صنایع پزشکی، رباتیک، پیش بینی وضع هوا،
نقشهبرداری و شناسایی عوارض، تشخیص صدا، تشخیص گفتار و دست خط و بازیها و نرم
افزارهای رایانهای استفاده میشود
مباحث هوش مصنوعی پیش از بوجود آمدن علوم الکترونیک، توسط فلاسفه و ریاضی دانانی
نظیر بول (Boole)
که اقدام به ارائه قوانین و نظریههایی در باب منطق نمودند، مطرح شده بود. در سال
۱۹۴۳،
با اختراع رایانههای الکترونیکی، هوش مصنوعی، دانشمندان را به چالشی بزرگ
فراخواند. بنظر میرسید، فناوری در نهایت قادر به شبیه سازی رفتارهای هوشمندانه
خواهد بود.
.با وجود مخالفت گروهی از
متفکرین با هوش مصنوعی که با دیده تردید به کارآمدی آن مینگریستند تنها پس از چهار
دهه، شاهد تولد ماشینهای شطرنج باز و دیگر سامانههای هوشمند در صنایع گوناگون
هستیم.
نام هوش مصنوعی در سال ۱۹۶۵
میلادی به عنوان یک دانش جدید ابداع گردید. البته فعالیت درزمینه این علم از سال
۱۹۶۰
میلادی شروع شده بود.
. بیشتر کارهای پژوهشی اولیه در
هوش مصنوعی بر روی انجام ماشینی بازیها و نیز اثبات قضیههای ریاضی با کمک
رایانهها بود. در آغاز چنین به نظر میآمد که رایانهها قادر خواهند بود چنین
اموری را تنها با بهره گرفتن از تعداد بسیار زیادی کشف و جستجو برای مسیرهای حل
مسئله و سپس انتخاب بهترین آنها به انجام رسانند.
هنوز تعریف دقیقی که مورد قبول همهٔ دانشمندان این علم باشد برای هوش مصنوعی ارائه
نشدهاست، و این امر، به هیچ وجه مایهٔ تعجّب نیست. چرا که مقولهٔ مادر و اساسیتر
از آن، یعنی خود هوش هم هنوز بطور همهجانبه و فراگیر تن به تعریف ندادهاست. در
واقع، میتوان نسلهایی از دانشمندان را سراغ گرفت که تمام دوران زندگی خود را صرف
مطالعه و تلاش در راه یافتن جوابی به این سؤال عمده نمودهاند که: هوش چیست؟
اما اکثر تعریفهایی که در این زمینه ارایه شدهاند بر پایه یکی از
۴
باور زیر قرار میگیرند:
سیستمهایی که به طور منطقی فکر میکنند
سیستمهایی که به طور منطقی عمل میکنند.
سیستمهایی که مانند انسان فکر میکنند.
سیستمهایی که مانند انسان عمل میکنند.
شاید بتوان هوش مصنوعی را این گونه توصیف کرد:«هوش مصنوعی عبارت است از مطالعه این که چگونه کامپیوترها را میتوان وادار به کارهایی کرد که در حال حاضر انسانها آنها رابهتر انجام میدهند.
فلسفۀ هوش مصنوعی
بطور کلی ماهیت وجودی هوش به مفهوم جمع آوری اطلاعات, استقرا و تحلیل تجربیات به منظور رسیدن به دانش و یا ارایه تصمیم میباشد . در واقع هوش به مفهوم به کارگیری تجربه به منظور حل مسایل دریافت شده تلقي ميشود. هوش مصنویی علم و مهندسی ایجاد ماشینهایی با هوش با به کارگیری از كامپیوتر و الگوگيری از درک هوش انسانی و نهايتا دستیابی به مکانیزم هوش مصنوعی در سطح هوش انسانی ميباشد.
.در مقایسه هوش مصنوعی با هوش انسانی می توان گفت که انسان قادر به مشاهده و تجزیه و تحلیل مسايل در جهت قضاوت و اخذ تصمیم میباشد در حالی که هوش مصنوعی مبتنی بر قوانین و رویه هايی از قبل تعبیه شده بر روی کامپیوتر میباشد. در نتيجه علی رغم وجود کامپیوترهای بسیار کارا و قوی در عصر حاضر ما هنوز قادر به پیاده کردن هوشي نزدیک به هوش انسان در ایجاد هوشهای مصنوعی نبوده ایم.
.بطور كلّی، هوش مصنوعی را می
توان از زوایای متفاوتی مورد بررسی و مطالعه قرار داد. مابین هوش مصنوعی به عنوان
یک هدف، هوش مصنوعی به عنوان یک رشته تحصیلی دانشگاهی، و یا هوش مصنوعی به عنوان
مجموعۀ فنون و راه کارهایی که توسط مراکز علمی مختلف و صنایع گوناگون تنظیم و توسعه
یافته است باید تفاوت قائل بود.
مدیریت پیچیدگی
ایجاد و ابداع فنون و تکنیکهای
لازم برای مدیریّت پیچیدگی را باید به عنوان هستۀ بنیادین تلاشهای علمی و پژوهشی
گذشته، حال، و آینده، در تمامی زمینههای علوم رایانه، و به ویژه، در هوش مصنوعی
معرّفی کرد. شیوهها و تکنیکهای هوش مصنوعی، در واقع، برای حلّ آن دسته از مسائل
به وجود آمده است که به طور سهل و آسان توسط برنامهنویسی تابعی (Functional
programming)، یا
شیوههای ریاضی قابل حلّ نبودهاند.
در بسیاری از موارد، با پوشانیدن و پنهان ساختن جزئیّات فاقد اهمّیّت است که بر
پیچیدگی فائق میآییم، و میتوانیم بر روی بخشهایی از مسئله متمرکز شویم که مهمتر
است. تلاش اصلی، در واقع، ایجاد و دستیابی به لایهها و ترازهای بالاتر و بالاتر
تجرید را نشانه میرود، تا آنجا که، سرانجام برنامههای کامپوتری درست در همان
سطحی کار خواهند کرد که خود انسانها به کار مشغولند.
به یاری پژوهشهای گسترده
دانشمندان علوم مرتبط، هوش مصنوعی از آغاز پیدایش تاکنون راه بسیاری پیمودهاست. در
این راستا، تحقیقاتی که بر روی توانایی آموختن زبانها انجام گرفت و همچنین درک عمیق
از احساسات، دانشمندان را در پیشبرد این علم، یاری کردهاست. یکی از اهداف متخصصین،
تولید ماشینهایی است که دارای احساسات بوده و دست کم نسبت به وجود خود و احساسات
خود آگاه باشند. این ماشین باید توانایی تعمیم تجربیات قدیمی خود در شرایط مشابه
جدید را داشته و به این ترتیب اقدام به گسترش دامنه دانش و تجربیاتش کند.
برای نمونه به رباتی هوشمند بیاندیشید که بتواند اعضای بدن خود را به حرکت درآورد،
او نسبت به این حرکت خود آگاه بوده و با سعی و خطا، دامنه حرکت خود را گسترش
میدهد، و با هر حرکت موفقیت آمیز یا اشتباه، دامنه تجربیات خود را وسعت بخشیده و
سر انجام راه رفته و یا حتی میدود و یا به روشی برای جابجا شدن، دست مییابد، که
سازندگانش، برای او، متصور نبودهاند.
هر چند مثال ما در تولید ماشینهای هوشمند، کمی آرمانی است، ولی به هیچ عنوان دور از دسترس نیست. دانشمندان، عموماً برای تولید چنین ماشینهایی، از تنها مدلی که در طبیعت وجود دارد، یعنی توانایی یادگیری در موجودات زنده بخصوص انسان، بهره میبرند.
آنها بدنبال ساخت ماشینی مقلد هستند، که بتواند با شبیهسازی رفتارهای میلیونها یاخته مغز انسان، همچون یک موجود متفکر به اندیشیدن بپردازد.
هوش مصنوعی که همواره هدف نهایی
دانش رایانه بودهاست، اکنون در خدمت توسعه علوم رایانه نیز است. زبانهای برنامه
نویسی پیشرفته، که توسعه ابزارهای هوشمند را ممکن میسازند، پایگاههای دادهای
پیشرفته، موتورهای جستجو، و بسیاری نرمافزارها و ماشینها از نتایج پژوهشهای هوش
مصنوعی بهره میبرند.
سیستمی که عاقلانه فکر کند. سامانهای عاقل است که بتواند کارها را درست انجام دهد.
در تولید این سیستمها نحوه اندیشیدن انسان مد نظر نیست. این سیستمها متکی به
قوانین و منطقی هستند که پایه تفکر آنها را تشکیل داده و آنها را قادر به استنتاج و
تصمیم گیری مینماید. آنها با وجودی که مانند انسان نمیاندیشند، تصمیماتی عاقلانه
گرفته و اشتباه نمیکنند. این ماشینها لزوما درکی از احساسات ندارند. هم اکنون از
این سیستمها در تولید عاملها در نرم افزارهای رایانهای، بهره گیری میشود. عامل
تنها مشاهده کرده و سپس عمل میکند.
سیستمهای خبره
سیستمهای خبره زمینهای پرکاربرد در هوش مصنوعی و مهندسی دانش است که با توجّه به نیاز روز افزون جوامع بر اتخاذ راه حلها و تصمیمات سریع در مواردی که دانشهای پیچیده و چندگانهٔ انسانی مورد نیاز است، بر اهمیت نقش آنها افزوده هم میشود. سیستمهای خبره به حل مسائلی میپردازند که به طور معمول نیازمند تخصّصهای کاردانان و متخصّصان انسانیست. به منظور توانایی بر حل مسائل در چنین سطحی (ترازی)، دسترسی هرچه بیشتر اینگونه سامانهها به دانش موجود در آن زمینه خاص ضروری میگردد.
عاملهای هوشمند
عاملها (Agents) قادر به شناسایی الگوها، و تصمیم گیری بر اساس قوانین فکر کردن خود می باشند. قوانین و چگونگی فکر کردن هر عامل در راستای دستیابی به هدفش، تعریف میشود. این سیستمها بر اساس قوانین خاص خود فکر کرده و کار خودرا به درستی انجام میدهند. پس عاقلانه رفتار میکنند، هر چند الزاما مانند انسان فکر نمیکنند.
هوش ماشینی و هوش انسانی
John
McCarthy از جمله
پیشروترین محققان در حوزه هوش مصنوعی است، ولی بیشتر شهرت وی به دلیل ابداع زبان
LISP
است كه كاربرد گستردهای را در حوزه هوش مصنوعی (AI)
دارد. وی همچنین نخستین كسی است كه به فكر استفاده اشتراك زمانی همه منظوره
ازكامپیوترها افتاد.

پروفسور جان مككارتی در سال 1927 در بوستون متولد شد. وی درجه كارشناسی ارشد
ریاضیات خود را در سال 1948 از انستیتو تكنولوژی كالیفرنیا دریافت كرد و با ادامه
تحصیل در رشته ریاضیات، در سال 1951 مدرك دكترای خود را از دانشگاه پرنیستون اخذ
نمود. وی سپس با ادامه تحصیل و مطالعه در رشته علوم كامپیوتر، درجه استادی خود را
از دانشگاه استنفورد در سال 1962 دریافت نمود و از سال 1965 تا 1980 سرپرستی
آزمایشگاه هوش مصنوعی همان دانشگاه را عهدهدار بود.
مككارتی در زمان مطالعه درخصوص هوش مصنوعی كه وی از جمله بنیانگذاران آن محسوب میشود، زبانی را برای توصیف و توسعه آن با عنوان List Processing یا همان LISP ابداع نمود. این زبان در سال 1958 در دانشگاه MIT توسعه داده شد. مككارتی در آن زمان معتقد بود كه میتوان كاری كرد كه ماشین نیز هوشی همانند هوش انسانی داشته باشد و LISP زبانی است كه میتواند این هوش را توصیف كند.
البته علاقمندی مككارتی به مقوله هوش مصنوعی به قبل از این دوران برمیگردد. وی در سال 1948 از كارهای جان فوننویمان (پدر منطق كامپیوترهای امروزی) مطلع میشود به آن علاقمند میگردد. ولیكن آنچه وی به آن میاندیشید آن بود كه میتوان یافتههای فوننویمان را به نحوی بهكار بست كه بتوان هوش انسانی را روی ماشین شبیهسازی نمود. او در اواسط دهه پنجاه میلادی با كمك مالی بنیاد راكفلر، كار روی شبیهسازی هوش انسانی را آغاز كرد و بدین ترتیب هوش مصنوعی زاده شد.
در سال 1956، مككارتی با
همكاری كلود شانون و ماروین مینسكی یك كارگاه آموزشی را با موضوع هوش مصنوعی برگزار
میكند و این موضوع را در آنجا مطرح مینماید. پس از آنكه موضوع هوشمصنوعی بهطور
جدی مطرح میگردد، مككارتی كار روی بازیهای هوشمندانه ماشینی را آغاز میكند و از
حاصل این كار، زبان LISP
پدیدار میگردد، زبانی برای توصیف خواستههای هوشمندانه از ماشین. زبان
LISP به
جای آنكه از منطق ریاضی و كار روی اعداد استفاده كند، علامات و سمبلها را به
اشیاء تغییر میدهد، یعنی از تعدادی لیست برای توصیف منطق كاری برنامه بهره میبرد
و در نهایت، خروجی این زبان تعدادی جمله یا عبارت توصیفی خواهد بود.
البته امروزه هم از شكلهای تازهتری از زبان
LISP در
سیستمهای خبره (Expert)
و برنامههای پردازش زبان طبیعی(NLP) استفاده
میشود. در ضمن این زبان به قدری سطح بالا بود كه تازه در اواخر دهه هشتاد میلادی
كامپیوترهایی پدید آمدند كه توان كامل پردازش دستورات این زبان را داشتند.
همه كسانی كه نخستین گامها را در راه معرفی هوش مصنوعی برداشتند، یك هدف را در سرداشتند و آن رساندن سطح هوش ماشینی به سطح هوش انسانی بود. اما امروزه میدانیم كه مطالعه در زمینه هوش و درك عملكرد آن، بسیار پیچیده و دشوار است. اكنون موضوع هوش را میتوان از دو جنبه بررسی نمود. جنبه نخست آن است كه آگاهی از جهان اطراف چگونه به دست میآید و چگونه میتوان از یافتهها، و حقایق نتیجهگیری هوشمندانه نمود. یك سیستم هوشمند نیازمند دریافت دانستهها، تئوریهایی تخمینی و غیرمشخص از اطراف است. ولیكن از چیزهایی كه بهطور دقیق و نامشخص تعریف شدهاند، بایستی نتایج دقیقی استنتاج گردد. جنبه دیگر این بررسی، حالت كشف و شهود هوشمندانه است. یعنی باید به طریقه كشف و شهود، راهی به سمت مقصد یافت كه این راه از میان هزاران راه ممكن و غیرممكن بایستی انتخاب گردد. این موضوعات هنوز هم دلمشغولیهای مككارتی هستند و راهحلهای دقیقی برای حل آنها یافت نشده است.
جان مككارتی، پروفسور دانشگاه استنفورد، با انتشار صدها مقاله در حوزه كامپیوتر و هوش منصوعی و انتشار كتاب "فرموله كردن احساسات عمومی" تاكنون جوایز و مدالهای متعددی را نیز كسب كرده است. جایزه انجمنACM، جایزه تورینگ، جایزه انجمن هوش مصنوعی آمریكا، جایزه پژوهش برگزیده در حوزه هوش مصنوعی، جایزه كیوتو و مدال ملی علوم از این جملهاند. وی همچنین عضو آكادمی علوم و هنر و آكادمی ملی مهندسی و آكادمی ملی علوم نیز میباشد.
الگوریتم های هوش مصنوعی
ACO یا Ant Colony Oprimization یک راه حل برای مسئله های با فضای حالت بزرگ یا NP است که تقریبا همانند الگوریتمهای Genetic است ولی در عمل نسبت به آن بهتر است. آنچه در ادامه می آید قسمتی از یک مقاله در مورد کاربردهای Data Mining و ACO است.
مورچه ها حشره های مستقلی هستند كه فعالیت اشتراكی دارند به ظاهر یك از مورچه فعال در یك كلونی مستقل از دیگری فعالیت می كند ولی در واقع كلیه مورچه ها در قالب یك سیستم جهت حل یك مسئله پیچیده با هم همكاری می كنند . مسئله مهم دررابطه مورچه ها و به طور كلی حشرات مسئله وابستگی بقا است. مورچه ها غذا را جستجو می كنند و آن را به شكل مناسب نگهدار و انبار می كنند حل این مسئله نیاز به برنامه ریزی پیشرفته دارد مورچه ها این عملیات را بدون هر گونه كنترل مركزی و نظارت متمر كز انجام می دهند به همین دلیل به حشرات به طور كلی گروه هوشمند می گویند.
در این مقاله ما به بررسی رفتار مورچه های واقعی، در زمان جستجو ی غذا تمركز می كنیم. مورچه ها قادرند كوتاه ترین مسیر را برای یافتن غذا از لانه خود به منبع غذا جستجو نمایند. .هر این فرآیند بدون هیچ گونه اطلاعات تصویری از مسیر غذا صورت می گیرد.
مورچه ها به صورت غیر مستقیم و از طریق ماده ای به نام فرومون با هم ارتباط بر قرار می كنند و اطلاعات مربوط به مسیر ها را در اختیار یكدیگر قرار می دهند مورچه ها با ترشح مقدار معینی فرومون مسیر خود را مشخص و علامت گذاری می كنند سایر مورچه ها با بررسی و مشاهده فرومون موجود در مسیر، راه یافتن غذا را پیدا می كنند این فرایند می تواند باز خورد حلقه مثبت را شرح دهد، به این ترتیب كه یك مورچه می تواند با استفاده از یك تابع احتمالی مسیر خود را انتخاب كند. هر چه تعداد مورچه های عبور كرده از یك مسیر بیشتر باشد آنگاه احتمال آنكه آن مسیر توسط مورچه بعدی انتخاب شود ، بیشتر است. در ابتدا مو رچه ها پس از خارج شدن از لانه خود با احتمال مساوی به جهات مختلف، برای یافتن غذا حركت می كنند . مورچه ها در مسیر های نا هموار با سرعت مساوی حركت می كنند، در مسیر خود فرومون ترشح می كنند . بعد از اینكه یك مورچه در مسیر خود غذایی پیدا كرد به سرعت از همان مسیر به سمت لانه مراجعت می كنند و میزان ترشح فرومون را در مسیر افزایش می دهد . به این ترتیب سایر مو رچه ها كه مسیر های دیگر را تجربه كرده اند به تدریج به یك مسیر هدایت خواهند شد .
1- مشخصات اصلی بهینه سازی به روش كلونی مورچه ها
الگوریتم بهینه سازی كلونی مورچه ها بر اساس یك سری عامل بنا نهاده شده است، بطوریكه رفتار این عامل ها از رفتار طبیعی مورچه ها الهام گرفته شده است نكته اساسی در رفتار عامل ها و یا مورچه ها همان همكاری و انطباق است با استفاده از این سیستم و الگوریتم می توان یك روش فرا اكتشافی برای حل مسائل بهینه سازی تركیبی ارائه كرد این روش فرا اكتشافی دارای دو ویژگی قدرت و تنوع است . به این ترتیب می توان به طور موفقیت آمیزی از آن در حل مسائل بهینه سازی پیچیده استفاده كرد .
الگوریتم ACO شامل بخشهای زیر است :
هر مورچه در زمان حل مسئله با مسیرهای مختلف بر خورد می كند. هنگامی كه یك مورچه از یك مسیر عبور می كند میزان فرومون جدید در آن مسیر را متناسب با كیفیت مسیر افزایش می دهد هنگامی كه یك مورچه با چند مسیر مختلف مواجه می شود . احتمال انتخاب مسیری كه میزان فرومون آن نسبت به سایر مسیرها بیشتر باشد افزایش می یابد. بنابر این مورچه ها همواره كوتاهترین مسیر را برای پیدا كردن غذا جستجو می كنند . كه این حالت می تواند حالت بهینه یا نزدیك به حالت بهینه باشد .
2- مشخصات و ماهیت الگوریتم های
ACO
چنانچه بتوان ساختار مسئله را به صورت یك گراف نمایش داد آنگاه می توان از الگوریتم های ACO برای یافتن كوتاه ترین مسیر در گراف كه همانا پاسخ مسئله است استفاده كرد. هر مورچه بصورت تکاملی اقدام به تغییر یا ساخت بخشی از پاسخ مسئله می نماید ، علکرد کلی مورچه ها وابسته به یک تابع احتمالی و یک تابع اکتشافی وابسته به مسئله است. ساختار و ماهیت الگوریتم های ACO بصورت زیر است 2 :
ایجاد یک متد برای ارزیابی
پاسخهای تولید شده . این متد بر اساس ساختار مسئله تعریف می شود.
ارائه یک تابع اکتشافی H)
وابسته به مسئله ،این تابع میزان کیفیت
item
های قابل اضافه کردن به پاسخ مسئله را ارزیابی می کند .
یک روتین جهت بهمگام سازی میزان فرومون مسیرها(P)
ارائه یک تابع احتمالی که به کمک آن بتوان مسیرها را جهت تولید پاسخ جستجو کرد .در این تابع از تابع اکتشافی و میزان فرومون موجود در مسیرها استفاده می شود.
علوم شناختي حوزهاي مركب از دانشهايي نظير هوش مصنوعي، روان شناسي، عصب-روان شناسي، زبان شناسي، فلسفه ذهن و برخي ديگر از زمينههاي مطالعاتي است.
اين گستره پژوهشي با ماهيتي
ميان رشتهاي درپي مطالعه پديدهها و رفتارهاي شناختي است؛ از ادراك (شامل حواس پنج
گانه) گرفته تا فرآيندهاي هوشمندانه (از قبيل حساب، حل مساله، تفكر شهودي، تصميم
گيري و...) و نيز زبان، حافظه، يادگيري و هر آنچه كه بتوان آن را پديده و رفتاري
شناختي در نظر گرفت. روشهاي علمي و نظريههاي شاخههاي گوناگون علوم شناختي بر
گسترش پژوهشها و زمينههاي مطالعاتي، بر حوزههاي تحقيقي به صورت تعاملي تاثيراتي
اساسي داشته اند.بر اساس چنين رهيافتي، محققان علوم كامپيوتر و هوش مصنوعي با
استفاده از نظريهها و روشهاي مطالعاتي علوم شناختي ميتوانند در جهت بهبود
ايدهها و روشهاي نظري و عملي هوش مصنوعي در شبيه سازي و پياده سازي رفتارهاي
هوشمند گامهاي مطلوبي بردارند.اين مقاله، پيشگفتار كتاب «هوش مصنوعي از رهيافت
علوم شناختي» است كه همزمان با چاپ و انتشار در اختيار روزنامه قرار گرفته است.علم
شناخت با گردآوري مجموعهاي از علوم گوناگون به منزله يك زمينه مطالعاتي ميان
رشتهاي در پي تبيين فرآيندهاي ذهني و شناختي است تا از اين رهيافت به ارايه
شبيهسازي و مدلهاي گوناگوني از رفتارهاي شناختي در حوزههاي مورد ملاحظه خود
بپردازد. موفقيت برق آساي علوم شناختي بعد از سالهاي 1970 دلايل مختلفي داشت؛
نخست، بلندپروازي نظري و سادهانگارانه اوليه اين علوم در فهم فرآيندهاي شناختي در
انسانها؛ دوم، تازگي اين علوم و ميان رشتهاي بودن آنكه جاذبهاي فراوان داشت و
سرانجام آنكه، ايدهها و كاربردهاي عملي تازهاي را در زمينه هوش مصنوعي وعده
ميداد.
با وجود اين، اشتباه است اگر فكر كنيم كه علوم شناختي نوعي برنامه تحقيقي همسان و
بزرگ است كه پژوهشگران با تخصصهاي مختلف را در هماهنگي كامل به همكاري گرد
ميآورد. علوم شناختي، همانند فيزيك نيوتوني يا شيمي ارگانيك، يك علم واحد متجانس
را تشكيل نميدهند. كسي كه ميخواهد به طور كامل با تمامي زمينههاي مطالعاتي آن
آشنا شود، ره به خطا بردهاست. در اين علم، تودهاي از رشتههاي اصلي و فرعي
گردآمدهاند كه با يكديگر تلاقي دارند. از اين رو، از طرفي، آزمايشها و نظريههاي
موضعي در مورد رفتارهاي شناختي به طور ناهماهنگ و پراكنده ارايه ميشوند و تحقيقات
كاربردي و مجادلات فلسفي در هم آميخته شدهاند و از طرف ديگر بحثهاي پرشوري در
مورد خطر تحديدگرايي و سردستگي بعضي رشتهها مانند هوشمصنوعي يا عصبشناسي طرح
ميشود. بنابراين علوم شناختي هنوز از يك مجموعه علمي متجانس و يكپارچه فاصله دارند
و به ابرهايي متراكم ميمانند كه به واسطه سطوح مختلف تحليلي و الگوهاي رقابتي در
كنار يكديگر قرار گرفتهاند.
الگوهاي تفكر از رهيافت علم شناخت
در درون علوم شناختي، چندين الگو در مصافاند: نمادگرايي كه فرآيند تفكر را به صورت زنجيرهاي از نمادها در نظر ميگيرد و پيوندگرايي كه اين فرآيند را به مثابه كنشي گسترده و گسترشپذير ميپندارد، آن چنان كه فرآيند تفكر، متأثر از شبكه گستردهاي از واحدهايي كوچك است. تمايز ميان اين دو الگو در چگونگي روش پردازش اطلاعات است. نمادگرايي پردازش متوالي و پيوندگرايي پردازش موازي را به كار ميگيرد.
نمادگرايي
ايده اساسي در الگوي نمادگرايي عبارت است از يك اصل ساده: فكر كردن يعني محاسبه
كردن. تمامي افكاري كه مغز ما را اشغال ميكنند به صورت زنجيرهاي از نمادهاست و از
طرف ديگر فرآيند پردازش اين نمادها برخوردار از محاسباتي ساده و پيچيده است كه
دانشمندان اين حوزه بايستي بتوانند اين رابطه محاسباتي را بيابند. نخستين بار اين
ايده را فلاسفهاي مانند گوتفريد لايبنيتس (1716-1646 ) و تامسهابز (1679-1588)
طرح كردند، اما اين فكر در آن زمان به عنوان انديشهاي بلند پروازانه و چالش
برانگيز تلقي ميشد.
با پيدايش كامپيوتر اين ادعا جاني دوباره گرفت. براين اساس نظريه محاسباتي ذهن طرح شد كه ادعا دارد توصيف مجموع تفكرات انساني به صورت محاسبات نمادين قابل بازنمايي است.
بنابر اين تلقي، تفكر انساني، از لحاظ شناختي، مانند برنامهاي كامپيوتري عمل ميكند. به اين معنا كه عمليات منطقي (نفي، عطف, فصل و...) را كه به كمك نمادهايي انتزاعي (X,Y,A,...) بازنمايي ميكند، با هم تركيب كرده و سيستمي منطقي را در جهت اخذ نتايج منطقي عرضه ميكند. مثلا گزاره "ابرها موجب باران يا برف ميشوند" براساس اين رويكرد به صورت B v C => A رابطهمند ميشود. در اين ساختار A نماد ابر، B نماد باران و C نماد برف است.
بنابراين، طرح مدلسازي نمادين عبارت است از تبديل تفكرات انساني (كه با زبان روزمره بيان ميشوند) به يك سلسله عمليات منطقي (به زبان نمادين) كه در نوع خود قابل تبديل به يك سلسله محاسبات ابتدايي (به زبان ماشين، يعني زبان كامپيوتر يا زبان نورونها) است.
پيوندگرايي
امروزه، پيوندگرايي به مثابه رقيب اصلي تلقي نمادگرايي طرح ميشود. مدل پيوندگرايي
كه براساس تحقيقات زيستشناس اعصاب، وارن مك كولوگ (1969-1899) در مورد سيبرنتيك و
شبكههاي عصبي عرضه شد، فعاليتهاي شناختي را به منزله نوعي مدل پيوندي ميپندارد.
ايده پايهاي عبارت است از اينكه تفكر انساني براي حل مسايل شناختي صرفا از طريق يك سلسله استنتاجهاي منطقي صورت نميگيرد، بلكه مسايل شناختي متاثر از تعامل ميان واحدهاي كوچك محلي است كه به صورت شبكهاي به يكديگر پيوند شدهاند.
بدون آنكه بخواهيم به توصيف
دقيق ساختار شبكه پيوندي (كه انواع متفاوتي دارد) بپردازيم، بايستي اشاره شود كه
تعداد زيادي گره (نورونها يا سلولهاي فوتو الكتريك) وجود دارند كه به صورت
شبكهاي به يكديگر متصل ميشوند.
هر گره ممكن است، بر حسب محرك خارجي يا حالت گرههاي مجاور، حالت فيزيكي متفاوتي
به خود بگيرد. با چنين قالببندي است كه به سرعت حالت كلي پايداري ظاهر ميشود.
همين قالببندي كلي، حالت شناختي معيني را به وجود ميآورد.الگوي پيوندگرايي كه
پردازش موازي توزيعي نيز نام دارد، كاري با محاسبه نمادين ندارد. بر اساس اين
ديدگاه به نظر ميآيد كه سازمان سلولهاي مغزي، كه ميلياردها نورون محلي در آن به
هم پيوند ميخورند، بدين گونه عمل ميكنند. مدلهاي مصنوعي پيادهسازي شده بر اساس
اين الگو در دو زمينه دستاوردهاي خوبي به بار آورده است: بازشناسي اشكال (اعم از
ديداري و شنيداري) و ديگري شبيهسازي رفتارهاي ساده (مانند برداشتن و گذاشتن اشيا)
و بعضا پيچيده.
هوش مصنوعي از رهيافت علوم شناختي
راسل و نورويگ در كتاب هوش مصنوعي، رهيافتي نوين بر اساس هشت كتاب مرجع در زمينه هوشمصنوعي و طراحي سيستمهاي هوشمند، چهار رهيافت اساسي را تحت عنوان تعريف هوشمصنوعي، كه بر اساس سير تاريخي تحقيقات و مطالعات در اين زمينه گرد آمدهاند، طرح كرده و جدولي را ارايه ميدهند:
هر يك از خانههاي اين جدول رهيافتي را در راستاي نظريهپردازي، سپس طراحي و تحقق هوشمصنوعي نشان ميدهند. مطابق اين جدول، از سويي دو رهيافت افقي فوقاني، تحقق هوشمصنوعي را مبتني بر تفكر/ استدلال و فرآيند تفكري هوشمندانه ارزيابي ميكنند و دو رهيافت افقي تحتاني، تحقق هوشمصنوعي را مبتني بر رفتار و فرآيند عمل و رفتاري هوشمندانه نشان ميدهند و از سويي ديگر، دو رهيافت عمودي سمت راست، طراحي هوشمصنوعي را به مثابه عملكردي منطقي كه استنتاجهايي منطقي و برخوردار از صدق منطقي را فراهم ميكند، معرفي كرده و دو رهيافت عمودي سمت چپ، هوشمصنوعي را به مثابه عملكردي شبهانساني كه وفادار به تجربههاي انساني است (آن چنان كه لزوما برخوردار از صدق منطقي نيستند)، بيان ميكند. از نظر تاريخي تمامي اين مواضع در طراحي سيستمهاي هوشمند، علاوه بر همكاري با يكديگر نقشي رقابتي و انتقادي نسبت به يكديگر نيز داشتهاند. بيمناسبت نيست كه در تبيين نقش و جايگاه علم شناخت در طراحي و پيادهسازي هوشمصنوعي به شرح مختصري براي هر يك از رهيافتهاي همكار و رقيب فوق پرداخته شود.
تفكر/ استدلال سيستمهايي كه منطقي (/عقلايي) فكر ميكنند
"مطالعه تواناييهاي ذهني با بهكارگيري مدلهاي محاسباتي." (چارنيك و مك درمات،
1985)
"مطالعه محاسباتي كه امكان دارد منجر به ادراك، استدلال و كنش شود." (وينستون،
1992)
سيستمهايي كه منطقي (/عقلايي) عمل ميكنند
"هوش محاسباتي، مطالعه طراحي عاملهاي هوشمند است." (پول و همكاران، 1998)
"هوشمصنوعي... به رفتار هوشمند
در مصنوعات مربوط ميشود." (نيلسون، 1998) هنر خلق ماشينهايي كه عملكردي را انجام
ميدهند كه وقتي آن عملكرد توسط انسانها انجام ميگيرد مستلزم هوشمندي است."
(كارزويل، 1990)
سيستمهايي كه شبيه انسان فكر ميكنند
"تلاش نوين هيجانانگيز، براي ساخت كامپيوترهايي كه فكر ميكنند... ماشينهايي به همراه ذهن، تمام و كمال و حسي فاقد تخيل." (هاوگلند، 1985)
"[خودكار كردن] فعاليتهايي كه با تفكر انسان مرتبطاند، فعاليتهايي از قبيل تصميمگيري، حل مساله، يادگيري..." (بلمن، 1978)
سيستمهايي كه شبيه انسان عمل ميكنند
"مطالعه چگونگي ساخت كامپيوترهايي كه كارهايي را انجام ميدهند كه اكنون انسان، آنها را بهتر انجام ميدهد." (ريچ و نايت، 1991)
عملكرد انساني؛ رهيافت آزمون تورينگ
آزمون تورينگ در سال 1950 توسط آلن تورينگ مطرح شد، اين آزمون ادعا داشت معياري را براي مشخص كردن فعاليت هوشمندانه ارايه ميدهد. در اين آزمون، كامپيوتر به همراه شخصي مورد آزمايش قرار ميگيرد، ميان فرد و كامپيوتر مانعي قرار دارد تا موجب آن شود كه فرد وجود كامپيوتر را احساس نكند.
شخص آزمايشكننده، پرسشهايي را طرح ميكند و كامپيوتر به پرسشهاي مطرح شده پاسخ ميدهد. پس از پايان آزمون اگر فرد پرسشكننده نتواند تشخيص دهد كه با كامپيوتر محاوره كردهاست، نتيجه آزمون با اثبات توانايي هوش محاسباتي به نفع كامپيوتر است و در صورتي كه فرد تشخيص دهد با كامپيوتر در محاوره بودهاست، هوش محاسباتي بازنده اين آزمون است.
امروزه با توجه به دستاوردهاي
نظري و عملي در علوم و مهندسي سيستمهاي محاسباتي ميتوان ادعا كرد كه پيادهسازي
چنين كامپيوتري نيازمند قابليتهايي اساسي است كه برخي از آنان را ميتوان اين چنين
برشمرد:
- پردازش زبان طبيعي: تا بتواند به طور موفق با زبان طرف محاوره گفتوگو كند و
ارتباط برقرار كند؛
- بازنمايي دانش: تا آنچه را كه درك ميكند و ميشنود ذخيره كند؛
- استدلال خودكار: تا از
اطلاعات ذخيره شده در خود براي پاسخ به پرسشهاي جديد و ارايه نتايج تازه استفاده
كند؛
- يادگيري ماشين: تا با شرايط جديد سازگار شده و الگوها را كشف و برونيابي كند.
آزمون تورينگ از تعامل فيزيكي ميان فرد پرسشكننده و كامپيوتر اجتناب ميكند، چرا
كه شبيهسازي فيزيكي شخص پرسشكننده براي هوشمندي ضروري نيست.
امروزه ميتوان آزمون تورينگ را به صورت كاملتري از لحاظ فني نيز عرضه كرد. آزمون كامل تورينگ را ميتوان برخوردار از سيگنالي ويديويي نيز كرد تا پرسشكننده بتواند از طريق آن قابليتهاي ادراكي طرف گفتوگو را بيازمايد. از اين رو دو مولفه ديگر به موارد فوق اضافه ميشود:
- بينايي كامپيوتر: براي درك اشياء؛
- رباتيك: براي حركت اشياء و جابهجايي آنان.
اين شش حوزه مطالعاتي، امروزه بخشهاي عمدهاي از طراحي هوشمصنوعي را تشكيل
ميدهند. مهندسان و محققان هوشمصنوعي تلاش زيادي براي عبور از آزمون تورينگ انجام
ندادند، چرا كه باور داشتند پرداختن به اصول طراحي و پيادهسازي آن مطلوبتر از
وقتي بود كه براي تحقق آزمون تورينگ بايستي صرف ميكردند.
تفكر منطقي (/عقلايي)؛ رهيافت قوانين تفكر
ارسطو فيلسوف يونان، يكي از اولين كساني بود كه تلاش كرد تا "تفكر درست" را كشف كند، يعني فرآيندهاي استدلال انكارناپذير. قياس ارسطو الگوهايي را براي ساختارهاي استدلالي فراهم كرد؛ آن چنانكه هميشه به هنگام ارايه مقدمات درست، نتايج درست حاصل ميشود؛ مثلا سقراط انسان است؛ تمامي انسانها ميرايند؛ بنابراين، سقراط ميراست." اين قوانين مستلزم تفكر حاكميت عمل ذهن ميشوند و مطالعه اين قوانين حوزهاي را كه منطق ناميده ميشود بنيان مينهند.
منطقدانان در قرن نوزدهم، نمادگذاري دقيقي را براي گزارهها درباره تمامي انواع اشياء موجود در عالم و رابطه ميان آنان بسط دادند. در 1965 برنامههايي كامپيوتري پديد آمدند كه عليالاصول ميتوانستند هر برنامه قابل حلي را كه با نمادگذاري منطقي توصيف ميشد، حل كنند. اين سنت منطقگرايي در هوشمصنوعي، محققان را در ارايه برنامههايي منطقي براي خلق سيستمهاي هوشمند اميدوار كرد. چنين رهيافتي با دو مشكل همراه بود: اول كسب دانش غيرصوري و سپس برگرداندن اين دانش به زباني صوري و نمادسازي منطقي آن دانش كه هميشه فرآيندي آسان نيست؛ دوم آنكه گاهي اوقات تمايزي جدي ميان تحليل و حل مساله در زباني صوري و تحليل همان مساله از لحاظ عملي ايجاد ميشود. از اين رو، حتي مسايلي كه پيوستگي كمتري با امور واقع در جهان واقعي دارند گاهي اوقات ميتوانند فرآيندهاي استنتاجي منابع محاسباتي كامپيوترها را دچار مشكل كنند.
هوش مصنوعي از ديد جان مک کارتی
پروفسور بازنشسته دانشگاه استنفورد و مؤسس آزمایشگاه هوش مصنوعی دانشگاه استنفورد جان مک کارتی، از سیر تا پیاز هوش مصنوعی را برای شما تعریف می کند.
هوش مصنوعی چیست ؟
هوش مصنوعی دانش و مهندسی ساخت ماشین های هوشمند و به خصوص برنامه های رایانه ای هوشمند است. هوش مصنوعی با وظیفه مشابه استفاده از کامپیوتر ها برای فهم چگونگی هوش انسان مرتبط است، اما مجبور نیست خودش را به روش هایی محدود کند که بیولوژیکی باشند.
"هوش" چه چیزی است ؟
هوش بخش محاسباتی توانایی است در وجود یک نفر یا شیء برای رسیدن به یک سری اهداف در دنیا. انواع و درجه های مختلفی از هوش در آدم ها، حیوانات و ماشین ها وجود دارد.
آیا تعریف مستقلی از هوش (بدون ارتباط با هوش انسان) وجود دارد ؟
نه هنوز. مشکل این است که ما اهنوز نتوانسته ایم به طور کلی مشخص کنیم که به کدام یک از روش های محاسباتی می خواهیم «هوش» بگوییم. چون از بعضی از مکانیزم های هوش سر در آورده ایم و از بقیه نه.
آیا هوش مصنوعی درباره شبیه سازی هوش انسانی است ؟
گاهی اوقات بله اما نه همیشه. از یک طرف ما با مشاهده آدم های دیگر و یا فقط با مشاهده روش های خودمان، می توانیم چیزهایی درباره حل مسائل توسط ماشین ها یاد بگیریم. از طرف دیگر بیشتر کارها در هوش مصنوعی بیشتر از این که بر اساس مطالعه آدم ها و حیوانات باشد، شامل مطالعه مسایلی است که دنیا به هوش ارائه می کند. محققان هوش مصنوعی برای استفاده از روش هایی که آدم های از آن استفاده نمی کنند و یا استفاده از قدرت محاسباتی بیشتر از توانایی آدم ها آزاد هستند.
تحقیقات هوش مصنوعی از کی شروع شد ؟
بعد از جنگ جهانی دوم، تعدادی از آدم ها به طور مستقل کار روی ماشین های هوشمند را شروع کردند. اولین نفر احتمالا ریاضیدان انگلیسی، آلن تورینگ، است. او در سال 1947 در این باره سخنرانی کرد. او احتمالا اولین نفری هم هست که گفت تحقیقات هوش مصنوعی به جای ساخت ماشین ها بهتر است با برنامه نویسی رایانه ها ادامه پیدا کند. تا اواخر 1950 محققان زیادی در این حوزه فعالیت می کردند و بیشتر آن ها کارشان را بر اساس برنامه نویسی رایانه ها قرار داده بودند.
آیا هدف هوش مصنوعی ایجاد چیزی مثل فکر انسان برای رایانه ها است ؟
بعضی محققان می گویند که آن ها چنین هدفی دارند، اما شاید آن ها دارند از یک اصطلاح مشابه استفاده می کنند. چون فکر انسان ویژگی های عجیب و غریبی دارد و من مطمئن نیستم که کسی به طور جدی بخواهد ساخت همه ویژگی های فکر آدم را عملی کند.
آیا هدف هوش مصنوعی رسیدن به هوشی هم سطح هوش انسان است ؟
بله. نهایت تلاش، ساخت برنامه های رایانه ای است که بتواند به خوبی انسان مسائل را حل کنند و به اهداف مورد نظر برسند. اگر چه سطح آرزو های خیلی از آدم های در گیر در هوش مصنوعی، به خصوص در زمینه های تحقیقاتی، کمتر از این حرف هاست.
هوش مصنوعی چقدر با رسیدن به هوش هم سطح انسان فاصله دارد ؟ این اتفاق کی می افتد ؟
بیشتر محققان هوش مصنوعی عقیده دارند که برای رسیدن به هوش هم سطح انسان، ایده های جدیدی لازم است. برای همین نمی توان پیش بینی کرد چه وقتی می توان به هوش هم سطح انسان رسید.
آیا از بین ماشین ها، رایانه ها انتخاب خوبی برای هوشمند شدن هستند ؟
رایانه های می توانند برای شبیه سازی هر نوع ماشینی برنامه ریزی شوند. خیلی از محققان ماشین های غیر رایانه ها اختراع کردند به این امید که آن ها بتوانند با روش هایی غیر از روش هایی که برنامه های رایانه ای هوشمند می شوند، هوشمند شوند. اگر چه آن ها معمولا ماشین های اختراعی شان را در رایانه ها شبیه سازی می کنند و در شک و تردید می افتند که ماشین جدید ارزش ساخت دارد یا نه. به خاطر میلیارد ها دلاری که صرف سریع تر و سریع تر کردن رایانه ها شده است، ماشین جدید باید خیلی سریع باشد تا بتواند بهتر از برنامه ي رایانه ای، که همان ماشین را شبیه سازی می کند، عمل کند.
آیا رایانه های برای هوشمند شدن به اندازه کافی سریع هستند ؟
بعضی ها فکر می کنند هم به رایانه های سریع تر نیاز داریم و هم به ایده های جدید. عقیده شخصی من این است که رایانه های 30 سال پیش هم به اندازه کافی سریع بودند، اگر ما می دانستیم چگونه آن ها را برنامه ریزی کنیم.
آیا امکان ساخت «یک ماشین کودک» وجود دارد که با خواند و یاد گرفتن از تجربه هایش بتواند رشد کند و هوش خود را توسعه دهد ؟
این ایده بارها پیشنهاد شده است. اولین بار هم در دهه 1940 بود. سرانجام هم این کار انجام خواهد شد. به هر حال برنامه های هوش مصنوعی به سطحی نرسیده اند که قادر به یادگیری بیشتر از چیزهایی که بچه ها از تجربیات عملی یاد می گیرند، باشند. هم چنین برنامه های فعلی به اندازه کافی از زبان سر در نمی آورند که بخواهند با خواندن چیزی یاد بگیرند.
آیا ممکن است که یک سیستم هوش مصنوعی قادر باشد با فکر کردن درباره هوش مصنوعی، خودش سطح هوشش را بالا ببرد ؟
من فکر می کنم ممکن است، اما الان در سطحی از هوش مصنوعی نیستیم که این کار بخواهد شروع شود.
شطرنج این طوری نیست ؟
بازی شطرنج به مکانیزم های فکری مشخصی نیاز دارد و به خیلی دیگر از مکانیزم های فکری نیاز ندارد. برنامه های شطرنج الان در سطح جهانی بازی می کنند، اما آن ها با جایگزینی مقادیر زیادی محاسبات به جای ادراک، از مکانیزم های فکری محدودی در مقایسه با مکانیز های استفاده شده توسط یک شطرنج باز استفاده می کنند. زمانی که ما این مکانیزم ها را بهتر بفهمیم می توانیم برنامه های شطرنجی هم سطح انسان بسازیم که محاسبات کمتری را نسبت به برنامه های فعلی انجام دهند. متاسفانه جنبه های رقابتی و تجاری ساخت رایانه های شطرنج باز، بر استفاده از شطرنج به عنوان یک حوزه علمی پیشی گرفته است.
آیا کسانی هستند که بگویند ساخت هوش مصنوعی ایده بدی است ؟
جان سرل که یک فیلسوف است می گوید ایده هوشمند بودن یک ماشین غیربیولوژیک تناقض دارد. یک فیلسوف دیگر هیوبرت دریفوس می گوید که رسیدن به هوش مصنوعی غیر ممکن است. دانشمند رایانه جوزف ویزنبام می گوید این ایده زشت، ضد انسانی و غیراخلاقی است.
آدم های مختلفی گفته اند که چون هوش مصنوعی تا به حال به هوش هم سطح انسان نرسیده است، این کار به طور کلی غیر ممکن است. بعضی دیگر هم نا امید هستند چون شرکت هایی که در این زمینه سرمایه گذاری کردند، ورشکست شدند.
Gunter Neumann از هوش مصنوعي مي گويد
زبانهاي برنامهنويسي هوش مصنوعي(AI) ابزار اصلي بررسي و ساخت برنامههاي كامپيوتري هستند كه ميتوانند در شبيهسازي فرايندهاي هوشمند مانند يادگيري، استدلال و فهم اطلاعات نمادين بكار بروند. هر چند اخيراً زبان كامپيوتر اصولاً براي استفاده از كامپيوترها براي انجام محاسبات با اعداد طراحي شده بود، اما بزودي دريافتند كه رشتهاي از بيتها نه تنها اعداد بلكه ميتوانند اشياي دلخواه را نيز نمايش دهند. عمليات روي ويژهگيها يا نمادها ميتواند با استفاده از قوانين براي ايجاد، انتساب يا دستكاري نشان داده شود. اين تصور از محاسبات نمادين بعنوان تعريف الگوريتمهايي كه هر نوع اطلاعات را پردازش ميكنند و بنابراين ميتواند براي شبيهسازي هوش انسان بكار برود مناسب است.
بزودي برنامه نويسي با نمادها كه نياز به سطح بالايي از چكيدگي دارند توليد ميشوند، غير از امكاناتي كه با زبانهاي برنامه نويسي مخصوص پردازش اعداد ممكن بود مانند فرترن
I-زبانهاي
برنامه نويسي
AI
در AI خودكار كردن يا برنامهنويسي همه جنبههاي شناخت انساني بوسيله بنيادهاي شناخت علمي روشهاي نمادين و غير نمادين AI، پردازش زبان طبيعي، ديد كامپيوتري و سيستمهاي تكامل يا سازگار مطرح ميشود. لازم است دامنه مسئلههاي خيلي پيچيده در ابتداي مرحله برنامهنويسي يك مسئله AI معين، مشخص شود كه كافي نيست. تنها بوسيله تعامل و افزايش اصلاحات خصوصيات بسيار دقيق ممكن است. در حقيقت مسئلههاي معمول AI به بسياري از زمينههاي خاص گرايش دارند، بنابراين روشهاي ذهني بايد بوسيله توليد و آزمايش روشها بطور تجربي توسعه يابند(مشهور به نمونه سازي سريع). در اينصورت برنامهنويسي AI بطور قابل توجهي با روشهاي استاندارد مهندسي نرمافزار متفاوت بوده زيرا برنامهنويسي معمولا از يك مشخصات رسمي با جزئيات شروع ميشود. در برنامهنويسي AI پيادهسازي در واقع جزئي از پردازش مشخصات مسئله است. به اقتضاي طبيعت مسئلههاي AI برنامهنويسي AI مزاياي بسياري دارد اگر زبانهاي برنامه نويسي، برنامهنويسAI را آزاد بگذارند و در بسياري از ساختارهاي فني محدود نكنند (مانند ساختار انواع دادهاي جديد سطح پايين، دستيابي دستي به حافظه). ترجيحاً سبك برنامهنويسي اعلاني براي استفاده در ساختارهاي پيشساخته دادهاي سطح بالا(مانند ليستها و درختها) و عمليات(مانند تطبيق الگوها) مناسب است، بنابراين محاسبات نمادين سطح خلاصهسازي بيشتري نسبت به آنچه كه با زبانهاي دستوري استاندارد مانند فرترن، پاسكال يا C امكانپذير خواهد بود را پشتيباني ميكند. البته طبقهبندي خلاصه سازي آسان نيست، زيرا تدوين برنامههاي AI روي كامپيوترهاي استاندارد وان نيومن نميتواند به كارآمدي زبانهاي دستوري باشد. هر چند يك مسئله مسلم AI فهم آن است (حداقل جزئيات) امكان دارد با تنظيم مجدد آن به شكل خصوصيات جزئي شده با بكار بردن يك زبان دستوري پياده سازي مجدد شود. با توجه به نيازمنديهاي محاسبات نمادين و برنامهنويسي AI دو الگوي جديد برنامهنويسي كه به سبك دستوري پيشنهاد ميشوند بوجود ميآيد: سبك برنامهنويسي تابعي و منطقي. هر دو بر مبناي رياضيات طرحريزي شدهاند، يعني نظريه توابع بازگشتي و منطق رسمي. اولين زبان برنامهنويسي AI كاربردي كه هنوز هم بطور گسترده استفاده ميشود زبان برنامهنويسي Lisp است كه در اواخر دهه 1950 توسط جان مك كارتي توسعه يافته است. Lisp برمبناي نظريه توابع رياضي و خلاصهسازي Lambda است. تعدادي از كاربردهاي مهم و موثرAI در Lisp نوشته شده است. كه ما بعضي از جزئيات اين زبان برنامهنويسي را در اين مقاله شرح خواهيم داد. در اوايل دهه 1970 يك الگوي برنامهنويسي جديد بنام برنامهنويسي منطقي بر اساس محاسبات گزارهاي بوجود آمد. اولين و مهمترين زبان برنامهنويسي منطقي Prolog است كه توسط آلن كالمرار، رابرت كوالسكي و فيليپ راسل توسعه يافته است. مسئلهها در prolog بصورت حقايق، بديهيات و قوانين منطقي براي استنباط حقايق جديد بيان ميشوند. Prolog با قانون رياضي در محاسبات گزارهاي و نتايج نظري بدست آمده در زمينه اثبات قضيه خودكار در اواخر دهه 1960 بنا نهاده شده است.
تکنیکها وزبانهای برنامه نویسی هوش مصنوعی
ما در عصری زندگی می کنیم که جامعه شناسان آن را عصر انقلاب کامپیوتر نام نهاده اند و مانند هر انقلاب واقعی دیگر، انقلابی است گسترده و فراگیر و تأثیر پایداری برجامعه خواهد داشت. این انقلاب در اقتصاد امروز و نظم جامعه، به همان میزان انقلاب صنعتی در قرن 19 تأثیر دارداین تحولات قادر است الگوی فکری و فرم زندگی هر فرد را تغییر دهد. انقلاب کامپیوتر توان ذهنی ما را گسترش می دهد.
عملکرد اولیة برنامه نویسی هوش مصنوعی (AI) ایجاد ساختار کنترلی مورد لزوم برای محاسبه سمبولیک است خصوصیات این ساختارها به مقدار زیادی موجب تشخیص خصوصیاتی می شود که یک زبان کاربردی می بایستی فراهم کند.
در این مقدمه به یک سری خصوصیات مورد نظر برای زبان برنامه نویسی سمبولیک می پردازیم و زبانهای برنامه نویسی LISP و PROLOG را معرفی خواهیم کرد.
این دو زبان علاوه بر این که از مهمترین زبانهای مورد استفاده در هوش مصنوعی هستند، خصوصیات semantic و syntactic آنها نیز باعث شده که آنها شیوه ها و راه حل های قوی برای حل مسئله ارئه کنند.
تأثیر قابل توجه این زبانها بر روی توسعه AI از جمله توانائی آنها به عنوان «ابزارهای فکر کردن» می باشد که از جمله نقاط قوت آنها در زبانهای برنامه نویسی می باشد.
همان طور که هوش مصنوعی مراحل رشد خود را طی می کند زبانهای LISP و PROLOG بیشتر مطرح می شوند.
این زبانها کار خود را در محدودة توسعه و prototype سازی سیستم های AI در صنعت و دانشگاهها دنبال می کنند.
اطلاعات در مورد این زبانها به عنوان بخشی از مهارت هر برنامه نویس AI می باشد ما به بررسی این دو زبان در هوش مصنوعی می پردازیم.
آنــــچه را کـــه نمی دانیم موجب دردسر و گرفتاری ما نخواهد شد، بلکه دردسرها از دانسته ها سرچشمه می گیرند.
زبان ، شناخت و خلاصه پردازی
توانایی شکل گیری خلاصه برداری از تجربیات از توانمند ترین و اساسی ترین توانائی های ذهن انسان است خلاصه پردازی به ما این اجازه را می دهد که به فهم جزئیات از یک محدوده ی کلی اطلاعات مربوط به یک خصوصیت کلی سازمان و رفتار برسیم . این خلاصه ها به ما اجازه شناخت و درک کامل موارد دریافت شده در حوزه خاص را می دهند . اگر ما وارد یک خانه شویم که به خوبی ساخته شده باشد ، راههای خود را به اطراف پیدا خواهیم کرد . ساختار خصوصیات اطاق نشیمن ، اطاق خواب ،آشپزخانه و حمام عموماً از ویژگیهای یک مدل خانة استاندارد می باشد .
خلاصه پردازی به ما حس شناخت خانه های متفاوت را می دهد . یک تصویر ممکن است بیانی قوی تر از هزاران کلمه داشته باشد ، اما یک خلاصه مشخصاً بیان کنندة خصوصیات مهم یک کلیت از نوع تصویر است .
وقتی که ما به تئوری برای توصیف کلاس های یک پدیده می پردازیم ، خصوصیات و ویژگیهای کمی و کیفی مربوط به کلاس از کل جزئیات خلاصه می شود .
که اعضاء به خصوص خود را مشخص می کند . این کاهش جزئیات به وسیله قدرت توصیف و پیش بینی یک نظریه ارزشمند جبران می شود .
خلاصه سازی یکی از ابزارهای اساسی شناخت و ارزیابی کلیت های جهان اطراف ما و همچنین ساختار ذهنی ما است . در حقیقت این پروسه به طور مداوم براساس دانش و اطلاعات صورت می گیرد . دانش و اطلاعا نیز در لایه ها و بخش هایی از خلاصه پردازی ساخته می شود که از مکانیسم هایی که ساختار را فشرده ساخته و از حس اولیه به سمت یک سری تئوری های علمی سوق داده می شود و در نهایت بیشتر این ایده ها دربارة ایده های دیگر و نشأت گرفته از آنها می باشد .
خلاصه پردازی طبقه بندی شده (سلسله مراتبی ) :
ساختار و سازمان آزمایش و تجربه در ارتباط با توصیفات کلاس های خلاصه سازی یکی از ابزارهای شناخت رفتار و ساختار سیستم های مرکب است که شامل برنامه های کامپیوتر می شوند .
همانند رفتار یک حیوان که ممکن است بدون توجه به فیزیولوژی سیستم عصبی نهفته در پشت آن مورد مطالعه قرار گیرد .
یک الگوریتم دارای خصوصیات مربوط به خود می باشد که کاملاً آن را از برنامه ای که آن را به کار می برد جدا می سازد .
به عنوان مثال دو نوع کاربر متفاوت جستجوی باینری را در نظر بگیرید .
یکی از آنها یعنی Fortran از محاسبات و طبقه بندی استفاده می کند و دیگری یعنی Ctt از Pointer استفاده می کند که بتواند در جستجوی درون شاخه های binary کاربرد داشته باشد .
اگر دقیق تر نگاه کنیم این برنامه ها مثل هم می باشند چون اگر جز این باشد کاربردهای آنها نیز تفاوت خواهد شد . جداسازی الگوریتم از که مورد استفاده در کاربرد آن یکی از نمونه های خلاصه سازی سلسله مراتبی می باشد .
Allen New ell بین سطح دانش و سطح نشانه ها برای توصیف یک سیستم هوشمند تفاوت قائل شده است.
سطح نشانه ها همراه سازماندهی به خصوصی مورد توجه قرار گرفته که برای بیان اطلاعات حل مسئله مورد استفاده قرار می گیرد. بحث مربوط به توجه به منطق به عنوان یک زبان یک نمونه از مواردی است که به سطح نشانه پرداخته است.
علاوه بر سطح نشانه سطح دانش است که توجه آن به مقدار و محتوی اطلاعات یک برنامه و شیوه استفاده از آن اطلاعات می باشد.
این نوع تمایز در ساختار و معماری سیستم هایی که بر اساس دانش و اطلاعات و سبک توسعه ای که آن را پشتیبانی می کتد منعکس می گردد.
به دلیل اینکه کاربرها برنامه ها را در قالب دانش و توانایی خودشان می شناسند بنابراین حائز اهمیت است که برنامه های AI دارای یک سطح خصوصیات اطلاعاتی باشند.
جداسازی اصل دانش و اطلاعات از ساختار کنترل این نظریه را آشکار می سازد و توسعه رفتار سطح دانش را ساده می سازد.
همانند این نیز سطح نشانه ای یک زبان توصیفی را تشریح می کند که شبیه قوانین و روشهای تولید یا منطق براساس دانش و اطلاعات می باشد.
جداسازی آن از سطح و دانش و اطلاعات نه برنامه نویس این اجازه را می دهد که به سمت خلاصه پردازی ت،ثیر پذیری و راحتی برنامه نویسی سوق پیدا کندکه در ارتباط با رفتار و عملکرد بالای برنامه نمی باشد.
کاربرد بیان سطح نشانه ای شامل یک سطح دوره پائین تر از ساختار برنامه می شود و بیانگر یک سری ملاحظات طراحی اضافی می شود.
اهمیت نظریه چند مرحله ای نسبت به طراحی سیستم نمی تواند بیش از این مورد توجه قراار گیرد.
یعنی اینکه به برنامه نویس اجازه می دهد که با پیچیدگی نهفته شده در سطوح پائین تر خود را درگیر نکند و توجه و تاکیدش بر روی منابع مناسب با سطح فعلی خلاصه پردازی کند.
همچنین موجب می شود که اصول تئوری هوش مصنوعی عاری از کاربردهای خاص یا زبان برنامه نویسی باشد . این همچنین به ما قدرت توصیف یک کاربرد را می دهد و تاثیر گذاری خود را بر روی ماشین دیگر اثبات می کند بدون اینکه بر رفتارش در سطوح بالاتر تاثیر بگذارد .
سطح اطلاعات توصیف کننده توانائی های یک سیستم هوشمند است. محتوی دانش و اطلاعات
مستقل از شکل پذیری مورد استفاده برای بیان آن است به همان اندازه که زبان بیان
کاملا مؤثر می باشد .
توجه به سطح دانش شامل سؤالاتی از این قبیل است:
از این سیستم چه چیزی ساخته خواهد شد؟ چه اشیا و چه ارتباطی در آن محدوده مؤثر و مفید است ؟ چگونه یک اطلاعات جدید به سیستم اضافه می گردد؟
آیا واقعیات در طی زمان تغییر می کنند؟ چگونه و چطور سیستم نیازمند است که دلائل اطلاعات خود را ثابت کند؟ آیا محدوده ارتباطی دارای یک طبقه بندی درست و شناخته شده است؟
آیا این محدوده شامل یک سری اطلاعات نادرست و غیر ممکن است؟
تجزیه و تحلیل دقیق در این سطح یک گام مبهم در طراحی کلی ساختار یک برنامه می باشد.
در سطح نشانه تصمیمات درباره ساختارها صورت می گیرد که برای بیان و ایجاد دانش مورد استفادده قرار می گیرند. انتخاب یک زبان برای بیان یک مورد مربوط به سطح نشانه می باشد.
منطق یکی از چندین نوع اشکال است که اصولا در حال حاضر برای بیان دانش و اطلاعات در دسترس می باشد.
زبان بیان نه تنها می بایستی توانایی بیان اطلاعات مورد لزوم برای کاربر را داشته باشد بلکه می بایستی خلاصه و قابل توصیف و دارای کاربرد مؤثر باشد و می بایستی به برنامه نویس برای دستیابی و سازماندهی اصل و اساس اطلاعات کمک کند.
وقتی که بین سطح اطلاعات و سطح نشانه یک برنامه تمایز به وجود آمد ما می توانیم بین سطح نشانه و الگوریتم و ساختمان داده ها مورد استفاده برای کاربرد آن نیز تمایز قایل شویم. به عنوان مثال بدون تاثیرگذاری رفتار و عملکرد یک تحلیل گر برنامه که اساس منطقی داشته باشد می بایستی تاثیر ناپذیر از انتخاب بین یک سری جزئیات و یک مجموعه و دسته بایزی باشد تا بتواند یک جدول مربوط به نشانه ها را به کار برد.
این تصمیمات کاربردی هستند و می بایستی در سطح نشانه قابل رؤیت باشند . بسیاری از الگوریتم و ساختمان داده ها در کاربرد بیان زبان AI به کار می روند که از روشهای معمول علم کامپیوتر می باشند مثل شاخه ها و جداول بایزی.
دیگر موارد در رابطه با AI بسیار تخصصی هستند و به گونه یک که مستعار بیان می شوند که از طریق متن و بخش های مربوط به LISP و PROLOG بیان می شوند .
در سطح پائین تر مربوط به الگوریتم و ساختمان داده ها ( سطح زبان ) واقع شده است در این جا ست که زبان کاربردی برای برنامه مشخص می شود .
با این حال سبک برنامه نویسی مطلوب احتیاج به این دارد که ما یک خلاصه داده ای بسازیم که بین خصوصیات ویژه یک زبان برنامه نویسی و لایه های بالای آن قرار گیرد . نیازهای منحصر به فرد برنامه نویسی سطح نشانه ای تأثیر به روی طراحی و استفاده از زبانهای برنامه نویسی AI ایجاد می کند . علاوه بر این طراحی زبان می بایستی در برگیرنده و مطابق با ساختار آن که بر گرفته از سطوح پائین تر ساختمان کامپیوتر که شامل زبان اسمبلی و سیستم عامل و دستور العملهای ماشین و سطوح سخت افزار ی باشد .
و محدودیت های فیزیکی کامپیوتر می بایستی بر روی منابعی همچون حافظه و سرعت پردازشگر تأ کید کند . روش های PROLOG , LISP در جهت مستعاذل کردن نیازهای سطح نشانه و نیازهای نهفته در ساختار هر دو منبع مورد استفاده می باشند و هم چنین یک هدف هوشمند و ذهنی با اهمیت می باشند . در دنباله ما از ساختارهای سطح اطلاعات در محیطهای برنامه نویسی بر روی یک زبان کاربردی صحبت خواهیم کرد و سپس به مصزفی زبانهای عمده AI یعنی PROLOG , LISP می پردازیم .
خصوصیات مطلوب یک زبان AI
یکی از خصوصیات و ویژگیهای مهم خلاصه سازی سلسله مراتبی در ساختار برنامه غیر حساس بودن سطوح بالاتر نهفته در کاربرد زبان می باشد .
این مشاهده در عمل سنجیده می شود که همراه با سیستم های موفق دانش مدار می باشد که در زبانهای برنامه نویسی مختلفی مثل Pascal , C , Ctt , Java , PROLOG , LISP و حتی Fortran به کار می رود .
برنامه های مختلفی اصولاً در PROLOG , LISP و سپس در C به کار گرفته می شوند تا بتواند تاثیرپذیری و انتقال پذیری بهتر ایجاد کنند. در هر دوی این موارد رفتار و عملکرد در سطح نشانه به طور قطع بی اثر می باشد.
با این حال محدودیتهای خلاصه سازی در یک برنامه جامع بیان می شود که کامل نمی باشد . ساختار سطح بالاتر باعث ایجاد ساختارهای قوی بر روی لایه های زیرین می شود و نیاز به این دارد که برنامه نویسی AI بر روی سطح نشانه ای قرار گیرد که در سطح زبان تکرار می شوند.
به عنوان مثال ساختارهای اطلاعاتی مورد لزوم برای ادغام سمبولیک خود را مقید به اشکال تکراری مثل فلش ها و لیست ها نمی کنند.
اهداف و پیش بینی های منطقی ابزارهای کاربردی طبیعی تر و انعطاف پذیرتر خواهند بود.
علاوه بر این به دلیل مشکلات موجود در بسیاری از مسائل مربوط به AI اغلب توسعه را قبل از اینکه یک شناخت کامل از نهایت فرم برنامه داشته باشیم شروع می کنیم.
توسعه AI لزوما در طبیعت به صورت کشف و تجزیه و آزمایش است.
این نیاز هم چنین وابسته به یک زبان و ابزارهایی است که باید فراهم ساخت . یک زبان نه تنها می بایستی متناسب با کاربرد ساختارهای سطح بالا باشد بلکه می بایستی یک ابزار مناسب برای انتقال کل چرخه نرم افزار از آنالیز و تجزیه و تحلیل تا حصول برنامه باشد.
در پنــج زیر گـــروه بعدی ما به صورت جزئی و کامل در مورد نیازهایی که ساختارهای سطح نشانه ای برنامه های AI که بر روی کاربرد زبان دارند بحث می کنیم.
این موارد عبارتند از :
1. پشتیبانی از محاسبه سمبولیک
2. انعطاف پذیری کنترل
3. پشتیبانی از متدولوژی و روش های برنامه نویسی جستجویی
4. پویایی
5. مستنند سازی خوب و واضح
پشتیبانی از محاسبات سمبولیک
گرچه روش های زیادی برای سازماندهی اطلاعات در یک سطح نشانه وجود دارد . ولی تمامی آنها نهایتاً به عنوان عملکردهایی بر روی نشانه ها به کار می روند .
این روش در تئوری نشانه های آقای Simon , Newell آمده است . تئوری های سیستم فیزیکی نشانه نیاز اصلی برای زبان برنامه نویسی است که کاربردهای یک سری از عملیات سمبولیک را آسان می کند .
حتی شبکه های عصبی و دیگر شکل های ضروری محاسبه می بایستی شامل اطلاعات سمبولیک در ورودیها و خروجی هایشان باشند . انواع کاربردها و اطلاعات دادهای عددی تاکید شان بر روی زبانهای برنامه نویسی معمول است که برای کاربردهای جستجوی الگوریتمی یا بیان زبان AI مناسب نمی باشند.
علاوه بر این یک زبان AI می بایستی ساختار ایجاد نشانه های اولیه را ساده سازد و بر روی آنها کار کند. این یکی از مهمترین نیازهای یک زبان برنامه نویسی AI می باشد.
محاسبات و پیش بینی یکی از قوی ترین و عمومی ترین ابزارهای ایجاد ساختار کیفی یک محدوده از مسئله می باشد.
خصوصیات بارز یک محدوده ممکن است به گونه یک سری واقعیات منطقی بیان شود. از طریق استفاده از متغیرها امکان ایجاد واقعیات کلی درابره ارتباط بین اهداف در یک محدوده به وجود می آید.
PROLOG یک زبان برنامه نویسی کلی است که بر اساس پیش بینی محاسباتی است.
به عنوان یک کاربرد رسمی منطق PROLOG بعضی اوقات مستقیما به عنوان یک زبان در سطح نشانه مورد استفاده قرار می گیرد.
با این حال قدرت واقعی آن به عنوان یک زبان برای کاربرد دقیق تر و کامل همانند چهارچوب ها و شبکه ها در یک روش سیستماتیک و فشرده می باشد بسیاری از ساختارهای سطح نشانه ای به سادگی با استفاده از ساختارهای سطح بالای PROLOG ساخته می شوند.
PROLOG ممکن است برای کاربرد در جستجوی الگوریتم ها یک سیستم محافظ و یک شبکه سمانتیکی مورد استفاده قرار گیرد.
یک ابزار مهم دیگر برای ساخت ساختارهای نشانه لیست می باشد یک لیست شامل یک سری عناصر می شود که در آن هر عنصر ممکن است حتی یک لیست و یک نشانه باشد.
چند نمونه از لیست ها با استفاده از ساختار برنامه نویسی LISP عبارتند از :
(این یک لیست است)
(این هست) (یک لیست) (از لیست ها)
(زمانها (بعلاوه 13)(بعلاوه 23) )
((123)(456)(789))
توجه داشته باشیم که اینها نمونه هایی می باشند که شامل لیستهای درون لیست های دیگر می شود این موجب می شود که ارتباطات ساختاری ایجاد گردد. قدرت لیست ها عمدتا در نتیجه توانایی بیان هر نوع ساختار نشانه ای بدون در نظر گرفتن پیچیدگی یا عملکردهایی که می باید از آن پشتیبانی کند می باشد.
این شامل شاخه ها گراف های اولیه یک سری مشخصه های منطقی جهت ها اصول اطلاعاتی کلیدی می شود. به طور خلاصه هر نوع ساختار ممکن است بر اساس یک ترکیب مناسب متشکل از لیست ها و عملکردهای واقع شده بر روی آنها حاصل شوند.
لیست ها یک سری بلوک های مهم می باشند که PROLOG , LASP که موجب می شود که کاربر را با عناصر اطلاعاتی و عملیاتی برای دستیابی و تاکید بر آنها در درون یک سری ساختارهای پیچیده مهیا سازد. در حالیکه PROLOG مستقیما به محاسبات پیش بینی شده وابسته است و شامل یک سری لیست به عنوان ابزارهای بیان می شود.
LISP لیست را به عنوان اصول انواع داده ها و برنامه ها مورد استفاده قرار می دهد. تمامی ساختارهای LISP از لیست ها ساخته می شوند و زبان فراهم کردن یک سری ابزارهای قوی برای ترکیب اینها (ساختارها) را به عهده دارد و توصیف کننده عملیات جدید برای ایجاد توسعه و تغییر آنها است. یک شکل کردن ساختار LISP و توانائی توسعه آن توصیف هر نوع زبانی را برای ساختار آن ساده می سازد . بوسیله پرداختن به نظریه جمع آوری اطلاعات فشرده برنامه نویس LISP می تواند ساختارهای نشانه را توصیف کند و عملیات مورد نیاز هر نوع شکل گیری سطح بالا شامل کنترل کننده های جستجو حل کننده های تئوریهای منطقی و دیگر اظهارات سطح بالا می باشد.
انعطاف پذیر بودن کنترل:
یکی از مشخصه های اساسی رفتار هوشمند قابلیت انعطاف پذیری آن می باشد . در حقیقت مشکل بتوان تصور کرد که هوشمندی می تواند از طریق توسعه گام به گام مراحل ثابت که بوسیله برنامه های معمول کامپیوتری نشان داده می شود حاصل شود. خوشبختانه این تنها راه سازماندهی محاسبات نمی باشد.
یکی از مهمترین و در عین حال قدیمی ترین نمونه های مربوط به ساخت یک برنامه AI سیستم تولید می باشد.
در سیستم تولیدی برنامه شامل یک سری قوانین می شود. در منطق اطلاعات این قوانین به گونه ای تنظیم می شود که بوسیله الگوی اطلاعات در یک نوع مسئله داده شده قابل تشخیص باشد.
قوانین تولید می تواند به هر گونه که پاسخگوی آ“ موقعیت خاص باشد برنامه ریزی شود. بدین طریق یک سیستم تولسد می تواند ایجاد کننده انعطاف پذیری و ارتباط لازم برای رفتار هوشمند باشد.
بنــــابراین AI از یک تعداد متفاوتی ساختارهای کنترلی استفاده می کند که بسیاری از انها مرتبط با سیستم های تولید می باشند و همه آنها تابع الگو می باشند . کنترل الگویی موجب می شود که اطلاعات با توجه به نیاز به خصوصیات یک نوع مسئله خاص به کار گرفته شود. الگوی الگوریتم های انطباقی مثل به صورت واحد در آوردن باعث می شود که بتواند تشخیص دهد که چه موقع خصوصیات یک مسئله منطبق با یک برنامه اطلاعاتی است که بر این اساس اطلاعات لازم برای کاربرد در مسئله را انتخاب می کند.
بنابراین حائز اهمیت می باشد که یک زبان AI بتواند آن را مستقیما ایجاد کند و یا توسعه الگوی کنترل را ساده سازد.
در PROLOG یکی کردن و جستجوی الگوریتم ها در درون خود زمان ساخته می شوند و قلب و اساس PROLOG را تشکیل می دهند .
با استفاده از این یکی کردن الگوریتم ها به سادگی می توان هر نوع الگوی ساختاری کنترلی را ایجاد کرد .
LISP مستقیماً الگوی انطبقی ایجاد نمی کند اما محاسبات سمبولیک آن موجب گسترش ساده مربوط به زبان ساده ساختار الگوی منطق شونده و توصیف کننده اولیه ساختار می شود.
یکی از مزایای این نظریه این است که الگوی تطبیق و کنترل ساختارهای همراه با آن ممکن است به سادگی برای تطبیق با نیازهای یک مسئله بخصوص خود را منطبق سازد.
اغلــــب نظـــریات فعلی در ارتباط با هوش مصنوعی همانند شبکه های عصبی عوامل تنظیم کننده و دیگر فرم های محاسبات ضروری ممکن است اجتناب از عملیات بر روی ساختارهای سمبولیک باشد.
ولی آنها نیاز به یک کنترل انعطاف پذیر را نفی نمی کنند. شبکه های عصبی می بایستی توانایی حرکتی شکل گیری خودشان را داشته باشند . عوامل متکی به پیام هستند که از بین ماحوبهای مختلف می گذرد.
الگوریتم های ژنتیکی نیاز به ایجاد واحد های شمارش به عنوان جمعیت کاندید شده حل مسئله دارند. توانایی زبان های AI برای ایجاد مشخصه ترکیب ساده طبقه بندی اتوماتیک حافظه امکان اطلاع رسانی ساده ایجاد متغیرها و روش های پویا و شکل های قوی ایجاد برنامه مثل یک برنامه شیء گرا موجب خواهد شد که آنها را به سمت استفاده گسترده در کاربرد این ابزارهای جدیدتر AI سوق دهد.
پشتیبانی از روش های برنامه نویسی جستجویی.
مسائلی که AI به آن مرتبط می باشد همیشه پاسخگوی یک چنین نظریه های مهندسی نرم افزار استاندارد که شامل طراحی کامل و پردازش موفقیت آمیز و توسعه برنامه از خصوصیات و ویژگیهای دقیق است نمی تواند باشد. به دلیل طبیعت و ذات و نوع بخصوص AI به ندرت این احتمال به وجود می آید که بتوان ویژگیهای درست و کاملی از شکل نهایی یک برنامه AI قبل از ساخت حداقل یک proto type بدست آورد. اغلب موارد شناخت مسئله برنامه مربوط می شود به حل موارد درگیر مسئله از طریق توسعه برنامه . دلایل آن عبارت است از :
1 – بیشتر مسائل AI اصولا مشخصه های ضعیفی دارند.
به دلیل اینکه پیچیدگی زیادی برای پشتیبانی از سطح اطلاعات لازم می باشد به ندرت احتمال مشاهده یک مسئله و تشخیص کامل بودن نظریه دقیق که باید در جایگاه خودش باشد وجود دارد.
بهترین ساختارهای سطح نشانه ای که در یک مسئله مورد استفاده قرار گیرند به ندرت در مشخصه های سطح دانش قرار می گیرند. این نوع پیچیدگی و نامفهومی خود را به روش های معمول مربوط به نرم افزارهای مهندسی مرتبط نمی دانند چون که در این نوع برنامه ها لازمه اش این است که مشخصه های مربوط به توسعه به خصوص مسئله قبل از اینکه مرحله کدبندی آغاز شود شکل می گیرد.
یک عملکرد منطقی خود ذاتا برای مشخصه ها و خصوصیات معمولش بسیار مشکل تر از عملکرد نوعی طبقه بندی لیست یا ایجاد یک فایل سیستم است . حقیقتا این به چه معنی است؟
به عنوان مثال برای طراحی یک مدار یا بهبود یک بیماری این به چه معنی است؟ چگونه یک انسان ماهر و متخصص این عملیات ها را شکل می دهد؟ سطح رضایت بخش ایجاد یک محدوده مسئله داده شده چه چیزی است؟ چه نوع دانش و اطلاعاتی لازم می باشد؟ چه مشکلاتی ممکن است به دلایل نبود و یا غیر واقعی بودن اطلاعات پیش بیاید؟ به دلیل جوابهای به این قبیل سؤالات و دیگر سؤالات که در یک دوره کلی مطرح می شود و بسیار تخصصی می باشند و هر وقت این طور باشد ساختار آن نیز عمیق تر و پیچیده تر می شود به همین نسبت حل آن نیز به دقت بیشتری نیاز دارد.
2 – نظریاتی که برای حل مسائل به آن پراخته می شود در محدوده بخصوصی قرار می گیرند.
گر چه چهار چوب های کلی برای حل مسائل AI وجود دارد به عنوان مثال سیستم تولید جستجو در زبان دامنه و محدوده هر مسئله نیازمند روش های خاص خود می باشد.
بنابراین راه حل موفقیت آمیز مسئله به ندرت به طور کامل برای محدودیتهای جدید عمومیت و کاربرد دارد هر کاربرد تا حدودی یک نوع مسئله جدید می باشد .
3- ساختارها و اشکال بیان AIبه طور پیوسته باید توسعه و تجدید شود
توسعه AI یک پروسه تحقیقی مداوم است . توسعه سیستم های AI کاربردی در بسیاری از روشها بسط و توسعة این پروسه ها می باشند . گرچه تجربه عمدتاً به کاربرد زبان کمک می کند ولی عموماً هیچ جایگزینی برای کاربرد یک ایده و اینکه چگونه عمل می کند وجود ندارد .
به همین دلیل AI اصولاً به صورت جستجوی است . برنامه اغلب به صورت ماشینی است که از طریق آن ما می توانیم دامن مسئله را کشف کنیم و روش های حل مسئله را کشف کنیم در حقیقت ابزاری است که با آن به شناخت مسئله نائل می شویم .
چالش در برنامه نویسی AI ، پشتیبانی برنامه ریزی کشفی است . در بین خصوصیاتی که یک زبان برنامه نویسی باید ایجاد کند موارد ذیل وجود دارد :
1. Modularity
2. قابلیت گسترش
3. ساختارهای سطح بالای مفید
4. پشتیبانی از Prototype سازی اولیه
5. قابل خواندن بودن برنامه
6. مترجم ها
7. پشتیبانی نرم افزاری برای برنامه نویسی جستجویی