یکی از عملینشدهترین وعدههای چشمانداز قرن بیستمی از آینده وعده هوش مصنوعی (AI) بود. تصور بر این بود که AI به خلق کامپیوترهای منجر خواهد شد که نه تنها محاسبه و سازماندهی میکنند، بلکه به استدلال و تجزیه و تحلیل هم خواهند پرداخت؛ کامپیوترهایی که واقعا میتواننند فکر کنند، مانند HAL در "ادیسه 2001" (البته در طول فیلم معلوم میشود که روانپریشی آدمکش است.)
تلاشهای اخیر برای تحقق بخشیدن به وعده AI بر تعلیم کامپیوترها برای استنتاج بهتر معنا از محتوای گسترده موجود بر روی اینترنت متمرکز است، اما هنوز راه درازی تا رسیدن به این هدف مانده است.
اما در این ضمن یک نوع جایگزین برای سیستم کامپیوتریشده بوجود آمده، که واقعا گامهای بلندی به سوی واداشتن کامپیوترها به فکرکردن مانند انسانها برداشته است.
تیم اورایلی، ناشر، این شیوه را "تشدید هوش" (intelligence augmentation) یا IA مینامد که در آن از تکنیکی بسیار زیرکانه استفاده می شود: کلاه گذاشتن.
IA اصطلاح فراگیری برای طیف گستردهای از روشهاست، که از انسانهای واقعی با مغزهای واقعی به عنوان بخشی از برنامههای کامپیوتری استفاده میکنند.
ایده این روش این است که با واداشتن انسان به پرداختن به حل بخشهایی خاص از یک مسئله که انجام آن برای کامپیوتر مشکل یا ناممکن است، اما انجام آن برای من یا شما پیشپاافتاده است، میتوان برنامهای داشت که ظاهر هوش واقعی انسانی را داشته باشد.
در چند ماه گذشته شماری از نمونههایی از این شیوه پیدار شده است:
• Mozes Mob یک سرویس رایگان مستقر در تلفنهای همراه است که برای پاسخ دادن به پرسشها طراحی شده است. برای دیدن چگونگی عمل آن، یک پیام متنی حاوی سوالی را که یک انسان به راحتی میتواند پاسخ دهد، اما یک کامپیوتر در فهمیدن آن دچار مشکل خواهد شد (مثلا "آیا هوا در شهر میامی بهتر است یا شهر بوفالو؟) به شماره تلفن 66937 بفرستید. در پشت صحنه پرسش شما برای گروهی از داوطلبان فرستاده میشود و پاسخ معمولا در کمتر از چند ثانیه به موبایل شما فرستاده خواهد شد.
• عنوان دهنده تصاویر گوگل (images.google.com/imagelabeler) یک بازی اعتیادآور آنلاین است که از این حقیقت بهره میبرد که برای انسانها بسیار ساده است که موضوع یک تصویر را تشخیص دهند ("این یک توله سگ است!" "اینها دو هواپیما و یک پرنده هستند!") اما برای یک کامپیوتر این کار تقریبا غیرممکن است.
این بازی زوجهایی از افراد ناآشنا را همراه میکند تا کلمات کلیدی را به با حداکثر سرعت ممکن به تصاویر مرتبط کنند. هر چه عناوین تصاویر بیشتری را در طول 90 ثانیه با کلمات کلیدی مشخص کنید، امتیاز بیشتری میگیرید. به این ترتیب گوگل صدها نفر را برای دادن عنوان به تصاویر به کار میگیرد، کاری که با تجزیه و تحلیل صرف کامپیوتری ناممکن میبود.
• در حالیکه شبکه موزس و عنواندهنده تصاویر گوگل به لطف افراد غریبه برای برنامه تقویت هوششان متکی هستند، آمازون دارای سرویسی است که انگیزه کار ان پرداخت پول نقد است.
Amazon Mechanical Turk سیستمی است که به افراد دارای قدرت انجام وظایف خاص امکان میدهد که با افرادی که مشتاق اجرای آن وظایف بر مینای یک قیمت توافقشده هستند، ارتباط برقرار کنند.
اخیرا شخصی 1.53 دلار به هر کسی میداد که یک پادکست 9 دقیقهای را نسخهبرداری کند و شخصی دیگر برای دانستن عنوان یک قطعه موسیقی پنج سنت میپرداخت. این سرویس را میتوان نوعی eBay برای خرید و فروش قدرت مغز شمرد.
تقویت هوش خصوصیات مشترک زیادی با آن چه اورایلی "ساختار مشارکت" (architecture of participation) مینامد، دارد: هزاران نفری که گردهم میآیند تا برای مثال ویکیپدیا را خلق کنند. اما IA یک گام بیشتر در این مسیر برمیدارد. در اینجا دانش انسان به شکلی که در ویکیپدیا میبینیم، در صورت ظاهر و محور کار قرار ندارد؛ دانش انسانی پشت ظاهر یک برنامه کامپیوتری به شکل خودکار در آمده است، یک چرخدنده کوچک انسانی در ژرفای ماشین.
خلاصه ای دربارة LISP و PROLOG
به وسیله برآورده کردن نیازهای گفته شده، LISP و PROLOG هر دو دارای زبانهای برنامه نویسی غنی و کاملی هستند وقتی که این زبانها را فرا می گیریم، دانشجو در ذهن و فکر دربارة روشهایی که آنها به وسیله ویژگیهای خاص هر زبان پشتیبانی می کنند، نیازها را نگه داری می کنند.
PROLOG یکی از بهترین نمونه و مثال یک زبان برنامه نویسی منطقی است. یک برنامه منطقی دارای یک سری ویژگیهای قانون و منطق است . PROLOG از محاسبة اولیه استفاده می کند. در حقیقت خود این نام از برنامه نویسی PRO در LOGIC می آید یک مفسر برنامه را بر اساس یک منطق می نویسد. ایده استفاده توصیفی محاسبه اولیه برای بیان خصوصیات حل مسئله یکی از محوریت های مشارکتPROLOG می باشد که برای علم کامپیوتر به طور کلی و به طور اخص برای زبان برنامه نویسی هوشمند مورد استفاده قرار می گیرند. نفع اسفتاده از محاسبه اولیه برای برنامه نویسی شامل یک ساختار ظریف و ساده و قابل معنی می شود.
به دلیل همین خصوصیات است که PROLOG به عنوان یک محرک اصلی و مفید برای تحقیقاتی مثل موارد برنامه نویسی آزمایشی به عنوان یک کد، متغیر کردن برنامه و طراحی ویـــژگیهـای زبان سطح بالا، مطرح است. PROLOG و دیگر زبانهای منطقی یک سبک برنامه نویسی مشخصی را دنبال می کنند که در آنها برنامه ها به صورت دستورات پشت سرهم و متوالی برای ایجاد یک الگوریتم، نوشته می شوند. این نوع برنامه اصولاً به کامپیوتر می گوید که «چه چیزی درست است» و «چه چیزی باید صورت گیرد» و این به برنامه نویس اجازه می دهد که بر روی حل مسئله به صورت یک سری خصوصیات از یک محدوده تأکید کند تا اینکه بخواهد به جزئیات نوشتاری سطح پائین ساختارهای الگوریتمی برای بعد بپردازد.
اولین برنامه PROLOG در مارسی فرانسه در اوایل 1970 به عنوان بخشی از زبان معمول یک پروژه نوشته شد. تئوری نهفته در پشت این زبان در کارهای کوالسکی،هیز و دیگران آورده شده است. عمدة توسعة PROLOG بین سالهای 1975 تا 1979 در بخش هوش مصنوعی دانشگاه ادینبورگ صورت گرفت.
در آنجا یک گروه مسئولیت کاربرد اولین PROLOG را به عهده داشتند که آقای David H.D مسئول آن بود. این گروه اولین PROLOG را ساخت که می توانست محاسبات کلی را انجام دهد. این محصول بر اساس سیستم DEC-10 ساخته شده بود و می توانست در مدهای توصیفی و مقایسه ای کارآئی داشته باشد.
مزیت این زبان به وسیله پروژه هایی که برای ارزیابی و گسترش قدرت بیان برنامه های منطقی نوشته شده اند، اثبات شده است.
بحث دربارة یک چنین کاربردهایی می تواند در سمینار و گردهمائی های مربوط به زبان برنامه نویسی هوش مصنوعی در سطح بین المللی مطرح شود.
LISP اولین بار به وسیله JACK MCCARTHY در اواخر دهه 1950 مطرح شد این زبان به عنوان یک مدل پیوسته محاسباتی بر اساس تئوری عملکرد مجدد،معرفی شد.
در مقالات اولیة مک کارتی (1960) اهداف خود را مشخص می کند: ایجاد یک زبان سمبولیک تا یک زبان محاسباتی. ایجاد زبانی که بتوان از آن به عنوان یک مدل محاسباتی بر اساس تئوری عملکرد مجدد استفاده کرد و از آن بتوان برای تعریف دقیق یک ساختار و تعریف زبانی استفاده کرد.
گر چه LISP یکی از قدیمی ترین زبانهای محاسباتی است که هنوز فعال است، ولی دقت کافی در برنامه نویسی و طراحی توسعه باعث شده که این یک زبان برنامه نویسی فعال باقی بما ند.
در حقیقت این مدل برنامه نویسی طوری مؤثر بوده است، که تعدادی از دیگر زبانها بر اساس عملکرد برنامه نویسی آن واقع شده اند مثل FP ، ML و SCHEME .
این لیست اساس برنامه ها و ساختارهای اطلاعاتی در LISP است، LISP خلاصه شده نام پروسه LIS است. این برنامه یک سری لیست های عملکردی درون ساختاری دارد.
LISP به برنامه نویس قدرت کامل برای اتصال به ساختارهای اطلاعاتی را می دهد.
اصولاً LISP یک زبان کامل است که دارای عملکردها ولیست های لازمه برای توصیف عملکردهای جدید، تشخیص تناسب و ارزیابی معانی می باشد.
تنها هدف کنترل برنامه بازگشت و شرایط منحصر به فرد است. عملکردهای کامل تر هنگامی که لا زم باشد در قالب این اصول تعریف می شوند. در طی زمان بهترین عملکردها به عنوان بخشی از زبان می شوند. پروسه توسعة زبان به وسیلة اضافه کردن عملکردهای جدید موجب توسعه محورهای زیادی از LISP می شوند که اغلب شامل صدها عملکرد بخصوص برای ایجاد اطلاعات کنترل برنامه، خروجی و ورودی، Edit کردن عملکردهای LISP می شوند.
این ارتباطات محرکه ای هستند که به وسیله LISP از یک مدل ساده و ظریف به یک مدل قوی و غنی و عملکردی برای ساخت سیستم های نرم افزاری بزرگ، تبدیل می شود.
یکی ازمهم ترین برنامه های مرتبط با LISP برنامه SCHEME می باشد که یک تفکر دوباره دربارة زبان در آن وجود دارد که به وسیله توسعه AI وبرای آموزش اصول مفاهیم علم کامپیوتر مورد استفاده قرار می گیرند.
برخلاف برنامه LISP و PROLOG ،برنامه شیء گرا ریشه در مهندسی نرم افزار دارد. اولین بار در سال 1970 توسعه یافته که به وسیله Alan Kay این تحقیقات صورت گرفته است.
ساخت ایده ها از محرک، که زبان نروژی تظاهر می کند در سال 1960 و مقاله Symour در استفاده از LOGO برای آموزش کودکان، صورت پذیرفته است.
استفاده از Dyna book برای اولین بار به عنوان یک کامپیوتر، که افرادی به غیر متخصصان علم کامپیوتر با آن سروکار داشتند.
بـــه دلیل اینکه کاربر افراد معمولی بودند سیستم عملکرد و کاربرد نرم افزار نباید تکنیکی می بود و به سادگی قابل تشخیص بود. راه حل آنها برای این مسئله یک مداخلة گرافیکی است با استفاده از منوها و آیکون های گرافیکی و اشاره گرها، یک موس یا یک سری برنامه ها برای ادیت کردن، داده ها می باشد.
دخالت کاربر در طراحی یک notebook متأثر از طراحی کاربرها برای یک سری کامپیوترهای تخصصی مثل سیستم های به کارگیری کامپیوتر شخصی مثل مکینتاش، ماکروسافت و محل های مربوط به ویندوز می باشد.
در یک برنامه small talk ،همه چیز در قالب هدف و یک ساختار قابل محاسبه مرک و قراردادی مطرح می شود. اهداف نه فقط شامل انواع اطلاعات برای محاسبه بلکه شامل انواع روشهای لازم برای محاسبه حالت و وضعیت هدف نیز می شوند.
ارزشهای یک هدف به صورت کلاس ها بیان می شود. اهداف ممکن است اهداف طبقه بندی شده که توصیف کنندة تمامی مواد یک نمونه باشد و بیانگر نوع ذات و توصیف تما می موارد یا مواردی که بیانگر یک عضو واحد هستند را شامل شود.
وقتی مواردی از یک نوع اطلاعات به وسیله اهداف توصیف می شود این موارد ذاتاً دارای نوع توصیف و روشهای توصیفی از عملگرهایشان می باشند،برای شکل دادن یک عملیات بر روی یک هدف، یک پیام به سمت هدف فرستاده شده که حاصل روش مناسبی می باشد. به عنوان مثال، اضافه کردن 3 و 4 پیام 4+ به سمت شیء 3 فرستاده می شود و 3 پاسخ می دهد می شود 7 .
به وسیله ایجاد انواع ترکیب اطلاعات و عمل بر روی آنها در یک عمل واحد مربوط به هدف، small talk از کد Modular (پیمانه ای) توسعه و نوع کاربرد برای عناصر اطلاعات و کد مربوط به تکثیر آنها، پشتیبانی می کند.
به دلیل اینکه اهداف small talk در قالب یک کلاس شبکه ای همراه با اهداف کاملاً ویژه که بخشی از تمامی روش هــای کاملاً کلی است ، بسیار ساده است که یک ساختار جدید برنامه ای توصیف کنیم که عملاً با اهداف موجود در برنامه همراه باشد. بنابراین یک برنامه اصولاً می تواند قدرت کامل یک سیستم باشد که شامل گرافیک،بازنگری و ارتباط است.
علاوه بر این روش های توسعه نرم افزاری مثل ارائه اطلاعات و زبانهای نهفته، فشار بر اپراتور و استفاده از کدها از طریق یک گروه اصلی و زبانهای نهفته در قالب یک مدل رایج پشتیبانی می شوند.
زبانهای شیءگرا همراه با بسیاری از خصوصیات مندرج در یک کلاس اطلاعاتی، شامل کلاس اصلی و توانایی پاسخ در ساختار اطلاعات می شود به همین دلایل زبانهای شیءگرا در برنامه نویسی AI استفاده می شوند.
نیاز به برنامه نویسی اطلاعاتی موجب توسعة تعدادی برنامه نویسی و تکنیک های زبان، شامل سیستم های تولید،قوانین و کلاس شیءگرا می شود.
یک سیستم هیبرید بیانگر نمونه های چند منظوره در قالب یک محیط برنامه نویسی خاص مــی باشد. گر چه محیطهای هیبرید متفاوت می باشد. ولی عموماً شامل خصوصیات ذیل می شوند.
1-نمایش شیء گرا از محدوده اشیاء
یک چنین سیستم هایی ذاتاً ویژگیهای کلاس را پشتیبانی می کنند و اغلب شامل یک مکانیسم انتقال پیام برای عکس العمل هدف می باشند.
2-قوانین نمایش اطلاعات neuristic
گر چه چهارچوب اهداف به معنی توصیف طبقه بندی اهداف، می باشند. قوانین به عنوان عمدة نظر توصیف مسائل اطلاعاتی می باشند.
ساختار then …. if ….. مناسب شیوة تخصص انسانی است که بیانگر پروسة تصمیم گیر است. قوانین دریافت اطلاعاتی از اهداف را دارند که با استفاده از یک زبان که مستقیماً در چارچوب یک هدف می خواند و می نویسد و یا به وسیلة استفاده از پیام که مستقیماً وارد هدف می شود صورت می پذیرد.
3-پشتیبانی از انواع روش های جستجو
بیشتر سیستم های پشتیبانی از جستجوی اولیه و انتهایی حمایت می کنند عموماً بیان یک هدف در قالب جستجویی ،تغییر به سمت عقب می باشد . علاوه بر این یک واقعیت تازه دربارة حافظه کارکرد ممکن است ایجاد علت های اولیه از قوانین کند که به وسیله این واقعیت جدید پشتیبانی می شوند.
4-توصیف دامنة کاربرد عملکرد متقابل و تأثیرات جانبی
یک demon فـــرآیندی اســـت که به وسیله عملکردهای جانبی بعضی از اعمال مشخص می شود. یک نمونه از استفاده demon کنترل در یک سیستم زمانی است که بیانگر دوره ای در مانیتور یک چاپگر و یا دیگر وسایل می باشد.
demon به وسیله یک زمان مشخص می شود. محیطهای AI این ایده را توسعه می دهند و باعث ایجاد demon می شوند که هنگامی که هدف تولید یا توصیف شود به کار می آیند.
چنین demonهایی برای به زمان نگه داشتن یک نشانگر در پاسخ به تغییر مقدار مورد استفاده قرار می گیرند. Demon های مهم و مطرح اصولاً دارای مقادیری متغیر می باشد که هنگامی که ارزش متغیر تغییر کند demon خوانده شده و وقتی که این اتفاق افتاد demon ایجاد و خلق می شود که این وقتی اتفاق می افتد که یک مقدار خلق شده باشد و ارزش ها در قالب گرافیکی فعال می شوند که این فعالیت می تواند متغیر باشد.
5-تداخلگرهای گرافیکی
اینها شامل یک طیفی از امکاناتی می باشند که اجازه تداوم و دنبال کردن موارد را می دهند. به عنوان مثال نشانگرهای گرافیکی می توانند ساختار قوانین یک اصل اطلاعاتی را به صورت یک درخت توصیف دهند. یکی از مهمترین خصوصیات محیطهای هیبرید،توانائی اتصال با استفاده از demon می باشد که به صورت یک نشانگر گرافیکی متصل به شیء و هدف می باشد. که این موجب عملکرد گرافیکی برای بیان زمان واقعی نشانگر می باشد که در حقیقت بیشتر محیط ها دارای یک پشتیبانی سطح بالای از داده های گرافیکی می باشند.
6-اجتناب از زبانهای زیرین
روشهایی که در قالب یک زمان خاص یا پاسخگو می باشند به وسیله محیط و یا اغلب اوقات LISP و PROLOG یا حتی