آبجی
15th May 2010, 02:04 PM
شرحی بر هوش مصنوعی
Artificial Intelligence
نويسنده : ساناز نظرلطفی
کامپیوتر-مقالات
http://www.daneshema.com/upload/Image/technology_and_engineering/computer/article/Artificial_intelligence.jpg
هوش مصنوعی ، كامپیوتر را به ماشینی تبدیل می كند تا اعمالی چون انسان انجام دهد.هوش مصنوعی ، دانش ساختن ماشین ها یا برنامههای هوشمند است وشاخهایست از علم كامپیوتر كه ملزومات محاسباتی اعمالی همچون ادراك ، استدلال و یادگیری را بررسی كرده و سیستمی جهت انجام چنین اعمالی ارائه میدهد. هوش مصنوعی ، مطالعه روشهایی است برای تبدیل كامپیوتر به ماشینی كه بتواند اعمال انجام شده توسط انسان را انجام دهد. حوزه هوش مصنوعی ( Artificial Intelligence ) سعی دارد تا موجودیت های هوشمند را درک کند. از اینرو یکی از علل مطالعه آن ، یادگیری بیشتر در مورد خودمان است. اما بر خلاف فلسفه و روانشناسی که آنها نیز به هوشمندی مرتبط هستند، هوش مصنوعی ( AI ) سعی دارد به همان خوبی که آنها را می فهمد ، قادر به ساخت آنها نیز گردد. دلیل دیگر برای مطالعه AI ، جالب و مفید بودن این موجودیت های هوشمند می باشد. AI محصولات مهم و موثر زیادی حتی در مراحل اولیه توسعه اش ، تولید کرده است. اگرچه هیچ کس نمی تواند آینده را به طور مشخص پیش بینی کند ، اما آشکار است که کامپیوترهایی با سطح هوشمندی در ردیف انسان ( و حتی بهتر از آن ) تأثیر بسزایی بروی زندگی روزمره ما و هم چنین بروی تمدن آینده خواهد گذاشت. AI یکی از جدید ترین علومی است که پس از جنگ جهانی دوم مطرح شد و نام آن در سال ۱۹۵۶ انتخاب گردید. در کنار بیولوژی سلولی ، دانشمندان سایر رشته ها ، AI را به عنوان " حوزه ای که می خواهیم در آن باشیم "، بیان کرده اند. بدیهی است که دانشجوی رشته فیزیک احساس می کند که تمام موضوعات خوب ، توسط گالیله ، نیوتون ، انیشتین و غیره کشف شده اند. از طرف دیگر ، AI زمینه گسترده ای برای افرادی مثل انیشتین است. در حال حاضر AI زیر شاخه های وسیعی از موضوعات عمومی مانند ادراک و استدلال منطقی تا کارهای خاص مانند بازی شطرنج ، اثبات قضایای ریاضی ، سرودن شعر و تشخیص امراض را شامل می شود. غالبا دانشمندان دیگر زمینه ها بتدریج به سوی هوش مصنوعی متمایل می گردند. جایی که ابزارها واژه هایی را می یابند تا از طریق آنها بتوانند وظایف هوشمندانه خود را خودکار سازند، مشابها محققین AI هم می توانند از روش های خود برای هر زمینه ای از کوشش هوشمندانه انسان استفاده کنند. از این منظر این دانش حقیقتا یک زمینه واحد خواهد بود.
هوش مصنوعی چیست؟
هوش مصنوعی تکنیکی برای خلق کردن ماشین هایی است که قادر به فکر کردن بدون نیاز به انسان ها می باشند.هوش مصنوعی بطور خلاصه ترکیبی از علوم کامپیوتر ، فیزیولوژی و فلسفه است. این شاخه از علوم بسیار گسترده و متنوع است و از موضوعات و رشته های مختلف علوم و فن آوری ، مانند مکانیزم های ساده در ماشین ها شروع شده ، و به سیستم های خبره ختم می شود. هدف هوش مصنوعی بطور کلی ساخت ماشینی است که بتواند "فکر" کند. اما برای دسته بندی و تعریف ماشین های متفکر ، می بایست به تعریف "هوش" پرداخت. همچنین به تعاریفی برای "آگاهی" و "درک " نیز نیازمندیم و در نهایت به معیاری برای سنجش هوش یک ماشین نیازمندیم. به مدد تحقیقات وسیع دانشمندان علوم مرتبط، هوش مصنوعی از بدو پیدایش تا کنون راه بسیاری پیموده است. در این راستا، تحقیقاتی که بر روی توانایی آموختن زبان ها انجام گرفت و همچنین درک عمیق از احساسات ، دانشمندان را در پیشبرد این علم ، یاری کرده است. یکی از اهداف متخصصین ، تولید ماشین هایی است که دارای احساسات بوده و حداقل نسبت به وجود خود و احساسات خود واقف باشند. این ماشین باید توانایی تعمیم تجربیات قدیمی خود در شرایط مشابه جدید را داشته و به این ترتیب اقدام به گسترش دامنه دانش و تجربیاتش کند.
برای مثال به رباتی هوشمند بیاندیشید که بتواند اعضای بدن خود را به حرکت درآورد، او نسبت به این حرکت خود آگاه بوده و با سعی و خطا ، دامنه حرکت خود را گسترش می دهد، و با هر حرکت موفقیت آمیز یا اشتباه ، دامنه تجربیات خود را وسعت بخشیده و سر انجام راه رفته و یا حتی می دود و یا به روشی برای جابجا شدن ، دست می یابد ، که سازندگانش ، برای او ، متصور نبوده اند. دانشمندان ، عموما برای تولید چنین ماشین هایی ، از تنها مدلی که در طبیعت وجود دارد ، یعنی توانایی یادگیری در موجودات زنده بخصوص انسان ، بهره می برند. آنها بدنبال ساخت ماشینی مقلد هستند ، که بتواند با شبیه سازی رفتارهای میلیون ها سلول مغز انسان ، همچون یک موجود متفکر به اندیشیدن بپردازد.
مباحث هوش مصنوعی قبل از بوجود آمدن علوم الکترونیک، توسط فلاسفه و ریاضی دانانی نظیر بول که اقدام به ارائه قوانین و تئوری هایی در باب منطق نمودند، مطرح شده بود. در سال ۱۹۴۳، با اختراع کامپیوترهای الکترونیکی ، هوش مصنوعی ، دانشمندان را به چالشی بزرگ فراخواند. بنظر می رسید تکنولوژی در نهایت قادر به شبیه سازی رفتارهای هوشمندانه خواهد بود.
با وجود مخالفت گروهی از متفکرین با هوش مصنوعی که با دیده تردید به کارآمدی آن می نگریستند تنها پس از چهار دهه ، شاهد تولد ماشین های شطرنج باز و دیگر سیستم های هوشمند در صنایع گوناگون هستیم. هوش مصنوعی که همواره هدف نهایی علوم کامپیوتر بوده است اکنون در خدمت توسعه علوم کامپیوتر نیز می باشد. زبان های برنامه نویسی پیشرفته ، که توسعه ابزارهای هوشمند را ممکن می سازند، پایگاه های داده ای پیشرفته ، موتورهای جستجو ، و بسیاری نرم افزار ها و ماشین ها از نتایج تحقیقات هوش مصنوعی بهره می برند.
رؤیای طراحان اولیه كامپیوتر از بابیج تا تورینگ ، ساختن ماشینی بود كه قادر به حل تمامی مسائل باشد، البته ماشینی كه در نهایت ساخته شد ( كامپیوتر ) به جز دسته ای خاص از مسائل قادر به حل تمامی مسائل بود. اما نكته در اینجاست كه این «تمامی مسائل» چیست؟ طبیعتاً چون طراحان اولیه كامپیوتر ، منطقدانان و ریاضیدانان بودند ، منظورشان تمامی مسائل منطقی یا محاسباتی بود. بدین ترتیب عجیب نیست ، هنگامی كه فوننیومان سازنده اولین كامپیوتر ، در حال طراحی این ماشین بود، كماكان اعتقاد داشت برای داشتن هوشمندی شبیه به انسان ، كلید اصلی، منطق ( از نوع به كار رفته در كامپیوتر ) نیست، بلكه احتمالاً چیزی خواهد بود شبیه ترمودینامیك!
به هرحال، كامپیوتر تا به حال به چنان درجهای از پیشرفت رسیده و چنان سرمایهگذاری عظیمی برروی این ماشین انجام شده است كه به فرض این كه بهترین انتخاب نباشد هم ، حداقل سهلالوصولترین و ارزانترین و عمومیترین انتخاب برای پیادهسازی هوشمندی ست.
بنابراین ظاهراً به نظر میرسد به جای سرمایهگذاری برای ساخت ماشینهای دیگر هوشمند ، میتوان از كامپیوترهای موجود برای پیادهسازی برنامههای هوشمند استفاده كرد و اگر چنین شود ، باید گفت كه طبیعت هوشمندی ایجاد شده حداقل از لحاظ پیادهسازی ، كاملاً با طبیعت هوشمندی انسانی متناسب خواهد بود ، زیرا هوشمندی انسانی ، نوعی هوشمندی بیولوژیك است كه با استفاده از مكانیسمهای طبیعی ایجاد شده ، و نه استفاده از عناصر و مدارهای منطقی . در برابر تمامی استدلالات فوق می توان این نكته را مورد تاُمل و پرسش قرار داد كه هوشمندی طبیعی تا بدان جایی كه ما سراغ داریم ، تنها برمحمل طبیعی و با استفاده از روش های طبیعت ایجاد شده است.
AI های متخصص
یک ماشین تنها در صورتی به عنوان یک AI شناخته می شود که از یکسری قابلیت های خاص برخودار باشد. یکی از این قابلیت ها داشتن شناخت از وجود خود است. این بدان معناست که ماشین از وجود خود آگاه باشد. هر انسان به طور طبیعی از حضور و وجود خود آگاه است اما هنوز مدرکی دال بر sentient بودن حیوانات در دست نیست.
این نمونه از نرم افزارها برای انجام یکسری کارهای تخصصی طراحی شده اند و به طبع از قابلیت های بالایی نیز برخودار می باشند. اینگونه برنامه ها معمولاً به یک بانک اطلاعاتی بسیار وسیع مجهز می باشند که آنها را قادر به پاسخگویی به سوالات کاربران می سازد. در حقیقت این برنامه ها برای رشته هایی مانند پزشکی ، مهندسی و ... طراحی شده اند و وظیفه آنها ذخیره سازی اطلاعات مفیدی است که به خاطر سپردن آنها توسط انسان بسار دشوار می باشد، اگرچه اینگونه برنامه ها از یک اشکال پایه ای رنج می برند.
زمانی که سوال مطرح شده توسط کاربر در محدوده اطاعات ذخیره شده در آنهاست هیچ مشکلی پیش نخواهد امد اما ضعف آنها هنگامی پدیدار می شود که سوال مطرح شده کمی خارج از حوزه اطلاعاتی آنها قرار گیرد که در این صورت اینگونه برنامه ها به کلی از پاسخ گویی به سوال درمانده خواهند بود. این ناتوانی از آنجا ناشی می شود که این دسته از برنامه ها توانایی عمومیت دادن (Generalization ) را ندارند.
منظور از عمومیت دادن چیست؟
منظور از عمومیت دادن توانایی خلق کردن اطلاعات جدید بر اساس اطلاعات قدیمی است. تمامی انسان ها از این توانایی برخوردار هستند اگرچه ماشین ها به طور کامل و همانند انسان چنین توانایی را ندارند.
برای درک بهتر موضوع به این مثال ساده توجه کنید:
جان در یک کمپانی کار می کند. در محل کار او کابل هایی وجود دارد که توسط یکسری اشکال خواص علامت گذاری شده اند و نشانگراین موضوع هستند که این کابل ها حامل برق می باشند. جان در محل دیگری یکسری کابل با علائم مشابه را مشاهده می کند و نتیجه میگیرد که این کابل ها نیز حاوی جریان برق هستند.ماشین تورینگ در سال ۱۹۵۰ آلن تورینگ (Alain Turing ) ریاضی دان انگلیسی ، معیار سنجش رفتار یک ماشین هوشمند را چنین بیان داشت:
"سزاوارترین معیار برای هوشمند شمردن یک ماشین ، اینست که آن ماشین بتواند انسانی را توسط یک پایانه ( تله تایپ ) به گونه ای بفریبد که آن فرد متقاعد گردد با یک انسان روبروست."
در این آزمایش شخصی از طریق ۲ عدد پایانه ( کامپیوتر یا تله تایپ ) که امکان برقراری ارتباط را برای وی فراهم می کنند با یک انسان و یک ماشین هوشمند ، بطور همزمان به پرسش و پاسخ می پردازد. در صورتی که وی نتواند ماشین را از انسان تشخیص دهد، آن ماشین، هوشمند است. آزمایش تورینگ از قرار دادن انسان و ماشین بطور مستقیم در برابر یکدیگر اجتناب می کند و بدین ترتیب، چهره و فیزیک انسانی مد نظر آزمایش کنندگان نمی باشد. ماشینی که بتواند از پس آزمون تورینگ برآید، از تفکری انسانی برخوردار است.مدل سازی نحوه تفکر انسان، تنها راه تولید ماشینهای هوشمند نیست. هم اکنون دو هدف برای تولید ماشینهای هوشمند، متصور است، که تنها یکی از آن دو از الگوی انسانی جهت فکر کردن بهره می برد. سیستمی که مانند انسان فکر کند. این سیستم با مدل کردن مغز انسان و نحوه اندیشیدن انسان تولید خواهد شد و لذا از آزمون تورینگ سر بلند بیرون می آید. از این سیستم ممکن است اعمال انسانی سر بزند. سیستمی که عاقلانه فکر کند، سیستمی عاقل است که بتواند کارها را درست انجام دهد. در تولید این سیستمها نحوه اندیشیدن انسان مد نظر نیست. این سیستم ها متکی به قوانین و منطقی هستند که پایه تفکر آنها را تشکیل داده و آنها را قادر به استنتاج و تصمیم گیری می نماید. آنها با وجودی که مانند انسان نمی اندیشند، تصمیماتی عاقلانه گرفته و اشتباه نمی کنند. این ماشین ها لزوما درکی از احساسات ندارند. هم اکنون از این سیستمها در تولید عامل ها ² در نرم افزارهای کامپیوتری، بهره گیری می شود.
عامل
عامل تنها مشاهده کرده و سپس عمل می کند. عامل قادر به شناسایی الگوها ، و تصمیم گیری بر اساس قوانین فکر کردن خود است. قوانین و چگونگی فکر کردن هر عامل در راستای دستیابی به هدفش ، تعریف می شود. این سیستم ها بر اساس قوانین خاص خود فکر کرده و کار خود را به درستی انجام می دهند. پس عاقلانه رفتار می کنند ، هر چند الزاما مانند انسان فکر نمی کنند.
عامل انسانی اندام هایی مانند گوش ها، چشم ها و دیگر ارگان ها برای حس کردن و دست ها، پاها، بینی و دیگر اندام ها برای اثر گذاری دارد.عامل روباتیک دوربین ها یابنده های مادون قرمز را بجای حس گرها و انواع موتورها را بجای اثر کننده ها جایگزین کرده است. عامل نرم افزاری رشته های بیتی را به عنوان درک محیط و عمل، کدگذاری می کند.
معیارهای موفقیت
یکی ازمهمترین سوالاتی که در رابطه با هر پروژه تحقیقاتی مهندسی یا علمی محتاج پاسخ است این است که « چگونه بدانیم که موفق شده ام یا شکست خورده ایم؟» برای ما هم این سوال مطرح است که چگونه بدانیم یک ماشین باهوش ساخته ایم؟ ولی اصلا" « هوش» یعنی چه؟
آیا راهی برای سنجیدن میزان پیشرفت ما در این کار وجود دارد؟همانطور که در بالا گفته شد تست تورینگ روشی است برای سنجیدن و پاسخگویی به این سوال که آیا ماشینی قادر به فکر کردن است. نکته مهمتر مقدار دانش یا دانسته هایی استکه یک ماشین باید دارا باشد تا در آزمایش تورینگ موفق شود.مدتها وقت لازم است تا کامپیوتری بتواند از آزمایش تورینگ موفق بیرون بیاید. برخی معتقدند که هیچ کامپیوتری موفق نخواهد شد. اما فرض کنید ما تقلید ساده تر انسان را هم قبول داریم، آیا حالا می توانیم موفقیت هوش مصنوعی را در قلمروهای محدودتر بسنجیم؟ معمولا" پاسخ به این سوال مثبت است.گاهی اوقات هم می توان میزان موفقیت برنامه را به دقت سنجید. برای مثال برنامه ای که بازی شطرنج انجام می دهد را می توان همانند انسان های شطرنج باز درجه بندی کرد. این درجه بندی بر اساس بازیکنانی است که برنامه شکست می دهند. همین حالا هم برنامه های شطرنج باز درجه بندی بالاتری نسبت به اکثر مردم شطرنج باز بدست آورده اند. برای اکثر قلمروها درجه بندی میزان موفقیت یک برنامه کمتر دقیق است.
در حال حاضر بهترین کاری که می توان کرد اینست که در هنگام طراحی یک برنامه هوش مصنوعی سعی کنیم معیار های موفقیت برنامه را هم مشخص سازیم.
بررسی علوم دخیل در هوش مصنوعی تا بدان جایی كه هوش مصنوعی تنها به بررسی روش های حل مسائل ریاضی و مجرد توسط كامپیوتر مىپرداخت ، مىتوانستیم قطعاً آن را یكی از زیر شاخه های علوم كامپیوتر بدانیم ؛ اما امروزه با اضافه شدن ملاحظات جدیدی كه در فوق اشاره ای بدان رفت، دیگر نمىتوان با این قطعیت قضاوت كرد. علومی از قبیل : معرفت شناسی كه در فلسفه ذهن مطرح است ، عصب شناسی شناختی ، و نیز روانشناسی شناختی به همراه هوش مصنوعی مجموعه ای تحت عنوان علوم شناختی را تشكیل مىدهند. از دیگر سو ، رباتیك به عنوان همبسته تكنولوژیك هوش مصنوعی ، خود دانشی است كه داده های علوم مكانیك و كامپیوتر و كنترل را یك جا مىطلبد.
بررسی هوشمندی
چه چیزی در انسان یا هر موجود دیگری آنقدر ویژه و خاص است كه او را با صفت هوشمند از سایر موجودات متمایز مىكند؟ آیا چنین صفتی تنها خاص انسان است، یا مىتوان درجات مختلف آن را به موجودات دیگر نیز نسبت داد. قدر مسلم این كه از سادهترین رفتار مورچه ها و زنبورها تا رفتارهای پیچیده میمون ها در تعیین سلسله مراتب پیچیده اجتماعی یا روش های تشخیص الگوهای چند بعدی توسط كبوتران ، همگی حاوی درجاتی از هوشمندی هستند ( و در بعضی موارد نه چندان كمتر از انسان ). بنابر این پاسخ به این سئوال كه هوشمندی چیست یا حتی چگونه ایجاد شده است ما را در ساخت یك موجود هوشمند با توانایی تطبیق و عمل در محیط واقعی یاری مىدهد.
آشنایی با روش های هوشمند و کاربرد آنها در تکنولوژی
آنچه كه باعث شده تا هوش مصنوعی امروزه به عنوان یك رشته مهندسی مطرح باشد این است كه طیف وسیعی از كاربردهای آن، از رباتیك گرفته تا روش های هوشمند كنترلی مقبولیت وسیعی در صنعت یافته اند. روش هایی همچون منطق فازی ، استراتژی تکاملی ، الگوریتم ژنتیك ، شبكه های عصبی مصنوعی ... همگی روش هایی هستند كه با الهام از طبیعت و برای دستیابی به هوشمندی طبیعی طراحی شده اند اما كاربرد عظیمی در مهندسی و صنعت یافته اند. كاربردی كه تا حدود یك دهه قبل حتی گمان آن نیز نمىرفت. رباتیك نیز چه در غالب روش های جابجایی بازوهای مكانیكی، و چه در شكل ربات های متحرک در این بحث جایگاه ویژه ای را به خود اختصاص داده است.
بررسی هوش مصنوعی گسترده یا Intelligence Distributed Artificial
یك روش برخورد با مسائل حل آنهاست! بله تعجب نكنید ، این تنها یك روش مواجهه با مسائل است. بجز این روش ( و البته حل نكردن مسئله! ) راه دیگری نیز وجود دارد. فرض كنید مىخواهیم یك ربات متحرك بسازیم كه در شرایط طبیعی حركت كند ، مسیر انتخاب كند و ...یك روش این است كه طراح تمامی جزئیات را از ابتدا و به صورت كاملاً دقیق در نظر بگیرد. این روش منجر به ماشینی كاملاً پیچیده و عموماً غیر قابل پیاده سازی خواهد شد. ماشینی كه با اندك تغییری در شرایط پیش بینی شده ناكارا خواهد بود. روش دیگر این است كه مانند خود طبیعت، ربات بسیار ساده ای طراحی كنیم ( گاه به سادگی یك مورچه ) و اجازه دهیم تا این ربات ساده خود مسائل را به جای ما حل كند. یا حتی اجازه دهیم یك اجتماع از ربات ها از طریق تعامل با یكدیگر به حل مسائل بپردازند. قانون طلایی در اینجا این است كه پیچیدگی یك اجتماع ، حاصلضرب پیچیدگی تك تك عناصر آن است ( تئوری پیچیدگی ) ، بنابراین یك اجتماع با عناصر بسیار ساده هم ممكن است به صورت كاملاً پیچیده و هوشمند عمل كند. بحث های هوش مصنوعی گسترده كه اغلب عجین با مبحث عامل های هوشمند ( Artificial Agents ) است و نیز مباحث زندگی مصنوعی (Artificial Life ) به عنوان جدیدترین مباحث هوش مصنوعی اینك چه در دنیای رباتیك و چه در دنیای نرم افزارهای كامپیوتری طرفداران زیادی پیدا كرده است (شركت های بزرگی همچون IBM و نیز نهادهای نظامی كشورهای پیشرفته سرمایه گذاری های کلانی در این زمینه کرده اند).
تكنیك ها و زبان های برنامه نویسی هوش مصنوعی
عملكرد اولیه برنامه نویسی هوش مصنوعی ایجاد ساختار كنترلی مورد لزوم برای محاسبه سمبولیك است. خصوصیات این ساختارها به مقدار زیادی موجب تشخیص خصوصیاتی می شود كه یك زبان كاربردی می بایستی فراهم كند. زبان های برنامه نویسیLISP و PROLOG علاوه بر این كه از مهمترین زبان های مورد استفاده در هوش مصنوعی هستند، خصوصیات معنایی و نحوی آنها نیز باعث شده كه آنها شیوه ها و راه حل های قوی برای حل مسئله ارائه كنند. تأثیر قابل توجه این زبان ها بر روی توسعه AI از جمله توانائی آنها به عنوان «ابزارهای فكر كردن» می باشد كه از جمله نقاط قوت آنها در زبان های برنامه نویسی می باشد. همان طور كه هوش مصنوعی مراحل رشد خود را طی می كند زبان هایLISP و PROLOG بیشتر مطرح می شوند. این زبان ها كار خود را در محدوده توسعه سیستم های AI در صنعت و دانشگاه ها دنبال می كنند. اطلاعات در مورد این زبانها به عنوان بخشی از مهارت هر برنامه نویس AI می باشد. آنــــچه را كـــه نمی دانیم موجب دردسر و گرفتاری ما نخواهد شد، بلكه دردسرها از دانسته ها سرچشمه می گیرد.
PROLOG
یك زبان برنامه نویسی منطقی است. یك برنامه منطقی دارای یك سری ویژگی های قانون و منطق است. PROLOG از محاسبه اولیه استفاده می كند. در حقیقت خود این نام از برنامه نویسی PRO در LOGIC می آید. یك مفسر برنامه را بر اساس یك منطق می نویسد. ایده استفاده توصیفی محاسبه اولیه برای بیان خصوصیات حل مسئله یكی از محوریت های مشاركت PROLOG می باشد كه برای علم كامپیوتر به طور كلی و به طور اخص برای زبان برنامه نویسی هوشمند مورد استفاده قرار می گیرند. مزیت این زبان به وسیله پروژه هایی كه برای ارزیابی و گسترش قدرت بیان برنامه های منطقی نوشته شده اند، اثبات شده است.
LISP
اصولا LISP یک زبان كامل است كه دارای عملكردها و لیست های لازمه برای توصیف عملكردهای جدید ، تشخیص تناسب و ارزیابی معانی می باشد. LISP به برنامه نویس قدرت کامل برای اتصال به ساختارهای اطلاعاتی را می دهد. گرچه LISP یکی از قدیمی ترین زبان های محاسباتی است که هنوز فعال است ، ولی دقت کافی در برنامه نویسی و طراحی توسعه باعث شده كه این یك زبان برنامه نویسی فعال باقی بماند. در حقیقت این مدل برنامه نویسی طوری مؤثر بوده است، كه تعدادی از دیگر زبان ها بر اساس عملكرد برنامه نویسی آن واقع شده اند مثل: FP ، ML و SCHEME .
یكی ازمهم ترین برنامه های مرتبط با LISP برنامه SCHEME می باشد كه یك تفكر دوباره درباره زبان در آن وجود دارد كه به وسیله توسعه AI و برای آموزش اصول مفاهیم علم كامپیوتر مورد استفاده قرار میگیرند.
تاریخچه هوش مصنوعی و افق های هوش مصنوعی
اولین کاری که به طور جدی در حیطه AI شناخته می شود توسط وارن مک کلود و والتر پیتز در سال ۱۹۴۳ انجام شد. مک کلود ( روانشناس ، فیلسوف و شاعر ) و پیتز ( ریاضیدان ) طی مقالهای ، دیدههای آن روزگارا درباره محاسبات ، منطق و روانشناسی عصبی را تركیب كردند. ایده اصلی آن مقاله چگونگی انجام اعمال منطقی به وسیله اجزای ساده شبكه عصبی بود. اجزای بسیار ساده ( نورونها ) این شبكه فقط از طریق سیگنال های تحریك و توقیف با هم درتماس بودند. این همان چیزی بود كه بعدها دانشمندان كامپیوتر آن را مدارهای ( And ) و ( OR ) نامیدند و طراحی اولین كامپیوتر در ۱۹۴۷ توسط فون نیومان عمیقاً از آن الهام میگرفت. امروز پس از گذشته نیمقرن از كار آنها شاید بتوان گفت كه این كار الهام بخش گرایشی كاملاً پویا و نوین در هوش مصنوعی است. پیوندگرایی هوشمندی را تنها حاصل كار موازی و همزمان و در عین حال تعامل تعداد بسیار زیادی اجزای كاملاً ساده به هم مرتبط میداند. شبكههای عصبی كه از مدل شبكه عصبی ذهن انسان الهام گرفتهاند امروزه دارای كاربردهای كاملاً علمی و گسترده تكنولوژیك شدهاند و كاربرد آن در زمینههای متنوعی مانند سیستمهای كنترلی ، رباتیك ، تشخیص متون، پردازش تصویر مورد بررسی قرار گرفته است. علاوه بر این كار بر روی توسعه سیستمهای هوشمند با الهام از طبیعت اكنون از زمینههای كاملاً پرطرفدار در هوش مصنوعی است.
الگوریتم ژنیتك كه با استفاده از ایده تكامل داروینی و انتخاب طبیعی پیشنهاد شده روش بسیار خوبی برای یافتن پاسخ به مسائل بهینه سازیست. به همین ترتیب روشهای دیگری نیز مانند استراتژیهای تكاملی در این زمینه پیشنهاد شده اند.
دراین زمینه هر گوشهای از سازو كار طبیعت كه پاسخ بهینهای را برای مسائل یافته است مورد پژوهش قرار میگیرد. زمینههایی چون سیستم امنیتی بدن انسان كه در آن بیشمار الگوی ویروسهای مهاجم به صورتی هوشمندانه ذخیره میشوند و یا روش پیدا كردن كوتاهترین راه به منابع غذا توسط مورچگان همگی بیانگر گوشههایی ازهوشمندی بیولوژیك هستند.
گرایش دیگر هوش مصنوعی بیشتر بر مدل سازی اعمال شناختی تاُكید دارد ( مدل سازی نمادین یا سمبولیك ) این گرایش چندان خود را به قابلیت تعمق بیولوژیك سیستمهای ارائه شده مقید نمیكند. بعنوان مثال روند استدلال توسط یك پزشك هنگام تشخیص یك بیماری كاملاً شبیه به CBR است به این ترتیب كه پزشك در ذهن خود تعداد بسیار زیادی از شواهد بیماریهای شناخته شده را دارد و تنها باید مشاهدات خود را با نمونههای موجود در ذهن خویش تطبیق داده ، شبیهترین نمونه را به عنوان بیماری بیابد. به این ترتیب مشخصات ، نیازمندیها و تواناییهای CBR به عنوان یك چارچوب كلی پژوهش در هوش مصنوعی مورد توجه قرارگرفته است. البته هنگامی كه از گرایشهای آینده سخن میگوییم ، هرگز نباید از گرایشهای تركیبی غفلت كنیم. گرایشهایی كه خود را به حركت در چارچوب شناختی یا بیولوژیك یا منطقی محدود نكرده و به تركیبی از آنها میاندیشند. شاید بتوان پیشبینی كرد كه چنین گرایشهایی فرا ساختارهای روانی را براساس عناصر ساده بیولوژیك بنا خواهند كرد.
نتیجه گیری
نتایجی که می توانیم از این مقاله بر مسئله مهم هوش مصنوعی بگیریم اینست که مسائل متنوع ، جالب و سخت می باشند. اگر آنها را حل کنیم حداقل دو هدف اساسی را ممکن است بدست آورده باشیم. یکی اینکه باید سعی کنیم معیارهایی را مشخص سازیم تا بتوانیم بفهمیم که آیا موفق به حل مسئله شده ایم یا خیر و دیگری اینکه خود مسئله را حل نماییم. یک سیستم هوش مصنوعی باید مقدار بسیار زیادی دانش داشته باشد تا بتواند مسائل مهم را حل کند. اما به مرور که مقدار دانش افزایش می یابد سخت تر می توان به اطلاعات مورد نظر دست یافت. بنابراین به دانش بیشتری نیاز است تا در این رابطه کمک کند و خود باعث سخت تر شدن دستیابی ها می گردد... هدف ما در هوش مصنوعی ، نوشتن برنامه هایی است که مسائل مورد توجه ما را حل می کنند.
خلاصه
• هوش مصنوعی بطور خلاصه ترکیبی است از علوم رایانه ، فیزیولوژی و فلسفه. این شاخه از علوم بسیار گسترده و متنوع است و از موضوعات و رشتههای مختلف علوم و فناوری ، مانند سازکارهای ساده در ماشین ها شروع شده ، و به سیستم های خبره ختم میشود. هدف هوش مصنوعی بطور کلی ساخت ماشینی است که بتواند "فکر" کند.
• هوش به طور قطعی به عمل منطقی مربوط می شود. عامل هوشمند بهترین عمل ممکن را در هر شرایطی در نظر می گیرد. ما مسئله ساختن عامل هایی که در این معنا هوشمند هستند را مطالعه می کنیم.
• LISP و PROLOG هر دو دارای زبان های برنامه نویسی غنی و كاملی هستند. وقتی كه این زبان ها را فرا می گیریم، دانشجو در ذهن و فكر خود درباره روش هایی كه آنها به وسیله ویژگی های خاص هر زبان پشتیبانی می كنند ، نیازهایی را نگهداری می كند
• تاریخچه AI دوره هایی ار موفقیت ودلسردی را از سر گذرانیده است. همچنین دوره هایی از معرفی رهیافت های جدید خلاق و تصحیح سیستماتیک وجود داشته است.
Artificial Intelligence
نويسنده : ساناز نظرلطفی
کامپیوتر-مقالات
http://www.daneshema.com/upload/Image/technology_and_engineering/computer/article/Artificial_intelligence.jpg
هوش مصنوعی ، كامپیوتر را به ماشینی تبدیل می كند تا اعمالی چون انسان انجام دهد.هوش مصنوعی ، دانش ساختن ماشین ها یا برنامههای هوشمند است وشاخهایست از علم كامپیوتر كه ملزومات محاسباتی اعمالی همچون ادراك ، استدلال و یادگیری را بررسی كرده و سیستمی جهت انجام چنین اعمالی ارائه میدهد. هوش مصنوعی ، مطالعه روشهایی است برای تبدیل كامپیوتر به ماشینی كه بتواند اعمال انجام شده توسط انسان را انجام دهد. حوزه هوش مصنوعی ( Artificial Intelligence ) سعی دارد تا موجودیت های هوشمند را درک کند. از اینرو یکی از علل مطالعه آن ، یادگیری بیشتر در مورد خودمان است. اما بر خلاف فلسفه و روانشناسی که آنها نیز به هوشمندی مرتبط هستند، هوش مصنوعی ( AI ) سعی دارد به همان خوبی که آنها را می فهمد ، قادر به ساخت آنها نیز گردد. دلیل دیگر برای مطالعه AI ، جالب و مفید بودن این موجودیت های هوشمند می باشد. AI محصولات مهم و موثر زیادی حتی در مراحل اولیه توسعه اش ، تولید کرده است. اگرچه هیچ کس نمی تواند آینده را به طور مشخص پیش بینی کند ، اما آشکار است که کامپیوترهایی با سطح هوشمندی در ردیف انسان ( و حتی بهتر از آن ) تأثیر بسزایی بروی زندگی روزمره ما و هم چنین بروی تمدن آینده خواهد گذاشت. AI یکی از جدید ترین علومی است که پس از جنگ جهانی دوم مطرح شد و نام آن در سال ۱۹۵۶ انتخاب گردید. در کنار بیولوژی سلولی ، دانشمندان سایر رشته ها ، AI را به عنوان " حوزه ای که می خواهیم در آن باشیم "، بیان کرده اند. بدیهی است که دانشجوی رشته فیزیک احساس می کند که تمام موضوعات خوب ، توسط گالیله ، نیوتون ، انیشتین و غیره کشف شده اند. از طرف دیگر ، AI زمینه گسترده ای برای افرادی مثل انیشتین است. در حال حاضر AI زیر شاخه های وسیعی از موضوعات عمومی مانند ادراک و استدلال منطقی تا کارهای خاص مانند بازی شطرنج ، اثبات قضایای ریاضی ، سرودن شعر و تشخیص امراض را شامل می شود. غالبا دانشمندان دیگر زمینه ها بتدریج به سوی هوش مصنوعی متمایل می گردند. جایی که ابزارها واژه هایی را می یابند تا از طریق آنها بتوانند وظایف هوشمندانه خود را خودکار سازند، مشابها محققین AI هم می توانند از روش های خود برای هر زمینه ای از کوشش هوشمندانه انسان استفاده کنند. از این منظر این دانش حقیقتا یک زمینه واحد خواهد بود.
هوش مصنوعی چیست؟
هوش مصنوعی تکنیکی برای خلق کردن ماشین هایی است که قادر به فکر کردن بدون نیاز به انسان ها می باشند.هوش مصنوعی بطور خلاصه ترکیبی از علوم کامپیوتر ، فیزیولوژی و فلسفه است. این شاخه از علوم بسیار گسترده و متنوع است و از موضوعات و رشته های مختلف علوم و فن آوری ، مانند مکانیزم های ساده در ماشین ها شروع شده ، و به سیستم های خبره ختم می شود. هدف هوش مصنوعی بطور کلی ساخت ماشینی است که بتواند "فکر" کند. اما برای دسته بندی و تعریف ماشین های متفکر ، می بایست به تعریف "هوش" پرداخت. همچنین به تعاریفی برای "آگاهی" و "درک " نیز نیازمندیم و در نهایت به معیاری برای سنجش هوش یک ماشین نیازمندیم. به مدد تحقیقات وسیع دانشمندان علوم مرتبط، هوش مصنوعی از بدو پیدایش تا کنون راه بسیاری پیموده است. در این راستا، تحقیقاتی که بر روی توانایی آموختن زبان ها انجام گرفت و همچنین درک عمیق از احساسات ، دانشمندان را در پیشبرد این علم ، یاری کرده است. یکی از اهداف متخصصین ، تولید ماشین هایی است که دارای احساسات بوده و حداقل نسبت به وجود خود و احساسات خود واقف باشند. این ماشین باید توانایی تعمیم تجربیات قدیمی خود در شرایط مشابه جدید را داشته و به این ترتیب اقدام به گسترش دامنه دانش و تجربیاتش کند.
برای مثال به رباتی هوشمند بیاندیشید که بتواند اعضای بدن خود را به حرکت درآورد، او نسبت به این حرکت خود آگاه بوده و با سعی و خطا ، دامنه حرکت خود را گسترش می دهد، و با هر حرکت موفقیت آمیز یا اشتباه ، دامنه تجربیات خود را وسعت بخشیده و سر انجام راه رفته و یا حتی می دود و یا به روشی برای جابجا شدن ، دست می یابد ، که سازندگانش ، برای او ، متصور نبوده اند. دانشمندان ، عموما برای تولید چنین ماشین هایی ، از تنها مدلی که در طبیعت وجود دارد ، یعنی توانایی یادگیری در موجودات زنده بخصوص انسان ، بهره می برند. آنها بدنبال ساخت ماشینی مقلد هستند ، که بتواند با شبیه سازی رفتارهای میلیون ها سلول مغز انسان ، همچون یک موجود متفکر به اندیشیدن بپردازد.
مباحث هوش مصنوعی قبل از بوجود آمدن علوم الکترونیک، توسط فلاسفه و ریاضی دانانی نظیر بول که اقدام به ارائه قوانین و تئوری هایی در باب منطق نمودند، مطرح شده بود. در سال ۱۹۴۳، با اختراع کامپیوترهای الکترونیکی ، هوش مصنوعی ، دانشمندان را به چالشی بزرگ فراخواند. بنظر می رسید تکنولوژی در نهایت قادر به شبیه سازی رفتارهای هوشمندانه خواهد بود.
با وجود مخالفت گروهی از متفکرین با هوش مصنوعی که با دیده تردید به کارآمدی آن می نگریستند تنها پس از چهار دهه ، شاهد تولد ماشین های شطرنج باز و دیگر سیستم های هوشمند در صنایع گوناگون هستیم. هوش مصنوعی که همواره هدف نهایی علوم کامپیوتر بوده است اکنون در خدمت توسعه علوم کامپیوتر نیز می باشد. زبان های برنامه نویسی پیشرفته ، که توسعه ابزارهای هوشمند را ممکن می سازند، پایگاه های داده ای پیشرفته ، موتورهای جستجو ، و بسیاری نرم افزار ها و ماشین ها از نتایج تحقیقات هوش مصنوعی بهره می برند.
رؤیای طراحان اولیه كامپیوتر از بابیج تا تورینگ ، ساختن ماشینی بود كه قادر به حل تمامی مسائل باشد، البته ماشینی كه در نهایت ساخته شد ( كامپیوتر ) به جز دسته ای خاص از مسائل قادر به حل تمامی مسائل بود. اما نكته در اینجاست كه این «تمامی مسائل» چیست؟ طبیعتاً چون طراحان اولیه كامپیوتر ، منطقدانان و ریاضیدانان بودند ، منظورشان تمامی مسائل منطقی یا محاسباتی بود. بدین ترتیب عجیب نیست ، هنگامی كه فوننیومان سازنده اولین كامپیوتر ، در حال طراحی این ماشین بود، كماكان اعتقاد داشت برای داشتن هوشمندی شبیه به انسان ، كلید اصلی، منطق ( از نوع به كار رفته در كامپیوتر ) نیست، بلكه احتمالاً چیزی خواهد بود شبیه ترمودینامیك!
به هرحال، كامپیوتر تا به حال به چنان درجهای از پیشرفت رسیده و چنان سرمایهگذاری عظیمی برروی این ماشین انجام شده است كه به فرض این كه بهترین انتخاب نباشد هم ، حداقل سهلالوصولترین و ارزانترین و عمومیترین انتخاب برای پیادهسازی هوشمندی ست.
بنابراین ظاهراً به نظر میرسد به جای سرمایهگذاری برای ساخت ماشینهای دیگر هوشمند ، میتوان از كامپیوترهای موجود برای پیادهسازی برنامههای هوشمند استفاده كرد و اگر چنین شود ، باید گفت كه طبیعت هوشمندی ایجاد شده حداقل از لحاظ پیادهسازی ، كاملاً با طبیعت هوشمندی انسانی متناسب خواهد بود ، زیرا هوشمندی انسانی ، نوعی هوشمندی بیولوژیك است كه با استفاده از مكانیسمهای طبیعی ایجاد شده ، و نه استفاده از عناصر و مدارهای منطقی . در برابر تمامی استدلالات فوق می توان این نكته را مورد تاُمل و پرسش قرار داد كه هوشمندی طبیعی تا بدان جایی كه ما سراغ داریم ، تنها برمحمل طبیعی و با استفاده از روش های طبیعت ایجاد شده است.
AI های متخصص
یک ماشین تنها در صورتی به عنوان یک AI شناخته می شود که از یکسری قابلیت های خاص برخودار باشد. یکی از این قابلیت ها داشتن شناخت از وجود خود است. این بدان معناست که ماشین از وجود خود آگاه باشد. هر انسان به طور طبیعی از حضور و وجود خود آگاه است اما هنوز مدرکی دال بر sentient بودن حیوانات در دست نیست.
این نمونه از نرم افزارها برای انجام یکسری کارهای تخصصی طراحی شده اند و به طبع از قابلیت های بالایی نیز برخودار می باشند. اینگونه برنامه ها معمولاً به یک بانک اطلاعاتی بسیار وسیع مجهز می باشند که آنها را قادر به پاسخگویی به سوالات کاربران می سازد. در حقیقت این برنامه ها برای رشته هایی مانند پزشکی ، مهندسی و ... طراحی شده اند و وظیفه آنها ذخیره سازی اطلاعات مفیدی است که به خاطر سپردن آنها توسط انسان بسار دشوار می باشد، اگرچه اینگونه برنامه ها از یک اشکال پایه ای رنج می برند.
زمانی که سوال مطرح شده توسط کاربر در محدوده اطاعات ذخیره شده در آنهاست هیچ مشکلی پیش نخواهد امد اما ضعف آنها هنگامی پدیدار می شود که سوال مطرح شده کمی خارج از حوزه اطلاعاتی آنها قرار گیرد که در این صورت اینگونه برنامه ها به کلی از پاسخ گویی به سوال درمانده خواهند بود. این ناتوانی از آنجا ناشی می شود که این دسته از برنامه ها توانایی عمومیت دادن (Generalization ) را ندارند.
منظور از عمومیت دادن چیست؟
منظور از عمومیت دادن توانایی خلق کردن اطلاعات جدید بر اساس اطلاعات قدیمی است. تمامی انسان ها از این توانایی برخوردار هستند اگرچه ماشین ها به طور کامل و همانند انسان چنین توانایی را ندارند.
برای درک بهتر موضوع به این مثال ساده توجه کنید:
جان در یک کمپانی کار می کند. در محل کار او کابل هایی وجود دارد که توسط یکسری اشکال خواص علامت گذاری شده اند و نشانگراین موضوع هستند که این کابل ها حامل برق می باشند. جان در محل دیگری یکسری کابل با علائم مشابه را مشاهده می کند و نتیجه میگیرد که این کابل ها نیز حاوی جریان برق هستند.ماشین تورینگ در سال ۱۹۵۰ آلن تورینگ (Alain Turing ) ریاضی دان انگلیسی ، معیار سنجش رفتار یک ماشین هوشمند را چنین بیان داشت:
"سزاوارترین معیار برای هوشمند شمردن یک ماشین ، اینست که آن ماشین بتواند انسانی را توسط یک پایانه ( تله تایپ ) به گونه ای بفریبد که آن فرد متقاعد گردد با یک انسان روبروست."
در این آزمایش شخصی از طریق ۲ عدد پایانه ( کامپیوتر یا تله تایپ ) که امکان برقراری ارتباط را برای وی فراهم می کنند با یک انسان و یک ماشین هوشمند ، بطور همزمان به پرسش و پاسخ می پردازد. در صورتی که وی نتواند ماشین را از انسان تشخیص دهد، آن ماشین، هوشمند است. آزمایش تورینگ از قرار دادن انسان و ماشین بطور مستقیم در برابر یکدیگر اجتناب می کند و بدین ترتیب، چهره و فیزیک انسانی مد نظر آزمایش کنندگان نمی باشد. ماشینی که بتواند از پس آزمون تورینگ برآید، از تفکری انسانی برخوردار است.مدل سازی نحوه تفکر انسان، تنها راه تولید ماشینهای هوشمند نیست. هم اکنون دو هدف برای تولید ماشینهای هوشمند، متصور است، که تنها یکی از آن دو از الگوی انسانی جهت فکر کردن بهره می برد. سیستمی که مانند انسان فکر کند. این سیستم با مدل کردن مغز انسان و نحوه اندیشیدن انسان تولید خواهد شد و لذا از آزمون تورینگ سر بلند بیرون می آید. از این سیستم ممکن است اعمال انسانی سر بزند. سیستمی که عاقلانه فکر کند، سیستمی عاقل است که بتواند کارها را درست انجام دهد. در تولید این سیستمها نحوه اندیشیدن انسان مد نظر نیست. این سیستم ها متکی به قوانین و منطقی هستند که پایه تفکر آنها را تشکیل داده و آنها را قادر به استنتاج و تصمیم گیری می نماید. آنها با وجودی که مانند انسان نمی اندیشند، تصمیماتی عاقلانه گرفته و اشتباه نمی کنند. این ماشین ها لزوما درکی از احساسات ندارند. هم اکنون از این سیستمها در تولید عامل ها ² در نرم افزارهای کامپیوتری، بهره گیری می شود.
عامل
عامل تنها مشاهده کرده و سپس عمل می کند. عامل قادر به شناسایی الگوها ، و تصمیم گیری بر اساس قوانین فکر کردن خود است. قوانین و چگونگی فکر کردن هر عامل در راستای دستیابی به هدفش ، تعریف می شود. این سیستم ها بر اساس قوانین خاص خود فکر کرده و کار خود را به درستی انجام می دهند. پس عاقلانه رفتار می کنند ، هر چند الزاما مانند انسان فکر نمی کنند.
عامل انسانی اندام هایی مانند گوش ها، چشم ها و دیگر ارگان ها برای حس کردن و دست ها، پاها، بینی و دیگر اندام ها برای اثر گذاری دارد.عامل روباتیک دوربین ها یابنده های مادون قرمز را بجای حس گرها و انواع موتورها را بجای اثر کننده ها جایگزین کرده است. عامل نرم افزاری رشته های بیتی را به عنوان درک محیط و عمل، کدگذاری می کند.
معیارهای موفقیت
یکی ازمهمترین سوالاتی که در رابطه با هر پروژه تحقیقاتی مهندسی یا علمی محتاج پاسخ است این است که « چگونه بدانیم که موفق شده ام یا شکست خورده ایم؟» برای ما هم این سوال مطرح است که چگونه بدانیم یک ماشین باهوش ساخته ایم؟ ولی اصلا" « هوش» یعنی چه؟
آیا راهی برای سنجیدن میزان پیشرفت ما در این کار وجود دارد؟همانطور که در بالا گفته شد تست تورینگ روشی است برای سنجیدن و پاسخگویی به این سوال که آیا ماشینی قادر به فکر کردن است. نکته مهمتر مقدار دانش یا دانسته هایی استکه یک ماشین باید دارا باشد تا در آزمایش تورینگ موفق شود.مدتها وقت لازم است تا کامپیوتری بتواند از آزمایش تورینگ موفق بیرون بیاید. برخی معتقدند که هیچ کامپیوتری موفق نخواهد شد. اما فرض کنید ما تقلید ساده تر انسان را هم قبول داریم، آیا حالا می توانیم موفقیت هوش مصنوعی را در قلمروهای محدودتر بسنجیم؟ معمولا" پاسخ به این سوال مثبت است.گاهی اوقات هم می توان میزان موفقیت برنامه را به دقت سنجید. برای مثال برنامه ای که بازی شطرنج انجام می دهد را می توان همانند انسان های شطرنج باز درجه بندی کرد. این درجه بندی بر اساس بازیکنانی است که برنامه شکست می دهند. همین حالا هم برنامه های شطرنج باز درجه بندی بالاتری نسبت به اکثر مردم شطرنج باز بدست آورده اند. برای اکثر قلمروها درجه بندی میزان موفقیت یک برنامه کمتر دقیق است.
در حال حاضر بهترین کاری که می توان کرد اینست که در هنگام طراحی یک برنامه هوش مصنوعی سعی کنیم معیار های موفقیت برنامه را هم مشخص سازیم.
بررسی علوم دخیل در هوش مصنوعی تا بدان جایی كه هوش مصنوعی تنها به بررسی روش های حل مسائل ریاضی و مجرد توسط كامپیوتر مىپرداخت ، مىتوانستیم قطعاً آن را یكی از زیر شاخه های علوم كامپیوتر بدانیم ؛ اما امروزه با اضافه شدن ملاحظات جدیدی كه در فوق اشاره ای بدان رفت، دیگر نمىتوان با این قطعیت قضاوت كرد. علومی از قبیل : معرفت شناسی كه در فلسفه ذهن مطرح است ، عصب شناسی شناختی ، و نیز روانشناسی شناختی به همراه هوش مصنوعی مجموعه ای تحت عنوان علوم شناختی را تشكیل مىدهند. از دیگر سو ، رباتیك به عنوان همبسته تكنولوژیك هوش مصنوعی ، خود دانشی است كه داده های علوم مكانیك و كامپیوتر و كنترل را یك جا مىطلبد.
بررسی هوشمندی
چه چیزی در انسان یا هر موجود دیگری آنقدر ویژه و خاص است كه او را با صفت هوشمند از سایر موجودات متمایز مىكند؟ آیا چنین صفتی تنها خاص انسان است، یا مىتوان درجات مختلف آن را به موجودات دیگر نیز نسبت داد. قدر مسلم این كه از سادهترین رفتار مورچه ها و زنبورها تا رفتارهای پیچیده میمون ها در تعیین سلسله مراتب پیچیده اجتماعی یا روش های تشخیص الگوهای چند بعدی توسط كبوتران ، همگی حاوی درجاتی از هوشمندی هستند ( و در بعضی موارد نه چندان كمتر از انسان ). بنابر این پاسخ به این سئوال كه هوشمندی چیست یا حتی چگونه ایجاد شده است ما را در ساخت یك موجود هوشمند با توانایی تطبیق و عمل در محیط واقعی یاری مىدهد.
آشنایی با روش های هوشمند و کاربرد آنها در تکنولوژی
آنچه كه باعث شده تا هوش مصنوعی امروزه به عنوان یك رشته مهندسی مطرح باشد این است كه طیف وسیعی از كاربردهای آن، از رباتیك گرفته تا روش های هوشمند كنترلی مقبولیت وسیعی در صنعت یافته اند. روش هایی همچون منطق فازی ، استراتژی تکاملی ، الگوریتم ژنتیك ، شبكه های عصبی مصنوعی ... همگی روش هایی هستند كه با الهام از طبیعت و برای دستیابی به هوشمندی طبیعی طراحی شده اند اما كاربرد عظیمی در مهندسی و صنعت یافته اند. كاربردی كه تا حدود یك دهه قبل حتی گمان آن نیز نمىرفت. رباتیك نیز چه در غالب روش های جابجایی بازوهای مكانیكی، و چه در شكل ربات های متحرک در این بحث جایگاه ویژه ای را به خود اختصاص داده است.
بررسی هوش مصنوعی گسترده یا Intelligence Distributed Artificial
یك روش برخورد با مسائل حل آنهاست! بله تعجب نكنید ، این تنها یك روش مواجهه با مسائل است. بجز این روش ( و البته حل نكردن مسئله! ) راه دیگری نیز وجود دارد. فرض كنید مىخواهیم یك ربات متحرك بسازیم كه در شرایط طبیعی حركت كند ، مسیر انتخاب كند و ...یك روش این است كه طراح تمامی جزئیات را از ابتدا و به صورت كاملاً دقیق در نظر بگیرد. این روش منجر به ماشینی كاملاً پیچیده و عموماً غیر قابل پیاده سازی خواهد شد. ماشینی كه با اندك تغییری در شرایط پیش بینی شده ناكارا خواهد بود. روش دیگر این است كه مانند خود طبیعت، ربات بسیار ساده ای طراحی كنیم ( گاه به سادگی یك مورچه ) و اجازه دهیم تا این ربات ساده خود مسائل را به جای ما حل كند. یا حتی اجازه دهیم یك اجتماع از ربات ها از طریق تعامل با یكدیگر به حل مسائل بپردازند. قانون طلایی در اینجا این است كه پیچیدگی یك اجتماع ، حاصلضرب پیچیدگی تك تك عناصر آن است ( تئوری پیچیدگی ) ، بنابراین یك اجتماع با عناصر بسیار ساده هم ممكن است به صورت كاملاً پیچیده و هوشمند عمل كند. بحث های هوش مصنوعی گسترده كه اغلب عجین با مبحث عامل های هوشمند ( Artificial Agents ) است و نیز مباحث زندگی مصنوعی (Artificial Life ) به عنوان جدیدترین مباحث هوش مصنوعی اینك چه در دنیای رباتیك و چه در دنیای نرم افزارهای كامپیوتری طرفداران زیادی پیدا كرده است (شركت های بزرگی همچون IBM و نیز نهادهای نظامی كشورهای پیشرفته سرمایه گذاری های کلانی در این زمینه کرده اند).
تكنیك ها و زبان های برنامه نویسی هوش مصنوعی
عملكرد اولیه برنامه نویسی هوش مصنوعی ایجاد ساختار كنترلی مورد لزوم برای محاسبه سمبولیك است. خصوصیات این ساختارها به مقدار زیادی موجب تشخیص خصوصیاتی می شود كه یك زبان كاربردی می بایستی فراهم كند. زبان های برنامه نویسیLISP و PROLOG علاوه بر این كه از مهمترین زبان های مورد استفاده در هوش مصنوعی هستند، خصوصیات معنایی و نحوی آنها نیز باعث شده كه آنها شیوه ها و راه حل های قوی برای حل مسئله ارائه كنند. تأثیر قابل توجه این زبان ها بر روی توسعه AI از جمله توانائی آنها به عنوان «ابزارهای فكر كردن» می باشد كه از جمله نقاط قوت آنها در زبان های برنامه نویسی می باشد. همان طور كه هوش مصنوعی مراحل رشد خود را طی می كند زبان هایLISP و PROLOG بیشتر مطرح می شوند. این زبان ها كار خود را در محدوده توسعه سیستم های AI در صنعت و دانشگاه ها دنبال می كنند. اطلاعات در مورد این زبانها به عنوان بخشی از مهارت هر برنامه نویس AI می باشد. آنــــچه را كـــه نمی دانیم موجب دردسر و گرفتاری ما نخواهد شد، بلكه دردسرها از دانسته ها سرچشمه می گیرد.
PROLOG
یك زبان برنامه نویسی منطقی است. یك برنامه منطقی دارای یك سری ویژگی های قانون و منطق است. PROLOG از محاسبه اولیه استفاده می كند. در حقیقت خود این نام از برنامه نویسی PRO در LOGIC می آید. یك مفسر برنامه را بر اساس یك منطق می نویسد. ایده استفاده توصیفی محاسبه اولیه برای بیان خصوصیات حل مسئله یكی از محوریت های مشاركت PROLOG می باشد كه برای علم كامپیوتر به طور كلی و به طور اخص برای زبان برنامه نویسی هوشمند مورد استفاده قرار می گیرند. مزیت این زبان به وسیله پروژه هایی كه برای ارزیابی و گسترش قدرت بیان برنامه های منطقی نوشته شده اند، اثبات شده است.
LISP
اصولا LISP یک زبان كامل است كه دارای عملكردها و لیست های لازمه برای توصیف عملكردهای جدید ، تشخیص تناسب و ارزیابی معانی می باشد. LISP به برنامه نویس قدرت کامل برای اتصال به ساختارهای اطلاعاتی را می دهد. گرچه LISP یکی از قدیمی ترین زبان های محاسباتی است که هنوز فعال است ، ولی دقت کافی در برنامه نویسی و طراحی توسعه باعث شده كه این یك زبان برنامه نویسی فعال باقی بماند. در حقیقت این مدل برنامه نویسی طوری مؤثر بوده است، كه تعدادی از دیگر زبان ها بر اساس عملكرد برنامه نویسی آن واقع شده اند مثل: FP ، ML و SCHEME .
یكی ازمهم ترین برنامه های مرتبط با LISP برنامه SCHEME می باشد كه یك تفكر دوباره درباره زبان در آن وجود دارد كه به وسیله توسعه AI و برای آموزش اصول مفاهیم علم كامپیوتر مورد استفاده قرار میگیرند.
تاریخچه هوش مصنوعی و افق های هوش مصنوعی
اولین کاری که به طور جدی در حیطه AI شناخته می شود توسط وارن مک کلود و والتر پیتز در سال ۱۹۴۳ انجام شد. مک کلود ( روانشناس ، فیلسوف و شاعر ) و پیتز ( ریاضیدان ) طی مقالهای ، دیدههای آن روزگارا درباره محاسبات ، منطق و روانشناسی عصبی را تركیب كردند. ایده اصلی آن مقاله چگونگی انجام اعمال منطقی به وسیله اجزای ساده شبكه عصبی بود. اجزای بسیار ساده ( نورونها ) این شبكه فقط از طریق سیگنال های تحریك و توقیف با هم درتماس بودند. این همان چیزی بود كه بعدها دانشمندان كامپیوتر آن را مدارهای ( And ) و ( OR ) نامیدند و طراحی اولین كامپیوتر در ۱۹۴۷ توسط فون نیومان عمیقاً از آن الهام میگرفت. امروز پس از گذشته نیمقرن از كار آنها شاید بتوان گفت كه این كار الهام بخش گرایشی كاملاً پویا و نوین در هوش مصنوعی است. پیوندگرایی هوشمندی را تنها حاصل كار موازی و همزمان و در عین حال تعامل تعداد بسیار زیادی اجزای كاملاً ساده به هم مرتبط میداند. شبكههای عصبی كه از مدل شبكه عصبی ذهن انسان الهام گرفتهاند امروزه دارای كاربردهای كاملاً علمی و گسترده تكنولوژیك شدهاند و كاربرد آن در زمینههای متنوعی مانند سیستمهای كنترلی ، رباتیك ، تشخیص متون، پردازش تصویر مورد بررسی قرار گرفته است. علاوه بر این كار بر روی توسعه سیستمهای هوشمند با الهام از طبیعت اكنون از زمینههای كاملاً پرطرفدار در هوش مصنوعی است.
الگوریتم ژنیتك كه با استفاده از ایده تكامل داروینی و انتخاب طبیعی پیشنهاد شده روش بسیار خوبی برای یافتن پاسخ به مسائل بهینه سازیست. به همین ترتیب روشهای دیگری نیز مانند استراتژیهای تكاملی در این زمینه پیشنهاد شده اند.
دراین زمینه هر گوشهای از سازو كار طبیعت كه پاسخ بهینهای را برای مسائل یافته است مورد پژوهش قرار میگیرد. زمینههایی چون سیستم امنیتی بدن انسان كه در آن بیشمار الگوی ویروسهای مهاجم به صورتی هوشمندانه ذخیره میشوند و یا روش پیدا كردن كوتاهترین راه به منابع غذا توسط مورچگان همگی بیانگر گوشههایی ازهوشمندی بیولوژیك هستند.
گرایش دیگر هوش مصنوعی بیشتر بر مدل سازی اعمال شناختی تاُكید دارد ( مدل سازی نمادین یا سمبولیك ) این گرایش چندان خود را به قابلیت تعمق بیولوژیك سیستمهای ارائه شده مقید نمیكند. بعنوان مثال روند استدلال توسط یك پزشك هنگام تشخیص یك بیماری كاملاً شبیه به CBR است به این ترتیب كه پزشك در ذهن خود تعداد بسیار زیادی از شواهد بیماریهای شناخته شده را دارد و تنها باید مشاهدات خود را با نمونههای موجود در ذهن خویش تطبیق داده ، شبیهترین نمونه را به عنوان بیماری بیابد. به این ترتیب مشخصات ، نیازمندیها و تواناییهای CBR به عنوان یك چارچوب كلی پژوهش در هوش مصنوعی مورد توجه قرارگرفته است. البته هنگامی كه از گرایشهای آینده سخن میگوییم ، هرگز نباید از گرایشهای تركیبی غفلت كنیم. گرایشهایی كه خود را به حركت در چارچوب شناختی یا بیولوژیك یا منطقی محدود نكرده و به تركیبی از آنها میاندیشند. شاید بتوان پیشبینی كرد كه چنین گرایشهایی فرا ساختارهای روانی را براساس عناصر ساده بیولوژیك بنا خواهند كرد.
نتیجه گیری
نتایجی که می توانیم از این مقاله بر مسئله مهم هوش مصنوعی بگیریم اینست که مسائل متنوع ، جالب و سخت می باشند. اگر آنها را حل کنیم حداقل دو هدف اساسی را ممکن است بدست آورده باشیم. یکی اینکه باید سعی کنیم معیارهایی را مشخص سازیم تا بتوانیم بفهمیم که آیا موفق به حل مسئله شده ایم یا خیر و دیگری اینکه خود مسئله را حل نماییم. یک سیستم هوش مصنوعی باید مقدار بسیار زیادی دانش داشته باشد تا بتواند مسائل مهم را حل کند. اما به مرور که مقدار دانش افزایش می یابد سخت تر می توان به اطلاعات مورد نظر دست یافت. بنابراین به دانش بیشتری نیاز است تا در این رابطه کمک کند و خود باعث سخت تر شدن دستیابی ها می گردد... هدف ما در هوش مصنوعی ، نوشتن برنامه هایی است که مسائل مورد توجه ما را حل می کنند.
خلاصه
• هوش مصنوعی بطور خلاصه ترکیبی است از علوم رایانه ، فیزیولوژی و فلسفه. این شاخه از علوم بسیار گسترده و متنوع است و از موضوعات و رشتههای مختلف علوم و فناوری ، مانند سازکارهای ساده در ماشین ها شروع شده ، و به سیستم های خبره ختم میشود. هدف هوش مصنوعی بطور کلی ساخت ماشینی است که بتواند "فکر" کند.
• هوش به طور قطعی به عمل منطقی مربوط می شود. عامل هوشمند بهترین عمل ممکن را در هر شرایطی در نظر می گیرد. ما مسئله ساختن عامل هایی که در این معنا هوشمند هستند را مطالعه می کنیم.
• LISP و PROLOG هر دو دارای زبان های برنامه نویسی غنی و كاملی هستند. وقتی كه این زبان ها را فرا می گیریم، دانشجو در ذهن و فكر خود درباره روش هایی كه آنها به وسیله ویژگی های خاص هر زبان پشتیبانی می كنند ، نیازهایی را نگهداری می كند
• تاریخچه AI دوره هایی ار موفقیت ودلسردی را از سر گذرانیده است. همچنین دوره هایی از معرفی رهیافت های جدید خلاق و تصحیح سیستماتیک وجود داشته است.